From bb01014a40974741ebaeddc12c82ca7dd57468ab Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Thu, 30 Jan 2025 19:55:28 +0400 Subject: [PATCH 01/30] wip : fix e2e test --- node/tests/evm_restaking.rs | 134 +++++--- pallets/rewards/src/functions/rewards.rs | 42 ++- pallets/rewards/src/lib.rs | 12 +- .../metadata/tangle-testnet-runtime.scale | Bin 395465 -> 395963 bytes tangle-subxt/src/tangle_testnet_runtime.rs | 312 +++++++++++++----- 5 files changed, 356 insertions(+), 144 deletions(-) diff --git a/node/tests/evm_restaking.rs b/node/tests/evm_restaking.rs index 57bf7aa20..7dcad9f65 100644 --- a/node/tests/evm_restaking.rs +++ b/node/tests/evm_restaking.rs @@ -15,6 +15,7 @@ use alloy::sol; use anyhow::bail; use sp_runtime::traits::AccountIdConversion; use sp_tracing::{error, info}; +use tangle_primitives::time::SECONDS_PER_BLOCK; use tangle_runtime::PalletId; use tangle_subxt::subxt; use tangle_subxt::subxt::tx::TxStatus; @@ -186,6 +187,11 @@ async fn deploy_tangle_lrt( Ok(*token.address()) } +// Mock values for consistent testing +const EIGHTEEN_DECIMALS: u128 = 1_000_000_000_000_000_000_000; +const MOCK_DEPOSIT_CAP: u128 = 1000 * EIGHTEEN_DECIMALS; // 1M tokens with 18 decimals +const MOCK_APY: u8 = 10; // 10% APY + /// Setup the E2E test environment. #[track_caller] pub fn run_mad_test(f: TFn) @@ -249,18 +255,50 @@ where // Create a new vault and these assets to it. let vault_id = 0; - let deposit_cap = parse_ether("100").unwrap(); - let incentive_cap = parse_ether("100").unwrap(); - let update_vault_reward_config = api::tx().sudo().sudo( + // in Manual Sealing and fast runtime, we have 1 block per sec + // we consider 1 year as 50 blocks, for testing purposes + let one_year_blocks = SECONDS_PER_BLOCK * 50; + + let set_apy_blocks = api::tx().sudo().sudo( + api::runtime_types::tangle_testnet_runtime::RuntimeCall::Rewards( + api::runtime_types::pallet_rewards::pallet::Call::update_apy_blocks { + blocks: one_year_blocks, + }, + ), + ); + + let mut result = subxt + .tx() + .sign_and_submit_then_watch_default(&set_apy_blocks, &alice.substrate_signer()) + .await?; + + while let Some(Ok(s)) = result.next().await { + if let TxStatus::InBestBlock(b) = s { + let evs = match b.wait_for_success().await { + Ok(evs) => evs, + Err(e) => { + error!("Error: {:?}", e); + break; + }, + }; + for ev in evs.iter() { + let metadata = ev.unwrap(); + info!("{}.{}", metadata.pallet_name(), metadata.variant_name()); + } + break; + } + } + + let create_vault = api::tx().sudo().sudo( api::runtime_types::tangle_testnet_runtime::RuntimeCall::Rewards( - api::runtime_types::pallet_rewards::pallet::Call::update_vault_reward_config { + api::runtime_types::pallet_rewards::pallet::Call::create_reward_vault { vault_id, new_config: api::runtime_types::pallet_rewards::types::RewardConfigForAssetVault { - apy: api::runtime_types::sp_arithmetic::per_things::Percent(1), - incentive_cap: incentive_cap.to::(), - deposit_cap: deposit_cap.to::(), - boost_multiplier: None, + apy: api::runtime_types::sp_arithmetic::per_things::Percent(MOCK_APY), + deposit_cap: MOCK_DEPOSIT_CAP, + incentive_cap: 0, + boost_multiplier: Some(1), }, }, ), @@ -268,10 +306,7 @@ where let mut result = subxt .tx() - .sign_and_submit_then_watch_default( - &update_vault_reward_config, - &alice.substrate_signer(), - ) + .sign_and_submit_then_watch_default(&create_vault, &alice.substrate_signer()) .await?; while let Some(Ok(s)) = result.next().await { @@ -283,8 +318,10 @@ where break; }, }; - evs.find_first::()? - .expect("VaultRewardConfigUpdated event to be emitted"); + for ev in evs.iter() { + let metadata = ev.unwrap(); + info!("{}.{}", metadata.pallet_name(), metadata.variant_name()); + } break; } } @@ -326,8 +363,10 @@ where break; }, }; - evs.find_first::()? - .expect("AssetRewardVault event to be emitted"); + for ev in evs.iter() { + let metadata = ev.unwrap(); + info!("{}.{}", metadata.pallet_name(), metadata.variant_name()); + } break; } } @@ -884,7 +923,7 @@ fn lrt_deposit_withdraw_erc20() { } #[test] -fn lrt_rewards() { +fn mad_rewards() { run_mad_test(|t| async move { let alice = TestAccount::Alice; let alice_provider = alloy_provider_with_wallet(&t.provider, alice.evm_wallet()); @@ -892,6 +931,12 @@ fn lrt_rewards() { let tnt = U256::from(100_000u128); assert!(join_as_operator(&t.subxt, alice.substrate_signer(), tnt.to::()).await?); + let vault_id = 0; + let cfg_addr = api::storage().rewards().reward_config_storage(vault_id); + let cfg = t.subxt.storage().at_latest().await?.fetch(&cfg_addr).await?.unwrap(); + + let deposit = U256::from(tnt) * U256::from(2); + // Setup a LRT Vault for Alice. let lrt_address = deploy_tangle_lrt( alice_provider.clone(), @@ -906,37 +951,48 @@ fn lrt_rewards() { let bob = TestAccount::Bob; let bob_provider = alloy_provider_with_wallet(&t.provider, bob.evm_wallet()); // Mint WETH for Bob - let weth_amount = parse_ether("10").unwrap(); - let weth = MockERC20::new(t.weth, &bob_provider); - weth.mint(bob.address(), weth_amount).send().await?.get_receipt().await?; + let usdc_amount = deposit; + let usdc = MockERC20::new(t.usdc, &bob_provider); + usdc.mint(bob.address(), usdc_amount).send().await?.get_receipt().await?; + + // // Approve LRT contract to spend WETH + // let deposit_amount = weth_amount; + // let approve_result = + // weth.approve(lrt_address, deposit_amount).send().await?.get_receipt().await?; + // assert!(approve_result.status()); + // info!("Approved {} WETH for deposit in LRT", format_ether(deposit_amount)); + + // // Deposit WETH to LRT + // let lrt = TangleLiquidRestakingVault::new(lrt_address, &bob_provider); + // let deposit_result = lrt + // .deposit(deposit_amount, bob.address()) + // .send() + // .await? + // .with_timeout(Some(Duration::from_secs(5))) + // .get_receipt() + // .await?; + // assert!(deposit_result.status()); + // info!("Deposited {} WETH in LRT", format_ether(deposit_amount)); - // Approve LRT contract to spend WETH - let deposit_amount = weth_amount.div(U256::from(2)); - let approve_result = - weth.approve(lrt_address, deposit_amount).send().await?.get_receipt().await?; - assert!(approve_result.status()); - info!("Approved {} WETH for deposit in LRT", format_ether(deposit_amount)); + // Delegate assets + let precompile = MultiAssetDelegation::new(MULTI_ASSET_DELEGATION, &bob_provider); + let deposit_amount = U256::from(100_000_000u128); - // Deposit WETH to LRT - let lrt = TangleLiquidRestakingVault::new(lrt_address, &bob_provider); - let deposit_result = lrt - .deposit(deposit_amount, bob.address()) + // Deposit and delegate using asset ID + let deposit_result = precompile + .deposit(U256::from(t.usdc_asset_id), Address::ZERO, U256::from(deposit_amount), 0) + .from(bob.address()) .send() .await? .with_timeout(Some(Duration::from_secs(5))) .get_receipt() .await?; assert!(deposit_result.status()); - info!("Deposited {} WETH in LRT", format_ether(deposit_amount)); - // Wait for two new sessions to happen - let session_index = wait_for_next_session(&t.subxt).await?; - info!("New session started: {}", session_index); + // Wait for one year to pass + wait_for_more_blocks(&t.provider, 51).await; - let vault_id = 0; - let cfg_addr = api::storage().rewards().reward_config_storage(vault_id); - let cfg = t.subxt.storage().at_latest().await?.fetch(&cfg_addr).await?; - let apy = cfg.map(|c| c.apy).unwrap(); + let apy = cfg.apy; info!("APY: {}%", apy.0); let rewards_addr = api::apis().rewards_api().query_user_rewards( @@ -957,4 +1013,4 @@ fn lrt_rewards() { anyhow::Ok(()) }); -} +} \ No newline at end of file diff --git a/pallets/rewards/src/functions/rewards.rs b/pallets/rewards/src/functions/rewards.rs index 4cb5bb455..a47a39bc9 100644 --- a/pallets/rewards/src/functions/rewards.rs +++ b/pallets/rewards/src/functions/rewards.rs @@ -98,7 +98,7 @@ impl Pallet { let rewards_to_be_paid = Self::calculate_rewards(account_id, asset)?; - log::debug!("rewards_to_be_paid: {:?}", rewards_to_be_paid.saturated_into::()); + log::info!(target: "rewards", "rewards_to_be_paid: {:?}", rewards_to_be_paid.saturated_into::()); // Get the pot account for this vault let pot_account = @@ -181,6 +181,8 @@ impl Pallet { return None; } + log::info!(target: "rewards", "calculate_propotional_apy : total_deposit: {:?}, deposit_cap: {:?}, original_apy: {:?}", + total_deposit, deposit_cap, original_apy); let propotion = Percent::from_rational(total_deposit, deposit_cap); original_apy.checked_mul(&propotion) } @@ -198,7 +200,7 @@ impl Pallet { return None; } - log::debug!("calculate_reward_per_block : total_reward: {:?}", total_reward); + log::info!(target: "rewards", "calculate_reward_per_block : total_reward: {:?}", total_reward); let apy_blocks_balance = BalanceOf::::from(apy_blocks.saturated_into::()); Some(total_reward / apy_blocks_balance) @@ -263,13 +265,17 @@ impl Pallet { return Err(Error::::TotalDepositLessThanIncentiveCap.into()); } + log::info!(target: "rewards", "total_deposit: {:?}, total_asset_score: {:?}, deposit: {:?}, reward: {:?}, last_claim: {:?}", + total_deposit, total_asset_score, deposit, reward, last_claim); + log::info!(target: "rewards", "deposit_cap: {:?}, apy: {:?}", + deposit_cap, reward.apy); let apy = Self::calculate_propotional_apy(total_deposit, deposit_cap, reward.apy) .ok_or(Error::::CannotCalculatePropotionalApy)?; - log::debug!("apy: {:?}", apy); + log::info!(target: "rewards", "Calculated propotional apy: {:?}", apy); // Calculate total rewards pool from total issuance let tnt_total_supply = T::Currency::total_issuance(); - log::debug!("tnt_total_supply: {:?}", tnt_total_supply); + log::info!(target: "rewards", "tnt_total_supply: {:?}", tnt_total_supply); let total_annual_rewards = apy.mul_floor(tnt_total_supply); @@ -278,17 +284,17 @@ impl Pallet { frame_system::Pallet::::block_number(), last_claim.map(|(block, _)| block).unwrap_or_default(), ); - log::debug!("total annual rewards before decay: {:?}", total_annual_rewards); - log::debug!("decay_factor: {:?}", decay_factor); + log::info!(target: "rewards", "total annual rewards before decay: {:?}", total_annual_rewards); + log::info!(target: "rewards", "decay_factor: {:?}", decay_factor); // Apply decay to total rewards let total_annual_rewards = decay_factor.mul_floor(total_annual_rewards); - log::debug!("total annual rewards after decay: {:?}", total_annual_rewards); + log::info!(target: "rewards", "total annual rewards after decay: {:?}", total_annual_rewards); // Calculate per block reward pool first to minimize precision loss let total_reward_per_block = Self::calculate_reward_per_block(total_annual_rewards) .ok_or(Error::::CannotCalculateRewardPerBlock)?; - log::debug!("total_reward_per_block: {:?}", total_reward_per_block); + log::info!(target: "rewards", "total_reward_per_block: {:?}", total_reward_per_block); // Start with unlocked amount as base score let user_unlocked_score = deposit.unlocked_amount; @@ -298,14 +304,14 @@ impl Pallet { let current_block = frame_system::Pallet::::block_number(); let last_claim_block = last_claim.map(|(block, _)| block).unwrap_or(current_block); let blocks_to_be_paid = current_block.saturating_sub(last_claim_block); - log::debug!( + log::info!(target: "rewards", "Current Block {:?}, Last Claim Block {:?}, Blocks to be paid {:?}", current_block, last_claim_block, blocks_to_be_paid ); - log::debug!("User unlocked score {:?}", user_score); + log::info!(target: "rewards", "User unlocked score {:?}", user_score); // array of (score, blocks) let mut user_rewards_score_by_blocks: Vec<(BalanceOf, BlockNumberFor)> = vec![]; @@ -323,7 +329,7 @@ impl Pallet { // (remaining_lock_time / total_lock_time) let multiplier = BalanceOf::::from(lock.lock_multiplier.value()); let lock_score = lock.amount.saturating_mul(multiplier); - log::debug!("user lock has not expired and still active, lock_multiplier: {:?}, lock_score: {:?}", lock.lock_multiplier, lock_score); + log::info!(target: "rewards", "user lock has not expired and still active, lock_multiplier: {:?}, lock_score: {:?}", lock.lock_multiplier, lock_score); user_rewards_score_by_blocks.push((lock_score, blocks_to_be_paid)); } else { @@ -334,7 +340,7 @@ impl Pallet { let multiplier_applied_blocks = lock.expiry_block.saturating_sub(last_claim_block); - log::debug!("user lock has partially expired, lock_multiplier: {:?}, lock_score: {:?}, multiplier_applied_blocks: {:?}, blocks_to_be_paid: {:?}", + log::info!(target: "rewards", "user lock has partially expired, lock_multiplier: {:?}, lock_score: {:?}, multiplier_applied_blocks: {:?}, blocks_to_be_paid: {:?}", lock.lock_multiplier, lock_score, multiplier_applied_blocks, blocks_to_be_paid); user_rewards_score_by_blocks @@ -354,14 +360,14 @@ impl Pallet { } } - log::debug!("user rewards array {:?}", user_rewards_score_by_blocks); + log::info!(target: "rewards", "user rewards array {:?}", user_rewards_score_by_blocks); // if the user has no score, return 0 // calculate the total score for the user let total_score_for_user = user_rewards_score_by_blocks .iter() .fold(BalanceOf::::zero(), |acc, (score, _blocks)| acc.saturating_add(*score)); - log::debug!("total score: {:?}", total_score_for_user); + log::info!(target: "rewards", "total score: {:?}", total_score_for_user); ensure!(!total_score_for_user.is_zero(), Error::::NoRewardsAvailable); // Calculate user's proportion of rewards based on their score @@ -369,23 +375,23 @@ impl Pallet { let mut total_rewards_to_be_paid_to_user = BalanceOf::::zero(); for (score, blocks) in user_rewards_score_by_blocks { let user_proportion = Percent::from_rational(score, total_asset_score); - log::debug!("user_proportion: {:?}", user_proportion); + log::info!(target: "rewards", "user_proportion: {:?}", user_proportion); let user_reward_per_block = user_proportion.mul_floor(total_reward_per_block); // Calculate total rewards for the period - log::debug!("last_claim_block: {:?}, total_reward_per_block: {:?}, user reward per block: {:?}, blocks: {:?}", + log::info!(target: "rewards", "last_claim_block: {:?}, total_reward_per_block: {:?}, user reward per block: {:?}, blocks: {:?}", last_claim_block, total_reward_per_block, user_reward_per_block, blocks); let rewards_to_be_paid = user_reward_per_block .saturating_mul(BalanceOf::::from(blocks.saturated_into::())); - log::debug!("rewards_to_be_paid: {:?}", rewards_to_be_paid); + log::info!(target: "rewards", "rewards_to_be_paid: {:?}", rewards_to_be_paid); total_rewards_to_be_paid_to_user = total_rewards_to_be_paid_to_user.saturating_add(rewards_to_be_paid); } - log::debug!("total_rewards_to_be_paid_to_user: {:?}", total_rewards_to_be_paid_to_user); + log::info!(target: "rewards", "total_rewards_to_be_paid_to_user: {:?}", total_rewards_to_be_paid_to_user); Ok(total_rewards_to_be_paid_to_user) } } diff --git a/pallets/rewards/src/lib.rs b/pallets/rewards/src/lib.rs index 4f2f564c1..f4593419d 100644 --- a/pallets/rewards/src/lib.rs +++ b/pallets/rewards/src/lib.rs @@ -362,7 +362,7 @@ pub mod pallet { /// - `asset`: The asset to claim rewards for /// /// Emits `RewardsClaimed` event when successful. - #[pallet::call_index(6)] + #[pallet::call_index(2)] #[pallet::weight(Weight::from_parts(10_000, 0) + T::DbWeight::get().writes(1))] pub fn claim_rewards_other( origin: OriginFor, @@ -394,7 +394,7 @@ pub mod pallet { /// /// * [`Error::AssetAlreadyInVault`] - Asset already exists in vault /// * [`Error::AssetNotInVault`] - Asset does not exist in vault - #[pallet::call_index(2)] + #[pallet::call_index(3)] #[pallet::weight(Weight::from_parts(10_000, 0) + T::DbWeight::get().writes(1))] pub fn manage_asset_reward_vault( origin: OriginFor, @@ -432,7 +432,7 @@ pub mod pallet { /// * `BadOrigin` - If caller is not authorized through `ForceOrigin` /// * `IncentiveCapGreaterThanDepositCap` - If incentive cap is greater than deposit cap /// * `BoostMultiplierMustBeOne` - If boost multiplier is not 1 - #[pallet::call_index(3)] + #[pallet::call_index(4)] #[pallet::weight(Weight::from_parts(10_000, 0) + T::DbWeight::get().writes(1))] pub fn create_reward_vault( origin: OriginFor, @@ -476,7 +476,7 @@ pub mod pallet { /// * `BadOrigin` - If caller is not authorized through `ForceOrigin` /// * `IncentiveCapGreaterThanDepositCap` - If incentive cap is greater than deposit cap /// * `BoostMultiplierMustBeOne` - If boost multiplier is not 1 - #[pallet::call_index(4)] + #[pallet::call_index(5)] #[pallet::weight(Weight::from_parts(10_000, 0) + T::DbWeight::get().writes(1))] pub fn update_vault_reward_config( origin: OriginFor, @@ -502,7 +502,7 @@ pub mod pallet { } /// Update the decay configuration - #[pallet::call_index(5)] + #[pallet::call_index(6)] #[pallet::weight(T::DbWeight::get().writes(2))] pub fn update_decay_config( origin: OriginFor, @@ -522,7 +522,7 @@ pub mod pallet { } /// Update the number of blocks used for APY calculation - #[pallet::call_index(6)] + #[pallet::call_index(7)] #[pallet::weight(T::DbWeight::get().writes(1))] pub fn update_apy_blocks( origin: OriginFor, diff --git a/tangle-subxt/metadata/tangle-testnet-runtime.scale b/tangle-subxt/metadata/tangle-testnet-runtime.scale index 3fc348df1ac9c93e62fc537eb461fd078b736857..4abcd33a6690943b44cb506380651d0a04d33467 100644 GIT binary patch delta 455 zcmX>(QDXO0i49pt88tR%AAQFn<=|LQ>6DY7oLwARkdj!En!>^;kp$*X-&oHiYQo9# zBqSqMA+IzyDYZx;KTQE5sgRamq~I73sgRtQlU$mUSdy8ar;w3YtdNwNn%5k7sy*-& z-Jlbn;7nHyh}TAo;xQXHROl95_8`Jk%!?d`K5U!3_a5WS2K!CmwU*_AzGZ7o|l@U$Dk9CSd^HXT9R5+Y_(*% zfFz?t0N5U6gO=zjBqSCWr7sj4a!|H#0XgGqP?!zl}MbnUQU}{w`((X_r!P2*xKCRK`O>2{kOu p*;y_?0$Bm*dCVX!Ely3r7Ov9|`ZBt;Pu;}~#4OvV?qW6Z0|2T^r@R0F delta 91 zcmV-h0HpuBl^Ds97_e%^0VK0)#qI=y#L9=n$^o~;$^t*;0Th=6u>)b3g|Y){0Rp%2 xvIFD+0Ry+zv;%_!0R*>NxC37U0R@-3y8|GXBJ=`Ahljiahljibw}-q1G)_FzCDZ@_ diff --git a/tangle-subxt/src/tangle_testnet_runtime.rs b/tangle-subxt/src/tangle_testnet_runtime.rs index fef78c1e5..2ba6e66e0 100644 --- a/tangle-subxt/src/tangle_testnet_runtime.rs +++ b/tangle-subxt/src/tangle_testnet_runtime.rs @@ -3449,9 +3449,9 @@ pub mod api { .hash(); runtime_metadata_hash == [ - 198u8, 239u8, 12u8, 208u8, 34u8, 186u8, 240u8, 85u8, 224u8, 86u8, 48u8, 204u8, - 204u8, 35u8, 50u8, 23u8, 42u8, 76u8, 57u8, 32u8, 166u8, 61u8, 206u8, 216u8, 212u8, - 22u8, 140u8, 102u8, 36u8, 216u8, 59u8, 204u8, + 216u8, 14u8, 24u8, 71u8, 175u8, 82u8, 151u8, 116u8, 63u8, 40u8, 178u8, 57u8, 189u8, + 65u8, 53u8, 149u8, 48u8, 106u8, 205u8, 173u8, 7u8, 227u8, 211u8, 209u8, 227u8, + 120u8, 88u8, 52u8, 66u8, 63u8, 91u8, 181u8, ] } pub mod system { @@ -4569,9 +4569,9 @@ pub mod api { "Events", (), [ - 98u8, 34u8, 112u8, 11u8, 11u8, 252u8, 13u8, 171u8, 240u8, 36u8, 24u8, - 91u8, 13u8, 5u8, 0u8, 100u8, 155u8, 186u8, 216u8, 71u8, 130u8, 150u8, - 54u8, 192u8, 55u8, 252u8, 154u8, 255u8, 203u8, 185u8, 33u8, 67u8, + 123u8, 180u8, 141u8, 105u8, 42u8, 50u8, 84u8, 92u8, 94u8, 42u8, 229u8, + 200u8, 60u8, 229u8, 182u8, 253u8, 247u8, 50u8, 2u8, 70u8, 104u8, 60u8, + 54u8, 42u8, 138u8, 186u8, 208u8, 243u8, 218u8, 238u8, 7u8, 157u8, ], ) } @@ -5222,10 +5222,10 @@ pub mod api { "sudo", types::Sudo { call: ::subxt_core::alloc::boxed::Box::new(call) }, [ - 100u8, 201u8, 68u8, 29u8, 81u8, 183u8, 243u8, 23u8, 21u8, 40u8, 242u8, - 114u8, 137u8, 138u8, 229u8, 71u8, 231u8, 188u8, 148u8, 152u8, 173u8, - 201u8, 247u8, 131u8, 191u8, 44u8, 189u8, 206u8, 218u8, 141u8, 247u8, - 103u8, + 201u8, 59u8, 181u8, 102u8, 217u8, 180u8, 238u8, 104u8, 67u8, 14u8, + 253u8, 17u8, 153u8, 184u8, 163u8, 154u8, 141u8, 61u8, 19u8, 122u8, + 200u8, 211u8, 161u8, 11u8, 198u8, 1u8, 239u8, 47u8, 75u8, 128u8, 154u8, + 238u8, ], ) } @@ -5247,9 +5247,10 @@ pub mod api { weight, }, [ - 57u8, 129u8, 114u8, 197u8, 152u8, 105u8, 149u8, 52u8, 106u8, 24u8, - 97u8, 47u8, 117u8, 22u8, 220u8, 168u8, 57u8, 100u8, 29u8, 197u8, 46u8, - 68u8, 90u8, 63u8, 227u8, 217u8, 222u8, 76u8, 126u8, 64u8, 243u8, 107u8, + 210u8, 127u8, 58u8, 29u8, 213u8, 135u8, 114u8, 187u8, 225u8, 157u8, + 71u8, 13u8, 107u8, 54u8, 86u8, 243u8, 175u8, 227u8, 242u8, 229u8, + 104u8, 59u8, 146u8, 226u8, 80u8, 57u8, 24u8, 214u8, 99u8, 34u8, 58u8, + 99u8, ], ) } @@ -5285,10 +5286,10 @@ pub mod api { "sudo_as", types::SudoAs { who, call: ::subxt_core::alloc::boxed::Box::new(call) }, [ - 158u8, 234u8, 138u8, 46u8, 115u8, 49u8, 123u8, 63u8, 218u8, 10u8, 0u8, - 36u8, 241u8, 237u8, 35u8, 191u8, 198u8, 187u8, 208u8, 84u8, 82u8, - 122u8, 168u8, 210u8, 250u8, 239u8, 71u8, 53u8, 79u8, 160u8, 97u8, - 133u8, + 106u8, 11u8, 208u8, 91u8, 72u8, 219u8, 204u8, 166u8, 149u8, 64u8, + 228u8, 196u8, 127u8, 79u8, 170u8, 47u8, 110u8, 98u8, 161u8, 54u8, + 135u8, 106u8, 205u8, 155u8, 182u8, 132u8, 244u8, 223u8, 65u8, 62u8, + 40u8, 186u8, ], ) } @@ -15541,9 +15542,10 @@ pub mod api { length_bound, }, [ - 194u8, 145u8, 61u8, 149u8, 159u8, 198u8, 64u8, 144u8, 36u8, 32u8, 64u8, - 49u8, 43u8, 219u8, 156u8, 129u8, 175u8, 132u8, 181u8, 187u8, 117u8, - 138u8, 202u8, 26u8, 22u8, 99u8, 155u8, 71u8, 90u8, 179u8, 252u8, 37u8, + 108u8, 68u8, 137u8, 246u8, 93u8, 139u8, 200u8, 194u8, 209u8, 121u8, + 119u8, 181u8, 129u8, 70u8, 117u8, 128u8, 125u8, 53u8, 89u8, 55u8, 74u8, + 254u8, 179u8, 67u8, 119u8, 11u8, 101u8, 236u8, 142u8, 55u8, 185u8, + 146u8, ], ) } @@ -15576,9 +15578,9 @@ pub mod api { length_bound, }, [ - 206u8, 97u8, 43u8, 251u8, 62u8, 60u8, 239u8, 6u8, 112u8, 110u8, 102u8, - 55u8, 222u8, 29u8, 17u8, 159u8, 198u8, 228u8, 114u8, 254u8, 67u8, - 231u8, 139u8, 158u8, 251u8, 90u8, 193u8, 95u8, 98u8, 133u8, 63u8, 40u8, + 131u8, 15u8, 135u8, 194u8, 194u8, 42u8, 95u8, 198u8, 3u8, 151u8, 224u8, + 90u8, 103u8, 13u8, 142u8, 193u8, 208u8, 210u8, 35u8, 251u8, 236u8, 2u8, + 230u8, 180u8, 59u8, 181u8, 130u8, 239u8, 69u8, 72u8, 147u8, 89u8, ], ) } @@ -15960,9 +15962,10 @@ pub mod api { "ProposalOf", (), [ - 132u8, 232u8, 107u8, 19u8, 183u8, 218u8, 219u8, 209u8, 110u8, 171u8, - 10u8, 226u8, 63u8, 50u8, 115u8, 108u8, 152u8, 36u8, 60u8, 73u8, 133u8, - 55u8, 20u8, 168u8, 190u8, 170u8, 195u8, 248u8, 74u8, 45u8, 189u8, 75u8, + 194u8, 72u8, 100u8, 210u8, 30u8, 167u8, 18u8, 224u8, 38u8, 138u8, + 204u8, 89u8, 179u8, 248u8, 222u8, 20u8, 145u8, 155u8, 216u8, 130u8, + 14u8, 150u8, 197u8, 23u8, 24u8, 196u8, 175u8, 156u8, 160u8, 139u8, + 99u8, 136u8, ], ) } @@ -15982,9 +15985,10 @@ pub mod api { "ProposalOf", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 132u8, 232u8, 107u8, 19u8, 183u8, 218u8, 219u8, 209u8, 110u8, 171u8, - 10u8, 226u8, 63u8, 50u8, 115u8, 108u8, 152u8, 36u8, 60u8, 73u8, 133u8, - 55u8, 20u8, 168u8, 190u8, 170u8, 195u8, 248u8, 74u8, 45u8, 189u8, 75u8, + 194u8, 72u8, 100u8, 210u8, 30u8, 167u8, 18u8, 224u8, 38u8, 138u8, + 204u8, 89u8, 179u8, 248u8, 222u8, 20u8, 145u8, 155u8, 216u8, 130u8, + 14u8, 150u8, 197u8, 23u8, 24u8, 196u8, 175u8, 156u8, 160u8, 139u8, + 99u8, 136u8, ], ) } @@ -31386,9 +31390,9 @@ pub mod api { call: ::subxt_core::alloc::boxed::Box::new(call), }, [ - 48u8, 66u8, 56u8, 214u8, 65u8, 235u8, 53u8, 107u8, 215u8, 228u8, 203u8, - 41u8, 58u8, 33u8, 205u8, 162u8, 250u8, 156u8, 13u8, 63u8, 66u8, 5u8, - 165u8, 35u8, 165u8, 116u8, 154u8, 136u8, 222u8, 244u8, 234u8, 44u8, + 172u8, 203u8, 48u8, 164u8, 208u8, 83u8, 45u8, 146u8, 59u8, 61u8, 225u8, + 127u8, 189u8, 5u8, 170u8, 222u8, 100u8, 55u8, 22u8, 140u8, 16u8, 224u8, + 247u8, 57u8, 142u8, 215u8, 65u8, 32u8, 159u8, 1u8, 200u8, 232u8, ], ) } @@ -31430,10 +31434,9 @@ pub mod api { call: ::subxt_core::alloc::boxed::Box::new(call), }, [ - 192u8, 42u8, 131u8, 67u8, 35u8, 183u8, 98u8, 45u8, 211u8, 183u8, 9u8, - 65u8, 133u8, 139u8, 241u8, 193u8, 233u8, 55u8, 153u8, 147u8, 234u8, - 145u8, 147u8, 75u8, 201u8, 126u8, 150u8, 207u8, 222u8, 66u8, 85u8, - 129u8, + 234u8, 73u8, 70u8, 149u8, 149u8, 4u8, 216u8, 215u8, 56u8, 151u8, 249u8, + 143u8, 152u8, 243u8, 54u8, 197u8, 171u8, 45u8, 44u8, 57u8, 49u8, 129u8, + 208u8, 151u8, 90u8, 30u8, 107u8, 121u8, 111u8, 125u8, 120u8, 92u8, ], ) } @@ -31471,10 +31474,9 @@ pub mod api { call: ::subxt_core::alloc::boxed::Box::new(call), }, [ - 187u8, 225u8, 72u8, 84u8, 82u8, 253u8, 254u8, 31u8, 126u8, 180u8, - 165u8, 220u8, 223u8, 134u8, 173u8, 3u8, 149u8, 54u8, 36u8, 17u8, 245u8, - 118u8, 220u8, 166u8, 180u8, 182u8, 145u8, 152u8, 45u8, 49u8, 11u8, - 163u8, + 217u8, 184u8, 179u8, 2u8, 88u8, 200u8, 243u8, 116u8, 77u8, 108u8, 50u8, + 32u8, 20u8, 11u8, 207u8, 145u8, 166u8, 127u8, 74u8, 219u8, 6u8, 106u8, + 230u8, 231u8, 219u8, 158u8, 231u8, 43u8, 69u8, 137u8, 105u8, 33u8, ], ) } @@ -31498,10 +31500,9 @@ pub mod api { call: ::subxt_core::alloc::boxed::Box::new(call), }, [ - 139u8, 224u8, 233u8, 253u8, 206u8, 234u8, 221u8, 167u8, 57u8, 206u8, - 78u8, 75u8, 133u8, 131u8, 139u8, 154u8, 173u8, 83u8, 125u8, 181u8, - 217u8, 1u8, 12u8, 186u8, 163u8, 124u8, 107u8, 173u8, 61u8, 40u8, 214u8, - 178u8, + 208u8, 56u8, 91u8, 102u8, 35u8, 97u8, 103u8, 209u8, 127u8, 55u8, 59u8, + 127u8, 9u8, 75u8, 253u8, 38u8, 149u8, 101u8, 45u8, 57u8, 249u8, 133u8, + 238u8, 35u8, 44u8, 126u8, 71u8, 234u8, 97u8, 189u8, 133u8, 140u8, ], ) } @@ -36146,9 +36147,10 @@ pub mod api { "batch", types::Batch { calls }, [ - 152u8, 42u8, 4u8, 140u8, 80u8, 42u8, 207u8, 77u8, 224u8, 113u8, 64u8, - 191u8, 139u8, 41u8, 18u8, 242u8, 203u8, 187u8, 25u8, 184u8, 224u8, - 23u8, 77u8, 114u8, 141u8, 102u8, 134u8, 126u8, 152u8, 7u8, 50u8, 65u8, + 116u8, 145u8, 109u8, 128u8, 25u8, 39u8, 246u8, 147u8, 235u8, 138u8, + 141u8, 212u8, 72u8, 138u8, 1u8, 201u8, 102u8, 30u8, 133u8, 236u8, + 185u8, 59u8, 33u8, 240u8, 26u8, 105u8, 196u8, 198u8, 35u8, 19u8, 75u8, + 54u8, ], ) } @@ -36178,9 +36180,9 @@ pub mod api { call: ::subxt_core::alloc::boxed::Box::new(call), }, [ - 183u8, 27u8, 73u8, 247u8, 13u8, 128u8, 160u8, 206u8, 7u8, 102u8, 214u8, - 237u8, 17u8, 72u8, 218u8, 1u8, 7u8, 248u8, 32u8, 135u8, 108u8, 102u8, - 253u8, 151u8, 90u8, 37u8, 90u8, 66u8, 36u8, 0u8, 156u8, 140u8, + 168u8, 68u8, 8u8, 2u8, 206u8, 221u8, 149u8, 3u8, 24u8, 238u8, 6u8, + 237u8, 32u8, 45u8, 4u8, 212u8, 205u8, 155u8, 75u8, 145u8, 226u8, 177u8, + 137u8, 174u8, 30u8, 239u8, 241u8, 16u8, 166u8, 70u8, 204u8, 152u8, ], ) } @@ -36206,10 +36208,9 @@ pub mod api { "batch_all", types::BatchAll { calls }, [ - 137u8, 78u8, 160u8, 245u8, 127u8, 24u8, 106u8, 220u8, 86u8, 230u8, - 237u8, 28u8, 175u8, 1u8, 99u8, 39u8, 51u8, 107u8, 66u8, 135u8, 148u8, - 12u8, 162u8, 180u8, 123u8, 167u8, 128u8, 102u8, 74u8, 62u8, 125u8, - 135u8, + 168u8, 10u8, 247u8, 202u8, 78u8, 64u8, 78u8, 227u8, 22u8, 253u8, 228u8, + 140u8, 92u8, 97u8, 122u8, 129u8, 53u8, 246u8, 216u8, 179u8, 237u8, + 232u8, 140u8, 96u8, 32u8, 70u8, 31u8, 106u8, 102u8, 22u8, 61u8, 246u8, ], ) } @@ -36232,10 +36233,9 @@ pub mod api { call: ::subxt_core::alloc::boxed::Box::new(call), }, [ - 80u8, 142u8, 16u8, 159u8, 37u8, 238u8, 224u8, 149u8, 161u8, 156u8, - 21u8, 171u8, 96u8, 194u8, 9u8, 158u8, 3u8, 141u8, 188u8, 133u8, 190u8, - 165u8, 13u8, 108u8, 206u8, 154u8, 232u8, 232u8, 237u8, 56u8, 100u8, - 47u8, + 1u8, 88u8, 219u8, 255u8, 247u8, 29u8, 171u8, 86u8, 158u8, 255u8, 4u8, + 140u8, 178u8, 47u8, 221u8, 41u8, 10u8, 3u8, 107u8, 15u8, 191u8, 154u8, + 192u8, 4u8, 201u8, 48u8, 114u8, 42u8, 119u8, 60u8, 166u8, 78u8, ], ) } @@ -36261,10 +36261,9 @@ pub mod api { "force_batch", types::ForceBatch { calls }, [ - 114u8, 188u8, 100u8, 220u8, 17u8, 201u8, 133u8, 115u8, 44u8, 70u8, - 139u8, 216u8, 128u8, 197u8, 148u8, 255u8, 36u8, 162u8, 120u8, 76u8, - 33u8, 193u8, 70u8, 86u8, 49u8, 123u8, 219u8, 214u8, 15u8, 199u8, 239u8, - 175u8, + 6u8, 149u8, 123u8, 101u8, 18u8, 136u8, 86u8, 112u8, 239u8, 130u8, 44u8, + 17u8, 94u8, 148u8, 54u8, 202u8, 64u8, 248u8, 98u8, 173u8, 245u8, 80u8, + 37u8, 131u8, 67u8, 140u8, 250u8, 102u8, 47u8, 190u8, 33u8, 26u8, ], ) } @@ -36287,9 +36286,10 @@ pub mod api { weight, }, [ - 139u8, 225u8, 77u8, 23u8, 91u8, 62u8, 243u8, 36u8, 194u8, 83u8, 176u8, - 77u8, 119u8, 98u8, 230u8, 247u8, 34u8, 56u8, 138u8, 224u8, 38u8, 120u8, - 149u8, 171u8, 59u8, 137u8, 49u8, 118u8, 0u8, 111u8, 16u8, 29u8, + 44u8, 93u8, 26u8, 3u8, 87u8, 247u8, 53u8, 65u8, 178u8, 166u8, 18u8, + 117u8, 44u8, 160u8, 153u8, 243u8, 162u8, 82u8, 145u8, 245u8, 128u8, + 249u8, 173u8, 117u8, 242u8, 92u8, 196u8, 200u8, 203u8, 65u8, 94u8, + 96u8, ], ) } @@ -36730,9 +36730,9 @@ pub mod api { call: ::subxt_core::alloc::boxed::Box::new(call), }, [ - 8u8, 46u8, 255u8, 156u8, 156u8, 158u8, 56u8, 89u8, 92u8, 13u8, 22u8, - 49u8, 203u8, 67u8, 192u8, 123u8, 203u8, 190u8, 144u8, 109u8, 218u8, - 169u8, 139u8, 32u8, 161u8, 139u8, 87u8, 126u8, 115u8, 15u8, 80u8, 28u8, + 13u8, 9u8, 198u8, 41u8, 228u8, 145u8, 105u8, 83u8, 82u8, 21u8, 191u8, + 196u8, 161u8, 50u8, 241u8, 34u8, 180u8, 0u8, 7u8, 155u8, 164u8, 170u8, + 208u8, 224u8, 81u8, 44u8, 250u8, 119u8, 134u8, 53u8, 237u8, 13u8, ], ) } @@ -36794,9 +36794,9 @@ pub mod api { max_weight, }, [ - 169u8, 162u8, 46u8, 66u8, 142u8, 7u8, 53u8, 79u8, 58u8, 67u8, 167u8, - 120u8, 3u8, 163u8, 158u8, 60u8, 167u8, 132u8, 135u8, 193u8, 59u8, 72u8, - 200u8, 151u8, 197u8, 31u8, 57u8, 92u8, 73u8, 36u8, 136u8, 89u8, + 50u8, 163u8, 161u8, 28u8, 175u8, 92u8, 158u8, 3u8, 50u8, 104u8, 246u8, + 63u8, 14u8, 62u8, 200u8, 97u8, 9u8, 117u8, 116u8, 126u8, 173u8, 15u8, + 57u8, 8u8, 28u8, 156u8, 88u8, 179u8, 204u8, 100u8, 4u8, 131u8, ], ) } @@ -39716,9 +39716,10 @@ pub mod api { call: ::subxt_core::alloc::boxed::Box::new(call), }, [ - 151u8, 254u8, 235u8, 3u8, 178u8, 24u8, 21u8, 91u8, 18u8, 33u8, 64u8, - 112u8, 215u8, 110u8, 206u8, 155u8, 176u8, 237u8, 126u8, 129u8, 133u8, - 19u8, 212u8, 1u8, 66u8, 202u8, 35u8, 99u8, 34u8, 6u8, 197u8, 218u8, + 249u8, 21u8, 37u8, 222u8, 122u8, 222u8, 225u8, 31u8, 133u8, 198u8, + 17u8, 124u8, 58u8, 210u8, 217u8, 67u8, 197u8, 227u8, 76u8, 91u8, 237u8, + 178u8, 67u8, 31u8, 27u8, 164u8, 152u8, 42u8, 228u8, 235u8, 180u8, + 241u8, ], ) } @@ -39974,10 +39975,9 @@ pub mod api { call: ::subxt_core::alloc::boxed::Box::new(call), }, [ - 164u8, 190u8, 90u8, 178u8, 151u8, 236u8, 215u8, 9u8, 97u8, 137u8, - 105u8, 213u8, 250u8, 191u8, 2u8, 14u8, 57u8, 67u8, 220u8, 73u8, 207u8, - 227u8, 122u8, 248u8, 97u8, 128u8, 222u8, 234u8, 158u8, 230u8, 48u8, - 183u8, + 203u8, 77u8, 75u8, 228u8, 190u8, 1u8, 170u8, 204u8, 114u8, 70u8, 134u8, + 207u8, 43u8, 182u8, 196u8, 177u8, 53u8, 41u8, 175u8, 76u8, 5u8, 195u8, + 251u8, 183u8, 80u8, 240u8, 85u8, 112u8, 136u8, 155u8, 99u8, 27u8, ], ) } @@ -48967,6 +48967,42 @@ pub mod api { # [codec (crate = :: subxt_core :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Claim rewards for another account"] + #[doc = ""] + #[doc = "The dispatch origin must be signed."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `who`: The account to claim rewards for"] + #[doc = "- `asset`: The asset to claim rewards for"] + #[doc = ""] + #[doc = "Emits `RewardsClaimed` event when successful."] + pub struct ClaimRewardsOther { + pub who: claim_rewards_other::Who, + pub asset: claim_rewards_other::Asset, + } + pub mod claim_rewards_other { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + pub type Asset = + runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>; + } + impl ::subxt_core::blocks::StaticExtrinsic for ClaimRewardsOther { + const PALLET: &'static str = "Rewards"; + const CALL: &'static str = "claim_rewards_other"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Manage asset id to vault rewards."] #[doc = ""] #[doc = "# Permissions"] @@ -49121,6 +49157,31 @@ pub mod api { const PALLET: &'static str = "Rewards"; const CALL: &'static str = "update_decay_config"; } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Update the number of blocks used for APY calculation"] + pub struct UpdateApyBlocks { + pub blocks: update_apy_blocks::Blocks, + } + pub mod update_apy_blocks { + use super::runtime_types; + pub type Blocks = ::core::primitive::u64; + } + impl ::subxt_core::blocks::StaticExtrinsic for UpdateApyBlocks { + const PALLET: &'static str = "Rewards"; + const CALL: &'static str = "update_apy_blocks"; + } } pub struct TransactionApi; impl TransactionApi { @@ -49141,6 +49202,32 @@ pub mod api { ], ) } + #[doc = "Claim rewards for another account"] + #[doc = ""] + #[doc = "The dispatch origin must be signed."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `who`: The account to claim rewards for"] + #[doc = "- `asset`: The asset to claim rewards for"] + #[doc = ""] + #[doc = "Emits `RewardsClaimed` event when successful."] + pub fn claim_rewards_other( + &self, + who: types::claim_rewards_other::Who, + asset: types::claim_rewards_other::Asset, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Rewards", + "claim_rewards_other", + types::ClaimRewardsOther { who, asset }, + [ + 156u8, 186u8, 123u8, 58u8, 164u8, 199u8, 154u8, 99u8, 175u8, 143u8, + 218u8, 147u8, 191u8, 177u8, 92u8, 155u8, 191u8, 133u8, 97u8, 60u8, + 41u8, 244u8, 232u8, 28u8, 213u8, 5u8, 52u8, 160u8, 161u8, 109u8, 121u8, + 181u8, + ], + ) + } #[doc = "Manage asset id to vault rewards."] #[doc = ""] #[doc = "# Permissions"] @@ -49263,6 +49350,22 @@ pub mod api { ], ) } + #[doc = "Update the number of blocks used for APY calculation"] + pub fn update_apy_blocks( + &self, + blocks: types::update_apy_blocks::Blocks, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Rewards", + "update_apy_blocks", + types::UpdateApyBlocks { blocks }, + [ + 98u8, 147u8, 159u8, 28u8, 148u8, 51u8, 110u8, 115u8, 31u8, 92u8, 175u8, + 43u8, 78u8, 246u8, 16u8, 77u8, 40u8, 52u8, 61u8, 174u8, 226u8, 105u8, + 243u8, 179u8, 62u8, 217u8, 211u8, 204u8, 146u8, 99u8, 139u8, 110u8, + ], + ) + } } } #[doc = "The `Event` enum of this pallet"] @@ -49536,6 +49639,31 @@ pub mod api { const PALLET: &'static str = "Rewards"; const EVENT: &'static str = "DecayConfigUpdated"; } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "The number of blocks for APY calculation has been updated"] + pub struct ApyBlocksUpdated { + pub blocks: apy_blocks_updated::Blocks, + } + pub mod apy_blocks_updated { + use super::runtime_types; + pub type Blocks = ::core::primitive::u64; + } + impl ::subxt_core::events::StaticEvent for ApyBlocksUpdated { + const PALLET: &'static str = "Rewards"; + const EVENT: &'static str = "ApyBlocksUpdated"; + } } pub mod storage { use super::runtime_types; @@ -60244,6 +60372,22 @@ pub mod api { >, }, #[codec(index = 2)] + #[doc = "Claim rewards for another account"] + #[doc = ""] + #[doc = "The dispatch origin must be signed."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `who`: The account to claim rewards for"] + #[doc = "- `asset`: The asset to claim rewards for"] + #[doc = ""] + #[doc = "Emits `RewardsClaimed` event when successful."] + claim_rewards_other { + who: ::subxt_core::utils::AccountId32, + asset: runtime_types::tangle_primitives::services::Asset< + ::core::primitive::u128, + >, + }, + #[codec(index = 3)] #[doc = "Manage asset id to vault rewards."] #[doc = ""] #[doc = "# Permissions"] @@ -60268,7 +60412,7 @@ pub mod api { >, action: runtime_types::pallet_rewards::types::AssetAction, }, - #[codec(index = 3)] + #[codec(index = 4)] #[doc = "Creates a new reward configuration for a specific vault."] #[doc = ""] #[doc = "# Arguments"] @@ -60293,7 +60437,7 @@ pub mod api { ::core::primitive::u128, >, }, - #[codec(index = 4)] + #[codec(index = 5)] #[doc = "Updates the reward configuration for a specific vault."] #[doc = ""] #[doc = "# Arguments"] @@ -60318,12 +60462,15 @@ pub mod api { ::core::primitive::u128, >, }, - #[codec(index = 5)] + #[codec(index = 6)] #[doc = "Update the decay configuration"] update_decay_config { start_period: ::core::primitive::u64, rate: runtime_types::sp_arithmetic::per_things::Percent, }, + #[codec(index = 7)] + #[doc = "Update the number of blocks used for APY calculation"] + update_apy_blocks { blocks: ::core::primitive::u64 }, } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -60488,6 +60635,9 @@ pub mod api { start_period: ::core::primitive::u64, rate: runtime_types::sp_arithmetic::per_things::Percent, }, + #[codec(index = 9)] + #[doc = "The number of blocks for APY calculation has been updated"] + ApyBlocksUpdated { blocks: ::core::primitive::u64 }, } } pub mod types { From 6df4f2eff2060e5ced7b349d4d600255ece4cbaf Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Tue, 25 Feb 2025 19:58:32 +0530 Subject: [PATCH 02/30] test with new subcontext --- precompiles/batch/src/lib.rs | 9 +- tangle-subxt/src/tangle_testnet_runtime.rs | 9301 +++++++++++++------- 2 files changed, 6085 insertions(+), 3225 deletions(-) diff --git a/precompiles/batch/src/lib.rs b/precompiles/batch/src/lib.rs index 881e061ba..d41dc2f17 100644 --- a/precompiles/batch/src/lib.rs +++ b/precompiles/batch/src/lib.rs @@ -131,9 +131,6 @@ where let value = value.unwrap_or(U256::zero()); let call_data = call_data.unwrap_or(vec![]); - let sub_context = - Context { caller: handle.context().caller, address, apparent_value: value }; - let transfer = if value.is_zero() { None } else { @@ -197,8 +194,12 @@ where }, }; + // Execute the subcall with the provided gas limit + // Create a sub_context that matches the parent context's caller + // This ensures that state changes from the subcall are properly committed + let context = handle.context().clone(); let (reason, output) = - handle.call(address, transfer, call_data, Some(forwarded_gas), false, &sub_context); + handle.call(address, transfer, call_data, Some(forwarded_gas), false, &context); // Logs // We reserved enough gas so this should not OOG. diff --git a/tangle-subxt/src/tangle_testnet_runtime.rs b/tangle-subxt/src/tangle_testnet_runtime.rs index 71d1fca48..014ff5a9e 100644 --- a/tangle-subxt/src/tangle_testnet_runtime.rs +++ b/tangle-subxt/src/tangle_testnet_runtime.rs @@ -1,4 +1,5 @@ -#[allow(dead_code, unused_imports, non_camel_case_types, unreachable_patterns)] + +#[allow(dead_code, unused_imports, non_camel_case_types)] #[allow(clippy::all)] #[allow(rustdoc::broken_intra_doc_links)] pub mod api { @@ -6,12 +7,13 @@ pub mod api { mod root_mod { pub use super::*; } - pub static PALLETS: [&str; 44usize] = [ + pub static PALLETS: [&str; 45usize] = [ "System", "Timestamp", "Sudo", "RandomnessCollectiveFlip", "Assets", + "PoolAssets", "Balances", "TransactionPayment", "Authorship", @@ -71,13 +73,13 @@ pub mod api { "TxPoolRuntimeApi", "GenesisBuilder", ]; - #[doc = r" The error type that is returned when there is a runtime issue."] + #[doc = r" The error type returned when there is a runtime issue."] pub type DispatchError = runtime_types::sp_runtime::DispatchError; #[doc = r" The outer event enum."] pub type Event = runtime_types::tangle_testnet_runtime::RuntimeEvent; #[doc = r" The outer extrinsic enum."] pub type Call = runtime_types::tangle_testnet_runtime::RuntimeCall; - #[doc = r" The outer error enum represents the DispatchError's Module variant."] + #[doc = r" The outer error enum representing the DispatchError's Module variant."] pub type Error = runtime_types::tangle_testnet_runtime::RuntimeError; pub fn constants() -> ConstantsApi { ConstantsApi @@ -242,7 +244,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Version {} @@ -265,7 +266,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ExecuteBlock { @@ -291,7 +291,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct InitializeBlock { @@ -388,7 +387,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Metadata {} @@ -412,7 +410,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct MetadataAtVersion { @@ -436,7 +433,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct MetadataVersions {} @@ -550,7 +546,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ApplyExtrinsic { @@ -576,7 +571,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct FinalizeBlock {} @@ -599,7 +593,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct InherentExtrinsics { @@ -625,7 +618,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CheckInherents { @@ -657,10 +649,10 @@ pub mod api { "query_services_with_blueprints_by_operator", types::QueryServicesWithBlueprintsByOperator { operator }, [ - 114u8, 198u8, 130u8, 220u8, 208u8, 27u8, 139u8, 174u8, 212u8, 204u8, - 214u8, 62u8, 40u8, 166u8, 131u8, 98u8, 221u8, 20u8, 19u8, 24u8, 40u8, - 253u8, 205u8, 213u8, 16u8, 236u8, 242u8, 255u8, 37u8, 130u8, 85u8, - 91u8, + 27u8, 202u8, 93u8, 193u8, 225u8, 116u8, 186u8, 105u8, 2u8, 19u8, 215u8, + 203u8, 52u8, 182u8, 248u8, 130u8, 39u8, 59u8, 14u8, 190u8, 119u8, + 214u8, 203u8, 20u8, 236u8, 231u8, 129u8, 177u8, 193u8, 237u8, 102u8, + 177u8, ], ) } @@ -672,7 +664,7 @@ pub mod api { pub type Operator = ::subxt_core::utils::AccountId32; pub mod output { use super::runtime_types; - pub type Output = :: core :: result :: Result < :: subxt_core :: alloc :: vec :: Vec < runtime_types :: tangle_primitives :: services :: RpcServicesWithBlueprint < :: subxt_core :: utils :: AccountId32 , :: core :: primitive :: u64 , :: core :: primitive :: u128 > > , runtime_types :: sp_runtime :: DispatchError > ; + pub type Output = :: core :: result :: Result < :: subxt_core :: alloc :: vec :: Vec < runtime_types :: tangle_primitives :: services :: service :: RpcServicesWithBlueprint < :: subxt_core :: utils :: AccountId32 , :: core :: primitive :: u64 , :: core :: primitive :: u128 > > , runtime_types :: sp_runtime :: DispatchError > ; } } #[derive( @@ -686,7 +678,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct QueryServicesWithBlueprintsByOperator { @@ -730,8 +721,9 @@ pub mod api { pub mod query_user_rewards { use super::runtime_types; pub type AccountId = ::subxt_core::utils::AccountId32; - pub type AssetId = - runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>; + pub type AssetId = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; pub mod output { use super::runtime_types; pub type Output = ::core::result::Result< @@ -751,7 +743,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct QueryUserRewards { @@ -1154,7 +1145,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ChainId {} @@ -1177,7 +1167,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct AccountBasic { @@ -1201,7 +1190,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct GasPrice {} @@ -1224,7 +1212,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct AccountCodeAt { @@ -1248,7 +1235,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Author {} @@ -1272,7 +1258,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct StorageAt { @@ -1319,7 +1304,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Call { @@ -1371,7 +1355,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Create { @@ -1407,7 +1390,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CurrentBlock {} @@ -1433,7 +1415,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CurrentReceipts {} @@ -1457,7 +1438,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CurrentTransactionStatuses {} @@ -1495,7 +1475,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CurrentAll {} @@ -1520,7 +1499,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ExtrinsicFilter { @@ -1546,7 +1524,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Elasticity {} @@ -1568,7 +1545,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct GasLimitMultiplierSupport {} @@ -1602,7 +1578,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PendingBlock { @@ -1628,7 +1603,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct InitializePendingBlock { @@ -1681,7 +1655,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ConvertTransaction { @@ -1749,7 +1722,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ValidateTransaction { @@ -1807,7 +1779,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct OffchainWorker { @@ -1892,7 +1863,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct GenerateSessionKeys { @@ -1922,7 +1892,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct DecodeSessionKeys { @@ -2094,7 +2063,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Configuration {} @@ -2116,7 +2084,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CurrentEpochStart {} @@ -2138,7 +2105,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CurrentEpoch {} @@ -2160,7 +2126,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct NextEpoch {} @@ -2186,7 +2151,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct GenerateKeyOwnershipProof { @@ -2220,7 +2184,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SubmitReportEquivocationUnsignedExtrinsic { @@ -2279,7 +2242,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct AccountNonce { @@ -2394,7 +2356,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct QueryInfo { @@ -2424,7 +2385,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct QueryFeeDetails { @@ -2450,7 +2410,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct QueryWeightToFee { @@ -2475,7 +2434,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct QueryLengthToFee { @@ -2624,7 +2582,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct GrandpaAuthorities {} @@ -2652,7 +2609,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SubmitReportEquivocationUnsignedExtrinsic { @@ -2682,7 +2638,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct GenerateKeyOwnershipProof { @@ -2707,7 +2662,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CurrentSetId {} @@ -2824,7 +2778,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct TraceTransaction { @@ -2856,7 +2809,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct TraceBlock { @@ -2901,7 +2853,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct TraceCall { @@ -2965,7 +2916,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ExtrinsicFilter { @@ -3085,7 +3035,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BuildState { @@ -3112,7 +3061,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct GetPreset { @@ -3137,7 +3085,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PresetNames {} @@ -3160,6 +3107,9 @@ pub mod api { pub fn assets(&self) -> assets::constants::ConstantsApi { assets::constants::ConstantsApi } + pub fn pool_assets(&self) -> pool_assets::constants::ConstantsApi { + pool_assets::constants::ConstantsApi + } pub fn balances(&self) -> balances::constants::ConstantsApi { balances::constants::ConstantsApi } @@ -3263,6 +3213,9 @@ pub mod api { pub fn assets(&self) -> assets::storage::StorageApi { assets::storage::StorageApi } + pub fn pool_assets(&self) -> pool_assets::storage::StorageApi { + pool_assets::storage::StorageApi + } pub fn balances(&self) -> balances::storage::StorageApi { balances::storage::StorageApi } @@ -3391,6 +3344,9 @@ pub mod api { pub fn assets(&self) -> assets::calls::TransactionApi { assets::calls::TransactionApi } + pub fn pool_assets(&self) -> pool_assets::calls::TransactionApi { + pool_assets::calls::TransactionApi + } pub fn balances(&self) -> balances::calls::TransactionApi { balances::calls::TransactionApi } @@ -3505,9 +3461,9 @@ pub mod api { .hash(); runtime_metadata_hash == [ - 70u8, 245u8, 22u8, 12u8, 33u8, 18u8, 237u8, 72u8, 123u8, 114u8, 209u8, 218u8, 48u8, - 44u8, 3u8, 116u8, 184u8, 122u8, 101u8, 167u8, 74u8, 115u8, 245u8, 73u8, 80u8, - 171u8, 244u8, 142u8, 185u8, 44u8, 237u8, 228u8, + 190u8, 107u8, 115u8, 160u8, 35u8, 54u8, 209u8, 117u8, 64u8, 197u8, 152u8, 111u8, + 23u8, 9u8, 165u8, 45u8, 92u8, 199u8, 125u8, 59u8, 204u8, 199u8, 176u8, 143u8, + 197u8, 137u8, 83u8, 45u8, 245u8, 142u8, 82u8, 114u8, ] } pub mod system { @@ -3534,7 +3490,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Make some on-chain remark."] @@ -3562,7 +3517,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the number of pages in the WebAssembly environment's heap."] @@ -3588,7 +3542,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the new runtime code."] @@ -3614,7 +3567,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the new runtime code without doing any checks of the given `code`."] @@ -3643,7 +3595,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set some items of storage."] @@ -3672,7 +3623,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Kill some items from storage."] @@ -3700,7 +3650,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Kill all storage items with a key that starts with the given prefix."] @@ -3731,7 +3680,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Make some on-chain remark and emit event."] @@ -3757,7 +3705,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"] @@ -3786,7 +3733,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"] @@ -3819,7 +3765,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized."] @@ -4074,7 +4019,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An extrinsic completed successfully."] @@ -4100,7 +4044,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An extrinsic failed."] @@ -4128,7 +4071,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "`:code` was updated."] @@ -4148,7 +4090,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A new account was created."] @@ -4174,7 +4115,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account was reaped."] @@ -4200,7 +4140,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "On on-chain remark happened."] @@ -4228,7 +4167,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An upgrade was authorized."] @@ -4643,10 +4581,10 @@ pub mod api { "Events", (), [ - 91u8, 54u8, 233u8, 137u8, 244u8, 222u8, 38u8, 20u8, 142u8, 134u8, - 149u8, 159u8, 68u8, 103u8, 189u8, 102u8, 109u8, 151u8, 102u8, 126u8, - 210u8, 121u8, 203u8, 178u8, 188u8, 203u8, 99u8, 81u8, 151u8, 101u8, - 161u8, 243u8, + 60u8, 220u8, 136u8, 6u8, 201u8, 157u8, 152u8, 222u8, 138u8, 238u8, + 43u8, 131u8, 138u8, 71u8, 224u8, 41u8, 234u8, 230u8, 102u8, 201u8, + 94u8, 6u8, 236u8, 115u8, 76u8, 221u8, 245u8, 155u8, 8u8, 39u8, 250u8, + 227u8, ], ) } @@ -4970,7 +4908,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the current time."] @@ -5157,7 +5094,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."] @@ -5183,7 +5119,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."] @@ -5215,7 +5150,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"] @@ -5245,7 +5179,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Authenticates the sudo key and dispatches a function call with `Signed` origin from"] @@ -5279,7 +5212,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Permanently removes the sudo key."] @@ -5303,9 +5235,10 @@ pub mod api { "sudo", types::Sudo { call: ::subxt_core::alloc::boxed::Box::new(call) }, [ - 9u8, 97u8, 236u8, 106u8, 2u8, 175u8, 20u8, 197u8, 142u8, 65u8, 159u8, - 112u8, 218u8, 87u8, 69u8, 215u8, 226u8, 41u8, 158u8, 33u8, 64u8, 28u8, - 133u8, 0u8, 227u8, 176u8, 187u8, 146u8, 170u8, 207u8, 75u8, 135u8, + 237u8, 106u8, 237u8, 69u8, 254u8, 168u8, 74u8, 146u8, 41u8, 225u8, + 191u8, 103u8, 157u8, 3u8, 244u8, 28u8, 69u8, 59u8, 29u8, 132u8, 205u8, + 132u8, 144u8, 34u8, 29u8, 115u8, 233u8, 172u8, 223u8, 253u8, 48u8, + 46u8, ], ) } @@ -5327,10 +5260,9 @@ pub mod api { weight, }, [ - 199u8, 131u8, 110u8, 5u8, 128u8, 180u8, 133u8, 182u8, 89u8, 28u8, - 214u8, 40u8, 144u8, 69u8, 204u8, 170u8, 212u8, 118u8, 250u8, 100u8, - 249u8, 210u8, 1u8, 162u8, 81u8, 6u8, 99u8, 144u8, 23u8, 213u8, 137u8, - 241u8, + 100u8, 205u8, 90u8, 71u8, 35u8, 34u8, 130u8, 237u8, 12u8, 134u8, 46u8, + 49u8, 135u8, 233u8, 34u8, 40u8, 205u8, 107u8, 131u8, 78u8, 78u8, 174u8, + 28u8, 200u8, 237u8, 232u8, 199u8, 13u8, 202u8, 145u8, 246u8, 187u8, ], ) } @@ -5366,9 +5298,10 @@ pub mod api { "sudo_as", types::SudoAs { who, call: ::subxt_core::alloc::boxed::Box::new(call) }, [ - 132u8, 223u8, 191u8, 55u8, 96u8, 32u8, 254u8, 93u8, 188u8, 92u8, 105u8, - 120u8, 155u8, 117u8, 131u8, 67u8, 208u8, 118u8, 86u8, 103u8, 52u8, - 74u8, 52u8, 15u8, 229u8, 37u8, 55u8, 113u8, 240u8, 175u8, 187u8, 230u8, + 28u8, 13u8, 11u8, 144u8, 176u8, 47u8, 238u8, 196u8, 87u8, 81u8, 196u8, + 122u8, 233u8, 232u8, 165u8, 65u8, 120u8, 204u8, 149u8, 130u8, 118u8, + 105u8, 73u8, 101u8, 127u8, 10u8, 252u8, 173u8, 65u8, 58u8, 128u8, + 227u8, ], ) } @@ -5407,7 +5340,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A sudo call just took place."] @@ -5434,7 +5366,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The sudo key has been updated."] @@ -5462,7 +5393,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The key was permanently removed."] @@ -5482,7 +5412,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A [sudo_as](Pallet::sudo_as) call just took place."] @@ -5602,7 +5531,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Issue a new class of fungible assets from a public origin."] @@ -5654,7 +5582,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Issue a new class of fungible assets from a privileged origin."] @@ -5709,7 +5636,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Start the process of destroying a fungible asset class."] @@ -5746,7 +5672,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Destroy all accounts associated with a given asset."] @@ -5784,7 +5709,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit)."] @@ -5822,7 +5746,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Complete destroying asset and unreserve currency."] @@ -5858,7 +5781,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Mint assets of a particular class."] @@ -5904,7 +5826,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`."] @@ -5953,7 +5874,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Move some assets from the sender account to another."] @@ -6005,7 +5925,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Move some assets from the sender account to another, keeping the sender account alive."] @@ -6057,7 +5976,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Move some assets from one account to another."] @@ -6115,7 +6033,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`"] @@ -6158,7 +6075,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Allow unprivileged transfers to and from an account again."] @@ -6199,7 +6115,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Disallow further unprivileged transfers for the asset class."] @@ -6234,7 +6149,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Allow unprivileged transfers for the asset again."] @@ -6269,7 +6183,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Change the Owner of an asset."] @@ -6310,7 +6223,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Change the Issuer, Admin and Freezer of an asset."] @@ -6363,7 +6275,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the metadata for an asset."] @@ -6411,7 +6322,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Clear the metadata for an asset."] @@ -6448,7 +6358,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Force the metadata for an asset to some value."] @@ -6496,7 +6405,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Clear the metadata for an asset."] @@ -6533,7 +6441,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Alter the attributes of a given asset."] @@ -6608,7 +6515,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Approve an amount of asset for transfer by a delegated third-party account."] @@ -6662,7 +6568,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."] @@ -6706,7 +6611,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."] @@ -6755,7 +6659,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Transfer some asset balance from a previously delegated account to some third-party"] @@ -6812,7 +6715,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Create an asset account for non-provider assets."] @@ -6847,7 +6749,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Return the deposit (if any) of an asset account or a consumer reference (if any) of an"] @@ -6885,7 +6786,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Sets the minimum balance of an asset."] @@ -6925,7 +6825,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Create an asset account for `who`."] @@ -6966,7 +6865,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Return the deposit (if any) of a target asset account. Useful if you are the depositor."] @@ -7007,7 +6905,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Disallow further unprivileged transfers of an asset `id` to and from an account `who`."] @@ -8033,7 +7930,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some asset class was created."] @@ -8063,7 +7959,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some assets were issued."] @@ -8093,7 +7988,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some assets were transferred."] @@ -8125,7 +8019,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some assets were destroyed."] @@ -8155,7 +8048,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The management team changed."] @@ -8187,7 +8079,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The owner changed."] @@ -8215,7 +8106,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some account `who` was frozen."] @@ -8243,7 +8133,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some account `who` was thawed."] @@ -8271,7 +8160,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some asset `asset_id` was frozen."] @@ -8297,7 +8185,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some asset `asset_id` was thawed."] @@ -8323,7 +8210,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Accounts were destroyed for given asset."] @@ -8353,7 +8239,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Approvals were destroyed for given asset."] @@ -8383,7 +8268,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An asset class is in the process of being destroyed."] @@ -8409,7 +8293,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An asset class was destroyed."] @@ -8435,7 +8318,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some asset class was force-created."] @@ -8463,7 +8345,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "New metadata has been set for an asset."] @@ -8497,7 +8378,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Metadata has been cleared for an asset."] @@ -8523,7 +8403,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "(Additional) funds have been approved for transfer to a destination account."] @@ -8555,7 +8434,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An approval for account `delegate` was cancelled by `owner`."] @@ -8585,7 +8463,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An `amount` was transferred in its entirety from `owner` to `destination` by"] @@ -8620,7 +8497,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An asset has had its attributes changed by the `Force` origin."] @@ -8646,7 +8522,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The min_balance of an asset has been updated by the asset owner."] @@ -8674,7 +8549,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some account `who` was created with a deposit from `depositor`."] @@ -8704,7 +8578,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some account `who` was blocked."] @@ -8732,7 +8605,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some assets were deposited (e.g. for transaction fees)."] @@ -8762,7 +8634,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some assets were withdrawn from the account (e.g. for transaction fees)."] @@ -9251,13 +9122,13 @@ pub mod api { } } } - pub mod balances { + pub mod pool_assets { use super::root_mod; use super::runtime_types; #[doc = "The `Error` enum of this pallet."] - pub type Error = runtime_types::pallet_balances::pallet::Error; + pub type Error = runtime_types::pallet_assets::pallet::Error; #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_balances::pallet::Call; + pub type Call = runtime_types::pallet_assets::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -9275,32 +9146,45 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Transfer some liquid free balance to another account."] + #[doc = "Issue a new class of fungible assets from a public origin."] #[doc = ""] - #[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."] - #[doc = "If the sender's account is below the existential deposit as a result"] - #[doc = "of the transfer, the account will be reaped."] + #[doc = "This new asset class has no assets initially and its owner is the origin."] #[doc = ""] - #[doc = "The dispatch origin for this call must be `Signed` by the transactor."] - pub struct TransferAllowDeath { - pub dest: transfer_allow_death::Dest, + #[doc = "The origin must conform to the configured `CreateOrigin` and have sufficient funds free."] + #[doc = ""] + #[doc = "Funds of sender are reserved by `AssetDeposit`."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"] + #[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."] + #[doc = "- `admin`: The admin of this class of assets. The admin is the initial address of each"] + #[doc = "member of the asset class's admin team."] + #[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"] + #[doc = "have. If an account's balance is reduced below this, then it collapses to zero."] + #[doc = ""] + #[doc = "Emits `Created` event when successful."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub struct Create { #[codec(compact)] - pub value: transfer_allow_death::Value, + pub id: create::Id, + pub admin: create::Admin, + pub min_balance: create::MinBalance, } - pub mod transfer_allow_death { + pub mod create { use super::runtime_types; - pub type Dest = ::subxt_core::utils::MultiAddress< + pub type Id = ::core::primitive::u128; + pub type Admin = ::subxt_core::utils::MultiAddress< ::subxt_core::utils::AccountId32, ::core::primitive::u32, >; - pub type Value = ::core::primitive::u128; + pub type MinBalance = ::core::primitive::u128; } - impl ::subxt_core::blocks::StaticExtrinsic for TransferAllowDeath { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "transfer_allow_death"; + impl ::subxt_core::blocks::StaticExtrinsic for Create { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "create"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -9313,32 +9197,48 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"] - #[doc = "may be specified."] - pub struct ForceTransfer { - pub source: force_transfer::Source, - pub dest: force_transfer::Dest, + #[doc = "Issue a new class of fungible assets from a privileged origin."] + #[doc = ""] + #[doc = "This new asset class has no assets initially."] + #[doc = ""] + #[doc = "The origin must conform to `ForceOrigin`."] + #[doc = ""] + #[doc = "Unlike `create`, no funds are reserved."] + #[doc = ""] + #[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"] + #[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."] + #[doc = "- `owner`: The owner of this class of assets. The owner has full superuser permissions"] + #[doc = "over this asset, but may later change and configure the permissions using"] + #[doc = "`transfer_ownership` and `set_team`."] + #[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"] + #[doc = "have. If an account's balance is reduced below this, then it collapses to zero."] + #[doc = ""] + #[doc = "Emits `ForceCreated` event when successful."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub struct ForceCreate { #[codec(compact)] - pub value: force_transfer::Value, + pub id: force_create::Id, + pub owner: force_create::Owner, + pub is_sufficient: force_create::IsSufficient, + #[codec(compact)] + pub min_balance: force_create::MinBalance, } - pub mod force_transfer { + pub mod force_create { use super::runtime_types; - pub type Source = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Dest = ::subxt_core::utils::MultiAddress< + pub type Id = ::core::primitive::u128; + pub type Owner = ::subxt_core::utils::MultiAddress< ::subxt_core::utils::AccountId32, ::core::primitive::u32, >; - pub type Value = ::core::primitive::u128; + pub type IsSufficient = ::core::primitive::bool; + pub type MinBalance = ::core::primitive::u128; } - impl ::subxt_core::blocks::StaticExtrinsic for ForceTransfer { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "force_transfer"; + impl ::subxt_core::blocks::StaticExtrinsic for ForceCreate { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "force_create"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -9351,31 +9251,30 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"] - #[doc = "kill the origin account."] + #[doc = "Start the process of destroying a fungible asset class."] #[doc = ""] - #[doc = "99% of the time you want [`transfer_allow_death`] instead."] + #[doc = "`start_destroy` is the first in a series of extrinsics that should be called, to allow"] + #[doc = "destruction of an asset class."] #[doc = ""] - #[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"] - pub struct TransferKeepAlive { - pub dest: transfer_keep_alive::Dest, + #[doc = "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] + #[doc = " asset."] + #[doc = ""] + #[doc = "The asset class must be frozen before calling `start_destroy`."] + pub struct StartDestroy { #[codec(compact)] - pub value: transfer_keep_alive::Value, + pub id: start_destroy::Id, } - pub mod transfer_keep_alive { + pub mod start_destroy { use super::runtime_types; - pub type Dest = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Value = ::core::primitive::u128; + pub type Id = ::core::primitive::u128; } - impl ::subxt_core::blocks::StaticExtrinsic for TransferKeepAlive { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "transfer_keep_alive"; + impl ::subxt_core::blocks::StaticExtrinsic for StartDestroy { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "start_destroy"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -9388,39 +9287,148 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Transfer the entire transferable balance from the caller account."] + #[doc = "Destroy all accounts associated with a given asset."] #[doc = ""] - #[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"] - #[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"] - #[doc = "transferred by this function. To ensure that this function results in a killed account,"] - #[doc = "you might need to prepare the account by removing any reference counters, storage"] - #[doc = "deposits, etc..."] + #[doc = "`destroy_accounts` should only be called after `start_destroy` has been called, and the"] + #[doc = "asset is in a `Destroying` state."] #[doc = ""] - #[doc = "The dispatch origin of this call must be Signed."] + #[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"] + #[doc = "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time."] #[doc = ""] - #[doc = "- `dest`: The recipient of the transfer."] - #[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"] - #[doc = " of the funds the account has, causing the sender account to be killed (false), or"] - #[doc = " transfer everything except at least the existential deposit, which will guarantee to"] - #[doc = " keep the sender account alive (true)."] - pub struct TransferAll { - pub dest: transfer_all::Dest, - pub keep_alive: transfer_all::KeepAlive, + #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] + #[doc = " asset."] + #[doc = ""] + #[doc = "Each call emits the `Event::DestroyedAccounts` event."] + pub struct DestroyAccounts { + #[codec(compact)] + pub id: destroy_accounts::Id, } - pub mod transfer_all { + pub mod destroy_accounts { use super::runtime_types; - pub type Dest = ::subxt_core::utils::MultiAddress< + pub type Id = ::core::primitive::u128; + } + impl ::subxt_core::blocks::StaticExtrinsic for DestroyAccounts { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "destroy_accounts"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit)."] + #[doc = ""] + #[doc = "`destroy_approvals` should only be called after `start_destroy` has been called, and the"] + #[doc = "asset is in a `Destroying` state."] + #[doc = ""] + #[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"] + #[doc = "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] + #[doc = " asset."] + #[doc = ""] + #[doc = "Each call emits the `Event::DestroyedApprovals` event."] + pub struct DestroyApprovals { + #[codec(compact)] + pub id: destroy_approvals::Id, + } + pub mod destroy_approvals { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + } + impl ::subxt_core::blocks::StaticExtrinsic for DestroyApprovals { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "destroy_approvals"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Complete destroying asset and unreserve currency."] + #[doc = ""] + #[doc = "`finish_destroy` should only be called after `start_destroy` has been called, and the"] + #[doc = "asset is in a `Destroying` state. All accounts or approvals should be destroyed before"] + #[doc = "hand."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] + #[doc = " asset."] + #[doc = ""] + #[doc = "Each successful call emits the `Event::Destroyed` event."] + pub struct FinishDestroy { + #[codec(compact)] + pub id: finish_destroy::Id, + } + pub mod finish_destroy { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + } + impl ::subxt_core::blocks::StaticExtrinsic for FinishDestroy { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "finish_destroy"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Mint assets of a particular class."] + #[doc = ""] + #[doc = "The origin must be Signed and the sender must be the Issuer of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to have some amount minted."] + #[doc = "- `beneficiary`: The account to be credited with the minted assets."] + #[doc = "- `amount`: The amount of the asset to be minted."] + #[doc = ""] + #[doc = "Emits `Issued` event when successful."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + #[doc = "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`."] + pub struct Mint { + #[codec(compact)] + pub id: mint::Id, + pub beneficiary: mint::Beneficiary, + #[codec(compact)] + pub amount: mint::Amount, + } + pub mod mint { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + pub type Beneficiary = ::subxt_core::utils::MultiAddress< ::subxt_core::utils::AccountId32, ::core::primitive::u32, >; - pub type KeepAlive = ::core::primitive::bool; + pub type Amount = ::core::primitive::u128; } - impl ::subxt_core::blocks::StaticExtrinsic for TransferAll { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "transfer_all"; + impl ::subxt_core::blocks::StaticExtrinsic for Mint { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "mint"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -9433,27 +9441,42 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Unreserve some balance from a user by force."] + #[doc = "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`."] #[doc = ""] - #[doc = "Can only be called by ROOT."] - pub struct ForceUnreserve { - pub who: force_unreserve::Who, - pub amount: force_unreserve::Amount, + #[doc = "Origin must be Signed and the sender should be the Manager of the asset `id`."] + #[doc = ""] + #[doc = "Bails with `NoAccount` if the `who` is already dead."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to have some amount burned."] + #[doc = "- `who`: The account to be debited from."] + #[doc = "- `amount`: The maximum amount by which `who`'s balance should be reduced."] + #[doc = ""] + #[doc = "Emits `Burned` with the actual amount burned. If this takes the balance to below the"] + #[doc = "minimum for the asset, then the amount burned is increased to take it to zero."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + #[doc = "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`."] + pub struct Burn { + #[codec(compact)] + pub id: burn::Id, + pub who: burn::Who, + #[codec(compact)] + pub amount: burn::Amount, } - pub mod force_unreserve { + pub mod burn { use super::runtime_types; + pub type Id = ::core::primitive::u128; pub type Who = ::subxt_core::utils::MultiAddress< ::subxt_core::utils::AccountId32, ::core::primitive::u32, >; pub type Amount = ::core::primitive::u128; } - impl ::subxt_core::blocks::StaticExtrinsic for ForceUnreserve { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "force_unreserve"; + impl ::subxt_core::blocks::StaticExtrinsic for Burn { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "burn"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -9466,27 +9489,45 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Upgrade a specified account."] + #[doc = "Move some assets from the sender account to another."] #[doc = ""] - #[doc = "- `origin`: Must be `Signed`."] - #[doc = "- `who`: The account to be upgraded."] + #[doc = "Origin must be Signed."] #[doc = ""] - #[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"] - #[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"] - #[doc = "possibility of churn)."] - pub struct UpgradeAccounts { - pub who: upgrade_accounts::Who, + #[doc = "- `id`: The identifier of the asset to have some amount transferred."] + #[doc = "- `target`: The account to be credited."] + #[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"] + #[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"] + #[doc = "the case that the transfer would otherwise take the sender balance above zero but below"] + #[doc = "the minimum balance. Must be greater than zero."] + #[doc = ""] + #[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"] + #[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"] + #[doc = "to zero."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + #[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"] + #[doc = "`target`."] + pub struct Transfer { + #[codec(compact)] + pub id: transfer::Id, + pub target: transfer::Target, + #[codec(compact)] + pub amount: transfer::Amount, } - pub mod upgrade_accounts { + pub mod transfer { use super::runtime_types; - pub type Who = ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; + pub type Id = ::core::primitive::u128; + pub type Target = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Amount = ::core::primitive::u128; } - impl ::subxt_core::blocks::StaticExtrinsic for UpgradeAccounts { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "upgrade_accounts"; + impl ::subxt_core::blocks::StaticExtrinsic for Transfer { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "transfer"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -9499,28 +9540,45 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Set the regular balance of a given account."] + #[doc = "Move some assets from the sender account to another, keeping the sender account alive."] #[doc = ""] - #[doc = "The dispatch origin for this call is `root`."] - pub struct ForceSetBalance { - pub who: force_set_balance::Who, + #[doc = "Origin must be Signed."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to have some amount transferred."] + #[doc = "- `target`: The account to be credited."] + #[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"] + #[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"] + #[doc = "the case that the transfer would otherwise take the sender balance above zero but below"] + #[doc = "the minimum balance. Must be greater than zero."] + #[doc = ""] + #[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"] + #[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"] + #[doc = "to zero."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + #[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"] + #[doc = "`target`."] + pub struct TransferKeepAlive { #[codec(compact)] - pub new_free: force_set_balance::NewFree, + pub id: transfer_keep_alive::Id, + pub target: transfer_keep_alive::Target, + #[codec(compact)] + pub amount: transfer_keep_alive::Amount, } - pub mod force_set_balance { + pub mod transfer_keep_alive { use super::runtime_types; - pub type Who = ::subxt_core::utils::MultiAddress< + pub type Id = ::core::primitive::u128; + pub type Target = ::subxt_core::utils::MultiAddress< ::subxt_core::utils::AccountId32, ::core::primitive::u32, >; - pub type NewFree = ::core::primitive::u128; + pub type Amount = ::core::primitive::u128; } - impl ::subxt_core::blocks::StaticExtrinsic for ForceSetBalance { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "force_set_balance"; + impl ::subxt_core::blocks::StaticExtrinsic for TransferKeepAlive { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "transfer_keep_alive"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -9533,27 +9591,51 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Adjust the total issuance in a saturating way."] + #[doc = "Move some assets from one account to another."] #[doc = ""] - #[doc = "Can only be called by root and always needs a positive `delta`."] + #[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."] #[doc = ""] - #[doc = "# Example"] - pub struct ForceAdjustTotalIssuance { - pub direction: force_adjust_total_issuance::Direction, + #[doc = "- `id`: The identifier of the asset to have some amount transferred."] + #[doc = "- `source`: The account to be debited."] + #[doc = "- `dest`: The account to be credited."] + #[doc = "- `amount`: The amount by which the `source`'s balance of assets should be reduced and"] + #[doc = "`dest`'s balance increased. The amount actually transferred may be slightly greater in"] + #[doc = "the case that the transfer would otherwise take the `source` balance above zero but"] + #[doc = "below the minimum balance. Must be greater than zero."] + #[doc = ""] + #[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"] + #[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"] + #[doc = "to zero."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + #[doc = "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of"] + #[doc = "`dest`."] + pub struct ForceTransfer { #[codec(compact)] - pub delta: force_adjust_total_issuance::Delta, + pub id: force_transfer::Id, + pub source: force_transfer::Source, + pub dest: force_transfer::Dest, + #[codec(compact)] + pub amount: force_transfer::Amount, } - pub mod force_adjust_total_issuance { + pub mod force_transfer { use super::runtime_types; - pub type Direction = runtime_types::pallet_balances::types::AdjustmentDirection; - pub type Delta = ::core::primitive::u128; + pub type Id = ::core::primitive::u128; + pub type Source = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Dest = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Amount = ::core::primitive::u128; } - impl ::subxt_core::blocks::StaticExtrinsic for ForceAdjustTotalIssuance { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "force_adjust_total_issuance"; + impl ::subxt_core::blocks::StaticExtrinsic for ForceTransfer { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "force_transfer"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -9566,47 +9648,3442 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Burn the specified liquid free balance from the origin account."] + #[doc = "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`"] + #[doc = "must already exist as an entry in `Account`s of the asset. If you want to freeze an"] + #[doc = "account that does not have an entry, use `touch_other` first."] #[doc = ""] - #[doc = "If the origin's account ends up below the existential deposit as a result"] - #[doc = "of the burn and `keep_alive` is false, the account will be reaped."] + #[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."] #[doc = ""] - #[doc = "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,"] - #[doc = "this `burn` operation will reduce total issuance by the amount _burned_."] - pub struct Burn { + #[doc = "- `id`: The identifier of the asset to be frozen."] + #[doc = "- `who`: The account to be frozen."] + #[doc = ""] + #[doc = "Emits `Frozen`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub struct Freeze { #[codec(compact)] - pub value: burn::Value, - pub keep_alive: burn::KeepAlive, + pub id: freeze::Id, + pub who: freeze::Who, } - pub mod burn { + pub mod freeze { use super::runtime_types; - pub type Value = ::core::primitive::u128; - pub type KeepAlive = ::core::primitive::bool; + pub type Id = ::core::primitive::u128; + pub type Who = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; } - impl ::subxt_core::blocks::StaticExtrinsic for Burn { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "burn"; + impl ::subxt_core::blocks::StaticExtrinsic for Freeze { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "freeze"; } - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "Transfer some liquid free balance to another account."] + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Allow unprivileged transfers to and from an account again."] #[doc = ""] - #[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."] - #[doc = "If the sender's account is below the existential deposit as a result"] - #[doc = "of the transfer, the account will be reaped."] + #[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."] #[doc = ""] - #[doc = "The dispatch origin for this call must be `Signed` by the transactor."] - pub fn transfer_allow_death( - &self, - dest: types::transfer_allow_death::Dest, - value: types::transfer_allow_death::Value, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Balances", + #[doc = "- `id`: The identifier of the asset to be frozen."] + #[doc = "- `who`: The account to be unfrozen."] + #[doc = ""] + #[doc = "Emits `Thawed`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub struct Thaw { + #[codec(compact)] + pub id: thaw::Id, + pub who: thaw::Who, + } + pub mod thaw { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + pub type Who = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + } + impl ::subxt_core::blocks::StaticExtrinsic for Thaw { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "thaw"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Disallow further unprivileged transfers for the asset class."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be frozen."] + #[doc = ""] + #[doc = "Emits `Frozen`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub struct FreezeAsset { + #[codec(compact)] + pub id: freeze_asset::Id, + } + pub mod freeze_asset { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + } + impl ::subxt_core::blocks::StaticExtrinsic for FreezeAsset { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "freeze_asset"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Allow unprivileged transfers for the asset again."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be thawed."] + #[doc = ""] + #[doc = "Emits `Thawed`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub struct ThawAsset { + #[codec(compact)] + pub id: thaw_asset::Id, + } + pub mod thaw_asset { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + } + impl ::subxt_core::blocks::StaticExtrinsic for ThawAsset { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "thaw_asset"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Change the Owner of an asset."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `owner`: The new Owner of this asset."] + #[doc = ""] + #[doc = "Emits `OwnerChanged`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub struct TransferOwnership { + #[codec(compact)] + pub id: transfer_ownership::Id, + pub owner: transfer_ownership::Owner, + } + pub mod transfer_ownership { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + pub type Owner = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + } + impl ::subxt_core::blocks::StaticExtrinsic for TransferOwnership { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "transfer_ownership"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Change the Issuer, Admin and Freezer of an asset."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be frozen."] + #[doc = "- `issuer`: The new Issuer of this asset."] + #[doc = "- `admin`: The new Admin of this asset."] + #[doc = "- `freezer`: The new Freezer of this asset."] + #[doc = ""] + #[doc = "Emits `TeamChanged`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub struct SetTeam { + #[codec(compact)] + pub id: set_team::Id, + pub issuer: set_team::Issuer, + pub admin: set_team::Admin, + pub freezer: set_team::Freezer, + } + pub mod set_team { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + pub type Issuer = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Admin = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Freezer = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + } + impl ::subxt_core::blocks::StaticExtrinsic for SetTeam { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "set_team"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Set the metadata for an asset."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] + #[doc = ""] + #[doc = "Funds of sender are reserved according to the formula:"] + #[doc = "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into"] + #[doc = "account any already reserved funds."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to update."] + #[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."] + #[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."] + #[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."] + #[doc = ""] + #[doc = "Emits `MetadataSet`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub struct SetMetadata { + #[codec(compact)] + pub id: set_metadata::Id, + pub name: set_metadata::Name, + pub symbol: set_metadata::Symbol, + pub decimals: set_metadata::Decimals, + } + pub mod set_metadata { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + pub type Name = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; + pub type Symbol = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; + pub type Decimals = ::core::primitive::u8; + } + impl ::subxt_core::blocks::StaticExtrinsic for SetMetadata { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "set_metadata"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Clear the metadata for an asset."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] + #[doc = ""] + #[doc = "Any deposit is freed for the asset owner."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to clear."] + #[doc = ""] + #[doc = "Emits `MetadataCleared`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub struct ClearMetadata { + #[codec(compact)] + pub id: clear_metadata::Id, + } + pub mod clear_metadata { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + } + impl ::subxt_core::blocks::StaticExtrinsic for ClearMetadata { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "clear_metadata"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Force the metadata for an asset to some value."] + #[doc = ""] + #[doc = "Origin must be ForceOrigin."] + #[doc = ""] + #[doc = "Any deposit is left alone."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to update."] + #[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."] + #[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."] + #[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."] + #[doc = ""] + #[doc = "Emits `MetadataSet`."] + #[doc = ""] + #[doc = "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively."] + pub struct ForceSetMetadata { + #[codec(compact)] + pub id: force_set_metadata::Id, + pub name: force_set_metadata::Name, + pub symbol: force_set_metadata::Symbol, + pub decimals: force_set_metadata::Decimals, + pub is_frozen: force_set_metadata::IsFrozen, + } + pub mod force_set_metadata { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + pub type Name = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; + pub type Symbol = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; + pub type Decimals = ::core::primitive::u8; + pub type IsFrozen = ::core::primitive::bool; + } + impl ::subxt_core::blocks::StaticExtrinsic for ForceSetMetadata { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "force_set_metadata"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Clear the metadata for an asset."] + #[doc = ""] + #[doc = "Origin must be ForceOrigin."] + #[doc = ""] + #[doc = "Any deposit is returned."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to clear."] + #[doc = ""] + #[doc = "Emits `MetadataCleared`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub struct ForceClearMetadata { + #[codec(compact)] + pub id: force_clear_metadata::Id, + } + pub mod force_clear_metadata { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + } + impl ::subxt_core::blocks::StaticExtrinsic for ForceClearMetadata { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "force_clear_metadata"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Alter the attributes of a given asset."] + #[doc = ""] + #[doc = "Origin must be `ForceOrigin`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `owner`: The new Owner of this asset."] + #[doc = "- `issuer`: The new Issuer of this asset."] + #[doc = "- `admin`: The new Admin of this asset."] + #[doc = "- `freezer`: The new Freezer of this asset."] + #[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"] + #[doc = "have. If an account's balance is reduced below this, then it collapses to zero."] + #[doc = "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient"] + #[doc = "value to account for the state bloat associated with its balance storage. If set to"] + #[doc = "`true`, then non-zero balances may be stored without a `consumer` reference (and thus"] + #[doc = "an ED in the Balances pallet or whatever else is used to control user-account state"] + #[doc = "growth)."] + #[doc = "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin"] + #[doc = "instructions."] + #[doc = ""] + #[doc = "Emits `AssetStatusChanged` with the identity of the asset."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub struct ForceAssetStatus { + #[codec(compact)] + pub id: force_asset_status::Id, + pub owner: force_asset_status::Owner, + pub issuer: force_asset_status::Issuer, + pub admin: force_asset_status::Admin, + pub freezer: force_asset_status::Freezer, + #[codec(compact)] + pub min_balance: force_asset_status::MinBalance, + pub is_sufficient: force_asset_status::IsSufficient, + pub is_frozen: force_asset_status::IsFrozen, + } + pub mod force_asset_status { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + pub type Owner = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Issuer = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Admin = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Freezer = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type MinBalance = ::core::primitive::u128; + pub type IsSufficient = ::core::primitive::bool; + pub type IsFrozen = ::core::primitive::bool; + } + impl ::subxt_core::blocks::StaticExtrinsic for ForceAssetStatus { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "force_asset_status"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Approve an amount of asset for transfer by a delegated third-party account."] + #[doc = ""] + #[doc = "Origin must be Signed."] + #[doc = ""] + #[doc = "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account"] + #[doc = "for the purpose of holding the approval. If some non-zero amount of assets is already"] + #[doc = "approved from signing account to `delegate`, then it is topped up or unreserved to"] + #[doc = "meet the right value."] + #[doc = ""] + #[doc = "NOTE: The signing account does not need to own `amount` of assets at the point of"] + #[doc = "making this call."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `delegate`: The account to delegate permission to transfer asset."] + #[doc = "- `amount`: The amount of asset that may be transferred by `delegate`. If there is"] + #[doc = "already an approval in place, then this acts additively."] + #[doc = ""] + #[doc = "Emits `ApprovedTransfer` on success."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub struct ApproveTransfer { + #[codec(compact)] + pub id: approve_transfer::Id, + pub delegate: approve_transfer::Delegate, + #[codec(compact)] + pub amount: approve_transfer::Amount, + } + pub mod approve_transfer { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + pub type Delegate = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Amount = ::core::primitive::u128; + } + impl ::subxt_core::blocks::StaticExtrinsic for ApproveTransfer { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "approve_transfer"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."] + #[doc = ""] + #[doc = "Origin must be Signed and there must be an approval in place between signer and"] + #[doc = "`delegate`."] + #[doc = ""] + #[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `delegate`: The account delegated permission to transfer asset."] + #[doc = ""] + #[doc = "Emits `ApprovalCancelled` on success."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub struct CancelApproval { + #[codec(compact)] + pub id: cancel_approval::Id, + pub delegate: cancel_approval::Delegate, + } + pub mod cancel_approval { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + pub type Delegate = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + } + impl ::subxt_core::blocks::StaticExtrinsic for CancelApproval { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "cancel_approval"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."] + #[doc = ""] + #[doc = "Origin must be either ForceOrigin or Signed origin with the signer being the Admin"] + #[doc = "account of the asset `id`."] + #[doc = ""] + #[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `delegate`: The account delegated permission to transfer asset."] + #[doc = ""] + #[doc = "Emits `ApprovalCancelled` on success."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub struct ForceCancelApproval { + #[codec(compact)] + pub id: force_cancel_approval::Id, + pub owner: force_cancel_approval::Owner, + pub delegate: force_cancel_approval::Delegate, + } + pub mod force_cancel_approval { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + pub type Owner = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Delegate = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + } + impl ::subxt_core::blocks::StaticExtrinsic for ForceCancelApproval { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "force_cancel_approval"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Transfer some asset balance from a previously delegated account to some third-party"] + #[doc = "account."] + #[doc = ""] + #[doc = "Origin must be Signed and there must be an approval in place by the `owner` to the"] + #[doc = "signer."] + #[doc = ""] + #[doc = "If the entire amount approved for transfer is transferred, then any deposit previously"] + #[doc = "reserved by `approve_transfer` is unreserved."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `owner`: The account which previously approved for a transfer of at least `amount` and"] + #[doc = "from which the asset balance will be withdrawn."] + #[doc = "- `destination`: The account to which the asset balance of `amount` will be transferred."] + #[doc = "- `amount`: The amount of assets to transfer."] + #[doc = ""] + #[doc = "Emits `TransferredApproved` on success."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub struct TransferApproved { + #[codec(compact)] + pub id: transfer_approved::Id, + pub owner: transfer_approved::Owner, + pub destination: transfer_approved::Destination, + #[codec(compact)] + pub amount: transfer_approved::Amount, + } + pub mod transfer_approved { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + pub type Owner = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Destination = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Amount = ::core::primitive::u128; + } + impl ::subxt_core::blocks::StaticExtrinsic for TransferApproved { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "transfer_approved"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Create an asset account for non-provider assets."] + #[doc = ""] + #[doc = "A deposit will be taken from the signer account."] + #[doc = ""] + #[doc = "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit"] + #[doc = " to be taken."] + #[doc = "- `id`: The identifier of the asset for the account to be created."] + #[doc = ""] + #[doc = "Emits `Touched` event when successful."] + pub struct Touch { + #[codec(compact)] + pub id: touch::Id, + } + pub mod touch { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + } + impl ::subxt_core::blocks::StaticExtrinsic for Touch { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "touch"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Return the deposit (if any) of an asset account or a consumer reference (if any) of an"] + #[doc = "account."] + #[doc = ""] + #[doc = "The origin must be Signed."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset for which the caller would like the deposit"] + #[doc = " refunded."] + #[doc = "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund."] + #[doc = ""] + #[doc = "Emits `Refunded` event when successful."] + pub struct Refund { + #[codec(compact)] + pub id: refund::Id, + pub allow_burn: refund::AllowBurn, + } + pub mod refund { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + pub type AllowBurn = ::core::primitive::bool; + } + impl ::subxt_core::blocks::StaticExtrinsic for Refund { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "refund"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Sets the minimum balance of an asset."] + #[doc = ""] + #[doc = "Only works if there aren't any accounts that are holding the asset or if"] + #[doc = "the new value of `min_balance` is less than the old one."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender has to be the Owner of the"] + #[doc = "asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `min_balance`: The new value of `min_balance`."] + #[doc = ""] + #[doc = "Emits `AssetMinBalanceChanged` event when successful."] + pub struct SetMinBalance { + #[codec(compact)] + pub id: set_min_balance::Id, + pub min_balance: set_min_balance::MinBalance, + } + pub mod set_min_balance { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + pub type MinBalance = ::core::primitive::u128; + } + impl ::subxt_core::blocks::StaticExtrinsic for SetMinBalance { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "set_min_balance"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Create an asset account for `who`."] + #[doc = ""] + #[doc = "A deposit will be taken from the signer account."] + #[doc = ""] + #[doc = "- `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account"] + #[doc = " must have sufficient funds for a deposit to be taken."] + #[doc = "- `id`: The identifier of the asset for the account to be created."] + #[doc = "- `who`: The account to be created."] + #[doc = ""] + #[doc = "Emits `Touched` event when successful."] + pub struct TouchOther { + #[codec(compact)] + pub id: touch_other::Id, + pub who: touch_other::Who, + } + pub mod touch_other { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + pub type Who = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + } + impl ::subxt_core::blocks::StaticExtrinsic for TouchOther { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "touch_other"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Return the deposit (if any) of a target asset account. Useful if you are the depositor."] + #[doc = ""] + #[doc = "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In"] + #[doc = "order to burn a non-zero balance of the asset, the caller must be the account and should"] + #[doc = "use `refund`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset for the account holding a deposit."] + #[doc = "- `who`: The account to refund."] + #[doc = ""] + #[doc = "Emits `Refunded` event when successful."] + pub struct RefundOther { + #[codec(compact)] + pub id: refund_other::Id, + pub who: refund_other::Who, + } + pub mod refund_other { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + pub type Who = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + } + impl ::subxt_core::blocks::StaticExtrinsic for RefundOther { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "refund_other"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Disallow further unprivileged transfers of an asset `id` to and from an account `who`."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the account's asset."] + #[doc = "- `who`: The account to be unblocked."] + #[doc = ""] + #[doc = "Emits `Blocked`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub struct Block { + #[codec(compact)] + pub id: block::Id, + pub who: block::Who, + } + pub mod block { + use super::runtime_types; + pub type Id = ::core::primitive::u128; + pub type Who = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + } + impl ::subxt_core::blocks::StaticExtrinsic for Block { + const PALLET: &'static str = "PoolAssets"; + const CALL: &'static str = "block"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Issue a new class of fungible assets from a public origin."] + #[doc = ""] + #[doc = "This new asset class has no assets initially and its owner is the origin."] + #[doc = ""] + #[doc = "The origin must conform to the configured `CreateOrigin` and have sufficient funds free."] + #[doc = ""] + #[doc = "Funds of sender are reserved by `AssetDeposit`."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"] + #[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."] + #[doc = "- `admin`: The admin of this class of assets. The admin is the initial address of each"] + #[doc = "member of the asset class's admin team."] + #[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"] + #[doc = "have. If an account's balance is reduced below this, then it collapses to zero."] + #[doc = ""] + #[doc = "Emits `Created` event when successful."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub fn create( + &self, + id: types::create::Id, + admin: types::create::Admin, + min_balance: types::create::MinBalance, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "create", + types::Create { id, admin, min_balance }, + [ + 208u8, 49u8, 18u8, 129u8, 207u8, 238u8, 192u8, 47u8, 139u8, 86u8, 78u8, + 41u8, 244u8, 56u8, 244u8, 63u8, 191u8, 157u8, 97u8, 199u8, 89u8, 243u8, + 146u8, 188u8, 103u8, 20u8, 244u8, 207u8, 177u8, 114u8, 180u8, 186u8, + ], + ) + } + #[doc = "Issue a new class of fungible assets from a privileged origin."] + #[doc = ""] + #[doc = "This new asset class has no assets initially."] + #[doc = ""] + #[doc = "The origin must conform to `ForceOrigin`."] + #[doc = ""] + #[doc = "Unlike `create`, no funds are reserved."] + #[doc = ""] + #[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"] + #[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."] + #[doc = "- `owner`: The owner of this class of assets. The owner has full superuser permissions"] + #[doc = "over this asset, but may later change and configure the permissions using"] + #[doc = "`transfer_ownership` and `set_team`."] + #[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"] + #[doc = "have. If an account's balance is reduced below this, then it collapses to zero."] + #[doc = ""] + #[doc = "Emits `ForceCreated` event when successful."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub fn force_create( + &self, + id: types::force_create::Id, + owner: types::force_create::Owner, + is_sufficient: types::force_create::IsSufficient, + min_balance: types::force_create::MinBalance, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "force_create", + types::ForceCreate { id, owner, is_sufficient, min_balance }, + [ + 166u8, 39u8, 43u8, 6u8, 142u8, 204u8, 19u8, 177u8, 213u8, 77u8, 153u8, + 14u8, 160u8, 23u8, 77u8, 79u8, 30u8, 126u8, 107u8, 92u8, 216u8, 244u8, + 195u8, 178u8, 8u8, 247u8, 63u8, 116u8, 205u8, 189u8, 148u8, 27u8, + ], + ) + } + #[doc = "Start the process of destroying a fungible asset class."] + #[doc = ""] + #[doc = "`start_destroy` is the first in a series of extrinsics that should be called, to allow"] + #[doc = "destruction of an asset class."] + #[doc = ""] + #[doc = "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] + #[doc = " asset."] + #[doc = ""] + #[doc = "The asset class must be frozen before calling `start_destroy`."] + pub fn start_destroy( + &self, + id: types::start_destroy::Id, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "start_destroy", + types::StartDestroy { id }, + [ + 36u8, 72u8, 6u8, 145u8, 192u8, 32u8, 10u8, 242u8, 40u8, 2u8, 163u8, + 102u8, 214u8, 89u8, 25u8, 174u8, 20u8, 151u8, 224u8, 238u8, 117u8, + 94u8, 174u8, 58u8, 77u8, 73u8, 19u8, 15u8, 232u8, 60u8, 150u8, 1u8, + ], + ) + } + #[doc = "Destroy all accounts associated with a given asset."] + #[doc = ""] + #[doc = "`destroy_accounts` should only be called after `start_destroy` has been called, and the"] + #[doc = "asset is in a `Destroying` state."] + #[doc = ""] + #[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"] + #[doc = "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] + #[doc = " asset."] + #[doc = ""] + #[doc = "Each call emits the `Event::DestroyedAccounts` event."] + pub fn destroy_accounts( + &self, + id: types::destroy_accounts::Id, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "destroy_accounts", + types::DestroyAccounts { id }, + [ + 195u8, 7u8, 198u8, 206u8, 127u8, 210u8, 166u8, 3u8, 39u8, 199u8, 24u8, + 142u8, 239u8, 117u8, 217u8, 110u8, 125u8, 75u8, 89u8, 240u8, 180u8, + 96u8, 72u8, 136u8, 36u8, 10u8, 34u8, 196u8, 112u8, 131u8, 238u8, 121u8, + ], + ) + } + #[doc = "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit)."] + #[doc = ""] + #[doc = "`destroy_approvals` should only be called after `start_destroy` has been called, and the"] + #[doc = "asset is in a `Destroying` state."] + #[doc = ""] + #[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"] + #[doc = "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] + #[doc = " asset."] + #[doc = ""] + #[doc = "Each call emits the `Event::DestroyedApprovals` event."] + pub fn destroy_approvals( + &self, + id: types::destroy_approvals::Id, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "destroy_approvals", + types::DestroyApprovals { id }, + [ + 215u8, 174u8, 117u8, 99u8, 201u8, 118u8, 171u8, 136u8, 37u8, 121u8, + 209u8, 53u8, 154u8, 45u8, 28u8, 201u8, 186u8, 120u8, 4u8, 63u8, 142u8, + 222u8, 92u8, 245u8, 149u8, 219u8, 91u8, 186u8, 224u8, 173u8, 186u8, + 236u8, + ], + ) + } + #[doc = "Complete destroying asset and unreserve currency."] + #[doc = ""] + #[doc = "`finish_destroy` should only be called after `start_destroy` has been called, and the"] + #[doc = "asset is in a `Destroying` state. All accounts or approvals should be destroyed before"] + #[doc = "hand."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] + #[doc = " asset."] + #[doc = ""] + #[doc = "Each successful call emits the `Event::Destroyed` event."] + pub fn finish_destroy( + &self, + id: types::finish_destroy::Id, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "finish_destroy", + types::FinishDestroy { id }, + [ + 235u8, 198u8, 160u8, 5u8, 223u8, 83u8, 17u8, 160u8, 183u8, 81u8, 61u8, + 171u8, 23u8, 98u8, 39u8, 234u8, 65u8, 197u8, 193u8, 39u8, 175u8, 142u8, + 138u8, 169u8, 148u8, 136u8, 152u8, 75u8, 21u8, 33u8, 159u8, 221u8, + ], + ) + } + #[doc = "Mint assets of a particular class."] + #[doc = ""] + #[doc = "The origin must be Signed and the sender must be the Issuer of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to have some amount minted."] + #[doc = "- `beneficiary`: The account to be credited with the minted assets."] + #[doc = "- `amount`: The amount of the asset to be minted."] + #[doc = ""] + #[doc = "Emits `Issued` event when successful."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + #[doc = "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`."] + pub fn mint( + &self, + id: types::mint::Id, + beneficiary: types::mint::Beneficiary, + amount: types::mint::Amount, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "mint", + types::Mint { id, beneficiary, amount }, + [ + 46u8, 234u8, 142u8, 134u8, 167u8, 112u8, 159u8, 124u8, 4u8, 75u8, + 219u8, 78u8, 18u8, 244u8, 150u8, 105u8, 185u8, 83u8, 222u8, 119u8, + 16u8, 82u8, 138u8, 202u8, 252u8, 48u8, 72u8, 251u8, 10u8, 66u8, 133u8, + 52u8, + ], + ) + } + #[doc = "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Manager of the asset `id`."] + #[doc = ""] + #[doc = "Bails with `NoAccount` if the `who` is already dead."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to have some amount burned."] + #[doc = "- `who`: The account to be debited from."] + #[doc = "- `amount`: The maximum amount by which `who`'s balance should be reduced."] + #[doc = ""] + #[doc = "Emits `Burned` with the actual amount burned. If this takes the balance to below the"] + #[doc = "minimum for the asset, then the amount burned is increased to take it to zero."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + #[doc = "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`."] + pub fn burn( + &self, + id: types::burn::Id, + who: types::burn::Who, + amount: types::burn::Amount, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "burn", + types::Burn { id, who, amount }, + [ + 129u8, 19u8, 207u8, 124u8, 135u8, 51u8, 197u8, 213u8, 122u8, 16u8, + 116u8, 137u8, 156u8, 96u8, 190u8, 147u8, 124u8, 37u8, 211u8, 68u8, + 219u8, 251u8, 119u8, 131u8, 5u8, 232u8, 214u8, 76u8, 112u8, 74u8, 64u8, + 185u8, + ], + ) + } + #[doc = "Move some assets from the sender account to another."] + #[doc = ""] + #[doc = "Origin must be Signed."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to have some amount transferred."] + #[doc = "- `target`: The account to be credited."] + #[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"] + #[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"] + #[doc = "the case that the transfer would otherwise take the sender balance above zero but below"] + #[doc = "the minimum balance. Must be greater than zero."] + #[doc = ""] + #[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"] + #[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"] + #[doc = "to zero."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + #[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"] + #[doc = "`target`."] + pub fn transfer( + &self, + id: types::transfer::Id, + target: types::transfer::Target, + amount: types::transfer::Amount, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "transfer", + types::Transfer { id, target, amount }, + [ + 87u8, 155u8, 32u8, 28u8, 113u8, 163u8, 192u8, 167u8, 135u8, 34u8, 50u8, + 57u8, 23u8, 219u8, 136u8, 196u8, 190u8, 139u8, 19u8, 132u8, 155u8, + 235u8, 242u8, 181u8, 201u8, 208u8, 145u8, 199u8, 29u8, 210u8, 102u8, + 150u8, + ], + ) + } + #[doc = "Move some assets from the sender account to another, keeping the sender account alive."] + #[doc = ""] + #[doc = "Origin must be Signed."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to have some amount transferred."] + #[doc = "- `target`: The account to be credited."] + #[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"] + #[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"] + #[doc = "the case that the transfer would otherwise take the sender balance above zero but below"] + #[doc = "the minimum balance. Must be greater than zero."] + #[doc = ""] + #[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"] + #[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"] + #[doc = "to zero."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + #[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"] + #[doc = "`target`."] + pub fn transfer_keep_alive( + &self, + id: types::transfer_keep_alive::Id, + target: types::transfer_keep_alive::Target, + amount: types::transfer_keep_alive::Amount, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "transfer_keep_alive", + types::TransferKeepAlive { id, target, amount }, + [ + 123u8, 131u8, 176u8, 147u8, 52u8, 2u8, 105u8, 141u8, 206u8, 216u8, + 43u8, 169u8, 150u8, 131u8, 146u8, 210u8, 37u8, 133u8, 221u8, 155u8, + 74u8, 127u8, 166u8, 131u8, 122u8, 28u8, 255u8, 224u8, 4u8, 125u8, 43u8, + 116u8, + ], + ) + } + #[doc = "Move some assets from one account to another."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to have some amount transferred."] + #[doc = "- `source`: The account to be debited."] + #[doc = "- `dest`: The account to be credited."] + #[doc = "- `amount`: The amount by which the `source`'s balance of assets should be reduced and"] + #[doc = "`dest`'s balance increased. The amount actually transferred may be slightly greater in"] + #[doc = "the case that the transfer would otherwise take the `source` balance above zero but"] + #[doc = "below the minimum balance. Must be greater than zero."] + #[doc = ""] + #[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"] + #[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"] + #[doc = "to zero."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + #[doc = "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of"] + #[doc = "`dest`."] + pub fn force_transfer( + &self, + id: types::force_transfer::Id, + source: types::force_transfer::Source, + dest: types::force_transfer::Dest, + amount: types::force_transfer::Amount, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "force_transfer", + types::ForceTransfer { id, source, dest, amount }, + [ + 135u8, 220u8, 220u8, 70u8, 132u8, 5u8, 91u8, 192u8, 37u8, 49u8, 170u8, + 1u8, 32u8, 63u8, 91u8, 80u8, 67u8, 230u8, 40u8, 112u8, 217u8, 68u8, + 116u8, 74u8, 158u8, 236u8, 88u8, 99u8, 216u8, 237u8, 30u8, 134u8, + ], + ) + } + #[doc = "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`"] + #[doc = "must already exist as an entry in `Account`s of the asset. If you want to freeze an"] + #[doc = "account that does not have an entry, use `touch_other` first."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be frozen."] + #[doc = "- `who`: The account to be frozen."] + #[doc = ""] + #[doc = "Emits `Frozen`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub fn freeze( + &self, + id: types::freeze::Id, + who: types::freeze::Who, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "freeze", + types::Freeze { id, who }, + [ + 117u8, 116u8, 226u8, 111u8, 184u8, 196u8, 32u8, 82u8, 10u8, 236u8, + 98u8, 146u8, 228u8, 41u8, 200u8, 80u8, 36u8, 215u8, 52u8, 154u8, 99u8, + 186u8, 73u8, 188u8, 2u8, 88u8, 106u8, 198u8, 101u8, 9u8, 103u8, 153u8, + ], + ) + } + #[doc = "Allow unprivileged transfers to and from an account again."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be frozen."] + #[doc = "- `who`: The account to be unfrozen."] + #[doc = ""] + #[doc = "Emits `Thawed`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub fn thaw( + &self, + id: types::thaw::Id, + who: types::thaw::Who, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "thaw", + types::Thaw { id, who }, + [ + 1u8, 176u8, 121u8, 9u8, 44u8, 113u8, 75u8, 15u8, 167u8, 36u8, 121u8, + 144u8, 151u8, 238u8, 64u8, 48u8, 195u8, 119u8, 230u8, 187u8, 5u8, 43u8, + 14u8, 37u8, 183u8, 20u8, 225u8, 225u8, 173u8, 238u8, 236u8, 80u8, + ], + ) + } + #[doc = "Disallow further unprivileged transfers for the asset class."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be frozen."] + #[doc = ""] + #[doc = "Emits `Frozen`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub fn freeze_asset( + &self, + id: types::freeze_asset::Id, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "freeze_asset", + types::FreezeAsset { id }, + [ + 189u8, 253u8, 85u8, 111u8, 106u8, 34u8, 124u8, 108u8, 39u8, 240u8, + 26u8, 83u8, 0u8, 110u8, 218u8, 93u8, 216u8, 82u8, 14u8, 5u8, 241u8, + 172u8, 15u8, 250u8, 220u8, 101u8, 196u8, 18u8, 214u8, 208u8, 149u8, + 148u8, + ], + ) + } + #[doc = "Allow unprivileged transfers for the asset again."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be thawed."] + #[doc = ""] + #[doc = "Emits `Thawed`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub fn thaw_asset( + &self, + id: types::thaw_asset::Id, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "thaw_asset", + types::ThawAsset { id }, + [ + 15u8, 56u8, 25u8, 188u8, 111u8, 220u8, 108u8, 41u8, 232u8, 254u8, 58u8, + 202u8, 249u8, 240u8, 2u8, 45u8, 128u8, 89u8, 116u8, 120u8, 24u8, 99u8, + 88u8, 99u8, 97u8, 254u8, 166u8, 174u8, 103u8, 23u8, 42u8, 74u8, + ], + ) + } + #[doc = "Change the Owner of an asset."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `owner`: The new Owner of this asset."] + #[doc = ""] + #[doc = "Emits `OwnerChanged`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub fn transfer_ownership( + &self, + id: types::transfer_ownership::Id, + owner: types::transfer_ownership::Owner, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "transfer_ownership", + types::TransferOwnership { id, owner }, + [ + 135u8, 103u8, 234u8, 191u8, 90u8, 8u8, 74u8, 85u8, 16u8, 219u8, 36u8, + 169u8, 20u8, 182u8, 36u8, 41u8, 90u8, 185u8, 108u8, 39u8, 172u8, 145u8, + 38u8, 33u8, 99u8, 228u8, 249u8, 172u8, 243u8, 116u8, 150u8, 183u8, + ], + ) + } + #[doc = "Change the Issuer, Admin and Freezer of an asset."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be frozen."] + #[doc = "- `issuer`: The new Issuer of this asset."] + #[doc = "- `admin`: The new Admin of this asset."] + #[doc = "- `freezer`: The new Freezer of this asset."] + #[doc = ""] + #[doc = "Emits `TeamChanged`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub fn set_team( + &self, + id: types::set_team::Id, + issuer: types::set_team::Issuer, + admin: types::set_team::Admin, + freezer: types::set_team::Freezer, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "set_team", + types::SetTeam { id, issuer, admin, freezer }, + [ + 10u8, 155u8, 117u8, 95u8, 203u8, 165u8, 234u8, 175u8, 85u8, 78u8, + 231u8, 0u8, 195u8, 76u8, 141u8, 167u8, 186u8, 243u8, 186u8, 207u8, + 190u8, 74u8, 134u8, 95u8, 212u8, 0u8, 111u8, 59u8, 113u8, 220u8, 131u8, + 251u8, + ], + ) + } + #[doc = "Set the metadata for an asset."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] + #[doc = ""] + #[doc = "Funds of sender are reserved according to the formula:"] + #[doc = "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into"] + #[doc = "account any already reserved funds."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to update."] + #[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."] + #[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."] + #[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."] + #[doc = ""] + #[doc = "Emits `MetadataSet`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub fn set_metadata( + &self, + id: types::set_metadata::Id, + name: types::set_metadata::Name, + symbol: types::set_metadata::Symbol, + decimals: types::set_metadata::Decimals, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "set_metadata", + types::SetMetadata { id, name, symbol, decimals }, + [ + 53u8, 40u8, 19u8, 104u8, 202u8, 184u8, 183u8, 250u8, 2u8, 60u8, 232u8, + 140u8, 159u8, 97u8, 246u8, 139u8, 230u8, 111u8, 186u8, 159u8, 170u8, + 192u8, 205u8, 186u8, 96u8, 25u8, 89u8, 75u8, 230u8, 247u8, 181u8, + 211u8, + ], + ) + } + #[doc = "Clear the metadata for an asset."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] + #[doc = ""] + #[doc = "Any deposit is freed for the asset owner."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to clear."] + #[doc = ""] + #[doc = "Emits `MetadataCleared`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub fn clear_metadata( + &self, + id: types::clear_metadata::Id, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "clear_metadata", + types::ClearMetadata { id }, + [ + 137u8, 235u8, 66u8, 91u8, 5u8, 130u8, 150u8, 242u8, 209u8, 166u8, 32u8, + 157u8, 49u8, 158u8, 49u8, 199u8, 209u8, 107u8, 21u8, 125u8, 222u8, + 19u8, 41u8, 120u8, 207u8, 168u8, 5u8, 177u8, 171u8, 9u8, 176u8, 238u8, + ], + ) + } + #[doc = "Force the metadata for an asset to some value."] + #[doc = ""] + #[doc = "Origin must be ForceOrigin."] + #[doc = ""] + #[doc = "Any deposit is left alone."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to update."] + #[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."] + #[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."] + #[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."] + #[doc = ""] + #[doc = "Emits `MetadataSet`."] + #[doc = ""] + #[doc = "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively."] + pub fn force_set_metadata( + &self, + id: types::force_set_metadata::Id, + name: types::force_set_metadata::Name, + symbol: types::force_set_metadata::Symbol, + decimals: types::force_set_metadata::Decimals, + is_frozen: types::force_set_metadata::IsFrozen, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "force_set_metadata", + types::ForceSetMetadata { id, name, symbol, decimals, is_frozen }, + [ + 177u8, 45u8, 247u8, 110u8, 214u8, 132u8, 130u8, 86u8, 46u8, 201u8, + 169u8, 19u8, 46u8, 89u8, 227u8, 114u8, 195u8, 46u8, 135u8, 216u8, + 202u8, 78u8, 182u8, 114u8, 126u8, 71u8, 34u8, 13u8, 48u8, 19u8, 99u8, + 192u8, + ], + ) + } + #[doc = "Clear the metadata for an asset."] + #[doc = ""] + #[doc = "Origin must be ForceOrigin."] + #[doc = ""] + #[doc = "Any deposit is returned."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to clear."] + #[doc = ""] + #[doc = "Emits `MetadataCleared`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub fn force_clear_metadata( + &self, + id: types::force_clear_metadata::Id, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "force_clear_metadata", + types::ForceClearMetadata { id }, + [ + 214u8, 13u8, 163u8, 168u8, 249u8, 152u8, 53u8, 201u8, 218u8, 161u8, + 23u8, 187u8, 48u8, 132u8, 66u8, 172u8, 118u8, 76u8, 229u8, 139u8, + 234u8, 64u8, 28u8, 86u8, 91u8, 155u8, 38u8, 136u8, 141u8, 136u8, 43u8, + 150u8, + ], + ) + } + #[doc = "Alter the attributes of a given asset."] + #[doc = ""] + #[doc = "Origin must be `ForceOrigin`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `owner`: The new Owner of this asset."] + #[doc = "- `issuer`: The new Issuer of this asset."] + #[doc = "- `admin`: The new Admin of this asset."] + #[doc = "- `freezer`: The new Freezer of this asset."] + #[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"] + #[doc = "have. If an account's balance is reduced below this, then it collapses to zero."] + #[doc = "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient"] + #[doc = "value to account for the state bloat associated with its balance storage. If set to"] + #[doc = "`true`, then non-zero balances may be stored without a `consumer` reference (and thus"] + #[doc = "an ED in the Balances pallet or whatever else is used to control user-account state"] + #[doc = "growth)."] + #[doc = "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin"] + #[doc = "instructions."] + #[doc = ""] + #[doc = "Emits `AssetStatusChanged` with the identity of the asset."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub fn force_asset_status( + &self, + id: types::force_asset_status::Id, + owner: types::force_asset_status::Owner, + issuer: types::force_asset_status::Issuer, + admin: types::force_asset_status::Admin, + freezer: types::force_asset_status::Freezer, + min_balance: types::force_asset_status::MinBalance, + is_sufficient: types::force_asset_status::IsSufficient, + is_frozen: types::force_asset_status::IsFrozen, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "force_asset_status", + types::ForceAssetStatus { + id, + owner, + issuer, + admin, + freezer, + min_balance, + is_sufficient, + is_frozen, + }, + [ + 105u8, 154u8, 150u8, 105u8, 18u8, 84u8, 154u8, 171u8, 188u8, 113u8, + 52u8, 125u8, 8u8, 238u8, 196u8, 145u8, 163u8, 231u8, 12u8, 49u8, 143u8, + 99u8, 99u8, 25u8, 36u8, 123u8, 201u8, 23u8, 3u8, 53u8, 203u8, 171u8, + ], + ) + } + #[doc = "Approve an amount of asset for transfer by a delegated third-party account."] + #[doc = ""] + #[doc = "Origin must be Signed."] + #[doc = ""] + #[doc = "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account"] + #[doc = "for the purpose of holding the approval. If some non-zero amount of assets is already"] + #[doc = "approved from signing account to `delegate`, then it is topped up or unreserved to"] + #[doc = "meet the right value."] + #[doc = ""] + #[doc = "NOTE: The signing account does not need to own `amount` of assets at the point of"] + #[doc = "making this call."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `delegate`: The account to delegate permission to transfer asset."] + #[doc = "- `amount`: The amount of asset that may be transferred by `delegate`. If there is"] + #[doc = "already an approval in place, then this acts additively."] + #[doc = ""] + #[doc = "Emits `ApprovedTransfer` on success."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub fn approve_transfer( + &self, + id: types::approve_transfer::Id, + delegate: types::approve_transfer::Delegate, + amount: types::approve_transfer::Amount, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "approve_transfer", + types::ApproveTransfer { id, delegate, amount }, + [ + 154u8, 68u8, 127u8, 59u8, 59u8, 72u8, 179u8, 103u8, 72u8, 240u8, 44u8, + 43u8, 153u8, 140u8, 109u8, 1u8, 255u8, 155u8, 52u8, 19u8, 45u8, 212u8, + 65u8, 66u8, 3u8, 49u8, 144u8, 23u8, 19u8, 175u8, 115u8, 230u8, + ], + ) + } + #[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."] + #[doc = ""] + #[doc = "Origin must be Signed and there must be an approval in place between signer and"] + #[doc = "`delegate`."] + #[doc = ""] + #[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `delegate`: The account delegated permission to transfer asset."] + #[doc = ""] + #[doc = "Emits `ApprovalCancelled` on success."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub fn cancel_approval( + &self, + id: types::cancel_approval::Id, + delegate: types::cancel_approval::Delegate, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "cancel_approval", + types::CancelApproval { id, delegate }, + [ + 152u8, 186u8, 35u8, 86u8, 186u8, 3u8, 238u8, 219u8, 202u8, 29u8, 222u8, + 220u8, 117u8, 131u8, 49u8, 224u8, 155u8, 248u8, 60u8, 17u8, 142u8, + 72u8, 50u8, 92u8, 69u8, 152u8, 24u8, 210u8, 157u8, 145u8, 238u8, 135u8, + ], + ) + } + #[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."] + #[doc = ""] + #[doc = "Origin must be either ForceOrigin or Signed origin with the signer being the Admin"] + #[doc = "account of the asset `id`."] + #[doc = ""] + #[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `delegate`: The account delegated permission to transfer asset."] + #[doc = ""] + #[doc = "Emits `ApprovalCancelled` on success."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub fn force_cancel_approval( + &self, + id: types::force_cancel_approval::Id, + owner: types::force_cancel_approval::Owner, + delegate: types::force_cancel_approval::Delegate, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "force_cancel_approval", + types::ForceCancelApproval { id, owner, delegate }, + [ + 214u8, 56u8, 202u8, 108u8, 210u8, 190u8, 111u8, 254u8, 108u8, 85u8, + 77u8, 111u8, 229u8, 129u8, 85u8, 197u8, 186u8, 58u8, 217u8, 174u8, + 76u8, 244u8, 188u8, 124u8, 42u8, 149u8, 128u8, 190u8, 194u8, 209u8, + 51u8, 204u8, + ], + ) + } + #[doc = "Transfer some asset balance from a previously delegated account to some third-party"] + #[doc = "account."] + #[doc = ""] + #[doc = "Origin must be Signed and there must be an approval in place by the `owner` to the"] + #[doc = "signer."] + #[doc = ""] + #[doc = "If the entire amount approved for transfer is transferred, then any deposit previously"] + #[doc = "reserved by `approve_transfer` is unreserved."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `owner`: The account which previously approved for a transfer of at least `amount` and"] + #[doc = "from which the asset balance will be withdrawn."] + #[doc = "- `destination`: The account to which the asset balance of `amount` will be transferred."] + #[doc = "- `amount`: The amount of assets to transfer."] + #[doc = ""] + #[doc = "Emits `TransferredApproved` on success."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub fn transfer_approved( + &self, + id: types::transfer_approved::Id, + owner: types::transfer_approved::Owner, + destination: types::transfer_approved::Destination, + amount: types::transfer_approved::Amount, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "transfer_approved", + types::TransferApproved { id, owner, destination, amount }, + [ + 134u8, 20u8, 68u8, 106u8, 55u8, 127u8, 236u8, 253u8, 9u8, 247u8, 251u8, + 230u8, 164u8, 225u8, 15u8, 180u8, 96u8, 82u8, 182u8, 232u8, 239u8, 2u8, + 33u8, 244u8, 112u8, 26u8, 30u8, 242u8, 85u8, 249u8, 114u8, 75u8, + ], + ) + } + #[doc = "Create an asset account for non-provider assets."] + #[doc = ""] + #[doc = "A deposit will be taken from the signer account."] + #[doc = ""] + #[doc = "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit"] + #[doc = " to be taken."] + #[doc = "- `id`: The identifier of the asset for the account to be created."] + #[doc = ""] + #[doc = "Emits `Touched` event when successful."] + pub fn touch( + &self, + id: types::touch::Id, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "touch", + types::Touch { id }, + [ + 93u8, 110u8, 255u8, 67u8, 63u8, 27u8, 179u8, 188u8, 189u8, 16u8, 207u8, + 50u8, 23u8, 89u8, 125u8, 220u8, 81u8, 173u8, 33u8, 242u8, 231u8, 211u8, + 212u8, 33u8, 135u8, 239u8, 198u8, 58u8, 24u8, 205u8, 236u8, 178u8, + ], + ) + } + #[doc = "Return the deposit (if any) of an asset account or a consumer reference (if any) of an"] + #[doc = "account."] + #[doc = ""] + #[doc = "The origin must be Signed."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset for which the caller would like the deposit"] + #[doc = " refunded."] + #[doc = "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund."] + #[doc = ""] + #[doc = "Emits `Refunded` event when successful."] + pub fn refund( + &self, + id: types::refund::Id, + allow_burn: types::refund::AllowBurn, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "refund", + types::Refund { id, allow_burn }, + [ + 212u8, 171u8, 194u8, 110u8, 144u8, 125u8, 9u8, 224u8, 173u8, 44u8, + 146u8, 30u8, 7u8, 51u8, 82u8, 239u8, 18u8, 170u8, 66u8, 201u8, 148u8, + 189u8, 210u8, 218u8, 98u8, 166u8, 128u8, 77u8, 136u8, 151u8, 114u8, + 237u8, + ], + ) + } + #[doc = "Sets the minimum balance of an asset."] + #[doc = ""] + #[doc = "Only works if there aren't any accounts that are holding the asset or if"] + #[doc = "the new value of `min_balance` is less than the old one."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender has to be the Owner of the"] + #[doc = "asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `min_balance`: The new value of `min_balance`."] + #[doc = ""] + #[doc = "Emits `AssetMinBalanceChanged` event when successful."] + pub fn set_min_balance( + &self, + id: types::set_min_balance::Id, + min_balance: types::set_min_balance::MinBalance, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "set_min_balance", + types::SetMinBalance { id, min_balance }, + [ + 237u8, 126u8, 65u8, 131u8, 29u8, 64u8, 78u8, 86u8, 151u8, 18u8, 248u8, + 45u8, 25u8, 48u8, 219u8, 17u8, 211u8, 81u8, 53u8, 5u8, 17u8, 214u8, + 86u8, 143u8, 79u8, 200u8, 88u8, 147u8, 150u8, 103u8, 228u8, 253u8, + ], + ) + } + #[doc = "Create an asset account for `who`."] + #[doc = ""] + #[doc = "A deposit will be taken from the signer account."] + #[doc = ""] + #[doc = "- `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account"] + #[doc = " must have sufficient funds for a deposit to be taken."] + #[doc = "- `id`: The identifier of the asset for the account to be created."] + #[doc = "- `who`: The account to be created."] + #[doc = ""] + #[doc = "Emits `Touched` event when successful."] + pub fn touch_other( + &self, + id: types::touch_other::Id, + who: types::touch_other::Who, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "touch_other", + types::TouchOther { id, who }, + [ + 4u8, 90u8, 49u8, 84u8, 204u8, 249u8, 79u8, 140u8, 98u8, 103u8, 221u8, + 158u8, 98u8, 9u8, 117u8, 221u8, 19u8, 166u8, 39u8, 229u8, 70u8, 130u8, + 219u8, 150u8, 190u8, 239u8, 140u8, 36u8, 207u8, 86u8, 172u8, 220u8, + ], + ) + } + #[doc = "Return the deposit (if any) of a target asset account. Useful if you are the depositor."] + #[doc = ""] + #[doc = "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In"] + #[doc = "order to burn a non-zero balance of the asset, the caller must be the account and should"] + #[doc = "use `refund`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset for the account holding a deposit."] + #[doc = "- `who`: The account to refund."] + #[doc = ""] + #[doc = "Emits `Refunded` event when successful."] + pub fn refund_other( + &self, + id: types::refund_other::Id, + who: types::refund_other::Who, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "refund_other", + types::RefundOther { id, who }, + [ + 241u8, 92u8, 111u8, 163u8, 37u8, 185u8, 60u8, 48u8, 174u8, 96u8, 122u8, + 142u8, 159u8, 84u8, 96u8, 169u8, 149u8, 52u8, 206u8, 25u8, 85u8, 173u8, + 131u8, 148u8, 40u8, 215u8, 157u8, 161u8, 128u8, 181u8, 50u8, 175u8, + ], + ) + } + #[doc = "Disallow further unprivileged transfers of an asset `id` to and from an account `who`."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the account's asset."] + #[doc = "- `who`: The account to be unblocked."] + #[doc = ""] + #[doc = "Emits `Blocked`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub fn block( + &self, + id: types::block::Id, + who: types::block::Who, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "PoolAssets", + "block", + types::Block { id, who }, + [ + 92u8, 59u8, 111u8, 18u8, 78u8, 136u8, 38u8, 69u8, 217u8, 56u8, 115u8, + 167u8, 145u8, 241u8, 131u8, 202u8, 132u8, 55u8, 196u8, 54u8, 109u8, + 57u8, 175u8, 184u8, 70u8, 159u8, 19u8, 105u8, 57u8, 92u8, 237u8, 34u8, + ], + ) + } + } + } + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::pallet_assets::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Some asset class was created."] + pub struct Created { + pub asset_id: created::AssetId, + pub creator: created::Creator, + pub owner: created::Owner, + } + pub mod created { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + pub type Creator = ::subxt_core::utils::AccountId32; + pub type Owner = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::events::StaticEvent for Created { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "Created"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Some assets were issued."] + pub struct Issued { + pub asset_id: issued::AssetId, + pub owner: issued::Owner, + pub amount: issued::Amount, + } + pub mod issued { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + pub type Owner = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for Issued { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "Issued"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Some assets were transferred."] + pub struct Transferred { + pub asset_id: transferred::AssetId, + pub from: transferred::From, + pub to: transferred::To, + pub amount: transferred::Amount, + } + pub mod transferred { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + pub type From = ::subxt_core::utils::AccountId32; + pub type To = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for Transferred { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "Transferred"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Some assets were destroyed."] + pub struct Burned { + pub asset_id: burned::AssetId, + pub owner: burned::Owner, + pub balance: burned::Balance, + } + pub mod burned { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + pub type Owner = ::subxt_core::utils::AccountId32; + pub type Balance = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for Burned { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "Burned"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "The management team changed."] + pub struct TeamChanged { + pub asset_id: team_changed::AssetId, + pub issuer: team_changed::Issuer, + pub admin: team_changed::Admin, + pub freezer: team_changed::Freezer, + } + pub mod team_changed { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + pub type Issuer = ::subxt_core::utils::AccountId32; + pub type Admin = ::subxt_core::utils::AccountId32; + pub type Freezer = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::events::StaticEvent for TeamChanged { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "TeamChanged"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "The owner changed."] + pub struct OwnerChanged { + pub asset_id: owner_changed::AssetId, + pub owner: owner_changed::Owner, + } + pub mod owner_changed { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + pub type Owner = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::events::StaticEvent for OwnerChanged { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "OwnerChanged"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Some account `who` was frozen."] + pub struct Frozen { + pub asset_id: frozen::AssetId, + pub who: frozen::Who, + } + pub mod frozen { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + pub type Who = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::events::StaticEvent for Frozen { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "Frozen"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Some account `who` was thawed."] + pub struct Thawed { + pub asset_id: thawed::AssetId, + pub who: thawed::Who, + } + pub mod thawed { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + pub type Who = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::events::StaticEvent for Thawed { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "Thawed"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Some asset `asset_id` was frozen."] + pub struct AssetFrozen { + pub asset_id: asset_frozen::AssetId, + } + pub mod asset_frozen { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for AssetFrozen { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "AssetFrozen"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Some asset `asset_id` was thawed."] + pub struct AssetThawed { + pub asset_id: asset_thawed::AssetId, + } + pub mod asset_thawed { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for AssetThawed { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "AssetThawed"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Accounts were destroyed for given asset."] + pub struct AccountsDestroyed { + pub asset_id: accounts_destroyed::AssetId, + pub accounts_destroyed: accounts_destroyed::AccountsDestroyed, + pub accounts_remaining: accounts_destroyed::AccountsRemaining, + } + pub mod accounts_destroyed { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + pub type AccountsDestroyed = ::core::primitive::u32; + pub type AccountsRemaining = ::core::primitive::u32; + } + impl ::subxt_core::events::StaticEvent for AccountsDestroyed { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "AccountsDestroyed"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Approvals were destroyed for given asset."] + pub struct ApprovalsDestroyed { + pub asset_id: approvals_destroyed::AssetId, + pub approvals_destroyed: approvals_destroyed::ApprovalsDestroyed, + pub approvals_remaining: approvals_destroyed::ApprovalsRemaining, + } + pub mod approvals_destroyed { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + pub type ApprovalsDestroyed = ::core::primitive::u32; + pub type ApprovalsRemaining = ::core::primitive::u32; + } + impl ::subxt_core::events::StaticEvent for ApprovalsDestroyed { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "ApprovalsDestroyed"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "An asset class is in the process of being destroyed."] + pub struct DestructionStarted { + pub asset_id: destruction_started::AssetId, + } + pub mod destruction_started { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for DestructionStarted { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "DestructionStarted"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "An asset class was destroyed."] + pub struct Destroyed { + pub asset_id: destroyed::AssetId, + } + pub mod destroyed { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for Destroyed { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "Destroyed"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Some asset class was force-created."] + pub struct ForceCreated { + pub asset_id: force_created::AssetId, + pub owner: force_created::Owner, + } + pub mod force_created { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + pub type Owner = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::events::StaticEvent for ForceCreated { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "ForceCreated"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "New metadata has been set for an asset."] + pub struct MetadataSet { + pub asset_id: metadata_set::AssetId, + pub name: metadata_set::Name, + pub symbol: metadata_set::Symbol, + pub decimals: metadata_set::Decimals, + pub is_frozen: metadata_set::IsFrozen, + } + pub mod metadata_set { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + pub type Name = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; + pub type Symbol = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; + pub type Decimals = ::core::primitive::u8; + pub type IsFrozen = ::core::primitive::bool; + } + impl ::subxt_core::events::StaticEvent for MetadataSet { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "MetadataSet"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Metadata has been cleared for an asset."] + pub struct MetadataCleared { + pub asset_id: metadata_cleared::AssetId, + } + pub mod metadata_cleared { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for MetadataCleared { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "MetadataCleared"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "(Additional) funds have been approved for transfer to a destination account."] + pub struct ApprovedTransfer { + pub asset_id: approved_transfer::AssetId, + pub source: approved_transfer::Source, + pub delegate: approved_transfer::Delegate, + pub amount: approved_transfer::Amount, + } + pub mod approved_transfer { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + pub type Source = ::subxt_core::utils::AccountId32; + pub type Delegate = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for ApprovedTransfer { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "ApprovedTransfer"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "An approval for account `delegate` was cancelled by `owner`."] + pub struct ApprovalCancelled { + pub asset_id: approval_cancelled::AssetId, + pub owner: approval_cancelled::Owner, + pub delegate: approval_cancelled::Delegate, + } + pub mod approval_cancelled { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + pub type Owner = ::subxt_core::utils::AccountId32; + pub type Delegate = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::events::StaticEvent for ApprovalCancelled { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "ApprovalCancelled"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "An `amount` was transferred in its entirety from `owner` to `destination` by"] + #[doc = "the approved `delegate`."] + pub struct TransferredApproved { + pub asset_id: transferred_approved::AssetId, + pub owner: transferred_approved::Owner, + pub delegate: transferred_approved::Delegate, + pub destination: transferred_approved::Destination, + pub amount: transferred_approved::Amount, + } + pub mod transferred_approved { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + pub type Owner = ::subxt_core::utils::AccountId32; + pub type Delegate = ::subxt_core::utils::AccountId32; + pub type Destination = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for TransferredApproved { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "TransferredApproved"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "An asset has had its attributes changed by the `Force` origin."] + pub struct AssetStatusChanged { + pub asset_id: asset_status_changed::AssetId, + } + pub mod asset_status_changed { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for AssetStatusChanged { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "AssetStatusChanged"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "The min_balance of an asset has been updated by the asset owner."] + pub struct AssetMinBalanceChanged { + pub asset_id: asset_min_balance_changed::AssetId, + pub new_min_balance: asset_min_balance_changed::NewMinBalance, + } + pub mod asset_min_balance_changed { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + pub type NewMinBalance = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for AssetMinBalanceChanged { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "AssetMinBalanceChanged"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Some account `who` was created with a deposit from `depositor`."] + pub struct Touched { + pub asset_id: touched::AssetId, + pub who: touched::Who, + pub depositor: touched::Depositor, + } + pub mod touched { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + pub type Who = ::subxt_core::utils::AccountId32; + pub type Depositor = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::events::StaticEvent for Touched { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "Touched"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Some account `who` was blocked."] + pub struct Blocked { + pub asset_id: blocked::AssetId, + pub who: blocked::Who, + } + pub mod blocked { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + pub type Who = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::events::StaticEvent for Blocked { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "Blocked"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Some assets were deposited (e.g. for transaction fees)."] + pub struct Deposited { + pub asset_id: deposited::AssetId, + pub who: deposited::Who, + pub amount: deposited::Amount, + } + pub mod deposited { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + pub type Who = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for Deposited { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "Deposited"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Some assets were withdrawn from the account (e.g. for transaction fees)."] + pub struct Withdrawn { + pub asset_id: withdrawn::AssetId, + pub who: withdrawn::Who, + pub amount: withdrawn::Amount, + } + pub mod withdrawn { + use super::runtime_types; + pub type AssetId = ::core::primitive::u128; + pub type Who = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for Withdrawn { + const PALLET: &'static str = "PoolAssets"; + const EVENT: &'static str = "Withdrawn"; + } + } + pub mod storage { + use super::runtime_types; + pub mod types { + use super::runtime_types; + pub mod asset { + use super::runtime_types; + pub type Asset = runtime_types::pallet_assets::types::AssetDetails< + ::core::primitive::u128, + ::subxt_core::utils::AccountId32, + ::core::primitive::u128, + >; + pub type Param0 = ::core::primitive::u128; + } + pub mod account { + use super::runtime_types; + pub type Account = runtime_types::pallet_assets::types::AssetAccount< + ::core::primitive::u128, + ::core::primitive::u128, + (), + ::subxt_core::utils::AccountId32, + >; + pub type Param0 = ::core::primitive::u128; + pub type Param1 = ::subxt_core::utils::AccountId32; + } + pub mod approvals { + use super::runtime_types; + pub type Approvals = runtime_types::pallet_assets::types::Approval< + ::core::primitive::u128, + ::core::primitive::u128, + >; + pub type Param0 = ::core::primitive::u128; + pub type Param1 = ::subxt_core::utils::AccountId32; + pub type Param2 = ::subxt_core::utils::AccountId32; + } + pub mod metadata { + use super::runtime_types; + pub type Metadata = runtime_types::pallet_assets::types::AssetMetadata< + ::core::primitive::u128, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >; + pub type Param0 = ::core::primitive::u128; + } + pub mod next_asset_id { + use super::runtime_types; + pub type NextAssetId = ::core::primitive::u128; + } + } + pub struct StorageApi; + impl StorageApi { + #[doc = " Details of an asset."] + pub fn asset_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::asset::Asset, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "PoolAssets", + "Asset", + (), + [ + 184u8, 117u8, 212u8, 54u8, 227u8, 128u8, 105u8, 48u8, 129u8, 209u8, + 93u8, 65u8, 239u8, 81u8, 138u8, 169u8, 70u8, 73u8, 193u8, 150u8, 58u8, + 232u8, 103u8, 171u8, 200u8, 131u8, 19u8, 81u8, 197u8, 69u8, 242u8, + 19u8, + ], + ) + } + #[doc = " Details of an asset."] + pub fn asset( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::asset::Asset, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "PoolAssets", + "Asset", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 184u8, 117u8, 212u8, 54u8, 227u8, 128u8, 105u8, 48u8, 129u8, 209u8, + 93u8, 65u8, 239u8, 81u8, 138u8, 169u8, 70u8, 73u8, 193u8, 150u8, 58u8, + 232u8, 103u8, 171u8, 200u8, 131u8, 19u8, 81u8, 197u8, 69u8, 242u8, + 19u8, + ], + ) + } + #[doc = " The holdings of a specific account for a specific asset."] + pub fn account_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::account::Account, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "PoolAssets", + "Account", + (), + [ + 193u8, 248u8, 7u8, 31u8, 182u8, 62u8, 151u8, 45u8, 186u8, 167u8, 187u8, + 86u8, 254u8, 71u8, 30u8, 36u8, 169u8, 145u8, 195u8, 93u8, 76u8, 108u8, + 179u8, 129u8, 178u8, 9u8, 253u8, 27u8, 165u8, 16u8, 248u8, 254u8, + ], + ) + } + #[doc = " The holdings of a specific account for a specific asset."] + pub fn account_iter1( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::account::Account, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "PoolAssets", + "Account", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 193u8, 248u8, 7u8, 31u8, 182u8, 62u8, 151u8, 45u8, 186u8, 167u8, 187u8, + 86u8, 254u8, 71u8, 30u8, 36u8, 169u8, 145u8, 195u8, 93u8, 76u8, 108u8, + 179u8, 129u8, 178u8, 9u8, 253u8, 27u8, 165u8, 16u8, 248u8, 254u8, + ], + ) + } + #[doc = " The holdings of a specific account for a specific asset."] + pub fn account( + &self, + _0: impl ::core::borrow::Borrow, + _1: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ( + ::subxt_core::storage::address::StaticStorageKey, + ::subxt_core::storage::address::StaticStorageKey, + ), + types::account::Account, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "PoolAssets", + "Account", + ( + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), + ), + [ + 193u8, 248u8, 7u8, 31u8, 182u8, 62u8, 151u8, 45u8, 186u8, 167u8, 187u8, + 86u8, 254u8, 71u8, 30u8, 36u8, 169u8, 145u8, 195u8, 93u8, 76u8, 108u8, + 179u8, 129u8, 178u8, 9u8, 253u8, 27u8, 165u8, 16u8, 248u8, 254u8, + ], + ) + } + #[doc = " Approved balance transfers. First balance is the amount approved for transfer. Second"] + #[doc = " is the amount of `T::Currency` reserved for storing this."] + #[doc = " First key is the asset ID, second key is the owner and third key is the delegate."] + pub fn approvals_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::approvals::Approvals, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "PoolAssets", + "Approvals", + (), + [ + 88u8, 12u8, 250u8, 89u8, 74u8, 8u8, 18u8, 23u8, 160u8, 172u8, 27u8, + 182u8, 30u8, 140u8, 109u8, 106u8, 158u8, 104u8, 53u8, 86u8, 112u8, + 252u8, 195u8, 113u8, 69u8, 121u8, 239u8, 54u8, 242u8, 51u8, 181u8, + 176u8, + ], + ) + } + #[doc = " Approved balance transfers. First balance is the amount approved for transfer. Second"] + #[doc = " is the amount of `T::Currency` reserved for storing this."] + #[doc = " First key is the asset ID, second key is the owner and third key is the delegate."] + pub fn approvals_iter1( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::approvals::Approvals, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "PoolAssets", + "Approvals", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 88u8, 12u8, 250u8, 89u8, 74u8, 8u8, 18u8, 23u8, 160u8, 172u8, 27u8, + 182u8, 30u8, 140u8, 109u8, 106u8, 158u8, 104u8, 53u8, 86u8, 112u8, + 252u8, 195u8, 113u8, 69u8, 121u8, 239u8, 54u8, 242u8, 51u8, 181u8, + 176u8, + ], + ) + } + #[doc = " Approved balance transfers. First balance is the amount approved for transfer. Second"] + #[doc = " is the amount of `T::Currency` reserved for storing this."] + #[doc = " First key is the asset ID, second key is the owner and third key is the delegate."] + pub fn approvals_iter2( + &self, + _0: impl ::core::borrow::Borrow, + _1: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ( + ::subxt_core::storage::address::StaticStorageKey, + ::subxt_core::storage::address::StaticStorageKey, + ), + types::approvals::Approvals, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "PoolAssets", + "Approvals", + ( + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), + ), + [ + 88u8, 12u8, 250u8, 89u8, 74u8, 8u8, 18u8, 23u8, 160u8, 172u8, 27u8, + 182u8, 30u8, 140u8, 109u8, 106u8, 158u8, 104u8, 53u8, 86u8, 112u8, + 252u8, 195u8, 113u8, 69u8, 121u8, 239u8, 54u8, 242u8, 51u8, 181u8, + 176u8, + ], + ) + } + #[doc = " Approved balance transfers. First balance is the amount approved for transfer. Second"] + #[doc = " is the amount of `T::Currency` reserved for storing this."] + #[doc = " First key is the asset ID, second key is the owner and third key is the delegate."] + pub fn approvals( + &self, + _0: impl ::core::borrow::Borrow, + _1: impl ::core::borrow::Borrow, + _2: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ( + ::subxt_core::storage::address::StaticStorageKey, + ::subxt_core::storage::address::StaticStorageKey, + ::subxt_core::storage::address::StaticStorageKey, + ), + types::approvals::Approvals, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "PoolAssets", + "Approvals", + ( + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), + ::subxt_core::storage::address::StaticStorageKey::new(_2.borrow()), + ), + [ + 88u8, 12u8, 250u8, 89u8, 74u8, 8u8, 18u8, 23u8, 160u8, 172u8, 27u8, + 182u8, 30u8, 140u8, 109u8, 106u8, 158u8, 104u8, 53u8, 86u8, 112u8, + 252u8, 195u8, 113u8, 69u8, 121u8, 239u8, 54u8, 242u8, 51u8, 181u8, + 176u8, + ], + ) + } + #[doc = " Metadata of an asset."] + pub fn metadata_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::metadata::Metadata, + (), + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "PoolAssets", + "Metadata", + (), + [ + 9u8, 154u8, 67u8, 209u8, 73u8, 219u8, 203u8, 105u8, 197u8, 101u8, + 174u8, 94u8, 37u8, 239u8, 121u8, 52u8, 186u8, 127u8, 29u8, 182u8, 32u8, + 21u8, 49u8, 140u8, 135u8, 144u8, 231u8, 73u8, 33u8, 158u8, 27u8, 241u8, + ], + ) + } + #[doc = " Metadata of an asset."] + pub fn metadata( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::metadata::Metadata, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "PoolAssets", + "Metadata", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 9u8, 154u8, 67u8, 209u8, 73u8, 219u8, 203u8, 105u8, 197u8, 101u8, + 174u8, 94u8, 37u8, 239u8, 121u8, 52u8, 186u8, 127u8, 29u8, 182u8, 32u8, + 21u8, 49u8, 140u8, 135u8, 144u8, 231u8, 73u8, 33u8, 158u8, 27u8, 241u8, + ], + ) + } + #[doc = " The asset ID enforced for the next asset creation, if any present. Otherwise, this storage"] + #[doc = " item has no effect."] + #[doc = ""] + #[doc = " This can be useful for setting up constraints for IDs of the new assets. For example, by"] + #[doc = " providing an initial [`NextAssetId`] and using the [`crate::AutoIncAssetId`] callback, an"] + #[doc = " auto-increment model can be applied to all new asset IDs."] + #[doc = ""] + #[doc = " The initial next asset ID can be set using the [`GenesisConfig`] or the"] + #[doc = " [SetNextAssetId](`migration::next_asset_id::SetNextAssetId`) migration."] + pub fn next_asset_id( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::next_asset_id::NextAssetId, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "PoolAssets", + "NextAssetId", + (), + [ + 153u8, 224u8, 246u8, 219u8, 165u8, 1u8, 83u8, 64u8, 55u8, 54u8, 89u8, + 6u8, 24u8, 50u8, 62u8, 114u8, 164u8, 157u8, 105u8, 150u8, 218u8, 100u8, + 15u8, 161u8, 33u8, 43u8, 27u8, 217u8, 212u8, 111u8, 11u8, 104u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call."] + #[doc = ""] + #[doc = " Must be configured to result in a weight that makes each call fit in a block."] + pub fn remove_items_limit( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "PoolAssets", + "RemoveItemsLimit", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The basic amount of funds that must be reserved for an asset."] + pub fn asset_deposit( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { + ::subxt_core::constants::address::StaticAddress::new_static( + "PoolAssets", + "AssetDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount of funds that must be reserved for a non-provider asset account to be"] + #[doc = " maintained."] + pub fn asset_account_deposit( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { + ::subxt_core::constants::address::StaticAddress::new_static( + "PoolAssets", + "AssetAccountDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The basic amount of funds that must be reserved when adding metadata to your asset."] + pub fn metadata_deposit_base( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { + ::subxt_core::constants::address::StaticAddress::new_static( + "PoolAssets", + "MetadataDepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The additional funds that must be reserved for the number of bytes you store in your"] + #[doc = " metadata."] + pub fn metadata_deposit_per_byte( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { + ::subxt_core::constants::address::StaticAddress::new_static( + "PoolAssets", + "MetadataDepositPerByte", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount of funds that must be reserved when creating a new approval."] + pub fn approval_deposit( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { + ::subxt_core::constants::address::StaticAddress::new_static( + "PoolAssets", + "ApprovalDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum length of a name or symbol stored on-chain."] + pub fn string_limit( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "PoolAssets", + "StringLimit", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod balances { + use super::root_mod; + use super::runtime_types; + #[doc = "The `Error` enum of this pallet."] + pub type Error = runtime_types::pallet_balances::pallet::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::pallet_balances::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Transfer some liquid free balance to another account."] + #[doc = ""] + #[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."] + #[doc = "If the sender's account is below the existential deposit as a result"] + #[doc = "of the transfer, the account will be reaped."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be `Signed` by the transactor."] + pub struct TransferAllowDeath { + pub dest: transfer_allow_death::Dest, + #[codec(compact)] + pub value: transfer_allow_death::Value, + } + pub mod transfer_allow_death { + use super::runtime_types; + pub type Dest = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Value = ::core::primitive::u128; + } + impl ::subxt_core::blocks::StaticExtrinsic for TransferAllowDeath { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "transfer_allow_death"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"] + #[doc = "may be specified."] + pub struct ForceTransfer { + pub source: force_transfer::Source, + pub dest: force_transfer::Dest, + #[codec(compact)] + pub value: force_transfer::Value, + } + pub mod force_transfer { + use super::runtime_types; + pub type Source = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Dest = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Value = ::core::primitive::u128; + } + impl ::subxt_core::blocks::StaticExtrinsic for ForceTransfer { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "force_transfer"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"] + #[doc = "kill the origin account."] + #[doc = ""] + #[doc = "99% of the time you want [`transfer_allow_death`] instead."] + #[doc = ""] + #[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"] + pub struct TransferKeepAlive { + pub dest: transfer_keep_alive::Dest, + #[codec(compact)] + pub value: transfer_keep_alive::Value, + } + pub mod transfer_keep_alive { + use super::runtime_types; + pub type Dest = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Value = ::core::primitive::u128; + } + impl ::subxt_core::blocks::StaticExtrinsic for TransferKeepAlive { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "transfer_keep_alive"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Transfer the entire transferable balance from the caller account."] + #[doc = ""] + #[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"] + #[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"] + #[doc = "transferred by this function. To ensure that this function results in a killed account,"] + #[doc = "you might need to prepare the account by removing any reference counters, storage"] + #[doc = "deposits, etc..."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be Signed."] + #[doc = ""] + #[doc = "- `dest`: The recipient of the transfer."] + #[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"] + #[doc = " of the funds the account has, causing the sender account to be killed (false), or"] + #[doc = " transfer everything except at least the existential deposit, which will guarantee to"] + #[doc = " keep the sender account alive (true)."] + pub struct TransferAll { + pub dest: transfer_all::Dest, + pub keep_alive: transfer_all::KeepAlive, + } + pub mod transfer_all { + use super::runtime_types; + pub type Dest = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type KeepAlive = ::core::primitive::bool; + } + impl ::subxt_core::blocks::StaticExtrinsic for TransferAll { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "transfer_all"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Unreserve some balance from a user by force."] + #[doc = ""] + #[doc = "Can only be called by ROOT."] + pub struct ForceUnreserve { + pub who: force_unreserve::Who, + pub amount: force_unreserve::Amount, + } + pub mod force_unreserve { + use super::runtime_types; + pub type Who = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Amount = ::core::primitive::u128; + } + impl ::subxt_core::blocks::StaticExtrinsic for ForceUnreserve { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "force_unreserve"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Upgrade a specified account."] + #[doc = ""] + #[doc = "- `origin`: Must be `Signed`."] + #[doc = "- `who`: The account to be upgraded."] + #[doc = ""] + #[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"] + #[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"] + #[doc = "possibility of churn)."] + pub struct UpgradeAccounts { + pub who: upgrade_accounts::Who, + } + pub mod upgrade_accounts { + use super::runtime_types; + pub type Who = ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; + } + impl ::subxt_core::blocks::StaticExtrinsic for UpgradeAccounts { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "upgrade_accounts"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Set the regular balance of a given account."] + #[doc = ""] + #[doc = "The dispatch origin for this call is `root`."] + pub struct ForceSetBalance { + pub who: force_set_balance::Who, + #[codec(compact)] + pub new_free: force_set_balance::NewFree, + } + pub mod force_set_balance { + use super::runtime_types; + pub type Who = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type NewFree = ::core::primitive::u128; + } + impl ::subxt_core::blocks::StaticExtrinsic for ForceSetBalance { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "force_set_balance"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Adjust the total issuance in a saturating way."] + #[doc = ""] + #[doc = "Can only be called by root and always needs a positive `delta`."] + #[doc = ""] + #[doc = "# Example"] + pub struct ForceAdjustTotalIssuance { + pub direction: force_adjust_total_issuance::Direction, + #[codec(compact)] + pub delta: force_adjust_total_issuance::Delta, + } + pub mod force_adjust_total_issuance { + use super::runtime_types; + pub type Direction = runtime_types::pallet_balances::types::AdjustmentDirection; + pub type Delta = ::core::primitive::u128; + } + impl ::subxt_core::blocks::StaticExtrinsic for ForceAdjustTotalIssuance { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "force_adjust_total_issuance"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Burn the specified liquid free balance from the origin account."] + #[doc = ""] + #[doc = "If the origin's account ends up below the existential deposit as a result"] + #[doc = "of the burn and `keep_alive` is false, the account will be reaped."] + #[doc = ""] + #[doc = "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,"] + #[doc = "this `burn` operation will reduce total issuance by the amount _burned_."] + pub struct Burn { + #[codec(compact)] + pub value: burn::Value, + pub keep_alive: burn::KeepAlive, + } + pub mod burn { + use super::runtime_types; + pub type Value = ::core::primitive::u128; + pub type KeepAlive = ::core::primitive::bool; + } + impl ::subxt_core::blocks::StaticExtrinsic for Burn { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "burn"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Transfer some liquid free balance to another account."] + #[doc = ""] + #[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."] + #[doc = "If the sender's account is below the existential deposit as a result"] + #[doc = "of the transfer, the account will be reaped."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be `Signed` by the transactor."] + pub fn transfer_allow_death( + &self, + dest: types::transfer_allow_death::Dest, + value: types::transfer_allow_death::Value, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Balances", "transfer_allow_death", types::TransferAllowDeath { dest, value }, [ @@ -9815,7 +13292,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account was created with some free balance."] @@ -9843,7 +13319,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account was removed whose balance was non-zero but below ExistentialDeposit,"] @@ -9872,7 +13347,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Transfer succeeded."] @@ -9902,7 +13376,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A balance was set by root."] @@ -9930,7 +13403,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some balance was reserved (moved from free to reserved)."] @@ -9958,7 +13430,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some balance was unreserved (moved from reserved to free)."] @@ -9986,7 +13457,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some balance was moved from the reserve of the first account to the second account."] @@ -10020,7 +13490,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some amount was deposited (e.g. for transaction fees)."] @@ -10048,7 +13517,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some amount was withdrawn from the account (e.g. for transaction fees)."] @@ -10076,7 +13544,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some amount was removed from the account (e.g. for misbehavior)."] @@ -10104,7 +13571,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some amount was minted into an account."] @@ -10132,7 +13598,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some amount was burned from an account."] @@ -10160,7 +13625,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some amount was suspended from an account (it can be restored later)."] @@ -10188,7 +13652,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some amount was restored into an account."] @@ -10216,7 +13679,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account was upgraded."] @@ -10242,7 +13704,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Total issuance was increased by `amount`, creating a credit to be balanced."] @@ -10268,7 +13729,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Total issuance was decreased by `amount`, creating a debt to be balanced."] @@ -10294,7 +13754,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some balance was locked."] @@ -10322,7 +13781,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some balance was unlocked."] @@ -10350,7 +13808,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some balance was frozen."] @@ -10378,7 +13835,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some balance was thawed."] @@ -10406,7 +13862,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `TotalIssuance` was forcefully changed."] @@ -10899,7 +14354,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"] @@ -11085,7 +14539,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Report authority equivocation/misbehavior. This method will verify"] @@ -11123,7 +14576,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Report authority equivocation/misbehavior. This method will verify"] @@ -11166,7 +14618,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Plan an epoch config change. The epoch config change is recorded and will be enacted on"] @@ -11890,7 +15341,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Report voter equivocation/misbehavior. This method will verify the"] @@ -11926,7 +15376,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Report voter equivocation/misbehavior. This method will verify the"] @@ -11968,7 +15417,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Note that the current authority set of the GRANDPA finality gadget has stalled."] @@ -12101,7 +15549,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "New authority set has been applied."] @@ -12130,7 +15577,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Current authority set has been paused."] @@ -12150,7 +15596,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Current authority set has been resumed."] @@ -12476,7 +15921,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Assign an previously unassigned index."] @@ -12513,7 +15957,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Assign an index already owned by the sender to another account. The balance reservation"] @@ -12555,7 +15998,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Free up an index owned by the sender."] @@ -12592,7 +16034,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Force an index to an account. This doesn't require a deposit. If the index is already"] @@ -12637,7 +16078,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Freeze an index so it will always point to the sender account. This consumes the"] @@ -12826,7 +16266,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A account index was assigned."] @@ -12854,7 +16293,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A account index has been freed up (unassigned)."] @@ -12880,7 +16318,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A account index has been frozen to its current account ID."] @@ -13006,7 +16443,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Propose a sensitive action to be taken."] @@ -13046,7 +16482,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Signals agreement with a particular proposal."] @@ -13078,7 +16513,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Vote in a referendum. If `vote.is_aye()`, the vote is to enact the proposal;"] @@ -13114,7 +16548,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedule an emergency cancellation of a referendum. Cannot happen twice to the same"] @@ -13147,7 +16580,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedule a referendum to be tabled once it is legal to schedule an external"] @@ -13181,7 +16613,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedule a majority-carries referendum to be tabled next once it is legal to schedule"] @@ -13220,7 +16651,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedule a negative-turnout-bias referendum to be tabled next once it is legal to"] @@ -13259,7 +16689,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedule the currently externally-proposed majority-carries referendum to be tabled"] @@ -13304,7 +16733,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Veto and blacklist the external proposal hash."] @@ -13338,7 +16766,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove a referendum."] @@ -13371,7 +16798,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Delegate the voting power (with some given conviction) of the sending account."] @@ -13423,7 +16849,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Undelegate the voting power of the sending account."] @@ -13454,7 +16879,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Clears all public proposals."] @@ -13478,7 +16902,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Unlock tokens that have an expired lock."] @@ -13513,7 +16936,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove a vote for a referendum."] @@ -13565,7 +16987,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove a vote for a referendum."] @@ -13610,7 +17031,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Permanently place a proposal into the blacklist. This prevents it from ever being"] @@ -13652,7 +17072,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove a proposal."] @@ -13685,7 +17104,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set or clear a metadata of a proposal or a referendum."] @@ -14250,7 +17668,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A motion has been proposed by a public account."] @@ -14278,7 +17695,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A public proposal has been tabled for referendum vote."] @@ -14306,7 +17722,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An external proposal has been tabled."] @@ -14326,7 +17741,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A referendum has begun."] @@ -14354,7 +17768,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A proposal has been approved by referendum."] @@ -14380,7 +17793,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A proposal has been rejected by referendum."] @@ -14406,7 +17818,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A referendum has been cancelled."] @@ -14432,7 +17843,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account has delegated their vote to another account."] @@ -14460,7 +17870,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account has cancelled a previous delegation operation."] @@ -14486,7 +17895,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An external proposal has been vetoed."] @@ -14516,7 +17924,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A proposal_hash has been blacklisted permanently."] @@ -14542,7 +17949,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account has voted in a referendum"] @@ -14573,7 +17979,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account has seconded a proposal"] @@ -14601,7 +18006,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A proposal got canceled."] @@ -14627,7 +18031,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Metadata for a proposal or a referendum has been set."] @@ -14655,7 +18058,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Metadata for a proposal or a referendum has been cleared."] @@ -14683,7 +18085,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Metadata has been transferred to new owner."] @@ -15451,7 +18852,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the collective's membership."] @@ -15505,7 +18905,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Dispatch a proposal from a member using the `Member` origin."] @@ -15542,7 +18941,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Add a new proposal to either be voted on or executed directly."] @@ -15587,7 +18985,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Add an aye or nay vote for the sender to the given proposal."] @@ -15626,7 +19023,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Disapprove a proposal, close, and remove it from the system, regardless of its current"] @@ -15661,7 +19057,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Close a vote that is either approved, disapproved or whose voting period has ended."] @@ -15774,10 +19169,10 @@ pub mod api { length_bound, }, [ - 20u8, 205u8, 37u8, 232u8, 157u8, 68u8, 167u8, 180u8, 123u8, 172u8, - 53u8, 163u8, 23u8, 234u8, 223u8, 124u8, 216u8, 17u8, 150u8, 220u8, - 115u8, 69u8, 2u8, 223u8, 183u8, 238u8, 34u8, 226u8, 218u8, 1u8, 102u8, - 142u8, + 230u8, 87u8, 144u8, 247u8, 185u8, 220u8, 173u8, 212u8, 241u8, 193u8, + 231u8, 167u8, 236u8, 28u8, 159u8, 190u8, 253u8, 162u8, 5u8, 80u8, 33u8, + 216u8, 226u8, 79u8, 65u8, 216u8, 214u8, 95u8, 157u8, 133u8, 183u8, + 112u8, ], ) } @@ -15810,9 +19205,9 @@ pub mod api { length_bound, }, [ - 62u8, 135u8, 191u8, 84u8, 57u8, 106u8, 107u8, 243u8, 43u8, 47u8, 137u8, - 37u8, 41u8, 180u8, 128u8, 235u8, 192u8, 122u8, 206u8, 88u8, 10u8, 10u8, - 231u8, 145u8, 206u8, 69u8, 147u8, 169u8, 103u8, 144u8, 153u8, 167u8, + 96u8, 143u8, 31u8, 36u8, 76u8, 221u8, 138u8, 144u8, 130u8, 101u8, 38u8, + 121u8, 202u8, 210u8, 12u8, 21u8, 242u8, 167u8, 239u8, 84u8, 79u8, 33u8, + 160u8, 31u8, 120u8, 1u8, 83u8, 84u8, 142u8, 116u8, 23u8, 185u8, ], ) } @@ -15927,7 +19322,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A motion (given hash) has been proposed (by given account) with a threshold (given"] @@ -15960,7 +19354,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A motion (given hash) has been voted on by given account, leaving"] @@ -15995,7 +19388,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A motion was approved by the required threshold."] @@ -16021,7 +19413,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A motion was not approved by the required threshold."] @@ -16047,7 +19438,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A motion was executed; result will be `Ok` if it returned without error."] @@ -16076,7 +19466,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A single member did some action; result will be `Ok` if it returned without error."] @@ -16105,7 +19494,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A proposal was closed because its threshold was reached or after its duration was up."] @@ -16201,9 +19589,10 @@ pub mod api { "ProposalOf", (), [ - 118u8, 58u8, 81u8, 186u8, 92u8, 43u8, 186u8, 132u8, 78u8, 0u8, 78u8, - 177u8, 5u8, 175u8, 199u8, 9u8, 118u8, 53u8, 5u8, 220u8, 206u8, 223u8, - 185u8, 183u8, 159u8, 181u8, 217u8, 153u8, 73u8, 63u8, 3u8, 55u8, + 28u8, 98u8, 221u8, 221u8, 104u8, 153u8, 128u8, 153u8, 225u8, 210u8, + 133u8, 141u8, 232u8, 66u8, 233u8, 66u8, 198u8, 110u8, 172u8, 165u8, + 200u8, 8u8, 247u8, 229u8, 80u8, 190u8, 18u8, 73u8, 149u8, 82u8, 228u8, + 19u8, ], ) } @@ -16223,9 +19612,10 @@ pub mod api { "ProposalOf", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 118u8, 58u8, 81u8, 186u8, 92u8, 43u8, 186u8, 132u8, 78u8, 0u8, 78u8, - 177u8, 5u8, 175u8, 199u8, 9u8, 118u8, 53u8, 5u8, 220u8, 206u8, 223u8, - 185u8, 183u8, 159u8, 181u8, 217u8, 153u8, 73u8, 63u8, 3u8, 55u8, + 28u8, 98u8, 221u8, 221u8, 104u8, 153u8, 128u8, 153u8, 225u8, 210u8, + 133u8, 141u8, 232u8, 66u8, 233u8, 66u8, 198u8, 110u8, 172u8, 165u8, + 200u8, 8u8, 247u8, 229u8, 80u8, 190u8, 18u8, 73u8, 149u8, 82u8, 228u8, + 19u8, ], ) } @@ -16385,7 +19775,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Unlock any vested funds of the sender account."] @@ -16413,7 +19802,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Unlock any vested funds of a `target` account."] @@ -16452,7 +19840,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Create a vested transfer."] @@ -16498,7 +19885,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Force a vested transfer."] @@ -16550,7 +19936,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Merge two vesting schedules together, creating a new vesting schedule that unlocks over"] @@ -16598,7 +19983,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Force remove a vesting schedule"] @@ -16813,7 +20197,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The amount vested has been updated. This could indicate a change in funds available."] @@ -16842,7 +20225,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An \\[account\\] has become fully vested."] @@ -17006,7 +20388,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Vote for a set of candidates for the upcoming round of election. This can be called to"] @@ -17054,7 +20435,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove `origin` as a voter."] @@ -17078,7 +20458,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Submit oneself for candidacy. A fixed amount of deposit is recorded."] @@ -17119,7 +20498,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Renounce one's intention to be a candidate for the next election round. 3 potential"] @@ -17164,7 +20542,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove a particular member from the set. This is effective immediately and the bond of"] @@ -17212,7 +20589,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Clean all voters who are defunct (i.e. they do not serve any purpose at all). The"] @@ -17438,7 +20814,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A new term with new_members. This indicates that enough candidates existed to run"] @@ -17471,7 +20846,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "No (or not enough) candidates existed for this round. This is different from"] @@ -17492,7 +20866,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Internal error happened while trying to perform election."] @@ -17512,7 +20885,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A member has been removed. This should always be followed by either `NewTerm` or"] @@ -17539,7 +20911,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Someone has renounced their candidacy."] @@ -17565,7 +20936,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A candidate was slashed by amount due to failing to obtain a seat as member or"] @@ -17596,7 +20966,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A seat holder was slashed by amount by being forcefully removed from the set."] @@ -17998,7 +21367,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Submit a solution for the unsigned phase."] @@ -18043,7 +21411,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set a new value for `MinimumUntrustedScore`."] @@ -18074,7 +21441,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set a solution in the queue, to be handed out to the client of this pallet in the next"] @@ -18110,7 +21476,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Submit a solution for the signed phase."] @@ -18147,7 +21512,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Trigger the governance fallback."] @@ -18312,7 +21676,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A solution was stored with the given compute."] @@ -18349,7 +21712,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The election has been finalized, with the given computation and score."] @@ -18378,7 +21740,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An election failed."] @@ -18400,7 +21761,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account has been rewarded for their signed submission being finalized."] @@ -18428,7 +21788,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account has been slashed for submitting an invalid signed submission."] @@ -18456,7 +21815,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "There was a phase transition in a given round."] @@ -19087,7 +22445,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Take the origin account as a stash and lock up `value` of its balance. `controller` will"] @@ -19133,7 +22490,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Add some extra amount that have appeared in the stash `free_balance` into the balance up"] @@ -19173,7 +22529,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedule a portion of the stash to be unlocked ready for transfer out after the bond"] @@ -19218,7 +22573,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove any unlocked chunks from the `unlocking` queue from our management."] @@ -19266,7 +22620,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Declare the desire to validate for the origin controller."] @@ -19296,7 +22649,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Declare the desire to nominate `targets` for the origin controller."] @@ -19336,7 +22688,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Declare no desire to either validate or nominate."] @@ -19365,7 +22716,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "(Re-)set the payment target for a controller."] @@ -19404,7 +22754,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "(Re-)sets the controller of a stash to the stash itself. This function previously"] @@ -19437,7 +22786,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Sets the ideal number of validators."] @@ -19469,7 +22817,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Increments the ideal number of validators up to maximum of"] @@ -19502,7 +22849,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Scale up the ideal number of validators by a factor up to maximum of"] @@ -19534,7 +22880,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Force there to be no new eras indefinitely."] @@ -19566,7 +22911,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Force there to be a new era at the end of the next session. After this, it will be"] @@ -19599,7 +22943,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the validators who cannot be slashed (if any)."] @@ -19628,7 +22971,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Force a current staker to become completely unstaked, immediately."] @@ -19663,7 +23005,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Force there to be a new era at the end of sessions indefinitely."] @@ -19691,7 +23032,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel enactment of a deferred slash."] @@ -19723,7 +23063,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Pay out next page of the stakers behind a validator for the given era."] @@ -19763,7 +23102,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Rebond a portion of the stash scheduled to be unlocked."] @@ -19796,7 +23134,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove all data structures concerning a staker/stash once it is at a state where it can"] @@ -19841,7 +23178,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove the given nominations from the calling validator."] @@ -19882,7 +23218,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Update the various staking configurations ."] @@ -19957,7 +23292,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Declare a `controller` to stop participating as either a validator or nominator."] @@ -20008,7 +23342,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Force a validator to have at least the minimum commission. This will not affect a"] @@ -20036,7 +23369,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Sets the minimum amount of commission that each validators must maintain."] @@ -20065,7 +23397,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Pay out a page of the stakers behind a validator for the given era and page."] @@ -20111,7 +23442,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Migrates an account's `RewardDestination::Controller` to"] @@ -20142,7 +23472,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Updates a batch of controller accounts to their corresponding stash account if they are"] @@ -20177,7 +23506,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Restores the state of a ledger which is in an inconsistent state."] @@ -21054,7 +24382,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The era payout has been set; the first balance is the validator-payout; the second is"] @@ -21085,7 +24412,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The nominator has been rewarded by this amount to this destination."] @@ -21117,7 +24443,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A staker (validator or nominator) has been slashed by the given amount."] @@ -21145,7 +24470,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A slash for the given validator, for the given percentage of their stake, at the given"] @@ -21176,7 +24500,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An old slashing report from a prior era was discarded because it could"] @@ -21203,7 +24526,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A new set of stakers was elected."] @@ -21223,7 +24545,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account has bonded this amount. \\[stash, amount\\]"] @@ -21254,7 +24575,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account has unbonded this amount."] @@ -21282,7 +24602,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`"] @@ -21311,7 +24630,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A nominator has been kicked from a validator."] @@ -21339,7 +24657,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The election failed. No new era is planned."] @@ -21359,7 +24676,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account has stopped participating as either a validator or nominator."] @@ -21385,7 +24701,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The stakers' rewards are getting paid."] @@ -21413,7 +24728,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A validator has set their preferences."] @@ -21441,7 +24755,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Voters size limit reached."] @@ -21467,7 +24780,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Targets size limit reached."] @@ -21493,7 +24805,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A new force era mode was set."] @@ -21519,7 +24830,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Report of a controller batch deprecation."] @@ -23959,7 +27269,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Sets the session key(s) of the function caller to `keys`."] @@ -23995,7 +27304,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Removes any session key(s) of the function caller."] @@ -24087,7 +27395,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "New session has happened. Note that the argument is the session index, not the"] @@ -24497,7 +27804,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Propose and approve a spend of treasury funds."] @@ -24545,7 +27851,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Force a previously approved proposal to be removed from the approval queue."] @@ -24592,7 +27897,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Propose and approve a spend of treasury funds."] @@ -24650,7 +27954,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Claim a spend."] @@ -24694,7 +27997,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Check the status of the spend and remove it from the storage if processed."] @@ -24738,7 +28040,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Void previously approved spend."] @@ -25007,7 +28308,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "We have ended a spend period and will now allocate funds."] @@ -25033,7 +28333,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some funds have been allocated."] @@ -25063,7 +28362,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some of our funds have been burnt."] @@ -25089,7 +28387,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Spending has finished; this is the amount that rolls over until next spend."] @@ -25115,7 +28412,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some funds have been deposited."] @@ -25141,7 +28437,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A new spend proposal has been approved."] @@ -25171,7 +28466,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The inactive funds of the pallet have been updated."] @@ -25199,7 +28493,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A new asset spend proposal has been approved."] @@ -25235,7 +28528,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An approved spend was voided."] @@ -25261,7 +28553,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A payment happened."] @@ -25289,7 +28580,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A payment failed and can be retried."] @@ -25317,7 +28607,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A spend was processed and removed from the storage. It might have been successfully"] @@ -25665,7 +28954,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Propose a new bounty."] @@ -25705,7 +28993,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Approve a bounty proposal. At a later time, the bounty will be funded and become active"] @@ -25738,7 +29025,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Propose a curator to a funded bounty."] @@ -25778,7 +29064,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Unassign curator from a bounty."] @@ -25821,7 +29106,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Accept the curator role for a bounty."] @@ -25854,7 +29138,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Award bounty to a beneficiary account. The beneficiary will be able to claim the funds"] @@ -25895,7 +29178,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Claim the payout from an awarded bounty after payout delay."] @@ -25929,7 +29211,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel a proposed or active bounty. All the funds will be sent to treasury and"] @@ -25964,7 +29245,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Extend the expiry time of an active bounty."] @@ -26241,7 +29521,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "New bounty proposal."] @@ -26267,7 +29546,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A bounty proposal was rejected; funds were slashed."] @@ -26295,7 +29573,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A bounty proposal is funded and became active."] @@ -26321,7 +29598,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A bounty is awarded to a beneficiary."] @@ -26349,7 +29625,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A bounty is claimed by beneficiary."] @@ -26379,7 +29654,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A bounty is cancelled."] @@ -26405,7 +29679,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A bounty expiry is extended."] @@ -26431,7 +29704,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A bounty is approved."] @@ -26457,7 +29729,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A bounty curator is proposed."] @@ -26485,7 +29756,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A bounty curator is unassigned."] @@ -26511,7 +29781,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A bounty curator is accepted."] @@ -26870,7 +30139,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Add a new child-bounty."] @@ -26920,7 +30188,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Propose curator for funded child-bounty."] @@ -26972,7 +30239,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Accept the curator role for the child-bounty."] @@ -27020,7 +30286,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Unassign curator from a child-bounty."] @@ -27083,7 +30348,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Award child-bounty to a beneficiary."] @@ -27134,7 +30398,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Claim the payout from an awarded child-bounty after payout delay."] @@ -27179,7 +30442,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel a proposed or active child-bounty. Child-bounty account funds"] @@ -27501,7 +30763,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A child-bounty is added."] @@ -27529,7 +30790,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A child-bounty is awarded to a beneficiary."] @@ -27559,7 +30819,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A child-bounty is claimed by beneficiary."] @@ -27591,7 +30850,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A child-bounty is cancelled."] @@ -27947,7 +31205,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Declare that some `dislocated` account has, through rewards or penalties, sufficiently"] @@ -27985,7 +31242,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Move the caller's Id directly in front of `lighter`."] @@ -28023,7 +31279,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Same as [`Pallet::put_in_front_of`], but it can be called by anyone."] @@ -28138,7 +31393,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Moved an account from one bag to another."] @@ -28168,7 +31422,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Updated the score of some account to the given amount."] @@ -28414,7 +31667,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Stake funds with a pool. The amount to bond is transferred from the member to the"] @@ -28452,7 +31704,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Bond `extra` more funds from `origin` into the pool to which they already belong."] @@ -28485,7 +31736,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A bonded member can use this to claim their payout based on the rewards that the pool"] @@ -28512,7 +31762,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Unbond up to `unbonding_points` of the `member_account`'s funds from the pool. It"] @@ -28574,7 +31823,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Call `withdraw_unbonded` for the pools account. This call can be made by any account."] @@ -28607,7 +31855,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Withdraw unbonded funds from `member_account`. If no bonded funds can be unbonded, an"] @@ -28659,7 +31906,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Create a new delegation pool."] @@ -28717,7 +31963,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Create a new delegation pool with a previously used pool id"] @@ -28766,7 +32011,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Nominate on behalf of the pool."] @@ -28806,7 +32050,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set a new state for the pool."] @@ -28843,7 +32086,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set a new metadata for the pool."] @@ -28874,7 +32116,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Update configurations for the nomination pools. The origin for this call must be"] @@ -28927,7 +32168,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Update the roles of the pool."] @@ -28971,7 +32211,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Chill on behalf of the pool."] @@ -29012,7 +32251,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "`origin` bonds funds from `extra` for some pool member `member` into their respective"] @@ -29052,7 +32290,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Allows a pool member to set a claim permission to allow or disallow permissionless"] @@ -29084,7 +32321,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "`origin` can claim payouts on some pool member `other`'s behalf."] @@ -29113,7 +32349,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the commission of a pool."] @@ -29148,7 +32383,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the maximum commission of a pool."] @@ -29180,7 +32414,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the commission change rate for a pool."] @@ -29214,7 +32447,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Claim pending commission."] @@ -29244,7 +32476,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Top up the deficit or withdraw the excess ED from the pool."] @@ -29276,7 +32507,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set or remove a pool's commission claim permission."] @@ -29311,7 +32541,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Apply a pending slash on a member."] @@ -29348,7 +32577,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Migrates delegated funds from the pool account to the `member_account`."] @@ -29385,7 +32613,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Migrate pool from [`adapter::StakeStrategyType::Transfer`] to"] @@ -30107,7 +33334,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A pool has been created."] @@ -30135,7 +33361,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A member has became bonded in a pool."] @@ -30167,7 +33392,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A payout has been made to a member."] @@ -30197,7 +33421,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A member has unbonded from their pool."] @@ -30241,7 +33464,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A member has withdrawn from their pool."] @@ -30278,7 +33500,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A pool has been destroyed."] @@ -30304,7 +33525,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The state of a pool has changed"] @@ -30332,7 +33552,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A member has been removed from a pool."] @@ -30362,7 +33581,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The roles of a pool have been updated to the given new roles. Note that the depositor"] @@ -30393,7 +33611,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The active balance of pool `pool_id` has been slashed to `balance`."] @@ -30421,7 +33638,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The unbond pool at `era` of pool `pool_id` has been slashed to `balance`."] @@ -30451,7 +33667,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A pool's commission setting has been changed."] @@ -30482,7 +33697,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A pool's maximum commission setting has been changed."] @@ -30510,7 +33724,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A pool's commission `change_rate` has been changed."] @@ -30540,7 +33753,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Pool commission claim permission has been updated."] @@ -30572,7 +33784,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Pool commission has been claimed."] @@ -30600,7 +33811,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Topped up deficit in frozen ED of the reward pool."] @@ -30628,7 +33838,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Claimed excess frozen ED of af the reward pool."] @@ -31484,7 +34693,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Anonymously schedule a task."] @@ -31517,7 +34725,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel an anonymously scheduled task."] @@ -31545,7 +34752,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedule a named task."] @@ -31580,7 +34786,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel a named scheduled task."] @@ -31606,7 +34811,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Anonymously schedule a task after a delay."] @@ -31639,7 +34843,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedule a named task after a delay."] @@ -31674,7 +34877,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set a retry configuration for a task so that, in case its scheduled run fails, it will"] @@ -31715,7 +34917,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set a retry configuration for a named task so that, in case its scheduled run fails, it"] @@ -31756,7 +34957,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Removes the retry configuration of a task."] @@ -31782,7 +34982,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel the retry configuration of a named task."] @@ -31818,9 +35017,9 @@ pub mod api { call: ::subxt_core::alloc::boxed::Box::new(call), }, [ - 239u8, 200u8, 156u8, 45u8, 223u8, 6u8, 13u8, 135u8, 54u8, 89u8, 217u8, - 250u8, 43u8, 156u8, 39u8, 82u8, 14u8, 103u8, 195u8, 145u8, 213u8, 69u8, - 254u8, 129u8, 49u8, 205u8, 35u8, 69u8, 170u8, 46u8, 168u8, 10u8, + 32u8, 181u8, 79u8, 120u8, 225u8, 222u8, 87u8, 12u8, 131u8, 96u8, 173u8, + 94u8, 164u8, 199u8, 43u8, 220u8, 46u8, 50u8, 45u8, 233u8, 113u8, 95u8, + 24u8, 76u8, 52u8, 236u8, 44u8, 131u8, 161u8, 225u8, 21u8, 164u8, ], ) } @@ -31862,9 +35061,9 @@ pub mod api { call: ::subxt_core::alloc::boxed::Box::new(call), }, [ - 218u8, 234u8, 49u8, 229u8, 251u8, 169u8, 42u8, 39u8, 182u8, 160u8, - 23u8, 20u8, 60u8, 67u8, 144u8, 148u8, 179u8, 221u8, 42u8, 12u8, 3u8, - 85u8, 139u8, 240u8, 68u8, 140u8, 90u8, 108u8, 86u8, 123u8, 89u8, 148u8, + 122u8, 43u8, 131u8, 43u8, 123u8, 152u8, 68u8, 164u8, 58u8, 245u8, 69u8, + 112u8, 148u8, 58u8, 167u8, 9u8, 20u8, 79u8, 155u8, 16u8, 0u8, 11u8, + 249u8, 40u8, 131u8, 166u8, 180u8, 146u8, 122u8, 102u8, 107u8, 172u8, ], ) } @@ -31902,10 +35101,9 @@ pub mod api { call: ::subxt_core::alloc::boxed::Box::new(call), }, [ - 15u8, 18u8, 103u8, 111u8, 90u8, 114u8, 56u8, 181u8, 138u8, 133u8, 94u8, - 46u8, 238u8, 69u8, 197u8, 181u8, 86u8, 108u8, 122u8, 212u8, 156u8, - 40u8, 231u8, 198u8, 171u8, 58u8, 208u8, 203u8, 240u8, 250u8, 193u8, - 246u8, + 199u8, 126u8, 103u8, 36u8, 37u8, 71u8, 41u8, 140u8, 136u8, 137u8, 43u8, + 140u8, 230u8, 172u8, 82u8, 83u8, 90u8, 18u8, 228u8, 119u8, 188u8, + 166u8, 37u8, 124u8, 255u8, 187u8, 23u8, 8u8, 226u8, 19u8, 63u8, 253u8, ], ) } @@ -31929,10 +35127,10 @@ pub mod api { call: ::subxt_core::alloc::boxed::Box::new(call), }, [ - 158u8, 114u8, 222u8, 129u8, 246u8, 8u8, 44u8, 76u8, 187u8, 31u8, 253u8, - 58u8, 51u8, 55u8, 191u8, 246u8, 217u8, 149u8, 187u8, 151u8, 230u8, - 30u8, 31u8, 116u8, 212u8, 178u8, 197u8, 47u8, 22u8, 119u8, 240u8, - 240u8, + 173u8, 131u8, 170u8, 217u8, 3u8, 51u8, 235u8, 172u8, 120u8, 122u8, + 112u8, 52u8, 193u8, 78u8, 34u8, 250u8, 21u8, 164u8, 211u8, 24u8, 48u8, + 41u8, 63u8, 195u8, 208u8, 150u8, 254u8, 236u8, 152u8, 229u8, 198u8, + 109u8, ], ) } @@ -32044,7 +35242,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Scheduled some task."] @@ -32072,7 +35269,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Canceled some task."] @@ -32100,7 +35296,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Dispatched some task."] @@ -32131,7 +35326,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set a retry configuration for some task."] @@ -32163,7 +35357,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel a retry configuration for some task."] @@ -32191,7 +35384,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The call for the provided hash was not found so the task has been aborted."] @@ -32219,7 +35411,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The given task was unable to be renewed since the agenda is full at that block."] @@ -32247,7 +35438,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The given task was unable to be retried since the agenda is full at that block or there"] @@ -32276,7 +35466,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The given task can never be executed since it is overweight."] @@ -32371,10 +35560,10 @@ pub mod api { "Agenda", (), [ - 207u8, 229u8, 12u8, 111u8, 82u8, 163u8, 230u8, 234u8, 172u8, 240u8, - 41u8, 179u8, 64u8, 235u8, 253u8, 139u8, 75u8, 150u8, 218u8, 97u8, - 123u8, 252u8, 91u8, 74u8, 17u8, 60u8, 66u8, 229u8, 84u8, 153u8, 164u8, - 160u8, + 2u8, 184u8, 190u8, 159u8, 140u8, 114u8, 224u8, 204u8, 142u8, 248u8, + 204u8, 244u8, 245u8, 218u8, 254u8, 145u8, 128u8, 245u8, 213u8, 235u8, + 131u8, 178u8, 211u8, 101u8, 1u8, 164u8, 84u8, 140u8, 195u8, 114u8, + 167u8, 117u8, ], ) } @@ -32394,10 +35583,10 @@ pub mod api { "Agenda", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 207u8, 229u8, 12u8, 111u8, 82u8, 163u8, 230u8, 234u8, 172u8, 240u8, - 41u8, 179u8, 64u8, 235u8, 253u8, 139u8, 75u8, 150u8, 218u8, 97u8, - 123u8, 252u8, 91u8, 74u8, 17u8, 60u8, 66u8, 229u8, 84u8, 153u8, 164u8, - 160u8, + 2u8, 184u8, 190u8, 159u8, 140u8, 114u8, 224u8, 204u8, 142u8, 248u8, + 204u8, 244u8, 245u8, 218u8, 254u8, 145u8, 128u8, 245u8, 213u8, 235u8, + 131u8, 178u8, 211u8, 101u8, 1u8, 164u8, 84u8, 140u8, 195u8, 114u8, + 167u8, 117u8, ], ) } @@ -32593,7 +35782,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Register a preimage on-chain."] @@ -32622,7 +35810,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Clear an unrequested preimage from the runtime storage."] @@ -32653,7 +35840,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Request a preimage be uploaded to the chain without paying any fees or deposits."] @@ -32682,7 +35868,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Clear a previously made request for a preimage."] @@ -32710,7 +35895,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Ensure that the a bulk of pre-images is upgraded."] @@ -32845,7 +36029,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A preimage has been noted."] @@ -32871,7 +36054,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A preimage has been requested."] @@ -32897,7 +36079,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A preimage has ben cleared."] @@ -33132,7 +36313,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "There is an offence reported of the given `kind` happened at the `session_index` and"] @@ -33331,7 +36511,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Pause a call."] @@ -33367,7 +36546,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Un-pause a call."] @@ -33451,7 +36629,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "This pallet, or a specific call is now paused."] @@ -33484,7 +36661,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "This pallet, or a specific call is now unpaused."] @@ -33650,7 +36826,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "## Complexity:"] @@ -33710,7 +36885,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A new heartbeat was received from `AuthorityId`."] @@ -33737,7 +36911,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "At the end of the session, no offence was committed."] @@ -33757,7 +36930,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "At the end of the session, at least one validator was found to be offline."] @@ -34075,7 +37247,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Add a registrar to the system."] @@ -34110,7 +37281,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set an account's identity information and reserve the appropriate deposit."] @@ -34145,7 +37315,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the sub-accounts of the sender."] @@ -34182,7 +37351,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Clear an account's identity info and all sub-accounts and return all deposits."] @@ -34209,7 +37377,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Request a judgement from a registrar."] @@ -34254,7 +37421,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel a previous request."] @@ -34289,7 +37455,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the fee required for a judgement to be requested from a registrar."] @@ -34325,7 +37490,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Change the account associated with a registrar."] @@ -34363,7 +37527,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the field information for a registrar."] @@ -34398,7 +37561,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Provide a judgement for an account's identity."] @@ -34449,7 +37611,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove an account's identity and sub-account information and slash the deposits."] @@ -34489,7 +37650,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Add the given account to the sender's subs."] @@ -34526,7 +37686,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Alter the associated name of the given sub-account."] @@ -34560,7 +37719,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove the given account from the sender's subs."] @@ -34595,7 +37753,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove the sender as a sub-account."] @@ -34624,7 +37781,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Add an `AccountId` with permission to grant usernames with a given `suffix` appended."] @@ -34660,7 +37816,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove `authority` from the username authorities."] @@ -34689,7 +37844,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the username for `who`. Must be called by a username authority."] @@ -34731,7 +37885,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Accept a given username that an `authority` granted. The call must include the full"] @@ -34760,7 +37913,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove an expired username approval. The username was approved by an authority but never"] @@ -34790,7 +37942,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set a given username as the primary. The username should include the suffix."] @@ -34818,7 +37969,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove a username that corresponds to an account with no identity. Exists when a user"] @@ -35364,7 +38514,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A name was set or reset (which will remove all judgements)."] @@ -35390,7 +38539,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A name was cleared, and the given balance returned."] @@ -35418,7 +38566,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A name was removed and the given balance slashed."] @@ -35446,7 +38593,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A judgement was asked from a registrar."] @@ -35474,7 +38620,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A judgement request was retracted."] @@ -35502,7 +38647,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A judgement was given by a registrar."] @@ -35530,7 +38674,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A registrar was added."] @@ -35556,7 +38699,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A sub-identity was added to an identity and the deposit paid."] @@ -35586,7 +38728,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A sub-identity was removed from an identity and the deposit freed."] @@ -35616,7 +38757,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A sub-identity was cleared, and the given deposit repatriated from the"] @@ -35647,7 +38787,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A username authority was added."] @@ -35673,7 +38812,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A username authority was removed."] @@ -35699,7 +38837,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A username was set for `who`."] @@ -35729,7 +38866,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A username was queued, but `who` must accept it prior to `expiration`."] @@ -35761,7 +38897,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A queued username passed its expiration without being claimed and was removed."] @@ -35787,7 +38922,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A username was set as a primary and can be looked up from `who`."] @@ -35817,7 +38951,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A dangling username (as in, a username corresponding to an account that has removed its"] @@ -36398,7 +39531,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Send a batch of dispatch calls."] @@ -36443,7 +39575,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Send a call through an indexed pseudonym of the sender."] @@ -36483,7 +39614,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Send a batch of dispatch calls and atomically execute them."] @@ -36523,7 +39653,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Dispatches a function call with a provided origin."] @@ -36556,7 +39685,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Send a batch of dispatch calls."] @@ -36596,7 +39724,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Dispatch a function call with a specified weight."] @@ -36648,10 +39775,9 @@ pub mod api { "batch", types::Batch { calls }, [ - 9u8, 44u8, 233u8, 165u8, 201u8, 154u8, 52u8, 224u8, 227u8, 185u8, - 223u8, 65u8, 156u8, 70u8, 235u8, 105u8, 212u8, 240u8, 224u8, 56u8, - 223u8, 28u8, 37u8, 39u8, 183u8, 28u8, 188u8, 239u8, 71u8, 25u8, 251u8, - 58u8, + 192u8, 79u8, 25u8, 141u8, 136u8, 221u8, 89u8, 188u8, 36u8, 36u8, 7u8, + 170u8, 58u8, 129u8, 138u8, 69u8, 20u8, 1u8, 7u8, 156u8, 46u8, 64u8, + 130u8, 139u8, 13u8, 123u8, 233u8, 155u8, 45u8, 26u8, 63u8, 141u8, ], ) } @@ -36681,9 +39807,10 @@ pub mod api { call: ::subxt_core::alloc::boxed::Box::new(call), }, [ - 129u8, 16u8, 192u8, 221u8, 162u8, 229u8, 249u8, 212u8, 227u8, 149u8, - 169u8, 63u8, 193u8, 25u8, 67u8, 75u8, 4u8, 67u8, 52u8, 231u8, 154u8, - 11u8, 132u8, 20u8, 143u8, 70u8, 127u8, 46u8, 95u8, 99u8, 153u8, 61u8, + 107u8, 229u8, 151u8, 202u8, 60u8, 1u8, 245u8, 223u8, 15u8, 241u8, 18u8, + 215u8, 235u8, 198u8, 156u8, 222u8, 24u8, 126u8, 77u8, 117u8, 24u8, + 49u8, 46u8, 101u8, 233u8, 122u8, 129u8, 223u8, 104u8, 247u8, 103u8, + 129u8, ], ) } @@ -36709,10 +39836,10 @@ pub mod api { "batch_all", types::BatchAll { calls }, [ - 93u8, 30u8, 30u8, 191u8, 183u8, 236u8, 216u8, 229u8, 98u8, 238u8, - 245u8, 210u8, 157u8, 105u8, 109u8, 86u8, 253u8, 152u8, 149u8, 113u8, - 82u8, 49u8, 94u8, 91u8, 255u8, 166u8, 107u8, 24u8, 122u8, 252u8, 41u8, - 236u8, + 195u8, 38u8, 169u8, 72u8, 161u8, 183u8, 78u8, 21u8, 28u8, 151u8, 253u8, + 133u8, 219u8, 235u8, 23u8, 158u8, 23u8, 53u8, 20u8, 114u8, 187u8, + 186u8, 239u8, 217u8, 220u8, 68u8, 60u8, 208u8, 152u8, 228u8, 95u8, + 175u8, ], ) } @@ -36735,9 +39862,10 @@ pub mod api { call: ::subxt_core::alloc::boxed::Box::new(call), }, [ - 46u8, 46u8, 176u8, 42u8, 24u8, 50u8, 190u8, 132u8, 227u8, 66u8, 100u8, - 226u8, 44u8, 20u8, 24u8, 82u8, 80u8, 132u8, 160u8, 234u8, 27u8, 205u8, - 135u8, 3u8, 147u8, 47u8, 167u8, 86u8, 173u8, 231u8, 249u8, 164u8, + 114u8, 205u8, 158u8, 38u8, 117u8, 78u8, 209u8, 75u8, 149u8, 197u8, + 188u8, 141u8, 245u8, 235u8, 193u8, 84u8, 152u8, 128u8, 154u8, 1u8, + 64u8, 188u8, 242u8, 13u8, 174u8, 240u8, 237u8, 78u8, 175u8, 216u8, + 140u8, 165u8, ], ) } @@ -36763,10 +39891,9 @@ pub mod api { "force_batch", types::ForceBatch { calls }, [ - 182u8, 115u8, 96u8, 170u8, 250u8, 150u8, 70u8, 253u8, 219u8, 151u8, - 177u8, 183u8, 166u8, 84u8, 73u8, 207u8, 153u8, 92u8, 231u8, 140u8, - 238u8, 206u8, 18u8, 144u8, 41u8, 106u8, 72u8, 34u8, 154u8, 58u8, 50u8, - 181u8, + 232u8, 85u8, 160u8, 16u8, 163u8, 52u8, 126u8, 117u8, 175u8, 42u8, 48u8, + 77u8, 224u8, 120u8, 80u8, 3u8, 119u8, 193u8, 146u8, 0u8, 91u8, 242u8, + 103u8, 25u8, 29u8, 231u8, 77u8, 54u8, 224u8, 126u8, 34u8, 243u8, ], ) } @@ -36789,10 +39916,10 @@ pub mod api { weight, }, [ - 174u8, 3u8, 74u8, 180u8, 100u8, 115u8, 83u8, 100u8, 137u8, 232u8, - 230u8, 142u8, 117u8, 127u8, 101u8, 166u8, 248u8, 168u8, 78u8, 53u8, - 183u8, 187u8, 106u8, 29u8, 84u8, 79u8, 48u8, 66u8, 34u8, 126u8, 215u8, - 14u8, + 71u8, 198u8, 74u8, 188u8, 63u8, 197u8, 29u8, 170u8, 253u8, 221u8, + 254u8, 149u8, 37u8, 100u8, 117u8, 39u8, 106u8, 231u8, 143u8, 210u8, + 19u8, 58u8, 191u8, 156u8, 199u8, 28u8, 180u8, 120u8, 200u8, 170u8, + 218u8, 166u8, ], ) } @@ -36813,7 +39940,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"] @@ -36842,7 +39968,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Batch of dispatches completed fully with no error."] @@ -36862,7 +39987,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Batch of dispatches completed but has errors."] @@ -36882,7 +40006,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A single item within a Batch of dispatches has completed with no error."] @@ -36902,7 +40025,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A single item within a Batch of dispatches has completed with error."] @@ -36928,7 +40050,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A call was dispatched."] @@ -36991,7 +40112,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Immediately dispatch a multi-signature call using a single approval from the caller."] @@ -37031,7 +40151,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] @@ -37106,7 +40225,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] @@ -37172,7 +40290,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously"] @@ -37243,9 +40360,10 @@ pub mod api { call: ::subxt_core::alloc::boxed::Box::new(call), }, [ - 70u8, 81u8, 93u8, 107u8, 197u8, 156u8, 218u8, 126u8, 230u8, 88u8, 11u8, - 34u8, 64u8, 125u8, 129u8, 146u8, 160u8, 181u8, 39u8, 99u8, 122u8, - 176u8, 62u8, 152u8, 17u8, 80u8, 109u8, 15u8, 189u8, 240u8, 206u8, 7u8, + 112u8, 249u8, 108u8, 221u8, 162u8, 88u8, 2u8, 183u8, 69u8, 19u8, 205u8, + 219u8, 75u8, 206u8, 237u8, 192u8, 37u8, 184u8, 125u8, 186u8, 241u8, + 105u8, 223u8, 33u8, 152u8, 238u8, 125u8, 86u8, 157u8, 60u8, 193u8, + 59u8, ], ) } @@ -37307,9 +40425,9 @@ pub mod api { max_weight, }, [ - 70u8, 22u8, 128u8, 90u8, 123u8, 136u8, 254u8, 109u8, 91u8, 106u8, - 247u8, 25u8, 46u8, 216u8, 94u8, 14u8, 113u8, 27u8, 149u8, 79u8, 160u8, - 86u8, 93u8, 101u8, 117u8, 173u8, 120u8, 198u8, 84u8, 5u8, 113u8, 226u8, + 148u8, 61u8, 238u8, 31u8, 233u8, 200u8, 226u8, 20u8, 16u8, 29u8, 229u8, + 97u8, 252u8, 94u8, 73u8, 221u8, 122u8, 73u8, 58u8, 47u8, 52u8, 120u8, + 43u8, 90u8, 82u8, 226u8, 44u8, 46u8, 206u8, 119u8, 58u8, 204u8, ], ) } @@ -37425,7 +40543,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A new multisig operation has begun."] @@ -37455,7 +40572,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A multisig operation has been approved by someone."] @@ -37488,7 +40604,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A multisig operation has been executed."] @@ -37524,7 +40639,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A multisig operation has been cancelled."] @@ -37722,7 +40836,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Transact an Ethereum transaction."] @@ -37773,7 +40886,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An ethereum transaction was successfully executed."] @@ -37987,7 +41099,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Withdraw balance from EVM into currency/balances pallet."] @@ -38015,7 +41126,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Issue an EVM call operation. This is similar to a message call transaction in Ethereum."] @@ -38061,7 +41171,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Issue an EVM create operation. This is similar to a contract creation transaction in"] @@ -38106,7 +41215,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Issue an EVM create2 operation."] @@ -38281,7 +41389,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Ethereum events from contracts."] @@ -38307,7 +41414,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A contract has been created at given address."] @@ -38333,7 +41439,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A contract was attempted to be created, but the execution failed."] @@ -38359,7 +41464,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A contract has been executed successfully with states applied."] @@ -38385,7 +41489,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A contract has been executed with errors. States are reverted with only gas fees applied."] @@ -38695,7 +41798,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct NoteMinGasPriceTarget { @@ -38809,7 +41911,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SetBaseFeePerGas { @@ -38834,7 +41935,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SetElasticity { @@ -38899,7 +41999,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct NewBaseFeePerGas { @@ -38924,7 +42023,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BaseFeeOverflow; @@ -38943,7 +42041,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct NewElasticity { @@ -39040,7 +42137,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Increment `sufficients` for existing accounts having a nonzero `nonce` but zero `sufficients`, `consumers` and `providers` value."] @@ -39109,7 +42205,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Make a claim to collect your tokens."] @@ -39167,7 +42262,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Mint a new claim to collect native tokens."] @@ -39220,7 +42314,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Make a claim to collect your native tokens by signing a statement."] @@ -39283,7 +42376,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct MoveClaim { @@ -39310,7 +42402,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the value for expiryconfig"] @@ -39339,7 +42430,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Claim from signed origin"] @@ -39549,7 +42639,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Someone claimed some native tokens."] @@ -39830,7 +42919,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Dispatch the given `call` from an account that the sender is authorised for through"] @@ -39872,7 +42960,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Register a proxy account for the sender that is able to make calls on its behalf."] @@ -39913,7 +43000,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Unregister a proxy account for the sender."] @@ -39952,7 +43038,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Unregister all proxy accounts for the sender."] @@ -39977,7 +43062,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and"] @@ -40024,7 +43108,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Removes a previously spawned pure proxy."] @@ -40078,7 +43161,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Publish the hash of a proxy-call that will be made in the future."] @@ -40123,7 +43205,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove a given announcement."] @@ -40163,7 +43244,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove the given announcement of a delegate."] @@ -40203,7 +43283,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Dispatch the given `call` from an account that the sender is authorized for through"] @@ -40268,9 +43347,10 @@ pub mod api { call: ::subxt_core::alloc::boxed::Box::new(call), }, [ - 71u8, 246u8, 119u8, 107u8, 243u8, 233u8, 66u8, 82u8, 24u8, 50u8, 174u8, - 163u8, 8u8, 15u8, 126u8, 87u8, 65u8, 72u8, 107u8, 72u8, 25u8, 215u8, - 172u8, 45u8, 14u8, 122u8, 213u8, 62u8, 50u8, 178u8, 89u8, 126u8, + 232u8, 131u8, 126u8, 125u8, 115u8, 5u8, 116u8, 187u8, 172u8, 166u8, + 168u8, 183u8, 84u8, 115u8, 32u8, 164u8, 139u8, 105u8, 164u8, 197u8, + 71u8, 21u8, 30u8, 185u8, 106u8, 157u8, 131u8, 231u8, 33u8, 253u8, + 245u8, 230u8, ], ) } @@ -40526,10 +43606,9 @@ pub mod api { call: ::subxt_core::alloc::boxed::Box::new(call), }, [ - 189u8, 159u8, 197u8, 125u8, 196u8, 86u8, 40u8, 14u8, 108u8, 147u8, - 131u8, 170u8, 239u8, 110u8, 166u8, 60u8, 245u8, 196u8, 198u8, 177u8, - 88u8, 212u8, 149u8, 243u8, 178u8, 169u8, 42u8, 133u8, 226u8, 229u8, - 74u8, 204u8, + 212u8, 215u8, 201u8, 10u8, 64u8, 74u8, 75u8, 44u8, 156u8, 36u8, 201u8, + 96u8, 197u8, 215u8, 120u8, 99u8, 86u8, 255u8, 149u8, 139u8, 39u8, + 215u8, 150u8, 220u8, 163u8, 5u8, 181u8, 105u8, 24u8, 74u8, 220u8, 64u8, ], ) } @@ -40550,7 +43629,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A proxy was executed correctly, with the given."] @@ -40577,7 +43655,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A pure account has been created by new proxy with given"] @@ -40610,7 +43687,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An announcement was placed to make a call in the future."] @@ -40640,7 +43716,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A proxy was added."] @@ -40672,7 +43747,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A proxy was removed."] @@ -40951,7 +44025,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Allows an account to join as an operator by staking the required bond amount."] @@ -40991,7 +44064,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedules an operator to leave the system."] @@ -41024,7 +44096,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancels a scheduled leave for an operator."] @@ -41057,7 +44128,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Executes a scheduled leave for an operator."] @@ -41091,7 +44161,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Allows an operator to increase their stake."] @@ -41131,7 +44200,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedules an operator to decrease their stake."] @@ -41172,7 +44240,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Executes a scheduled stake decrease for an operator."] @@ -41206,7 +44273,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancels a scheduled stake decrease for an operator."] @@ -41239,11 +44305,13 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Allows an operator to go offline."] #[doc = ""] + #[doc = "Being offline means the operator should not be able to be"] + #[doc = "requested for services."] + #[doc = ""] #[doc = "# Permissions"] #[doc = ""] #[doc = "* Must be signed by the operator account"] @@ -41272,7 +44340,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Allows an operator to go online."] @@ -41305,7 +44372,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Allows a user to deposit an asset."] @@ -41317,7 +44383,7 @@ pub mod api { #[doc = "# Arguments"] #[doc = ""] #[doc = "* `origin` - Origin of the call"] - #[doc = "* `asset_id` - ID of the asset to deposit"] + #[doc = "* `asset` - Asset on to deposit"] #[doc = "* `amount` - Amount to deposit"] #[doc = "* `evm_address` - Optional EVM address"] #[doc = ""] @@ -41326,15 +44392,16 @@ pub mod api { #[doc = "* [`Error::DepositOverflow`] - Deposit would overflow tracking"] #[doc = "* [`Error::InvalidAsset`] - Asset is not supported"] pub struct Deposit { - pub asset_id: deposit::AssetId, + pub asset: deposit::Asset, pub amount: deposit::Amount, pub evm_address: deposit::EvmAddress, pub lock_multiplier: deposit::LockMultiplier, } pub mod deposit { use super::runtime_types; - pub type AssetId = - runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; pub type Amount = ::core::primitive::u128; pub type EvmAddress = ::core::option::Option<::subxt_core::utils::H160>; pub type LockMultiplier = ::core::option::Option< @@ -41356,7 +44423,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedules a withdraw request."] @@ -41368,7 +44434,7 @@ pub mod api { #[doc = "# Arguments"] #[doc = ""] #[doc = "* `origin` - Origin of the call"] - #[doc = "* `asset_id` - ID of the asset to withdraw"] + #[doc = "* `asset` - Asset on to withdraw"] #[doc = "* `amount` - Amount to withdraw"] #[doc = ""] #[doc = "# Errors"] @@ -41376,13 +44442,14 @@ pub mod api { #[doc = "* [`Error::InsufficientBalance`] - Insufficient balance to withdraw"] #[doc = "* [`Error::PendingWithdrawRequestExists`] - Pending withdraw request exists"] pub struct ScheduleWithdraw { - pub asset_id: schedule_withdraw::AssetId, + pub asset: schedule_withdraw::Asset, pub amount: schedule_withdraw::Amount, } pub mod schedule_withdraw { use super::runtime_types; - pub type AssetId = - runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; pub type Amount = ::core::primitive::u128; } impl ::subxt_core::blocks::StaticExtrinsic for ScheduleWithdraw { @@ -41400,7 +44467,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Executes a scheduled withdraw request."] @@ -41440,7 +44506,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancels a scheduled withdraw request."] @@ -41452,20 +44517,21 @@ pub mod api { #[doc = "# Arguments"] #[doc = ""] #[doc = "* `origin` - Origin of the call"] - #[doc = "* `asset_id` - ID of the asset withdrawal to cancel"] + #[doc = "* `asset` - Asset on withdrawal to cancel"] #[doc = "* `amount` - Amount of the withdrawal to cancel"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] #[doc = "* [`Error::NoWithdrawRequestExists`] - No pending withdraw request exists"] pub struct CancelWithdraw { - pub asset_id: cancel_withdraw::AssetId, + pub asset: cancel_withdraw::Asset, pub amount: cancel_withdraw::Amount, } pub mod cancel_withdraw { use super::runtime_types; - pub type AssetId = - runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; pub type Amount = ::core::primitive::u128; } impl ::subxt_core::blocks::StaticExtrinsic for CancelWithdraw { @@ -41483,7 +44549,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Allows a user to delegate an amount of an asset to an operator."] @@ -41496,7 +44561,7 @@ pub mod api { #[doc = ""] #[doc = "* `origin` - Origin of the call"] #[doc = "* `operator` - Operator to delegate to"] - #[doc = "* `asset_id` - ID of asset to delegate"] + #[doc = "* `asset` - ID of asset to delegate"] #[doc = "* `amount` - Amount to delegate"] #[doc = "* `blueprint_selection` - Blueprint selection strategy"] #[doc = ""] @@ -41507,15 +44572,16 @@ pub mod api { #[doc = "* [`Error::MaxDelegationsExceeded`] - Would exceed max delegations"] pub struct Delegate { pub operator: delegate::Operator, - pub asset_id: delegate::AssetId, + pub asset: delegate::Asset, pub amount: delegate::Amount, pub blueprint_selection: delegate::BlueprintSelection, } pub mod delegate { use super::runtime_types; pub type Operator = ::subxt_core::utils::AccountId32; - pub type AssetId = - runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; pub type Amount = ::core::primitive::u128; pub type BlueprintSelection = runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorBlueprintSelection < runtime_types :: tangle_testnet_runtime :: MaxDelegatorBlueprints > ; } @@ -41534,7 +44600,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedules a request to reduce a delegator's stake."] @@ -41547,7 +44612,7 @@ pub mod api { #[doc = ""] #[doc = "* `origin` - Origin of the call"] #[doc = "* `operator` - Operator to unstake from"] - #[doc = "* `asset_id` - ID of asset to unstake"] + #[doc = "* `asset` - ID of asset to unstake"] #[doc = "* `amount` - Amount to unstake"] #[doc = ""] #[doc = "# Errors"] @@ -41557,14 +44622,15 @@ pub mod api { #[doc = "* [`Error::PendingUnstakeRequestExists`] - Pending unstake request exists"] pub struct ScheduleDelegatorUnstake { pub operator: schedule_delegator_unstake::Operator, - pub asset_id: schedule_delegator_unstake::AssetId, + pub asset: schedule_delegator_unstake::Asset, pub amount: schedule_delegator_unstake::Amount, } pub mod schedule_delegator_unstake { use super::runtime_types; pub type Operator = ::subxt_core::utils::AccountId32; - pub type AssetId = - runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; pub type Amount = ::core::primitive::u128; } impl ::subxt_core::blocks::StaticExtrinsic for ScheduleDelegatorUnstake { @@ -41582,7 +44648,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Executes a scheduled request to reduce a delegator's stake."] @@ -41616,7 +44681,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancels a scheduled request to reduce a delegator's stake."] @@ -41629,7 +44693,7 @@ pub mod api { #[doc = ""] #[doc = "* `origin` - Origin of the call"] #[doc = "* `operator` - Operator to cancel unstake from"] - #[doc = "* `asset_id` - ID of asset unstake to cancel"] + #[doc = "* `asset` - ID of asset unstake to cancel"] #[doc = "* `amount` - Amount of unstake to cancel"] #[doc = ""] #[doc = "# Errors"] @@ -41638,14 +44702,15 @@ pub mod api { #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] pub struct CancelDelegatorUnstake { pub operator: cancel_delegator_unstake::Operator, - pub asset_id: cancel_delegator_unstake::AssetId, + pub asset: cancel_delegator_unstake::Asset, pub amount: cancel_delegator_unstake::Amount, } pub mod cancel_delegator_unstake { use super::runtime_types; pub type Operator = ::subxt_core::utils::AccountId32; - pub type AssetId = - runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; pub type Amount = ::core::primitive::u128; } impl ::subxt_core::blocks::StaticExtrinsic for CancelDelegatorUnstake { @@ -41663,7 +44728,160 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Delegates nominated tokens to an operator."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `operator` - The operator to delegate to"] + #[doc = "* `amount` - Amount of nominated tokens to delegate"] + #[doc = "* `blueprint_selection` - Strategy for selecting which blueprints to work with"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "* `NotDelegator` - Account is not a delegator"] + #[doc = "* `NotNominator` - Account has no nominated tokens"] + #[doc = "* `InsufficientBalance` - Not enough nominated tokens available"] + #[doc = "* `MaxDelegationsExceeded` - Would exceed maximum allowed delegations"] + #[doc = "* `OverflowRisk` - Arithmetic overflow during calculations"] + #[doc = "* `InvalidAmount` - Amount specified is zero"] + pub struct DelegateNomination { + pub operator: delegate_nomination::Operator, + pub amount: delegate_nomination::Amount, + pub blueprint_selection: delegate_nomination::BlueprintSelection, + } + pub mod delegate_nomination { + use super::runtime_types; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + pub type BlueprintSelection = runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorBlueprintSelection < runtime_types :: tangle_testnet_runtime :: MaxDelegatorBlueprints > ; + } + impl ::subxt_core::blocks::StaticExtrinsic for DelegateNomination { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "delegate_nomination"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Schedules an unstake request for nomination delegations."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `operator` - The operator to unstake from"] + #[doc = "* `amount` - Amount of nominated tokens to unstake"] + #[doc = "* `blueprint_selection` - The blueprint selection to use after unstaking"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "* `NotDelegator` - Account is not a delegator"] + #[doc = "* `NoActiveDelegation` - No active nomination delegation found"] + #[doc = "* `InsufficientBalance` - Trying to unstake more than delegated"] + #[doc = "* `MaxUnstakeRequestsExceeded` - Too many pending unstake requests"] + #[doc = "* `InvalidAmount` - Amount specified is zero"] + pub struct ScheduleNominationUnstake { + pub operator: schedule_nomination_unstake::Operator, + pub amount: schedule_nomination_unstake::Amount, + pub blueprint_selection: schedule_nomination_unstake::BlueprintSelection, + } + pub mod schedule_nomination_unstake { + use super::runtime_types; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + pub type BlueprintSelection = runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorBlueprintSelection < runtime_types :: tangle_testnet_runtime :: MaxDelegatorBlueprints > ; + } + impl ::subxt_core::blocks::StaticExtrinsic for ScheduleNominationUnstake { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "schedule_nomination_unstake"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Executes a scheduled unstake request for nomination delegations."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `operator` - The operator to execute unstake from"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "* `NotDelegator` - Account is not a delegator"] + #[doc = "* `NoBondLessRequest` - No matching unstake request found"] + #[doc = "* `BondLessNotReady` - Unstake request not ready for execution"] + #[doc = "* `NoActiveDelegation` - No active nomination delegation found"] + #[doc = "* `InsufficientBalance` - Insufficient balance for unstaking"] + pub struct ExecuteNominationUnstake { + pub operator: execute_nomination_unstake::Operator, + } + pub mod execute_nomination_unstake { + use super::runtime_types; + pub type Operator = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::blocks::StaticExtrinsic for ExecuteNominationUnstake { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "execute_nomination_unstake"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Cancels a scheduled unstake request for nomination delegations."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `operator` - The operator whose unstake request to cancel"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "* `NotDelegator` - Account is not a delegator"] + #[doc = "* `NoBondLessRequest` - No matching unstake request found"] + pub struct CancelNominationUnstake { + pub operator: cancel_nomination_unstake::Operator, + } + pub mod cancel_nomination_unstake { + use super::runtime_types; + pub type Operator = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::blocks::StaticExtrinsic for CancelNominationUnstake { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "cancel_nomination_unstake"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Adds a blueprint ID to a delegator's selection."] @@ -41705,7 +44923,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Removes a blueprint ID from a delegator's selection."] @@ -41976,6 +45193,9 @@ pub mod api { } #[doc = "Allows an operator to go offline."] #[doc = ""] + #[doc = "Being offline means the operator should not be able to be"] + #[doc = "requested for services."] + #[doc = ""] #[doc = "# Permissions"] #[doc = ""] #[doc = "* Must be signed by the operator account"] @@ -42041,7 +45261,7 @@ pub mod api { #[doc = "# Arguments"] #[doc = ""] #[doc = "* `origin` - Origin of the call"] - #[doc = "* `asset_id` - ID of the asset to deposit"] + #[doc = "* `asset` - Asset on to deposit"] #[doc = "* `amount` - Amount to deposit"] #[doc = "* `evm_address` - Optional EVM address"] #[doc = ""] @@ -42051,7 +45271,7 @@ pub mod api { #[doc = "* [`Error::InvalidAsset`] - Asset is not supported"] pub fn deposit( &self, - asset_id: types::deposit::AssetId, + asset: types::deposit::Asset, amount: types::deposit::Amount, evm_address: types::deposit::EvmAddress, lock_multiplier: types::deposit::LockMultiplier, @@ -42059,11 +45279,11 @@ pub mod api { ::subxt_core::tx::payload::StaticPayload::new_static( "MultiAssetDelegation", "deposit", - types::Deposit { asset_id, amount, evm_address, lock_multiplier }, + types::Deposit { asset, amount, evm_address, lock_multiplier }, [ - 205u8, 34u8, 149u8, 5u8, 227u8, 227u8, 104u8, 33u8, 248u8, 217u8, - 209u8, 189u8, 128u8, 242u8, 69u8, 11u8, 174u8, 254u8, 54u8, 10u8, 89u8, - 224u8, 223u8, 69u8, 47u8, 134u8, 175u8, 241u8, 113u8, 4u8, 213u8, 68u8, + 121u8, 249u8, 205u8, 202u8, 106u8, 122u8, 21u8, 49u8, 46u8, 218u8, + 204u8, 236u8, 203u8, 226u8, 242u8, 7u8, 66u8, 38u8, 131u8, 250u8, 26u8, + 248u8, 110u8, 134u8, 27u8, 46u8, 151u8, 155u8, 1u8, 50u8, 11u8, 121u8, ], ) } @@ -42076,7 +45296,7 @@ pub mod api { #[doc = "# Arguments"] #[doc = ""] #[doc = "* `origin` - Origin of the call"] - #[doc = "* `asset_id` - ID of the asset to withdraw"] + #[doc = "* `asset` - Asset on to withdraw"] #[doc = "* `amount` - Amount to withdraw"] #[doc = ""] #[doc = "# Errors"] @@ -42085,17 +45305,18 @@ pub mod api { #[doc = "* [`Error::PendingWithdrawRequestExists`] - Pending withdraw request exists"] pub fn schedule_withdraw( &self, - asset_id: types::schedule_withdraw::AssetId, + asset: types::schedule_withdraw::Asset, amount: types::schedule_withdraw::Amount, ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( "MultiAssetDelegation", "schedule_withdraw", - types::ScheduleWithdraw { asset_id, amount }, + types::ScheduleWithdraw { asset, amount }, [ - 151u8, 83u8, 1u8, 25u8, 237u8, 166u8, 220u8, 253u8, 160u8, 43u8, 229u8, - 21u8, 247u8, 247u8, 110u8, 119u8, 99u8, 12u8, 213u8, 134u8, 181u8, - 30u8, 13u8, 11u8, 133u8, 131u8, 2u8, 79u8, 48u8, 65u8, 144u8, 77u8, + 151u8, 225u8, 39u8, 12u8, 16u8, 45u8, 236u8, 150u8, 228u8, 137u8, + 114u8, 199u8, 179u8, 35u8, 80u8, 32u8, 48u8, 138u8, 123u8, 130u8, 76u8, + 217u8, 228u8, 245u8, 43u8, 2u8, 81u8, 181u8, 193u8, 180u8, 141u8, + 165u8, ], ) } @@ -42138,7 +45359,7 @@ pub mod api { #[doc = "# Arguments"] #[doc = ""] #[doc = "* `origin` - Origin of the call"] - #[doc = "* `asset_id` - ID of the asset withdrawal to cancel"] + #[doc = "* `asset` - Asset on withdrawal to cancel"] #[doc = "* `amount` - Amount of the withdrawal to cancel"] #[doc = ""] #[doc = "# Errors"] @@ -42146,17 +45367,17 @@ pub mod api { #[doc = "* [`Error::NoWithdrawRequestExists`] - No pending withdraw request exists"] pub fn cancel_withdraw( &self, - asset_id: types::cancel_withdraw::AssetId, + asset: types::cancel_withdraw::Asset, amount: types::cancel_withdraw::Amount, ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( "MultiAssetDelegation", "cancel_withdraw", - types::CancelWithdraw { asset_id, amount }, + types::CancelWithdraw { asset, amount }, [ - 18u8, 80u8, 162u8, 132u8, 33u8, 12u8, 254u8, 88u8, 103u8, 101u8, 227u8, - 4u8, 12u8, 113u8, 76u8, 143u8, 80u8, 89u8, 50u8, 188u8, 233u8, 184u8, - 102u8, 60u8, 245u8, 21u8, 95u8, 250u8, 78u8, 193u8, 28u8, 242u8, + 93u8, 111u8, 228u8, 19u8, 1u8, 113u8, 15u8, 10u8, 78u8, 188u8, 216u8, + 215u8, 85u8, 28u8, 151u8, 77u8, 12u8, 111u8, 0u8, 20u8, 10u8, 189u8, + 90u8, 150u8, 250u8, 111u8, 141u8, 119u8, 14u8, 221u8, 77u8, 148u8, ], ) } @@ -42170,7 +45391,7 @@ pub mod api { #[doc = ""] #[doc = "* `origin` - Origin of the call"] #[doc = "* `operator` - Operator to delegate to"] - #[doc = "* `asset_id` - ID of asset to delegate"] + #[doc = "* `asset` - ID of asset to delegate"] #[doc = "* `amount` - Amount to delegate"] #[doc = "* `blueprint_selection` - Blueprint selection strategy"] #[doc = ""] @@ -42182,19 +45403,19 @@ pub mod api { pub fn delegate( &self, operator: types::delegate::Operator, - asset_id: types::delegate::AssetId, + asset: types::delegate::Asset, amount: types::delegate::Amount, blueprint_selection: types::delegate::BlueprintSelection, ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( "MultiAssetDelegation", "delegate", - types::Delegate { operator, asset_id, amount, blueprint_selection }, + types::Delegate { operator, asset, amount, blueprint_selection }, [ - 122u8, 21u8, 147u8, 191u8, 103u8, 51u8, 255u8, 119u8, 157u8, 35u8, - 16u8, 92u8, 138u8, 149u8, 215u8, 86u8, 170u8, 106u8, 101u8, 232u8, - 96u8, 14u8, 80u8, 242u8, 180u8, 96u8, 86u8, 78u8, 237u8, 155u8, 3u8, - 88u8, + 180u8, 10u8, 179u8, 237u8, 227u8, 44u8, 193u8, 11u8, 194u8, 123u8, + 156u8, 158u8, 244u8, 54u8, 130u8, 214u8, 14u8, 214u8, 104u8, 172u8, + 45u8, 50u8, 135u8, 98u8, 67u8, 3u8, 59u8, 176u8, 181u8, 145u8, 151u8, + 226u8, ], ) } @@ -42208,7 +45429,7 @@ pub mod api { #[doc = ""] #[doc = "* `origin` - Origin of the call"] #[doc = "* `operator` - Operator to unstake from"] - #[doc = "* `asset_id` - ID of asset to unstake"] + #[doc = "* `asset` - ID of asset to unstake"] #[doc = "* `amount` - Amount to unstake"] #[doc = ""] #[doc = "# Errors"] @@ -42219,17 +45440,17 @@ pub mod api { pub fn schedule_delegator_unstake( &self, operator: types::schedule_delegator_unstake::Operator, - asset_id: types::schedule_delegator_unstake::AssetId, + asset: types::schedule_delegator_unstake::Asset, amount: types::schedule_delegator_unstake::Amount, ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( "MultiAssetDelegation", "schedule_delegator_unstake", - types::ScheduleDelegatorUnstake { operator, asset_id, amount }, + types::ScheduleDelegatorUnstake { operator, asset, amount }, [ - 244u8, 2u8, 144u8, 12u8, 8u8, 144u8, 76u8, 125u8, 36u8, 206u8, 176u8, - 88u8, 49u8, 6u8, 202u8, 23u8, 225u8, 231u8, 241u8, 133u8, 69u8, 214u8, - 67u8, 79u8, 174u8, 140u8, 28u8, 167u8, 84u8, 227u8, 88u8, 130u8, + 226u8, 1u8, 102u8, 234u8, 232u8, 38u8, 204u8, 156u8, 220u8, 79u8, 19u8, + 137u8, 120u8, 191u8, 84u8, 123u8, 193u8, 85u8, 18u8, 135u8, 248u8, + 170u8, 162u8, 141u8, 34u8, 254u8, 51u8, 183u8, 77u8, 29u8, 174u8, 87u8, ], ) } @@ -42272,7 +45493,7 @@ pub mod api { #[doc = ""] #[doc = "* `origin` - Origin of the call"] #[doc = "* `operator` - Operator to cancel unstake from"] - #[doc = "* `asset_id` - ID of asset unstake to cancel"] + #[doc = "* `asset` - ID of asset unstake to cancel"] #[doc = "* `amount` - Amount of unstake to cancel"] #[doc = ""] #[doc = "# Errors"] @@ -42282,18 +45503,134 @@ pub mod api { pub fn cancel_delegator_unstake( &self, operator: types::cancel_delegator_unstake::Operator, - asset_id: types::cancel_delegator_unstake::AssetId, + asset: types::cancel_delegator_unstake::Asset, amount: types::cancel_delegator_unstake::Amount, ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( "MultiAssetDelegation", "cancel_delegator_unstake", - types::CancelDelegatorUnstake { operator, asset_id, amount }, + types::CancelDelegatorUnstake { operator, asset, amount }, + [ + 14u8, 229u8, 151u8, 81u8, 188u8, 12u8, 209u8, 238u8, 162u8, 46u8, 19u8, + 80u8, 133u8, 217u8, 229u8, 78u8, 89u8, 44u8, 87u8, 215u8, 183u8, 87u8, + 189u8, 122u8, 112u8, 217u8, 147u8, 17u8, 161u8, 85u8, 210u8, 109u8, + ], + ) + } + #[doc = "Delegates nominated tokens to an operator."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `operator` - The operator to delegate to"] + #[doc = "* `amount` - Amount of nominated tokens to delegate"] + #[doc = "* `blueprint_selection` - Strategy for selecting which blueprints to work with"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "* `NotDelegator` - Account is not a delegator"] + #[doc = "* `NotNominator` - Account has no nominated tokens"] + #[doc = "* `InsufficientBalance` - Not enough nominated tokens available"] + #[doc = "* `MaxDelegationsExceeded` - Would exceed maximum allowed delegations"] + #[doc = "* `OverflowRisk` - Arithmetic overflow during calculations"] + #[doc = "* `InvalidAmount` - Amount specified is zero"] + pub fn delegate_nomination( + &self, + operator: types::delegate_nomination::Operator, + amount: types::delegate_nomination::Amount, + blueprint_selection: types::delegate_nomination::BlueprintSelection, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "MultiAssetDelegation", + "delegate_nomination", + types::DelegateNomination { operator, amount, blueprint_selection }, + [ + 96u8, 86u8, 61u8, 46u8, 91u8, 1u8, 194u8, 7u8, 120u8, 226u8, 181u8, + 9u8, 206u8, 87u8, 89u8, 157u8, 137u8, 57u8, 163u8, 63u8, 148u8, 108u8, + 254u8, 173u8, 232u8, 130u8, 127u8, 44u8, 143u8, 236u8, 92u8, 108u8, + ], + ) + } + #[doc = "Schedules an unstake request for nomination delegations."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `operator` - The operator to unstake from"] + #[doc = "* `amount` - Amount of nominated tokens to unstake"] + #[doc = "* `blueprint_selection` - The blueprint selection to use after unstaking"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "* `NotDelegator` - Account is not a delegator"] + #[doc = "* `NoActiveDelegation` - No active nomination delegation found"] + #[doc = "* `InsufficientBalance` - Trying to unstake more than delegated"] + #[doc = "* `MaxUnstakeRequestsExceeded` - Too many pending unstake requests"] + #[doc = "* `InvalidAmount` - Amount specified is zero"] + pub fn schedule_nomination_unstake( + &self, + operator: types::schedule_nomination_unstake::Operator, + amount: types::schedule_nomination_unstake::Amount, + blueprint_selection: types::schedule_nomination_unstake::BlueprintSelection, + ) -> ::subxt_core::tx::payload::StaticPayload + { + ::subxt_core::tx::payload::StaticPayload::new_static( + "MultiAssetDelegation", + "schedule_nomination_unstake", + types::ScheduleNominationUnstake { operator, amount, blueprint_selection }, + [ + 115u8, 105u8, 237u8, 148u8, 106u8, 238u8, 31u8, 101u8, 99u8, 135u8, + 73u8, 48u8, 168u8, 16u8, 198u8, 208u8, 195u8, 155u8, 212u8, 153u8, + 182u8, 57u8, 104u8, 46u8, 96u8, 229u8, 238u8, 10u8, 8u8, 217u8, 5u8, + 184u8, + ], + ) + } + #[doc = "Executes a scheduled unstake request for nomination delegations."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `operator` - The operator to execute unstake from"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "* `NotDelegator` - Account is not a delegator"] + #[doc = "* `NoBondLessRequest` - No matching unstake request found"] + #[doc = "* `BondLessNotReady` - Unstake request not ready for execution"] + #[doc = "* `NoActiveDelegation` - No active nomination delegation found"] + #[doc = "* `InsufficientBalance` - Insufficient balance for unstaking"] + pub fn execute_nomination_unstake( + &self, + operator: types::execute_nomination_unstake::Operator, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "MultiAssetDelegation", + "execute_nomination_unstake", + types::ExecuteNominationUnstake { operator }, + [ + 38u8, 107u8, 35u8, 35u8, 2u8, 215u8, 211u8, 212u8, 169u8, 215u8, 169u8, + 196u8, 59u8, 45u8, 94u8, 186u8, 138u8, 193u8, 87u8, 115u8, 73u8, 217u8, + 125u8, 137u8, 106u8, 26u8, 207u8, 92u8, 139u8, 137u8, 114u8, 111u8, + ], + ) + } + #[doc = "Cancels a scheduled unstake request for nomination delegations."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `operator` - The operator whose unstake request to cancel"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "* `NotDelegator` - Account is not a delegator"] + #[doc = "* `NoBondLessRequest` - No matching unstake request found"] + pub fn cancel_nomination_unstake( + &self, + operator: types::cancel_nomination_unstake::Operator, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "MultiAssetDelegation", + "cancel_nomination_unstake", + types::CancelNominationUnstake { operator }, [ - 230u8, 243u8, 246u8, 127u8, 75u8, 179u8, 58u8, 225u8, 144u8, 194u8, - 15u8, 13u8, 172u8, 162u8, 88u8, 181u8, 223u8, 191u8, 89u8, 231u8, - 168u8, 91u8, 170u8, 199u8, 178u8, 151u8, 49u8, 58u8, 166u8, 208u8, - 159u8, 220u8, + 112u8, 148u8, 215u8, 132u8, 205u8, 88u8, 80u8, 43u8, 130u8, 234u8, + 135u8, 174u8, 232u8, 85u8, 45u8, 176u8, 222u8, 108u8, 255u8, 91u8, + 219u8, 229u8, 41u8, 93u8, 41u8, 242u8, 202u8, 35u8, 2u8, 116u8, 52u8, + 166u8, ], ) } @@ -42378,7 +45715,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has joined."] @@ -42404,7 +45740,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has scheduled to leave."] @@ -42430,7 +45765,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has cancelled their leave request."] @@ -42456,7 +45790,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has executed their leave request."] @@ -42482,7 +45815,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has increased their stake."] @@ -42510,7 +45842,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has scheduled to decrease their stake."] @@ -42538,7 +45869,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has executed their stake decrease."] @@ -42564,7 +45894,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has cancelled their stake decrease request."] @@ -42590,7 +45919,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has gone offline."] @@ -42616,7 +45944,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has gone online."] @@ -42642,21 +45969,21 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A deposit has been made."] pub struct Deposited { pub who: deposited::Who, pub amount: deposited::Amount, - pub asset_id: deposited::AssetId, + pub asset: deposited::Asset, } pub mod deposited { use super::runtime_types; pub type Who = ::subxt_core::utils::AccountId32; pub type Amount = ::core::primitive::u128; - pub type AssetId = - runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; } impl ::subxt_core::events::StaticEvent for Deposited { const PALLET: &'static str = "MultiAssetDelegation"; @@ -42673,25 +46000,25 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An withdraw has been scheduled."] - pub struct Scheduledwithdraw { - pub who: scheduledwithdraw::Who, - pub amount: scheduledwithdraw::Amount, - pub asset_id: scheduledwithdraw::AssetId, + pub struct ScheduledWithdraw { + pub who: scheduled_withdraw::Who, + pub amount: scheduled_withdraw::Amount, + pub asset: scheduled_withdraw::Asset, } - pub mod scheduledwithdraw { + pub mod scheduled_withdraw { use super::runtime_types; pub type Who = ::subxt_core::utils::AccountId32; pub type Amount = ::core::primitive::u128; - pub type AssetId = - runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; } - impl ::subxt_core::events::StaticEvent for Scheduledwithdraw { + impl ::subxt_core::events::StaticEvent for ScheduledWithdraw { const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "Scheduledwithdraw"; + const EVENT: &'static str = "ScheduledWithdraw"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -42704,20 +46031,19 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An withdraw has been executed."] - pub struct Executedwithdraw { - pub who: executedwithdraw::Who, + pub struct ExecutedWithdraw { + pub who: executed_withdraw::Who, } - pub mod executedwithdraw { + pub mod executed_withdraw { use super::runtime_types; pub type Who = ::subxt_core::utils::AccountId32; } - impl ::subxt_core::events::StaticEvent for Executedwithdraw { + impl ::subxt_core::events::StaticEvent for ExecutedWithdraw { const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "Executedwithdraw"; + const EVENT: &'static str = "ExecutedWithdraw"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -42730,20 +46056,19 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An withdraw has been cancelled."] - pub struct Cancelledwithdraw { - pub who: cancelledwithdraw::Who, + pub struct CancelledWithdraw { + pub who: cancelled_withdraw::Who, } - pub mod cancelledwithdraw { + pub mod cancelled_withdraw { use super::runtime_types; pub type Who = ::subxt_core::utils::AccountId32; } - impl ::subxt_core::events::StaticEvent for Cancelledwithdraw { + impl ::subxt_core::events::StaticEvent for CancelledWithdraw { const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "Cancelledwithdraw"; + const EVENT: &'static str = "CancelledWithdraw"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -42756,7 +46081,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A delegation has been made."] @@ -42764,15 +46088,16 @@ pub mod api { pub who: delegated::Who, pub operator: delegated::Operator, pub amount: delegated::Amount, - pub asset_id: delegated::AssetId, + pub asset: delegated::Asset, } pub mod delegated { use super::runtime_types; pub type Who = ::subxt_core::utils::AccountId32; pub type Operator = ::subxt_core::utils::AccountId32; pub type Amount = ::core::primitive::u128; - pub type AssetId = - runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; } impl ::subxt_core::events::StaticEvent for Delegated { const PALLET: &'static str = "MultiAssetDelegation"; @@ -42789,27 +46114,29 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A delegator unstake request has been scheduled."] - pub struct ScheduledDelegatorBondLess { - pub who: scheduled_delegator_bond_less::Who, - pub operator: scheduled_delegator_bond_less::Operator, - pub amount: scheduled_delegator_bond_less::Amount, - pub asset_id: scheduled_delegator_bond_less::AssetId, - } - pub mod scheduled_delegator_bond_less { + pub struct DelegatorUnstakeScheduled { + pub who: delegator_unstake_scheduled::Who, + pub operator: delegator_unstake_scheduled::Operator, + pub asset: delegator_unstake_scheduled::Asset, + pub amount: delegator_unstake_scheduled::Amount, + pub when: delegator_unstake_scheduled::When, + } + pub mod delegator_unstake_scheduled { use super::runtime_types; pub type Who = ::subxt_core::utils::AccountId32; pub type Operator = ::subxt_core::utils::AccountId32; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; pub type Amount = ::core::primitive::u128; - pub type AssetId = - runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>; + pub type When = ::core::primitive::u32; } - impl ::subxt_core::events::StaticEvent for ScheduledDelegatorBondLess { + impl ::subxt_core::events::StaticEvent for DelegatorUnstakeScheduled { const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "ScheduledDelegatorBondLess"; + const EVENT: &'static str = "DelegatorUnstakeScheduled"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -42822,20 +46149,27 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A delegator unstake request has been executed."] - pub struct ExecutedDelegatorBondLess { - pub who: executed_delegator_bond_less::Who, + pub struct DelegatorUnstakeExecuted { + pub who: delegator_unstake_executed::Who, + pub operator: delegator_unstake_executed::Operator, + pub asset: delegator_unstake_executed::Asset, + pub amount: delegator_unstake_executed::Amount, } - pub mod executed_delegator_bond_less { + pub mod delegator_unstake_executed { use super::runtime_types; pub type Who = ::subxt_core::utils::AccountId32; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; + pub type Amount = ::core::primitive::u128; } - impl ::subxt_core::events::StaticEvent for ExecutedDelegatorBondLess { + impl ::subxt_core::events::StaticEvent for DelegatorUnstakeExecuted { const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "ExecutedDelegatorBondLess"; + const EVENT: &'static str = "DelegatorUnstakeExecuted"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -42848,20 +46182,27 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A delegator unstake request has been cancelled."] - pub struct CancelledDelegatorBondLess { - pub who: cancelled_delegator_bond_less::Who, + pub struct DelegatorUnstakeCancelled { + pub who: delegator_unstake_cancelled::Who, + pub operator: delegator_unstake_cancelled::Operator, + pub asset: delegator_unstake_cancelled::Asset, + pub amount: delegator_unstake_cancelled::Amount, } - pub mod cancelled_delegator_bond_less { + pub mod delegator_unstake_cancelled { use super::runtime_types; pub type Who = ::subxt_core::utils::AccountId32; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; + pub type Amount = ::core::primitive::u128; } - impl ::subxt_core::events::StaticEvent for CancelledDelegatorBondLess { + impl ::subxt_core::events::StaticEvent for DelegatorUnstakeCancelled { const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "CancelledDelegatorBondLess"; + const EVENT: &'static str = "DelegatorUnstakeCancelled"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -42874,18 +46215,23 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Operator has been slashed"] + #[doc = "An Operator has been slashed."] pub struct OperatorSlashed { - pub who: operator_slashed::Who, + pub operator: operator_slashed::Operator, pub amount: operator_slashed::Amount, + pub service_id: operator_slashed::ServiceId, + pub blueprint_id: operator_slashed::BlueprintId, + pub era: operator_slashed::Era, } pub mod operator_slashed { use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; + pub type Operator = ::subxt_core::utils::AccountId32; pub type Amount = ::core::primitive::u128; + pub type ServiceId = ::core::primitive::u64; + pub type BlueprintId = ::core::primitive::u64; + pub type Era = ::core::primitive::u32; } impl ::subxt_core::events::StaticEvent for OperatorSlashed { const PALLET: &'static str = "MultiAssetDelegation"; @@ -42902,18 +46248,27 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Delegator has been slashed"] + #[doc = "A Delegator has been slashed."] pub struct DelegatorSlashed { - pub who: delegator_slashed::Who, + pub delegator: delegator_slashed::Delegator, pub amount: delegator_slashed::Amount, + pub asset: delegator_slashed::Asset, + pub service_id: delegator_slashed::ServiceId, + pub blueprint_id: delegator_slashed::BlueprintId, + pub era: delegator_slashed::Era, } pub mod delegator_slashed { use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; + pub type Delegator = ::subxt_core::utils::AccountId32; pub type Amount = ::core::primitive::u128; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; + pub type ServiceId = ::core::primitive::u64; + pub type BlueprintId = ::core::primitive::u64; + pub type Era = ::core::primitive::u32; } impl ::subxt_core::events::StaticEvent for DelegatorSlashed { const PALLET: &'static str = "MultiAssetDelegation"; @@ -42930,7 +46285,41 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A Delegator's nominated stake has been slashed."] + pub struct NominatedSlash { + pub delegator: nominated_slash::Delegator, + pub operator: nominated_slash::Operator, + pub amount: nominated_slash::Amount, + pub service_id: nominated_slash::ServiceId, + pub blueprint_id: nominated_slash::BlueprintId, + pub era: nominated_slash::Era, + } + pub mod nominated_slash { + use super::runtime_types; + pub type Delegator = ::subxt_core::utils::AccountId32; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + pub type ServiceId = ::core::primitive::u64; + pub type BlueprintId = ::core::primitive::u64; + pub type Era = ::core::primitive::u32; + } + impl ::subxt_core::events::StaticEvent for NominatedSlash { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "NominatedSlash"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "EVM execution reverted with a reason."] @@ -42951,6 +46340,124 @@ pub mod api { const PALLET: &'static str = "MultiAssetDelegation"; const EVENT: &'static str = "EvmReverted"; } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A nomination has been delegated"] + pub struct NominationDelegated { + pub who: nomination_delegated::Who, + pub operator: nomination_delegated::Operator, + pub amount: nomination_delegated::Amount, + } + pub mod nomination_delegated { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for NominationDelegated { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "NominationDelegated"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A nomination unstake request has been scheduled."] + pub struct NominationUnstakeScheduled { + pub who: nomination_unstake_scheduled::Who, + pub operator: nomination_unstake_scheduled::Operator, + pub amount: nomination_unstake_scheduled::Amount, + pub when: nomination_unstake_scheduled::When, + } + pub mod nomination_unstake_scheduled { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + pub type When = ::core::primitive::u32; + } + impl ::subxt_core::events::StaticEvent for NominationUnstakeScheduled { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "NominationUnstakeScheduled"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A nomination unstake request has been executed."] + pub struct NominationUnstakeExecuted { + pub who: nomination_unstake_executed::Who, + pub operator: nomination_unstake_executed::Operator, + pub amount: nomination_unstake_executed::Amount, + } + pub mod nomination_unstake_executed { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for NominationUnstakeExecuted { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "NominationUnstakeExecuted"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A nomination unstake request has been cancelled."] + pub struct NominationUnstakeCancelled { + pub who: nomination_unstake_cancelled::Who, + pub operator: nomination_unstake_cancelled::Operator, + pub amount: nomination_unstake_cancelled::Amount, + } + pub mod nomination_unstake_cancelled { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for NominationUnstakeCancelled { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "NominationUnstakeCancelled"; + } } pub mod storage { use super::runtime_types; @@ -42994,9 +46501,10 @@ pub mod api { "Operators", (), [ - 181u8, 37u8, 69u8, 139u8, 18u8, 44u8, 99u8, 55u8, 186u8, 237u8, 91u8, - 83u8, 53u8, 119u8, 142u8, 206u8, 254u8, 203u8, 89u8, 154u8, 138u8, - 163u8, 29u8, 141u8, 7u8, 161u8, 54u8, 162u8, 48u8, 28u8, 70u8, 0u8, + 208u8, 207u8, 186u8, 143u8, 163u8, 150u8, 116u8, 18u8, 72u8, 158u8, + 68u8, 2u8, 245u8, 195u8, 234u8, 39u8, 215u8, 237u8, 120u8, 92u8, 129u8, + 224u8, 52u8, 174u8, 123u8, 139u8, 121u8, 252u8, 222u8, 100u8, 17u8, + 241u8, ], ) } @@ -43016,9 +46524,10 @@ pub mod api { "Operators", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 181u8, 37u8, 69u8, 139u8, 18u8, 44u8, 99u8, 55u8, 186u8, 237u8, 91u8, - 83u8, 53u8, 119u8, 142u8, 206u8, 254u8, 203u8, 89u8, 154u8, 138u8, - 163u8, 29u8, 141u8, 7u8, 161u8, 54u8, 162u8, 48u8, 28u8, 70u8, 0u8, + 208u8, 207u8, 186u8, 143u8, 163u8, 150u8, 116u8, 18u8, 72u8, 158u8, + 68u8, 2u8, 245u8, 195u8, 234u8, 39u8, 215u8, 237u8, 120u8, 92u8, 129u8, + 224u8, 52u8, 174u8, 123u8, 139u8, 121u8, 252u8, 222u8, 100u8, 17u8, + 241u8, ], ) } @@ -43059,10 +46568,9 @@ pub mod api { "AtStake", (), [ - 156u8, 26u8, 172u8, 63u8, 87u8, 150u8, 192u8, 117u8, 222u8, 34u8, - 191u8, 110u8, 251u8, 174u8, 184u8, 171u8, 73u8, 48u8, 79u8, 87u8, - 175u8, 216u8, 132u8, 96u8, 217u8, 232u8, 148u8, 89u8, 181u8, 39u8, - 219u8, 106u8, + 132u8, 47u8, 128u8, 227u8, 221u8, 91u8, 239u8, 154u8, 0u8, 229u8, 31u8, + 145u8, 160u8, 210u8, 231u8, 90u8, 164u8, 39u8, 38u8, 43u8, 57u8, 114u8, + 85u8, 225u8, 165u8, 242u8, 100u8, 169u8, 4u8, 159u8, 124u8, 33u8, ], ) } @@ -43082,10 +46590,9 @@ pub mod api { "AtStake", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 156u8, 26u8, 172u8, 63u8, 87u8, 150u8, 192u8, 117u8, 222u8, 34u8, - 191u8, 110u8, 251u8, 174u8, 184u8, 171u8, 73u8, 48u8, 79u8, 87u8, - 175u8, 216u8, 132u8, 96u8, 217u8, 232u8, 148u8, 89u8, 181u8, 39u8, - 219u8, 106u8, + 132u8, 47u8, 128u8, 227u8, 221u8, 91u8, 239u8, 154u8, 0u8, 229u8, 31u8, + 145u8, 160u8, 210u8, 231u8, 90u8, 164u8, 39u8, 38u8, 43u8, 57u8, 114u8, + 85u8, 225u8, 165u8, 242u8, 100u8, 169u8, 4u8, 159u8, 124u8, 33u8, ], ) } @@ -43112,10 +46619,9 @@ pub mod api { ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), ), [ - 156u8, 26u8, 172u8, 63u8, 87u8, 150u8, 192u8, 117u8, 222u8, 34u8, - 191u8, 110u8, 251u8, 174u8, 184u8, 171u8, 73u8, 48u8, 79u8, 87u8, - 175u8, 216u8, 132u8, 96u8, 217u8, 232u8, 148u8, 89u8, 181u8, 39u8, - 219u8, 106u8, + 132u8, 47u8, 128u8, 227u8, 221u8, 91u8, 239u8, 154u8, 0u8, 229u8, 31u8, + 145u8, 160u8, 210u8, 231u8, 90u8, 164u8, 39u8, 38u8, 43u8, 57u8, 114u8, + 85u8, 225u8, 165u8, 242u8, 100u8, 169u8, 4u8, 159u8, 124u8, 33u8, ], ) } @@ -43134,10 +46640,10 @@ pub mod api { "Delegators", (), [ - 45u8, 173u8, 235u8, 188u8, 23u8, 120u8, 225u8, 27u8, 94u8, 59u8, 35u8, - 139u8, 127u8, 59u8, 118u8, 200u8, 174u8, 212u8, 214u8, 128u8, 40u8, - 187u8, 97u8, 19u8, 236u8, 14u8, 122u8, 135u8, 254u8, 198u8, 21u8, - 238u8, + 27u8, 203u8, 91u8, 19u8, 247u8, 168u8, 80u8, 221u8, 203u8, 208u8, + 168u8, 89u8, 146u8, 70u8, 38u8, 253u8, 51u8, 97u8, 17u8, 85u8, 250u8, + 8u8, 46u8, 130u8, 215u8, 255u8, 19u8, 114u8, 218u8, 194u8, 159u8, + 136u8, ], ) } @@ -43157,10 +46663,10 @@ pub mod api { "Delegators", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 45u8, 173u8, 235u8, 188u8, 23u8, 120u8, 225u8, 27u8, 94u8, 59u8, 35u8, - 139u8, 127u8, 59u8, 118u8, 200u8, 174u8, 212u8, 214u8, 128u8, 40u8, - 187u8, 97u8, 19u8, 236u8, 14u8, 122u8, 135u8, 254u8, 198u8, 21u8, - 238u8, + 27u8, 203u8, 91u8, 19u8, 247u8, 168u8, 80u8, 221u8, 203u8, 208u8, + 168u8, 89u8, 146u8, 70u8, 38u8, 253u8, 51u8, 97u8, 17u8, 85u8, 250u8, + 8u8, 46u8, 130u8, 215u8, 255u8, 19u8, 114u8, 218u8, 194u8, 159u8, + 136u8, ], ) } @@ -43364,6 +46870,21 @@ pub mod api { ], ) } + pub fn slash_recipient( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::subxt_core::utils::AccountId32> + { + ::subxt_core::constants::address::StaticAddress::new_static( + "MultiAssetDelegation", + "SlashRecipient", + [ + 115u8, 233u8, 13u8, 223u8, 88u8, 20u8, 202u8, 139u8, 153u8, 28u8, + 155u8, 157u8, 224u8, 66u8, 3u8, 250u8, 23u8, 53u8, 88u8, 168u8, 211u8, + 204u8, 122u8, 166u8, 248u8, 23u8, 174u8, 225u8, 99u8, 108u8, 89u8, + 135u8, + ], + ) + } } } } @@ -43391,7 +46912,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Create a new service blueprint."] @@ -43428,7 +46948,7 @@ pub mod api { pub mod create_blueprint { use super::runtime_types; pub type Blueprint = - runtime_types::tangle_primitives::services::ServiceBlueprint; + runtime_types::tangle_primitives::services::service::ServiceBlueprint; } impl ::subxt_core::blocks::StaticExtrinsic for CreateBlueprint { const PALLET: &'static str = "Services"; @@ -43445,7 +46965,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Pre-register the caller as an operator for a specific blueprint."] @@ -43501,7 +47020,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Register the caller as an operator for a specific blueprint."] @@ -43543,7 +47061,7 @@ pub mod api { use super::runtime_types; pub type BlueprintId = ::core::primitive::u64; pub type Preferences = - runtime_types::tangle_primitives::services::OperatorPreferences; + runtime_types::tangle_primitives::services::types::OperatorPreferences; pub type RegistrationArgs = ::subxt_core::alloc::vec::Vec< runtime_types::tangle_primitives::services::field::Field< ::subxt_core::utils::AccountId32, @@ -43566,13 +47084,13 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Unregisters a service provider from a specific service blueprint."] #[doc = ""] - #[doc = "After unregistering, the provider will no longer receive new service assignments for this blueprint."] - #[doc = "However, they must continue servicing any active assignments until completion to avoid penalties."] + #[doc = "Can only be called if the no services are active for the blueprint."] + #[doc = "After unregistering, the provider will no longer receive new service"] + #[doc = "assignments for this blueprint."] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] @@ -43611,7 +47129,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Updates the price targets for a registered operator's service blueprint."] @@ -43643,7 +47160,7 @@ pub mod api { use super::runtime_types; pub type BlueprintId = ::core::primitive::u64; pub type PriceTargets = - runtime_types::tangle_primitives::services::PriceTargets; + runtime_types::tangle_primitives::services::types::PriceTargets; } impl ::subxt_core::blocks::StaticExtrinsic for UpdatePriceTargets { const PALLET: &'static str = "Services"; @@ -43660,7 +47177,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Request a new service using a blueprint and specified operators."] @@ -43698,12 +47214,13 @@ pub mod api { pub permitted_callers: request::PermittedCallers, pub operators: request::Operators, pub request_args: request::RequestArgs, - pub assets: request::Assets, + pub asset_security_requirements: request::AssetSecurityRequirements, #[codec(compact)] pub ttl: request::Ttl, pub payment_asset: request::PaymentAsset, #[codec(compact)] pub value: request::Value, + pub membership_model: request::MembershipModel, } pub mod request { use super::runtime_types; @@ -43718,11 +47235,19 @@ pub mod api { ::subxt_core::utils::AccountId32, >, >; - pub type Assets = ::subxt_core::alloc::vec::Vec<::core::primitive::u128>; + pub type AssetSecurityRequirements = ::subxt_core::alloc::vec::Vec< + runtime_types::tangle_primitives::services::types::AssetSecurityRequirement< + ::core::primitive::u128, + >, + >; pub type Ttl = ::core::primitive::u64; pub type PaymentAsset = - runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>; + runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; pub type Value = ::core::primitive::u128; + pub type MembershipModel = + runtime_types::tangle_primitives::services::types::MembershipModel; } impl ::subxt_core::blocks::StaticExtrinsic for Request { const PALLET: &'static str = "Services"; @@ -43739,7 +47264,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Approve a service request, allowing it to be initiated once all required approvals are received."] @@ -43753,22 +47277,27 @@ pub mod api { #[doc = ""] #[doc = "* `origin` - The origin of the call, must be a signed account"] #[doc = "* `request_id` - The ID of the service request to approve"] - #[doc = "* `restaking_percent` - Percentage of staked tokens to expose to this service (0-100)"] + #[doc = "* `native_exposure_percent` - Percentage of native token stake to expose"] + #[doc = "* `asset_exposure` - Vector of asset-specific exposure commitments"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] #[doc = "* [`Error::ApprovalNotRequested`] - Caller is not in the pending approvals list"] #[doc = "* [`Error::ApprovalInterrupted`] - Approval was rejected by blueprint hook"] + #[doc = "* [`Error::InvalidRequestInput`] - Asset exposure commitments don't meet requirements"] pub struct Approve { #[codec(compact)] pub request_id: approve::RequestId, - #[codec(compact)] - pub restaking_percent: approve::RestakingPercent, + pub security_commitments: approve::SecurityCommitments, } pub mod approve { use super::runtime_types; pub type RequestId = ::core::primitive::u64; - pub type RestakingPercent = runtime_types::sp_arithmetic::per_things::Percent; + pub type SecurityCommitments = ::subxt_core::alloc::vec::Vec< + runtime_types::tangle_primitives::services::types::AssetSecurityCommitment< + ::core::primitive::u128, + >, + >; } impl ::subxt_core::blocks::StaticExtrinsic for Approve { const PALLET: &'static str = "Services"; @@ -43785,7 +47314,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Reject a service request, preventing its initiation."] @@ -43831,7 +47359,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Terminates a running service instance."] @@ -43874,7 +47401,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Call a job in the service with the provided arguments."] @@ -43930,7 +47456,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Submit a result for a previously called job."] @@ -43986,7 +47511,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Slash an operator's stake for a service by scheduling a deferred slashing action."] @@ -44005,7 +47529,7 @@ pub mod api { #[doc = "* `origin` - The origin of the call. Must be signed by an authorized Slash Origin."] #[doc = "* `offender` - The account ID of the operator to be slashed."] #[doc = "* `service_id` - The ID of the service for which to slash the operator."] - #[doc = "* `percent` - The percentage of the operator's exposed stake to slash, as a `Percent` value."] + #[doc = "* `slash_percent` - The percentage of the operator's exposed stake to slash, as a `Percent` value."] #[doc = ""] #[doc = "# Errors"] #[doc = ""] @@ -44018,13 +47542,13 @@ pub mod api { #[codec(compact)] pub service_id: slash::ServiceId, #[codec(compact)] - pub percent: slash::Percent, + pub slash_percent: slash::SlashPercent, } pub mod slash { use super::runtime_types; pub type Offender = ::subxt_core::utils::AccountId32; pub type ServiceId = ::core::primitive::u64; - pub type Percent = runtime_types::sp_arithmetic::per_things::Percent; + pub type SlashPercent = runtime_types::sp_arithmetic::per_things::Percent; } impl ::subxt_core::blocks::StaticExtrinsic for Slash { const PALLET: &'static str = "Services"; @@ -44041,7 +47565,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Disputes and removes an [UnappliedSlash] from storage."] @@ -44089,7 +47612,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Updates the Master Blueprint Service Manager by adding a new revision."] @@ -44117,6 +47639,62 @@ pub mod api { const PALLET: &'static str = "Services"; const CALL: &'static str = "update_master_blueprint_service_manager"; } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Join a service instance as an operator"] + pub struct JoinService { + pub instance_id: join_service::InstanceId, + pub security_commitments: join_service::SecurityCommitments, + } + pub mod join_service { + use super::runtime_types; + pub type InstanceId = ::core::primitive::u64; + pub type SecurityCommitments = ::subxt_core::alloc::vec::Vec< + runtime_types::tangle_primitives::services::types::AssetSecurityCommitment< + ::core::primitive::u128, + >, + >; + } + impl ::subxt_core::blocks::StaticExtrinsic for JoinService { + const PALLET: &'static str = "Services"; + const CALL: &'static str = "join_service"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Leave a service instance as an operator"] + pub struct LeaveService { + pub instance_id: leave_service::InstanceId, + } + pub mod leave_service { + use super::runtime_types; + pub type InstanceId = ::core::primitive::u64; + } + impl ::subxt_core::blocks::StaticExtrinsic for LeaveService { + const PALLET: &'static str = "Services"; + const CALL: &'static str = "leave_service"; + } } pub struct TransactionApi; impl TransactionApi { @@ -44157,10 +47735,9 @@ pub mod api { "create_blueprint", types::CreateBlueprint { blueprint }, [ - 19u8, 125u8, 48u8, 153u8, 57u8, 158u8, 34u8, 194u8, 247u8, 193u8, - 186u8, 71u8, 59u8, 219u8, 32u8, 194u8, 130u8, 14u8, 189u8, 254u8, 60u8, - 231u8, 142u8, 0u8, 40u8, 244u8, 151u8, 203u8, 133u8, 230u8, 125u8, - 186u8, + 156u8, 235u8, 244u8, 93u8, 37u8, 151u8, 144u8, 16u8, 39u8, 251u8, 52u8, + 89u8, 99u8, 137u8, 109u8, 138u8, 26u8, 104u8, 242u8, 65u8, 239u8, 42u8, + 135u8, 47u8, 165u8, 84u8, 152u8, 136u8, 166u8, 236u8, 115u8, 216u8, ], ) } @@ -44256,8 +47833,9 @@ pub mod api { } #[doc = "Unregisters a service provider from a specific service blueprint."] #[doc = ""] - #[doc = "After unregistering, the provider will no longer receive new service assignments for this blueprint."] - #[doc = "However, they must continue servicing any active assignments until completion to avoid penalties."] + #[doc = "Can only be called if the no services are active for the blueprint."] + #[doc = "After unregistering, the provider will no longer receive new service"] + #[doc = "assignments for this blueprint."] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] @@ -44360,10 +47938,11 @@ pub mod api { permitted_callers: types::request::PermittedCallers, operators: types::request::Operators, request_args: types::request::RequestArgs, - assets: types::request::Assets, + asset_security_requirements: types::request::AssetSecurityRequirements, ttl: types::request::Ttl, payment_asset: types::request::PaymentAsset, value: types::request::Value, + membership_model: types::request::MembershipModel, ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( "Services", @@ -44374,16 +47953,17 @@ pub mod api { permitted_callers, operators, request_args, - assets, + asset_security_requirements, ttl, payment_asset, value, + membership_model, }, [ - 5u8, 91u8, 50u8, 194u8, 43u8, 161u8, 108u8, 62u8, 194u8, 160u8, 198u8, - 127u8, 197u8, 245u8, 238u8, 215u8, 252u8, 185u8, 92u8, 98u8, 117u8, - 229u8, 209u8, 222u8, 189u8, 172u8, 240u8, 170u8, 123u8, 207u8, 241u8, - 191u8, + 65u8, 212u8, 97u8, 189u8, 47u8, 129u8, 21u8, 254u8, 135u8, 47u8, 76u8, + 90u8, 253u8, 117u8, 186u8, 220u8, 196u8, 204u8, 19u8, 127u8, 23u8, + 144u8, 163u8, 224u8, 15u8, 4u8, 114u8, 76u8, 209u8, 124u8, 159u8, + 116u8, ], ) } @@ -44398,25 +47978,28 @@ pub mod api { #[doc = ""] #[doc = "* `origin` - The origin of the call, must be a signed account"] #[doc = "* `request_id` - The ID of the service request to approve"] - #[doc = "* `restaking_percent` - Percentage of staked tokens to expose to this service (0-100)"] + #[doc = "* `native_exposure_percent` - Percentage of native token stake to expose"] + #[doc = "* `asset_exposure` - Vector of asset-specific exposure commitments"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] #[doc = "* [`Error::ApprovalNotRequested`] - Caller is not in the pending approvals list"] #[doc = "* [`Error::ApprovalInterrupted`] - Approval was rejected by blueprint hook"] + #[doc = "* [`Error::InvalidRequestInput`] - Asset exposure commitments don't meet requirements"] pub fn approve( &self, request_id: types::approve::RequestId, - restaking_percent: types::approve::RestakingPercent, + security_commitments: types::approve::SecurityCommitments, ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( "Services", "approve", - types::Approve { request_id, restaking_percent }, + types::Approve { request_id, security_commitments }, [ - 72u8, 64u8, 87u8, 137u8, 74u8, 76u8, 114u8, 137u8, 14u8, 170u8, 131u8, - 34u8, 144u8, 202u8, 182u8, 61u8, 8u8, 166u8, 232u8, 86u8, 41u8, 12u8, - 111u8, 231u8, 49u8, 153u8, 158u8, 24u8, 153u8, 96u8, 49u8, 209u8, + 189u8, 91u8, 224u8, 77u8, 87u8, 147u8, 197u8, 28u8, 209u8, 28u8, 170u8, + 157u8, 14u8, 42u8, 18u8, 241u8, 146u8, 209u8, 60u8, 210u8, 204u8, + 168u8, 113u8, 30u8, 206u8, 233u8, 19u8, 36u8, 136u8, 115u8, 125u8, + 108u8, ], ) } @@ -44581,7 +48164,7 @@ pub mod api { #[doc = "* `origin` - The origin of the call. Must be signed by an authorized Slash Origin."] #[doc = "* `offender` - The account ID of the operator to be slashed."] #[doc = "* `service_id` - The ID of the service for which to slash the operator."] - #[doc = "* `percent` - The percentage of the operator's exposed stake to slash, as a `Percent` value."] + #[doc = "* `slash_percent` - The percentage of the operator's exposed stake to slash, as a `Percent` value."] #[doc = ""] #[doc = "# Errors"] #[doc = ""] @@ -44593,16 +48176,17 @@ pub mod api { &self, offender: types::slash::Offender, service_id: types::slash::ServiceId, - percent: types::slash::Percent, + slash_percent: types::slash::SlashPercent, ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( "Services", "slash", - types::Slash { offender, service_id, percent }, + types::Slash { offender, service_id, slash_percent }, [ - 230u8, 228u8, 230u8, 48u8, 57u8, 70u8, 72u8, 244u8, 232u8, 45u8, 172u8, - 52u8, 3u8, 157u8, 216u8, 203u8, 191u8, 112u8, 8u8, 104u8, 35u8, 0u8, - 58u8, 17u8, 238u8, 8u8, 221u8, 138u8, 70u8, 24u8, 173u8, 185u8, + 23u8, 134u8, 226u8, 252u8, 149u8, 19u8, 46u8, 60u8, 128u8, 156u8, + 192u8, 208u8, 158u8, 76u8, 31u8, 255u8, 145u8, 23u8, 230u8, 15u8, 32u8, + 102u8, 110u8, 253u8, 1u8, 14u8, 154u8, 204u8, 198u8, 12u8, 185u8, + 148u8, ], ) } @@ -44673,6 +48257,40 @@ pub mod api { ], ) } + #[doc = "Join a service instance as an operator"] + pub fn join_service( + &self, + instance_id: types::join_service::InstanceId, + security_commitments: types::join_service::SecurityCommitments, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Services", + "join_service", + types::JoinService { instance_id, security_commitments }, + [ + 53u8, 248u8, 31u8, 13u8, 125u8, 216u8, 98u8, 164u8, 255u8, 175u8, 41u8, + 218u8, 163u8, 209u8, 29u8, 245u8, 97u8, 93u8, 161u8, 119u8, 109u8, + 36u8, 108u8, 246u8, 252u8, 217u8, 36u8, 47u8, 246u8, 125u8, 188u8, + 107u8, + ], + ) + } + #[doc = "Leave a service instance as an operator"] + pub fn leave_service( + &self, + instance_id: types::leave_service::InstanceId, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Services", + "leave_service", + types::LeaveService { instance_id }, + [ + 224u8, 35u8, 93u8, 174u8, 1u8, 67u8, 35u8, 46u8, 195u8, 56u8, 103u8, + 19u8, 112u8, 218u8, 195u8, 149u8, 175u8, 203u8, 198u8, 44u8, 76u8, + 95u8, 0u8, 121u8, 82u8, 91u8, 244u8, 230u8, 27u8, 113u8, 12u8, 72u8, + ], + ) + } } } #[doc = "The `Event` enum of this pallet"] @@ -44690,7 +48308,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A new service blueprint has been created."] @@ -44718,7 +48335,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has pre-registered for a service blueprint."] @@ -44746,7 +48362,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An new operator has been registered."] @@ -44761,7 +48376,7 @@ pub mod api { pub type Provider = ::subxt_core::utils::AccountId32; pub type BlueprintId = ::core::primitive::u64; pub type Preferences = - runtime_types::tangle_primitives::services::OperatorPreferences; + runtime_types::tangle_primitives::services::types::OperatorPreferences; pub type RegistrationArgs = ::subxt_core::alloc::vec::Vec< runtime_types::tangle_primitives::services::field::Field< ::subxt_core::utils::AccountId32, @@ -44783,7 +48398,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has been unregistered."] @@ -44811,7 +48425,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The price targets for an operator has been updated."] @@ -44824,7 +48437,8 @@ pub mod api { use super::runtime_types; pub type Operator = ::subxt_core::utils::AccountId32; pub type BlueprintId = ::core::primitive::u64; - pub type PriceTargets = runtime_types::tangle_primitives::services::PriceTargets; + pub type PriceTargets = + runtime_types::tangle_primitives::services::types::PriceTargets; } impl ::subxt_core::events::StaticEvent for PriceTargetsUpdated { const PALLET: &'static str = "Services"; @@ -44841,7 +48455,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A new service has been requested."] @@ -44851,7 +48464,7 @@ pub mod api { pub blueprint_id: service_requested::BlueprintId, pub pending_approvals: service_requested::PendingApprovals, pub approved: service_requested::Approved, - pub assets: service_requested::Assets, + pub security_requirements: service_requested::SecurityRequirements, } pub mod service_requested { use super::runtime_types; @@ -44861,7 +48474,12 @@ pub mod api { pub type PendingApprovals = ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; pub type Approved = ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; - pub type Assets = ::subxt_core::alloc::vec::Vec<::core::primitive::u128>; + pub type SecurityRequirements = + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::tangle_primitives::services::types::AssetSecurityRequirement< + ::core::primitive::u128, + >, + >; } impl ::subxt_core::events::StaticEvent for ServiceRequested { const PALLET: &'static str = "Services"; @@ -44878,7 +48496,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A service request has been approved."] @@ -44913,7 +48530,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A service request has been rejected."] @@ -44943,7 +48559,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A service has been initiated."] @@ -44952,7 +48567,7 @@ pub mod api { pub request_id: service_initiated::RequestId, pub service_id: service_initiated::ServiceId, pub blueprint_id: service_initiated::BlueprintId, - pub assets: service_initiated::Assets, + pub operator_security_commitments: service_initiated::OperatorSecurityCommitments, } pub mod service_initiated { use super::runtime_types; @@ -44960,7 +48575,7 @@ pub mod api { pub type RequestId = ::core::primitive::u64; pub type ServiceId = ::core::primitive::u64; pub type BlueprintId = ::core::primitive::u64; - pub type Assets = ::subxt_core::alloc::vec::Vec<::core::primitive::u128>; + pub type OperatorSecurityCommitments = runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < (:: subxt_core :: utils :: AccountId32 , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: types :: AssetSecurityCommitment < :: core :: primitive :: u128 > > ,) > ; } impl ::subxt_core::events::StaticEvent for ServiceInitiated { const PALLET: &'static str = "Services"; @@ -44977,7 +48592,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A service has been terminated."] @@ -45007,7 +48621,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A job has been called."] @@ -45045,7 +48658,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A job result has been submitted."] @@ -45083,7 +48695,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "EVM execution reverted with a reason."] @@ -45115,25 +48726,24 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An Operator has an unapplied slash."] pub struct UnappliedSlash { pub index: unapplied_slash::Index, pub operator: unapplied_slash::Operator, - pub amount: unapplied_slash::Amount, pub service_id: unapplied_slash::ServiceId, pub blueprint_id: unapplied_slash::BlueprintId, + pub slash_percent: unapplied_slash::SlashPercent, pub era: unapplied_slash::Era, } pub mod unapplied_slash { use super::runtime_types; pub type Index = ::core::primitive::u32; pub type Operator = ::subxt_core::utils::AccountId32; - pub type Amount = ::core::primitive::u128; pub type ServiceId = ::core::primitive::u64; pub type BlueprintId = ::core::primitive::u64; + pub type SlashPercent = runtime_types::sp_arithmetic::per_things::Percent; pub type Era = ::core::primitive::u32; } impl ::subxt_core::events::StaticEvent for UnappliedSlash { @@ -45151,25 +48761,24 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An Unapplied Slash got discarded."] pub struct SlashDiscarded { pub index: slash_discarded::Index, pub operator: slash_discarded::Operator, - pub amount: slash_discarded::Amount, pub service_id: slash_discarded::ServiceId, pub blueprint_id: slash_discarded::BlueprintId, + pub slash_percent: slash_discarded::SlashPercent, pub era: slash_discarded::Era, } pub mod slash_discarded { use super::runtime_types; pub type Index = ::core::primitive::u32; pub type Operator = ::subxt_core::utils::AccountId32; - pub type Amount = ::core::primitive::u128; pub type ServiceId = ::core::primitive::u64; pub type BlueprintId = ::core::primitive::u64; + pub type SlashPercent = runtime_types::sp_arithmetic::per_things::Percent; pub type Era = ::core::primitive::u32; } impl ::subxt_core::events::StaticEvent for SlashDiscarded { @@ -45187,7 +48796,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The Master Blueprint Service Manager has been revised."] @@ -45233,21 +48841,27 @@ pub mod api { use super::runtime_types; pub type Blueprints = ( ::subxt_core::utils::AccountId32, - runtime_types::tangle_primitives::services::ServiceBlueprint, + runtime_types::tangle_primitives::services::service::ServiceBlueprint, ); pub type Param0 = ::core::primitive::u64; } + pub mod service_status { + use super::runtime_types; + pub type ServiceStatus = (); + pub type Param0 = ::core::primitive::u64; + pub type Param1 = ::core::primitive::u64; + } pub mod operators { use super::runtime_types; pub type Operators = - runtime_types::tangle_primitives::services::OperatorPreferences; + runtime_types::tangle_primitives::services::types::OperatorPreferences; pub type Param0 = ::core::primitive::u64; pub type Param1 = ::subxt_core::utils::AccountId32; } pub mod service_requests { use super::runtime_types; pub type ServiceRequests = - runtime_types::tangle_primitives::services::ServiceRequest< + runtime_types::tangle_primitives::services::service::ServiceRequest< ::subxt_core::utils::AccountId32, ::core::primitive::u64, ::core::primitive::u128, @@ -45256,11 +48870,12 @@ pub mod api { } pub mod instances { use super::runtime_types; - pub type Instances = runtime_types::tangle_primitives::services::Service< - ::subxt_core::utils::AccountId32, - ::core::primitive::u64, - ::core::primitive::u128, - >; + pub type Instances = + runtime_types::tangle_primitives::services::service::Service< + ::subxt_core::utils::AccountId32, + ::core::primitive::u64, + ::core::primitive::u128, + >; pub type Param0 = ::core::primitive::u64; } pub mod user_services { @@ -45273,7 +48888,7 @@ pub mod api { } pub mod job_calls { use super::runtime_types; - pub type JobCalls = runtime_types::tangle_primitives::services::JobCall< + pub type JobCalls = runtime_types::tangle_primitives::services::jobs::JobCall< ::subxt_core::utils::AccountId32, >; pub type Param0 = ::core::primitive::u64; @@ -45281,18 +48896,18 @@ pub mod api { } pub mod job_results { use super::runtime_types; - pub type JobResults = runtime_types::tangle_primitives::services::JobCallResult< - ::subxt_core::utils::AccountId32, - >; + pub type JobResults = + runtime_types::tangle_primitives::services::jobs::JobCallResult< + ::subxt_core::utils::AccountId32, + >; pub type Param0 = ::core::primitive::u64; pub type Param1 = ::core::primitive::u64; } pub mod unapplied_slashes { use super::runtime_types; pub type UnappliedSlashes = - runtime_types::pallet_services::types::UnappliedSlash< + runtime_types::tangle_primitives::services::types::UnappliedSlash< ::subxt_core::utils::AccountId32, - ::core::primitive::u128, >; pub type Param0 = ::core::primitive::u32; pub type Param1 = ::core::primitive::u32; @@ -45307,13 +48922,13 @@ pub mod api { pub mod operators_profile { use super::runtime_types; pub type OperatorsProfile = - runtime_types::tangle_primitives::services::OperatorProfile; + runtime_types::tangle_primitives::services::types::OperatorProfile; pub type Param0 = ::subxt_core::utils::AccountId32; } pub mod staging_service_payments { use super::runtime_types; pub type StagingServicePayments = - runtime_types::tangle_primitives::services::StagingServicePayment< + runtime_types::tangle_primitives::services::service::StagingServicePayment< ::subxt_core::utils::AccountId32, ::core::primitive::u128, ::core::primitive::u128, @@ -45444,10 +49059,10 @@ pub mod api { "Blueprints", (), [ - 128u8, 96u8, 251u8, 173u8, 221u8, 227u8, 202u8, 143u8, 95u8, 146u8, - 91u8, 134u8, 174u8, 134u8, 229u8, 40u8, 99u8, 115u8, 180u8, 135u8, - 144u8, 94u8, 17u8, 43u8, 69u8, 81u8, 46u8, 127u8, 238u8, 179u8, 51u8, - 58u8, + 216u8, 56u8, 148u8, 155u8, 201u8, 0u8, 65u8, 36u8, 48u8, 223u8, 249u8, + 67u8, 133u8, 194u8, 101u8, 245u8, 166u8, 213u8, 237u8, 79u8, 18u8, + 19u8, 181u8, 187u8, 148u8, 193u8, 89u8, 193u8, 192u8, 77u8, 135u8, + 60u8, ], ) } @@ -45467,10 +49082,92 @@ pub mod api { "Blueprints", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 128u8, 96u8, 251u8, 173u8, 221u8, 227u8, 202u8, 143u8, 95u8, 146u8, - 91u8, 134u8, 174u8, 134u8, 229u8, 40u8, 99u8, 115u8, 180u8, 135u8, - 144u8, 94u8, 17u8, 43u8, 69u8, 81u8, 46u8, 127u8, 238u8, 179u8, 51u8, - 58u8, + 216u8, 56u8, 148u8, 155u8, 201u8, 0u8, 65u8, 36u8, 48u8, 223u8, 249u8, + 67u8, 133u8, 194u8, 101u8, 245u8, 166u8, 213u8, 237u8, 79u8, 18u8, + 19u8, 181u8, 187u8, 148u8, 193u8, 89u8, 193u8, 192u8, 77u8, 135u8, + 60u8, + ], + ) + } + #[doc = " The services for a particular blueprint and their active status."] + #[doc = " Blueprint ID -> Service ID -> active"] + pub fn service_status_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::service_status::ServiceStatus, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "ServiceStatus", + (), + [ + 173u8, 206u8, 215u8, 186u8, 210u8, 128u8, 223u8, 252u8, 60u8, 32u8, + 210u8, 54u8, 169u8, 78u8, 220u8, 70u8, 144u8, 142u8, 143u8, 145u8, + 222u8, 3u8, 80u8, 164u8, 135u8, 175u8, 27u8, 178u8, 52u8, 88u8, 197u8, + 22u8, + ], + ) + } + #[doc = " The services for a particular blueprint and their active status."] + #[doc = " Blueprint ID -> Service ID -> active"] + pub fn service_status_iter1( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::service_status::ServiceStatus, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "ServiceStatus", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 173u8, 206u8, 215u8, 186u8, 210u8, 128u8, 223u8, 252u8, 60u8, 32u8, + 210u8, 54u8, 169u8, 78u8, 220u8, 70u8, 144u8, 142u8, 143u8, 145u8, + 222u8, 3u8, 80u8, 164u8, 135u8, 175u8, 27u8, 178u8, 52u8, 88u8, 197u8, + 22u8, + ], + ) + } + #[doc = " The services for a particular blueprint and their active status."] + #[doc = " Blueprint ID -> Service ID -> active"] + pub fn service_status( + &self, + _0: impl ::core::borrow::Borrow, + _1: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ( + ::subxt_core::storage::address::StaticStorageKey< + types::service_status::Param0, + >, + ::subxt_core::storage::address::StaticStorageKey< + types::service_status::Param1, + >, + ), + types::service_status::ServiceStatus, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "ServiceStatus", + ( + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), + ), + [ + 173u8, 206u8, 215u8, 186u8, 210u8, 128u8, 223u8, 252u8, 60u8, 32u8, + 210u8, 54u8, 169u8, 78u8, 220u8, 70u8, 144u8, 142u8, 143u8, 145u8, + 222u8, 3u8, 80u8, 164u8, 135u8, 175u8, 27u8, 178u8, 52u8, 88u8, 197u8, + 22u8, ], ) } @@ -45490,10 +49187,9 @@ pub mod api { "Operators", (), [ - 174u8, 201u8, 136u8, 193u8, 231u8, 202u8, 185u8, 114u8, 100u8, 186u8, - 124u8, 138u8, 206u8, 11u8, 196u8, 146u8, 131u8, 51u8, 252u8, 115u8, - 26u8, 13u8, 143u8, 66u8, 27u8, 2u8, 44u8, 25u8, 72u8, 247u8, 191u8, - 109u8, + 167u8, 232u8, 100u8, 27u8, 110u8, 5u8, 85u8, 2u8, 25u8, 172u8, 131u8, + 21u8, 230u8, 12u8, 57u8, 92u8, 95u8, 18u8, 151u8, 243u8, 1u8, 147u8, + 130u8, 7u8, 16u8, 149u8, 66u8, 168u8, 208u8, 20u8, 132u8, 154u8, ], ) } @@ -45514,10 +49210,9 @@ pub mod api { "Operators", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 174u8, 201u8, 136u8, 193u8, 231u8, 202u8, 185u8, 114u8, 100u8, 186u8, - 124u8, 138u8, 206u8, 11u8, 196u8, 146u8, 131u8, 51u8, 252u8, 115u8, - 26u8, 13u8, 143u8, 66u8, 27u8, 2u8, 44u8, 25u8, 72u8, 247u8, 191u8, - 109u8, + 167u8, 232u8, 100u8, 27u8, 110u8, 5u8, 85u8, 2u8, 25u8, 172u8, 131u8, + 21u8, 230u8, 12u8, 57u8, 92u8, 95u8, 18u8, 151u8, 243u8, 1u8, 147u8, + 130u8, 7u8, 16u8, 149u8, 66u8, 168u8, 208u8, 20u8, 132u8, 154u8, ], ) } @@ -45545,10 +49240,9 @@ pub mod api { ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), ), [ - 174u8, 201u8, 136u8, 193u8, 231u8, 202u8, 185u8, 114u8, 100u8, 186u8, - 124u8, 138u8, 206u8, 11u8, 196u8, 146u8, 131u8, 51u8, 252u8, 115u8, - 26u8, 13u8, 143u8, 66u8, 27u8, 2u8, 44u8, 25u8, 72u8, 247u8, 191u8, - 109u8, + 167u8, 232u8, 100u8, 27u8, 110u8, 5u8, 85u8, 2u8, 25u8, 172u8, 131u8, + 21u8, 230u8, 12u8, 57u8, 92u8, 95u8, 18u8, 151u8, 243u8, 1u8, 147u8, + 130u8, 7u8, 16u8, 149u8, 66u8, 168u8, 208u8, 20u8, 132u8, 154u8, ], ) } @@ -45568,10 +49262,10 @@ pub mod api { "ServiceRequests", (), [ - 40u8, 228u8, 200u8, 194u8, 120u8, 132u8, 83u8, 201u8, 226u8, 241u8, - 11u8, 217u8, 48u8, 243u8, 0u8, 55u8, 101u8, 109u8, 173u8, 152u8, 162u8, - 148u8, 127u8, 236u8, 29u8, 61u8, 110u8, 144u8, 117u8, 174u8, 243u8, - 22u8, + 156u8, 126u8, 242u8, 211u8, 120u8, 86u8, 62u8, 172u8, 250u8, 13u8, + 158u8, 62u8, 184u8, 32u8, 30u8, 147u8, 164u8, 110u8, 136u8, 142u8, + 78u8, 176u8, 137u8, 88u8, 161u8, 105u8, 56u8, 170u8, 64u8, 70u8, 169u8, + 65u8, ], ) } @@ -45594,10 +49288,10 @@ pub mod api { "ServiceRequests", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 40u8, 228u8, 200u8, 194u8, 120u8, 132u8, 83u8, 201u8, 226u8, 241u8, - 11u8, 217u8, 48u8, 243u8, 0u8, 55u8, 101u8, 109u8, 173u8, 152u8, 162u8, - 148u8, 127u8, 236u8, 29u8, 61u8, 110u8, 144u8, 117u8, 174u8, 243u8, - 22u8, + 156u8, 126u8, 242u8, 211u8, 120u8, 86u8, 62u8, 172u8, 250u8, 13u8, + 158u8, 62u8, 184u8, 32u8, 30u8, 147u8, 164u8, 110u8, 136u8, 142u8, + 78u8, 176u8, 137u8, 88u8, 161u8, 105u8, 56u8, 170u8, 64u8, 70u8, 169u8, + 65u8, ], ) } @@ -45617,10 +49311,10 @@ pub mod api { "Instances", (), [ - 219u8, 177u8, 116u8, 70u8, 123u8, 19u8, 195u8, 108u8, 154u8, 204u8, - 221u8, 131u8, 254u8, 20u8, 56u8, 29u8, 41u8, 105u8, 35u8, 213u8, 252u8, - 44u8, 118u8, 125u8, 82u8, 215u8, 54u8, 131u8, 154u8, 111u8, 105u8, - 246u8, + 130u8, 153u8, 200u8, 4u8, 148u8, 83u8, 177u8, 33u8, 254u8, 234u8, + 215u8, 114u8, 36u8, 90u8, 143u8, 56u8, 71u8, 111u8, 230u8, 145u8, + 147u8, 252u8, 138u8, 236u8, 242u8, 92u8, 73u8, 8u8, 164u8, 130u8, + 182u8, 53u8, ], ) } @@ -45641,10 +49335,10 @@ pub mod api { "Instances", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 219u8, 177u8, 116u8, 70u8, 123u8, 19u8, 195u8, 108u8, 154u8, 204u8, - 221u8, 131u8, 254u8, 20u8, 56u8, 29u8, 41u8, 105u8, 35u8, 213u8, 252u8, - 44u8, 118u8, 125u8, 82u8, 215u8, 54u8, 131u8, 154u8, 111u8, 105u8, - 246u8, + 130u8, 153u8, 200u8, 4u8, 148u8, 83u8, 177u8, 33u8, 254u8, 234u8, + 215u8, 114u8, 36u8, 90u8, 143u8, 56u8, 71u8, 111u8, 230u8, 145u8, + 147u8, 252u8, 138u8, 236u8, 242u8, 92u8, 73u8, 8u8, 164u8, 130u8, + 182u8, 53u8, ], ) } @@ -45711,10 +49405,10 @@ pub mod api { "JobCalls", (), [ - 190u8, 74u8, 4u8, 125u8, 159u8, 85u8, 112u8, 11u8, 250u8, 158u8, 137u8, - 62u8, 139u8, 108u8, 71u8, 195u8, 84u8, 199u8, 143u8, 36u8, 214u8, - 169u8, 102u8, 12u8, 203u8, 213u8, 198u8, 168u8, 137u8, 123u8, 50u8, - 244u8, + 198u8, 35u8, 109u8, 168u8, 67u8, 233u8, 191u8, 17u8, 172u8, 121u8, + 133u8, 173u8, 193u8, 150u8, 172u8, 107u8, 132u8, 89u8, 245u8, 230u8, + 137u8, 40u8, 76u8, 249u8, 78u8, 68u8, 251u8, 33u8, 15u8, 205u8, 210u8, + 193u8, ], ) } @@ -45735,10 +49429,10 @@ pub mod api { "JobCalls", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 190u8, 74u8, 4u8, 125u8, 159u8, 85u8, 112u8, 11u8, 250u8, 158u8, 137u8, - 62u8, 139u8, 108u8, 71u8, 195u8, 84u8, 199u8, 143u8, 36u8, 214u8, - 169u8, 102u8, 12u8, 203u8, 213u8, 198u8, 168u8, 137u8, 123u8, 50u8, - 244u8, + 198u8, 35u8, 109u8, 168u8, 67u8, 233u8, 191u8, 17u8, 172u8, 121u8, + 133u8, 173u8, 193u8, 150u8, 172u8, 107u8, 132u8, 89u8, 245u8, 230u8, + 137u8, 40u8, 76u8, 249u8, 78u8, 68u8, 251u8, 33u8, 15u8, 205u8, 210u8, + 193u8, ], ) } @@ -45766,10 +49460,10 @@ pub mod api { ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), ), [ - 190u8, 74u8, 4u8, 125u8, 159u8, 85u8, 112u8, 11u8, 250u8, 158u8, 137u8, - 62u8, 139u8, 108u8, 71u8, 195u8, 84u8, 199u8, 143u8, 36u8, 214u8, - 169u8, 102u8, 12u8, 203u8, 213u8, 198u8, 168u8, 137u8, 123u8, 50u8, - 244u8, + 198u8, 35u8, 109u8, 168u8, 67u8, 233u8, 191u8, 17u8, 172u8, 121u8, + 133u8, 173u8, 193u8, 150u8, 172u8, 107u8, 132u8, 89u8, 245u8, 230u8, + 137u8, 40u8, 76u8, 249u8, 78u8, 68u8, 251u8, 33u8, 15u8, 205u8, 210u8, + 193u8, ], ) } @@ -45789,10 +49483,10 @@ pub mod api { "JobResults", (), [ - 37u8, 161u8, 213u8, 237u8, 49u8, 233u8, 178u8, 36u8, 189u8, 166u8, - 169u8, 190u8, 206u8, 10u8, 219u8, 41u8, 131u8, 34u8, 15u8, 146u8, - 224u8, 200u8, 90u8, 180u8, 233u8, 22u8, 165u8, 44u8, 181u8, 154u8, - 206u8, 219u8, + 44u8, 155u8, 171u8, 160u8, 35u8, 115u8, 188u8, 96u8, 218u8, 221u8, + 226u8, 190u8, 215u8, 236u8, 93u8, 240u8, 59u8, 119u8, 98u8, 12u8, + 103u8, 186u8, 122u8, 123u8, 214u8, 207u8, 234u8, 211u8, 249u8, 80u8, + 26u8, 246u8, ], ) } @@ -45813,10 +49507,10 @@ pub mod api { "JobResults", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 37u8, 161u8, 213u8, 237u8, 49u8, 233u8, 178u8, 36u8, 189u8, 166u8, - 169u8, 190u8, 206u8, 10u8, 219u8, 41u8, 131u8, 34u8, 15u8, 146u8, - 224u8, 200u8, 90u8, 180u8, 233u8, 22u8, 165u8, 44u8, 181u8, 154u8, - 206u8, 219u8, + 44u8, 155u8, 171u8, 160u8, 35u8, 115u8, 188u8, 96u8, 218u8, 221u8, + 226u8, 190u8, 215u8, 236u8, 93u8, 240u8, 59u8, 119u8, 98u8, 12u8, + 103u8, 186u8, 122u8, 123u8, 214u8, 207u8, 234u8, 211u8, 249u8, 80u8, + 26u8, 246u8, ], ) } @@ -45848,10 +49542,10 @@ pub mod api { ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), ), [ - 37u8, 161u8, 213u8, 237u8, 49u8, 233u8, 178u8, 36u8, 189u8, 166u8, - 169u8, 190u8, 206u8, 10u8, 219u8, 41u8, 131u8, 34u8, 15u8, 146u8, - 224u8, 200u8, 90u8, 180u8, 233u8, 22u8, 165u8, 44u8, 181u8, 154u8, - 206u8, 219u8, + 44u8, 155u8, 171u8, 160u8, 35u8, 115u8, 188u8, 96u8, 218u8, 221u8, + 226u8, 190u8, 215u8, 236u8, 93u8, 240u8, 59u8, 119u8, 98u8, 12u8, + 103u8, 186u8, 122u8, 123u8, 214u8, 207u8, 234u8, 211u8, 249u8, 80u8, + 26u8, 246u8, ], ) } @@ -45872,10 +49566,9 @@ pub mod api { "UnappliedSlashes", (), [ - 131u8, 139u8, 216u8, 142u8, 159u8, 249u8, 125u8, 45u8, 8u8, 130u8, - 110u8, 58u8, 162u8, 117u8, 169u8, 140u8, 71u8, 132u8, 11u8, 255u8, - 112u8, 187u8, 4u8, 46u8, 22u8, 107u8, 20u8, 139u8, 49u8, 181u8, 45u8, - 61u8, + 241u8, 6u8, 166u8, 93u8, 49u8, 152u8, 8u8, 112u8, 250u8, 117u8, 206u8, + 37u8, 6u8, 3u8, 159u8, 205u8, 43u8, 40u8, 6u8, 87u8, 197u8, 149u8, + 234u8, 51u8, 46u8, 145u8, 133u8, 27u8, 33u8, 152u8, 176u8, 149u8, ], ) } @@ -45899,10 +49592,9 @@ pub mod api { "UnappliedSlashes", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 131u8, 139u8, 216u8, 142u8, 159u8, 249u8, 125u8, 45u8, 8u8, 130u8, - 110u8, 58u8, 162u8, 117u8, 169u8, 140u8, 71u8, 132u8, 11u8, 255u8, - 112u8, 187u8, 4u8, 46u8, 22u8, 107u8, 20u8, 139u8, 49u8, 181u8, 45u8, - 61u8, + 241u8, 6u8, 166u8, 93u8, 49u8, 152u8, 8u8, 112u8, 250u8, 117u8, 206u8, + 37u8, 6u8, 3u8, 159u8, 205u8, 43u8, 40u8, 6u8, 87u8, 197u8, 149u8, + 234u8, 51u8, 46u8, 145u8, 133u8, 27u8, 33u8, 152u8, 176u8, 149u8, ], ) } @@ -45935,10 +49627,9 @@ pub mod api { ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), ), [ - 131u8, 139u8, 216u8, 142u8, 159u8, 249u8, 125u8, 45u8, 8u8, 130u8, - 110u8, 58u8, 162u8, 117u8, 169u8, 140u8, 71u8, 132u8, 11u8, 255u8, - 112u8, 187u8, 4u8, 46u8, 22u8, 107u8, 20u8, 139u8, 49u8, 181u8, 45u8, - 61u8, + 241u8, 6u8, 166u8, 93u8, 49u8, 152u8, 8u8, 112u8, 250u8, 117u8, 206u8, + 37u8, 6u8, 3u8, 159u8, 205u8, 43u8, 40u8, 6u8, 87u8, 197u8, 149u8, + 234u8, 51u8, 46u8, 145u8, 133u8, 27u8, 33u8, 152u8, 176u8, 149u8, ], ) } @@ -45970,9 +49661,9 @@ pub mod api { "OperatorsProfile", (), [ - 89u8, 71u8, 163u8, 108u8, 71u8, 192u8, 181u8, 164u8, 168u8, 126u8, - 228u8, 122u8, 159u8, 83u8, 66u8, 59u8, 179u8, 218u8, 96u8, 67u8, 172u8, - 65u8, 62u8, 156u8, 69u8, 85u8, 38u8, 217u8, 93u8, 8u8, 58u8, 115u8, + 159u8, 133u8, 32u8, 36u8, 109u8, 170u8, 112u8, 253u8, 0u8, 50u8, 192u8, + 48u8, 162u8, 208u8, 41u8, 222u8, 191u8, 8u8, 207u8, 79u8, 159u8, 254u8, + 90u8, 69u8, 202u8, 5u8, 254u8, 176u8, 8u8, 49u8, 245u8, 153u8, ], ) } @@ -45993,9 +49684,9 @@ pub mod api { "OperatorsProfile", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 89u8, 71u8, 163u8, 108u8, 71u8, 192u8, 181u8, 164u8, 168u8, 126u8, - 228u8, 122u8, 159u8, 83u8, 66u8, 59u8, 179u8, 218u8, 96u8, 67u8, 172u8, - 65u8, 62u8, 156u8, 69u8, 85u8, 38u8, 217u8, 93u8, 8u8, 58u8, 115u8, + 159u8, 133u8, 32u8, 36u8, 109u8, 170u8, 112u8, 253u8, 0u8, 50u8, 192u8, + 48u8, 162u8, 208u8, 41u8, 222u8, 191u8, 8u8, 207u8, 79u8, 159u8, 254u8, + 90u8, 69u8, 202u8, 5u8, 254u8, 176u8, 8u8, 49u8, 245u8, 153u8, ], ) } @@ -46060,14 +49751,15 @@ pub mod api { use super::runtime_types; pub struct ConstantsApi; impl ConstantsApi { - #[doc = " `Pallet` EVM Address."] - pub fn pallet_evm_address( + #[doc = " PalletId used for deriving the AccountId and EVM address."] + #[doc = " This account receives slashed assets upon slash event processing."] + pub fn pallet_evm_account( &self, ) -> ::subxt_core::constants::address::StaticAddress<::subxt_core::utils::H160> { ::subxt_core::constants::address::StaticAddress::new_static( "Services", - "PalletEVMAddress", + "PalletEvmAccount", [ 184u8, 103u8, 76u8, 37u8, 218u8, 155u8, 125u8, 78u8, 138u8, 122u8, 255u8, 132u8, 124u8, 68u8, 65u8, 163u8, 97u8, 77u8, 80u8, 33u8, 69u8, @@ -46409,6 +50101,23 @@ pub mod api { ], ) } + #[doc = " The minimum percentage of native token stake that operators must expose for slashing."] + pub fn minimum_native_security_requirement( + &self, + ) -> ::subxt_core::constants::address::StaticAddress< + runtime_types::sp_arithmetic::per_things::Percent, + > { + ::subxt_core::constants::address::StaticAddress::new_static( + "Services", + "MinimumNativeSecurityRequirement", + [ + 40u8, 171u8, 69u8, 196u8, 34u8, 184u8, 50u8, 128u8, 139u8, 192u8, 63u8, + 231u8, 249u8, 200u8, 252u8, 73u8, 244u8, 170u8, 51u8, 177u8, 106u8, + 47u8, 114u8, 234u8, 84u8, 104u8, 62u8, 118u8, 227u8, 50u8, 225u8, + 122u8, + ], + ) + } } } } @@ -46436,7 +50145,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Stakes funds with a pool by transferring the bonded amount from member to pool account."] @@ -46486,7 +50194,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Bond additional funds into an existing pool position."] @@ -46541,7 +50248,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Unbond points from a member's pool position, collecting any pending rewards."] @@ -46603,7 +50309,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Withdraws unbonded funds from the pool's staking account."] @@ -46649,7 +50354,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Withdraw unbonded funds from a member account."] @@ -46706,7 +50410,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Create a new delegation pool."] @@ -46782,7 +50485,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Create a new delegation pool with a previously used pool ID."] @@ -46862,7 +50564,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Nominate validators on behalf of the pool."] @@ -46910,7 +50611,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Updates the state of a pool. Once a pool is in `Destroying` state, its state cannot be"] @@ -46960,7 +50660,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Updates the metadata for a given pool."] @@ -47004,7 +50703,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Updates the global configuration parameters for nomination pools."] @@ -47058,7 +50756,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Update the roles of a pool."] @@ -47116,7 +50813,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Chill on behalf of the pool by forwarding the call to the staking pallet."] @@ -47156,7 +50852,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Bond additional funds for a pool member into their respective pool."] @@ -47209,7 +50904,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set or remove the commission rate and payee for a pool."] @@ -47255,7 +50949,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the maximum commission rate for a pool. Initial max can be set to any value, with only"] @@ -47299,7 +50992,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the commission change rate for a pool."] @@ -47339,7 +51031,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Claim pending commission for a pool."] @@ -47374,7 +51065,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Top up the deficit or withdraw the excess ED from the pool."] @@ -47411,7 +51101,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set or remove a pool's commission claim permission."] @@ -47448,7 +51137,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SetLastPoolId { @@ -48231,7 +51919,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A pool has been created."] @@ -48259,7 +51946,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A member has become bonded in a pool."] @@ -48291,7 +51977,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A payout has been made to a member."] @@ -48321,7 +52006,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A member has unbonded from their pool."] @@ -48365,7 +52049,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A member has withdrawn from their pool."] @@ -48402,7 +52085,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A pool has been destroyed."] @@ -48428,7 +52110,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The state of a pool has changed"] @@ -48456,7 +52137,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A member has been removed from a pool."] @@ -48486,7 +52166,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The roles of a pool have been updated to the given new roles. Note that the depositor"] @@ -48517,7 +52196,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The active balance of pool `pool_id` has been slashed to `balance`."] @@ -48545,7 +52223,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The unbond pool at `era` of pool `pool_id` has been slashed to `balance`."] @@ -48575,7 +52252,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A pool's commission setting has been changed."] @@ -48606,7 +52282,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A pool's maximum commission setting has been changed."] @@ -48634,7 +52309,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A pool's commission `change_rate` has been changed."] @@ -48665,7 +52339,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Pool commission claim permission has been updated."] @@ -48697,7 +52370,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Pool commission has been claimed."] @@ -48725,7 +52397,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Topped up deficit in frozen ED of the reward pool."] @@ -48753,7 +52424,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Claimed excess frozen ED of the reward pool."] @@ -48781,7 +52451,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The last PoolId is updated"] @@ -49614,7 +53283,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Claim rewards for a specific asset and reward type"] @@ -49623,8 +53291,9 @@ pub mod api { } pub mod claim_rewards { use super::runtime_types; - pub type Asset = - runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; } impl ::subxt_core::blocks::StaticExtrinsic for ClaimRewards { const PALLET: &'static str = "Rewards"; @@ -49641,7 +53310,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Claim rewards for another account"] @@ -49660,8 +53328,9 @@ pub mod api { pub mod claim_rewards_other { use super::runtime_types; pub type Who = ::subxt_core::utils::AccountId32; - pub type Asset = - runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; } impl ::subxt_core::blocks::StaticExtrinsic for ClaimRewardsOther { const PALLET: &'static str = "Rewards"; @@ -49678,7 +53347,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Manage asset id to vault rewards."] @@ -49691,7 +53359,7 @@ pub mod api { #[doc = ""] #[doc = "* `origin` - Origin of the call"] #[doc = "* `vault_id` - ID of the vault"] - #[doc = "* `asset_id` - ID of the asset"] + #[doc = "* `asset` - ID of the asset"] #[doc = "* `action` - Action to perform (Add/Remove)"] #[doc = ""] #[doc = "# Errors"] @@ -49700,14 +53368,15 @@ pub mod api { #[doc = "* [`Error::AssetNotInVault`] - Asset does not exist in vault"] pub struct ManageAssetRewardVault { pub vault_id: manage_asset_reward_vault::VaultId, - pub asset_id: manage_asset_reward_vault::AssetId, + pub asset: manage_asset_reward_vault::Asset, pub action: manage_asset_reward_vault::Action, } pub mod manage_asset_reward_vault { use super::runtime_types; pub type VaultId = ::core::primitive::u32; - pub type AssetId = - runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; pub type Action = runtime_types::pallet_rewards::types::AssetAction; } impl ::subxt_core::blocks::StaticExtrinsic for ManageAssetRewardVault { @@ -49725,7 +53394,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Creates a new reward configuration for a specific vault."] @@ -49734,7 +53402,7 @@ pub mod api { #[doc = "* `origin` - Origin of the call, must pass `ForceOrigin` check"] #[doc = "* `vault_id` - The ID of the vault to update"] #[doc = "* `new_config` - The new reward configuration containing:"] - #[doc = " * `apy` - Annual Percentage Yield for the vault"] + #[doc = " * `apy` - Annual Perbillage Yield for the vault"] #[doc = " * `deposit_cap` - Maximum amount that can be deposited"] #[doc = " * `incentive_cap` - Maximum amount of incentives that can be distributed"] #[doc = " * `boost_multiplier` - Optional multiplier to boost rewards"] @@ -49773,7 +53441,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Updates the reward configuration for a specific vault."] @@ -49782,7 +53449,7 @@ pub mod api { #[doc = "* `origin` - Origin of the call, must pass `ForceOrigin` check"] #[doc = "* `vault_id` - The ID of the vault to update"] #[doc = "* `new_config` - The new reward configuration containing:"] - #[doc = " * `apy` - Annual Percentage Yield for the vault"] + #[doc = " * `apy` - Annual Perbillage Yield for the vault"] #[doc = " * `deposit_cap` - Maximum amount that can be deposited"] #[doc = " * `incentive_cap` - Maximum amount of incentives that can be distributed"] #[doc = " * `boost_multiplier` - Optional multiplier to boost rewards"] @@ -49821,7 +53488,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Update the decay configuration"] @@ -49832,7 +53498,7 @@ pub mod api { pub mod update_decay_config { use super::runtime_types; pub type StartPeriod = ::core::primitive::u64; - pub type Rate = runtime_types::sp_arithmetic::per_things::Percent; + pub type Rate = runtime_types::sp_arithmetic::per_things::Perbill; } impl ::subxt_core::blocks::StaticExtrinsic for UpdateDecayConfig { const PALLET: &'static str = "Rewards"; @@ -49849,32 +53515,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Update the number of blocks used for APY calculation"] - pub struct UpdateApyBlocks { - pub blocks: update_apy_blocks::Blocks, - } - pub mod update_apy_blocks { - use super::runtime_types; - pub type Blocks = ::core::primitive::u64; - } - impl ::subxt_core::blocks::StaticExtrinsic for UpdateApyBlocks { - const PALLET: &'static str = "Rewards"; - const CALL: &'static str = "update_apy_blocks"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Update the number of blocks used for APY calculation"] @@ -49945,7 +53585,7 @@ pub mod api { #[doc = ""] #[doc = "* `origin` - Origin of the call"] #[doc = "* `vault_id` - ID of the vault"] - #[doc = "* `asset_id` - ID of the asset"] + #[doc = "* `asset` - ID of the asset"] #[doc = "* `action` - Action to perform (Add/Remove)"] #[doc = ""] #[doc = "# Errors"] @@ -49955,17 +53595,17 @@ pub mod api { pub fn manage_asset_reward_vault( &self, vault_id: types::manage_asset_reward_vault::VaultId, - asset_id: types::manage_asset_reward_vault::AssetId, + asset: types::manage_asset_reward_vault::Asset, action: types::manage_asset_reward_vault::Action, ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( "Rewards", "manage_asset_reward_vault", - types::ManageAssetRewardVault { vault_id, asset_id, action }, + types::ManageAssetRewardVault { vault_id, asset, action }, [ - 169u8, 45u8, 33u8, 245u8, 172u8, 210u8, 42u8, 4u8, 5u8, 204u8, 254u8, - 113u8, 244u8, 225u8, 108u8, 202u8, 72u8, 107u8, 151u8, 79u8, 209u8, - 56u8, 211u8, 225u8, 95u8, 76u8, 53u8, 22u8, 16u8, 109u8, 70u8, 197u8, + 228u8, 21u8, 16u8, 73u8, 162u8, 158u8, 52u8, 35u8, 103u8, 37u8, 76u8, + 160u8, 239u8, 222u8, 122u8, 120u8, 104u8, 31u8, 250u8, 254u8, 34u8, + 26u8, 182u8, 80u8, 112u8, 219u8, 251u8, 229u8, 4u8, 178u8, 4u8, 74u8, ], ) } @@ -49975,7 +53615,7 @@ pub mod api { #[doc = "* `origin` - Origin of the call, must pass `ForceOrigin` check"] #[doc = "* `vault_id` - The ID of the vault to update"] #[doc = "* `new_config` - The new reward configuration containing:"] - #[doc = " * `apy` - Annual Percentage Yield for the vault"] + #[doc = " * `apy` - Annual Perbillage Yield for the vault"] #[doc = " * `deposit_cap` - Maximum amount that can be deposited"] #[doc = " * `incentive_cap` - Maximum amount of incentives that can be distributed"] #[doc = " * `boost_multiplier` - Optional multiplier to boost rewards"] @@ -49997,10 +53637,9 @@ pub mod api { "create_reward_vault", types::CreateRewardVault { vault_id, new_config }, [ - 206u8, 217u8, 216u8, 5u8, 223u8, 44u8, 252u8, 24u8, 136u8, 248u8, - 168u8, 118u8, 162u8, 199u8, 236u8, 58u8, 79u8, 160u8, 243u8, 243u8, - 57u8, 32u8, 90u8, 140u8, 141u8, 211u8, 148u8, 56u8, 106u8, 15u8, 14u8, - 14u8, + 1u8, 23u8, 16u8, 60u8, 148u8, 74u8, 20u8, 137u8, 92u8, 83u8, 75u8, + 72u8, 95u8, 115u8, 185u8, 227u8, 7u8, 106u8, 180u8, 67u8, 213u8, 72u8, + 23u8, 72u8, 196u8, 70u8, 75u8, 98u8, 29u8, 58u8, 103u8, 63u8, ], ) } @@ -50010,7 +53649,7 @@ pub mod api { #[doc = "* `origin` - Origin of the call, must pass `ForceOrigin` check"] #[doc = "* `vault_id` - The ID of the vault to update"] #[doc = "* `new_config` - The new reward configuration containing:"] - #[doc = " * `apy` - Annual Percentage Yield for the vault"] + #[doc = " * `apy` - Annual Perbillage Yield for the vault"] #[doc = " * `deposit_cap` - Maximum amount that can be deposited"] #[doc = " * `incentive_cap` - Maximum amount of incentives that can be distributed"] #[doc = " * `boost_multiplier` - Optional multiplier to boost rewards"] @@ -50032,10 +53671,9 @@ pub mod api { "update_vault_reward_config", types::UpdateVaultRewardConfig { vault_id, new_config }, [ - 229u8, 142u8, 118u8, 205u8, 140u8, 240u8, 239u8, 11u8, 235u8, 52u8, - 134u8, 178u8, 160u8, 171u8, 223u8, 51u8, 185u8, 34u8, 90u8, 54u8, - 199u8, 219u8, 39u8, 58u8, 70u8, 249u8, 155u8, 58u8, 67u8, 220u8, 125u8, - 132u8, + 159u8, 220u8, 49u8, 15u8, 80u8, 235u8, 109u8, 168u8, 65u8, 1u8, 209u8, + 232u8, 242u8, 165u8, 46u8, 253u8, 85u8, 166u8, 246u8, 71u8, 0u8, 214u8, + 117u8, 149u8, 194u8, 175u8, 133u8, 3u8, 155u8, 128u8, 125u8, 195u8, ], ) } @@ -50050,10 +53688,9 @@ pub mod api { "update_decay_config", types::UpdateDecayConfig { start_period, rate }, [ - 140u8, 236u8, 230u8, 237u8, 112u8, 250u8, 18u8, 251u8, 46u8, 121u8, - 43u8, 143u8, 185u8, 170u8, 120u8, 174u8, 134u8, 82u8, 249u8, 173u8, - 254u8, 113u8, 237u8, 104u8, 159u8, 66u8, 228u8, 111u8, 91u8, 11u8, - 146u8, 177u8, + 55u8, 242u8, 91u8, 49u8, 32u8, 54u8, 156u8, 96u8, 26u8, 70u8, 189u8, + 186u8, 30u8, 148u8, 187u8, 217u8, 235u8, 47u8, 137u8, 212u8, 33u8, + 34u8, 217u8, 50u8, 187u8, 189u8, 48u8, 237u8, 170u8, 215u8, 91u8, 44u8, ], ) } @@ -50090,7 +53727,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Rewards have been claimed by an account"] @@ -50102,8 +53738,9 @@ pub mod api { pub mod rewards_claimed { use super::runtime_types; pub type Account = ::subxt_core::utils::AccountId32; - pub type Asset = - runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; pub type Amount = ::core::primitive::u128; } impl ::subxt_core::events::StaticEvent for RewardsClaimed { @@ -50121,7 +53758,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Event emitted when an incentive APY and cap are set for a reward vault"] @@ -50133,7 +53769,7 @@ pub mod api { pub mod incentive_apy_and_cap_set { use super::runtime_types; pub type VaultId = ::core::primitive::u32; - pub type Apy = runtime_types::sp_arithmetic::per_things::Percent; + pub type Apy = runtime_types::sp_arithmetic::per_things::Perbill; pub type Cap = ::core::primitive::u128; } impl ::subxt_core::events::StaticEvent for IncentiveAPYAndCapSet { @@ -50151,7 +53787,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Event emitted when a blueprint is whitelisted for rewards"] @@ -50177,20 +53812,20 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Asset has been updated to reward vault"] pub struct AssetUpdatedInVault { pub vault_id: asset_updated_in_vault::VaultId, - pub asset_id: asset_updated_in_vault::AssetId, + pub asset: asset_updated_in_vault::Asset, pub action: asset_updated_in_vault::Action, } pub mod asset_updated_in_vault { use super::runtime_types; pub type VaultId = ::core::primitive::u32; - pub type AssetId = - runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; pub type Action = runtime_types::pallet_rewards::types::AssetAction; } impl ::subxt_core::events::StaticEvent for AssetUpdatedInVault { @@ -50208,7 +53843,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Vault reward config updated"] @@ -50239,7 +53873,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Vault created"] @@ -50272,7 +53905,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Total score in vault updated"] @@ -50285,8 +53917,9 @@ pub mod api { pub mod total_score_updated { use super::runtime_types; pub type VaultId = ::core::primitive::u32; - pub type Asset = - runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; pub type TotalScore = ::core::primitive::u128; pub type LockMultiplier = ::core::option::Option< runtime_types::tangle_primitives::types::rewards::LockMultiplier, @@ -50307,7 +53940,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Total deposit in vault updated"] @@ -50319,8 +53951,9 @@ pub mod api { pub mod total_deposit_updated { use super::runtime_types; pub type VaultId = ::core::primitive::u32; - pub type Asset = - runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; pub type TotalDeposit = ::core::primitive::u128; } impl ::subxt_core::events::StaticEvent for TotalDepositUpdated { @@ -50338,7 +53971,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Decay configuration was updated"] @@ -50349,7 +53981,7 @@ pub mod api { pub mod decay_config_updated { use super::runtime_types; pub type StartPeriod = ::core::primitive::u64; - pub type Rate = runtime_types::sp_arithmetic::per_things::Percent; + pub type Rate = runtime_types::sp_arithmetic::per_things::Perbill; } impl ::subxt_core::events::StaticEvent for DecayConfigUpdated { const PALLET: &'static str = "Rewards"; @@ -50366,32 +53998,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "The number of blocks for APY calculation has been updated"] - pub struct ApyBlocksUpdated { - pub blocks: apy_blocks_updated::Blocks, - } - pub mod apy_blocks_updated { - use super::runtime_types; - pub type Blocks = ::core::primitive::u64; - } - impl ::subxt_core::events::StaticEvent for ApyBlocksUpdated { - const PALLET: &'static str = "Rewards"; - const EVENT: &'static str = "ApyBlocksUpdated"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The number of blocks for APY calculation has been updated"] @@ -50425,8 +54031,9 @@ pub mod api { use super::runtime_types; pub type UserServiceReward = ::core::primitive::u128; pub type Param0 = ::subxt_core::utils::AccountId32; - pub type Param1 = - runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>; + pub type Param1 = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; } pub mod user_claimed_reward { use super::runtime_types; @@ -50437,15 +54044,18 @@ pub mod api { pub mod reward_vaults { use super::runtime_types; pub type RewardVaults = ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>, + runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >, >; pub type Param0 = ::core::primitive::u32; } pub mod asset_lookup_reward_vaults { use super::runtime_types; pub type AssetLookupRewardVaults = ::core::primitive::u32; - pub type Param0 = - runtime_types::tangle_primitives::services::Asset<::core::primitive::u128>; + pub type Param0 = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; } pub mod reward_config_storage { use super::runtime_types; @@ -50470,7 +54080,7 @@ pub mod api { } pub mod decay_rate { use super::runtime_types; - pub type DecayRate = runtime_types::sp_arithmetic::per_things::Percent; + pub type DecayRate = runtime_types::sp_arithmetic::per_things::Perbill; } } pub struct StorageApi; @@ -50834,9 +54444,10 @@ pub mod api { "RewardConfigStorage", (), [ - 85u8, 116u8, 237u8, 245u8, 144u8, 61u8, 218u8, 181u8, 11u8, 129u8, - 196u8, 245u8, 46u8, 142u8, 68u8, 87u8, 87u8, 120u8, 122u8, 111u8, 59u8, - 219u8, 226u8, 166u8, 9u8, 21u8, 235u8, 215u8, 165u8, 191u8, 14u8, 64u8, + 167u8, 13u8, 248u8, 73u8, 101u8, 33u8, 39u8, 129u8, 241u8, 211u8, + 177u8, 159u8, 73u8, 133u8, 168u8, 168u8, 249u8, 121u8, 83u8, 168u8, + 124u8, 215u8, 31u8, 197u8, 62u8, 13u8, 213u8, 16u8, 15u8, 142u8, 71u8, + 190u8, ], ) } @@ -50858,9 +54469,10 @@ pub mod api { "RewardConfigStorage", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 85u8, 116u8, 237u8, 245u8, 144u8, 61u8, 218u8, 181u8, 11u8, 129u8, - 196u8, 245u8, 46u8, 142u8, 68u8, 87u8, 87u8, 120u8, 122u8, 111u8, 59u8, - 219u8, 226u8, 166u8, 9u8, 21u8, 235u8, 215u8, 165u8, 191u8, 14u8, 64u8, + 167u8, 13u8, 248u8, 73u8, 101u8, 33u8, 39u8, 129u8, 241u8, 211u8, + 177u8, 159u8, 73u8, 133u8, 168u8, 168u8, 249u8, 121u8, 83u8, 168u8, + 124u8, 215u8, 31u8, 197u8, 62u8, 13u8, 213u8, 16u8, 15u8, 142u8, 71u8, + 190u8, ], ) } @@ -50967,9 +54579,10 @@ pub mod api { "DecayRate", (), [ - 210u8, 127u8, 222u8, 215u8, 161u8, 70u8, 11u8, 27u8, 111u8, 118u8, - 56u8, 16u8, 25u8, 169u8, 134u8, 193u8, 175u8, 87u8, 169u8, 205u8, 55u8, - 100u8, 57u8, 47u8, 245u8, 87u8, 26u8, 227u8, 165u8, 10u8, 143u8, 116u8, + 5u8, 116u8, 51u8, 176u8, 82u8, 107u8, 221u8, 189u8, 34u8, 234u8, 219u8, + 165u8, 106u8, 189u8, 225u8, 31u8, 195u8, 30u8, 87u8, 132u8, 140u8, + 152u8, 77u8, 212u8, 252u8, 253u8, 153u8, 128u8, 21u8, 232u8, 74u8, + 159u8, ], ) } @@ -50993,7 +54606,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BoundedBTreeMap<_0, _1>(pub ::subxt_core::utils::KeyedVec<_0, _1>); @@ -51011,7 +54623,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BoundedBTreeSet<_0>(pub ::subxt_core::alloc::vec::Vec<_0>); @@ -51031,7 +54642,6 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BoundedVec<_0>(pub ::subxt_core::alloc::vec::Vec<_0>); @@ -51049,7 +54659,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct WeakBoundedVec<_0>(pub ::subxt_core::alloc::vec::Vec<_0>); @@ -51068,7 +54677,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Bloom(pub [::core::primitive::u8; 256usize]); @@ -51088,7 +54696,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Block<_0> { @@ -51111,7 +54718,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Header { @@ -51145,7 +54751,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Log { @@ -51167,7 +54772,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct EIP658ReceiptData { @@ -51187,7 +54791,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ReceiptV3 { @@ -51212,7 +54815,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct AccessListItem { @@ -51230,7 +54832,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct EIP1559Transaction { @@ -51260,7 +54861,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct EIP2930Transaction { @@ -51289,7 +54889,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct LegacyTransaction { @@ -51312,7 +54911,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum TransactionAction { @@ -51333,7 +54931,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct TransactionRecoveryId(pub ::core::primitive::u64); @@ -51348,7 +54945,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct TransactionSignature { @@ -51367,7 +54963,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum TransactionV2 { @@ -51395,7 +54990,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct H64(pub [::core::primitive::u8; 8usize]); @@ -51416,7 +55010,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Basic { @@ -51440,7 +55033,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ExitError { @@ -51488,7 +55080,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ExitFatal { @@ -51512,7 +55103,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ExitReason { @@ -51536,7 +55126,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ExitRevert { @@ -51554,7 +55143,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ExitSucceed { @@ -51580,7 +55168,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Opcode(pub ::core::primitive::u8); @@ -51599,7 +55186,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Equivocation<_0, _1, _2> { @@ -51619,7 +55205,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Precommit<_0, _1> { @@ -51637,7 +55222,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Prevote<_0, _1> { @@ -51658,7 +55242,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ExecutionInfoV2<_0> { @@ -51679,7 +55262,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct UsedGas { @@ -51697,7 +55279,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct WeightInfo { @@ -51720,7 +55301,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct TransactionStatus { @@ -51748,7 +55328,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct UncheckedExtrinsic<_0, _1, _2, _3>( @@ -51769,7 +55348,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CheckMetadataHash { @@ -51786,7 +55364,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Mode { @@ -51811,7 +55388,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum DispatchClass { @@ -51833,7 +55409,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct DispatchInfo { @@ -51852,7 +55427,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Pays { @@ -51872,7 +55446,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PerDispatchClass<_0> { @@ -51891,7 +55464,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum RawOrigin<_0> { @@ -51918,7 +55490,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Bounded<_0, _1> { @@ -51955,7 +55526,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum BalanceStatus { @@ -51975,7 +55545,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct IdAmount<_0, _1> { @@ -51996,7 +55565,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PalletId(pub [::core::primitive::u8; 8usize]); @@ -52018,7 +55586,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CheckGenesis; @@ -52036,7 +55603,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CheckMortality(pub runtime_types::sp_runtime::generic::era::Era); @@ -52054,7 +55620,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CheckNonZeroSender; @@ -52072,7 +55637,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32); @@ -52090,7 +55654,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CheckSpecVersion; @@ -52108,7 +55671,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CheckTxVersion; @@ -52126,7 +55688,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CheckWeight; @@ -52145,7 +55706,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BlockLength { @@ -52164,7 +55724,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BlockWeights { @@ -52185,7 +55744,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct WeightsPerClass { @@ -52211,7 +55769,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -52305,7 +55862,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Error for the System pallet"] @@ -52353,7 +55909,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Event for the System pallet."] @@ -52403,7 +55958,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct AccountInfo<_0, _1> { @@ -52424,7 +55978,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CodeUpgradeAuthorization { @@ -52442,7 +55995,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct EventRecord<_0, _1> { @@ -52461,7 +56013,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct LastRuntimeUpgradeInfo { @@ -52480,7 +56031,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Phase { @@ -52507,7 +56057,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -52647,7 +56196,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -52689,7 +56237,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -52718,7 +56265,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct EcdsaSignature(pub [::core::primitive::u8; 65usize]); @@ -52733,7 +56279,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct EthereumAddress(pub [::core::primitive::u8; 20usize]); @@ -52749,7 +56294,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum MultiAddress { @@ -52765,7 +56309,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum MultiAddressSignature { @@ -52781,7 +56324,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Sr25519Signature(pub [::core::primitive::u8; 64usize]); @@ -52797,7 +56339,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum StatementKind { @@ -52822,7 +56363,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -53564,7 +57104,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -53647,7 +57186,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -53827,7 +57365,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum AccountStatus { @@ -53849,7 +57386,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Approval<_0, _1> { @@ -53867,7 +57403,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct AssetAccount<_0, _1, _2, _3> { @@ -53889,7 +57424,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct AssetDetails<_0, _1, _2> { @@ -53917,7 +57451,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct AssetMetadata<_0, _1> { @@ -53938,7 +57471,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum AssetStatus { @@ -53960,7 +57492,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ExistenceReason<_0, _1> { @@ -53992,7 +57523,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -54053,7 +57583,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -54088,7 +57617,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Bag { @@ -54106,7 +57634,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ListError { @@ -54130,7 +57657,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Node { @@ -54154,7 +57680,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -54219,7 +57744,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -54239,7 +57763,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -54275,7 +57798,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -54420,7 +57942,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -54473,7 +57994,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -54622,7 +58142,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct AccountData<_0> { @@ -54642,7 +58161,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum AdjustmentDirection { @@ -54662,7 +58180,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BalanceLock<_0> { @@ -54682,7 +58199,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ExtraFlags(pub ::core::primitive::u128); @@ -54697,7 +58213,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Reasons { @@ -54719,7 +58234,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ReserveData<_0, _1> { @@ -54743,7 +58257,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -54764,7 +58277,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -54793,7 +58305,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -54952,7 +58463,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -55003,7 +58513,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -55067,7 +58576,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Bounty<_0, _1, _2> { @@ -55089,7 +58597,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum BountyStatus<_0, _1> { @@ -55122,7 +58629,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -55341,7 +58847,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -55367,7 +58872,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -55406,7 +58910,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ChildBounty<_0, _1, _2> { @@ -55427,7 +58930,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ChildBountyStatus<_0, _1> { @@ -55456,7 +58958,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -55606,7 +59107,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -55656,7 +59156,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -55720,7 +59219,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum RawOrigin<_0> { @@ -55742,7 +59240,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Votes<_0, _1> { @@ -55768,7 +59265,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Conviction { @@ -55801,7 +59297,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -56134,7 +59629,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -56224,7 +59718,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -56330,7 +59823,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Delegations<_0> { @@ -56348,7 +59840,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum MetadataOwner { @@ -56370,7 +59861,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ReferendumInfo<_0, _1, _2> { @@ -56390,7 +59880,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ReferendumStatus<_0, _1, _2> { @@ -56411,7 +59900,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Tally<_0> { @@ -56433,7 +59921,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum AccountVote<_0> { @@ -56453,7 +59940,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PriorLock<_0, _1>(pub _0, pub _1); @@ -56469,7 +59955,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Vote(pub ::core::primitive::u8); @@ -56484,7 +59969,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Voting<_0, _1, _2> { @@ -56520,7 +60004,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum VoteThreshold { @@ -56548,7 +60031,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -56573,7 +60055,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -56590,7 +60071,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Error of the pallet that can be returned in response to dispatches."] @@ -56652,7 +60132,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -56721,7 +60200,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SignedSubmission<_0, _1, _2> { @@ -56743,7 +60221,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ElectionCompute { @@ -56769,7 +60246,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Phase<_0> { @@ -56793,7 +60269,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct RawSolution<_0> { @@ -56812,7 +60287,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ReadySolution { @@ -56834,7 +60308,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct RoundSnapshot<_0, _1> { @@ -56852,7 +60325,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SolutionOrSnapshotSize { @@ -56877,7 +60349,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -57009,7 +60480,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -57077,7 +60547,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -57136,7 +60605,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Renouncing { @@ -57158,7 +60626,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SeatHolder<_0, _1> { @@ -57177,7 +60644,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Voter<_0, _1> { @@ -57201,7 +60667,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -57221,7 +60686,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -57244,7 +60708,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -57271,7 +60734,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum RawOrigin { @@ -57294,7 +60756,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -57365,7 +60826,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -57421,7 +60881,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -57454,7 +60913,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CodeMetadata { @@ -57477,7 +60935,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -57544,7 +61001,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -57584,7 +61040,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -57616,7 +61071,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct StoredPendingChange<_0> { @@ -57640,7 +61094,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum StoredState<_0> { @@ -57669,7 +61122,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -57694,7 +61146,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -57720,7 +61171,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct IdentityInfo { @@ -57751,7 +61201,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Identity pallet declaration."] @@ -58074,7 +61523,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -58169,7 +61617,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -58290,7 +61737,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct AuthorityProperties<_0> { @@ -58308,7 +61754,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Data { @@ -58400,7 +61845,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Judgement<_0> { @@ -58430,7 +61874,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct RegistrarInfo<_0, _1, _2> { @@ -58449,7 +61892,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Registration<_0, _2> { @@ -58477,7 +61919,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -58503,7 +61944,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -58526,7 +61966,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -58567,7 +62006,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Public(pub [::core::primitive::u8; 32usize]); @@ -58582,7 +62020,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Signature(pub [::core::primitive::u8; 64usize]); @@ -58599,7 +62036,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Heartbeat<_0> { @@ -58624,7 +62060,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -58725,7 +62160,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -58757,7 +62191,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -58795,12 +62228,11 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The callable functions (extrinsics) of the pallet."] pub enum Call { - # [codec (index = 0)] # [doc = "Allows an account to join as an operator by staking the required bond amount."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the account joining as operator"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `bond_amount` - Amount to stake as operator bond"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::DepositOverflow`] - Bond amount would overflow deposit tracking"] # [doc = "* [`Error::StakeOverflow`] - Bond amount would overflow stake tracking"] join_operators { bond_amount : :: core :: primitive :: u128 , } , # [codec (index = 1)] # [doc = "Schedules an operator to leave the system."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the operator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] # [doc = "* [`Error::PendingUnstakeRequestExists`] - Operator already has a pending unstake request"] schedule_leave_operators , # [codec (index = 2)] # [doc = "Cancels a scheduled leave for an operator."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the operator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] # [doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] cancel_leave_operators , # [codec (index = 3)] # [doc = "Executes a scheduled leave for an operator."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the operator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] # [doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] # [doc = "* [`Error::UnstakePeriodNotElapsed`] - Unstake period has not elapsed yet"] execute_leave_operators , # [codec (index = 4)] # [doc = "Allows an operator to increase their stake."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the operator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `additional_bond` - Additional amount to stake"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] # [doc = "* [`Error::StakeOverflow`] - Additional bond would overflow stake tracking"] operator_bond_more { additional_bond : :: core :: primitive :: u128 , } , # [codec (index = 5)] # [doc = "Schedules an operator to decrease their stake."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the operator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `unstake_amount` - Amount to unstake"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] # [doc = "* [`Error::PendingUnstakeRequestExists`] - Operator already has a pending unstake request"] # [doc = "* [`Error::InsufficientBalance`] - Operator has insufficient stake to unstake"] schedule_operator_unstake { unstake_amount : :: core :: primitive :: u128 , } , # [codec (index = 6)] # [doc = "Executes a scheduled stake decrease for an operator."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the operator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] # [doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] # [doc = "* [`Error::UnstakePeriodNotElapsed`] - Unstake period has not elapsed yet"] execute_operator_unstake , # [codec (index = 7)] # [doc = "Cancels a scheduled stake decrease for an operator."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the operator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] # [doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] cancel_operator_unstake , # [codec (index = 8)] # [doc = "Allows an operator to go offline."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the operator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] # [doc = "* [`Error::AlreadyOffline`] - Operator is already offline"] go_offline , # [codec (index = 9)] # [doc = "Allows an operator to go online."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the operator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] # [doc = "* [`Error::AlreadyOnline`] - Operator is already online"] go_online , # [codec (index = 10)] # [doc = "Allows a user to deposit an asset."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the depositor account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `asset_id` - ID of the asset to deposit"] # [doc = "* `amount` - Amount to deposit"] # [doc = "* `evm_address` - Optional EVM address"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::DepositOverflow`] - Deposit would overflow tracking"] # [doc = "* [`Error::InvalidAsset`] - Asset is not supported"] deposit { asset_id : runtime_types :: tangle_primitives :: services :: Asset < :: core :: primitive :: u128 > , amount : :: core :: primitive :: u128 , evm_address : :: core :: option :: Option < :: subxt_core :: utils :: H160 > , lock_multiplier : :: core :: option :: Option < runtime_types :: tangle_primitives :: types :: rewards :: LockMultiplier > , } , # [codec (index = 11)] # [doc = "Schedules a withdraw request."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the withdrawer account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `asset_id` - ID of the asset to withdraw"] # [doc = "* `amount` - Amount to withdraw"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::InsufficientBalance`] - Insufficient balance to withdraw"] # [doc = "* [`Error::PendingWithdrawRequestExists`] - Pending withdraw request exists"] schedule_withdraw { asset_id : runtime_types :: tangle_primitives :: services :: Asset < :: core :: primitive :: u128 > , amount : :: core :: primitive :: u128 , } , # [codec (index = 12)] # [doc = "Executes a scheduled withdraw request."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the withdrawer account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `evm_address` - Optional EVM address"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NoWithdrawRequestExists`] - No pending withdraw request exists"] # [doc = "* [`Error::WithdrawPeriodNotElapsed`] - Withdraw period has not elapsed"] execute_withdraw { evm_address : :: core :: option :: Option < :: subxt_core :: utils :: H160 > , } , # [codec (index = 13)] # [doc = "Cancels a scheduled withdraw request."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the withdrawer account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `asset_id` - ID of the asset withdrawal to cancel"] # [doc = "* `amount` - Amount of the withdrawal to cancel"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NoWithdrawRequestExists`] - No pending withdraw request exists"] cancel_withdraw { asset_id : runtime_types :: tangle_primitives :: services :: Asset < :: core :: primitive :: u128 > , amount : :: core :: primitive :: u128 , } , # [codec (index = 14)] # [doc = "Allows a user to delegate an amount of an asset to an operator."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the delegator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `operator` - Operator to delegate to"] # [doc = "* `asset_id` - ID of asset to delegate"] # [doc = "* `amount` - Amount to delegate"] # [doc = "* `blueprint_selection` - Blueprint selection strategy"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotOperator`] - Target account is not an operator"] # [doc = "* [`Error::InsufficientBalance`] - Insufficient balance to delegate"] # [doc = "* [`Error::MaxDelegationsExceeded`] - Would exceed max delegations"] delegate { operator : :: subxt_core :: utils :: AccountId32 , asset_id : runtime_types :: tangle_primitives :: services :: Asset < :: core :: primitive :: u128 > , amount : :: core :: primitive :: u128 , blueprint_selection : runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorBlueprintSelection < runtime_types :: tangle_testnet_runtime :: MaxDelegatorBlueprints > , } , # [codec (index = 15)] # [doc = "Schedules a request to reduce a delegator's stake."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the delegator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `operator` - Operator to unstake from"] # [doc = "* `asset_id` - ID of asset to unstake"] # [doc = "* `amount` - Amount to unstake"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotDelegator`] - Account is not a delegator"] # [doc = "* [`Error::InsufficientDelegation`] - Insufficient delegation to unstake"] # [doc = "* [`Error::PendingUnstakeRequestExists`] - Pending unstake request exists"] schedule_delegator_unstake { operator : :: subxt_core :: utils :: AccountId32 , asset_id : runtime_types :: tangle_primitives :: services :: Asset < :: core :: primitive :: u128 > , amount : :: core :: primitive :: u128 , } , # [codec (index = 16)] # [doc = "Executes a scheduled request to reduce a delegator's stake."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the delegator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotDelegator`] - Account is not a delegator"] # [doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] # [doc = "* [`Error::UnstakePeriodNotElapsed`] - Unstake period has not elapsed"] execute_delegator_unstake , # [codec (index = 17)] # [doc = "Cancels a scheduled request to reduce a delegator's stake."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the delegator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `operator` - Operator to cancel unstake from"] # [doc = "* `asset_id` - ID of asset unstake to cancel"] # [doc = "* `amount` - Amount of unstake to cancel"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotDelegator`] - Account is not a delegator"] # [doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] cancel_delegator_unstake { operator : :: subxt_core :: utils :: AccountId32 , asset_id : runtime_types :: tangle_primitives :: services :: Asset < :: core :: primitive :: u128 > , amount : :: core :: primitive :: u128 , } , # [codec (index = 22)] # [doc = "Adds a blueprint ID to a delegator's selection."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the delegator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `blueprint_id` - ID of blueprint to add"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotDelegator`] - Account is not a delegator"] # [doc = "* [`Error::DuplicateBlueprintId`] - Blueprint ID already exists"] # [doc = "* [`Error::MaxBlueprintsExceeded`] - Would exceed max blueprints"] # [doc = "* [`Error::NotInFixedMode`] - Not in fixed blueprint selection mode"] add_blueprint_id { blueprint_id : :: core :: primitive :: u64 , } , # [codec (index = 23)] # [doc = "Removes a blueprint ID from a delegator's selection."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the delegator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `blueprint_id` - ID of blueprint to remove"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotDelegator`] - Account is not a delegator"] # [doc = "* [`Error::BlueprintIdNotFound`] - Blueprint ID not found"] # [doc = "* [`Error::NotInFixedMode`] - Not in fixed blueprint selection mode"] remove_blueprint_id { blueprint_id : :: core :: primitive :: u64 , } , } + # [codec (index = 0)] # [doc = "Allows an account to join as an operator by staking the required bond amount."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the account joining as operator"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `bond_amount` - Amount to stake as operator bond"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::DepositOverflow`] - Bond amount would overflow deposit tracking"] # [doc = "* [`Error::StakeOverflow`] - Bond amount would overflow stake tracking"] join_operators { bond_amount : :: core :: primitive :: u128 , } , # [codec (index = 1)] # [doc = "Schedules an operator to leave the system."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the operator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] # [doc = "* [`Error::PendingUnstakeRequestExists`] - Operator already has a pending unstake request"] schedule_leave_operators , # [codec (index = 2)] # [doc = "Cancels a scheduled leave for an operator."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the operator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] # [doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] cancel_leave_operators , # [codec (index = 3)] # [doc = "Executes a scheduled leave for an operator."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the operator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] # [doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] # [doc = "* [`Error::UnstakePeriodNotElapsed`] - Unstake period has not elapsed yet"] execute_leave_operators , # [codec (index = 4)] # [doc = "Allows an operator to increase their stake."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the operator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `additional_bond` - Additional amount to stake"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] # [doc = "* [`Error::StakeOverflow`] - Additional bond would overflow stake tracking"] operator_bond_more { additional_bond : :: core :: primitive :: u128 , } , # [codec (index = 5)] # [doc = "Schedules an operator to decrease their stake."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the operator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `unstake_amount` - Amount to unstake"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] # [doc = "* [`Error::PendingUnstakeRequestExists`] - Operator already has a pending unstake request"] # [doc = "* [`Error::InsufficientBalance`] - Operator has insufficient stake to unstake"] schedule_operator_unstake { unstake_amount : :: core :: primitive :: u128 , } , # [codec (index = 6)] # [doc = "Executes a scheduled stake decrease for an operator."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the operator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] # [doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] # [doc = "* [`Error::UnstakePeriodNotElapsed`] - Unstake period has not elapsed yet"] execute_operator_unstake , # [codec (index = 7)] # [doc = "Cancels a scheduled stake decrease for an operator."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the operator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] # [doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] cancel_operator_unstake , # [codec (index = 8)] # [doc = "Allows an operator to go offline."] # [doc = ""] # [doc = "Being offline means the operator should not be able to be"] # [doc = "requested for services."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the operator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] # [doc = "* [`Error::AlreadyOffline`] - Operator is already offline"] go_offline , # [codec (index = 9)] # [doc = "Allows an operator to go online."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the operator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] # [doc = "* [`Error::AlreadyOnline`] - Operator is already online"] go_online , # [codec (index = 10)] # [doc = "Allows a user to deposit an asset."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the depositor account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `asset` - Asset on to deposit"] # [doc = "* `amount` - Amount to deposit"] # [doc = "* `evm_address` - Optional EVM address"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::DepositOverflow`] - Deposit would overflow tracking"] # [doc = "* [`Error::InvalidAsset`] - Asset is not supported"] deposit { asset : runtime_types :: tangle_primitives :: services :: types :: Asset < :: core :: primitive :: u128 > , amount : :: core :: primitive :: u128 , evm_address : :: core :: option :: Option < :: subxt_core :: utils :: H160 > , lock_multiplier : :: core :: option :: Option < runtime_types :: tangle_primitives :: types :: rewards :: LockMultiplier > , } , # [codec (index = 11)] # [doc = "Schedules a withdraw request."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the withdrawer account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `asset` - Asset on to withdraw"] # [doc = "* `amount` - Amount to withdraw"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::InsufficientBalance`] - Insufficient balance to withdraw"] # [doc = "* [`Error::PendingWithdrawRequestExists`] - Pending withdraw request exists"] schedule_withdraw { asset : runtime_types :: tangle_primitives :: services :: types :: Asset < :: core :: primitive :: u128 > , amount : :: core :: primitive :: u128 , } , # [codec (index = 12)] # [doc = "Executes a scheduled withdraw request."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the withdrawer account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `evm_address` - Optional EVM address"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NoWithdrawRequestExists`] - No pending withdraw request exists"] # [doc = "* [`Error::WithdrawPeriodNotElapsed`] - Withdraw period has not elapsed"] execute_withdraw { evm_address : :: core :: option :: Option < :: subxt_core :: utils :: H160 > , } , # [codec (index = 13)] # [doc = "Cancels a scheduled withdraw request."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the withdrawer account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `asset` - Asset on withdrawal to cancel"] # [doc = "* `amount` - Amount of the withdrawal to cancel"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NoWithdrawRequestExists`] - No pending withdraw request exists"] cancel_withdraw { asset : runtime_types :: tangle_primitives :: services :: types :: Asset < :: core :: primitive :: u128 > , amount : :: core :: primitive :: u128 , } , # [codec (index = 14)] # [doc = "Allows a user to delegate an amount of an asset to an operator."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the delegator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `operator` - Operator to delegate to"] # [doc = "* `asset` - ID of asset to delegate"] # [doc = "* `amount` - Amount to delegate"] # [doc = "* `blueprint_selection` - Blueprint selection strategy"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotOperator`] - Target account is not an operator"] # [doc = "* [`Error::InsufficientBalance`] - Insufficient balance to delegate"] # [doc = "* [`Error::MaxDelegationsExceeded`] - Would exceed max delegations"] delegate { operator : :: subxt_core :: utils :: AccountId32 , asset : runtime_types :: tangle_primitives :: services :: types :: Asset < :: core :: primitive :: u128 > , amount : :: core :: primitive :: u128 , blueprint_selection : runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorBlueprintSelection < runtime_types :: tangle_testnet_runtime :: MaxDelegatorBlueprints > , } , # [codec (index = 15)] # [doc = "Schedules a request to reduce a delegator's stake."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the delegator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `operator` - Operator to unstake from"] # [doc = "* `asset` - ID of asset to unstake"] # [doc = "* `amount` - Amount to unstake"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotDelegator`] - Account is not a delegator"] # [doc = "* [`Error::InsufficientDelegation`] - Insufficient delegation to unstake"] # [doc = "* [`Error::PendingUnstakeRequestExists`] - Pending unstake request exists"] schedule_delegator_unstake { operator : :: subxt_core :: utils :: AccountId32 , asset : runtime_types :: tangle_primitives :: services :: types :: Asset < :: core :: primitive :: u128 > , amount : :: core :: primitive :: u128 , } , # [codec (index = 16)] # [doc = "Executes a scheduled request to reduce a delegator's stake."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the delegator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotDelegator`] - Account is not a delegator"] # [doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] # [doc = "* [`Error::UnstakePeriodNotElapsed`] - Unstake period has not elapsed"] execute_delegator_unstake , # [codec (index = 17)] # [doc = "Cancels a scheduled request to reduce a delegator's stake."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the delegator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `operator` - Operator to cancel unstake from"] # [doc = "* `asset` - ID of asset unstake to cancel"] # [doc = "* `amount` - Amount of unstake to cancel"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotDelegator`] - Account is not a delegator"] # [doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] cancel_delegator_unstake { operator : :: subxt_core :: utils :: AccountId32 , asset : runtime_types :: tangle_primitives :: services :: types :: Asset < :: core :: primitive :: u128 > , amount : :: core :: primitive :: u128 , } , # [codec (index = 18)] # [doc = "Delegates nominated tokens to an operator."] # [doc = ""] # [doc = "# Arguments"] # [doc = "* `origin` - Origin of the call"] # [doc = "* `operator` - The operator to delegate to"] # [doc = "* `amount` - Amount of nominated tokens to delegate"] # [doc = "* `blueprint_selection` - Strategy for selecting which blueprints to work with"] # [doc = ""] # [doc = "# Errors"] # [doc = "* `NotDelegator` - Account is not a delegator"] # [doc = "* `NotNominator` - Account has no nominated tokens"] # [doc = "* `InsufficientBalance` - Not enough nominated tokens available"] # [doc = "* `MaxDelegationsExceeded` - Would exceed maximum allowed delegations"] # [doc = "* `OverflowRisk` - Arithmetic overflow during calculations"] # [doc = "* `InvalidAmount` - Amount specified is zero"] delegate_nomination { operator : :: subxt_core :: utils :: AccountId32 , amount : :: core :: primitive :: u128 , blueprint_selection : runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorBlueprintSelection < runtime_types :: tangle_testnet_runtime :: MaxDelegatorBlueprints > , } , # [codec (index = 19)] # [doc = "Schedules an unstake request for nomination delegations."] # [doc = ""] # [doc = "# Arguments"] # [doc = "* `origin` - Origin of the call"] # [doc = "* `operator` - The operator to unstake from"] # [doc = "* `amount` - Amount of nominated tokens to unstake"] # [doc = "* `blueprint_selection` - The blueprint selection to use after unstaking"] # [doc = ""] # [doc = "# Errors"] # [doc = "* `NotDelegator` - Account is not a delegator"] # [doc = "* `NoActiveDelegation` - No active nomination delegation found"] # [doc = "* `InsufficientBalance` - Trying to unstake more than delegated"] # [doc = "* `MaxUnstakeRequestsExceeded` - Too many pending unstake requests"] # [doc = "* `InvalidAmount` - Amount specified is zero"] schedule_nomination_unstake { operator : :: subxt_core :: utils :: AccountId32 , amount : :: core :: primitive :: u128 , blueprint_selection : runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorBlueprintSelection < runtime_types :: tangle_testnet_runtime :: MaxDelegatorBlueprints > , } , # [codec (index = 20)] # [doc = "Executes a scheduled unstake request for nomination delegations."] # [doc = ""] # [doc = "# Arguments"] # [doc = "* `origin` - Origin of the call"] # [doc = "* `operator` - The operator to execute unstake from"] # [doc = ""] # [doc = "# Errors"] # [doc = "* `NotDelegator` - Account is not a delegator"] # [doc = "* `NoBondLessRequest` - No matching unstake request found"] # [doc = "* `BondLessNotReady` - Unstake request not ready for execution"] # [doc = "* `NoActiveDelegation` - No active nomination delegation found"] # [doc = "* `InsufficientBalance` - Insufficient balance for unstaking"] execute_nomination_unstake { operator : :: subxt_core :: utils :: AccountId32 , } , # [codec (index = 21)] # [doc = "Cancels a scheduled unstake request for nomination delegations."] # [doc = ""] # [doc = "# Arguments"] # [doc = "* `origin` - Origin of the call"] # [doc = "* `operator` - The operator whose unstake request to cancel"] # [doc = ""] # [doc = "# Errors"] # [doc = "* `NotDelegator` - Account is not a delegator"] # [doc = "* `NoBondLessRequest` - No matching unstake request found"] cancel_nomination_unstake { operator : :: subxt_core :: utils :: AccountId32 , } , # [codec (index = 22)] # [doc = "Adds a blueprint ID to a delegator's selection."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the delegator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `blueprint_id` - ID of blueprint to add"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotDelegator`] - Account is not a delegator"] # [doc = "* [`Error::DuplicateBlueprintId`] - Blueprint ID already exists"] # [doc = "* [`Error::MaxBlueprintsExceeded`] - Would exceed max blueprints"] # [doc = "* [`Error::NotInFixedMode`] - Not in fixed blueprint selection mode"] add_blueprint_id { blueprint_id : :: core :: primitive :: u64 , } , # [codec (index = 23)] # [doc = "Removes a blueprint ID from a delegator's selection."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the delegator account"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `blueprint_id` - ID of blueprint to remove"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotDelegator`] - Account is not a delegator"] # [doc = "* [`Error::BlueprintIdNotFound`] - Blueprint ID not found"] # [doc = "* [`Error::NotInFixedMode`] - Not in fixed blueprint selection mode"] remove_blueprint_id { blueprint_id : :: core :: primitive :: u64 , } , } #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -58812,7 +62244,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Errors emitted by the pallet."] @@ -58824,155 +62255,167 @@ pub mod api { #[doc = "The stake amount is too low."] BondTooLow, #[codec(index = 2)] + #[doc = "Amount is invalid"] + InvalidAmount, + #[codec(index = 3)] #[doc = "The account is not an operator."] NotAnOperator, - #[codec(index = 3)] + #[codec(index = 4)] #[doc = "The account cannot exit."] CannotExit, - #[codec(index = 4)] + #[codec(index = 5)] #[doc = "The operator is already leaving."] AlreadyLeaving, - #[codec(index = 5)] + #[codec(index = 6)] #[doc = "The account is not leaving as an operator."] NotLeavingOperator, - #[codec(index = 6)] + #[codec(index = 7)] #[doc = "Leaving round not reached"] LeavingRoundNotReached, - #[codec(index = 7)] + #[codec(index = 8)] #[doc = "There is no scheduled unstake request."] NoScheduledBondLess, - #[codec(index = 8)] + #[codec(index = 9)] #[doc = "The unstake request is not satisfied."] BondLessRequestNotSatisfied, - #[codec(index = 9)] + #[codec(index = 10)] #[doc = "The operator is not active."] NotActiveOperator, - #[codec(index = 10)] + #[codec(index = 11)] #[doc = "The operator is not offline."] NotOfflineOperator, - #[codec(index = 11)] + #[codec(index = 12)] #[doc = "The account is already a delegator."] AlreadyDelegator, - #[codec(index = 12)] + #[codec(index = 13)] #[doc = "The account is not a delegator."] NotDelegator, - #[codec(index = 13)] + #[codec(index = 14)] #[doc = "A withdraw request already exists."] WithdrawRequestAlreadyExists, - #[codec(index = 14)] + #[codec(index = 15)] #[doc = "The account has insufficient balance."] InsufficientBalance, - #[codec(index = 15)] + #[codec(index = 16)] #[doc = "There is no withdraw request."] NoWithdrawRequest, - #[codec(index = 16)] + #[codec(index = 17)] #[doc = "There is no unstake request."] NoBondLessRequest, - #[codec(index = 17)] + #[codec(index = 18)] #[doc = "The unstake request is not ready."] BondLessNotReady, - #[codec(index = 18)] + #[codec(index = 19)] #[doc = "A unstake request already exists."] BondLessRequestAlreadyExists, - #[codec(index = 19)] + #[codec(index = 20)] #[doc = "There are active services using the asset."] ActiveServicesUsingAsset, - #[codec(index = 20)] + #[codec(index = 21)] #[doc = "There is not active delegation"] NoActiveDelegation, - #[codec(index = 21)] + #[codec(index = 22)] #[doc = "The asset is not whitelisted"] AssetNotWhitelisted, - #[codec(index = 22)] + #[codec(index = 23)] #[doc = "The origin is not authorized to perform this action"] NotAuthorized, - #[codec(index = 23)] + #[codec(index = 24)] #[doc = "Maximum number of blueprints exceeded"] MaxBlueprintsExceeded, - #[codec(index = 24)] + #[codec(index = 25)] #[doc = "The asset ID is not found"] AssetNotFound, - #[codec(index = 25)] + #[codec(index = 26)] #[doc = "The blueprint ID is already whitelisted"] BlueprintAlreadyWhitelisted, - #[codec(index = 26)] - #[doc = "No withdraw requests found"] - NowithdrawRequests, #[codec(index = 27)] + #[doc = "No withdraw requests found"] + NoWithdrawRequests, + #[codec(index = 28)] #[doc = "No matching withdraw reqests found"] NoMatchingwithdrawRequest, - #[codec(index = 28)] + #[codec(index = 29)] #[doc = "Asset already exists in a reward vault"] AssetAlreadyInVault, - #[codec(index = 29)] + #[codec(index = 30)] #[doc = "Asset not found in reward vault"] AssetNotInVault, - #[codec(index = 30)] + #[codec(index = 31)] #[doc = "The reward vault does not exist"] VaultNotFound, - #[codec(index = 31)] + #[codec(index = 32)] #[doc = "Error returned when trying to add a blueprint ID that already exists."] DuplicateBlueprintId, - #[codec(index = 32)] + #[codec(index = 33)] #[doc = "Error returned when trying to remove a blueprint ID that doesn't exist."] BlueprintIdNotFound, - #[codec(index = 33)] + #[codec(index = 34)] #[doc = "Error returned when trying to add/remove blueprint IDs while not in Fixed mode."] NotInFixedMode, - #[codec(index = 34)] + #[codec(index = 35)] #[doc = "Error returned when the maximum number of delegations is exceeded."] MaxDelegationsExceeded, - #[codec(index = 35)] + #[codec(index = 36)] #[doc = "Error returned when the maximum number of unstake requests is exceeded."] MaxUnstakeRequestsExceeded, - #[codec(index = 36)] + #[codec(index = 37)] #[doc = "Error returned when the maximum number of withdraw requests is exceeded."] MaxWithdrawRequestsExceeded, - #[codec(index = 37)] + #[codec(index = 38)] #[doc = "Deposit amount overflow"] DepositOverflow, - #[codec(index = 38)] + #[codec(index = 39)] #[doc = "Unstake underflow"] UnstakeAmountTooLarge, - #[codec(index = 39)] + #[codec(index = 40)] #[doc = "Overflow while adding stake"] StakeOverflow, - #[codec(index = 40)] + #[codec(index = 41)] #[doc = "Underflow while reducing stake"] InsufficientStakeRemaining, - #[codec(index = 41)] + #[codec(index = 42)] #[doc = "APY exceeds maximum allowed by the extrinsic"] APYExceedsMaximum, - #[codec(index = 42)] + #[codec(index = 43)] #[doc = "Cap cannot be zero"] CapCannotBeZero, - #[codec(index = 43)] + #[codec(index = 44)] #[doc = "Cap exceeds total supply of asset"] CapExceedsTotalSupply, - #[codec(index = 44)] + #[codec(index = 45)] #[doc = "An unstake request is already pending"] PendingUnstakeRequestExists, - #[codec(index = 45)] + #[codec(index = 46)] #[doc = "The blueprint is not selected"] BlueprintNotSelected, - #[codec(index = 46)] + #[codec(index = 47)] #[doc = "Erc20 transfer failed"] ERC20TransferFailed, - #[codec(index = 47)] + #[codec(index = 48)] #[doc = "EVM encode error"] EVMAbiEncode, - #[codec(index = 48)] + #[codec(index = 49)] #[doc = "EVM decode error"] EVMAbiDecode, - #[codec(index = 49)] + #[codec(index = 50)] #[doc = "Cannot unstake with locks"] LockViolation, - #[codec(index = 50)] + #[codec(index = 51)] #[doc = "Above deposit caps setup"] DepositExceedsCapForAsset, - #[codec(index = 51)] + #[codec(index = 52)] #[doc = "Overflow from math"] OverflowRisk, + #[codec(index = 53)] + #[doc = "The asset config is not found"] + AssetConfigNotFound, + #[codec(index = 54)] + #[doc = "Cannot go offline with active services"] + CannotGoOfflineWithActiveServices, + #[codec(index = 55)] + #[doc = "Not a nominator (for native restaking & delegation)"] + NotNominator, } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -58985,7 +62428,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Events emitted by the pallet."] @@ -59031,64 +62473,98 @@ pub mod api { Deposited { who: ::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, - asset_id: runtime_types::tangle_primitives::services::Asset< + asset: runtime_types::tangle_primitives::services::types::Asset< ::core::primitive::u128, >, }, #[codec(index = 11)] #[doc = "An withdraw has been scheduled."] - Scheduledwithdraw { + ScheduledWithdraw { who: ::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, - asset_id: runtime_types::tangle_primitives::services::Asset< + asset: runtime_types::tangle_primitives::services::types::Asset< ::core::primitive::u128, >, }, #[codec(index = 12)] #[doc = "An withdraw has been executed."] - Executedwithdraw { who: ::subxt_core::utils::AccountId32 }, + ExecutedWithdraw { who: ::subxt_core::utils::AccountId32 }, #[codec(index = 13)] #[doc = "An withdraw has been cancelled."] - Cancelledwithdraw { who: ::subxt_core::utils::AccountId32 }, + CancelledWithdraw { who: ::subxt_core::utils::AccountId32 }, #[codec(index = 14)] #[doc = "A delegation has been made."] Delegated { who: ::subxt_core::utils::AccountId32, operator: ::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, - asset_id: runtime_types::tangle_primitives::services::Asset< + asset: runtime_types::tangle_primitives::services::types::Asset< ::core::primitive::u128, >, }, #[codec(index = 15)] #[doc = "A delegator unstake request has been scheduled."] - ScheduledDelegatorBondLess { + DelegatorUnstakeScheduled { who: ::subxt_core::utils::AccountId32, operator: ::subxt_core::utils::AccountId32, - amount: ::core::primitive::u128, - asset_id: runtime_types::tangle_primitives::services::Asset< + asset: runtime_types::tangle_primitives::services::types::Asset< ::core::primitive::u128, >, + amount: ::core::primitive::u128, + when: ::core::primitive::u32, }, #[codec(index = 16)] #[doc = "A delegator unstake request has been executed."] - ExecutedDelegatorBondLess { who: ::subxt_core::utils::AccountId32 }, + DelegatorUnstakeExecuted { + who: ::subxt_core::utils::AccountId32, + operator: ::subxt_core::utils::AccountId32, + asset: runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >, + amount: ::core::primitive::u128, + }, #[codec(index = 17)] #[doc = "A delegator unstake request has been cancelled."] - CancelledDelegatorBondLess { who: ::subxt_core::utils::AccountId32 }, + DelegatorUnstakeCancelled { + who: ::subxt_core::utils::AccountId32, + operator: ::subxt_core::utils::AccountId32, + asset: runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >, + amount: ::core::primitive::u128, + }, #[codec(index = 18)] - #[doc = "Operator has been slashed"] + #[doc = "An Operator has been slashed."] OperatorSlashed { - who: ::subxt_core::utils::AccountId32, + operator: ::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, + service_id: ::core::primitive::u64, + blueprint_id: ::core::primitive::u64, + era: ::core::primitive::u32, }, #[codec(index = 19)] - #[doc = "Delegator has been slashed"] + #[doc = "A Delegator has been slashed."] DelegatorSlashed { - who: ::subxt_core::utils::AccountId32, + delegator: ::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, + asset: runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >, + service_id: ::core::primitive::u64, + blueprint_id: ::core::primitive::u64, + era: ::core::primitive::u32, }, #[codec(index = 20)] + #[doc = "A Delegator's nominated stake has been slashed."] + NominatedSlash { + delegator: ::subxt_core::utils::AccountId32, + operator: ::subxt_core::utils::AccountId32, + amount: ::core::primitive::u128, + service_id: ::core::primitive::u64, + blueprint_id: ::core::primitive::u64, + era: ::core::primitive::u32, + }, + #[codec(index = 21)] #[doc = "EVM execution reverted with a reason."] EvmReverted { from: ::subxt_core::utils::H160, @@ -59096,6 +62572,35 @@ pub mod api { data: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, reason: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, }, + #[codec(index = 22)] + #[doc = "A nomination has been delegated"] + NominationDelegated { + who: ::subxt_core::utils::AccountId32, + operator: ::subxt_core::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 23)] + #[doc = "A nomination unstake request has been scheduled."] + NominationUnstakeScheduled { + who: ::subxt_core::utils::AccountId32, + operator: ::subxt_core::utils::AccountId32, + amount: ::core::primitive::u128, + when: ::core::primitive::u32, + }, + #[codec(index = 24)] + #[doc = "A nomination unstake request has been executed."] + NominationUnstakeExecuted { + who: ::subxt_core::utils::AccountId32, + operator: ::subxt_core::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 25)] + #[doc = "A nomination unstake request has been cancelled."] + NominationUnstakeCancelled { + who: ::subxt_core::utils::AccountId32, + operator: ::subxt_core::utils::AccountId32, + amount: ::core::primitive::u128, + }, } } pub mod types { @@ -59113,10 +62618,9 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct BondInfoDelegator < _0 , _1 , _2 , _3 > { pub operator : _0 , pub amount : _1 , pub asset_id : runtime_types :: tangle_primitives :: services :: Asset < _1 > , pub blueprint_selection : runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorBlueprintSelection < _3 > , # [codec (skip)] pub __ignore : :: core :: marker :: PhantomData < _2 > } + pub struct BondInfoDelegator < _0 , _1 , _2 , _3 > { pub operator : _0 , pub amount : _1 , pub asset : runtime_types :: tangle_primitives :: services :: types :: Asset < _1 > , pub blueprint_selection : runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorBlueprintSelection < _3 > , pub is_nomination : :: core :: primitive :: bool , # [codec (skip)] pub __ignore : :: core :: marker :: PhantomData < _2 > } #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -59128,10 +62632,9 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct BondLessRequest < _0 , _1 , _2 , _3 > { pub operator : _0 , pub asset_id : runtime_types :: tangle_primitives :: services :: Asset < _1 > , pub amount : _2 , pub requested_round : :: core :: primitive :: u32 , pub blueprint_selection : runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorBlueprintSelection < _3 > , } + pub struct BondLessRequest < _0 , _1 , _2 , _3 > { pub operator : _0 , pub asset : runtime_types :: tangle_primitives :: services :: types :: Asset < _1 > , pub amount : _2 , pub requested_round : :: core :: primitive :: u32 , pub blueprint_selection : runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorBlueprintSelection < _3 > , pub is_nomination : :: core :: primitive :: bool , } #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -59143,7 +62646,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum DelegatorBlueprintSelection<_0> { @@ -59168,10 +62670,9 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct DelegatorMetadata < _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 > { pub deposits : :: subxt_core :: utils :: KeyedVec < runtime_types :: tangle_primitives :: services :: Asset < _1 > , runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: Deposit < _1 , _7 , _4 > > , pub withdraw_requests : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: WithdrawRequest < _1 , _1 > > , pub delegations : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: BondInfoDelegator < _0 , _1 , _1 , _6 > > , pub delegator_unstake_requests : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: BondLessRequest < _0 , _1 , _1 , _6 > > , pub status : runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorStatus , # [codec (skip)] pub __ignore : :: core :: marker :: PhantomData < (_2 , _8 , _3 , _5) > } + pub struct DelegatorMetadata < _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 > { pub deposits : :: subxt_core :: utils :: KeyedVec < runtime_types :: tangle_primitives :: services :: types :: Asset < _1 > , runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: Deposit < _1 , _7 , _4 > > , pub withdraw_requests : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: WithdrawRequest < _1 , _1 > > , pub delegations : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: BondInfoDelegator < _0 , _1 , _1 , _6 > > , pub delegator_unstake_requests : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: BondLessRequest < _0 , _1 , _1 , _6 > > , pub status : runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorStatus , # [codec (skip)] pub __ignore : :: core :: marker :: PhantomData < (_2 , _8 , _3 , _5) > } #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -59183,7 +62684,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum DelegatorStatus { @@ -59203,7 +62703,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Deposit<_0, _1, _2> { @@ -59228,11 +62727,10 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct WithdrawRequest<_0, _1> { - pub asset_id: runtime_types::tangle_primitives::services::Asset<_0>, + pub asset: runtime_types::tangle_primitives::services::types::Asset<_0>, pub amount: _1, pub requested_round: ::core::primitive::u32, } @@ -59250,13 +62748,12 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct DelegatorBond<_0, _1, _2> { pub delegator: _0, pub amount: _1, - pub asset_id: runtime_types::tangle_primitives::services::Asset<_1>, + pub asset: runtime_types::tangle_primitives::services::types::Asset<_1>, #[codec(skip)] pub __ignore: ::core::marker::PhantomData<_2>, } @@ -59271,7 +62768,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct OperatorBondLessRequest<_0> { @@ -59289,7 +62785,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct OperatorMetadata < _0 , _1 , _2 , _3 , _4 > { pub stake : _1 , pub delegation_count : :: core :: primitive :: u32 , pub request : :: core :: option :: Option < runtime_types :: pallet_multi_asset_delegation :: types :: operator :: OperatorBondLessRequest < _1 > > , pub delegations : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: pallet_multi_asset_delegation :: types :: operator :: DelegatorBond < _0 , _1 , _1 > > , pub status : runtime_types :: pallet_multi_asset_delegation :: types :: operator :: OperatorStatus , pub blueprint_ids : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u32 > , # [codec (skip)] pub __ignore : :: core :: marker :: PhantomData < (_2 , _3 , _4) > } @@ -59304,7 +62799,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct OperatorSnapshot < _0 , _1 , _2 , _3 > { pub stake : _1 , pub delegations : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: pallet_multi_asset_delegation :: types :: operator :: DelegatorBond < _0 , _1 , _1 > > , # [codec (skip)] pub __ignore : :: core :: marker :: PhantomData < (_2 , _3) > } @@ -59319,7 +62813,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum OperatorStatus { @@ -59348,7 +62841,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -59508,7 +63000,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -59567,7 +63058,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -59621,7 +63111,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Multisig<_0, _1, _2> { @@ -59641,7 +63130,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Timepoint<_0> { @@ -59664,7 +63152,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -60112,7 +63599,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum DefensiveError { @@ -60142,7 +63628,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -60278,7 +63763,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Events of this pallet."] @@ -60437,7 +63921,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum FreezeReason { @@ -60456,7 +63939,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum BondExtra<_0> { @@ -60476,7 +63958,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BondedPoolInner { @@ -60499,7 +63980,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ClaimPermission { @@ -60523,7 +64003,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Commission { @@ -60555,7 +64034,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CommissionChangeRate<_0> { @@ -60573,7 +64051,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum CommissionClaimPermission<_0> { @@ -60593,7 +64070,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ConfigOp<_0> { @@ -60615,7 +64091,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PoolMember { @@ -60640,7 +64115,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PoolRoles<_0> { @@ -60660,7 +64134,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum PoolState { @@ -60682,7 +64155,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct RewardPool { @@ -60704,7 +64176,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SubPools { @@ -60726,7 +64197,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct UnbondPool { @@ -60749,7 +64219,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Events type."] @@ -60780,7 +64249,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -60829,7 +64297,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -60873,7 +64340,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -60899,7 +64365,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum HoldReason { @@ -60918,7 +64383,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum OldRequestStatus<_0, _1> { @@ -60942,7 +64406,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum RequestStatus<_0, _1> { @@ -60971,7 +64434,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -61192,7 +64654,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -61233,7 +64694,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -61289,7 +64749,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Announcement<_0, _1, _2> { @@ -61308,7 +64767,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ProxyDefinition<_0, _1, _2> { @@ -61332,7 +64790,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -61340,7 +64797,7 @@ pub mod api { #[codec(index = 1)] #[doc = "Claim rewards for a specific asset and reward type"] claim_rewards { - asset: runtime_types::tangle_primitives::services::Asset< + asset: runtime_types::tangle_primitives::services::types::Asset< ::core::primitive::u128, >, }, @@ -61356,7 +64813,7 @@ pub mod api { #[doc = "Emits `RewardsClaimed` event when successful."] claim_rewards_other { who: ::subxt_core::utils::AccountId32, - asset: runtime_types::tangle_primitives::services::Asset< + asset: runtime_types::tangle_primitives::services::types::Asset< ::core::primitive::u128, >, }, @@ -61371,7 +64828,7 @@ pub mod api { #[doc = ""] #[doc = "* `origin` - Origin of the call"] #[doc = "* `vault_id` - ID of the vault"] - #[doc = "* `asset_id` - ID of the asset"] + #[doc = "* `asset` - ID of the asset"] #[doc = "* `action` - Action to perform (Add/Remove)"] #[doc = ""] #[doc = "# Errors"] @@ -61380,7 +64837,7 @@ pub mod api { #[doc = "* [`Error::AssetNotInVault`] - Asset does not exist in vault"] manage_asset_reward_vault { vault_id: ::core::primitive::u32, - asset_id: runtime_types::tangle_primitives::services::Asset< + asset: runtime_types::tangle_primitives::services::types::Asset< ::core::primitive::u128, >, action: runtime_types::pallet_rewards::types::AssetAction, @@ -61392,7 +64849,7 @@ pub mod api { #[doc = "* `origin` - Origin of the call, must pass `ForceOrigin` check"] #[doc = "* `vault_id` - The ID of the vault to update"] #[doc = "* `new_config` - The new reward configuration containing:"] - #[doc = " * `apy` - Annual Percentage Yield for the vault"] + #[doc = " * `apy` - Annual Perbillage Yield for the vault"] #[doc = " * `deposit_cap` - Maximum amount that can be deposited"] #[doc = " * `incentive_cap` - Maximum amount of incentives that can be distributed"] #[doc = " * `boost_multiplier` - Optional multiplier to boost rewards"] @@ -61417,7 +64874,7 @@ pub mod api { #[doc = "* `origin` - Origin of the call, must pass `ForceOrigin` check"] #[doc = "* `vault_id` - The ID of the vault to update"] #[doc = "* `new_config` - The new reward configuration containing:"] - #[doc = " * `apy` - Annual Percentage Yield for the vault"] + #[doc = " * `apy` - Annual Perbillage Yield for the vault"] #[doc = " * `deposit_cap` - Maximum amount that can be deposited"] #[doc = " * `incentive_cap` - Maximum amount of incentives that can be distributed"] #[doc = " * `boost_multiplier` - Optional multiplier to boost rewards"] @@ -61439,7 +64896,7 @@ pub mod api { #[doc = "Update the decay configuration"] update_decay_config { start_period: ::core::primitive::u64, - rate: runtime_types::sp_arithmetic::per_things::Percent, + rate: runtime_types::sp_arithmetic::per_things::Perbill, }, #[codec(index = 7)] #[doc = "Update the number of blocks used for APY calculation"] @@ -61456,7 +64913,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -61521,6 +64977,18 @@ pub mod api { #[codec(index = 19)] #[doc = "Decay rate is too high"] InvalidDecayRate, + #[codec(index = 20)] + #[doc = "Incentive cap is greater than max incentive cap"] + IncentiveCapGreaterThanMaxIncentiveCap, + #[codec(index = 21)] + #[doc = "Deposit cap is greater than max deposit cap"] + DepositCapGreaterThanMaxDepositCap, + #[codec(index = 22)] + #[doc = "Incentive cap is less than min incentive cap"] + IncentiveCapLessThanMinIncentiveCap, + #[codec(index = 23)] + #[doc = "Deposit cap is less than min deposit cap"] + DepositCapLessThanMinDepositCap, } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -61533,7 +65001,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -61542,7 +65009,7 @@ pub mod api { #[doc = "Rewards have been claimed by an account"] RewardsClaimed { account: ::subxt_core::utils::AccountId32, - asset: runtime_types::tangle_primitives::services::Asset< + asset: runtime_types::tangle_primitives::services::types::Asset< ::core::primitive::u128, >, amount: ::core::primitive::u128, @@ -61551,7 +65018,7 @@ pub mod api { #[doc = "Event emitted when an incentive APY and cap are set for a reward vault"] IncentiveAPYAndCapSet { vault_id: ::core::primitive::u32, - apy: runtime_types::sp_arithmetic::per_things::Percent, + apy: runtime_types::sp_arithmetic::per_things::Perbill, cap: ::core::primitive::u128, }, #[codec(index = 2)] @@ -61561,7 +65028,7 @@ pub mod api { #[doc = "Asset has been updated to reward vault"] AssetUpdatedInVault { vault_id: ::core::primitive::u32, - asset_id: runtime_types::tangle_primitives::services::Asset< + asset: runtime_types::tangle_primitives::services::types::Asset< ::core::primitive::u128, >, action: runtime_types::pallet_rewards::types::AssetAction, @@ -61587,7 +65054,7 @@ pub mod api { #[doc = "Total score in vault updated"] TotalScoreUpdated { vault_id: ::core::primitive::u32, - asset: runtime_types::tangle_primitives::services::Asset< + asset: runtime_types::tangle_primitives::services::types::Asset< ::core::primitive::u128, >, total_score: ::core::primitive::u128, @@ -61599,7 +65066,7 @@ pub mod api { #[doc = "Total deposit in vault updated"] TotalDepositUpdated { vault_id: ::core::primitive::u32, - asset: runtime_types::tangle_primitives::services::Asset< + asset: runtime_types::tangle_primitives::services::types::Asset< ::core::primitive::u128, >, total_deposit: ::core::primitive::u128, @@ -61608,7 +65075,7 @@ pub mod api { #[doc = "Decay configuration was updated"] DecayConfigUpdated { start_period: ::core::primitive::u64, - rate: runtime_types::sp_arithmetic::per_things::Percent, + rate: runtime_types::sp_arithmetic::per_things::Perbill, }, #[codec(index = 9)] #[doc = "The number of blocks for APY calculation has been updated"] @@ -61628,7 +65095,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum AssetAction { @@ -61648,11 +65114,10 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct RewardConfigForAssetVault<_0> { - pub apy: runtime_types::sp_arithmetic::per_things::Percent, + pub apy: runtime_types::sp_arithmetic::per_things::Perbill, pub incentive_cap: _0, pub deposit_cap: _0, pub boost_multiplier: ::core::option::Option<::core::primitive::u32>, @@ -61674,7 +65139,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -61793,7 +65257,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -61825,7 +65288,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Events type."] @@ -61896,7 +65358,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct RetryConfig<_0> { @@ -61915,7 +65376,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Scheduled<_0, _1, _2, _3, _4> { @@ -61943,431 +65403,11 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { - #[codec(index = 0)] - #[doc = "Create a new service blueprint."] - #[doc = ""] - #[doc = "A Service Blueprint is a template for a service that can be instantiated by users. The blueprint"] - #[doc = "defines the service's constraints, requirements and behavior, including the master blueprint service"] - #[doc = "manager revision to use."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* The origin must be signed by the account that will own the blueprint"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call, must be signed by the account creating the blueprint"] - #[doc = "* `blueprint` - The service blueprint containing:"] - #[doc = " - Service constraints and requirements"] - #[doc = " - Master blueprint service manager revision (Latest or Specific)"] - #[doc = " - Template configuration for service instantiation"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::BadOrigin`] - Origin is not signed"] - #[doc = "* [`Error::MasterBlueprintServiceManagerRevisionNotFound`] - Specified MBSM revision does not exist"] - #[doc = "* [`Error::BlueprintCreationInterrupted`] - Blueprint creation is interrupted by hooks"] - #[doc = ""] - #[doc = "# Returns"] - #[doc = ""] - #[doc = "Returns a `DispatchResultWithPostInfo` which on success emits a [`Event::BlueprintCreated`] event"] - #[doc = "containing the owner and blueprint ID."] - create_blueprint { - blueprint: runtime_types::tangle_primitives::services::ServiceBlueprint, - }, - #[codec(index = 1)] - #[doc = "Pre-register the caller as an operator for a specific blueprint."] - #[doc = ""] - #[doc = "This function allows an account to signal intent to become an operator for a blueprint by emitting"] - #[doc = "a `PreRegistration` event. The operator node can listen for this event to execute any custom"] - #[doc = "registration logic defined in the blueprint."] - #[doc = ""] - #[doc = "Pre-registration is the first step in the operator registration flow. After pre-registering,"] - #[doc = "operators must complete the full registration process by calling `register()` with their preferences"] - #[doc = "and registration arguments."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin: OriginFor` - The origin of the call. Must be signed by the account that wants to"] - #[doc = " become an operator."] - #[doc = "* `blueprint_id: u64` - The identifier of the service blueprint to pre-register for. Must refer"] - #[doc = " to an existing blueprint."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* The caller must be a signed account."] - #[doc = ""] - #[doc = "# Events"] - #[doc = ""] - #[doc = "* [`Event::PreRegistration`] - Emitted when pre-registration is successful, containing:"] - #[doc = " - `operator: T::AccountId` - The account ID of the pre-registering operator"] - #[doc = " - `blueprint_id: u64` - The ID of the blueprint being pre-registered for"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::BadOrigin`] - The origin was not signed."] - pre_register { - #[codec(compact)] - blueprint_id: ::core::primitive::u64, - }, - #[codec(index = 2)] - #[doc = "Register the caller as an operator for a specific blueprint."] - #[doc = ""] - #[doc = "This function allows an account to register as an operator for a blueprint by providing their"] - #[doc = "service preferences, registration arguments, and staking the required tokens. The operator must"] - #[doc = "be active in the delegation system and may require approval before accepting service requests."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* The caller must be a signed account"] - #[doc = "* The caller must be an active operator in the delegation system"] - #[doc = "* The caller must not already be registered for this blueprint"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call. Must be signed."] - #[doc = "* `blueprint_id` - The identifier of the service blueprint to register for"] - #[doc = "* `preferences` - The operator's service preferences and configuration"] - #[doc = "* `registration_args` - Registration arguments required by the blueprint"] - #[doc = "* `value` - Amount of tokens to stake for registration"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::OperatorNotActive`] - Caller is not an active operator in the delegation system"] - #[doc = "* [`Error::AlreadyRegistered`] - Caller is already registered for this blueprint"] - #[doc = "* [`Error::TypeCheck`] - Registration arguments failed type checking"] - #[doc = "* [`Error::InvalidRegistrationInput`] - Registration hook rejected the registration"] - #[doc = "* [`Error::MaxServicesPerProviderExceeded`] - Operator has reached maximum services limit"] - register { - #[codec(compact)] - blueprint_id: ::core::primitive::u64, - preferences: - runtime_types::tangle_primitives::services::OperatorPreferences, - registration_args: ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_primitives::services::field::Field< - ::subxt_core::utils::AccountId32, - >, - >, - #[codec(compact)] - value: ::core::primitive::u128, - }, - #[codec(index = 3)] - #[doc = "Unregisters a service provider from a specific service blueprint."] - #[doc = ""] - #[doc = "After unregistering, the provider will no longer receive new service assignments for this blueprint."] - #[doc = "However, they must continue servicing any active assignments until completion to avoid penalties."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call. Must be signed."] - #[doc = "* `blueprint_id` - The identifier of the service blueprint to unregister from."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by a registered service provider"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotRegistered`] - The caller is not registered for this blueprint"] - #[doc = "* [`Error::NotAllowedToUnregister`] - Unregistration is currently restricted"] - #[doc = "* [`Error::BlueprintNotFound`] - The blueprint_id does not exist"] - unregister { - #[codec(compact)] - blueprint_id: ::core::primitive::u64, - }, - #[codec(index = 4)] - #[doc = "Updates the price targets for a registered operator's service blueprint."] - #[doc = ""] - #[doc = "Allows an operator to modify their price targets for a specific blueprint they are registered for."] - #[doc = "The operator must already be registered for the blueprint to update prices."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin: OriginFor` - The origin of the call. Must be signed by the operator."] - #[doc = "* `blueprint_id: u64` - The identifier of the blueprint to update price targets for."] - #[doc = "* `price_targets: PriceTargets` - The new price targets to set for the blueprint."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by a registered operator for this blueprint."] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotRegistered`] - The caller is not registered for this blueprint."] - #[doc = "* [`Error::NotAllowedToUpdatePriceTargets`] - Price target updates are currently restricted."] - #[doc = "* [`Error::BlueprintNotFound`] - The blueprint_id does not exist."] - update_price_targets { - #[codec(compact)] - blueprint_id: ::core::primitive::u64, - price_targets: runtime_types::tangle_primitives::services::PriceTargets, - }, - #[codec(index = 5)] - #[doc = "Request a new service using a blueprint and specified operators."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin: OriginFor` - The origin of the call. Must be signed."] - #[doc = "* `evm_origin: Option` - Optional EVM address for ERC20 payments."] - #[doc = "* `blueprint_id: u64` - The identifier of the blueprint to use."] - #[doc = "* `permitted_callers: Vec` - Accounts allowed to call the service. If empty, only owner can call."] - #[doc = "* `operators: Vec` - List of operators that will run the service."] - #[doc = "* `request_args: Vec>` - Blueprint initialization arguments."] - #[doc = "* `assets: Vec` - Required assets for the service."] - #[doc = "* `ttl: BlockNumberFor` - Time-to-live in blocks for the service request."] - #[doc = "* `payment_asset: Asset` - Asset used for payment (native, custom or ERC20)."] - #[doc = "* `value: BalanceOf` - Payment amount for the service."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by an account with sufficient balance to pay for the service."] - #[doc = "* For ERC20 payments, the EVM origin must match the caller's mapped account."] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::TypeCheck`] - Request arguments fail blueprint type checking."] - #[doc = "* [`Error::NoAssetsProvided`] - No assets were specified."] - #[doc = "* [`Error::MissingEVMOrigin`] - EVM origin required but not provided for ERC20 payment."] - #[doc = "* [`Error::ERC20TransferFailed`] - ERC20 token transfer failed."] - #[doc = "* [`Error::NotRegistered`] - One or more operators not registered for blueprint."] - #[doc = "* [`Error::BlueprintNotFound`] - The blueprint_id does not exist."] - request { - evm_origin: ::core::option::Option<::subxt_core::utils::H160>, - #[codec(compact)] - blueprint_id: ::core::primitive::u64, - permitted_callers: - ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>, - operators: ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>, - request_args: ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_primitives::services::field::Field< - ::subxt_core::utils::AccountId32, - >, - >, - assets: ::subxt_core::alloc::vec::Vec<::core::primitive::u128>, - #[codec(compact)] - ttl: ::core::primitive::u64, - payment_asset: runtime_types::tangle_primitives::services::Asset< - ::core::primitive::u128, - >, - #[codec(compact)] - value: ::core::primitive::u128, - }, - #[codec(index = 6)] - #[doc = "Approve a service request, allowing it to be initiated once all required approvals are received."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Caller must be a registered operator for the service blueprint"] - #[doc = "* Caller must be in the pending approvals list for this request"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call, must be a signed account"] - #[doc = "* `request_id` - The ID of the service request to approve"] - #[doc = "* `restaking_percent` - Percentage of staked tokens to expose to this service (0-100)"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::ApprovalNotRequested`] - Caller is not in the pending approvals list"] - #[doc = "* [`Error::ApprovalInterrupted`] - Approval was rejected by blueprint hook"] - approve { - #[codec(compact)] - request_id: ::core::primitive::u64, - #[codec(compact)] - restaking_percent: runtime_types::sp_arithmetic::per_things::Percent, - }, - #[codec(index = 7)] - #[doc = "Reject a service request, preventing its initiation."] - #[doc = ""] - #[doc = "The service request will remain in the system but marked as rejected. The requester will"] - #[doc = "need to update the service request to proceed."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Caller must be a registered operator for the blueprint associated with this request"] - #[doc = "* Caller must be one of the operators required to approve this request"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call, must be a signed account"] - #[doc = "* `request_id` - The ID of the service request to reject"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::ApprovalNotRequested`] - Caller is not one of the operators required to approve this request"] - #[doc = "* [`Error::ExpectedAccountId`] - Failed to convert refund address to account ID when refunding payment"] - #[doc = "* [`Error::RejectionInterrupted`] - Rejection was interrupted by blueprint hook"] - reject { - #[codec(compact)] - request_id: ::core::primitive::u64, - }, - #[codec(index = 8)] - #[doc = "Terminates a running service instance."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the service owner"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call"] - #[doc = "* `service_id` - The identifier of the service to terminate"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::ServiceNotFound`] - The service_id does not exist"] - #[doc = "* [`Error::NotRegistered`] - Service operator not registered"] - #[doc = "* [`Error::TerminationInterrupted`] - Service termination was interrupted by hooks"] - #[doc = "* [`DispatchError::BadOrigin`] - Caller is not the service owner"] - terminate { - #[codec(compact)] - service_id: ::core::primitive::u64, - }, - #[codec(index = 9)] - #[doc = "Call a job in the service with the provided arguments."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the service owner or a permitted caller"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call"] - #[doc = "* `service_id` - The service identifier"] - #[doc = "* `job` - The job index to call"] - #[doc = "* `args` - The arguments to pass to the job"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::ServiceNotFound`] - The service_id does not exist"] - #[doc = "* [`Error::JobDefinitionNotFound`] - The job index is invalid"] - #[doc = "* [`Error::MaxFieldsExceeded`] - Too many arguments provided"] - #[doc = "* [`Error::TypeCheck`] - Arguments fail type checking"] - #[doc = "* [`Error::InvalidJobCallInput`] - Job call was rejected by hooks"] - #[doc = "* [`DispatchError::BadOrigin`] - Caller is not owner or permitted caller"] - call { - #[codec(compact)] - service_id: ::core::primitive::u64, - #[codec(compact)] - job: ::core::primitive::u8, - args: ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_primitives::services::field::Field< - ::subxt_core::utils::AccountId32, - >, - >, - }, - #[codec(index = 10)] - #[doc = "Submit a result for a previously called job."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `service_id` - ID of the service"] - #[doc = "* `call_id` - ID of the job call"] - #[doc = "* `result` - Vector of result fields"] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Caller must be an operator of the service"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::ServiceNotFound`] - The service_id does not exist"] - #[doc = "* [`Error::JobCallNotFound`] - The call_id does not exist"] - #[doc = "* [`Error::JobDefinitionNotFound`] - The job index is invalid"] - #[doc = "* [`Error::MaxFieldsExceeded`] - Too many result fields provided"] - #[doc = "* [`Error::TypeCheck`] - Result fields fail type checking"] - #[doc = "* [`Error::InvalidJobResult`] - Job result was rejected by hooks"] - #[doc = "* [`DispatchError::BadOrigin`] - Caller is not an operator"] - submit_result { - #[codec(compact)] - service_id: ::core::primitive::u64, - #[codec(compact)] - call_id: ::core::primitive::u64, - result: ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_primitives::services::field::Field< - ::subxt_core::utils::AccountId32, - >, - >, - }, - #[codec(index = 11)] - #[doc = "Slash an operator's stake for a service by scheduling a deferred slashing action."] - #[doc = ""] - #[doc = "This function schedules a deferred slashing action against an operator's stake for a specific service."] - #[doc = "The slash is not applied immediately, but rather queued to be executed by another entity later."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* The caller must be an authorized Slash Origin for the target service, as determined by"] - #[doc = " `query_slashing_origin`. If no slashing origin is set, or the caller does not match, the call"] - #[doc = " will fail."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call. Must be signed by an authorized Slash Origin."] - #[doc = "* `offender` - The account ID of the operator to be slashed."] - #[doc = "* `service_id` - The ID of the service for which to slash the operator."] - #[doc = "* `percent` - The percentage of the operator's exposed stake to slash, as a `Percent` value."] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* `NoSlashingOrigin` - No slashing origin is set for the service"] - #[doc = "* `BadOrigin` - Caller is not the authorized slashing origin"] - #[doc = "* `OffenderNotOperator` - Target account is not an operator for this service"] - #[doc = "* `OffenderNotActiveOperator` - Target operator is not currently active"] - slash { - offender: ::subxt_core::utils::AccountId32, - #[codec(compact)] - service_id: ::core::primitive::u64, - #[codec(compact)] - percent: runtime_types::sp_arithmetic::per_things::Percent, - }, - #[codec(index = 12)] - #[doc = "Disputes and removes an [UnappliedSlash] from storage."] - #[doc = ""] - #[doc = "The slash will not be applied once disputed and is permanently removed."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Caller must be the authorized dispute origin for the service"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `era` - Era containing the slash to dispute "] - #[doc = "* `index` - Index of the slash within the era"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [Error::NoDisputeOrigin] - Service has no dispute origin configured"] - #[doc = "* [DispatchError::BadOrigin] - Caller is not the authorized dispute origin"] - #[doc = ""] - dispute { - #[codec(compact)] - era: ::core::primitive::u32, - #[codec(compact)] - index: ::core::primitive::u32, - }, - #[codec(index = 13)] - #[doc = "Updates the Master Blueprint Service Manager by adding a new revision."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Caller must be an authorized Master Blueprint Service Manager Update Origin"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `address` - New manager address to add"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [Error::MaxMasterBlueprintServiceManagerVersionsExceeded] - Maximum number of revisions reached"] - update_master_blueprint_service_manager { address: ::subxt_core::utils::H160 }, - } + # [codec (index = 0)] # [doc = "Create a new service blueprint."] # [doc = ""] # [doc = "A Service Blueprint is a template for a service that can be instantiated by users. The blueprint"] # [doc = "defines the service's constraints, requirements and behavior, including the master blueprint service"] # [doc = "manager revision to use."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* The origin must be signed by the account that will own the blueprint"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - The origin of the call, must be signed by the account creating the blueprint"] # [doc = "* `blueprint` - The service blueprint containing:"] # [doc = " - Service constraints and requirements"] # [doc = " - Master blueprint service manager revision (Latest or Specific)"] # [doc = " - Template configuration for service instantiation"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::BadOrigin`] - Origin is not signed"] # [doc = "* [`Error::MasterBlueprintServiceManagerRevisionNotFound`] - Specified MBSM revision does not exist"] # [doc = "* [`Error::BlueprintCreationInterrupted`] - Blueprint creation is interrupted by hooks"] # [doc = ""] # [doc = "# Returns"] # [doc = ""] # [doc = "Returns a `DispatchResultWithPostInfo` which on success emits a [`Event::BlueprintCreated`] event"] # [doc = "containing the owner and blueprint ID."] create_blueprint { blueprint : runtime_types :: tangle_primitives :: services :: service :: ServiceBlueprint , } , # [codec (index = 1)] # [doc = "Pre-register the caller as an operator for a specific blueprint."] # [doc = ""] # [doc = "This function allows an account to signal intent to become an operator for a blueprint by emitting"] # [doc = "a `PreRegistration` event. The operator node can listen for this event to execute any custom"] # [doc = "registration logic defined in the blueprint."] # [doc = ""] # [doc = "Pre-registration is the first step in the operator registration flow. After pre-registering,"] # [doc = "operators must complete the full registration process by calling `register()` with their preferences"] # [doc = "and registration arguments."] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin: OriginFor` - The origin of the call. Must be signed by the account that wants to"] # [doc = " become an operator."] # [doc = "* `blueprint_id: u64` - The identifier of the service blueprint to pre-register for. Must refer"] # [doc = " to an existing blueprint."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* The caller must be a signed account."] # [doc = ""] # [doc = "# Events"] # [doc = ""] # [doc = "* [`Event::PreRegistration`] - Emitted when pre-registration is successful, containing:"] # [doc = " - `operator: T::AccountId` - The account ID of the pre-registering operator"] # [doc = " - `blueprint_id: u64` - The ID of the blueprint being pre-registered for"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::BadOrigin`] - The origin was not signed."] pre_register { # [codec (compact)] blueprint_id : :: core :: primitive :: u64 , } , # [codec (index = 2)] # [doc = "Register the caller as an operator for a specific blueprint."] # [doc = ""] # [doc = "This function allows an account to register as an operator for a blueprint by providing their"] # [doc = "service preferences, registration arguments, and staking the required tokens. The operator must"] # [doc = "be active in the delegation system and may require approval before accepting service requests."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* The caller must be a signed account"] # [doc = "* The caller must be an active operator in the delegation system"] # [doc = "* The caller must not already be registered for this blueprint"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - The origin of the call. Must be signed."] # [doc = "* `blueprint_id` - The identifier of the service blueprint to register for"] # [doc = "* `preferences` - The operator's service preferences and configuration"] # [doc = "* `registration_args` - Registration arguments required by the blueprint"] # [doc = "* `value` - Amount of tokens to stake for registration"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::OperatorNotActive`] - Caller is not an active operator in the delegation system"] # [doc = "* [`Error::AlreadyRegistered`] - Caller is already registered for this blueprint"] # [doc = "* [`Error::TypeCheck`] - Registration arguments failed type checking"] # [doc = "* [`Error::InvalidRegistrationInput`] - Registration hook rejected the registration"] # [doc = "* [`Error::MaxServicesPerProviderExceeded`] - Operator has reached maximum services limit"] register { # [codec (compact)] blueprint_id : :: core :: primitive :: u64 , preferences : runtime_types :: tangle_primitives :: services :: types :: OperatorPreferences , registration_args : :: subxt_core :: alloc :: vec :: Vec < runtime_types :: tangle_primitives :: services :: field :: Field < :: subxt_core :: utils :: AccountId32 > > , # [codec (compact)] value : :: core :: primitive :: u128 , } , # [codec (index = 3)] # [doc = "Unregisters a service provider from a specific service blueprint."] # [doc = ""] # [doc = "Can only be called if the no services are active for the blueprint."] # [doc = "After unregistering, the provider will no longer receive new service"] # [doc = "assignments for this blueprint."] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - The origin of the call. Must be signed."] # [doc = "* `blueprint_id` - The identifier of the service blueprint to unregister from."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by a registered service provider"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotRegistered`] - The caller is not registered for this blueprint"] # [doc = "* [`Error::NotAllowedToUnregister`] - Unregistration is currently restricted"] # [doc = "* [`Error::BlueprintNotFound`] - The blueprint_id does not exist"] unregister { # [codec (compact)] blueprint_id : :: core :: primitive :: u64 , } , # [codec (index = 4)] # [doc = "Updates the price targets for a registered operator's service blueprint."] # [doc = ""] # [doc = "Allows an operator to modify their price targets for a specific blueprint they are registered for."] # [doc = "The operator must already be registered for the blueprint to update prices."] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin: OriginFor` - The origin of the call. Must be signed by the operator."] # [doc = "* `blueprint_id: u64` - The identifier of the blueprint to update price targets for."] # [doc = "* `price_targets: PriceTargets` - The new price targets to set for the blueprint."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by a registered operator for this blueprint."] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::NotRegistered`] - The caller is not registered for this blueprint."] # [doc = "* [`Error::NotAllowedToUpdatePriceTargets`] - Price target updates are currently restricted."] # [doc = "* [`Error::BlueprintNotFound`] - The blueprint_id does not exist."] update_price_targets { # [codec (compact)] blueprint_id : :: core :: primitive :: u64 , price_targets : runtime_types :: tangle_primitives :: services :: types :: PriceTargets , } , # [codec (index = 5)] # [doc = "Request a new service using a blueprint and specified operators."] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin: OriginFor` - The origin of the call. Must be signed."] # [doc = "* `evm_origin: Option` - Optional EVM address for ERC20 payments."] # [doc = "* `blueprint_id: u64` - The identifier of the blueprint to use."] # [doc = "* `permitted_callers: Vec` - Accounts allowed to call the service. If empty, only owner can call."] # [doc = "* `operators: Vec` - List of operators that will run the service."] # [doc = "* `request_args: Vec>` - Blueprint initialization arguments."] # [doc = "* `assets: Vec` - Required assets for the service."] # [doc = "* `ttl: BlockNumberFor` - Time-to-live in blocks for the service request."] # [doc = "* `payment_asset: Asset` - Asset used for payment (native, custom or ERC20)."] # [doc = "* `value: BalanceOf` - Payment amount for the service."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by an account with sufficient balance to pay for the service."] # [doc = "* For ERC20 payments, the EVM origin must match the caller's mapped account."] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::TypeCheck`] - Request arguments fail blueprint type checking."] # [doc = "* [`Error::NoAssetsProvided`] - No assets were specified."] # [doc = "* [`Error::MissingEVMOrigin`] - EVM origin required but not provided for ERC20 payment."] # [doc = "* [`Error::ERC20TransferFailed`] - ERC20 token transfer failed."] # [doc = "* [`Error::NotRegistered`] - One or more operators not registered for blueprint."] # [doc = "* [`Error::BlueprintNotFound`] - The blueprint_id does not exist."] request { evm_origin : :: core :: option :: Option < :: subxt_core :: utils :: H160 > , # [codec (compact)] blueprint_id : :: core :: primitive :: u64 , permitted_callers : :: subxt_core :: alloc :: vec :: Vec < :: subxt_core :: utils :: AccountId32 > , operators : :: subxt_core :: alloc :: vec :: Vec < :: subxt_core :: utils :: AccountId32 > , request_args : :: subxt_core :: alloc :: vec :: Vec < runtime_types :: tangle_primitives :: services :: field :: Field < :: subxt_core :: utils :: AccountId32 > > , asset_security_requirements : :: subxt_core :: alloc :: vec :: Vec < runtime_types :: tangle_primitives :: services :: types :: AssetSecurityRequirement < :: core :: primitive :: u128 > > , # [codec (compact)] ttl : :: core :: primitive :: u64 , payment_asset : runtime_types :: tangle_primitives :: services :: types :: Asset < :: core :: primitive :: u128 > , # [codec (compact)] value : :: core :: primitive :: u128 , membership_model : runtime_types :: tangle_primitives :: services :: types :: MembershipModel , } , # [codec (index = 6)] # [doc = "Approve a service request, allowing it to be initiated once all required approvals are received."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Caller must be a registered operator for the service blueprint"] # [doc = "* Caller must be in the pending approvals list for this request"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - The origin of the call, must be a signed account"] # [doc = "* `request_id` - The ID of the service request to approve"] # [doc = "* `native_exposure_percent` - Percentage of native token stake to expose"] # [doc = "* `asset_exposure` - Vector of asset-specific exposure commitments"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::ApprovalNotRequested`] - Caller is not in the pending approvals list"] # [doc = "* [`Error::ApprovalInterrupted`] - Approval was rejected by blueprint hook"] # [doc = "* [`Error::InvalidRequestInput`] - Asset exposure commitments don't meet requirements"] approve { # [codec (compact)] request_id : :: core :: primitive :: u64 , security_commitments : :: subxt_core :: alloc :: vec :: Vec < runtime_types :: tangle_primitives :: services :: types :: AssetSecurityCommitment < :: core :: primitive :: u128 > > , } , # [codec (index = 7)] # [doc = "Reject a service request, preventing its initiation."] # [doc = ""] # [doc = "The service request will remain in the system but marked as rejected. The requester will"] # [doc = "need to update the service request to proceed."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Caller must be a registered operator for the blueprint associated with this request"] # [doc = "* Caller must be one of the operators required to approve this request"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - The origin of the call, must be a signed account"] # [doc = "* `request_id` - The ID of the service request to reject"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::ApprovalNotRequested`] - Caller is not one of the operators required to approve this request"] # [doc = "* [`Error::ExpectedAccountId`] - Failed to convert refund address to account ID when refunding payment"] # [doc = "* [`Error::RejectionInterrupted`] - Rejection was interrupted by blueprint hook"] reject { # [codec (compact)] request_id : :: core :: primitive :: u64 , } , # [codec (index = 8)] # [doc = "Terminates a running service instance."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the service owner"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - The origin of the call"] # [doc = "* `service_id` - The identifier of the service to terminate"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::ServiceNotFound`] - The service_id does not exist"] # [doc = "* [`Error::NotRegistered`] - Service operator not registered"] # [doc = "* [`Error::TerminationInterrupted`] - Service termination was interrupted by hooks"] # [doc = "* [`DispatchError::BadOrigin`] - Caller is not the service owner"] terminate { # [codec (compact)] service_id : :: core :: primitive :: u64 , } , # [codec (index = 9)] # [doc = "Call a job in the service with the provided arguments."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Must be signed by the service owner or a permitted caller"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - The origin of the call"] # [doc = "* `service_id` - The service identifier"] # [doc = "* `job` - The job index to call"] # [doc = "* `args` - The arguments to pass to the job"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::ServiceNotFound`] - The service_id does not exist"] # [doc = "* [`Error::JobDefinitionNotFound`] - The job index is invalid"] # [doc = "* [`Error::MaxFieldsExceeded`] - Too many arguments provided"] # [doc = "* [`Error::TypeCheck`] - Arguments fail type checking"] # [doc = "* [`Error::InvalidJobCallInput`] - Job call was rejected by hooks"] # [doc = "* [`DispatchError::BadOrigin`] - Caller is not owner or permitted caller"] call { # [codec (compact)] service_id : :: core :: primitive :: u64 , # [codec (compact)] job : :: core :: primitive :: u8 , args : :: subxt_core :: alloc :: vec :: Vec < runtime_types :: tangle_primitives :: services :: field :: Field < :: subxt_core :: utils :: AccountId32 > > , } , # [codec (index = 10)] # [doc = "Submit a result for a previously called job."] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `service_id` - ID of the service"] # [doc = "* `call_id` - ID of the job call"] # [doc = "* `result` - Vector of result fields"] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Caller must be an operator of the service"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [`Error::ServiceNotFound`] - The service_id does not exist"] # [doc = "* [`Error::JobCallNotFound`] - The call_id does not exist"] # [doc = "* [`Error::JobDefinitionNotFound`] - The job index is invalid"] # [doc = "* [`Error::MaxFieldsExceeded`] - Too many result fields provided"] # [doc = "* [`Error::TypeCheck`] - Result fields fail type checking"] # [doc = "* [`Error::InvalidJobResult`] - Job result was rejected by hooks"] # [doc = "* [`DispatchError::BadOrigin`] - Caller is not an operator"] submit_result { # [codec (compact)] service_id : :: core :: primitive :: u64 , # [codec (compact)] call_id : :: core :: primitive :: u64 , result : :: subxt_core :: alloc :: vec :: Vec < runtime_types :: tangle_primitives :: services :: field :: Field < :: subxt_core :: utils :: AccountId32 > > , } , # [codec (index = 11)] # [doc = "Slash an operator's stake for a service by scheduling a deferred slashing action."] # [doc = ""] # [doc = "This function schedules a deferred slashing action against an operator's stake for a specific service."] # [doc = "The slash is not applied immediately, but rather queued to be executed by another entity later."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* The caller must be an authorized Slash Origin for the target service, as determined by"] # [doc = " `query_slashing_origin`. If no slashing origin is set, or the caller does not match, the call"] # [doc = " will fail."] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - The origin of the call. Must be signed by an authorized Slash Origin."] # [doc = "* `offender` - The account ID of the operator to be slashed."] # [doc = "* `service_id` - The ID of the service for which to slash the operator."] # [doc = "* `slash_percent` - The percentage of the operator's exposed stake to slash, as a `Percent` value."] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* `NoSlashingOrigin` - No slashing origin is set for the service"] # [doc = "* `BadOrigin` - Caller is not the authorized slashing origin"] # [doc = "* `OffenderNotOperator` - Target account is not an operator for this service"] # [doc = "* `OffenderNotActiveOperator` - Target operator is not currently active"] slash { offender : :: subxt_core :: utils :: AccountId32 , # [codec (compact)] service_id : :: core :: primitive :: u64 , # [codec (compact)] slash_percent : runtime_types :: sp_arithmetic :: per_things :: Percent , } , # [codec (index = 12)] # [doc = "Disputes and removes an [UnappliedSlash] from storage."] # [doc = ""] # [doc = "The slash will not be applied once disputed and is permanently removed."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Caller must be the authorized dispute origin for the service"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `era` - Era containing the slash to dispute "] # [doc = "* `index` - Index of the slash within the era"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [Error::NoDisputeOrigin] - Service has no dispute origin configured"] # [doc = "* [DispatchError::BadOrigin] - Caller is not the authorized dispute origin"] # [doc = ""] dispute { # [codec (compact)] era : :: core :: primitive :: u32 , # [codec (compact)] index : :: core :: primitive :: u32 , } , # [codec (index = 13)] # [doc = "Updates the Master Blueprint Service Manager by adding a new revision."] # [doc = ""] # [doc = "# Permissions"] # [doc = ""] # [doc = "* Caller must be an authorized Master Blueprint Service Manager Update Origin"] # [doc = ""] # [doc = "# Arguments"] # [doc = ""] # [doc = "* `origin` - Origin of the call"] # [doc = "* `address` - New manager address to add"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "* [Error::MaxMasterBlueprintServiceManagerVersionsExceeded] - Maximum number of revisions reached"] update_master_blueprint_service_manager { address : :: subxt_core :: utils :: H160 , } , # [codec (index = 15)] # [doc = "Join a service instance as an operator"] join_service { instance_id : :: core :: primitive :: u64 , security_commitments : :: subxt_core :: alloc :: vec :: Vec < runtime_types :: tangle_primitives :: services :: types :: AssetSecurityCommitment < :: core :: primitive :: u128 > > , } , # [codec (index = 16)] # [doc = "Leave a service instance as an operator"] leave_service { instance_id : :: core :: primitive :: u64 , } , } #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -62379,7 +65419,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -62394,127 +65433,214 @@ pub mod api { #[doc = "The caller is already registered as a operator."] AlreadyRegistered, #[codec(index = 3)] + #[doc = "The caller is registering with a key that is already registered"] + DuplicateKey, + #[codec(index = 4)] #[doc = "The caller does not have the requirements to be a operator."] InvalidRegistrationInput, - #[codec(index = 4)] + #[codec(index = 5)] #[doc = "The Operator is not allowed to unregister."] NotAllowedToUnregister, - #[codec(index = 5)] + #[codec(index = 6)] #[doc = "The Operator is not allowed to update their price targets."] NotAllowedToUpdatePriceTargets, - #[codec(index = 6)] + #[codec(index = 7)] #[doc = "The caller does not have the requirements to request a service."] InvalidRequestInput, - #[codec(index = 7)] + #[codec(index = 8)] #[doc = "The caller does not have the requirements to call a job."] InvalidJobCallInput, - #[codec(index = 8)] + #[codec(index = 9)] #[doc = "The caller provided an invalid job result."] InvalidJobResult, - #[codec(index = 9)] + #[codec(index = 10)] #[doc = "The caller is not registered as a operator."] NotRegistered, - #[codec(index = 10)] + #[codec(index = 11)] #[doc = "Approval Process is interrupted."] ApprovalInterrupted, - #[codec(index = 11)] + #[codec(index = 12)] #[doc = "Rejection Process is interrupted."] RejectionInterrupted, - #[codec(index = 12)] + #[codec(index = 13)] #[doc = "The service request was not found."] ServiceRequestNotFound, - #[codec(index = 13)] + #[codec(index = 14)] #[doc = "Service Initialization interrupted."] ServiceInitializationInterrupted, - #[codec(index = 14)] + #[codec(index = 15)] #[doc = "The service was not found."] ServiceNotFound, - #[codec(index = 15)] + #[codec(index = 16)] #[doc = "The termination of the service was interrupted."] TerminationInterrupted, - #[codec(index = 16)] - #[doc = "An error occurred while type checking the provided input input."] - TypeCheck(runtime_types::tangle_primitives::services::TypeCheckError), #[codec(index = 17)] + #[doc = "An error occurred while type checking the provided input input."] + TypeCheck(runtime_types::tangle_primitives::services::types::TypeCheckError), + #[codec(index = 18)] #[doc = "The maximum number of permitted callers per service has been exceeded."] MaxPermittedCallersExceeded, - #[codec(index = 18)] + #[codec(index = 19)] #[doc = "The maximum number of operators per service has been exceeded."] MaxServiceProvidersExceeded, - #[codec(index = 19)] + #[codec(index = 20)] #[doc = "The maximum number of services per user has been exceeded."] MaxServicesPerUserExceeded, - #[codec(index = 20)] + #[codec(index = 21)] #[doc = "The maximum number of fields per request has been exceeded."] MaxFieldsExceeded, - #[codec(index = 21)] + #[codec(index = 22)] #[doc = "The approval is not requested for the operator (the caller)."] ApprovalNotRequested, - #[codec(index = 22)] + #[codec(index = 23)] #[doc = "The requested job definition does not exist."] #[doc = "This error is returned when the requested job definition does not exist in the service"] #[doc = "blueprint."] JobDefinitionNotFound, - #[codec(index = 23)] + #[codec(index = 24)] #[doc = "Either the service or the job call was not found."] ServiceOrJobCallNotFound, - #[codec(index = 24)] + #[codec(index = 25)] #[doc = "The result of the job call was not found."] JobCallResultNotFound, - #[codec(index = 25)] + #[codec(index = 26)] #[doc = "An error occurred while encoding the EVM ABI."] EVMAbiEncode, - #[codec(index = 26)] + #[codec(index = 27)] #[doc = "An error occurred while decoding the EVM ABI."] EVMAbiDecode, - #[codec(index = 27)] + #[codec(index = 28)] #[doc = "Operator profile not found."] OperatorProfileNotFound, - #[codec(index = 28)] - #[doc = "Maximum number of services per Provider reached."] - MaxServicesPerProviderExceeded, #[codec(index = 29)] + #[doc = "Maximum number of services per operator reached."] + MaxServicesPerOperatorExceeded, + #[codec(index = 30)] + #[doc = "Maximum number of blueprints registered by the operator reached."] + MaxBlueprintsPerOperatorExceeded, + #[codec(index = 31)] #[doc = "The operator is not active, ensure operator status is ACTIVE in multi-asset-delegation"] OperatorNotActive, - #[codec(index = 30)] + #[codec(index = 32)] + #[doc = "Duplicate operator registration."] + DuplicateOperator, + #[codec(index = 33)] + #[doc = "Too many operators provided for the service's membership model"] + TooManyOperators, + #[codec(index = 34)] + #[doc = "Too few operators provided for the service's membership model"] + TooFewOperators, + #[codec(index = 35)] #[doc = "No assets provided for the service, at least one asset is required."] NoAssetsProvided, - #[codec(index = 31)] + #[codec(index = 36)] + #[doc = "Duplicate assets provided"] + DuplicateAsset, + #[codec(index = 37)] #[doc = "The maximum number of assets per service has been exceeded."] MaxAssetsPerServiceExceeded, - #[codec(index = 32)] + #[codec(index = 38)] + #[doc = "Native asset exposure is too low"] + NativeAssetExposureTooLow, + #[codec(index = 39)] + #[doc = "Native asset is not found"] + NoNativeAsset, + #[codec(index = 40)] #[doc = "Offender is not a registered operator."] OffenderNotOperator, - #[codec(index = 33)] + #[codec(index = 41)] #[doc = "Offender is not an active operator."] OffenderNotActiveOperator, - #[codec(index = 34)] + #[codec(index = 42)] #[doc = "The Service Blueprint did not return a slashing origin for this service."] NoSlashingOrigin, - #[codec(index = 35)] + #[codec(index = 43)] #[doc = "The Service Blueprint did not return a dispute origin for this service."] NoDisputeOrigin, - #[codec(index = 36)] + #[codec(index = 44)] #[doc = "The Unapplied Slash are not found."] UnappliedSlashNotFound, - #[codec(index = 37)] + #[codec(index = 45)] #[doc = "The Supplied Master Blueprint Service Manager Revision is not found."] MasterBlueprintServiceManagerRevisionNotFound, - #[codec(index = 38)] + #[codec(index = 46)] + #[doc = "Duplicate membership model"] + DuplicateMembershipModel, + #[codec(index = 47)] #[doc = "Maximum number of Master Blueprint Service Manager revisions reached."] MaxMasterBlueprintServiceManagerVersionsExceeded, - #[codec(index = 39)] + #[codec(index = 48)] #[doc = "The ERC20 transfer failed."] ERC20TransferFailed, - #[codec(index = 40)] + #[codec(index = 49)] #[doc = "Missing EVM Origin for the EVM execution."] MissingEVMOrigin, - #[codec(index = 41)] + #[codec(index = 50)] #[doc = "Expected the account to be an EVM address."] ExpectedEVMAddress, - #[codec(index = 42)] + #[codec(index = 51)] #[doc = "Expected the account to be an account ID."] ExpectedAccountId, + #[codec(index = 52)] + #[doc = "Request hook failure"] + OnRequestFailure, + #[codec(index = 53)] + #[doc = "Register hook failure"] + OnRegisterHookFailed, + #[codec(index = 54)] + #[doc = "Approve service request hook failure"] + OnApproveFailure, + #[codec(index = 55)] + #[doc = "Reject service request hook failure"] + OnRejectFailure, + #[codec(index = 56)] + #[doc = "Service init hook"] + OnServiceInitHook, + #[codec(index = 57)] + #[doc = "Membership model not supported by blueprint"] + UnsupportedMembershipModel, + #[codec(index = 58)] + #[doc = "Service does not support dynamic membership"] + DynamicMembershipNotSupported, + #[codec(index = 59)] + #[doc = "Cannot join service - rejected by blueprint"] + JoinRejected, + #[codec(index = 60)] + #[doc = "Cannot leave service - rejected by blueprint"] + LeaveRejected, + #[codec(index = 61)] + #[doc = "Maximum operators reached"] + MaxOperatorsReached, + #[codec(index = 62)] + #[doc = "Can join hook failure"] + OnCanJoinFailure, + #[codec(index = 63)] + #[doc = "Can leave hook failure"] + OnCanLeaveFailure, + #[codec(index = 64)] + #[doc = "Operator join hook failure"] + OnOperatorJoinFailure, + #[codec(index = 65)] + #[doc = "Operator leave hook failure"] + OnOperatorLeaveFailure, + #[codec(index = 66)] + #[doc = "Operator is a member or has already joined the service"] + AlreadyJoined, + #[codec(index = 67)] + #[doc = "Caller is not an operator of the service"] + NotAnOperator, + #[codec(index = 68)] + #[doc = "Invalid slash percentage"] + InvalidSlashPercentage, + #[codec(index = 69)] + #[doc = "Invalid key (zero byte ECDSA key provided)"] + InvalidKey, + #[codec(index = 70)] + #[doc = "Invalid security commitments"] + InvalidSecurityCommitments, + #[codec(index = 71)] + #[doc = "Invalid Security Requirements"] + InvalidSecurityRequirements, } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -62527,179 +65653,11 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] pub enum Event { - #[codec(index = 0)] - #[doc = "A new service blueprint has been created."] - BlueprintCreated { - owner: ::subxt_core::utils::AccountId32, - blueprint_id: ::core::primitive::u64, - }, - #[codec(index = 1)] - #[doc = "An operator has pre-registered for a service blueprint."] - PreRegistration { - operator: ::subxt_core::utils::AccountId32, - blueprint_id: ::core::primitive::u64, - }, - #[codec(index = 2)] - #[doc = "An new operator has been registered."] - Registered { - provider: ::subxt_core::utils::AccountId32, - blueprint_id: ::core::primitive::u64, - preferences: - runtime_types::tangle_primitives::services::OperatorPreferences, - registration_args: ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_primitives::services::field::Field< - ::subxt_core::utils::AccountId32, - >, - >, - }, - #[codec(index = 3)] - #[doc = "An operator has been unregistered."] - Unregistered { - operator: ::subxt_core::utils::AccountId32, - blueprint_id: ::core::primitive::u64, - }, - #[codec(index = 4)] - #[doc = "The price targets for an operator has been updated."] - PriceTargetsUpdated { - operator: ::subxt_core::utils::AccountId32, - blueprint_id: ::core::primitive::u64, - price_targets: runtime_types::tangle_primitives::services::PriceTargets, - }, - #[codec(index = 5)] - #[doc = "A new service has been requested."] - ServiceRequested { - owner: ::subxt_core::utils::AccountId32, - request_id: ::core::primitive::u64, - blueprint_id: ::core::primitive::u64, - pending_approvals: - ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>, - approved: ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>, - assets: ::subxt_core::alloc::vec::Vec<::core::primitive::u128>, - }, - #[codec(index = 6)] - #[doc = "A service request has been approved."] - ServiceRequestApproved { - operator: ::subxt_core::utils::AccountId32, - request_id: ::core::primitive::u64, - blueprint_id: ::core::primitive::u64, - pending_approvals: - ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>, - approved: ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>, - }, - #[codec(index = 7)] - #[doc = "A service request has been rejected."] - ServiceRequestRejected { - operator: ::subxt_core::utils::AccountId32, - request_id: ::core::primitive::u64, - blueprint_id: ::core::primitive::u64, - }, - #[codec(index = 8)] - #[doc = "A service has been initiated."] - ServiceInitiated { - owner: ::subxt_core::utils::AccountId32, - request_id: ::core::primitive::u64, - service_id: ::core::primitive::u64, - blueprint_id: ::core::primitive::u64, - assets: ::subxt_core::alloc::vec::Vec<::core::primitive::u128>, - }, - #[codec(index = 9)] - #[doc = "A service has been terminated."] - ServiceTerminated { - owner: ::subxt_core::utils::AccountId32, - service_id: ::core::primitive::u64, - blueprint_id: ::core::primitive::u64, - }, - #[codec(index = 10)] - #[doc = "A job has been called."] - JobCalled { - caller: ::subxt_core::utils::AccountId32, - service_id: ::core::primitive::u64, - call_id: ::core::primitive::u64, - job: ::core::primitive::u8, - args: ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_primitives::services::field::Field< - ::subxt_core::utils::AccountId32, - >, - >, - }, - #[codec(index = 11)] - #[doc = "A job result has been submitted."] - JobResultSubmitted { - operator: ::subxt_core::utils::AccountId32, - service_id: ::core::primitive::u64, - call_id: ::core::primitive::u64, - job: ::core::primitive::u8, - result: ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_primitives::services::field::Field< - ::subxt_core::utils::AccountId32, - >, - >, - }, - #[codec(index = 12)] - #[doc = "EVM execution reverted with a reason."] - EvmReverted { - from: ::subxt_core::utils::H160, - to: ::subxt_core::utils::H160, - data: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, - reason: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, - }, - #[codec(index = 13)] - #[doc = "An Operator has an unapplied slash."] - UnappliedSlash { - index: ::core::primitive::u32, - operator: ::subxt_core::utils::AccountId32, - amount: ::core::primitive::u128, - service_id: ::core::primitive::u64, - blueprint_id: ::core::primitive::u64, - era: ::core::primitive::u32, - }, - #[codec(index = 14)] - #[doc = "An Unapplied Slash got discarded."] - SlashDiscarded { - index: ::core::primitive::u32, - operator: ::subxt_core::utils::AccountId32, - amount: ::core::primitive::u128, - service_id: ::core::primitive::u64, - blueprint_id: ::core::primitive::u64, - era: ::core::primitive::u32, - }, - #[codec(index = 15)] - #[doc = "The Master Blueprint Service Manager has been revised."] - MasterBlueprintServiceManagerRevised { - revision: ::core::primitive::u32, - address: ::subxt_core::utils::H160, - }, - } - } - pub mod types { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct UnappliedSlash<_0, _1> { - pub service_id: ::core::primitive::u64, - pub operator: _0, - pub own: _1, - pub others: ::subxt_core::alloc::vec::Vec<(_0, _1)>, - pub reporters: ::subxt_core::alloc::vec::Vec<_0>, - pub payout: _1, - } + # [codec (index = 0)] # [doc = "A new service blueprint has been created."] BlueprintCreated { owner : :: subxt_core :: utils :: AccountId32 , blueprint_id : :: core :: primitive :: u64 , } , # [codec (index = 1)] # [doc = "An operator has pre-registered for a service blueprint."] PreRegistration { operator : :: subxt_core :: utils :: AccountId32 , blueprint_id : :: core :: primitive :: u64 , } , # [codec (index = 2)] # [doc = "An new operator has been registered."] Registered { provider : :: subxt_core :: utils :: AccountId32 , blueprint_id : :: core :: primitive :: u64 , preferences : runtime_types :: tangle_primitives :: services :: types :: OperatorPreferences , registration_args : :: subxt_core :: alloc :: vec :: Vec < runtime_types :: tangle_primitives :: services :: field :: Field < :: subxt_core :: utils :: AccountId32 > > , } , # [codec (index = 3)] # [doc = "An operator has been unregistered."] Unregistered { operator : :: subxt_core :: utils :: AccountId32 , blueprint_id : :: core :: primitive :: u64 , } , # [codec (index = 4)] # [doc = "The price targets for an operator has been updated."] PriceTargetsUpdated { operator : :: subxt_core :: utils :: AccountId32 , blueprint_id : :: core :: primitive :: u64 , price_targets : runtime_types :: tangle_primitives :: services :: types :: PriceTargets , } , # [codec (index = 5)] # [doc = "A new service has been requested."] ServiceRequested { owner : :: subxt_core :: utils :: AccountId32 , request_id : :: core :: primitive :: u64 , blueprint_id : :: core :: primitive :: u64 , pending_approvals : :: subxt_core :: alloc :: vec :: Vec < :: subxt_core :: utils :: AccountId32 > , approved : :: subxt_core :: alloc :: vec :: Vec < :: subxt_core :: utils :: AccountId32 > , security_requirements : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: types :: AssetSecurityRequirement < :: core :: primitive :: u128 > > , } , # [codec (index = 6)] # [doc = "A service request has been approved."] ServiceRequestApproved { operator : :: subxt_core :: utils :: AccountId32 , request_id : :: core :: primitive :: u64 , blueprint_id : :: core :: primitive :: u64 , pending_approvals : :: subxt_core :: alloc :: vec :: Vec < :: subxt_core :: utils :: AccountId32 > , approved : :: subxt_core :: alloc :: vec :: Vec < :: subxt_core :: utils :: AccountId32 > , } , # [codec (index = 7)] # [doc = "A service request has been rejected."] ServiceRequestRejected { operator : :: subxt_core :: utils :: AccountId32 , request_id : :: core :: primitive :: u64 , blueprint_id : :: core :: primitive :: u64 , } , # [codec (index = 8)] # [doc = "A service has been initiated."] ServiceInitiated { owner : :: subxt_core :: utils :: AccountId32 , request_id : :: core :: primitive :: u64 , service_id : :: core :: primitive :: u64 , blueprint_id : :: core :: primitive :: u64 , operator_security_commitments : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < (:: subxt_core :: utils :: AccountId32 , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: types :: AssetSecurityCommitment < :: core :: primitive :: u128 > > ,) > , } , # [codec (index = 9)] # [doc = "A service has been terminated."] ServiceTerminated { owner : :: subxt_core :: utils :: AccountId32 , service_id : :: core :: primitive :: u64 , blueprint_id : :: core :: primitive :: u64 , } , # [codec (index = 10)] # [doc = "A job has been called."] JobCalled { caller : :: subxt_core :: utils :: AccountId32 , service_id : :: core :: primitive :: u64 , call_id : :: core :: primitive :: u64 , job : :: core :: primitive :: u8 , args : :: subxt_core :: alloc :: vec :: Vec < runtime_types :: tangle_primitives :: services :: field :: Field < :: subxt_core :: utils :: AccountId32 > > , } , # [codec (index = 11)] # [doc = "A job result has been submitted."] JobResultSubmitted { operator : :: subxt_core :: utils :: AccountId32 , service_id : :: core :: primitive :: u64 , call_id : :: core :: primitive :: u64 , job : :: core :: primitive :: u8 , result : :: subxt_core :: alloc :: vec :: Vec < runtime_types :: tangle_primitives :: services :: field :: Field < :: subxt_core :: utils :: AccountId32 > > , } , # [codec (index = 12)] # [doc = "EVM execution reverted with a reason."] EvmReverted { from : :: subxt_core :: utils :: H160 , to : :: subxt_core :: utils :: H160 , data : :: subxt_core :: alloc :: vec :: Vec < :: core :: primitive :: u8 > , reason : :: subxt_core :: alloc :: vec :: Vec < :: core :: primitive :: u8 > , } , # [codec (index = 13)] # [doc = "An Operator has an unapplied slash."] UnappliedSlash { index : :: core :: primitive :: u32 , operator : :: subxt_core :: utils :: AccountId32 , service_id : :: core :: primitive :: u64 , blueprint_id : :: core :: primitive :: u64 , slash_percent : runtime_types :: sp_arithmetic :: per_things :: Percent , era : :: core :: primitive :: u32 , } , # [codec (index = 14)] # [doc = "An Unapplied Slash got discarded."] SlashDiscarded { index : :: core :: primitive :: u32 , operator : :: subxt_core :: utils :: AccountId32 , service_id : :: core :: primitive :: u64 , blueprint_id : :: core :: primitive :: u64 , slash_percent : runtime_types :: sp_arithmetic :: per_things :: Percent , era : :: core :: primitive :: u32 , } , # [codec (index = 15)] # [doc = "The Master Blueprint Service Manager has been revised."] MasterBlueprintServiceManagerRevised { revision : :: core :: primitive :: u32 , address : :: subxt_core :: utils :: H160 , } , } } } pub mod pallet_session { @@ -62717,7 +65675,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -62762,7 +65719,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Error for the session pallet."] @@ -62794,7 +65750,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -62823,7 +65778,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -63344,7 +66298,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ConfigOp<_0> { @@ -63366,7 +66319,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -63480,7 +66432,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -63597,7 +66548,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SlashingSpans { @@ -63617,7 +66567,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SpanRecord<_0> { @@ -63636,7 +66585,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ActiveEraInfo { @@ -63654,7 +66602,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct EraRewardPoints<_0> { @@ -63672,7 +66619,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Forcing { @@ -63696,7 +66642,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Nominations { @@ -63717,7 +66662,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum RewardDestination<_0> { @@ -63743,7 +66687,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct StakingLedger { @@ -63771,7 +66714,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct UnappliedSlash<_0, _1> { @@ -63792,7 +66734,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct UnlockChunk<_0> { @@ -63812,7 +66753,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ValidatorPrefs { @@ -63836,7 +66776,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -63900,7 +66839,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Error for the Sudo pallet."] @@ -63920,7 +66858,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -63964,7 +66901,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -63981,7 +66917,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum DefensiveError { @@ -64007,7 +66942,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -64130,7 +67064,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Events of this pallet."] @@ -64147,7 +67080,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum FreezeReason { @@ -64170,7 +67102,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BondedPoolInner { @@ -64194,7 +67125,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PoolMetadata { @@ -64223,7 +67153,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Commission { pub current : :: core :: option :: Option < (runtime_types :: sp_arithmetic :: per_things :: Perbill , :: subxt_core :: utils :: AccountId32 ,) > , pub max : :: core :: option :: Option < runtime_types :: sp_arithmetic :: per_things :: Perbill > , pub change_rate : :: core :: option :: Option < runtime_types :: pallet_tangle_lst :: types :: commission :: CommissionChangeRate < :: core :: primitive :: u64 > > , pub throttle_from : :: core :: option :: Option < :: core :: primitive :: u64 > , pub claim_permission : :: core :: option :: Option < runtime_types :: pallet_tangle_lst :: types :: commission :: CommissionClaimPermission < :: subxt_core :: utils :: AccountId32 > > , } @@ -64238,7 +67167,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CommissionChangeRate<_0> { @@ -64256,7 +67184,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum CommissionClaimPermission<_0> { @@ -64279,7 +67206,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PoolMember { @@ -64300,7 +67226,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PoolRoles<_0> { @@ -64320,7 +67245,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum PoolState { @@ -64345,7 +67269,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct RewardPool { @@ -64367,7 +67290,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SubPools { @@ -64389,7 +67311,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct UnbondPool { @@ -64408,7 +67329,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum BondExtra<_0> { @@ -64426,7 +67346,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ClaimPermission { @@ -64450,7 +67369,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ConfigOp<_0> { @@ -64478,7 +67396,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -64525,7 +67442,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -64553,7 +67469,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct FeeDetails<_0> { @@ -64573,7 +67488,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct InclusionFee<_0> { @@ -64592,7 +67506,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct RuntimeDispatchInfo<_0, _1> { @@ -64612,7 +67525,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ChargeTransactionPayment(#[codec(compact)] pub ::core::primitive::u128); @@ -64627,7 +67539,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Releases { @@ -64652,7 +67563,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -64816,7 +67726,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Error for the treasury pallet."] @@ -64867,7 +67776,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -64940,7 +67848,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum PaymentState<_0> { @@ -64962,7 +67869,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Proposal<_0, _1> { @@ -64982,7 +67888,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SpendStatus<_0, _1, _2, _3, _4> { @@ -65011,7 +67916,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -65058,7 +67962,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -65086,7 +67989,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -65133,7 +68035,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -65260,7 +68161,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -65280,7 +68180,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -65328,7 +68227,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -65467,7 +68365,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Error for the vesting pallet."] @@ -65500,7 +68397,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -65530,7 +68426,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct VestingInfo<_0, _1> { @@ -65550,7 +68445,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Releases { @@ -65573,7 +68467,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct U256(pub [::core::primitive::u64; 4usize]); @@ -65591,7 +68484,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct TxPoolResponse { @@ -65619,7 +68511,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct FixedU128(pub ::core::primitive::u128); @@ -65638,7 +68529,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PerU16(pub ::core::primitive::u16); @@ -65654,7 +68544,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Perbill(pub ::core::primitive::u32); @@ -65670,7 +68559,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Percent(pub ::core::primitive::u8); @@ -65686,7 +68574,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Permill(pub ::core::primitive::u32); @@ -65702,7 +68589,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ArithmeticError { @@ -65729,7 +68615,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Public(pub [::core::primitive::u8; 32usize]); @@ -65747,7 +68632,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum NextConfigDescriptor { @@ -65768,7 +68652,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum PreDigest { @@ -65792,7 +68675,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PrimaryPreDigest { @@ -65811,7 +68693,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SecondaryPlainPreDigest { @@ -65829,7 +68710,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SecondaryVRFPreDigest { @@ -65849,7 +68729,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum AllowedSlots { @@ -65871,7 +68750,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BabeConfiguration { @@ -65896,7 +68774,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BabeEpochConfiguration { @@ -65914,7 +68791,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Epoch { @@ -65939,7 +68815,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct OpaqueKeyOwnershipProof( @@ -65961,7 +68836,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Public(pub [::core::primitive::u8; 32usize]); @@ -65976,7 +68850,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Signature(pub [::core::primitive::u8; 64usize]); @@ -65992,7 +68865,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Equivocation<_0, _1> { @@ -66024,7 +68896,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct EquivocationProof<_0, _1> { @@ -66045,7 +68916,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct EquivocationProof<_0, _1> { @@ -66066,7 +68936,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Slot(pub ::core::primitive::u64); @@ -66086,7 +68955,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]); @@ -66106,7 +68974,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct VrfSignature { @@ -66126,7 +68993,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct OpaqueMetadata(pub ::subxt_core::alloc::vec::Vec<::core::primitive::u8>); @@ -66141,7 +69007,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Void {} @@ -66159,7 +69024,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CheckInherentsResult { @@ -66178,7 +69042,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct InherentData { @@ -66201,7 +69064,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ElectionScore { @@ -66220,7 +69082,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Support<_0> { @@ -66245,7 +69106,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Block<_0, _1> { @@ -66266,7 +69126,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Digest { @@ -66285,7 +69144,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum DigestItem { @@ -66323,7 +69181,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Era { @@ -66854,7 +69711,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Header<_0> { @@ -66880,7 +69736,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BlakeTwo256; @@ -66898,7 +69753,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum InvalidTransaction { @@ -66936,7 +69790,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum TransactionSource { @@ -66958,7 +69811,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum TransactionValidityError { @@ -66978,7 +69830,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum UnknownTransaction { @@ -67000,7 +69851,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ValidTransaction { @@ -67026,7 +69876,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum DispatchError { @@ -67070,7 +69919,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ExtrinsicInclusionMode { @@ -67090,7 +69938,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ModuleError { @@ -67108,7 +69955,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum MultiSignature { @@ -67130,7 +69976,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct OpaqueValue(pub ::subxt_core::alloc::vec::Vec<::core::primitive::u8>); @@ -67145,7 +69990,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum TokenError { @@ -67181,7 +70025,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum TransactionalError { @@ -67204,7 +70047,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct MembershipProof { @@ -67230,7 +70072,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct OffenceDetails<_0, _1> { @@ -67249,7 +70090,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Exposure<_0, _1> { @@ -67272,7 +70112,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ExposurePage<_0, _1> { @@ -67293,7 +70132,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct IndividualExposure<_0, _1> { @@ -67312,7 +70150,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PagedExposureMetadata<_0> { @@ -67337,7 +70174,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct RuntimeVersion { @@ -67369,7 +70205,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Weight { @@ -67390,7 +70225,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct RuntimeDbWeight { @@ -67417,14 +70251,307 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct BoundedString( - pub runtime_types::bounded_collections::bounded_vec::BoundedVec< - ::core::primitive::u8, + pub struct BoundedString( + pub runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ); + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum Field<_1> { + # [codec (index = 0)] None , # [codec (index = 1)] Bool (:: core :: primitive :: bool ,) , # [codec (index = 2)] Uint8 (:: core :: primitive :: u8 ,) , # [codec (index = 3)] Int8 (:: core :: primitive :: i8 ,) , # [codec (index = 4)] Uint16 (:: core :: primitive :: u16 ,) , # [codec (index = 5)] Int16 (:: core :: primitive :: i16 ,) , # [codec (index = 6)] Uint32 (:: core :: primitive :: u32 ,) , # [codec (index = 7)] Int32 (:: core :: primitive :: i32 ,) , # [codec (index = 8)] Uint64 (:: core :: primitive :: u64 ,) , # [codec (index = 9)] Int64 (:: core :: primitive :: i64 ,) , # [codec (index = 10)] String (runtime_types :: tangle_primitives :: services :: field :: BoundedString ,) , # [codec (index = 12)] Array (runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: field :: Field < _1 > > ,) , # [codec (index = 13)] List (runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: field :: Field < _1 > > ,) , # [codec (index = 14)] Struct (runtime_types :: tangle_primitives :: services :: field :: BoundedString , :: subxt_core :: alloc :: boxed :: Box < runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < (runtime_types :: tangle_primitives :: services :: field :: BoundedString , runtime_types :: tangle_primitives :: services :: field :: Field < _1 > ,) > > ,) , # [codec (index = 100)] AccountId (_1 ,) , } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + serde :: Deserialize, + serde :: Serialize, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum FieldType { + #[codec(index = 0)] + Void, + #[codec(index = 1)] + Bool, + #[codec(index = 2)] + Uint8, + #[codec(index = 3)] + Int8, + #[codec(index = 4)] + Uint16, + #[codec(index = 5)] + Int16, + #[codec(index = 6)] + Uint32, + #[codec(index = 7)] + Int32, + #[codec(index = 8)] + Uint64, + #[codec(index = 9)] + Int64, + #[codec(index = 10)] + String, + #[codec(index = 12)] + Optional( + ::subxt_core::alloc::boxed::Box< + runtime_types::tangle_primitives::services::field::FieldType, + >, + ), + #[codec(index = 13)] + Array( + ::core::primitive::u64, + ::subxt_core::alloc::boxed::Box< + runtime_types::tangle_primitives::services::field::FieldType, + >, + ), + #[codec(index = 14)] + List( + ::subxt_core::alloc::boxed::Box< + runtime_types::tangle_primitives::services::field::FieldType, + >, + ), + #[codec(index = 15)] + Struct( + ::subxt_core::alloc::boxed::Box< + runtime_types::tangle_primitives::services::field::FieldType, + >, + ::subxt_core::alloc::boxed::Box< + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + runtime_types::tangle_primitives::services::field::FieldType, + runtime_types::tangle_primitives::services::field::FieldType, + )>, + >, + ), + #[codec(index = 100)] + AccountId, + } + } + pub mod gadget { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + serde :: Deserialize, + serde :: Serialize, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum Architecture { + #[codec(index = 0)] + Wasm, + #[codec(index = 1)] + Wasm64, + #[codec(index = 2)] + Wasi, + #[codec(index = 3)] + Wasi64, + #[codec(index = 4)] + Amd, + #[codec(index = 5)] + Amd64, + #[codec(index = 6)] + Arm, + #[codec(index = 7)] + Arm64, + #[codec(index = 8)] + RiscV, + #[codec(index = 9)] + RiscV64, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + serde :: Deserialize, + serde :: Serialize, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct ContainerGadget { + pub sources: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::tangle_primitives::services::gadget::GadgetSource, + >, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + serde :: Deserialize, + serde :: Serialize, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum Gadget { + #[codec(index = 0)] + Wasm(runtime_types::tangle_primitives::services::gadget::WasmGadget), + #[codec(index = 1)] + Native(runtime_types::tangle_primitives::services::gadget::NativeGadget), + #[codec(index = 2)] + Container( + runtime_types::tangle_primitives::services::gadget::ContainerGadget, + ), + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + serde :: Deserialize, + serde :: Serialize, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct GadgetBinary { + pub arch: runtime_types::tangle_primitives::services::gadget::Architecture, + pub os: runtime_types::tangle_primitives::services::gadget::OperatingSystem, + pub name: runtime_types::tangle_primitives::services::field::BoundedString, + pub sha256: [::core::primitive::u8; 32usize], + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + serde :: Deserialize, + serde :: Serialize, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct GadgetSource { + pub fetcher: + runtime_types::tangle_primitives::services::gadget::GadgetSourceFetcher, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + serde :: Deserialize, + serde :: Serialize, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum GadgetSourceFetcher { + # [codec (index = 0)] IPFS (runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > ,) , # [codec (index = 1)] Github (runtime_types :: tangle_primitives :: services :: gadget :: GithubFetcher ,) , # [codec (index = 2)] ContainerImage (runtime_types :: tangle_primitives :: services :: gadget :: ImageRegistryFetcher ,) , # [codec (index = 3)] Testing (runtime_types :: tangle_primitives :: services :: gadget :: TestFetcher ,) , } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + serde :: Deserialize, + serde :: Serialize, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct GithubFetcher { + pub owner: runtime_types::tangle_primitives::services::field::BoundedString, + pub repo: runtime_types::tangle_primitives::services::field::BoundedString, + pub tag: runtime_types::tangle_primitives::services::field::BoundedString, + pub binaries: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::tangle_primitives::services::gadget::GadgetBinary, + >, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + serde :: Deserialize, + serde :: Serialize, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct ImageRegistryFetcher { + pub registry: + runtime_types::tangle_primitives::services::field::BoundedString, + pub image: runtime_types::tangle_primitives::services::field::BoundedString, + pub tag: runtime_types::tangle_primitives::services::field::BoundedString, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + serde :: Deserialize, + serde :: Serialize, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct NativeGadget { + pub sources: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::tangle_primitives::services::gadget::GadgetSource, >, - ); + } #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -67434,13 +70561,24 @@ pub mod api { Debug, Eq, PartialEq, + serde :: Deserialize, + serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum Field<_1> { - # [codec (index = 0)] None , # [codec (index = 1)] Bool (:: core :: primitive :: bool ,) , # [codec (index = 2)] Uint8 (:: core :: primitive :: u8 ,) , # [codec (index = 3)] Int8 (:: core :: primitive :: i8 ,) , # [codec (index = 4)] Uint16 (:: core :: primitive :: u16 ,) , # [codec (index = 5)] Int16 (:: core :: primitive :: i16 ,) , # [codec (index = 6)] Uint32 (:: core :: primitive :: u32 ,) , # [codec (index = 7)] Int32 (:: core :: primitive :: i32 ,) , # [codec (index = 8)] Uint64 (:: core :: primitive :: u64 ,) , # [codec (index = 9)] Int64 (:: core :: primitive :: i64 ,) , # [codec (index = 10)] String (runtime_types :: tangle_primitives :: services :: field :: BoundedString ,) , # [codec (index = 12)] Array (runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: field :: Field < _1 > > ,) , # [codec (index = 13)] List (runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: field :: Field < _1 > > ,) , # [codec (index = 14)] Struct (runtime_types :: tangle_primitives :: services :: field :: BoundedString , :: subxt_core :: alloc :: boxed :: Box < runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < (runtime_types :: tangle_primitives :: services :: field :: BoundedString , runtime_types :: tangle_primitives :: services :: field :: Field < _1 > ,) > > ,) , # [codec (index = 100)] AccountId (_1 ,) , } + pub enum OperatingSystem { + #[codec(index = 0)] + Unknown, + #[codec(index = 1)] + Linux, + #[codec(index = 2)] + Windows, + #[codec(index = 3)] + MacOS, + #[codec(index = 4)] + BSD, + } #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -67454,810 +70592,545 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum FieldType { + pub struct TestFetcher { + pub cargo_package: + runtime_types::tangle_primitives::services::field::BoundedString, + pub cargo_bin: + runtime_types::tangle_primitives::services::field::BoundedString, + pub base_path: + runtime_types::tangle_primitives::services::field::BoundedString, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + serde :: Deserialize, + serde :: Serialize, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct WasmGadget { + pub runtime: + runtime_types::tangle_primitives::services::gadget::WasmRuntime, + pub sources: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::tangle_primitives::services::gadget::GadgetSource, + >, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + serde :: Deserialize, + serde :: Serialize, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum WasmRuntime { #[codec(index = 0)] - Void, + Wasmtime, #[codec(index = 1)] - Bool, - #[codec(index = 2)] - Uint8, - #[codec(index = 3)] - Int8, - #[codec(index = 4)] - Uint16, - #[codec(index = 5)] - Int16, - #[codec(index = 6)] - Uint32, - #[codec(index = 7)] - Int32, - #[codec(index = 8)] - Uint64, - #[codec(index = 9)] - Int64, - #[codec(index = 10)] - String, - #[codec(index = 11)] - Bytes, - #[codec(index = 12)] - Optional( - ::subxt_core::alloc::boxed::Box< - runtime_types::tangle_primitives::services::field::FieldType, - >, - ), - #[codec(index = 13)] - Array( - ::core::primitive::u64, - ::subxt_core::alloc::boxed::Box< - runtime_types::tangle_primitives::services::field::FieldType, - >, - ), - #[codec(index = 14)] - List( - ::subxt_core::alloc::boxed::Box< - runtime_types::tangle_primitives::services::field::FieldType, - >, - ), - #[codec(index = 15)] - Struct( - ::subxt_core::alloc::boxed::Box< - runtime_types::tangle_primitives::services::field::FieldType, - >, - ::subxt_core::alloc::boxed::Box< - runtime_types::bounded_collections::bounded_vec::BoundedVec<( - runtime_types::tangle_primitives::services::field::FieldType, - runtime_types::tangle_primitives::services::field::FieldType, - )>, - >, - ), - #[codec(index = 100)] - AccountId, + Wasmer, } } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum ApprovalState { - #[codec(index = 0)] - Pending, - #[codec(index = 1)] - Approved { - restaking_percent: runtime_types::sp_arithmetic::per_things::Percent, - }, - #[codec(index = 2)] - Rejected, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - serde :: Deserialize, - serde :: Serialize, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum Architecture { - #[codec(index = 0)] - Wasm, - #[codec(index = 1)] - Wasm64, - #[codec(index = 2)] - Wasi, - #[codec(index = 3)] - Wasi64, - #[codec(index = 4)] - Amd, - #[codec(index = 5)] - Amd64, - #[codec(index = 6)] - Arm, - #[codec(index = 7)] - Arm64, - #[codec(index = 8)] - RiscV, - #[codec(index = 9)] - RiscV64, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum Asset<_0> { - #[codec(index = 0)] - Custom(_0), - #[codec(index = 1)] - Erc20(::subxt_core::utils::H160), - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - serde :: Deserialize, - serde :: Serialize, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum BlueprintServiceManager { - #[codec(index = 0)] - Evm(::subxt_core::utils::H160), - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - serde :: Deserialize, - serde :: Serialize, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct ContainerGadget { - pub sources: runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::tangle_primitives::services::GadgetSource, - >, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - serde :: Deserialize, - serde :: Serialize, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum Gadget { - #[codec(index = 0)] - Wasm(runtime_types::tangle_primitives::services::WasmGadget), - #[codec(index = 1)] - Native(runtime_types::tangle_primitives::services::NativeGadget), - #[codec(index = 2)] - Container(runtime_types::tangle_primitives::services::ContainerGadget), - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - serde :: Deserialize, - serde :: Serialize, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct GadgetBinary { - pub arch: runtime_types::tangle_primitives::services::Architecture, - pub os: runtime_types::tangle_primitives::services::OperatingSystem, - pub name: runtime_types::tangle_primitives::services::field::BoundedString, - pub sha256: [::core::primitive::u8; 32usize], - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - serde :: Deserialize, - serde :: Serialize, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct GadgetSource { - pub fetcher: runtime_types::tangle_primitives::services::GadgetSourceFetcher, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - serde :: Deserialize, - serde :: Serialize, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum GadgetSourceFetcher { - #[codec(index = 0)] - IPFS( - runtime_types::bounded_collections::bounded_vec::BoundedVec< - ::core::primitive::u8, + pub mod jobs { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct JobCall<_1> { + pub service_id: ::core::primitive::u64, + pub job: ::core::primitive::u8, + pub args: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::tangle_primitives::services::field::Field<_1>, >, - ), - #[codec(index = 1)] - Github(runtime_types::tangle_primitives::services::GithubFetcher), - #[codec(index = 2)] - ContainerImage( - runtime_types::tangle_primitives::services::ImageRegistryFetcher, - ), - #[codec(index = 3)] - Testing(runtime_types::tangle_primitives::services::TestFetcher), - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - serde :: Deserialize, - serde :: Serialize, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct GithubFetcher { - pub owner: runtime_types::tangle_primitives::services::field::BoundedString, - pub repo: runtime_types::tangle_primitives::services::field::BoundedString, - pub tag: runtime_types::tangle_primitives::services::field::BoundedString, - pub binaries: runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::tangle_primitives::services::GadgetBinary, - >, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - serde :: Deserialize, - serde :: Serialize, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct ImageRegistryFetcher { - pub registry: runtime_types::tangle_primitives::services::field::BoundedString, - pub image: runtime_types::tangle_primitives::services::field::BoundedString, - pub tag: runtime_types::tangle_primitives::services::field::BoundedString, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct JobCall<_1> { - pub service_id: ::core::primitive::u64, - pub job: ::core::primitive::u8, - pub args: runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::tangle_primitives::services::field::Field<_1>, - >, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct JobCallResult<_1> { - pub service_id: ::core::primitive::u64, - pub call_id: ::core::primitive::u64, - pub result: runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::tangle_primitives::services::field::Field<_1>, - >, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - serde :: Deserialize, - serde :: Serialize, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct JobDefinition { - pub metadata: runtime_types::tangle_primitives::services::JobMetadata, - pub params: runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::tangle_primitives::services::field::FieldType, - >, - pub result: runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::tangle_primitives::services::field::FieldType, - >, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - serde :: Deserialize, - serde :: Serialize, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct JobMetadata { - pub name: runtime_types::tangle_primitives::services::field::BoundedString, - pub description: ::core::option::Option< - runtime_types::tangle_primitives::services::field::BoundedString, - >, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - serde :: Deserialize, - serde :: Serialize, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum MasterBlueprintServiceManagerRevision { - #[codec(index = 0)] - Latest, - #[codec(index = 1)] - Specific(::core::primitive::u32), - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - serde :: Deserialize, - serde :: Serialize, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct NativeGadget { - pub sources: runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::tangle_primitives::services::GadgetSource, - >, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - serde :: Deserialize, - serde :: Serialize, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum OperatingSystem { - #[codec(index = 0)] - Unknown, - #[codec(index = 1)] - Linux, - #[codec(index = 2)] - Windows, - #[codec(index = 3)] - MacOS, - #[codec(index = 4)] - BSD, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct OperatorPreferences { - pub key: [::core::primitive::u8; 65usize], - pub price_targets: runtime_types::tangle_primitives::services::PriceTargets, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct OperatorProfile { - pub services: - runtime_types::bounded_collections::bounded_btree_set::BoundedBTreeSet< - ::core::primitive::u64, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct JobCallResult<_1> { + pub service_id: ::core::primitive::u64, + pub call_id: ::core::primitive::u64, + pub result: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::tangle_primitives::services::field::Field<_1>, + >, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + serde :: Deserialize, + serde :: Serialize, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct JobDefinition { + pub metadata: runtime_types::tangle_primitives::services::jobs::JobMetadata, + pub params: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::tangle_primitives::services::field::FieldType, >, - pub blueprints: - runtime_types::bounded_collections::bounded_btree_set::BoundedBTreeSet< - ::core::primitive::u64, + pub result: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::tangle_primitives::services::field::FieldType, >, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + serde :: Deserialize, + serde :: Serialize, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct JobMetadata { + pub name: runtime_types::tangle_primitives::services::field::BoundedString, + pub description: ::core::option::Option< + runtime_types::tangle_primitives::services::field::BoundedString, + >, + } } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct PriceTargets { - pub cpu: ::core::primitive::u64, - pub mem: ::core::primitive::u64, - pub storage_hdd: ::core::primitive::u64, - pub storage_ssd: ::core::primitive::u64, - pub storage_nvme: ::core::primitive::u64, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct RpcServicesWithBlueprint<_1, _2, _3> { - pub blueprint_id: ::core::primitive::u64, - pub blueprint: runtime_types::tangle_primitives::services::ServiceBlueprint, - pub services: ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_primitives::services::Service<_1, _2, _3>, - >, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct Service<_1, _2, _3> { - pub id: ::core::primitive::u64, - pub blueprint: ::core::primitive::u64, - pub owner: _1, - pub permitted_callers: - runtime_types::bounded_collections::bounded_vec::BoundedVec<_1>, - pub operators: runtime_types::bounded_collections::bounded_vec::BoundedVec<( - _1, - runtime_types::sp_arithmetic::per_things::Percent, - )>, - pub assets: runtime_types::bounded_collections::bounded_vec::BoundedVec<_3>, - pub ttl: _2, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - serde :: Deserialize, - serde :: Serialize, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct ServiceBlueprint { pub metadata : runtime_types :: tangle_primitives :: services :: ServiceMetadata , pub jobs : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: JobDefinition > , pub registration_params : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: field :: FieldType > , pub request_params : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: field :: FieldType > , pub manager : runtime_types :: tangle_primitives :: services :: BlueprintServiceManager , pub master_manager_revision : runtime_types :: tangle_primitives :: services :: MasterBlueprintServiceManagerRevision , pub gadget : runtime_types :: tangle_primitives :: services :: Gadget , } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - serde :: Deserialize, - serde :: Serialize, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct ServiceMetadata { - pub name: runtime_types::tangle_primitives::services::field::BoundedString, - pub description: ::core::option::Option< - runtime_types::tangle_primitives::services::field::BoundedString, - >, - pub author: ::core::option::Option< - runtime_types::tangle_primitives::services::field::BoundedString, - >, - pub category: ::core::option::Option< - runtime_types::tangle_primitives::services::field::BoundedString, - >, - pub code_repository: ::core::option::Option< - runtime_types::tangle_primitives::services::field::BoundedString, - >, - pub logo: ::core::option::Option< - runtime_types::tangle_primitives::services::field::BoundedString, - >, - pub website: ::core::option::Option< - runtime_types::tangle_primitives::services::field::BoundedString, - >, - pub license: ::core::option::Option< - runtime_types::tangle_primitives::services::field::BoundedString, - >, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct ServiceRequest<_1, _2, _3> { - pub blueprint: ::core::primitive::u64, - pub owner: _1, - pub permitted_callers: - runtime_types::bounded_collections::bounded_vec::BoundedVec<_1>, - pub assets: runtime_types::bounded_collections::bounded_vec::BoundedVec<_3>, - pub ttl: _2, - pub args: runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::tangle_primitives::services::field::Field<_1>, - >, - pub operators_with_approval_state: - runtime_types::bounded_collections::bounded_vec::BoundedVec<( - _1, - runtime_types::tangle_primitives::services::ApprovalState, - )>, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct StagingServicePayment<_0, _1, _2> { - pub request_id: ::core::primitive::u64, - pub refund_to: runtime_types::tangle_primitives::types::Account<_0>, - pub asset: runtime_types::tangle_primitives::services::Asset<_1>, - pub amount: _2, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - serde :: Deserialize, - serde :: Serialize, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct TestFetcher { - pub cargo_package: - runtime_types::tangle_primitives::services::field::BoundedString, - pub cargo_bin: runtime_types::tangle_primitives::services::field::BoundedString, - pub base_path: runtime_types::tangle_primitives::services::field::BoundedString, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum TypeCheckError { - #[codec(index = 0)] - ArgumentTypeMismatch { - index: ::core::primitive::u8, - expected: runtime_types::tangle_primitives::services::field::FieldType, - actual: runtime_types::tangle_primitives::services::field::FieldType, - }, - #[codec(index = 1)] - NotEnoughArguments { - expected: ::core::primitive::u8, - actual: ::core::primitive::u8, - }, - #[codec(index = 2)] - ResultTypeMismatch { - index: ::core::primitive::u8, - expected: runtime_types::tangle_primitives::services::field::FieldType, - actual: runtime_types::tangle_primitives::services::field::FieldType, - }, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - serde :: Deserialize, - serde :: Serialize, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct WasmGadget { - pub runtime: runtime_types::tangle_primitives::services::WasmRuntime, - pub sources: runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::tangle_primitives::services::GadgetSource, - >, + pub mod service { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + serde :: Deserialize, + serde :: Serialize, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum BlueprintServiceManager { + #[codec(index = 0)] + Evm(::subxt_core::utils::H160), + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + serde :: Deserialize, + serde :: Serialize, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum MasterBlueprintServiceManagerRevision { + #[codec(index = 0)] + Latest, + #[codec(index = 1)] + Specific(::core::primitive::u32), + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct RpcServicesWithBlueprint<_1, _2, _3> { + pub blueprint_id: ::core::primitive::u64, + pub blueprint: + runtime_types::tangle_primitives::services::service::ServiceBlueprint, + pub services: ::subxt_core::alloc::vec::Vec< + runtime_types::tangle_primitives::services::service::Service< + _1, + _2, + _3, + >, + >, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct Service < _1 , _2 , _3 > { pub id : :: core :: primitive :: u64 , pub blueprint : :: core :: primitive :: u64 , pub owner : _1 , pub operator_security_commitments : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < (_1 , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: types :: AssetSecurityCommitment < _3 > > ,) > , pub security_requirements : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: types :: AssetSecurityRequirement < _3 > > , pub permitted_callers : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < _1 > , pub ttl : _2 , pub membership_model : runtime_types :: tangle_primitives :: services :: types :: MembershipModel , } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + serde :: Deserialize, + serde :: Serialize, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct ServiceBlueprint { pub metadata : runtime_types :: tangle_primitives :: services :: service :: ServiceMetadata , pub jobs : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: jobs :: JobDefinition > , pub registration_params : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: field :: FieldType > , pub request_params : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: field :: FieldType > , pub manager : runtime_types :: tangle_primitives :: services :: service :: BlueprintServiceManager , pub master_manager_revision : runtime_types :: tangle_primitives :: services :: service :: MasterBlueprintServiceManagerRevision , pub gadget : runtime_types :: tangle_primitives :: services :: gadget :: Gadget , pub supported_membership_models : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: types :: MembershipModelType > , } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + serde :: Deserialize, + serde :: Serialize, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct ServiceMetadata { + pub name: runtime_types::tangle_primitives::services::field::BoundedString, + pub description: ::core::option::Option< + runtime_types::tangle_primitives::services::field::BoundedString, + >, + pub author: ::core::option::Option< + runtime_types::tangle_primitives::services::field::BoundedString, + >, + pub category: ::core::option::Option< + runtime_types::tangle_primitives::services::field::BoundedString, + >, + pub code_repository: ::core::option::Option< + runtime_types::tangle_primitives::services::field::BoundedString, + >, + pub logo: ::core::option::Option< + runtime_types::tangle_primitives::services::field::BoundedString, + >, + pub website: ::core::option::Option< + runtime_types::tangle_primitives::services::field::BoundedString, + >, + pub license: ::core::option::Option< + runtime_types::tangle_primitives::services::field::BoundedString, + >, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct ServiceRequest < _1 , _2 , _3 > { pub blueprint : :: core :: primitive :: u64 , pub owner : _1 , pub security_requirements : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: types :: AssetSecurityRequirement < _3 > > , pub ttl : _2 , pub args : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: field :: Field < _1 > > , pub permitted_callers : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < _1 > , pub operators_with_approval_state : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < (_1 , runtime_types :: tangle_primitives :: services :: types :: ApprovalState < _3 > ,) > , pub membership_model : runtime_types :: tangle_primitives :: services :: types :: MembershipModel , } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct StagingServicePayment<_0, _1, _2> { + pub request_id: ::core::primitive::u64, + pub refund_to: runtime_types::tangle_primitives::types::Account<_0>, + pub asset: runtime_types::tangle_primitives::services::types::Asset<_1>, + pub amount: _2, + } } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - serde :: Deserialize, - serde :: Serialize, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum WasmRuntime { - #[codec(index = 0)] - Wasmtime, - #[codec(index = 1)] - Wasmer, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum ApprovalState<_0> { + # [codec (index = 0)] Pending , # [codec (index = 1)] Approved { security_commitments : :: subxt_core :: alloc :: vec :: Vec < runtime_types :: tangle_primitives :: services :: types :: AssetSecurityCommitment < _0 > > , } , # [codec (index = 2)] Rejected , } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum Asset<_0> { + #[codec(index = 0)] + Custom(_0), + #[codec(index = 1)] + Erc20(::subxt_core::utils::H160), + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct AssetSecurityCommitment<_0> { + pub asset: runtime_types::tangle_primitives::services::types::Asset<_0>, + pub exposure_percent: runtime_types::sp_arithmetic::per_things::Percent, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct AssetSecurityRequirement<_0> { + pub asset: runtime_types::tangle_primitives::services::types::Asset<_0>, + pub min_exposure_percent: runtime_types::sp_arithmetic::per_things::Percent, + pub max_exposure_percent: runtime_types::sp_arithmetic::per_things::Percent, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum MembershipModel { + #[codec(index = 0)] + Fixed { min_operators: ::core::primitive::u32 }, + #[codec(index = 1)] + Dynamic { + min_operators: ::core::primitive::u32, + max_operators: ::core::option::Option<::core::primitive::u32>, + }, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + serde :: Deserialize, + serde :: Serialize, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum MembershipModelType { + #[codec(index = 0)] + Fixed, + #[codec(index = 1)] + Dynamic, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct OperatorPreferences { + pub key: [::core::primitive::u8; 65usize], + pub price_targets: + runtime_types::tangle_primitives::services::types::PriceTargets, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct OperatorProfile { + pub services: + runtime_types::bounded_collections::bounded_btree_set::BoundedBTreeSet< + ::core::primitive::u64, + >, + pub blueprints: + runtime_types::bounded_collections::bounded_btree_set::BoundedBTreeSet< + ::core::primitive::u64, + >, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct PriceTargets { + pub cpu: ::core::primitive::u64, + pub mem: ::core::primitive::u64, + pub storage_hdd: ::core::primitive::u64, + pub storage_ssd: ::core::primitive::u64, + pub storage_nvme: ::core::primitive::u64, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum TypeCheckError { + #[codec(index = 0)] + ArgumentTypeMismatch { + index: ::core::primitive::u8, + expected: runtime_types::tangle_primitives::services::field::FieldType, + actual: runtime_types::tangle_primitives::services::field::FieldType, + }, + #[codec(index = 1)] + NotEnoughArguments { + expected: ::core::primitive::u8, + actual: ::core::primitive::u8, + }, + #[codec(index = 2)] + ResultTypeMismatch { + index: ::core::primitive::u8, + expected: runtime_types::tangle_primitives::services::field::FieldType, + actual: runtime_types::tangle_primitives::services::field::FieldType, + }, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct UnappliedSlash<_0> { + pub era: ::core::primitive::u32, + pub blueprint_id: ::core::primitive::u64, + pub service_id: ::core::primitive::u64, + pub operator: _0, + pub slash_percent: runtime_types::sp_arithmetic::per_things::Percent, + } } } pub mod types { @@ -68275,7 +71148,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct LockInfo<_0, _1> { @@ -68295,7 +71167,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum LockMultiplier { @@ -68320,7 +71191,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Account<_0> { @@ -68346,7 +71216,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SessionKeys { @@ -68366,7 +71235,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct MaxDelegations; @@ -68381,7 +71249,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct MaxDelegatorBlueprints; @@ -68396,7 +71263,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct MaxOperatorBlueprints; @@ -68411,7 +71277,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct MaxUnstakeRequests; @@ -68426,7 +71291,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct MaxWithdrawRequests; @@ -68441,7 +71305,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct NposSolution16 { @@ -68611,7 +71474,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum OriginCaller { @@ -68627,8 +71489,6 @@ pub mod api { ), #[codec(index = 33)] Ethereum(runtime_types::pallet_ethereum::RawOrigin), - #[codec(index = 3)] - Void(runtime_types::sp_core::Void), } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -68641,7 +71501,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ProxyType { @@ -68665,7 +71524,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Runtime; @@ -68680,7 +71538,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum RuntimeCall { @@ -68692,6 +71549,8 @@ pub mod api { Sudo(runtime_types::pallet_sudo::pallet::Call), #[codec(index = 5)] Assets(runtime_types::pallet_assets::pallet::Call), + #[codec(index = 54)] + PoolAssets(runtime_types::pallet_assets::pallet::Call), #[codec(index = 6)] Balances(runtime_types::pallet_balances::pallet::Call), #[codec(index = 9)] @@ -68774,7 +71633,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum RuntimeError { @@ -68784,6 +71642,8 @@ pub mod api { Sudo(runtime_types::pallet_sudo::pallet::Error), #[codec(index = 5)] Assets(runtime_types::pallet_assets::pallet::Error), + #[codec(index = 54)] + PoolAssets(runtime_types::pallet_assets::pallet::Error), #[codec(index = 6)] Balances(runtime_types::pallet_balances::pallet::Error), #[codec(index = 9)] @@ -68862,7 +71722,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum RuntimeEvent { @@ -68872,6 +71731,8 @@ pub mod api { Sudo(runtime_types::pallet_sudo::pallet::Event), #[codec(index = 5)] Assets(runtime_types::pallet_assets::pallet::Event), + #[codec(index = 54)] + PoolAssets(runtime_types::pallet_assets::pallet::Event), #[codec(index = 6)] Balances(runtime_types::pallet_balances::pallet::Event), #[codec(index = 7)] @@ -68952,7 +71813,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum RuntimeFreezeReason { @@ -68972,7 +71832,6 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum RuntimeHoldReason { From 64e1850ad24177ce71e53d58ba84bd08276e1b52 Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Tue, 25 Feb 2025 20:01:34 +0530 Subject: [PATCH 03/30] clippy --- node/tests/evm_restaking.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/node/tests/evm_restaking.rs b/node/tests/evm_restaking.rs index 00956e290..1c57c5ebb 100644 --- a/node/tests/evm_restaking.rs +++ b/node/tests/evm_restaking.rs @@ -1010,4 +1010,4 @@ fn mad_rewards() { anyhow::Ok(()) }); -} \ No newline at end of file +} From 2f217918f198fc47bb0e6b47d0c65407db7ba29b Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Thu, 27 Feb 2025 01:00:36 +0530 Subject: [PATCH 04/30] fix : update e2e tests --- tangle-subxt/README.md | 4 +- .../metadata/tangle-testnet-runtime.scale | Bin 395465 -> 429775 bytes tangle-subxt/src/tangle_testnet_runtime.rs | 1182 ++++++++++++++++- 3 files changed, 1181 insertions(+), 5 deletions(-) diff --git a/tangle-subxt/README.md b/tangle-subxt/README.md index 83141e711..f5a970abe 100644 --- a/tangle-subxt/README.md +++ b/tangle-subxt/README.md @@ -33,8 +33,8 @@ subxt codegen --file metadata/tangle-testnet-runtime.scale \ --derive Eq \ --derive PartialEq \ --attributes-for-type tangle_primitives::services::field::Field='#[codec(dumb_trait_bound)]' \ - --derive-for-type tangle_primitives::services::ServiceBlueprint=serde::Serialize,recursive \ - --derive-for-type tangle_primitives::services::ServiceBlueprint=serde::Deserialize,recursive | rustfmt --edition=2021 --emit=stdout > src/tangle_testnet_runtime.rs + --derive-for-type tangle_primitives::services::service::ServiceBlueprint=serde::Serialize,recursive \ + --derive-for-type tangle_primitives::services::service::ServiceBlueprint=serde::Deserialize,recursive | rustfmt --edition=2021 --emit=stdout > src/tangle_testnet_runtime.rs ``` ### Local Testing diff --git a/tangle-subxt/metadata/tangle-testnet-runtime.scale b/tangle-subxt/metadata/tangle-testnet-runtime.scale index 3fc348df1ac9c93e62fc537eb461fd078b736857..9082edd3873e095b4f7f51b511a72b8dfb713c4f 100644 GIT binary patch delta 38007 zcmeFaeSB2K^*?^+;U>FzfP_44o?rtBB#=M?2_#5>00E+e=YXg@EXhI^l5CPqfT$R- zVx@u*uP~(=g;rXrqR>dMR8gs-qGF*Hg(?bFtW;33(t;KJz31M$$tJ;m{QSP(KfkZn zCil+FnVBdAzL{Jv7 zYeB*NNw}63oJ}IN1;KeVhKN0fd4l#-a3YD<-U!a8$wW9`=Sf&Uu_vkK!&Y@#*jy~cLqJ%^HD{ik13BS3b#Fx ztvsP^&nzH&#G;cR!<2>gwr?|M5bd?RsJ2Cemk{zy+p9yu8F@}SKJDc}6>&*9f>V!^e^rwKc;h;s2Q7aoUH&!^z9y%zMnCsUvP8ueB{2 z@dzhx{%%w=0ln80PO!aA&d+g|k4o1TPVC?IRbh%6@is6#p`4HyDh}oSFs-O0O`AME zlbmjA9RDvuPHR=g@#N#SyNi>k?NhSI7>D9wGmQ#Yh^@ifDM~vv$%PzaOZsc>$y3S4 z+S8NoC7&WZot)QNN|Np8Wj)Sp06^x=Km#NszqlG0XD8OKPP zh)m@Dv`3a#qr&j2pO7rArRvutM>reku(svZy9i0qHhUAaA>JW0jfjCsynjdraNxGf zijsw-smS=DH!UNFaL2UT29LLf^VuYi5L?7lZ;e|~l!#g0YByK%kPE*&qqs@6Wf;q? zwQrI_t);#{DbiZ%<^;UQYH9V$1H#eToAt$=!lk~7PT>o_C7r^X8n$-|FK;XjDKrqz zj!=rUKQ^Y(Vj|ujimAp{9LHojxgv*@YN0DHgp~q}MF4Y~GDG95Mv*eDXw_olze9U& z)$H&xqnvqU9#Q5Iab^=4hY7f-X%ca1k2O6=+}ea&@5B3FZk-tA1}OCq1wT2~s)!j zy61W0|4eQ5`qjqU3~kEKrr>Sc&t}mUBEGyHG_u_r*JBGI5tDOMLT(KV!}2;oHsY-U*{Z}Jzr6_0bLet5V2M3u_0r@4ni`ES9uy{HI|pV-4#fQ zF0QZl)^lYiA*nLO2x5#lW`f<DxTC$ZSOuXo*=M$ zYo<17tJ`?1py!DAehznNgG8b20%}&da#5=lLrG=Zuf$0f9Br(cmo)NFjP~GzX=JW; z@WJ5$v11W)??cJj!iNSKZ}$hJ#b~2idnZ;*a96pPx*ELoWpce8@z3a#uua zb?LF%hSr3@JmP2?b3~Ddm6h(A2$DY2+gMXkQd8kxrM=%eEOt@X!irb9%Nw<059M|% zLmTsOPWQ^k%f%i7MMcClE8mlWb?lc97m;Xf@2?WbJzAfqV!{`@-8D{MmCFab2WvSm z#c2zksx9cn8;WY2(`w!IvTaTXGtN$cW7|=kWoC7d)Cx%oZSS-w%73`%#DJzm$MZ$A zE8R|`7f`;ZW~m<&t#!{_H3~>LHSZ${j=}j;z15x?SA)C4sIPNvcgco?1>z^$H{j>8 zY_GowsKi_DktH}+dKxO7;8SL0vdxs=qAhwVPJ4LIoLSNQxguwK^9J~wHU6qGm(auA ziIG{nqS~D4pgf6KQtz$qm_t}|w`jk8B$LEw?>;i1*A%NESZ=I3w1YYE7$-TSWBKhx z{>qTtQIA1biFsv5=B~rd-{V93b{||y9DgyeWbLVk6Z-o619fmkw^EI9*WgF2r$bW2 zq5=>zvb*Kb1WJRu<7AD(_U!T9YERX^d!!G$L?T2^6-(sN4NbLL!S-R{9aK}4D{Xgf zA4ADi?T^2#Bz94EBOBB<=U0ysqPG3#(F{Tg#M+50S{wP;cApfrvdB0&C*2j2 z-xW!LdzJ+`vjcF{?2#jlw33R^na)zzDkI>V?yjHZuFsb>Oj{B%YWC>S{Inc`RUTi1 z)4RkP=Kh+Ufi*jqcl!1mh!?|*Skg&#_;aISv zOU#%U?Lb>UY>Upc^@~fUB+N5BSFtOOSq=4IdR$4N>7JoQ_4TeMu4GX1 z^42<@88yput9!H(rbJA^Na~2!K6*Nm2j&c;5Ns3n-O(o!7^`+AMm|E6c=-rblI0@| zRhjLRtw^M4RIFXWV&qdwgEYf>MjCFCZ-kg>zeq zBvT$uaocUt`os2-m9a5Is5urlJ&6V*~Sx*L#MP$R-p~rPOSLbB5IhY)aax zG6OJ>kIN{2l7`uF^DL&rQQ7 zSc(SmkEd8jTZn!_r5@Vmu8h6LPO4gqIQVN)CyIW?RT!2jJq7pYc@f%1Z-j zwecRWjedEIxrrKBM*}xejhGQ#Hc^eh1rk_ed(Kep;>%^ENt<-2A4%7iAIc_%9A-#J z+TlYBVlR^^zS@QL;8~t(_sEf89E&|wRoduRu4<=W3$ma~_c9x_2j#D>AZtaRHa198 zUz_89{po89O)%}-*9K$TFz9f#6@K#Y>X6F@Gcw8?{(8TJu|>5_z{;)7cs&Ey{r2^I z>|{QAeSBb@Id2sAT1QEyx%C{?I1CyaWu11<8)*aAcOvG-?!??^5_2OJ&oAI9+T}MU zLtj$#W|@79>~U-sw`q^OIRbl}ci-$w_G;g}+1u8Nl%NP~H=IXq!B(O9WNe#uXze{G{O%?nwrt|Zay)q(S*{41KPOSEi;}fyf$a$wf-A}bA!yVe$ zcVqGoP|Qe2jkmtqRds+8K3gG~=2`_pv`3{@yJ|pGZ+(*qgWbsU@643@jdzoc|53fM z9{R96yDJV-l5Y`ZuG_P;vH^5Cs4aRojT|!2c<9||XoU8@n?Miy(U^?A#^4j9$T4mC ziGjWM5|TU995yC@RY+gDw7hdp-qap{ zt~X!p4-ETb@uag>=S!@u?CyHO<&xB-sth=9ps`> z%K0yys8g0#b+Hd`RjsCccCioLr{4eh0&Uq>PI|z2`^Q&_{H#iL7-hQunanS#pq#AW zZ~si;SNvJazfR{@Rcu#f%4c5>;A)W3L$_%4ml8>icHgCYctH^Kk}`e8zcT5JAXyLn zcOuOR*82Q=6`vPuVe#*O$Iweu`!Fh2OTC-`MmrWW2-~6xtX}4LX;LTtD>bgI@%!hA2^pu~Ku9q42bM7c-J4N(oW4gT8!a$Lc;;evjeCg) zo1yw9vp#V&iUgB7{jOm0wjWGPFC^Tm*PkxzFKo+;&+#is7QPJdwliQ@jEJ{v^rT}U6B zN%GoBW~LjYxqAqC*^gV`C<<}cF6MKe{ur76dFpRwAZ=(M4a5B-K zQSX;ee%c;*set^>9|-Kl$FCzBt`%QhNd9oG`1xZi5gsWLc4+d9EfC2A@32YvX%>RGCiBxnV311Os3&XJT#T$lVp)Um-NxU zo=R{mWJS_srVpJ?{!VBL(-UWs+l`cMv&fJ|k<3<7L1LH^K_Ia&aYM0FAHxVDp~d!9 zc^l#xiI|0_Lb8{5>U|9hE8Q-@L^9%-Y`j5r0ELUUrlNa_63MiqG)5H8CJ)mXCQi*J z!)ZJdF=ZqTIEhhZWCGbM)|Qc6U?#r&6H63-E+c(t8WX$!%#wO%Fp^zVRpnhNm73lL zpWGj%K~v9d+1W~l$eKeMNtXE495MyRT3^l~lgK)PX5clxEGcq?5XJzKxLlMIqnNqvIM#-X5S+D-10dy6%NeZ`{+`{R4CQ{C0F1inp?66ko;;{9WimHub z#{qI9Cd4-fNC9(kB5GeJ@%psq$zF7&AP2!>Jo>qVrqHqhtzS!yWRy9hEz!pZJPb1MjIRrl@xy4oPav48Mh7n&cmCg|+D#{jS z>jwkUm0PGw9 zb_5K?1CT)1G%GZcEBF}@F%lw1LfFkBWPj0QuHa_?q)31i2@qle$S$NA&>vd>SrQ;i z0)(0XvRi2$3?3|i0trwc0m3A}Ql`khrbS%A�qVLKI7gaI*;6|Fo1V_!$5*B)|*_ z(8C0fV}j1(3VsH_d0)}(p;CL^uld zMWVrHw692iJpS+%xXyZU>MOKlqhS98<6p05{geF8PA==Gza?!!yoHmmMe7w7ukT?L zb7qTpSj7<723s32K^mohpwgFUM3bb`6{@V3&j@9$B+E3^K_#yJFHq`FU9Jyhd}&E%mHHtlj((97K*TezVt7kdhLaCkw0rhJRY520xTw{_~^ zR^F|LTY)ROxYaBtW(PM9EOtU|>p!sAA>It3Iq7wsELL!ghEe1!u6G#+?~1ZhHhKqF zc8Ro5I*jbr=Y`Tw7}+hx_N00C7)D+mHO{rzEnetJ2a6|qQX6?f?CVL#5tq2!la8c& zxfW685K|&(KMbPU2KI`f3YlvW|Dm(@@G6*e>#S4vLi47 z@*v&MwVpRS#82cqV9(5r)nDvGw+hb1sj-o0M{}X_7;aS=@19Vktt6- z8=6dt5dUHtmIc8TB@E6+o34R_es?yVCXqA&^nVYfT0roLJbFfLPYp!vEqD zNDpyoH0BhsB`_$f)3ZzHMM4jAaqu>lsE@vZ*0k?kUYSZG0dZm~EwD5*@%o@S^eN0w z;oQJttxCl74J^d}KIA5h15t8ZICaipE1 zk6uJ?r}T(5={Ia;5mq3T924Q?v^O4^<#YfZv&(5ZIj*lRr$-4nDYm;QWYuk~r~iHF zHWp4!>WKfiU6y^sLshHs3Hpm3`Zyt{^s42QQOl4{*Q)7!81?BFYcPNeW4b|lL9Lt! zIXX=0qCsjySyb9cZPa?NSxNUX6sxs(e{?t8^a)-p$4fK6- zLHIV(;f57nym)CNU1J*LiCgZY&(n)sb2Y__yiFM8m&DvnbP$HvPc~u7UJ`Yi>2`XB zYj5A$Ulg>^9`SN3<*V<$mAWbxwa`&!uZVpuI2a+SzUF?4?ag}qQ;i;yv+Ll)G|HYN z&p(%7Bd))`6_T(Ot%eyaxa) zrG^Pb%kLkdZ}^AD$2({byc;7w*f1IkSM{hz(auL^t?ZpK71FQ zVU0Yo{kQZ6E2B^!r+vs4J?(MYDt84hJwczqj-qxq4Uxgyo}@p)G83H232t}A7U?PoIBh3&{DM4BFcryfK+z2I@At2*HDA5c7 znQDZR%uqhhRO%2+HiIBdBSO86&@dp=gis$d1Y}l=kA6pQGfF9wA1YV?-e zrPz$VGWH`jqj!vbh0W+2V+Ua~ddAo**o>|)WPY2`4Tf}YGy1@g<84L<7!te9pgs$4 zHtLYHH>7ZzL3l&nwi$G0kp_SyGV5i$N&>Se<5kj=#Tc)Wm@L+Km6T+0#;YVFa~Q9Z zhAiHAl>}r7#%p!6d`~pqCFxj_@ha)Yl8skMG}haAT`gbx7_V#bO6{t$P7Rdxq5kh` zTObDje(NRtMpeO2O8eoe(xQfqg5iUBc_i;8UVoad&e+nqEVX-C$c(bKiQ0WMgA|Kj z>;v;F76g~b=oQ>_!wuV0V?pmn&s{Y)?Y(m^_qgzS)wyhxRus-YxE z$evd3S?Z~g=g01P7-Tzq)(P@1aq~+w3u5g0m*`CBA>V%qN=apxDo^f(?`6oZyT$Kc z#$vQrj5tK|IxM(A`+cgm`KJzX{~?-dDOdteu=Su<=xKswZQ4-5{zkL&52(`I+acDy zhyFS!9(xbc;X%>&eVT)1c=r2PbdHM^@6*1CXH@7%OQz@Ko21{p!q%L*&78;ggUE-=du)OPtbC_iu7S2-;o{os`KcMlUsXo7|^N4Vr zf(&|C+;$54i!I`*Q}C5JA`YFRL)kHvh_N5gI1!0|5biQQpasCR`~zD2e+Q8?h=qGj z)9dUf<-j?mDyM|!Lpl^_JoF)rk2uuHv|BkN4t+?Afn4ZmknxBZe457h?`Wt&kpH>y z{yHIGoj+~V)#nVY?A2l2=`gqRTg0|A=$Iqo*)tG(%u3_WsU+K4No6m{RkX$nv*vSR z^T+T6xgf^=jjjXw-+TnQ_w?Ur(EpG83F7XLsLw0}cIyA@`V+)!AJfWF=Q@o|kf|$U zI%1B^3&xyPm5X?C+ZF>AnAsX&XYITcTTtq6TT+`+JL5KBW$74-(`Yb%+C>(_kymmxc%F zY3Cqnl2hX2&u9US4-$ROLwwHAH=d`l^anHj<8%57L#Dl7VZ5FauYN^miqmam;K!<=xarkQ*6@jB5(|bc&dLpZ=M7j(J`z0Ea50N>wqYNd!6RycY-MTCp zR7Fk6;-H7+%t#3`#j>=Z4zVl+5IoG`$X3#14EfWbT&A0^5$*eiLMdZ- zLBM*@BOMDa=oh}F9{*lf77>4rkZhO$Pp|i`YMKqZODU%spj#ebaE#gaGE4Qti-&C3 zEhlq^(PIkoW=updtM}Kh1Lj$OASj~V?W(dsJGDoLl~hkUFs~D>fJ)anbIu$r1wmS! z=r5e%*mEz^2Zgi7Ffu{xh-dv~d_2zZ6u^OAm8Zt-tagKo8|K}98)>Jn(%V>70h9Fx zcojHZi>utu1}|Q3kv7*bIe|I2G~1K*X0QVGiDQxM8U5A-<{|;!2{DE#Vh@t(UQxZ! zRZ#)^G+&``Cb1O5lrTZulEgN~+&<8`$R+K>7df+>hE=E2TO(}A>~GzQ5-Gje`j|D> z%y76j`;-*wzw5(p?T&*ePhl-Fk6trlRA2UD_nJcbu^3XMJNse8*f;ny>LXIGQT!?U zJ?#Md`?C|YQ*rPaId5;TT0Az89gmsfw;x&9;S>-Cmy3AqbZV&PoYq5_^$XNLa%8Vj zk4-S0WZZ$i6b;_xZrN{Mr>myjOJlH-+0R*2zqHXXYZu4%GH3H+z|P;ZlE~5u(;t@E z{m9_`P1%rYsmd~X!+4XXniiVU3!uGLf3^aGOp9@NWbET$UT+=E$P!>a=(?f7y|l?1 zE=CfZR904c$}3?2YGpE7vC><=-0&<>oc*9(gnyXtX_P$G+hDccTfay=mCllzUo)dE zuM0%Wkz-otJEfydjkg=Z-y#bff*Y4evn`mjJ*Du;iJ zY$O~NBr45tSHjVguXt5CyxH6pvXHsPd~q8wPN)bx)s59oh?Med+D~Aa=Tj6j4K8j= zkTTQbTW+8ZKZ;6tKYPlZ&;lDt&I&kJfKCB6vA#V<6L3tI@2M#2+DE=xce!VY2bFnz z&RgB}-YUO)O27~k8`D^-_ThsL5!#PM<8)dMugOvQr)OENEIv7u8cjbe!@UAi-RQZF zVH((&YYnz1fTe$M$;NdZZ2r=vkB{ufA3NHtd@28Bu*s@~D~m{?-&z5W=K?8E=K_)Vxff& zm&|9T5}i$m>AD0?<8u0kP(?e|7W@C-jfrWJtNgbyVd2$YiyRyOQ)i`oY;@K*Se8t| zx?<7F>MM9Jl~;?L%FzcUXQaOm=0Wg`WOD7#Fw5 zf$=4({{iL`811wS77gl}9fLtrQEvDo{!phu)=T|XxFT3|zSWoQt&uDAHHWM38WVT! z`Ty2QD=WR2PhBg(a5jbi-XL={wdikk(3xxXJWP~be0APouyLL%vNTIr?Xiel7>m#<0V&nCMBDN0> zdiv3EY#Hm3PSU05CWN^1+JslmU|6>|+sXa1+ ziLEgo#&&SD^O+s3uPbApQDWEO(fKWn=*ZQvIuGjZ1?(OY;XnGf zHY=_A)rAbZ;VpXZVzz=bXD{=@X4)FLHj?R)ix8&3LQh3D32TJA9r-`+%AWk^*P|M_ zwwPN7r@xw8;N2N0$mUkLUFc>Dj9&|%2>#F%33QFpx)f%p23T2;>9_||HnVckqk_eT zISHuW;DUFJYo5riU`a6hDy?8Qz_{U91xt^}m)(MOcww!p-c{{0VzYTm5V=K+b+b5; z5FFu&; z3GkflGMD5oGt+7KnU)P3I%?=>*dxxfnv>>l&Zt>tvr4Vja6Vp9oFqbe?aUXay})(R zQr1(PaI+q;$2z)%W!oHZ_N{~{VuZxBCCqN6i1kZYg!LX2QRQ9gHDL11s2p1r_I))z zw_9xXuxvKp!o~23#JPT59Zr2+1~V2BFS1@4?oPYb`Q3N;^UWQ;$H)^`ZK(}525|6d zs}3Hq%)3~$R5EE^ySI`hSRG|^V1wCM)nIhc09dMYf-my0cybLYNc2&FR93__S+%YY zsI@7eWkF)#G8Tr#W5hC65eDaexebt)QZ$J@%UEi16Ld1;ysJh{^th`kWS5P`IgaIX z+9WP6W63es0KpkYzvXNyS#6T5PYtsTT^E4CT2KZSE*& zg{0j-6s(~cQN`>%+qH(!OK<54*fD4avTau4NNe;u%%LlX5zJBMx_qz#Y7HW}@~vZ3 z<3Px-b&3oYXRDYqIVPA)##n8DN3^@X0}>kIR;!9&s|rzA%@PuJ1d&WxsO4S-b2`(> z#kW(`RkM7yqie2Lt66`j|BX)DWp!G3aEFFzSJwlB1jLvx@9z z6`4B;JG#cjRt94pMv!P+_2RDIFDGIaH0wQT*&u#6h}62E)#OC##3L>MX!Lb|*Xw6d7p$;pMWFu$9lPlRkG2F+Z*~zX%uJkbv zJJmJz3m+TL&RDT#bIzL0Ior{k&~tJm9}iM4bj^Ogfu%v0x3-Zv#e1)+J;c~XX6ILe zaBr1#_ZB~IWIcqpkwtRYzwT*|OJEl}RS8=F$&xO0RLQP%0=Q}dTnzvq!GVt6YOvwx zjpOj5*I16h)tKFaXdliSRzkUD5GmJu3=%z7fu{yA9@zPX!)B503Q{7i?5X}YIK9Mw`3Ek}} zmzvxZiEVPQl4ccQ`I>hX_u8{_k}JKh{2M->-zvAgP}{Wu5DU|a_H66Axb^~*3}6yu z3sJJ2`CU3 zB^J%53HmGR*nfVc{ZWuH3kpQtdPwYVZD3K*5#s&HADP{#^crQz@-p=v8`&QzDbQip zbd|tT`cExv2gjDCZY#ub4 zZ00HM$OBTK&H;vb6e%^|rDYVEVZ5jQ2;0drGncf7BJ;$GJ*=-IDYv}J<*CMXCM#X_ z6+Z62J3wA-Bo6IidC^lk0W37`>Cz6S#RY16`_t6B#>;Xb%NykwdwCc13RpO>6EtoR zQ8tJfkCSN8`wX$g$U{zC0;6P3m(ryh3M=2pM@2+DaZESr3oPi-Ea=M&RryFmuV%bU zrBXLY<>_J^u=<>fW}0XiIBCxB6T~-rSZ){h|H##tYQ_#ls=mB63KL8AvftXPu!AtF z(35`0D1kwcydQvY{f0Ki373xl`f(j+5@PZ1*;s$Fs{iTtfNoDNrC}Wx1t>vc$RC(9 zaYCbUMZiK=ZPP;Y8i3B11&j#hN6lLV%q?}-I|HEIGfyD8TpVDY0nQg&|G=ste@adr zoojMK9MrbkwYv3^XW1yy%M)xhd=~EdYQ$As9wDA%6GN&o=(r6g8Fd1HNrD|Z! zB-he1Ti^r|r_1MsHqLi|je!)|c7RPHP2xWX*xu09vWzfk*0EOT&$B961E;=#?f!bP z>;-V6^xq+wgd!l+zO~zvH2C28oSM6@;d^U z{I=kh3l8zOS0L-05#PVU2KQ_YCP_059MQN|B*%$aud=@O9YBt53s!a-^~Ub93fmn} z*e;{6Q?Ifs6A&`i zmV`IhK>JBq`{7{alwSGEde&{ z$+oae>%x`AE^PKj@F;!UU)Te1QM8E@Z?i2l%_h9ZSvk$HiMNll{*n7QNwusVq_ZBP zQFx3oSE3&?D|obn0c6?q8{dKUBrFGn&hLkn$Ywjx_czCr^$ z!VUSq2(J|3Vi{#?;SMMyPrt`tiTWN($1Zundl*xtV#RyRBUh>S*my*yz7GcK7SrEH z+B2f^eU=q7!-m}jPKugfByZd`3+%Cy$&y}rpIuMNM2}N!A(p9{Q`jWB#i9=&@Oi|V z4_LpgAF%Psb&RBAvxRe5gLjim>pTIB+!qMlpUyKI)_=a$Fjqjs<{PbucusN2W+CJ@ zQHcAHjinx&ylqv~e#pkfRvUnB_KZ?zyk)n*fX@cUzC`__523N5O=d0EV!Nxw&(1P$ z0-P1{4dtKzLM^C9AXhc{3PjW=Yye$rgJ)fme&Z+X5lYvY#U-zWFCz%8tPenXy~K4b zQ#Oi;=b)r*(d*8!OlsdEqqo^$g62FA=KaUd*nC)=;e8y`rsd~Z0o`GP|68j5$MdW= zhwyynOE!<}64za1IpkweeUZh-o+hJ;t#eGMC85T1E6Oetm6&R4;(7u+C3cH57uodi zy*BVi!`ZCfw_l9@iuF#pMr##-$x)ZR&!+4%3pLz0VgcK}M(vla0N?==V8B7E*A4{` z;Gj{?$GFz?kc39?ut@nQTg11(h*cxEM`^bA`{gXLh zBm>}dp^e~?dcUt(FfIlWgDzvB)(P)r=1A_Y_f2iAkvIBaTi7Zdy^Ps%TwJ}(2GZju zlF<=nC#?>k%t=vwg-NfCUtD2}VE*!-D{NFEW^4PsJ;QS`;?KyI*l_deSuyh)HlkN& zmlJtOs(A1lmLGb~XmJFrUN49bzF}ixIspb=o{CLl`G43%o77DIMD}woA5}Icu_y@c zJO3Ppm-mJ6Bs?Au;j>A})=-|@^9(NQGHk5#VeV6Ehx1K>z+?;8XNB^C3}W;hJ@}L0 zJ6Sz>298MP_T;?@oo7@vj?TBk)5e1TTLgcLLd@D5#h(Iaaz*pOcp&5uk45uS)MJN_ zj8i=L5Vz}lVt4|9C#}nY)Q@8MdJHn-eO(;C9-5e@vZNrOC_5wyJHgEiQbi`CB7;;1z}bwb_})AYI^$*Cbx)Zo5gneb=DgzH3l#w;kl$FUcqW(F1k`KS@3$9Mqfp@T_2RNZ;L` zKd-`&6yX%HF_Y``usL=Mk685`w|DS9#0A_aeazmCG{;Z{+I&p3WpTNnewc+Zx>J0Y z#p7Yt;26w@BXZhc?%-!RguG3wX+Lq_U>=&ZQzg06rKxX&&$Rnhl;aZZBX;Ga*f*G0 z&{KBp;o3xf_z->z0R^>eK9igfpJej_2z<^QK5XPQG!th#A$+16z9$TH&xwsWycBB1 z_j34X@TY{KJb&UfO1oeXP`OLF*s0hH-RU49L5EA`PYdqep*xbsuIlgCH)#Ld&T zj(ZzCqR((1*9U8i!IfsZjiU(MZLARZw{lx4$;V}fqHH+-Ge&LE3~uf;db=$7EIg#6 zgTj%6x`+}P0_U4V@!$x)CM?D%B|anr7bc45M`D_f$>({!hzdXM^mYdqUvh}JJD=YY zMPQ~{QUOyOTq0Uhv&1V+22p9wyp#}g0Hy`hmtvG1(V{A8vStJ`LIQ`#+V0b0tvM~S zjGT^~5NL~J@!kC;^Njey0;}4hfNBvJFb)ety7g-zN=H3~W_zz6$(P%UB!UGYO0kT~ z3oi+g5`kfOw5nw5bvzB~3j+_SI1Vi}u)|%>GeV4ey!8#&@vSO&Z@(g56Ee?Ch1-RA zu!zs$8wt5l^WGC9LdIbn-E>NFM8!7>e7tg`##6j}{9i@knC4$5+&aU>AU8Yl?R%1haG;{rKb_ z-CNxlf-9@#3--mbii1RH46!-g4V6Z+KMltrA!Mwvz>J$RZCdHVStU0WW2I?A9ww<} z!->a*NmyIfinz&Ok!wZ4WH8vZ;+DynzH7yb$-FqX-LUuC7!Y|Rm4;ax0LmbLM zW3xni~CYCub1x7&{G>>K&~em{8Cs&ZAf_DYC?3osV@ z8yGZ?kH-PSjFmj+S~8tI02H(shX#?G&@Q97H{gC16>;2lb$WT+w6F#3iXp9vYGoQyf<3l@( zWtRx#vgA-m7CG{2g=Di~zn;$r(X%0fEX3M$Za(ivQ$j_L1$=BqN@yUXP7CeEsMAmk zx-re5ZEQxUxx{3Jb}VTbq4F+J4=w^oU&ynQvXFshgc|kJyif%{OruK@sRE;rm_n7V%BkORn@$Js>)mQ#EUJ)HOT8(Lpsax_v7aE`Tg+h%{okvdC#x+B#ad;M;HGjumbyY=gPtx{2XiT? zzg5o5hgudgrU5H-T@%bVX}0RAF^p$&VWC%4W1c?(D<;NPKz8P$rh*T|6<#u!wQYH%}A~Eaj;rO6*_C3$bzj_fkF< zdZqkIo=0LuO(jr+7e^(Z0$KBcQsLdNCJCDdl6JgsdU!rb5c51dv)5c42v^j*R{H0i zk|=}+3@b_e$pZ|M#nDzgdW(>UfpZ^m-NQ(8iYJ!w`6NXgdzfD@W-sRvtS>JVPcDNe z%lhRI-}{N9%dtC3l>iQLeHEX^(s+slh?Suj@oE)z0sY0lt5E0wkzNg6kuGkiMok%F zT{S+UG*IlX=3~epaitn^bf!qF;bYY-{yxT6LF%V6))0=boWWRBic6!X5YsO!7`MofIVf#Ha2b$(8zWyfs%Dc*(ptB_-!vDhv<&fk zFYgoUHn@ON7NmHLw`@hJ4()1H6jaOe6PzTq-O?``*F$s|7>en&Ja*C#UZ5ZIqb|@l zXo@Sl#exPtIM_4~s}p+~v2c(HU>i97k!D7)ABR^XY?hj8`A{*Wj`!wGp|}%mMjcO! zXutP61ExhIM}~;o>$oHRN7?qtlM%^XdUe0%TufcbbGu8~O$L0*YKt4K3*bhpO`@(1 zRn}Uxw2qi_i;Qm%xXfL4z}4O)4AjCFM}aOBtB9DYn649r2)J3-MYBc2M*&D%|7l3>(;mb^S1_G^K-ZE==espGvQ3r zY*2o1Kw6Le=n>PqqnVQ3SSFzD?UX|%G3o~g$w#$3dccpd?=&v_TE)j_wS;1POFauN zwK49wZ}G3@h>&02$;LV^?QfMW79mX&uG&Vh9%IlBW!pNXeBa2Y_)}V~6w$JR$2fV% z8inONnuNhh1$PtrRcy-rJEDmqoGZY){<4C{C3UurEDpS;9tsnT;J7W;_Lc;g&+PPL zBdsOG?^c3u?h?mW0^QvrW)=9|F0lhG@71m4yN&qhZt;7q0y|6(qnh|!D1??b@npzv zSY^}jK_aoIiBBV2w%*F|O(GFs!e_&FL)} zXT5tVK5gJOoJLF*=v?k@k`4w9GTBvylS-Ji`@!55;@ew!0^|I==y5yG5)*IZ{js=K z-^Qn~ApWWF-iDiB-oFjYN3aOHozG!5e%ge*|8`((7kh5!*Rc@(gm4wJWbtJTgqV8=FN{7Ait`WH z%8jpdmoGQJ0~IMAyMr&_y|849Gd49=IGb_PVidn@hVE|W6Ie8mG}8WbCl422HbXXu z5yyUlb#T}kejS!(?;2i)rTNer{y1@ny0!dz7SA8moKMDxzpTXyI_yrY?GbnKek4)k z-ifRKlEmsed8YVoCAWnYTdqC03+zQ)N2f-Kqj&PKUVh^g(9tDbW(Kbj*{istM>{x< z6L8ogg#eqM)Z$_!i%RlmnBbrJSc1&;Oz9)YPx!pv6WTl25285v8h@lXIGn{b4;~Bu zk5agQ_(6QQpX{>VC#2n}%jcAzZ1KP~$uK{_w$i^8;$u7=mZwg`a(fiAPjs*BD6ua- zVFE9cCGM473oQ6?C60v;jpVgH93&c8DE&nBPx!>^^Zl)H8|g|auV{}kMS%{?tFY~` zN^#d)YkoVK(_~KCe}giI#}bZhDQ$(16y#{R(nsKz?Na zw~DiJ1WF@QAcYurpQ6|Ngi_K)>Rs5bWr)hVAgm1(+wX$LaFDoq7gY6`V$nM6iL%7g z>-eM*i`rY+#q3HM%q!c|y7i3s&pL>sL&V^_Aq8fO4R=Gmo+F;U8*FH(_>X)H6W9He z4{9Det;UioC&FD#TJh!b=~j%h((7IBTw=ygmw+atn2cx%jg>Bs&-TZ5f=02{(&{gE zINxl=_y-hbLS3`8j_#Cml&nWCr2dQ}_y#i~FkiQ96Qyfk=NhK#?ZBh> z9t+s8d+!3>JO#7CKk(q|WH2AxC0K!I!_&}fSZl&#($AUDcPLNd=oyFrP%qlV# zV?R^Qs03)U^b@&;_@_+dwf>U)o-={|B2`wRKWl)5=Tj!}27g|EIwab55zxoiNU6ba zRuQ*l^Eh^(lc4kHPk9lH;7Mw`0XuF^#a^n>Rn;WE{VA_W|AE9#Ss*wc6c7Ilo9-v> z;e!(og_2yuv&ZMdKFaVO!fmZpZr_nm@puAH8SJ5fM`<0-7{{POl1FTQcLqbWJY<%< zU_ExCfd_3)dN{QENn4#XRm{ye+(|oB-TiYg)xa6zm7e&i`Sb{Fe(w*YceH`E0fWNw! zjx#>ohz6PHNI*s0UhzU-1P}7B&KcWG0n0NOMNMe*brEkbRsoM@YDoGE3te}dst?Y(liFI zye|PP5{Ay5(Yn2(`hXJ6$m|9ni%$t|w_vVaTmXWiHkj1$2f=Rer+F z=P4)i!{kw!d2kbWfqc5OQZ_(*?l9AIs67*oY37R)`*?Bc6&f)f+75D&c3f9NwyDt) z)I~r0}Uj4LgKTV+ue#+63vWDMOArtAposskJQ zks2>9{Q(3k6JwtRL)$bO#p5UZZ!5wH`R{yYZf!_V=a zFhqUwIqra~&Zg&i(%{Z#jR)F`NGii|-Xxa~=bE^#94?a;upd7nA`kGWVIA!_*r^?d zx{sGbz!L2^B<3E#wB08T9^gqq#!XTCaIHEv)<#sym~NI+hdZ_WNMOs4bZa>*zMkjF zxJU}BlT0_huMB&4X~AqZTb>Tf3yJ0B2^9-*RN09F&7CQ5tW%5Dbw4>v(rFfaA!4-&vW-c1&i$@t>Sf z54^yKXJ0_}j_G+(60d!JUJRg~H9;?$S(9GG-fOS8<3;WW@o%+#MtCaL;v+9Ymvbdd zOgY5+M_)xDl!Pnzq5k|Vn3RQ!!3X)A;lln$K1$l%PWmHezX3Qg#9?aCV{Am+_h%MAFg!evJ4J?f<4%!42ULj+-}(~2 zj>d$G!k2g|i^r<|!CSc5KjLK`B-Xvet66eD6fQFk7h_)LIfGIO)1V*B zgfATqSDco;u#YRJg0-X2c#>Cn98I=~gjZoTn1xfZS9uoAvx&x6p~q_!J70yMuvWbD zDprpc(f>7`&3D+yqhkAcNOe9LJYpk9wW7(XFqY@ZFj5r%cnu}w*hTzd=pIVNM)dfjpCET(Dxk_eO~7U(s*i&Ek<}>hwOXBuGQJ1#rD^E0)<`CbFcFu zG%`e7cpYWT5WU|3PGw@Me7M9NZy<7qc@&>jOT3RR`mi>ks)4P1LUU|_lRR5YKfd0 zNula$Y4QJHs9J_k4O|RW8wo75mWHeASeflp**7Egj2`N0*skio>8YaI>-480ajaO4(wYn=_EdX==C|;ca0WLj3T>=q&Q-b=e{NUqjVrrsV zhne_dqT1KC4vpp~oF(GTFCj9qBsCKz2-!($gZv!io8qw~)Q#DitoB2XU7xHjz++dk z`W$&%U(#EhOIWMzE{SG}IMYY1=(&!Oqv=l5#IdB}j6U0`&I}?u^xyPXrxEh0`1b%c z6@8wRuHK59`bD~m-f`)}2C8uVJD^8qslO!Tu>SO5wT8eJzF)TbbNTtn_r(j@Y8>1F z-_2IPl@~_7Jwkm4u8NQ6t1rPzPYnJKQU4LkgzkhYW=>+YPEbjtAAIbK0=MS?NihNjGePx&|jaX#>mvw;&0Q{OL+NK z|LY8OCm|R0HM7(b+>at&pRH!W;^gvd^|!Xmuo{P03M3Y=IQ?K5+K1aQ#NX$r!Q1Zes0B2`F7|uW5<5QMX(tK+gAHA#4#me3#F%C3GMJW&$Cs(U zu@%^X>g~?y;zEs@ELJX8m%&EwZ_CwPWtq!=~ZMDzyl9_+M73b4ZCksakc* zGl<TR45ePJpf*&Xf0!^8apcIT0 z32xjqD281q8#}=$cC^)LNL{WtYGNak!4Z^X%+pC7AjV9L#jnvxuvz2AL7|QjJE7J# zWcs^r7qruv{?Y#R_T9bjz5C8P_uO;O$M4L=j%!&R{RG$UsH0rvxPppI7wagU;VR`7 z`VMX{qVg^r^!B{%-DX354Z~w$r;( ztC75D;rC4~vemWy%TKKK~Gy>MU{0AxrGJEPfw1~;CvtrG2fSQ>yu7ExN z)8oZsDVym?q2koP#t&uCP?{nu9c3IZAAs_U1uaB|`S^ z9fF*4^4KmaME@7N=qUuOw{=mjX|DxT-0E1`HVmHou8U$Y+oQTE(R6}XD@d}R&+VoJ z@XT@?WItrdhHi>gIxQLcJ@0F%h39(r1onH}VR?4cybam!4@RQRNtd@OV@#fdZM+t~Jy z;RILSqmMC?)9+!Hq@xtA7WF79?PmDQw)x< zlflC#f8}Y%PmmWC&vQ2XGbc&-W&ykWdF^ce6byZ*6d8UHaDSWmU4Yl(DdRz_Vish4NuAt zeXpxi4P^`6jUw(xcm*bdFm$TrmlZq00H&#CL2%)L2m?;mJ8PWo)JAxRbhITnA3`d= zqhUQT0`)eBvk{+P>=c10=D{Phz)7k#Hg7D3PYXbiAvffN#r`3KeZHhvpf>4W7^X(u z)q{^9%%J}Tn6UHV{HSRbGrM}slTQ^B8(xGL6LptGisKxenTve@(<6F4YKr4 zXK4eN+;{B2dW zDPK?(lk6(@4pNzdrB&r;2Ps#IS9#18%E7cRxkB^h*CmCg|Cx%lz!k_N(wB11zNBZ( z6%ouQ85s2ViZ3a?`92`q+bL0u>#*r6&BmJAeU-k(LfQHieI{3`4g43^==YH^vf^?q0V8-^ z$k;`~RCEwBc#G=fX+c_JsZjMIAzM^GKM+TiC~hv*p`E)7ws*&l`m8{la-XvI^0ks#n_`aQEk$ae!FNcS*;`8*iZMJ<#n zFq<$JjQ~PED8-sbXaaFOc!Q=b>`{**!?s4Z(oeUExWNDara$aaPpgKEnudB|x(s0m z7+{ie!QTawz`785-nmJSK*{;wCJ8;@+nadt08bvK$7HA4$_s|65-W4ZFnxmaA--;e za-mH%)3{t9+&%Z@kQ%6*jx2aN1LXtzx%T*#OKjXHx?G|C16C?98x5s+HWOc==JQ zJP+=}Djg{Z!1>6-j10s<%_d*?@;Z#T>Y)ogrydycc{MZI=fue2FaN*s)U-*SqGU*3h|#KA1U&Wd zYs{D)?Np~Xd8n` B)Mfwx delta 30066 zcmb`w4_sA6`agbV&YZ*jhl29w@=q@cDhdh;3J3}!D&{{_EGxq+T=gb!`D@}vYGvh? z6??MDElVr6tZZ}1J?j<~yV+)CX{#lcCGEPqZedZnWo7-|bIt`W;(ouM&+qs1b-ZW( zJZI*aXJ(#x=6RkO-rEsMTVb!}QGn?UZ@3fT>$UOUHPL#9ZIX>vt51p=rX|t3>@{m@gWRXX- zrhvpSBvqdliyC7&Qi__%VGpbZI% zBVTAaK`BJhZVVbhtXgwWDhby96qLb233-73dN`pi?j_R2efS4XmU{V*b?b+!mEmuXze#PC+W~$wPmqRLSE!;M_8N|WgkK= zXqomgBv&i9r;*~82kmpiTW(F6B9jMN+EQy&`al@(=mfGwlg7&rIaX`cO7s&CO#;^1 z_ROhdr`DeN(!iaPM4yzNlq6<(I#qg_$G%FUwbrbmtsjYPJb&$^zF7g~xZuS3l( zZ{-BbZ; zc&Jj(iCmsf<*Fh%en>sA>?Dtw=jyFZrQRhmRkN! zmKy_$&p%DW?Us69p9Jl*#iit9?oOm5wACf^$Z1V4xtsjmOz zWUsy;lhBsbia1KbTjo`bCUO*U@Q!BY_xh?BTTBuOv4qU? zRe8{fA&Y#K9wsFcNx~yu%yM3mlKdb4_U3fd@>YA|=#)N1r1dW%%`76#|K*&f5}HAH z*GDu;d%5X%B#Y;tro)-VTb`?J+!UrgbIY`TX`?n&_Degup|D@t!j0wq(!Sof^0KrS zFN=q1)wj;IWf@IO4UuxSzucNA=Kg&-%&DojeTcdL$!%$*NDH~WGq?y~atH`yk-!Xg z?qShd!sd8Vtj*ZG0>67US2&7|l1fMkkxI1qI|>A+c>5U^qiwol3|Xe_z2jlx){5@D z7vU3k&KT?lIQ0+-kC+BtB6+p6yC#mPBqY|)7bW8G-Bi^l!Rf1C?WwJ+(YD@|8d8Z* zRi{)VN@^fdgLe3?g#!b@rAESCUs0!K-DPhn-tuRKG-=`Y-9VaJ>hBv(5P9tWyYV}w z`6>Jgls6IXdyz%8r2T3I1xI_}fse@+t!CRR#_vMy)(4x6P_b6b=OFYbUqrVOemF~Z zYW9bs1~d~AGAnIjszfkNo3-%|jU(H&6%YM_G;5zc6cfFT5Z84LnUh`PQ#M~;bS}h_Qd`fYeOmQ)XUKkk_6&Eu zy8^RV3*A0gdv^N-vP=7P`^#jv_Q&WH2I_pO^sVe?x-dmRJs;jS^B3Q@)ZSW(b zNvk&Hk;!Q1`bQSv_w7fP<2QN73jE%;;|}CTJUVnxFL`>F#hH)BS=vPZrAr63ibu1^ zA?-JhW|E`Yr;mr3#u`opDGVaz@*~YXmvl z^6{<$f{5#hX5%+m`{apCdIs}37ZW7)$z0o6;G!_86MQND9X3SU_T(V4xaH|5+hv=} zU03I+FZGspX&s-0YdfA!wBF>cUtM17zR97r4IRo;e<=^V94dUz7;=-Azh{>58>cM+Ed<8;VGZ)sqn0F*ZXRx`Krq2caX-g^PUK8`?F~=s|$oE0v>#YQUy%WbJMiC43|KBz?ea-e15g3R#feR(BoR+@l?6$ zD%^EIEUyQvMIu3~$rxsQ6gQZy?#b%+mDb!g`11L~UPvZkTG|UEwP$`eRPG`U?dZW+ z?cDEDBQTQE>#9r3e6^nJY;(p*(uI~WEmJAEsIA$*nkf9MR(VXz&-7$J*Sdt4RXx_XyyrP-yf zqUl=dE6G~SAHVA^rMJMAjW1=;wEuO1Evc`(MY=H_@fxZ%vDcQg&AS3kv`^X|*KU0_ zLOcCjwf57WcJ_p0U*CoK_R8yAzG%=YMr%A6n{&ySKj1nOGnPpty}H(0<|(arLk6g? zBb1~r5DAOTxFlT?^DE!rN`wl6$7o+4TxkWPkf@bPR?YoJHp$Z-c_TG3m=cRO6D+`4 z;;pJro5-ZIgg6?~CW6C+6`3iaTGt!HA-;wGWq4#1B@XYzbjd0?7uDB#t5z`yi~G&I z`8_#o#tg5gqP%XAcfDtdWRt?CHP#EUIG&P?(|iq8<(_iUHw~G|u7d3Bx$bp=;C3l2 zzqZ!hh-F(_|CcF5{AOt9{$gi6#SaLCmy)!hZ{89Yj3y~oDO9{{Qn+~8r6}=oNO5T9 z@CQ%J;WVD|jUSos=4)6gKXQ%?qKTA?NQ9NLMOeKgg%YPRcBVj7F!Ls*`18^N@={Pb zv&0EPrXffX&k%1($`UW9luLPsU5RZeedj%eh`6kkdjnH1Ld5#=&#G3gN?v-Jqqiy-8-&iG39h7cvx}1gytR|&#}ZPh{kfyWS|d6I0#bt(|JfvLc9woNjO^8J{%nY)5jkpz)TBNB+4b1}kS`-z z!vA)LKxFvg@6*WEmMLd`R-!hG&$mzs4|+W_Q`#yLGNooM?~4en;`13~o7VFA2>j0L z9GkhFN)F7->5STL`gX-xq`J$Xr)i z?}Jbv;<4d7D9QAb<7$t0)#`dsWQX?I7l{xQ1PVhs!(w++vKS0L!lP z6K^;0azl=Ip)&`~?(7_mU+1}4{AQfHj_lK#&*e_oM|&iT{S-3+Ka%l74^RmY8s17n zq*jDvu}QK>Z7t->XJm4)<+-ml8B2WLf0D^zzUyO}sQv0c6=raF%dl@ z-FH<8hCWWBl`?D+4B+7{j*F>;9;W7MyyW`<_J^E{8tdvkl}y^C`M$pe+s|{~-^>nC zvYT%r7&LGH5Cyry_kF20{l~!r1NPqS6yi_U_t$GPF2%AAz#EZ2U5ddT`jbmdEJH?P zMgB`axoDQGefj+j+T@>Ithgur=OL`bAK8{gTy&WM1QC%~wzZKl%p;Raq6CqWM&|Nc zAbXNc;-n`ZHYeNoMw#5sws$9%GcuCxU}%dd@pDE- zu>*`8FdE7072;xT-Js_cly;CA=r7~-Dr!2^o%gj0$m89y+8{tSC}u->7h+^954DgD zsJ_`k*0WXxgGN-i#!BMYVFe62-^eNgThwhRl%7%pqbZiS!NEk>R9LPaZ@j ziL9Cw5~=?poV-GixNkWbLc0^IqsZ8vNQ#GS1q9zWA4M#SBle!+hLIqANmh|#A|J)Y zUY50ED0y0x;}*4-4kPMi`9G~8R|!o1TmIcX;_b;FP-lFPnb6xH6N68Z$glhjGBCij z(c^9+t-V<3m`Y>)(MUdJJ^98&IFc9rf}BGbG&D-Zr`&fl=`xWTYT_$iyP8P6h>5a4 zY9ed=g*o-o4P<{0t&(pg!QD9=ITQ2&*<_5!-nW^27ElieVsU!w>KZ(?M&|@p(cOih zZO)x!FvDk{t<&ZzHw9i#cXyhtkDW#^N3Q@QP`#&+ye<&xZXe2iu$fr9Tk`Bo^8RJn zJVhf8v)vdmW);_I+OG0?Wl*zJ(s8b`w{ZT%hOIi zN>&R__s$aHCXIaT)#R!{eKsZ7>$FpCQ;L&czmtqM(TY~rx+@wymHJaViC28xJ0!ZZ z_=3j?zYN;)1Q}>>RnS0Bdy=e@O#ri%{J>MB#*}Hp^}MG^PB*B{Rpq&j}FMNhP1Uh{F4Ec!AQlPCBU+LLiN= z^gt-A?ZjGMR4$Q_x(Z)?7bPK!@RmsGN^fmled%hC8!%@nZ~Gl_4mb-zY?hHCNl1$y zuY~a*en%dooe;VT*kJzK7BZZ6QGTq2Bnm`-Xd%GYxj6C>~%N-t6VT_KAd zLS&MfUs2(^$x|-strMcuC1cG?g$jUw@giveXIrtK%pq3(+x=uFN#kEVPr`JxK8W;5 z3)ic4QlcR3jhD%yC}=2W71lI(*ZRt^+4fcC%u066!|EN($G4I!63Q!DNdrriNi+Ag zl4*S8D`X^6yIuupi&{xA_q{?C+tX|b376R-62)(Mg$zr1+9Xz(L7jM+I7cl>b}dSR zmb%VUh8<);k`!(hcKQ{Pjn89VB}wDrfRv|vd`3oER(AFx@2V)!!F3+u%gkfaQK`D@_C z{!!0={2Q_8|867G{lh%kNa08c)mI!O_sL>0FPe=8})nN z0;8vmRC{%*6I$RCQ)BfbZQAbMhL$|KC_j=IVR@ zP10nb_Gu?cQ4do#i{$e`=SUJMX^E@JD?kpx;O8~YJsb3%&v-_DUHNEz-gAw3lH zJHI6U4R3_r@ulFVh6FX3Th61|jrz#*WCGgDue(5^F3WoA0$B*8^zXkV7X)%&eNXZb zP5Xg-!br*f5DLAg$%^&s2%XX$;Z2NM$x^+Q(#_pz7N@!8^mA?#f&(H|*BKoH;^=>~ z(Zz%;<(Uq8FIy(}sLg};za7+RawhN`KkIV^(@q)43<#xb1Oe9%rje{0n`a~G^^Cb? zi=lew39&TQ(TMFQb_HU$<>AX?={3a555!^&WHG|WCDAB-KpfqN?&YryrT--P`qM57 z-ID>7s{dvf<%GETlmt2qFLwg{30cb%>7?9B8IrrJ&R5YOI=fOP*c6hmI-#66P0|Z1 zJjNhcB;rV~72DYm6BVgaHsn|SMIw#fP=nD;oNHlbs2ktZ8=lbI8&2QR8_w9%8=kno zH$17WH=KF6H=NZj!m&pAX{l!dB57SBvcaD<{!&2J1S{5`?vK*L10osm0g;I*h)ALV zv_Y2efD1IzMp?omsnC;&_RvkTghyiNip?@|Hk)wr7FoihO6pcw+RAMs>4**8ngmHS zo^F#RJjRFH#fRGwkqq z;FK)kF#tLQK!*SjyCNWQMgW|ZB|HGw(1^heh)w}vH6gkL#06QxV-#^w09+IRHWT2I z03b}lV*n@&0MJiLvfTs_eMy6vgvS5~6#$_Ez+nQ2{-se&in`tp5hozx1Vpe2Av&EV zLet_0ND=@^0$_j%AO-?WV-g;tjtl{iApi!N09nkiO^F#dY*F`|B(Z*lRCj`u%K}vw zr~7FxPGeX~Qog9IkV$wj;-n%b74avNV6QyFzfPiwV1m`F=ukdsH26m)Uoe_R`mI~~ zFGtf-2z2_tlj#ugwvMB7gUEOM>WTDAOEDvczKQQj!fL%@5{;6{S30a>OIUC>hF0hO zi#)t$Dvf_|D!l>Bv2-duO-l5gNT~YG*|dONR{YQN=r@Ax zt#6|-d_XaUn!^m|7Sk~3OcoZ?5qLEg8;s|XVrZW{pdn>p{6hiZ*1ssGzq69_`eWD8 z7L|DQMJu3TLVK5$(A;p4Z$Ej2z-XYRbL8195|26S)i&*jq z=wTet6#1&rWsXH27#@%!G!nuRQR!RjF`1}Ji!Hz9HQrB~?9Li>b?J;r>+@MOwt zWDkF*jSj)<^ENt??qNKWvXOMJF{#7#g@2;hCGO*;uhVEg@^w0}JNyx2!DOF~^uKpY zw5n%aeXV;JNAqIz4R6wC3E8iYd5g-_Fo_S>7rsN6!HTcHaG1stlBB~l9?D3H4!d}m zK~ynn9LK1Ic9T2h1G-`p{eT?eCp+n6U>k7`J${r=JBL|#n5TY8cOrK5OPUcS_E2@T{r6DE z`OvRuj=v9h{a5r5ZD;z_E{g4pTYu_ndQeQ2$_rptmHL(obc-B?DV({`vkJzkT6e8~ z7CTmAldg}sNN18O=VK@DXBAI;kM#s)ZoEXp^pih`A!|gU%_$IVyRo5sm8TL4ey{%O zCHi*v0NMY9JV1n@a)?o2fIh?Y_bH}IpClf}ILE5Wi3!tk30$a(Y>;|B)Fsn?ug zBxE`;fp9I%p%uMx$4#CUy|Iv5udlv08s@2Vdjo)Ts#jH)u7p|2QwtkeRsAxaKTwVt z()&SdJxsXZH$5p5Fc5a2_zwSav{dO`jykZ=Fv}TshDm1_zhy7hn$HHxksHn$D_O`w z_e~IyI>l-viO6^+bs-`fkqJz?AU-!D=}ejhqm&VbAaxNLsu6*~?GhqEMr0D?K1iz; zBa+Dsjl0!|WWhd#92nI^of}e_WJMH4GZ6(2!H7A`7?21>EZB?zi*UpSm@%Lch1ftd z21Mcz3o&EBL^z0qnlYdfkGw%<47emBHrR}1ZD3LoqG3jKJdhD?5aDJF$fO`I!i)i# zG{hp!7?8<8%xT7eOcr8MW(>&WA{K4NfJ{DOF=h^3Y$?-;uVi_tg6{=j1N zjIk527+qmV^cJHV4B6dc^noFzTZ|4cwQ!f`D?g5iHCT;TR((PngWV$TQ6xMGLT-jRmN&=A zak?#Bo+l6N-cOQ{UK5i3OQ&2x`$9*@$O|YK&6+rHBh%8vpO2HZzEGYaauoGv>yNwS z9Aaw}%{xq`CdJs%KR8StXb*ALbz7u(^e{O^*{r}BK{#>36d+HA2>I|ZInHkAuQ1qU zSa7?(&yTQ`mVyDTb=SkjYN)m__%o9p5q|}Jv@z z9=I;<%#kB`4SpcLZOM_dfa#xeI7Kc*6V^<@ggC_Sogzn#=xwM$kpFw*yX%D9G-s+&*M_O`>OQ_& zhHpqSzc>{gbBM>}$z%MLMztv<)o)=Iy)Xq!aFq{kL~Z=5X>uGn$am(+n}Pnd)8uHL zmoKaTFTRiF|Hzl?%tGK3_P?$_nvW`wSLd|#8I>T@<-QPy%u#tzkp7S&;Q^m&Ch$%> z%-<=HXWM&7D@nY|PG``gidOlklW&?Xj{sgzi`P;9-gJ2pWSZfH@>1Ha=(iMNsyf<5 zq0K}(r3ARC1@RFxWhb^v+>JMnn=1$TBg5z!Mc+JAeua{DK7F>FMY|NfVYZCDt=>5s z?C!sQG<&Z6hK!Fwi!p55`N(2f5yOTTmP@}y+HQG&ToasRr?sJLR zXBCoJSXN%=4p9F~&Uvs=to1;eQApk*Q@HKTM>%Je5WjPt;e+?;&QPATNFF?>k7p9T z?xu}^;@(AacoxLvgx;d0u0B{_=)Y840G(0c1;vod7G6|LHNm9-x$L6oSBKM?DqRwt zf+$e~7a&FLH!>7x`B18&TKvtJw^&YusiuChJhoeW{c5!w3cJg@i{&Ba!jPbcmdN)S zqOLG!9=Sobn{I@9*An^uE2aPS8o7}AT@BAQfdlJvuajZ@^(z5H2~lSVNri{nf?D6Y z#>I`*LZR#xijA}U{0;IrZ1odLj6Z(1S7QD927N3InJ2pAnO*lzm$ zD{4LN3V(Hd8l=a2<$-iea34wmm&@nS8FSQxs-{OIZ(IYaEYR;>BR4omCMWCU;rziy z`S*HCqwFS^c@1f=JmU;b_N=Web(fdd!kaOiA6XBUlD~elyk+Rq|Cf(fG|B%W;rdm#$m_3wRwTc;L2l;N_scBi z|AfM08|Byfqu}IIe<_E- z?sy>pj1Su)AJ>O#@|W`H@IKuILE-Z50!I=9J4)p>Z?ibHC#>(j>9Afo8evO zDTgf2pX72njRO!IU-{Quj)5CS+i5wCPkl%Z3QtsfH$91%DKu3|Qnln3r#++q?mBQf zmeBRLJcRWiMStWWIn+AX(Ev9w^*)z-EzF3nY7d;P>b;)2v3%Z> za)JKL(=yzxiN5?9`9^s_0vRR7r?1w#%3BrAPwbU5O=-&2EmX~VUJmv*Bl^F)mh!is z$0BOD)@PjNO+G?xu{{{-VXw<)sZt}b(k*|H z?;;`4Rv6YdKfh|!cfKi4q@-E@@GW^Q&P8B7l~Yv1;dE-=BBTF2)8OM^Y{eNXz!r|U z#Ca=tzq!*?GRqG$*PoPA0O2F#M&F9MeE!$NP%F&kL*JDrnXgfN!@IJDc~x>f|M_hQ zaF4$$N6VEe;i(_UqoSOv+)#DY*Qg|6rV$c_NogiFyyiW~i5WcquW~wUgF}wWA1*%vj%S90NJxcmmCv8?(GiHrX4pnzDV;DyOmkd)hJ_Ga{7mNLv`Dc_ijk%g+c)_DS^W1-oE?DW~b71KS?ZFt3CH>e4V zWj8g8RFVmRK9qD;yKCK*bp{bfS)3SJ4Hfl9Y$W#jX0cJp0bdz~T1ZHhyV4U#tW@-X z;1%J;e*D}4_!WzG59cArWCxkfex*Wro zS1f*0ps5I%0|l4>dH0wchf4Z^NF@&*m*jXek_&+V6hZ*gi%HhL`H>G~S6nB?dI1=l+gs(S?S;e^sKH;)xDVy%=th+!i?SA)-np>Z z*7+L1FzTB4OP|S^a-$#kwGSbsHW|bKzn3io&je6nlOL$~1cv-(UUfo_kvE%ZV8b;h z3iP-7^C6pq@XXIZ0$Y=|o$6gcL zqEwUa)4WygT9}@|j6wt-EL*)#g$EGc-g+4Mg)(LvO_9)!SIvkcYi8d`SqX5 zk?g37W0b;oUZf3W?SUWz_>oUBrw$qI<%2$!m+{)u;D*P|mLE4;-foiPl$m(SNR&JL z^|p3E^fC}0ZBHlz)AyCG@K%`#e9C9wc*Zmz>5$HdNwP_m&icQ6^fQbe|FG-yr#b%y zeTtbD+68#Egi0608!9tZ_`FB+BY(%fyOP6Vlb{bcBPUXNN!2s{DW?l@7Dkq2{@}mC zTPyXa|1Do7oM}Xw?&^}m|Euu^I_hXe5T5W+LCR1b7NiV@+>UUv9(qB(_5WnkNh4SI z=+^J#KT&h357)2#0Wu@}L<%m+yBNH$LMe-Rkg^anm7}UhtTxygo)VubcY8g{11%9alPQCT_`?C97%{A)+y_Kc4 zo}1jY<#mjN8A7=sPVwwmmd@{uW9gTR%Hm8y=u+4{^TqL=e7`1%e;dc1ajXlFp!H{l zFbaop@G#S2EV z88k6S%l}Upe{3YX24_?S!NbzcB^!F3p5r4a{L9fSLSHnBjUa>4g8bMn!kN2;nO zF5D7Wsx1Tkz${SRW|@gyN$ffZ7;{JCPR9W z*)|4Vf^*IA*km>i#;hBXSwc*45J~qRy)jSg2sgpT$`!tfV!k7pWdN>c(7?l?Y64rL z!gB#>5&WYpmJq%y$S;rt^|o#qA2=Ci!<1|m3w_hq)#nl89S1G_V2e;B#zvxVyk_Cs7%3JxhlUb6rMifyQBsG{t zH2RC!98d&o<+&^^qABR|BCr9s@D0aU1a!JQEr(^nVSh~y8-~}tIV?SBvnabUh#yU6 z6T-LpOWqMsGW_R7$<6&rZtg9)S(F^bx8$-Uwk-(9^TknoemIv!VgWmo%SOoCf_e?w zK|Ey&8;%@Is42D`0)eeT(ykzQ2S@8IQ`l4)n#ynT*#x>Lh{vZXv3&Y8=7NT@r&C7m z^CP-H0MUIYh*>(ZZ`&`5MD&0`ujziPR%-xktAJoqTOTHIus@SH2skj7gF(WzHij=L zV3G7t5cd_JNk@a=K0KX8g;6PWk>PlXRdvb28B98koZ>vzBME-Rs_^^m?Crv^C(VL)_RgxVApMCV_9Jy%5IyOToG$5N zka6{a{--%CpO8xiP7{d5{8X{@eoNqg#vCEJptyn{{HZ0YNV0gDQwp}=P6H?3IFF5r z%9VR(2(iS@uUh4UcmsnWZ=1)wG}Hv0KA(*S+wsk3WAFuWp%bvd#3^NxP`?_xh}FJ| z@)vo_e3pVWqGLWAOvB9&2P|N-u~aNwz)GBCuanWv+(@qSlS4G>kju^c=PbNp`JJU$8Z!9vr7VkiEInSbRy}w*!^-8gnErK(%Gr2`Q+JfJv~m62 zP-BJe0|$aXCOO>>ss&~W_Adsu5rzKgpC903RnuL#hb09!Sio!zf7M#-GPZcwkfB!~ zhy*Y(C{r6P62I>nHa_+WZeUHKr2yPyR6T05zbm%{5Nfkg%xTJuGsMS|mII=@99-5jgLZ+ATb-n%x=>0;G%i z(Cu!A7M?P)qIgF&n?^e<#x)~)K@HaTA!kH+XDt#QlqYS50l^4$Su&+A3%_kW=EDVx z4mZ6O#D3ApN)M4PS$OQt>@G;>ZMU(sE0JE||Gt@>gPh;q1Tn+P|I>tf4}$qsx3IVY ztq{(PD;P3ymq4h#_7=8K1}8eSi9HYQv+h=w1bO}OTiFmeaES^EZ1L9ayGi)zyC9h* z+|E9vB$5Ak2m37;(Q|jQv3Mco_c^e#3X=lu9{cOz}=FWD9l&9xuQh753qZ)p5GmD`OR^Db&3K2E3E;eI%Xy~EO==n8Pb5b^5fliHApi_+%glZCm z5%Il#zi}I^9>!gByAV1ZMI4~9(2_&9|$gd-HH`yHUa^Yo}E@Wi>s(e)%lR7}U;iUSw2{dtF_J zl^=bUT|c;;k<_Ac;czFsa##8!slymZSD*0@q_Y8)oiPdz@hZ|;Q7xjKeW=yc-`djz zQsL<`zI0x|)ZNV{T*)c>qB(vq`KwiIz2g^Y0ppk0`gJwIVFXbRZ`#Xlv*Ka}iC(fw zRuOgb_~%(%aIj5?4RsAGS9;fhD?iT?!JKQJX9f09Kw}|DmBMYtwLN_48_ceM_B^{= z0duZ;kyY8^Ob}s}`p1jlZd-WnepU>Yao>KZS`zg?>}NNyh$K;MicP`;(PO)kX3Mu> z@0|Qcc1%2%0X zBVp4-0LRQk>8%9&Zt@ZfAC_w)dB&15ZO;7pb4wQ$U0aB?B^N-lpoB$&g8n7QC0D(~ zB8C^*$aFZgOw54mW|_xZU2ixp!nlFN@mazJt&rdT5*ro+z;4f%KuD;4u?W1x3e$VM z5w47-VSA|S(;V#hvtMR0v$rearUCPCJNduM&5L)h)G= zWI-Df9#dp4f9z$PE^OxCyv(kh-%BAfs@#j-ErZFRu@_BeRYTV2&0@5sg>SK$3(VGDN8TLn5>Y*MpP!Zwt! z%`9QNzl0qDC2Z#}A7r;!cZhGc+oWB3!5gedc#&7X&BpPU-(=GU?Xjif29zG-SRFR_ zA%{@wK0fOZ*z^HjahP4j47 z`)q*|dw>6ly&o81IPW(RIrbJSK}`lBTK&yv3us2G0J~>|X_^<;AQ6&j=-qORU$Ik? z+C&>$ZPG!r$a(Kz1&78Ow7rs4cesZFRzC2su^bg0hC0S*?i@JYpu!QR3H$6}Hf!>6 zTPCRFzi9lG4-X4s*P6qIi@8ei0WUlvFYHXM2l1`g}2EAyL@L;xd3EZGVK+i-F zyE*C=dv9UH-s3-D=M(u`m{;lBfA|o8(x&@&h)|E`^HPg6&eczqTlU zZE*p$MfKJ;TT~QgRCHPS(|OtlEWBU&aiaVvyAhYbgUi9UWX_#g1>jKY~uq?LSqul$DYIl8NgSc zWZ7gOf8r!m0U`W@lPncRwA=ZRcBteMK4J-E5HI?O<>JuzogYCV62{;B2#Vcs{?kXm zFoGw4%;vz*^Z<92C}F(%D%Hv#`WOUmzMJq}C@1L*`IiBT;q+vYj zQ#OMPA-v%!}oWvJSCYukYB~)+hMvG@EK%)6rTPW*!EcN6|r&r zzR$4dO64zn#^SM^d;c?Z)Oc?F8ygiqfz6r^=aZE<`|ny=>#Kx3UcZ{#|IUU+Bw=ts zh)GeU6eE-ht-amwYv5&nXPJ{@Ny3V5zlK!!LpcaTRyAl?s<- zA*Awq&am-u-PeoR$#Vf$WBJ)Cx1L4crkr6>EZ0t6)SCX1%wIYKg-E^~gY5JfmZ&Bf zcWCh&W~&hjxNwF!Ny4w7mC5pFIn61b6`;z@^-rxU-GG&E=3%$m@mDrDxX>g>kzFb> z=`b)ozq-2ChjZNK9+Ox6lQ}c{d%6S~Qi$YQ=(!O_R!_O`{+%mkAPO$Ve5*N(iBJB; zQfI^p)qgil|G!arK!SPqlCQR|#7@589cNf%u-}&^fPgLtiT|_y7%WRACS67?^|Pa8 z0qkh0NhDZBmx-n!>NcRmxucV%q^xN#1UX zWc-`u_KX1)9bM@kg>U|wUDcB@02wv*ZVg8%zy5PfwI&~PVv;}qIUB=&>%)ZaqX(i5 zW;-IA{d=JH0Po61e{1q`4~0Sy}5uR)sva>M%NZuS>@u#;U4 znLq9vrhAuIS`u-+7GH6W%?CD@yJA3E*=mO)TC`1EqiOh|J;yuGu|M&jzhu#}%)a2E zT`YwceFcRoO9)4+(we+?#R z=WD)3qJuy6HTYF9Kle4b!~mZ74H(Hle(g6bH>}wXhX}Z<6s-1?tue3k4B^jygN;fk zxHoUB1uHu?TaDv+=fS=P;p8E^ULMT;W#;_jJa}ms&-)(xr->I(RXDG`0O2cwzj=W@ zOCovwf1o*c@>l=Evg9cCBH#NBAP0ZThRf02vEpx`q>AAizh%ih{3$tvO0oQvZ&`d0 z)bne-*Y|2!G)sn=zyU(vv^OQ|ouXDqL6Q@!)no zX{f+3H)2lr?i!0;&ywfjKYkC{E}rN8fVK?d>wZ831y5i90~^JE{sCl6;F&){s!HVd z{K#gq*HDv||9TwXI#0FmA@9f*DvjW|m)J6}^@lH^F{AifmoT)Fxa}u{tSobf~3>=GWVm?6kGXcTN-vWTrfo=wSThwYeg4@2X}ciNQE z^l)I^#eNON(JRz_^a^zs3mxBaQMdS^?RE)|s2drl?55*HgS8HF4%?3!Z5Nx4{<8rGu|;5JNk
::new(); + let mut values = Vec::::new(); + let mut call_data = Vec::::new(); + let mut gas_limits = Vec::::new(); + + // Add only deposit transaction to batch + to_addresses.push(Address::from(*MULTI_ASSET_DELEGATION)); + values.push(U256::ZERO); + let deposit_call = precompile + .deposit(U256::ZERO, *usdc.address(), delegate_amount, multiplier) + .calldata() + .clone(); + call_data.push(deposit_call); + gas_limits.push(500000); // Increase gas limit just to be safe + + // Execute batch transaction with only deposit + info!("Executing batch with deposit only"); + let batch_result = batch_precompile + .batchAll(to_addresses, values, call_data, gas_limits) + .from(bob.address()) + .send() + .await? + .with_timeout(Some(Duration::from_secs(10))) + .get_receipt() + .await?; + + assert!(batch_result.status(), "Batch deposit transaction failed"); + + // Check the balance after batch deposit + let bob_balance_after_deposit = usdc.balanceOf(bob.address()).call().await?; + let expected_balance_after_deposit = mint_amount - delegate_amount; + assert_eq!( + bob_balance_after_deposit._0, expected_balance_after_deposit, + "Deposit through batch transaction failed: expected {} but got {}", + expected_balance_after_deposit, bob_balance_after_deposit._0 + ); + + anyhow::Ok(()) + }) +} + #[test] fn deposits_withdraw_asset_id() { run_mad_test(|t| async move { diff --git a/precompiles/batch/Batch.sol b/precompiles/batch/Batch.sol index 887442131..5b8aa33d4 100644 --- a/precompiles/batch/Batch.sol +++ b/precompiles/batch/Batch.sol @@ -2,17 +2,16 @@ pragma solidity >=0.8.3; /// @dev The Batch contract's address. -address constant BATCH_ADDRESS = 0x0000000000000000000000000000000000000808; +address constant BATCH_ADDRESS = 0x0000000000000000000000000000000000000804; /// @dev The Batch contract's instance. Batch constant BATCH_CONTRACT = Batch(BATCH_ADDRESS); -/// @author Tangle Network -/// @author Originally built by Moonbeam Team +/// @author The Moonbeam Team /// @title Batch precompile /// @dev Allows to perform multiple calls throught one call to the precompile. /// Can be used by EOA to do multiple calls in a single transaction. -/// @custom:address 0x0000000000000000000000000000000000000808 +/// @custom:address 0x0000000000000000000000000000000000000804 interface Batch { /// @dev Batch multiple calls into a single transaction. /// All calls are performed from the address calling this precompile. diff --git a/precompiles/batch/src/lib.rs b/precompiles/batch/src/lib.rs index 1bd692bc1..4886930a5 100644 --- a/precompiles/batch/src/lib.rs +++ b/precompiles/batch/src/lib.rs @@ -1,26 +1,25 @@ -// This file is part of Tangle. -// Copyright (C) 2022-2024 Tangle Foundation. -// -// This file is part of pallet-evm-precompile-batch package, originally developed by Purestake -// Inc. Pallet-evm-precompile-batch package used in Tangle Network in terms of GPLv3. - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +// Copyright 2019-2025 PureStake Inc. +// This file is part of Moonbeam. + +// Moonbeam is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Moonbeam is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Moonbeam. If not, see . //! Precompile to interact with pallet_balances instances using the ERC20 interface standard. #![cfg_attr(not(feature = "std"), no_std)] -use fp_evm::{ExitError, ExitReason, Log, PrecompileFailure, PrecompileHandle, Transfer}; +use evm::{ExitError, ExitReason}; +use fp_evm::{Context, Log, PrecompileFailure, PrecompileHandle, Transfer}; use frame_support::traits::ConstU32; use precompile_utils::{evm::costs::call_cost, prelude::*}; use sp_core::{H160, U256}; @@ -58,7 +57,7 @@ pub fn log_subcall_failed(address: impl Into, index: usize) -> Log { #[derive(Debug, Clone)] pub struct BatchPrecompile(PhantomData); -// No funds are transferred to the precompile address. +// No funds are transfered to the precompile address. // Transfers will directly be made on the behalf of the user by the precompile. #[precompile_utils::precompile] impl BatchPrecompile @@ -131,6 +130,9 @@ where let value = value.unwrap_or(U256::zero()); let call_data = call_data.unwrap_or(vec![]); + let sub_context = + Context { caller: handle.context().caller, address, apparent_value: value }; + let transfer = if value.is_zero() { None } else { @@ -146,7 +148,9 @@ where (None, Mode::BatchAll) => { return Err(PrecompileFailure::Error { exit_status: ExitError::OutOfGas }) }, - (None, _) => return Ok(()), + (None, _) => { + return Ok(()); + }, }; // Cost of the call itself that the batch precompile must pay. @@ -194,12 +198,8 @@ where }, }; - // Execute the subcall with the provided gas limit - // Create a sub_context that matches the parent context's caller - // This ensures that state changes from the subcall are properly committed - let context = handle.context().clone(); let (reason, output) = - handle.call(address, transfer, call_data, Some(forwarded_gas), false, &context); + handle.call(address, transfer, call_data, Some(forwarded_gas), false, &sub_context); // Logs // We reserved enough gas so this should not OOG. @@ -224,7 +224,7 @@ where return Err(PrecompileFailure::Fatal { exit_status }) }, - // BatchAll : Reverts and errors are immediately forwarded. + // BatchAll : Reverts and errors are immediatly forwarded. (Mode::BatchAll, ExitReason::Revert(exit_status)) => { return Err(PrecompileFailure::Revert { exit_status, output }) }, diff --git a/precompiles/call-permit/CallPermit.sol b/precompiles/call-permit/CallPermit.sol index 7b4050a12..63b485184 100644 --- a/precompiles/call-permit/CallPermit.sol +++ b/precompiles/call-permit/CallPermit.sol @@ -2,7 +2,7 @@ pragma solidity >=0.8.3; /// @dev The CallPermit contract's address. -address constant CALL_PERMIT_ADDRESS = 0x000000000000000000000000000000000000080a; +address constant CALL_PERMIT_ADDRESS = 0x0000000000000000000000000000000000000805; /// @dev The CallPermit contract's instance. CallPermit constant CALL_PERMIT_CONTRACT = CallPermit(CALL_PERMIT_ADDRESS); @@ -12,7 +12,7 @@ CallPermit constant CALL_PERMIT_CONTRACT = CallPermit(CALL_PERMIT_ADDRESS); /// @title Call Permit Interface /// @dev The interface aims to be a general-purpose tool to perform gas-less transactions. It uses the EIP-712 standard, /// and signed messages can be dispatched by another network participant with a transaction -/// @custom:address 0x000000000000000000000000000000000000080a +/// @custom:address 0x0000000000000000000000000000000000000805 interface CallPermit { /// @dev Dispatch a call on the behalf of an other user with a EIP712 permit. /// Will revert if the permit is not valid or if the dispatched call reverts or errors (such as diff --git a/precompiles/preimage/Preimage.sol b/precompiles/preimage/Preimage.sol index 6e93b1972..d54b140f8 100644 --- a/precompiles/preimage/Preimage.sol +++ b/precompiles/preimage/Preimage.sol @@ -2,7 +2,7 @@ pragma solidity >=0.8.3; /// @dev The Preimage contract's address. -address constant PREIMAGE_ADDRESS = 0x0000000000000000000000000000000000000813; +address constant PREIMAGE_ADDRESS = 0x0000000000000000000000000000000000000806; /// @dev The Preimage contract's instance. Preimage constant PREIMAGE_CONTRACT = Preimage(PREIMAGE_ADDRESS); @@ -11,7 +11,7 @@ Preimage constant PREIMAGE_CONTRACT = Preimage(PREIMAGE_ADDRESS); /// @author Originally built by Moonbeam Team /// @title Pallet Preimage Interface /// @title The interface through which solidity contracts will interact with the Preimage pallet -/// @custom:address 0x0000000000000000000000000000000000000813 +/// @custom:address 0x0000000000000000000000000000000000000806 interface Preimage { /// @dev Register a Preimage on-chain. /// @custom:selector cb00f603 From 247d694832d3eaac0b12bd12c4528ae00632ba2c Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Thu, 27 Feb 2025 20:13:14 +0530 Subject: [PATCH 07/30] another fix --- node/tests/evm_restaking.rs | 35 ++++++++++++------ pallets/multi-asset-delegation/src/lib.rs | 1 - .../metadata/tangle-testnet-runtime.scale | Bin 429775 -> 429853 bytes 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/node/tests/evm_restaking.rs b/node/tests/evm_restaking.rs index d017be2ba..66279e405 100644 --- a/node/tests/evm_restaking.rs +++ b/node/tests/evm_restaking.rs @@ -1056,23 +1056,34 @@ fn mad_rewards() { // Mint USDC for Bob let mint_amount = U256::from(MOCK_DEPOSIT * 100); - let _mint_call = api::tx().assets().mint( + let mint_call = api::tx().assets().mint( t.usdc_asset_id, bob.address().to_account_id().into(), mint_amount.to::(), ); - // // Deposit WETH to LRT - // let lrt = TangleLiquidRestakingVault::new(lrt_address, &bob_provider); - // let deposit_result = lrt - // .deposit(deposit_amount, bob.address()) - // .send() - // .await? - // .with_timeout(Some(Duration::from_secs(5))) - // .get_receipt() - // .await?; - // assert!(deposit_result.status()); - // info!("Deposited {} WETH in LRT", format_ether(deposit_amount)); + info!("Minting {mint_amount} USDC for Bob"); + + let mut result = t + .subxt + .tx() + .sign_and_submit_then_watch_default(&mint_call, &alice.substrate_signer()) + .await?; + while let Some(Ok(s)) = result.next().await { + if let TxStatus::InBestBlock(b) = s { + let evs = match b.wait_for_success().await { + Ok(evs) => evs, + Err(e) => { + error!("Error: {:?}", e); + break; + }, + }; + evs.find_first::()? + .expect("Issued event to be emitted"); + info!("Minted {mint_amount} USDC for Bob"); + break; + } + } // Delegate assets let precompile = MultiAssetDelegation::new(MULTI_ASSET_DELEGATION, &bob_provider); diff --git a/pallets/multi-asset-delegation/src/lib.rs b/pallets/multi-asset-delegation/src/lib.rs index b1e5830e2..5f602ac02 100644 --- a/pallets/multi-asset-delegation/src/lib.rs +++ b/pallets/multi-asset-delegation/src/lib.rs @@ -804,7 +804,6 @@ pub mod pallet { // ensure the caps have not been exceeded let remaining = T::RewardsManager::get_asset_deposit_cap_remaining(asset) .map_err(|_| Error::::AssetConfigNotFound)?; - log::info!(target: crate::LOG_TARGET, "RewardsManager remaining: {:?}", remaining); ensure!(amount <= remaining, Error::::DepositExceedsCapForAsset); Self::process_deposit(who.clone(), asset, amount, lock_multiplier)?; Self::deposit_event(Event::Deposited { who, amount, asset }); diff --git a/tangle-subxt/metadata/tangle-testnet-runtime.scale b/tangle-subxt/metadata/tangle-testnet-runtime.scale index 9082edd3873e095b4f7f51b511a72b8dfb713c4f..d967b9663e764132c5eaeed095d3a27dd3dc9cc3 100644 GIT binary patch delta 11655 zcmeHNd3aPsw!f#U?oD?V=#T`uvylXv5Y_|;B#;1M(})2=2#Xj)lQhsnlFo_*4U03# zFg{@Nu2`a?WB`?sFoPl1prW9nqO2-vzy(y?AV5@9(C9mLZ)ZXD``%ygulIeoyXu_! z)pn{*)u~f;Y;*YLN5lX94TZXfZ)vF?ROy8QNwBuzfq)V9kjaC0(NMkbbK~2hBlpf? zSp)|1558nhzJC`DXgIic3bZA6ARAUbmqXM%0%5?{f5{>nzT0<-L2kpbm!bf2^DjN_VYFWNYJZ5;kG$Fo zoO%oXC+K0X_3AN@K%i&%FvY6ab1KU{B@3C7MBr{-dkmXi@LFiM8%j>qm%Wzu`|M=> z;%fn{J%1OYJry~gW$w|6lCJlBeWgDC)i`c@hu%$s319yX?G=sfP8sK2n%3U-(MphF zyVX-s$*@oS*gG`5CsV=*Y#HaRDk*dq&U6=~U7vvuI!R+l7~!?ES)wbLupC8Uii3b% zVrO984x%VnBT9wYO{p+81A+)xY*V}?C@#g8<1KbGB?y6_D6tr*R>dg;e(yQloS|VPnedgT%~00Nk6(mtB-Lz&zT!}*{_UZWeJ6HmMh2F^EJ*}wnTSz> zbfydyCCkhemhEf&oKCs2vBGG5_8W6?kS z&yi(i6D7|qEXL(4tgKUEF2pd4;wJbR@(T0#P{o~49;3>mZ_ey_U1i0x0uNEjWQZkI z5q>s6jcmw2d`yMvhQV(QV5Eldqen?Uea*XfkyV7Bd5a8bC|%|PoxlHAsMceerb3Ng z+O#5J)pcXB`o^(XjkVxdtVXm`Pd}AQ))L;_Lv=LNpK1kIr$6<<5~$@#y;y%e>%*CC z(PJNOg-s0=AMKTpfoD>n7XN$bHD~VXwvoU9pH5T_9fH$hqwas!nXu`)hHSpEA)C#H zY(}Ak>P2T~LY@Bd*<9;(DTQ=UcIdI6jDUK5&LbLL zz+U~Q&&I)lhSBGKRULa}#(hM=562=UML8fDDat{8?1k=n(fLVmNN+gbN6%^=oN|OH zfnYE3mKVEt!9IomYuiedB32f)90P^%Ve{v9&>ZRB2 z&?o#H!-6R6(_60HuD|kg91EtHNfMJ$zWINEy{H zVIiY_jbUrs`M*Z9bv|NaD#VbD28iDZVA*&8`m@clcUXhuB*ALF9H0jF%3vP9oj^1@ zz>Fs3@zVr)vO^|yJHL&B6OQne6#l|av@r`A#IutO2UnJOoiPhP1)47=I} z{Z7TwTA9&&Ow%A5fCpP3pMRr43XG%0YtGyo!4h6X!~ly3tdfn{nqX=I6| z7Erk}P3y}4j?=n z&MtspBH0)jB%bOC&vsCOMUZD?G14}9;jZ=q{A`8pipsWZ7ZRY(1me6CQFp?r_E{)w z)i6n>37nIC4R+E$z~SdAEcTT6W+x9?0~VtVGW+Qoc+aF3fWzXcsHk$6Bk+%N$q6p7 zi{n^(Kl+V>%#H^A*F^Z#s2P#5?e#o$6STB(?R=mPf$iBnIy~-&ln8zp_8S&4Rfk=>Nr!)9C+B{J~UTHPFs)-va&Q=;0(8C>poG-1dQO zpQxDhOgp6eRsaK1HBycq_q|0;Cu%>Ov5Pfk9R_M zG5Mcx7a?Jk+eWb-l9dP!ZbKs$qWEp~kcvj@hqA}m`LH~iDgxuCEfyKYfig)K+F`}SSRu! z`%rqByl5X(u{?@qigzE3=o_;Z%JV%7B71d!uXjNU?k!rUWA0fx!3}C;gICyq|}ikb36-6T$NSjXxipt z|L9m_!<}PvHH&6bCGWRYyE>|lao<>VCzj%pd8Z;u3eF`<^H57Gj~) zDoU}Kw;vW7^G&XH{O3=>BECKV6O75(&f>@l7V{6n1}Zn#>`@LLcnCMDD$)NC%m=6! z>)(I?AoWClaZIu}{w7Qym>70c4oH=VItDvr_}X#krs2AE>Rs3)6+@~*0LpBMr$Aat ztHhr7;4V$Bf=M62zg3^^I0Uxp7Xll_PoKk+1S{M26<7dPi~6qtCv+A6xETg&K-tYu z&AVNM1gPO@7a<*~Wf!40siB4uZJ7SBihp_$H}=)sbqV+FwS3Jb@E!fSi?f#?gh@l? z`)^UT>P7r_Fcdq-=UxFksI;@6xB}BSwhLSq zMz>K8zMK&Y)QWwCtTvdq%Q-BSuJVO$xv}A1(FWlNNfd&S{)RX{^Cvlgvoa-+tY;f( zV4=QCbLfxW;>W)ZBzAM@=q?;Vypj3GzB1SN{c z;|K@X$Vc}kaTvIIlV31to|B9S*-p_Sj;Zh#Rmp+fPJ!j*qou6D#zRMuW*YOst)8s#S? zMs*^R5+t$0moy}~Q_|3kPQ@qyLiU*)p$dKm{)EJzK!Qqp9WzQnkS40& zX8=BwfDa`Ae-a?2L(WkJKLhZU1big{vZ)AYmVg$j;Aa4?NWc{dP?Z%1;;KZnQUyN) z0Spm<*{Nn0A*D;KOu^3p1W7=U1o)W%DRL5qjsYLQAps5vkY@{Qgd7GE%M|>K5}Xp? zWLQ77ng}^IWFS-UGZ0AGHvw|ENGenCGXUulkS+lMCO{4$naC9U3_zv?WJ*Aw z36R4|vYCRP0mx-Jh{%CMYtrOiwTh9PdrS)&j1ulK(PdLH34Oe zyPTwt)Ty|LHm!q5Q}rv_7)li{N+8aVYFS(jQ}Dx?q^x4fD!wg&RN$&rx{&k~Bl?l9 zL6)@)3_lC6OMp-@e*`J@3u-ILYX5tVo0p9tu@8(Pciv zk-$1J`6lw9-*1Zhbqe`bt~kpMkOCsujH%PS-aYzM;)an&s}L~Jf3FB98Z*;6Z3*2&PO)XM%% z#d7z{V3VW<^g-`NAbNnjr6|h495=e0kR#97iha7f*t^7SE?*MM*DoTyNF6iQ`%uO7 zF=cl0nQZ4jEF#W+J6LBIQ$4%E#Z-^&!R@i$EGcX^GmC0u9qy{#{5}sEXGe+0Oe}Y0 zqRq5aQ5t1Gb~9x!!{ZHg`Jk9c7i%GK8N#T{WajyApzPyAC;)_ej zy=V@7Q$q6O&X?^a-Q?y{SVme1p7HKh)hJO>Nj6xKpv#F94vB>2#49(RO)GJb>Uoz9 z#4h(rc`D&!HxNJm>MHUemXUuCnSmPu-?N%D$-Oz>6CrWN$>QaENtWE(g8xdI5&G+2 zaXc~X^EbI)9btM>Q8fR{ePl55_S{EOWHHU_Nz8Am6Ik60*%UKPJX1^bPUPbI$ywEx z`r8ISn)b}3ZPl^e}lYkZ5LtSJJ^|aYT&!1k&-6H%hoXmZ*3x@$%j7T!YLBO zA6bYxg-tS&4bHAp$ic?7aT3W_9Yhd+HG=gb%?2l&|M@g2f);-HG`S6~@C_dmR9@*m z;;(!_UcR0KACdd7=XCv;thkONEN4h>KV%L30_Aj-@eOG>wk2PXmlu=>4av!iDZ)bRE};7hB1j?L*bLm3A=*IlD9) zIul({;sl{_?Hb@?@(@N3$nwyRc8E)iUNFl*b5nfpN2eKhxeV}pE1m4C*uf84X*6sX zpIK=wgJ8a-3(dgg`afN0((EV|Y!k3P1wxD53tdGWbl{!t`5lz4+~ck6AVb~7E>9OR)sOB16t9Gox4pnZD zQEHT`MDel^YUiJHr9Jw_A{!Ljbl06|DL9cJ1~G&w2}s~E7gL6!O~GSr)V?AKd78l+ zΞ%{0w3Q+7w7w3?hXYK2fVdpsA6LDgH{RtRayp8At_~6jnG9sX&v$8Z(g!GAXPw z3#l$9H4H5dq`HnXNwi~fk+hiMppJ0>1rp&>#ZYG6o$wMl{q_8nAe$7TBR=APb z-Cz#EdOb+>Fe$9J7%96+VZCKYIZO(xtwJi?q_Em*q#{fTtF1vQ(xkB3RY*md6jr+$ zsc3^5iZWQ+1<9T!i9%S%{}D`QuaF~w=A#s&90!Vh!l*F{(vr0(10`1?EQ%ZlG(Kfi zj)GxjT8uF;>`99ubi*#R7!o%uK#L)6!`8DHvNo(biy>$lgoY%RCdF)6Y8FGphD~NM zBuaw~fD|X~W<*^w8e&AHJZYE_mBOUmji{6)?O{Zv7^&TeN*Pjz5tRa@;YPG(jEqMZ zaVa|*X+)*qXp|9ME2Ggybe)X$G@`W_B@R{D$VY_G_>fJK+^j12NpmntRqEtq-AI{bF4a5vt=@!BXF zCH%wa?bKMMdx`t(bTPR;IXr?+Bj^HN97TKj*799ZRKFhNj;0QRsbXaey#xGr%Ps&_ z8dc*G;DI>mfW16Cjt*4!spuHfv$YVOA4f-_CG>C{jV60leQL9vza2-%q21KI7hQ=d zycaG=2YFL3n&mt5cDiK{3wqO^eAl$y`I$k~28VddAezvD=_NksL!144d3_jx81%Xu z7r{M5O)~AnFyppV8jr5^!>QP$6WlVAR%39_NSXvE`JRz97S8c^N76WZi;6C#%xOu< z$*D8ST_qJR!;_&9zCVqI^M0dfE;R9#qv%-N?hlN@UN`a6qi7~l&NMoNqIJZ#q|qL{ z4F7QZUzWn6v>ErC?gd<*SP zejk~cMIT~jlAZsYO*pzQSEg-I-NR4#%hoCJ*3GAEwWPn`gg8qximNX5sfAp|Q~(4Q|eH zm!k{So#n1{Nt-ZjJnFgaPu}?z)%@)vbTYaPdLE@C%%Cq{ag-iLmw87yWyfeFR+8~H z9fqF1=o56X73{96%0=FCljQx5Q-5C)FFcOZ#pL^et;oC3>jRxWPOZKKe~2u?29;E} zjkH88z3dFipp36LO}k@&LL8q^b=~wWzH#~%o71=2ka<{*Pbb!O5_^s8#@NVJsHwMj z=U*oPd#S73Ra{~8y|2Yy?yjgRsx+v0g8mfD7sva)jjKuLo+qM^N#fa~S%f(L z8Qo;)RokI4L_F{{&6A#A^IVGO$T1x{_J`+9vGY6nONZk9A&z5tAtLHW)F*Q~hKbvL zqF(~~cgMHVhvX%#=}V9}JZaH5F~G`}`1ziV^cTl$Y`EroI5Jd>?7?f->^*R!x@9D54QU~f<6K29+<(BXSis^bY!SDOV)=gH6wi)h_W~~8 z8539qnkbDESQS$JCo-?eOyI9fWJ7#+M3BnECb7wQR&h;YpP`#XOv+^bs=W#=$qe)@ zl615SF=UoHW>+#T`sMLQ*&3AmlWsN(G9OsL4m0$Z+jvqw-j#j2fW@*p3N!fr zND?X{7qYh)o)#}HX3xVqzO#tEi@p7GF+&f3Ccormub|}jl(PL+bTd^gV~eCi@1wif z-vC;KXE|G8Gkr*dg?$4H?uH%jSI45!ddsY1)1s>IUT-`;(@-F#*i}8>osW-JJl;Z2 z!4(Gg^C=&YUc9M}1wf-XSI73^6%2oD8~X)sVjkVjK9xPYX9r6scvRf~6f4GH&`x#- zUIDDz$*O`nyWNs`*)EnO#@4eb7IX=2Xk;7lZ3K5di=&&xH$KapxOPAHEPDvxgqZm} zdj@c>K;+!2luw!H1VY{n3UX_T z2mQx*<%oA=d`mO#5e1*I<=EJ!FWF=<@Em(wnwsx?&JMC-g0h<0h{f;yf}Ozk9ru07 zvammh#M`4h5%e`Xg%1Mxm*?3eG;ao9V6i>y!PmV6#O1c2vdUG2Z|N3MwfK)yo2hy~ zUTfXM)T_R6^{L?y{;{fdjjXxxVN?wsv~cM;5}?O6^%jFP^~rv?ZNHbORzP?x?L85_ zMV^uhPXXiwqE6b|ZgvZYsHNSl)R-Osw8Kn+9sKJd>b5^f6WfNWJt!*t^TX8$oPzHU zSJAKN=D&_m-wtiP@r2SUK2K3+0d{8PNHtO`@)Ub25At~xWMysW`A~cRxr$T~I$EdLk4dD3k>VF5~3i0ez^$r3% zgk!pjUYk08PmVeYcJmi<)L|iw1ZLY4#}#=C7MriEDh_gWhWauZ`G;nxd(cW>o~!1g zUH(z7>V#(no2gy_Ec@ClbrQf;kugWz4A3e*zD+&P&?hJk=d0uW@JWUUUa0P|;%L8G zs$R6<3f5Sy)?nj?E>klIB#ElK)hP^;#Vae-Why#l#@wquMv?w_t%|ql=>pcN$pr0! z5gXJH3zR)EnX7(iobjwj)qmo=`|(lrIan+9Jf_aU7j&Xaow|i~-ALhh->PJ>66OZgt|Ei&WI2+ZAc=i#Y`_$of%r*I>8iwyxg{w*3smfA5R?%&i%WY@X zU-5F)_KA9{72$d3)d#T>{{02@G9JagXjcCMdqvSj^$8pk5!#~mqUe%N`A)_6e%tx* z@6}}}^xfa9xP~1OIoH&#Bn+QLIe-lt=UO;p5$?l_yhVi-dE(BW)s+rt=0ApMH^E6U zw!4O}pjyP}2o06vs+bm~O_#FW8m--em$It36sMg8?8m|0+5;*HQbk@r?MLaCo;gUX z!)fy4AZ;7g$u|$tHlc@b#87Py!IMVwP|bxW4L)s{79md=#ly4*@fCuWtbK;h2+k*K z!y!z>4cD?EFauvafqm?>a_`b=UOG~X7Mn+CD4R@iOS<-&hU3$1g4QCZ9GisrWHED+ zHjjWyh?})kKNMxlRLzBklE}GD8?Dh=!g#Vv%MxejX-fg`ns1x0#i>>bbO&EGUwawn z)x-j=0%FD90_{UNkld}!1EhakpuMS*t16#1mO89g)wV<1ykgDqK(Ur~W0Jrmyp)a= z4PI@XTtzd=wDpocUZLSLy#z64310kkOQ4CSVdtr=&i52LX%M&HqfHVI->JP%@DNqG zOdF#@hS;-0EAjI`p|&pv1J-D%_E@@7>5Fd70(ZWA+}F1~wPuYr;&Xc5FR%VWpqEgw68u?rMdAM0K^ZEVx{_%c3&pCUo zy}$dm*1oL0_O5>^_-K9b>)%qSZTgNDyMbNL_l$?irsqA!ZG$8}JDvFHL*JO%MULNd zA4?`MoZr>TqMP>anFn1dJ)ovFZ)6d51_6KIr!TV5rth0SWsuf%^zAT!H2vt?Bb!3s zSwmExnXV$c{^`5Jz*pDaivoZBF8mMDXTBHZ7e>I#F?NjNu2{3mOC3c8Oo`Mp-;eV2 zQ2bI$OKp`*iP3%DPw?@TwnhFnh-@%-4%a=frk<#15YJP23}Z{ z?cFFo^GoV)jV3T{imRe1-=06$o;R@~F*YJAMNy*l_z&XwIN#7I(q@{k`Ei`2+? z!m<>FDG3CuGD|kXo74G7n5hv%a_nh!_z zNh1(C+g_SyFDh4*H2w175$+i>e=1RC7zKIFX9hU;6CVF(rgqXBC$_Tt$p!Lj?hgp;$#xe6n0lJ5wsK zB2bhH%&`(j)*ns>5~$L5e!d*4`RXXFW$qVqyU0(z_%B%3wCc+}fDqSLf%=TEBB2_o z=lZQB5Np;mv10Tn6#81d|GDUxb$3)>^ULaM%<5}&+qnm!RzG|$$9;qBdNL?=`dwd- zgL-}O*Qu6zjMIFS27Sxd4?ts+<@_yx%{sd<1$H#uec`qmv{`1_Mil%|^ofbe4jGZC z?9zR&2Iv)S>99wCvu!ZhL-frsJh7Q5USKV9l{#&O%>-Ds0p$(v@g9fcU%Mpg!?x zu>MusNPX?q(QriHb9Evd*MGSBUvNTy@mlie6NGt9bv+~%bc*2E#XrUPBWH+$A9m<0 z@lnnqMJ!Q{FGJwiH&?)qsBfPU?#hnYKtM((S@LjB0?AU2%B4hi3o4&iJ;7xNB8 zFdH>X<4B(blfK~rA?&;g z4Mv^io)E^atI%w4?Vb?HZeR(9Bzd_P3}ziFoH7z`dchE)YEnPE+8Yar*I+YmaD#>X zCvWUWk_P7u;MzVAOENWCv+(T;9)JqtVLmXcYYd2vc~C;TxhEIEBF`?4e=!UKgw+A( zjNv1Pj2Sg-8SEupC~?~fW!)uo0*1oFJyCxd25L7N%M?bE9F1c8NcgmSY>J?VAzh{k zOdD!M*S-Qle9a^?f6J>Rh;N((ZnCgUPihrKW8tKwt7yKkGwI)FGP;00_7X=X!C2Ov z)9C1HHIUKMGOya6ZbwR>(cWP?wD$;O-#y@UXBoHdf&Vs|XQ20H!RDUct;&JF^>Bsv z!BT@ec|R8b*PR? zj2O@eVBlI7(I7G5zhOzwRKS7erd$2{@MD`H&os;YMaF9|v8!Ml;9KDLpo)oGK_{T{ zV}F9_;Ld}#Lk4*BeXm0jggyUf7$Dx<4g`8f`3dhG@G(H7`09V4N+vDZ330i;)RK`8 z{#5aS2-lJ&b~K|({V8Ci0zPGhuJRxXK3Nzl5VyopT2`LB)NVtJF9qv#gHm8jnLW={ zl>f^V#g|{*2|K}`Z`uXpaIRvN{{772a1V_6oP98mB~e(% zuk3>6s5ABiqj~Dz;U@xX z1#5*@30A%B5?BB##O})wPpO^ya9c9-=eMsyfYwgfba3#HYY>ALaN0FUM((j|Fo-xQ z&-{!|ff9cC8jk-8{$M*qLnVK<9pu?4ZZHiH-?T%2Cas*?*HPW|BJKwm4WadDw$89S z7u!px;xPj!LPT+?tJqa$lg3de^7Vhf9N9K{6Ru;(Z~O?8ksaRwpEIZuL4?G2&0(v^ zrzE9|3*ya;SkQQWRwHrZ2S#$bQmpRQa$9MEy&R>2J5v`>AaK4Em1y%KS%5iH`;gzl zT7Ik#nb6r09S9+LQeH5E8t) z4o5Cnm%GaCWuqE<=+S$6=rIR+=!D}v^w={!^tjd@I`MiBodgWa4>ihqI%omU_K&-_^p;5C(TsB&&bpwGqoT?QB5+plmg3`Dy` zv`d6$79mAUZcqh31JEG>9TMPX0;JrD$`t$zfICBgJ2J*O1sfrCL428lp8@cf0Dp${ zQ+KlnsUQ-@6#NWCq(np_Lp@A@)ES9E7eXgsxC9KB08bMj^+*!%$lnP_l7J)$@G=2X zwPId-)!420qM288FOwulwi|zYK2oKC6{k!P& zEaHcAc77HajKQN>ID^;m#w-#IHT+N(iNU4gdKOvYgVX$heBw@E17ETPqwB=8OUNnW zQz@H!gD6!p^iirgHgW)e>Otbo3r~|M9uZ3-O!kow7KLSZrw>NAh8Ox8T*W9LuPi${ zfiOlMv=!?dyVJGYZmdY%8RAGS<2z2!I6uYo;3V~OmTY)_8Hv8Dj`j9s)U#jsGU~CF zxDnQy1^G8Hv!q7W;|prwzgtG81fp6Z(n@U^XcDbZlt$UR2BvK0ZOh1L*d`(i$=@m6 z#=Lm-L^M7ki%BSM?J33NO|)cg6_W+s+gV8oL03e*aF*fT0=q=+aVXb;nN;^;-)^Am7W4pThk7R|(y-FgwF#P7L< za^n#C$Xn!am-W7A9~sEth&k(C+E08;Iy&MwgE3QGMN1q7vx-f37{oelD{`HNrBQaA zf4`p$f#W>%9Ws=hV0=4a{$l<+WG}!eKKWe|^1RCWnB)*M2o{gNOFrl}^oMxnr@hh8|Rb*d5dkEbw{OhY^Jh{$z#5ICPG{*0} zMlMT!d^>qr@}ISnF=&SSd`kkQXJ*7YD^LBFM0H7rSA9zk0*Jf6BTE4n!Pmbh2XN$y z<^Ld!(yj`|Fs-PU4fBoEbSOIHuX4;sDFolX4YPBRTW zdPf#ZjA2%O=t;w2gJ|=lwG4o-_MxeGux#<6@hRRa_)Np96!0sw7uX7Wc&~@-i+ebq zQirR&hxM~NZH_{39_LGga7X!-FAWLrNewMWW3t>{+8v{)s5mGQ?m;F(n8YJkDauXtWq)c7qwil<9bN zV9;mRrGQ*$hZZK#p4966_y^wYODvl}f$a{7}?K^#A;_C*Wcu@-c02D3~m%w zTZg-szsX^>IhYn;a#-y=wJ16YozYQ)=y2G^GY8Q*5j#|Ppx7uq z*IvHVUTUv!jvsH7r3lwxiiVbX znCGo=)CczPn{hOz_f6dH$tQUB%?)ZGa_ zVloZk7gA`RS?(0ve1AKMPH;OV#eGKQu_-i&w@#wdcx?(Ev(qNiXYWM9d6AP!!vI?O z*=aNogQuq;+r~Ffq1S&NDNanq(ev|IjvlN>G4jPUI>f)t(6g$vW5_HU-~cGsRemy! zzDRDUy7MI~e=40ekPelfZD9lXth?!0++ZKSn^uE6;DM5C07d0K8FU;vHAl>%K^AKn zip5@Pa8ckbYBJ~zg3gd9?xjT#BYwD-29SS)<%mU3)+}1hOoWxI+0=$~K{hJZTh?Rc zf6S)Q;LDF>)36YK4JK!mj!H;~PwLSIP9k5;hu3D)P<`JSVNn7 z85$+SZFEq#Vapd5&=B!>K7FglWWcBzqYUG2!~jG%=*I3SH=k0wt?=J8XT~ym8L*Ax zopcCI($Gpj#KOg+PCBDR>VS+hpadUZg`IM>M`jC-`GUXSdVDuC*fWb?VVYXTDDF zWB4FolU~1PsQCDGx<-QqeEo+sR#XdW?eBw@p5amhKZiU(){D&_(DT&9T!ftGKciuM z!%@`XJihNJ4MjKQ>7(=>^h+)}Mu+m*$7o-Z{vPHT*wW*45L=+ZGd%ty8pVrG&_3vf zTm4rWXR+EU%9o;-*Wf%N(4TED!24*E=S6?Tbx~7+mof@}&!y@^rkI~pH z;lKYF*U!$be*Q6aGwC5zDe1(;pP<%%(OcQV3ZoYP%FbHW^{S;38y}@x53VAWn*RL3 zC>gwQFxXb9L89Eo(jE4~{OrnNdkUIk@>xnnUb#j27pY2>1{ZrhDj9lb?%0Ssd3?z7 zK?GD84NI) z-c!Yc|D;1HP6c!{`HNR?(Tjk-;MxxQqH#OijpHjXph2+Goh^3*r@;3pi#2?VqNl7J zC7uXm+cb1hC4{pB(kmsOk%++&?0yQ>0vT%{9vfd6&pP^_C81Mng*H5jgH^GB#gTtj zygGs9x`Ds2Ol6M)?gs0pu`;x4Xd0_Pt}>0e%*YttFP)9*yi0-@o|n$3OvbD2YRcXs-y9K6WRo?gdpx!lOk$<7?xEFYc$@3WOTF<7;g zEyN3k&$gn@l0@b<_Ou0iab_3Wz|hPp+lx9(=I8dZXxtdw-(W8Sw1`b_vfY3q0z&6k zBuXQ>*z$`?IDL;22=c=Ivu1luRERs+k&oMel7AOazWydj6L`I>FV zmc^ZC?a-&UAF|TZIL-3h3+zc;?k`?o*YM`>)I~M}`-AX%cxfxU2s6a|Z`h~!oQ{vZ z%+k>cs=CY~193&*8>#9i!`)PM_U0!r^>?^U9AoN@-kR#1QGB?j_VsiA^7WKc%+}P8 z@50?aI$kY9K17j}fEQP5&lM zd^=hVq&Qza#;GAVmXwoLeB&qiScH+bFYN%G|a5~C&@js1M z2bfWjIBu_vS62|U_8rM;B{xJ7=zX9kA@__p7L#RY!q6p85&J zw;3Y0K;7w%iu5Z{uUK&Xp)1uYY-IIHHI?AC`~FqxOa{@SU$weY1$R;NxcV|he)v;r zB*ljTvue}?0t>|2^=f|$*#20@RX1tb{r)BOHJrfdFRO2$s%XX<(@TemeH>+cW>dO#r9L`R#ler zg$e|R;KH-&ZMk7|D$3Mt?eXu#+Wchv*8(ozcfY*k>`sy#%M1<7|%}7zQz|ANn^FK_-dkf ztdaeaw~M|NKkUal44*+|qZ$6FwuAR1@dg^u#dTt~jYXn07Apm>CO zd!;rBpFs$+Mk{jjXi>YT|H>z{B&#o7qYOn~W}ZD)p74iuryhDj8}~07Gx$lZUBi3# J>{M^%{{bG+U+4e; From d3731fa56dd2b04201d945ea5319b3c12b174f7e Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Thu, 27 Feb 2025 21:52:32 +0530 Subject: [PATCH 08/30] clippy --- node/tests/evm_restaking.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/node/tests/evm_restaking.rs b/node/tests/evm_restaking.rs index 66279e405..04f498ba8 100644 --- a/node/tests/evm_restaking.rs +++ b/node/tests/evm_restaking.rs @@ -196,8 +196,8 @@ async fn deploy_tangle_lrt( // Mock values for consistent testing const EIGHTEEN_DECIMALS: u128 = 1_000_000_000_000_000_000_000; -const MOCK_DEPOSIT_CAP: u128 = 100_000_000 * EIGHTEEN_DECIMALS; // 100k tokens with 18 decimals -const MOCK_DEPOSIT: u128 = 10_000 * EIGHTEEN_DECIMALS; // 100k tokens with 18 decimals +const MOCK_DEPOSIT_CAP: u128 = 100_000_0000 * EIGHTEEN_DECIMALS; // 100k tokens with 18 decimals +const MOCK_DEPOSIT: u128 = 100_000 * EIGHTEEN_DECIMALS; // 100k tokens with 18 decimals const MOCK_APY: u32 = 10; // 10% APY /// Setup the E2E test environment. @@ -1069,6 +1069,7 @@ fn mad_rewards() { .tx() .sign_and_submit_then_watch_default(&mint_call, &alice.substrate_signer()) .await?; + while let Some(Ok(s)) = result.next().await { if let TxStatus::InBestBlock(b) = s { let evs = match b.wait_for_success().await { From 4149b811e634434a087587badb4b3a7b9954aef7 Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Fri, 28 Feb 2025 02:20:36 +0530 Subject: [PATCH 09/30] cleanup --- node/tests/evm_restaking.rs | 68 +++++++++++++++++++++---------------- 1 file changed, 38 insertions(+), 30 deletions(-) diff --git a/node/tests/evm_restaking.rs b/node/tests/evm_restaking.rs index 04f498ba8..3285d920b 100644 --- a/node/tests/evm_restaking.rs +++ b/node/tests/evm_restaking.rs @@ -4,28 +4,27 @@ //! testing both ERC20 and Asset ID based delegations. The tests verify operator joining, //! asset delegation, and the correct state updates in the system. -use core::future::Future; -use core::ops::Div; -use core::time::Duration; - -use alloy::primitives::utils::*; -use alloy::primitives::*; -use alloy::providers::Provider; -use alloy::sol; +use core::{future::Future, ops::Div, time::Duration}; + +use alloy::{ + primitives::{utils::*, *}, + providers::Provider, + sol, +}; use anyhow::bail; use sp_runtime::traits::AccountIdConversion; use sp_tracing::{error, info}; use tangle_primitives::time::SECONDS_PER_BLOCK; use tangle_runtime::PalletId; -use tangle_subxt::subxt; -use tangle_subxt::subxt::tx::TxStatus; -use tangle_subxt::tangle_testnet_runtime::api; +use tangle_subxt::{subxt, subxt::tx::TxStatus, tangle_testnet_runtime::api}; mod common; use common::*; -use tangle_subxt::tangle_testnet_runtime::api::runtime_types::pallet_multi_asset_delegation::types::operator::DelegatorBond; -use tangle_subxt::tangle_testnet_runtime::api::runtime_types::tangle_primitives::services::types::Asset; +use tangle_subxt::tangle_testnet_runtime::api::runtime_types::{ + pallet_multi_asset_delegation::types::operator::DelegatorBond, + tangle_primitives::services::types::Asset, +}; sol! { #[allow(clippy::too_many_arguments)] @@ -1056,6 +1055,7 @@ fn mad_rewards() { // Mint USDC for Bob let mint_amount = U256::from(MOCK_DEPOSIT * 100); + let deposit_amount = U256::from(MOCK_DEPOSIT); let mint_call = api::tx().assets().mint( t.usdc_asset_id, bob.address().to_account_id().into(), @@ -1086,20 +1086,29 @@ fn mad_rewards() { } } - // Delegate assets - let precompile = MultiAssetDelegation::new(MULTI_ASSET_DELEGATION, &bob_provider); - let deposit_amount = U256::from(MOCK_DEPOSIT); - - // Deposit and delegate using asset ID - let deposit_result = precompile - .deposit(U256::from(t.usdc_asset_id), Address::ZERO, U256::from(deposit_amount), 0) - .from(bob.address()) - .send() - .await? - .with_timeout(Some(Duration::from_secs(5))) - .get_receipt() + let deposit_call = api::tx().multi_asset_delegation().deposit( + Asset::Custom(t.usdc_asset_id), + MOCK_DEPOSIT, + None, + None, + ); + let mut result = t + .subxt + .tx() + .sign_and_submit_then_watch_default(&deposit_call, &bob.substrate_signer()) .await?; - assert!(deposit_result.status()); + while let Some(Ok(s)) = result.next().await { + if let TxStatus::InBestBlock(b) = s { + let _evs = match b.wait_for_success().await { + Ok(evs) => evs, + Err(e) => { + error!("Error: {:?}", e); + break; + }, + }; + break; + } + } // Wait for one year to pass wait_for_more_blocks(&t.provider, 51).await; @@ -1107,10 +1116,9 @@ fn mad_rewards() { let apy = cfg.apy; info!("APY: {}%", apy.0); - let rewards_addr = api::apis().rewards_api().query_user_rewards( - lrt_address.to_account_id(), - Asset::Erc20((<[u8; 20]>::from(t.usdc)).into()), - ); + let rewards_addr = api::apis() + .rewards_api() + .query_user_rewards(bob.account_id(), Asset::Custom(t.usdc_asset_id).into()); let user_rewards = t.subxt.runtime_api().at_latest().await?.call(rewards_addr).await?; match user_rewards { From 21c24929c5e729381ac36f26fbc94f07f0c76c70 Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Sat, 1 Mar 2025 00:19:21 +0530 Subject: [PATCH 10/30] fix last e2e --- node/tests/evm_restaking.rs | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/node/tests/evm_restaking.rs b/node/tests/evm_restaking.rs index 3285d920b..eb31679da 100644 --- a/node/tests/evm_restaking.rs +++ b/node/tests/evm_restaking.rs @@ -195,7 +195,7 @@ async fn deploy_tangle_lrt( // Mock values for consistent testing const EIGHTEEN_DECIMALS: u128 = 1_000_000_000_000_000_000_000; -const MOCK_DEPOSIT_CAP: u128 = 100_000_0000 * EIGHTEEN_DECIMALS; // 100k tokens with 18 decimals +const MOCK_DEPOSIT_CAP: u128 = 1_000_000_000 * EIGHTEEN_DECIMALS; // 100k tokens with 18 decimals const MOCK_DEPOSIT: u128 = 100_000 * EIGHTEEN_DECIMALS; // 100k tokens with 18 decimals const MOCK_APY: u32 = 10; // 10% APY @@ -1030,7 +1030,6 @@ fn lrt_deposit_withdraw_erc20() { fn mad_rewards() { run_mad_test(|t| async move { let alice = TestAccount::Alice; - let alice_provider = alloy_provider_with_wallet(&t.provider, alice.evm_wallet()); // Join operators let tnt = U256::from(100_000u128); assert!(join_as_operator(&t.subxt, alice.substrate_signer(), tnt.to::()).await?); @@ -1039,23 +1038,11 @@ fn mad_rewards() { let cfg_addr = api::storage().rewards().reward_config_storage(vault_id); let cfg = t.subxt.storage().at_latest().await?.fetch(&cfg_addr).await?.unwrap(); - // Setup a LRT Vault for Alice. - let lrt_address = deploy_tangle_lrt( - alice_provider.clone(), - t.usdc, - alice.account_id().0, - "Liquid Restaked USDC", - "lrtUSDC", - ) - .await?; - // Bob as delegator let bob = TestAccount::Bob; - let bob_provider = alloy_provider_with_wallet(&t.provider, bob.evm_wallet()); // Mint USDC for Bob let mint_amount = U256::from(MOCK_DEPOSIT * 100); - let deposit_amount = U256::from(MOCK_DEPOSIT); let mint_call = api::tx().assets().mint( t.usdc_asset_id, bob.address().to_account_id().into(), @@ -1118,7 +1105,7 @@ fn mad_rewards() { let rewards_addr = api::apis() .rewards_api() - .query_user_rewards(bob.account_id(), Asset::Custom(t.usdc_asset_id).into()); + .query_user_rewards(bob.account_id(), Asset::Custom(t.usdc_asset_id)); let user_rewards = t.subxt.runtime_api().at_latest().await?.call(rewards_addr).await?; match user_rewards { From 7169e17253e47bd93ddcaa003ad6466705b6953a Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Sat, 1 Mar 2025 00:25:59 +0530 Subject: [PATCH 11/30] update ts types --- Cargo.lock | 36 +- Cargo.toml | 2 +- runtime/mainnet/src/lib.rs | 2 +- runtime/testnet/src/lib.rs | 2 +- types/src/interfaces/augment-api-consts.ts | 48 +- types/src/interfaces/augment-api-errors.ts | 167 ++- types/src/interfaces/augment-api-events.ts | 225 ++-- types/src/interfaces/augment-api-query.ts | 147 ++- types/src/interfaces/augment-api-tx.ts | 869 ++++---------- types/src/interfaces/lookup.ts | 1236 +++++++++++++------ types/src/interfaces/registry.ts | 47 +- types/src/interfaces/types-lookup.ts | 1238 ++++++++++++++------ types/src/metadata.json | 2 +- 13 files changed, 2318 insertions(+), 1703 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ffb8a16b6..eb25a7ef0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14,7 +14,7 @@ dependencies = [ [[package]] name = "account-util" -version = "1.2.10" +version = "1.2.11" dependencies = [ "frame-support 37.1.0", "pallet-airdrop-claims", @@ -6167,7 +6167,7 @@ dependencies = [ [[package]] name = "frost-ed448" -version = "1.2.10" +version = "1.2.11" dependencies = [ "ed448-goldilocks-plus", "parity-scale-codec", @@ -6194,7 +6194,7 @@ dependencies = [ [[package]] name = "frost-p384" -version = "1.2.10" +version = "1.2.11" dependencies = [ "p384", "parity-scale-codec", @@ -6248,7 +6248,7 @@ dependencies = [ [[package]] name = "frost-secp256k1-tr" -version = "1.2.10" +version = "1.2.11" dependencies = [ "k256", "parity-scale-codec", @@ -9801,7 +9801,7 @@ dependencies = [ [[package]] name = "pallet-airdrop-claims" -version = "1.2.10" +version = "1.2.11" dependencies = [ "frame-benchmarking 37.0.0", "frame-support 37.1.0", @@ -11905,7 +11905,7 @@ dependencies = [ [[package]] name = "pallet-multi-asset-delegation" -version = "1.2.10" +version = "1.2.11" dependencies = [ "ethabi", "ethereum", @@ -12505,7 +12505,7 @@ dependencies = [ [[package]] name = "pallet-rewards" -version = "1.2.10" +version = "1.2.11" dependencies = [ "ethabi", "ethereum", @@ -12564,7 +12564,7 @@ dependencies = [ [[package]] name = "pallet-rewards-rpc" -version = "1.2.10" +version = "1.2.11" dependencies = [ "jsonrpsee 0.23.2", "pallet-rewards-rpc-runtime-api", @@ -12577,7 +12577,7 @@ dependencies = [ [[package]] name = "pallet-rewards-rpc-runtime-api" -version = "1.2.10" +version = "1.2.11" dependencies = [ "parity-scale-codec", "sp-api 34.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", @@ -12706,7 +12706,7 @@ dependencies = [ [[package]] name = "pallet-services" -version = "1.2.10" +version = "1.2.11" dependencies = [ "ethabi", "ethereum", @@ -12767,7 +12767,7 @@ dependencies = [ [[package]] name = "pallet-services-rpc" -version = "1.2.10" +version = "1.2.11" dependencies = [ "jsonrpsee 0.23.2", "pallet-services-rpc-runtime-api", @@ -12780,7 +12780,7 @@ dependencies = [ [[package]] name = "pallet-services-rpc-runtime-api" -version = "1.2.10" +version = "1.2.11" dependencies = [ "parity-scale-codec", "sp-api 34.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", @@ -21159,7 +21159,7 @@ dependencies = [ [[package]] name = "tangle" -version = "1.2.10" +version = "1.2.11" dependencies = [ "alloy", "anyhow", @@ -21255,7 +21255,7 @@ dependencies = [ [[package]] name = "tangle-crypto-primitives" -version = "1.2.10" +version = "1.2.11" dependencies = [ "parity-scale-codec", "scale-info", @@ -21264,7 +21264,7 @@ dependencies = [ [[package]] name = "tangle-primitives" -version = "1.2.10" +version = "1.2.11" dependencies = [ "ark-bn254", "ark-crypto-primitives", @@ -21295,7 +21295,7 @@ dependencies = [ [[package]] name = "tangle-runtime" -version = "1.2.10" +version = "1.2.11" dependencies = [ "evm-tracer", "fp-evm", @@ -21423,7 +21423,7 @@ dependencies = [ [[package]] name = "tangle-testnet-runtime" -version = "1.2.10" +version = "1.2.11" dependencies = [ "anyhow", "evm-tracer", @@ -21630,7 +21630,7 @@ dependencies = [ [[package]] name = "tg-frost-core" -version = "1.2.10" +version = "1.2.11" dependencies = [ "byteorder", "const-crc32-nostd", diff --git a/Cargo.toml b/Cargo.toml index c1479a742..8db68df36 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [workspace.package] -version = "1.2.10" +version = "1.2.11" authors = ["Tangle Foundation."] edition = "2021" license = "Unlicense" diff --git a/runtime/mainnet/src/lib.rs b/runtime/mainnet/src/lib.rs index 6bbbee2b7..557d1c1c6 100644 --- a/runtime/mainnet/src/lib.rs +++ b/runtime/mainnet/src/lib.rs @@ -166,7 +166,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("tangle"), impl_name: create_runtime_str!("tangle"), authoring_version: 1, - spec_version: 1210, // v1.2.10 + spec_version: 1211, // v1.2.11 impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, diff --git a/runtime/testnet/src/lib.rs b/runtime/testnet/src/lib.rs index d801dae16..44415baa7 100644 --- a/runtime/testnet/src/lib.rs +++ b/runtime/testnet/src/lib.rs @@ -178,7 +178,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("tangle-testnet"), impl_name: create_runtime_str!("tangle-testnet"), authoring_version: 1, - spec_version: 1210, // v1.2.10 + spec_version: 1211, // v1.2.11 impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, diff --git a/types/src/interfaces/augment-api-consts.ts b/types/src/interfaces/augment-api-consts.ts index e862b710f..8cd9d49d6 100644 --- a/types/src/interfaces/augment-api-consts.ts +++ b/types/src/interfaces/augment-api-consts.ts @@ -679,44 +679,6 @@ declare module '@polkadot/api-base/types/consts' { **/ [key: string]: Codec; }; - poolAssets: { - /** - * The amount of funds that must be reserved when creating a new approval. - **/ - approvalDeposit: u128 & AugmentedConst; - /** - * The amount of funds that must be reserved for a non-provider asset account to be - * maintained. - **/ - assetAccountDeposit: u128 & AugmentedConst; - /** - * The basic amount of funds that must be reserved for an asset. - **/ - assetDeposit: u128 & AugmentedConst; - /** - * The basic amount of funds that must be reserved when adding metadata to your asset. - **/ - metadataDepositBase: u128 & AugmentedConst; - /** - * The additional funds that must be reserved for the number of bytes you store in your - * metadata. - **/ - metadataDepositPerByte: u128 & AugmentedConst; - /** - * Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call. - * - * Must be configured to result in a weight that makes each call fit in a block. - **/ - removeItemsLimit: u32 & AugmentedConst; - /** - * The maximum length of a name or symbol stored on-chain. - **/ - stringLimit: u32 & AugmentedConst; - /** - * Generic const - **/ - [key: string]: Codec; - }; proxy: { /** * The base amount of currency needed to reserve for creating an announcement. @@ -1004,6 +966,16 @@ declare module '@polkadot/api-base/types/consts' { **/ [key: string]: Codec; }; + tokenGateway: { + /** + * The decimals of the native currency + **/ + decimals: u8 & AugmentedConst; + /** + * Generic const + **/ + [key: string]: Codec; + }; transactionPayment: { /** * A fee multiplier for `Operational` extrinsics to compute "virtual tip" to boost their diff --git a/types/src/interfaces/augment-api-errors.ts b/types/src/interfaces/augment-api-errors.ts index 3602517a5..cae42b6d3 100644 --- a/types/src/interfaces/augment-api-errors.ts +++ b/types/src/interfaces/augment-api-errors.ts @@ -709,6 +709,12 @@ declare module '@polkadot/api-base/types/errors' { **/ [key: string]: AugmentedError; }; + hyperbridge: { + /** + * Generic error + **/ + [key: string]: AugmentedError; + }; identity: { /** * Account ID is already named. @@ -859,6 +865,32 @@ declare module '@polkadot/api-base/types/errors' { **/ [key: string]: AugmentedError; }; + ismp: { + /** + * Couldn't update challenge period + **/ + ChallengePeriodUpdateFailed: AugmentedError; + /** + * Encountered an error while creating the consensus client. + **/ + ConsensusClientCreationFailed: AugmentedError; + /** + * Invalid ISMP message + **/ + InvalidMessage: AugmentedError; + /** + * Requested message was not found + **/ + MessageNotFound: AugmentedError; + /** + * Couldn't update unbonding period + **/ + UnbondingPeriodUpdateFailed: AugmentedError; + /** + * Generic error + **/ + [key: string]: AugmentedError; + }; lst: { /** * Bonding extra is restricted to the exact pending reward amount. @@ -1458,99 +1490,6 @@ declare module '@polkadot/api-base/types/errors' { **/ [key: string]: AugmentedError; }; - poolAssets: { - /** - * The asset-account already exists. - **/ - AlreadyExists: AugmentedError; - /** - * The asset is not live, and likely being destroyed. - **/ - AssetNotLive: AugmentedError; - /** - * The asset ID must be equal to the [`NextAssetId`]. - **/ - BadAssetId: AugmentedError; - /** - * Invalid metadata given. - **/ - BadMetadata: AugmentedError; - /** - * Invalid witness data given. - **/ - BadWitness: AugmentedError; - /** - * Account balance must be greater than or equal to the transfer amount. - **/ - BalanceLow: AugmentedError; - /** - * Callback action resulted in error - **/ - CallbackFailed: AugmentedError; - /** - * The origin account is frozen. - **/ - Frozen: AugmentedError; - /** - * The asset status is not the expected status. - **/ - IncorrectStatus: AugmentedError; - /** - * The asset ID is already taken. - **/ - InUse: AugmentedError; - /** - * The asset is a live asset and is actively being used. Usually emit for operations such - * as `start_destroy` which require the asset to be in a destroying state. - **/ - LiveAsset: AugmentedError; - /** - * Minimum balance should be non-zero. - **/ - MinBalanceZero: AugmentedError; - /** - * The account to alter does not exist. - **/ - NoAccount: AugmentedError; - /** - * The asset-account doesn't have an associated deposit. - **/ - NoDeposit: AugmentedError; - /** - * The signing account has no permission to do the operation. - **/ - NoPermission: AugmentedError; - /** - * The asset should be frozen before the given operation. - **/ - NotFrozen: AugmentedError; - /** - * No approval exists that would allow the transfer. - **/ - Unapproved: AugmentedError; - /** - * Unable to increment the consumer reference counters on the account. Either no provider - * reference exists to allow a non-zero balance of a non-self-sufficient asset, or one - * fewer then the maximum number of consumers has been reached. - **/ - UnavailableConsumer: AugmentedError; - /** - * The given asset ID is unknown. - **/ - Unknown: AugmentedError; - /** - * The operation would result in funds being burned. - **/ - WouldBurn: AugmentedError; - /** - * The source account would not survive the transfer and it needs to stay alive. - **/ - WouldDie: AugmentedError; - /** - * Generic error - **/ - [key: string]: AugmentedError; - }; preimage: { /** * Preimage has already been noted on-chain. @@ -2271,6 +2210,48 @@ declare module '@polkadot/api-base/types/errors' { **/ [key: string]: AugmentedError; }; + tokenGateway: { + /** + * Asset Id creation failed + **/ + AssetCreationError: AugmentedError; + /** + * Asset decimals not found + **/ + AssetDecimalsNotFound: AugmentedError; + /** + * Error while teleporting asset + **/ + AssetTeleportError: AugmentedError; + /** + * Coprocessor was not configured in the runtime + **/ + CoprocessorNotConfigured: AugmentedError; + /** + * Asset or update Dispatch Error + **/ + DispatchError: AugmentedError; + /** + * Only root or asset owner can update asset + **/ + NotAssetOwner: AugmentedError; + /** + * Protocol Params have not been initialized + **/ + NotInitialized: AugmentedError; + /** + * Unknown Asset + **/ + UnknownAsset: AugmentedError; + /** + * A asset that has not been registered + **/ + UnregisteredAsset: AugmentedError; + /** + * Generic error + **/ + [key: string]: AugmentedError; + }; treasury: { /** * The payment has already been attempted. diff --git a/types/src/interfaces/augment-api-events.ts b/types/src/interfaces/augment-api-events.ts index 9a90e26ed..51ec34530 100644 --- a/types/src/interfaces/augment-api-events.ts +++ b/types/src/interfaces/augment-api-events.ts @@ -9,7 +9,7 @@ import type { ApiTypes, AugmentedEvent } from '@polkadot/api-base/types'; import type { Bytes, Null, Option, Result, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; import type { ITuple } from '@polkadot/types-codec/types'; import type { AccountId32, H160, H256, Perbill, Percent, Permill } from '@polkadot/types/interfaces/runtime'; -import type { EthereumLog, EvmCoreErrorExitReason, FrameSupportDispatchDispatchInfo, FrameSupportTokensMiscBalanceStatus, PalletAirdropClaimsUtilsMultiAddress, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, PalletElectionProviderMultiPhaseElectionCompute, PalletElectionProviderMultiPhasePhase, PalletImOnlineSr25519AppSr25519Public, PalletMultisigTimepoint, PalletNominationPoolsCommissionChangeRate, PalletNominationPoolsCommissionClaimPermission, PalletNominationPoolsPoolState, PalletRewardsAssetAction, PalletRewardsRewardConfigForAssetVault, PalletStakingForcing, PalletStakingRewardDestination, PalletStakingValidatorPrefs, PalletTangleLstCommissionCommissionChangeRate, PalletTangleLstCommissionCommissionClaimPermission, PalletTangleLstPoolsPoolState, SpConsensusGrandpaAppPublic, SpNposElectionsElectionScore, SpRuntimeDispatchError, SpStakingExposure, TanglePrimitivesRewardsLockMultiplier, TanglePrimitivesServicesField, TanglePrimitivesServicesTypesAsset, TanglePrimitivesServicesTypesAssetSecurityCommitment, TanglePrimitivesServicesTypesAssetSecurityRequirement, TanglePrimitivesServicesTypesOperatorPreferences, TanglePrimitivesServicesTypesPriceTargets, TangleTestnetRuntimeProxyType } from '@polkadot/types/lookup'; +import type { EthereumLog, EvmCoreErrorExitReason, FrameSupportDispatchDispatchInfo, FrameSupportTokensMiscBalanceStatus, IsmpConsensusStateMachineHeight, IsmpConsensusStateMachineId, IsmpEventsRequestResponseHandled, IsmpEventsTimeoutHandled, IsmpHostStateMachine, PalletAirdropClaimsUtilsMultiAddress, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, PalletElectionProviderMultiPhaseElectionCompute, PalletElectionProviderMultiPhasePhase, PalletHyperbridgeVersionedHostParams, PalletImOnlineSr25519AppSr25519Public, PalletIsmpErrorsHandlingError, PalletMultisigTimepoint, PalletNominationPoolsCommissionChangeRate, PalletNominationPoolsCommissionClaimPermission, PalletNominationPoolsPoolState, PalletRewardsAssetAction, PalletRewardsRewardConfigForAssetVault, PalletStakingForcing, PalletStakingRewardDestination, PalletStakingValidatorPrefs, PalletTangleLstCommissionCommissionChangeRate, PalletTangleLstCommissionCommissionClaimPermission, PalletTangleLstPoolsPoolState, SpConsensusGrandpaAppPublic, SpNposElectionsElectionScore, SpRuntimeDispatchError, SpStakingExposure, TanglePrimitivesRewardsLockMultiplier, TanglePrimitivesServicesField, TanglePrimitivesServicesTypesAsset, TanglePrimitivesServicesTypesAssetSecurityCommitment, TanglePrimitivesServicesTypesAssetSecurityRequirement, TanglePrimitivesServicesTypesOperatorPreferences, TanglePrimitivesServicesTypesPriceTargets, TangleTestnetRuntimeProxyType } from '@polkadot/types/lookup'; export type __AugmentedEvent = AugmentedEvent; @@ -572,6 +572,24 @@ declare module '@polkadot/api-base/types/events' { **/ [key: string]: AugmentedEvent; }; + hyperbridge: { + /** + * Hyperbridge governance has now updated it's host params on this chain. + **/ + HostParamsUpdated: AugmentedEvent; + /** + * Hyperbridge has withdrawn it's protocol revenue + **/ + ProtocolRevenueWithdrawn: AugmentedEvent; + /** + * A relayer has withdrawn some fees + **/ + RelayerFeeWithdrawn: AugmentedEvent; + /** + * Generic event + **/ + [key: string]: AugmentedEvent; + }; identity: { /** * A username authority was added. @@ -684,6 +702,78 @@ declare module '@polkadot/api-base/types/events' { **/ [key: string]: AugmentedEvent; }; + ismp: { + /** + * Indicates that a consensus client has been created + **/ + ConsensusClientCreated: AugmentedEvent; + /** + * Indicates that a consensus client has been created + **/ + ConsensusClientFrozen: AugmentedEvent; + /** + * Some errors handling some ismp messages + **/ + Errors: AugmentedEvent], { errors: Vec }>; + /** + * Get Response Handled + **/ + GetRequestHandled: AugmentedEvent; + /** + * Get request timeout handled + **/ + GetRequestTimeoutHandled: AugmentedEvent; + /** + * Post Request Handled + **/ + PostRequestHandled: AugmentedEvent; + /** + * Post request timeout handled + **/ + PostRequestTimeoutHandled: AugmentedEvent; + /** + * Post Response Handled + **/ + PostResponseHandled: AugmentedEvent; + /** + * Post response timeout handled + **/ + PostResponseTimeoutHandled: AugmentedEvent; + /** + * An Outgoing Request has been deposited + **/ + Request: AugmentedEvent; + /** + * An Outgoing Response has been deposited + **/ + Response: AugmentedEvent; + /** + * Emitted when a state commitment is vetoed by a fisherman + **/ + StateCommitmentVetoed: AugmentedEvent; + /** + * Emitted when a state machine is successfully updated to a new height + **/ + StateMachineUpdated: AugmentedEvent; + /** + * Generic event + **/ + [key: string]: AugmentedEvent; + }; + ismpGrandpa: { + /** + * State machines have been added to whitelist + **/ + StateMachineAdded: AugmentedEvent], { stateMachines: Vec }>; + /** + * State machines have been removed from the whitelist + **/ + StateMachineRemoved: AugmentedEvent], { stateMachines: Vec }>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent; + }; lst: { /** * A member has become bonded in a pool. @@ -1024,117 +1114,6 @@ declare module '@polkadot/api-base/types/events' { **/ [key: string]: AugmentedEvent; }; - poolAssets: { - /** - * Accounts were destroyed for given asset. - **/ - AccountsDestroyed: AugmentedEvent; - /** - * An approval for account `delegate` was cancelled by `owner`. - **/ - ApprovalCancelled: AugmentedEvent; - /** - * Approvals were destroyed for given asset. - **/ - ApprovalsDestroyed: AugmentedEvent; - /** - * (Additional) funds have been approved for transfer to a destination account. - **/ - ApprovedTransfer: AugmentedEvent; - /** - * Some asset `asset_id` was frozen. - **/ - AssetFrozen: AugmentedEvent; - /** - * The min_balance of an asset has been updated by the asset owner. - **/ - AssetMinBalanceChanged: AugmentedEvent; - /** - * An asset has had its attributes changed by the `Force` origin. - **/ - AssetStatusChanged: AugmentedEvent; - /** - * Some asset `asset_id` was thawed. - **/ - AssetThawed: AugmentedEvent; - /** - * Some account `who` was blocked. - **/ - Blocked: AugmentedEvent; - /** - * Some assets were destroyed. - **/ - Burned: AugmentedEvent; - /** - * Some asset class was created. - **/ - Created: AugmentedEvent; - /** - * Some assets were deposited (e.g. for transaction fees). - **/ - Deposited: AugmentedEvent; - /** - * An asset class was destroyed. - **/ - Destroyed: AugmentedEvent; - /** - * An asset class is in the process of being destroyed. - **/ - DestructionStarted: AugmentedEvent; - /** - * Some asset class was force-created. - **/ - ForceCreated: AugmentedEvent; - /** - * Some account `who` was frozen. - **/ - Frozen: AugmentedEvent; - /** - * Some assets were issued. - **/ - Issued: AugmentedEvent; - /** - * Metadata has been cleared for an asset. - **/ - MetadataCleared: AugmentedEvent; - /** - * New metadata has been set for an asset. - **/ - MetadataSet: AugmentedEvent; - /** - * The owner changed. - **/ - OwnerChanged: AugmentedEvent; - /** - * The management team changed. - **/ - TeamChanged: AugmentedEvent; - /** - * Some account `who` was thawed. - **/ - Thawed: AugmentedEvent; - /** - * Some account `who` was created with a deposit from `depositor`. - **/ - Touched: AugmentedEvent; - /** - * Some assets were transferred. - **/ - Transferred: AugmentedEvent; - /** - * An `amount` was transferred in its entirety from `owner` to `destination` by - * the approved `delegate`. - **/ - TransferredApproved: AugmentedEvent; - /** - * Some assets were withdrawn from the account (e.g. for transaction fees). - **/ - Withdrawn: AugmentedEvent; - /** - * Generic event - **/ - [key: string]: AugmentedEvent; - }; preimage: { /** * A preimage has ben cleared. @@ -1491,6 +1470,28 @@ declare module '@polkadot/api-base/types/events' { **/ [key: string]: AugmentedEvent; }; + tokenGateway: { + /** + * An asset has been received and transferred to the beneficiary's account + **/ + AssetReceived: AugmentedEvent; + /** + * An asset has been refunded and transferred to the beneficiary's account + **/ + AssetRefunded: AugmentedEvent; + /** + * An asset has been teleported + **/ + AssetTeleported: AugmentedEvent; + /** + * ERC6160 asset creation request dispatched to hyperbridge + **/ + ERC6160AssetRegistrationDispatched: AugmentedEvent; + /** + * Generic event + **/ + [key: string]: AugmentedEvent; + }; transactionPayment: { /** * A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee, diff --git a/types/src/interfaces/augment-api-query.ts b/types/src/interfaces/augment-api-query.ts index 71f095675..001c3c73d 100644 --- a/types/src/interfaces/augment-api-query.ts +++ b/types/src/interfaces/augment-api-query.ts @@ -7,10 +7,10 @@ import '@polkadot/api-base/types/storage'; import type { ApiTypes, AugmentedQuery, QueryableStorageEntry } from '@polkadot/api-base/types'; import type { Data } from '@polkadot/types'; -import type { BTreeSet, Bytes, Null, Option, U256, U8aFixed, Vec, bool, u128, u32, u64 } from '@polkadot/types-codec'; +import type { BTreeSet, Bytes, Null, Option, U256, U8aFixed, Vec, bool, u128, u32, u64, u8 } from '@polkadot/types-codec'; import type { AnyNumber, ITuple } from '@polkadot/types-codec/types'; import type { AccountId32, Call, H160, H256, Perbill, Percent, Permill } from '@polkadot/types/interfaces/runtime'; -import type { EthereumBlock, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportDispatchPerDispatchClassWeight, FrameSupportPreimagesBounded, FrameSupportTokensMiscIdAmountRuntimeFreezeReason, FrameSupportTokensMiscIdAmountRuntimeHoldReason, FrameSystemAccountInfo, FrameSystemCodeUpgradeAuthorization, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, PalletAirdropClaimsStatementKind, PalletAirdropClaimsUtilsMultiAddress, PalletAssetsApproval, PalletAssetsAssetAccount, PalletAssetsAssetDetails, PalletAssetsAssetMetadata, PalletBagsListListBag, PalletBagsListListNode, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReserveData, PalletBountiesBounty, PalletChildBountiesChildBounty, PalletCollectiveVotes, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletElectionProviderMultiPhasePhase, PalletElectionProviderMultiPhaseReadySolution, PalletElectionProviderMultiPhaseRoundSnapshot, PalletElectionProviderMultiPhaseSignedSignedSubmission, PalletElectionProviderMultiPhaseSolutionOrSnapshotSize, PalletElectionsPhragmenSeatHolder, PalletElectionsPhragmenVoter, PalletEvmCodeMetadata, PalletGrandpaStoredPendingChange, PalletGrandpaStoredState, PalletIdentityAuthorityProperties, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletImOnlineSr25519AppSr25519Public, PalletMultiAssetDelegationDelegatorDelegatorMetadata, PalletMultiAssetDelegationOperatorOperatorMetadata, PalletMultiAssetDelegationOperatorOperatorSnapshot, PalletMultisigMultisig, PalletNominationPoolsBondedPoolInner, PalletNominationPoolsClaimPermission, PalletNominationPoolsPoolMember, PalletNominationPoolsRewardPool, PalletNominationPoolsSubPools, PalletPreimageOldRequestStatus, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletRewardsRewardConfigForAssetVault, PalletSchedulerRetryConfig, PalletSchedulerScheduled, PalletStakingActiveEraInfo, PalletStakingEraRewardPoints, PalletStakingForcing, PalletStakingNominations, PalletStakingRewardDestination, PalletStakingSlashingSlashingSpans, PalletStakingSlashingSpanRecord, PalletStakingStakingLedger, PalletStakingUnappliedSlash, PalletStakingValidatorPrefs, PalletTangleLstBondedPoolBondedPoolInner, PalletTangleLstClaimPermission, PalletTangleLstPoolsPoolMember, PalletTangleLstSubPools, PalletTangleLstSubPoolsRewardPool, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletTreasurySpendStatus, PalletVestingReleases, PalletVestingVestingInfo, SpConsensusBabeAppPublic, SpConsensusBabeBabeEpochConfiguration, SpConsensusBabeDigestsNextConfigDescriptor, SpConsensusBabeDigestsPreDigest, SpConsensusGrandpaAppPublic, SpCoreCryptoKeyTypeId, SpNposElectionsElectionScore, SpRuntimeDigest, SpStakingExposure, SpStakingExposurePage, SpStakingOffenceOffenceDetails, SpStakingPagedExposureMetadata, TanglePrimitivesServicesJobsJobCall, TanglePrimitivesServicesJobsJobCallResult, TanglePrimitivesServicesService, TanglePrimitivesServicesServiceServiceBlueprint, TanglePrimitivesServicesServiceServiceRequest, TanglePrimitivesServicesServiceStagingServicePayment, TanglePrimitivesServicesTypesAsset, TanglePrimitivesServicesTypesOperatorPreferences, TanglePrimitivesServicesTypesOperatorProfile, TanglePrimitivesServicesTypesUnappliedSlash, TangleTestnetRuntimeOpaqueSessionKeys } from '@polkadot/types/lookup'; +import type { EthereumBlock, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportDispatchPerDispatchClassWeight, FrameSupportPreimagesBounded, FrameSupportTokensMiscIdAmountRuntimeFreezeReason, FrameSupportTokensMiscIdAmountRuntimeHoldReason, FrameSystemAccountInfo, FrameSystemCodeUpgradeAuthorization, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, IsmpConsensusStateCommitment, IsmpConsensusStateMachineHeight, IsmpConsensusStateMachineId, IsmpHostStateMachine, PalletAirdropClaimsStatementKind, PalletAirdropClaimsUtilsMultiAddress, PalletAssetsApproval, PalletAssetsAssetAccount, PalletAssetsAssetDetails, PalletAssetsAssetMetadata, PalletBagsListListBag, PalletBagsListListNode, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReserveData, PalletBountiesBounty, PalletChildBountiesChildBounty, PalletCollectiveVotes, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletElectionProviderMultiPhasePhase, PalletElectionProviderMultiPhaseReadySolution, PalletElectionProviderMultiPhaseRoundSnapshot, PalletElectionProviderMultiPhaseSignedSignedSubmission, PalletElectionProviderMultiPhaseSolutionOrSnapshotSize, PalletElectionsPhragmenSeatHolder, PalletElectionsPhragmenVoter, PalletEvmCodeMetadata, PalletGrandpaStoredPendingChange, PalletGrandpaStoredState, PalletHyperbridgeVersionedHostParams, PalletIdentityAuthorityProperties, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletImOnlineSr25519AppSr25519Public, PalletMultiAssetDelegationDelegatorDelegatorMetadata, PalletMultiAssetDelegationOperatorOperatorMetadata, PalletMultiAssetDelegationOperatorOperatorSnapshot, PalletMultisigMultisig, PalletNominationPoolsBondedPoolInner, PalletNominationPoolsClaimPermission, PalletNominationPoolsPoolMember, PalletNominationPoolsRewardPool, PalletNominationPoolsSubPools, PalletPreimageOldRequestStatus, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletRewardsRewardConfigForAssetVault, PalletSchedulerRetryConfig, PalletSchedulerScheduled, PalletStakingActiveEraInfo, PalletStakingEraRewardPoints, PalletStakingForcing, PalletStakingNominations, PalletStakingRewardDestination, PalletStakingSlashingSlashingSpans, PalletStakingSlashingSpanRecord, PalletStakingStakingLedger, PalletStakingUnappliedSlash, PalletStakingValidatorPrefs, PalletTangleLstBondedPoolBondedPoolInner, PalletTangleLstClaimPermission, PalletTangleLstPoolsPoolMember, PalletTangleLstSubPools, PalletTangleLstSubPoolsRewardPool, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletTreasurySpendStatus, PalletVestingReleases, PalletVestingVestingInfo, SpConsensusBabeAppPublic, SpConsensusBabeBabeEpochConfiguration, SpConsensusBabeDigestsNextConfigDescriptor, SpConsensusBabeDigestsPreDigest, SpConsensusGrandpaAppPublic, SpCoreCryptoKeyTypeId, SpNposElectionsElectionScore, SpRuntimeDigest, SpStakingExposure, SpStakingExposurePage, SpStakingOffenceOffenceDetails, SpStakingPagedExposureMetadata, TanglePrimitivesServicesJobsJobCall, TanglePrimitivesServicesJobsJobCallResult, TanglePrimitivesServicesService, TanglePrimitivesServicesServiceServiceBlueprint, TanglePrimitivesServicesServiceServiceRequest, TanglePrimitivesServicesServiceStagingServicePayment, TanglePrimitivesServicesTypesAsset, TanglePrimitivesServicesTypesOperatorPreferences, TanglePrimitivesServicesTypesOperatorProfile, TanglePrimitivesServicesTypesUnappliedSlash, TangleTestnetRuntimeOpaqueSessionKeys } from '@polkadot/types/lookup'; import type { Observable } from '@polkadot/types/types'; export type __AugmentedQuery = AugmentedQuery unknown>; @@ -674,6 +674,16 @@ declare module '@polkadot/api-base/types/storage' { **/ [key: string]: QueryableStorageEntry; }; + hyperbridge: { + /** + * The host parameters of the pallet-hyperbridge. + **/ + hostParams: AugmentedQuery Observable, []> & QueryableStorageEntry; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry; + }; identity: { /** * Reverse lookup from `username` to the `AccountId` that has registered it. The value should @@ -771,6 +781,75 @@ declare module '@polkadot/api-base/types/storage' { **/ [key: string]: QueryableStorageEntry; }; + ismp: { + /** + * A mapping of state machine Ids to their challenge periods + **/ + challengePeriod: AugmentedQuery Observable>, [IsmpConsensusStateMachineId]> & QueryableStorageEntry; + /** + * The child trie root of messages + **/ + childTrieRoot: AugmentedQuery Observable, []> & QueryableStorageEntry; + /** + * Holds the timestamp at which a consensus client was recently updated. + * Used in ensuring that the configured challenge period elapses. + **/ + consensusClientUpdateTime: AugmentedQuery Observable>, [U8aFixed]> & QueryableStorageEntry; + /** + * A mapping of consensus state identifier to it's associated consensus client identifier + **/ + consensusStateClient: AugmentedQuery Observable>, [U8aFixed]> & QueryableStorageEntry; + /** + * Holds a map of consensus state identifiers to their consensus state. + **/ + consensusStates: AugmentedQuery Observable>, [U8aFixed]> & QueryableStorageEntry; + /** + * Holds a map of consensus clients frozen due to byzantine + * behaviour + **/ + frozenConsensusClients: AugmentedQuery Observable, [U8aFixed]> & QueryableStorageEntry; + /** + * The latest verified height for a state machine + **/ + latestStateMachineHeight: AugmentedQuery Observable>, [IsmpConsensusStateMachineId]> & QueryableStorageEntry; + /** + * Latest nonce for messages sent from this chain + **/ + nonce: AugmentedQuery Observable, []> & QueryableStorageEntry; + /** + * Tracks requests that have been responded to + * The key is the request commitment + **/ + responded: AugmentedQuery Observable, [H256]> & QueryableStorageEntry; + /** + * Holds a map of state machine heights to their verified state commitments. These state + * commitments end up here after they are successfully verified by a `ConsensusClient` + **/ + stateCommitments: AugmentedQuery Observable>, [IsmpConsensusStateMachineHeight]> & QueryableStorageEntry; + /** + * Holds the timestamp at which a state machine height was updated. + * Used in ensuring that the configured challenge period elapses. + **/ + stateMachineUpdateTime: AugmentedQuery Observable>, [IsmpConsensusStateMachineHeight]> & QueryableStorageEntry; + /** + * A mapping of consensus state identifiers to their unbonding periods + **/ + unbondingPeriod: AugmentedQuery Observable>, [U8aFixed]> & QueryableStorageEntry; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry; + }; + ismpGrandpa: { + /** + * Registered state machines for the grandpa consensus client + **/ + supportedStateMachines: AugmentedQuery Observable>, [IsmpHostStateMachine]> & QueryableStorageEntry; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry; + }; lst: { /** * Storage for bonded pools. @@ -1031,42 +1110,6 @@ declare module '@polkadot/api-base/types/storage' { **/ [key: string]: QueryableStorageEntry; }; - poolAssets: { - /** - * The holdings of a specific account for a specific asset. - **/ - account: AugmentedQuery Observable>, [u128, AccountId32]> & QueryableStorageEntry; - /** - * Approved balance transfers. First balance is the amount approved for transfer. Second - * is the amount of `T::Currency` reserved for storing this. - * First key is the asset ID, second key is the owner and third key is the delegate. - **/ - approvals: AugmentedQuery Observable>, [u128, AccountId32, AccountId32]> & QueryableStorageEntry; - /** - * Details of an asset. - **/ - asset: AugmentedQuery Observable>, [u128]> & QueryableStorageEntry; - /** - * Metadata of an asset. - **/ - metadata: AugmentedQuery Observable, [u128]> & QueryableStorageEntry; - /** - * The asset ID enforced for the next asset creation, if any present. Otherwise, this storage - * item has no effect. - * - * This can be useful for setting up constraints for IDs of the new assets. For example, by - * providing an initial [`NextAssetId`] and using the [`crate::AutoIncAssetId`] callback, an - * auto-increment model can be applied to all new asset IDs. - * - * The initial next asset ID can be set using the [`GenesisConfig`] or the - * [SetNextAssetId](`migration::next_asset_id::SetNextAssetId`) migration. - **/ - nextAssetId: AugmentedQuery Observable>, []> & QueryableStorageEntry; - /** - * Generic query - **/ - [key: string]: QueryableStorageEntry; - }; preimage: { preimageFor: AugmentedQuery | [H256 | string | Uint8Array, u32 | AnyNumber | Uint8Array]) => Observable>, [ITuple<[H256, u32]>]> & QueryableStorageEntry]>; /** @@ -1728,6 +1771,34 @@ declare module '@polkadot/api-base/types/storage' { **/ [key: string]: QueryableStorageEntry; }; + tokenGateway: { + /** + * Assets supported by this instance of token gateway + * A map of the token gateway asset id to the local asset id + **/ + localAssets: AugmentedQuery Observable>, [H256]> & QueryableStorageEntry; + /** + * Assets that originate from this chain + **/ + nativeAssets: AugmentedQuery Observable, [u128]> & QueryableStorageEntry; + /** + * The decimals used by the EVM counterpart of this asset + **/ + precisions: AugmentedQuery Observable>, [u128, IsmpHostStateMachine]> & QueryableStorageEntry; + /** + * Assets supported by this instance of token gateway + * A map of the local asset id to the token gateway asset id + **/ + supportedAssets: AugmentedQuery Observable>, [u128]> & QueryableStorageEntry; + /** + * The token gateway adresses on different chains + **/ + tokenGatewayAddresses: AugmentedQuery Observable>, [IsmpHostStateMachine]> & QueryableStorageEntry; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry; + }; transactionPayment: { nextFeeMultiplier: AugmentedQuery Observable, []> & QueryableStorageEntry; storageVersion: AugmentedQuery Observable, []> & QueryableStorageEntry; diff --git a/types/src/interfaces/augment-api-tx.ts b/types/src/interfaces/augment-api-tx.ts index 2ccf02382..85e4fbff7 100644 --- a/types/src/interfaces/augment-api-tx.ts +++ b/types/src/interfaces/augment-api-tx.ts @@ -7,10 +7,10 @@ import '@polkadot/api-base/types/submittable'; import type { ApiTypes, AugmentedSubmittable, SubmittableExtrinsic, SubmittableExtrinsicFunction } from '@polkadot/api-base/types'; import type { Data } from '@polkadot/types'; -import type { Bytes, Compact, Null, Option, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; +import type { BTreeMap, Bytes, Compact, Null, Option, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types'; import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Percent, Permill } from '@polkadot/types/interfaces/runtime'; -import type { EthereumTransactionTransactionV2, FrameSupportPreimagesBounded, PalletAirdropClaimsStatementKind, PalletAirdropClaimsUtilsMultiAddress, PalletAirdropClaimsUtilsMultiAddressSignature, PalletBalancesAdjustmentDirection, PalletDemocracyConviction, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletElectionProviderMultiPhaseRawSolution, PalletElectionProviderMultiPhaseSolutionOrSnapshotSize, PalletElectionsPhragmenRenouncing, PalletIdentityJudgement, PalletIdentityLegacyIdentityInfo, PalletImOnlineHeartbeat, PalletImOnlineSr25519AppSr25519Signature, PalletMultiAssetDelegationDelegatorDelegatorBlueprintSelection, PalletMultisigTimepoint, PalletNominationPoolsBondExtra, PalletNominationPoolsClaimPermission, PalletNominationPoolsCommissionChangeRate, PalletNominationPoolsCommissionClaimPermission, PalletNominationPoolsConfigOpAccountId32, PalletNominationPoolsConfigOpPerbill, PalletNominationPoolsConfigOpU128, PalletNominationPoolsConfigOpU32, PalletNominationPoolsPoolState, PalletRewardsAssetAction, PalletRewardsRewardConfigForAssetVault, PalletStakingPalletConfigOpPerbill, PalletStakingPalletConfigOpPercent, PalletStakingPalletConfigOpU128, PalletStakingPalletConfigOpU32, PalletStakingRewardDestination, PalletStakingUnlockChunk, PalletStakingValidatorPrefs, PalletTangleLstBondExtra, PalletTangleLstCommissionCommissionChangeRate, PalletTangleLstCommissionCommissionClaimPermission, PalletTangleLstConfigOpAccountId32, PalletTangleLstConfigOpPerbill, PalletTangleLstConfigOpU128, PalletTangleLstConfigOpU32, PalletTangleLstPoolsPoolState, PalletVestingVestingInfo, SpConsensusBabeDigestsNextConfigDescriptor, SpConsensusGrandpaEquivocationProof, SpConsensusSlotsEquivocationProof, SpCoreVoid, SpNposElectionsElectionScore, SpNposElectionsSupport, SpRuntimeMultiSignature, SpSessionMembershipProof, SpWeightsWeightV2Weight, TanglePrimitivesRewardsLockMultiplier, TanglePrimitivesServicesField, TanglePrimitivesServicesServiceServiceBlueprint, TanglePrimitivesServicesTypesAsset, TanglePrimitivesServicesTypesAssetSecurityCommitment, TanglePrimitivesServicesTypesAssetSecurityRequirement, TanglePrimitivesServicesTypesMembershipModel, TanglePrimitivesServicesTypesOperatorPreferences, TanglePrimitivesServicesTypesPriceTargets, TangleTestnetRuntimeOpaqueSessionKeys, TangleTestnetRuntimeOriginCaller, TangleTestnetRuntimeProxyType } from '@polkadot/types/lookup'; +import type { EthereumTransactionTransactionV2, FrameSupportPreimagesBounded, IsmpGrandpaAddStateMachine, IsmpHostStateMachine, IsmpMessagingCreateConsensusState, IsmpMessagingMessage, PalletAirdropClaimsStatementKind, PalletAirdropClaimsUtilsMultiAddress, PalletAirdropClaimsUtilsMultiAddressSignature, PalletBalancesAdjustmentDirection, PalletDemocracyConviction, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletElectionProviderMultiPhaseRawSolution, PalletElectionProviderMultiPhaseSolutionOrSnapshotSize, PalletElectionsPhragmenRenouncing, PalletIdentityJudgement, PalletIdentityLegacyIdentityInfo, PalletImOnlineHeartbeat, PalletImOnlineSr25519AppSr25519Signature, PalletIsmpUtilsFundMessageParams, PalletIsmpUtilsUpdateConsensusState, PalletMultiAssetDelegationDelegatorDelegatorBlueprintSelection, PalletMultisigTimepoint, PalletNominationPoolsBondExtra, PalletNominationPoolsClaimPermission, PalletNominationPoolsCommissionChangeRate, PalletNominationPoolsCommissionClaimPermission, PalletNominationPoolsConfigOpAccountId32, PalletNominationPoolsConfigOpPerbill, PalletNominationPoolsConfigOpU128, PalletNominationPoolsConfigOpU32, PalletNominationPoolsPoolState, PalletRewardsAssetAction, PalletRewardsRewardConfigForAssetVault, PalletStakingPalletConfigOpPerbill, PalletStakingPalletConfigOpPercent, PalletStakingPalletConfigOpU128, PalletStakingPalletConfigOpU32, PalletStakingRewardDestination, PalletStakingUnlockChunk, PalletStakingValidatorPrefs, PalletTangleLstBondExtra, PalletTangleLstCommissionCommissionChangeRate, PalletTangleLstCommissionCommissionClaimPermission, PalletTangleLstConfigOpAccountId32, PalletTangleLstConfigOpPerbill, PalletTangleLstConfigOpU128, PalletTangleLstConfigOpU32, PalletTangleLstPoolsPoolState, PalletTokenGatewayAssetRegistration, PalletTokenGatewayPrecisionUpdate, PalletTokenGatewayTeleportParams, PalletVestingVestingInfo, SpConsensusBabeDigestsNextConfigDescriptor, SpConsensusGrandpaEquivocationProof, SpConsensusSlotsEquivocationProof, SpCoreVoid, SpNposElectionsElectionScore, SpNposElectionsSupport, SpRuntimeMultiSignature, SpSessionMembershipProof, SpWeightsWeightV2Weight, TanglePrimitivesRewardsLockMultiplier, TanglePrimitivesServicesField, TanglePrimitivesServicesServiceServiceBlueprint, TanglePrimitivesServicesTypesAsset, TanglePrimitivesServicesTypesAssetSecurityCommitment, TanglePrimitivesServicesTypesAssetSecurityRequirement, TanglePrimitivesServicesTypesMembershipModel, TanglePrimitivesServicesTypesOperatorPreferences, TanglePrimitivesServicesTypesPriceTargets, TangleTestnetRuntimeOpaqueSessionKeys, TangleTestnetRuntimeOriginCaller, TangleTestnetRuntimeProxyType, TokenGatewayPrimitivesGatewayAssetUpdate } from '@polkadot/types/lookup'; export type __AugmentedSubmittable = AugmentedSubmittable<() => unknown>; export type __SubmittableExtrinsic = SubmittableExtrinsic; @@ -2066,6 +2066,63 @@ declare module '@polkadot/api-base/types/submittable' { **/ [key: string]: SubmittableExtrinsicFunction; }; + ismp: { + /** + * Create a consensus client, using a subjectively chosen consensus state. This can also + * be used to overwrite an existing consensus state. The dispatch origin for this + * call must be `T::AdminOrigin`. + * + * - `message`: [`CreateConsensusState`] struct. + * + * Emits [`Event::ConsensusClientCreated`] if successful. + **/ + createConsensusClient: AugmentedSubmittable<(message: IsmpMessagingCreateConsensusState | { consensusState?: any; consensusClientId?: any; consensusStateId?: any; unbondingPeriod?: any; challengePeriods?: any; stateMachineCommitments?: any } | string | Uint8Array) => SubmittableExtrinsic, [IsmpMessagingCreateConsensusState]>; + /** + * Add more funds to a message (request or response) to be used for delivery and execution. + * + * Should not be called on a message that has been completed (delivered or timed-out) as + * those funds will be lost forever. + **/ + fundMessage: AugmentedSubmittable<(message: PalletIsmpUtilsFundMessageParams | { commitment?: any; amount?: any } | string | Uint8Array) => SubmittableExtrinsic, [PalletIsmpUtilsFundMessageParams]>; + /** + * Execute the provided batch of ISMP messages, this will short-circuit and revert if any + * of the provided messages are invalid. This is an unsigned extrinsic that permits anyone + * execute ISMP messages for free, provided they have valid proofs and the messages have + * not been previously processed. + * + * The dispatch origin for this call must be an unsigned one. + * + * - `messages`: the messages to handle or process. + * + * Emits different message events based on the Message received if successful. + **/ + handleUnsigned: AugmentedSubmittable<(messages: Vec | (IsmpMessagingMessage | { Consensus: any } | { FraudProof: any } | { Request: any } | { Response: any } | { Timeout: any } | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; + /** + * Modify the unbonding period and challenge period for a consensus state. + * The dispatch origin for this call must be `T::AdminOrigin`. + * + * - `message`: `UpdateConsensusState` struct. + **/ + updateConsensusState: AugmentedSubmittable<(message: PalletIsmpUtilsUpdateConsensusState | { consensusStateId?: any; unbondingPeriod?: any; challengePeriods?: any } | string | Uint8Array) => SubmittableExtrinsic, [PalletIsmpUtilsUpdateConsensusState]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction; + }; + ismpGrandpa: { + /** + * Add some a state machine to the list of supported state machines + **/ + addStateMachines: AugmentedSubmittable<(newStateMachines: Vec | (IsmpGrandpaAddStateMachine | { stateMachine?: any; slotDuration?: any } | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; + /** + * Remove a state machine from the list of supported state machines + **/ + removeStateMachines: AugmentedSubmittable<(stateMachines: Vec | (IsmpHostStateMachine | { Evm: any } | { Polkadot: any } | { Kusama: any } | { Substrate: any } | { Tendermint: any } | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction; + }; lst: { /** * Top up the deficit or withdraw the excess ED from the pool. @@ -3401,711 +3458,183 @@ declare module '@polkadot/api-base/types/submittable' { **/ [key: string]: SubmittableExtrinsicFunction; }; - poolAssets: { + preimage: { /** - * Approve an amount of asset for transfer by a delegated third-party account. - * - * Origin must be Signed. + * Ensure that the a bulk of pre-images is upgraded. * - * Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account - * for the purpose of holding the approval. If some non-zero amount of assets is already - * approved from signing account to `delegate`, then it is topped up or unreserved to - * meet the right value. + * The caller pays no fee if at least 90% of pre-images were successfully updated. + **/ + ensureUpdated: AugmentedSubmittable<(hashes: Vec | (H256 | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; + /** + * Register a preimage on-chain. * - * NOTE: The signing account does not need to own `amount` of assets at the point of - * making this call. + * If the preimage was previously requested, no fees or deposits are taken for providing + * the preimage. Otherwise, a deposit is taken proportional to the size of the preimage. + **/ + notePreimage: AugmentedSubmittable<(bytes: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; + /** + * Request a preimage be uploaded to the chain without paying any fees or deposits. * - * - `id`: The identifier of the asset. - * - `delegate`: The account to delegate permission to transfer asset. - * - `amount`: The amount of asset that may be transferred by `delegate`. If there is - * already an approval in place, then this acts additively. + * If the preimage requests has already been provided on-chain, we unreserve any deposit + * a user may have paid, and take the control of the preimage out of their hands. + **/ + requestPreimage: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; + /** + * Clear an unrequested preimage from the runtime storage. * - * Emits `ApprovedTransfer` on success. + * If `len` is provided, then it will be a much cheaper operation. * - * Weight: `O(1)` + * - `hash`: The hash of the preimage to be removed from the store. + * - `len`: The length of the preimage of `hash`. **/ - approveTransfer: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, delegate: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, MultiAddress, Compact]>; + unnotePreimage: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; /** - * Disallow further unprivileged transfers of an asset `id` to and from an account `who`. - * - * Origin must be Signed and the sender should be the Freezer of the asset `id`. + * Clear a previously made request for a preimage. * - * - `id`: The identifier of the account's asset. - * - `who`: The account to be unblocked. + * NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`. + **/ + unrequestPreimage: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction; + }; + proxy: { + /** + * Register a proxy account for the sender that is able to make calls on its behalf. * - * Emits `Blocked`. + * The dispatch origin for this call must be _Signed_. * - * Weight: `O(1)` + * Parameters: + * - `proxy`: The account that the `caller` would like to make a proxy. + * - `proxy_type`: The permissions allowed for this proxy account. + * - `delay`: The announcement period required of the initial proxy. Will generally be + * zero. **/ - block: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, MultiAddress]>; + addProxy: AugmentedSubmittable<(delegate: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, proxyType: TangleTestnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'Staking' | number | Uint8Array, delay: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, TangleTestnetRuntimeProxyType, u64]>; /** - * Reduce the balance of `who` by as much as possible up to `amount` assets of `id`. + * Publish the hash of a proxy-call that will be made in the future. * - * Origin must be Signed and the sender should be the Manager of the asset `id`. + * This must be called some number of blocks before the corresponding `proxy` is attempted + * if the delay associated with the proxy relationship is greater than zero. * - * Bails with `NoAccount` if the `who` is already dead. + * No more than `MaxPending` announcements may be made at any one time. * - * - `id`: The identifier of the asset to have some amount burned. - * - `who`: The account to be debited from. - * - `amount`: The maximum amount by which `who`'s balance should be reduced. + * This will take a deposit of `AnnouncementDepositFactor` as well as + * `AnnouncementDepositBase` if there are no other pending announcements. * - * Emits `Burned` with the actual amount burned. If this takes the balance to below the - * minimum for the asset, then the amount burned is increased to take it to zero. + * The dispatch origin for this call must be _Signed_ and a proxy of `real`. * - * Weight: `O(1)` - * Modes: Post-existence of `who`; Pre & post Zombie-status of `who`. + * Parameters: + * - `real`: The account that the proxy will make a call on behalf of. + * - `call_hash`: The hash of the call to be made by the `real` account. **/ - burn: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, MultiAddress, Compact]>; + announce: AugmentedSubmittable<(real: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, callHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, H256]>; /** - * Cancel all of some asset approved for delegated transfer by a third-party account. - * - * Origin must be Signed and there must be an approval in place between signer and - * `delegate`. + * Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and + * initialize it with a proxy of `proxy_type` for `origin` sender. * - * Unreserves any deposit previously reserved by `approve_transfer` for the approval. + * Requires a `Signed` origin. * - * - `id`: The identifier of the asset. - * - `delegate`: The account delegated permission to transfer asset. + * - `proxy_type`: The type of the proxy that the sender will be registered as over the + * new account. This will almost always be the most permissive `ProxyType` possible to + * allow for maximum flexibility. + * - `index`: A disambiguation index, in case this is called multiple times in the same + * transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just + * want to use `0`. + * - `delay`: The announcement period required of the initial proxy. Will generally be + * zero. * - * Emits `ApprovalCancelled` on success. + * Fails with `Duplicate` if this has already been called in this transaction, from the + * same sender, with the same parameters. * - * Weight: `O(1)` + * Fails if there are insufficient funds to pay for deposit. **/ - cancelApproval: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, delegate: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, MultiAddress]>; + createPure: AugmentedSubmittable<(proxyType: TangleTestnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'Staking' | number | Uint8Array, delay: u64 | AnyNumber | Uint8Array, index: u16 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [TangleTestnetRuntimeProxyType, u64, u16]>; /** - * Clear the metadata for an asset. - * - * Origin must be Signed and the sender should be the Owner of the asset `id`. + * Removes a previously spawned pure proxy. * - * Any deposit is freed for the asset owner. + * WARNING: **All access to this account will be lost.** Any funds held in it will be + * inaccessible. * - * - `id`: The identifier of the asset to clear. + * Requires a `Signed` origin, and the sender account must have been created by a call to + * `pure` with corresponding parameters. * - * Emits `MetadataCleared`. + * - `spawner`: The account that originally called `pure` to create this account. + * - `index`: The disambiguation index originally passed to `pure`. Probably `0`. + * - `proxy_type`: The proxy type originally passed to `pure`. + * - `height`: The height of the chain when the call to `pure` was processed. + * - `ext_index`: The extrinsic index in which the call to `pure` was processed. * - * Weight: `O(1)` + * Fails with `NoPermission` in case the caller is not a previously created pure + * account whose `pure` call has corresponding parameters. **/ - clearMetadata: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; + killPure: AugmentedSubmittable<(spawner: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, proxyType: TangleTestnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'Staking' | number | Uint8Array, index: u16 | AnyNumber | Uint8Array, height: Compact | AnyNumber | Uint8Array, extIndex: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, TangleTestnetRuntimeProxyType, u16, Compact, Compact]>; /** - * Issue a new class of fungible assets from a public origin. - * - * This new asset class has no assets initially and its owner is the origin. - * - * The origin must conform to the configured `CreateOrigin` and have sufficient funds free. + * Dispatch the given `call` from an account that the sender is authorised for through + * `add_proxy`. * - * Funds of sender are reserved by `AssetDeposit`. + * The dispatch origin for this call must be _Signed_. * * Parameters: - * - `id`: The identifier of the new asset. This must not be currently in use to identify - * an existing asset. If [`NextAssetId`] is set, then this must be equal to it. - * - `admin`: The admin of this class of assets. The admin is the initial address of each - * member of the asset class's admin team. - * - `min_balance`: The minimum balance of this new asset that any single account must - * have. If an account's balance is reduced below this, then it collapses to zero. + * - `real`: The account that the proxy will make a call on behalf of. + * - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call. + * - `call`: The call to be made by the `real` account. + **/ + proxy: AugmentedSubmittable<(real: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, forceProxyType: Option | null | Uint8Array | TangleTestnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'Staking' | number, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, Option, Call]>; + /** + * Dispatch the given `call` from an account that the sender is authorized for through + * `add_proxy`. * - * Emits `Created` event when successful. + * Removes any corresponding announcement(s). * - * Weight: `O(1)` + * The dispatch origin for this call must be _Signed_. + * + * Parameters: + * - `real`: The account that the proxy will make a call on behalf of. + * - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call. + * - `call`: The call to be made by the `real` account. **/ - create: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, admin: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, minBalance: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, MultiAddress, u128]>; + proxyAnnounced: AugmentedSubmittable<(delegate: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, real: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, forceProxyType: Option | null | Uint8Array | TangleTestnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'Staking' | number, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, MultiAddress, Option, Call]>; /** - * Destroy all accounts associated with a given asset. - * - * `destroy_accounts` should only be called after `start_destroy` has been called, and the - * asset is in a `Destroying` state. + * Remove the given announcement of a delegate. * - * Due to weight restrictions, this function may need to be called multiple times to fully - * destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time. + * May be called by a target (proxied) account to remove a call that one of their delegates + * (`delegate`) has announced they want to execute. The deposit is returned. * - * - `id`: The identifier of the asset to be destroyed. This must identify an existing - * asset. + * The dispatch origin for this call must be _Signed_. * - * Each call emits the `Event::DestroyedAccounts` event. + * Parameters: + * - `delegate`: The account that previously announced the call. + * - `call_hash`: The hash of the call to be made. **/ - destroyAccounts: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; + rejectAnnouncement: AugmentedSubmittable<(delegate: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, callHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, H256]>; /** - * Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit). - * - * `destroy_approvals` should only be called after `start_destroy` has been called, and the - * asset is in a `Destroying` state. + * Remove a given announcement. * - * Due to weight restrictions, this function may need to be called multiple times to fully - * destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time. + * May be called by a proxy account to remove a call they previously announced and return + * the deposit. * - * - `id`: The identifier of the asset to be destroyed. This must identify an existing - * asset. + * The dispatch origin for this call must be _Signed_. * - * Each call emits the `Event::DestroyedApprovals` event. + * Parameters: + * - `real`: The account that the proxy will make a call on behalf of. + * - `call_hash`: The hash of the call to be made by the `real` account. **/ - destroyApprovals: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; + removeAnnouncement: AugmentedSubmittable<(real: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, callHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, H256]>; /** - * Complete destroying asset and unreserve currency. - * - * `finish_destroy` should only be called after `start_destroy` has been called, and the - * asset is in a `Destroying` state. All accounts or approvals should be destroyed before - * hand. + * Unregister all proxy accounts for the sender. * - * - `id`: The identifier of the asset to be destroyed. This must identify an existing - * asset. + * The dispatch origin for this call must be _Signed_. * - * Each successful call emits the `Event::Destroyed` event. + * WARNING: This may be called on accounts created by `pure`, however if done, then + * the unreserved fees will be inaccessible. **All access to this account will be lost.** **/ - finishDestroy: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; + removeProxies: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Alter the attributes of a given asset. + * Unregister a proxy account for the sender. * - * Origin must be `ForceOrigin`. - * - * - `id`: The identifier of the asset. - * - `owner`: The new Owner of this asset. - * - `issuer`: The new Issuer of this asset. - * - `admin`: The new Admin of this asset. - * - `freezer`: The new Freezer of this asset. - * - `min_balance`: The minimum balance of this new asset that any single account must - * have. If an account's balance is reduced below this, then it collapses to zero. - * - `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient - * value to account for the state bloat associated with its balance storage. If set to - * `true`, then non-zero balances may be stored without a `consumer` reference (and thus - * an ED in the Balances pallet or whatever else is used to control user-account state - * growth). - * - `is_frozen`: Whether this asset class is frozen except for permissioned/admin - * instructions. - * - * Emits `AssetStatusChanged` with the identity of the asset. - * - * Weight: `O(1)` - **/ - forceAssetStatus: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, owner: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, issuer: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, admin: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, freezer: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, minBalance: Compact | AnyNumber | Uint8Array, isSufficient: bool | boolean | Uint8Array, isFrozen: bool | boolean | Uint8Array) => SubmittableExtrinsic, [Compact, MultiAddress, MultiAddress, MultiAddress, MultiAddress, Compact, bool, bool]>; - /** - * Cancel all of some asset approved for delegated transfer by a third-party account. - * - * Origin must be either ForceOrigin or Signed origin with the signer being the Admin - * account of the asset `id`. - * - * Unreserves any deposit previously reserved by `approve_transfer` for the approval. - * - * - `id`: The identifier of the asset. - * - `delegate`: The account delegated permission to transfer asset. - * - * Emits `ApprovalCancelled` on success. - * - * Weight: `O(1)` - **/ - forceCancelApproval: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, owner: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, delegate: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, MultiAddress, MultiAddress]>; - /** - * Clear the metadata for an asset. - * - * Origin must be ForceOrigin. - * - * Any deposit is returned. - * - * - `id`: The identifier of the asset to clear. - * - * Emits `MetadataCleared`. - * - * Weight: `O(1)` - **/ - forceClearMetadata: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; - /** - * Issue a new class of fungible assets from a privileged origin. - * - * This new asset class has no assets initially. - * - * The origin must conform to `ForceOrigin`. - * - * Unlike `create`, no funds are reserved. - * - * - `id`: The identifier of the new asset. This must not be currently in use to identify - * an existing asset. If [`NextAssetId`] is set, then this must be equal to it. - * - `owner`: The owner of this class of assets. The owner has full superuser permissions - * over this asset, but may later change and configure the permissions using - * `transfer_ownership` and `set_team`. - * - `min_balance`: The minimum balance of this new asset that any single account must - * have. If an account's balance is reduced below this, then it collapses to zero. - * - * Emits `ForceCreated` event when successful. - * - * Weight: `O(1)` - **/ - forceCreate: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, owner: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, isSufficient: bool | boolean | Uint8Array, minBalance: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, MultiAddress, bool, Compact]>; - /** - * Force the metadata for an asset to some value. - * - * Origin must be ForceOrigin. - * - * Any deposit is left alone. - * - * - `id`: The identifier of the asset to update. - * - `name`: The user friendly name of this asset. Limited in length by `StringLimit`. - * - `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`. - * - `decimals`: The number of decimals this asset uses to represent one unit. - * - * Emits `MetadataSet`. - * - * Weight: `O(N + S)` where N and S are the length of the name and symbol respectively. - **/ - forceSetMetadata: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, name: Bytes | string | Uint8Array, symbol: Bytes | string | Uint8Array, decimals: u8 | AnyNumber | Uint8Array, isFrozen: bool | boolean | Uint8Array) => SubmittableExtrinsic, [Compact, Bytes, Bytes, u8, bool]>; - /** - * Move some assets from one account to another. - * - * Origin must be Signed and the sender should be the Admin of the asset `id`. - * - * - `id`: The identifier of the asset to have some amount transferred. - * - `source`: The account to be debited. - * - `dest`: The account to be credited. - * - `amount`: The amount by which the `source`'s balance of assets should be reduced and - * `dest`'s balance increased. The amount actually transferred may be slightly greater in - * the case that the transfer would otherwise take the `source` balance above zero but - * below the minimum balance. Must be greater than zero. - * - * Emits `Transferred` with the actual amount transferred. If this takes the source balance - * to below the minimum for the asset, then the amount transferred is increased to take it - * to zero. - * - * Weight: `O(1)` - * Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of - * `dest`. - **/ - forceTransfer: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, source: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, MultiAddress, MultiAddress, Compact]>; - /** - * Disallow further unprivileged transfers of an asset `id` from an account `who`. `who` - * must already exist as an entry in `Account`s of the asset. If you want to freeze an - * account that does not have an entry, use `touch_other` first. - * - * Origin must be Signed and the sender should be the Freezer of the asset `id`. - * - * - `id`: The identifier of the asset to be frozen. - * - `who`: The account to be frozen. - * - * Emits `Frozen`. - * - * Weight: `O(1)` - **/ - freeze: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, MultiAddress]>; - /** - * Disallow further unprivileged transfers for the asset class. - * - * Origin must be Signed and the sender should be the Freezer of the asset `id`. - * - * - `id`: The identifier of the asset to be frozen. - * - * Emits `Frozen`. - * - * Weight: `O(1)` - **/ - freezeAsset: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; - /** - * Mint assets of a particular class. - * - * The origin must be Signed and the sender must be the Issuer of the asset `id`. - * - * - `id`: The identifier of the asset to have some amount minted. - * - `beneficiary`: The account to be credited with the minted assets. - * - `amount`: The amount of the asset to be minted. - * - * Emits `Issued` event when successful. - * - * Weight: `O(1)` - * Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`. - **/ - mint: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, beneficiary: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, MultiAddress, Compact]>; - /** - * Return the deposit (if any) of an asset account or a consumer reference (if any) of an - * account. - * - * The origin must be Signed. - * - * - `id`: The identifier of the asset for which the caller would like the deposit - * refunded. - * - `allow_burn`: If `true` then assets may be destroyed in order to complete the refund. - * - * Emits `Refunded` event when successful. - **/ - refund: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, allowBurn: bool | boolean | Uint8Array) => SubmittableExtrinsic, [Compact, bool]>; - /** - * Return the deposit (if any) of a target asset account. Useful if you are the depositor. - * - * The origin must be Signed and either the account owner, depositor, or asset `Admin`. In - * order to burn a non-zero balance of the asset, the caller must be the account and should - * use `refund`. - * - * - `id`: The identifier of the asset for the account holding a deposit. - * - `who`: The account to refund. - * - * Emits `Refunded` event when successful. - **/ - refundOther: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, MultiAddress]>; - /** - * Set the metadata for an asset. - * - * Origin must be Signed and the sender should be the Owner of the asset `id`. - * - * Funds of sender are reserved according to the formula: - * `MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into - * account any already reserved funds. - * - * - `id`: The identifier of the asset to update. - * - `name`: The user friendly name of this asset. Limited in length by `StringLimit`. - * - `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`. - * - `decimals`: The number of decimals this asset uses to represent one unit. - * - * Emits `MetadataSet`. - * - * Weight: `O(1)` - **/ - setMetadata: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, name: Bytes | string | Uint8Array, symbol: Bytes | string | Uint8Array, decimals: u8 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, Bytes, Bytes, u8]>; - /** - * Sets the minimum balance of an asset. - * - * Only works if there aren't any accounts that are holding the asset or if - * the new value of `min_balance` is less than the old one. - * - * Origin must be Signed and the sender has to be the Owner of the - * asset `id`. - * - * - `id`: The identifier of the asset. - * - `min_balance`: The new value of `min_balance`. - * - * Emits `AssetMinBalanceChanged` event when successful. - **/ - setMinBalance: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, minBalance: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, u128]>; - /** - * Change the Issuer, Admin and Freezer of an asset. - * - * Origin must be Signed and the sender should be the Owner of the asset `id`. - * - * - `id`: The identifier of the asset to be frozen. - * - `issuer`: The new Issuer of this asset. - * - `admin`: The new Admin of this asset. - * - `freezer`: The new Freezer of this asset. - * - * Emits `TeamChanged`. - * - * Weight: `O(1)` - **/ - setTeam: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, issuer: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, admin: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, freezer: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, MultiAddress, MultiAddress, MultiAddress]>; - /** - * Start the process of destroying a fungible asset class. - * - * `start_destroy` is the first in a series of extrinsics that should be called, to allow - * destruction of an asset class. - * - * The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`. - * - * - `id`: The identifier of the asset to be destroyed. This must identify an existing - * asset. - * - * The asset class must be frozen before calling `start_destroy`. - **/ - startDestroy: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; - /** - * Allow unprivileged transfers to and from an account again. - * - * Origin must be Signed and the sender should be the Admin of the asset `id`. - * - * - `id`: The identifier of the asset to be frozen. - * - `who`: The account to be unfrozen. - * - * Emits `Thawed`. - * - * Weight: `O(1)` - **/ - thaw: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, MultiAddress]>; - /** - * Allow unprivileged transfers for the asset again. - * - * Origin must be Signed and the sender should be the Admin of the asset `id`. - * - * - `id`: The identifier of the asset to be thawed. - * - * Emits `Thawed`. - * - * Weight: `O(1)` - **/ - thawAsset: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; - /** - * Create an asset account for non-provider assets. - * - * A deposit will be taken from the signer account. - * - * - `origin`: Must be Signed; the signer account must have sufficient funds for a deposit - * to be taken. - * - `id`: The identifier of the asset for the account to be created. - * - * Emits `Touched` event when successful. - **/ - touch: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; - /** - * Create an asset account for `who`. - * - * A deposit will be taken from the signer account. - * - * - `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account - * must have sufficient funds for a deposit to be taken. - * - `id`: The identifier of the asset for the account to be created. - * - `who`: The account to be created. - * - * Emits `Touched` event when successful. - **/ - touchOther: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, MultiAddress]>; - /** - * Move some assets from the sender account to another. - * - * Origin must be Signed. - * - * - `id`: The identifier of the asset to have some amount transferred. - * - `target`: The account to be credited. - * - `amount`: The amount by which the sender's balance of assets should be reduced and - * `target`'s balance increased. The amount actually transferred may be slightly greater in - * the case that the transfer would otherwise take the sender balance above zero but below - * the minimum balance. Must be greater than zero. - * - * Emits `Transferred` with the actual amount transferred. If this takes the source balance - * to below the minimum for the asset, then the amount transferred is increased to take it - * to zero. - * - * Weight: `O(1)` - * Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of - * `target`. - **/ - transfer: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, target: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, MultiAddress, Compact]>; - /** - * Transfer some asset balance from a previously delegated account to some third-party - * account. - * - * Origin must be Signed and there must be an approval in place by the `owner` to the - * signer. - * - * If the entire amount approved for transfer is transferred, then any deposit previously - * reserved by `approve_transfer` is unreserved. - * - * - `id`: The identifier of the asset. - * - `owner`: The account which previously approved for a transfer of at least `amount` and - * from which the asset balance will be withdrawn. - * - `destination`: The account to which the asset balance of `amount` will be transferred. - * - `amount`: The amount of assets to transfer. - * - * Emits `TransferredApproved` on success. - * - * Weight: `O(1)` - **/ - transferApproved: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, owner: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, destination: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, MultiAddress, MultiAddress, Compact]>; - /** - * Move some assets from the sender account to another, keeping the sender account alive. - * - * Origin must be Signed. - * - * - `id`: The identifier of the asset to have some amount transferred. - * - `target`: The account to be credited. - * - `amount`: The amount by which the sender's balance of assets should be reduced and - * `target`'s balance increased. The amount actually transferred may be slightly greater in - * the case that the transfer would otherwise take the sender balance above zero but below - * the minimum balance. Must be greater than zero. - * - * Emits `Transferred` with the actual amount transferred. If this takes the source balance - * to below the minimum for the asset, then the amount transferred is increased to take it - * to zero. - * - * Weight: `O(1)` - * Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of - * `target`. - **/ - transferKeepAlive: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, target: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, MultiAddress, Compact]>; - /** - * Change the Owner of an asset. - * - * Origin must be Signed and the sender should be the Owner of the asset `id`. - * - * - `id`: The identifier of the asset. - * - `owner`: The new Owner of this asset. - * - * Emits `OwnerChanged`. - * - * Weight: `O(1)` - **/ - transferOwnership: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, owner: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, MultiAddress]>; - /** - * Generic tx - **/ - [key: string]: SubmittableExtrinsicFunction; - }; - preimage: { - /** - * Ensure that the a bulk of pre-images is upgraded. - * - * The caller pays no fee if at least 90% of pre-images were successfully updated. - **/ - ensureUpdated: AugmentedSubmittable<(hashes: Vec | (H256 | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; - /** - * Register a preimage on-chain. - * - * If the preimage was previously requested, no fees or deposits are taken for providing - * the preimage. Otherwise, a deposit is taken proportional to the size of the preimage. - **/ - notePreimage: AugmentedSubmittable<(bytes: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; - /** - * Request a preimage be uploaded to the chain without paying any fees or deposits. - * - * If the preimage requests has already been provided on-chain, we unreserve any deposit - * a user may have paid, and take the control of the preimage out of their hands. - **/ - requestPreimage: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; - /** - * Clear an unrequested preimage from the runtime storage. - * - * If `len` is provided, then it will be a much cheaper operation. - * - * - `hash`: The hash of the preimage to be removed from the store. - * - `len`: The length of the preimage of `hash`. - **/ - unnotePreimage: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; - /** - * Clear a previously made request for a preimage. - * - * NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`. - **/ - unrequestPreimage: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; - /** - * Generic tx - **/ - [key: string]: SubmittableExtrinsicFunction; - }; - proxy: { - /** - * Register a proxy account for the sender that is able to make calls on its behalf. - * - * The dispatch origin for this call must be _Signed_. - * - * Parameters: - * - `proxy`: The account that the `caller` would like to make a proxy. - * - `proxy_type`: The permissions allowed for this proxy account. - * - `delay`: The announcement period required of the initial proxy. Will generally be - * zero. - **/ - addProxy: AugmentedSubmittable<(delegate: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, proxyType: TangleTestnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'Staking' | number | Uint8Array, delay: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, TangleTestnetRuntimeProxyType, u64]>; - /** - * Publish the hash of a proxy-call that will be made in the future. - * - * This must be called some number of blocks before the corresponding `proxy` is attempted - * if the delay associated with the proxy relationship is greater than zero. - * - * No more than `MaxPending` announcements may be made at any one time. - * - * This will take a deposit of `AnnouncementDepositFactor` as well as - * `AnnouncementDepositBase` if there are no other pending announcements. - * - * The dispatch origin for this call must be _Signed_ and a proxy of `real`. - * - * Parameters: - * - `real`: The account that the proxy will make a call on behalf of. - * - `call_hash`: The hash of the call to be made by the `real` account. - **/ - announce: AugmentedSubmittable<(real: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, callHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, H256]>; - /** - * Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and - * initialize it with a proxy of `proxy_type` for `origin` sender. - * - * Requires a `Signed` origin. - * - * - `proxy_type`: The type of the proxy that the sender will be registered as over the - * new account. This will almost always be the most permissive `ProxyType` possible to - * allow for maximum flexibility. - * - `index`: A disambiguation index, in case this is called multiple times in the same - * transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just - * want to use `0`. - * - `delay`: The announcement period required of the initial proxy. Will generally be - * zero. - * - * Fails with `Duplicate` if this has already been called in this transaction, from the - * same sender, with the same parameters. - * - * Fails if there are insufficient funds to pay for deposit. - **/ - createPure: AugmentedSubmittable<(proxyType: TangleTestnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'Staking' | number | Uint8Array, delay: u64 | AnyNumber | Uint8Array, index: u16 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [TangleTestnetRuntimeProxyType, u64, u16]>; - /** - * Removes a previously spawned pure proxy. - * - * WARNING: **All access to this account will be lost.** Any funds held in it will be - * inaccessible. - * - * Requires a `Signed` origin, and the sender account must have been created by a call to - * `pure` with corresponding parameters. - * - * - `spawner`: The account that originally called `pure` to create this account. - * - `index`: The disambiguation index originally passed to `pure`. Probably `0`. - * - `proxy_type`: The proxy type originally passed to `pure`. - * - `height`: The height of the chain when the call to `pure` was processed. - * - `ext_index`: The extrinsic index in which the call to `pure` was processed. - * - * Fails with `NoPermission` in case the caller is not a previously created pure - * account whose `pure` call has corresponding parameters. - **/ - killPure: AugmentedSubmittable<(spawner: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, proxyType: TangleTestnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'Staking' | number | Uint8Array, index: u16 | AnyNumber | Uint8Array, height: Compact | AnyNumber | Uint8Array, extIndex: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, TangleTestnetRuntimeProxyType, u16, Compact, Compact]>; - /** - * Dispatch the given `call` from an account that the sender is authorised for through - * `add_proxy`. - * - * The dispatch origin for this call must be _Signed_. - * - * Parameters: - * - `real`: The account that the proxy will make a call on behalf of. - * - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call. - * - `call`: The call to be made by the `real` account. - **/ - proxy: AugmentedSubmittable<(real: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, forceProxyType: Option | null | Uint8Array | TangleTestnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'Staking' | number, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, Option, Call]>; - /** - * Dispatch the given `call` from an account that the sender is authorized for through - * `add_proxy`. - * - * Removes any corresponding announcement(s). - * - * The dispatch origin for this call must be _Signed_. - * - * Parameters: - * - `real`: The account that the proxy will make a call on behalf of. - * - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call. - * - `call`: The call to be made by the `real` account. - **/ - proxyAnnounced: AugmentedSubmittable<(delegate: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, real: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, forceProxyType: Option | null | Uint8Array | TangleTestnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'Staking' | number, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, MultiAddress, Option, Call]>; - /** - * Remove the given announcement of a delegate. - * - * May be called by a target (proxied) account to remove a call that one of their delegates - * (`delegate`) has announced they want to execute. The deposit is returned. - * - * The dispatch origin for this call must be _Signed_. - * - * Parameters: - * - `delegate`: The account that previously announced the call. - * - `call_hash`: The hash of the call to be made. - **/ - rejectAnnouncement: AugmentedSubmittable<(delegate: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, callHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, H256]>; - /** - * Remove a given announcement. - * - * May be called by a proxy account to remove a call they previously announced and return - * the deposit. - * - * The dispatch origin for this call must be _Signed_. - * - * Parameters: - * - `real`: The account that the proxy will make a call on behalf of. - * - `call_hash`: The hash of the call to be made by the `real` account. - **/ - removeAnnouncement: AugmentedSubmittable<(real: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, callHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, H256]>; - /** - * Unregister all proxy accounts for the sender. - * - * The dispatch origin for this call must be _Signed_. - * - * WARNING: This may be called on accounts created by `pure`, however if done, then - * the unreserved fees will be inaccessible. **All access to this account will be lost.** - **/ - removeProxies: AugmentedSubmittable<() => SubmittableExtrinsic, []>; - /** - * Unregister a proxy account for the sender. - * - * The dispatch origin for this call must be _Signed_. + * The dispatch origin for this call must be _Signed_. * * Parameters: * - `proxy`: The account that the `caller` would like to remove as a proxy. @@ -5245,6 +4774,40 @@ declare module '@polkadot/api-base/types/submittable' { **/ [key: string]: SubmittableExtrinsicFunction; }; + tokenGateway: { + /** + * Registers a multi-chain ERC6160 asset. The asset should not already exist. + * + * This works by dispatching a request to the TokenGateway module on each requested chain + * to create the asset. + * `native` should be true if this asset originates from this chain + **/ + createErc6160Asset: AugmentedSubmittable<(asset: PalletTokenGatewayAssetRegistration | { localId?: any; reg?: any; native?: any; precision?: any } | string | Uint8Array) => SubmittableExtrinsic, [PalletTokenGatewayAssetRegistration]>; + /** + * Set the token gateway address for specified chains + **/ + setTokenGatewayAddresses: AugmentedSubmittable<(addresses: BTreeMap) => SubmittableExtrinsic, [BTreeMap]>; + /** + * Teleports a registered asset + * locks the asset and dispatches a request to token gateway on the destination + **/ + teleport: AugmentedSubmittable<(params: PalletTokenGatewayTeleportParams | { assetId?: any; destination?: any; recepient?: any; amount?: any; timeout?: any; tokenGateway?: any; relayerFee?: any; callData?: any; redeem?: any } | string | Uint8Array) => SubmittableExtrinsic, [PalletTokenGatewayTeleportParams]>; + /** + * Update the precision for an existing asset + **/ + updateAssetPrecision: AugmentedSubmittable<(update: PalletTokenGatewayPrecisionUpdate | { assetId?: any; precisions?: any } | string | Uint8Array) => SubmittableExtrinsic, [PalletTokenGatewayPrecisionUpdate]>; + /** + * Registers a multi-chain ERC6160 asset. The asset should not already exist. + * + * This works by dispatching a request to the TokenGateway module on each requested chain + * to create the asset. + **/ + updateErc6160Asset: AugmentedSubmittable<(asset: TokenGatewayPrimitivesGatewayAssetUpdate | { assetId?: any; addChains?: any; removeChains?: any; newAdmins?: any } | string | Uint8Array) => SubmittableExtrinsic, [TokenGatewayPrimitivesGatewayAssetUpdate]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction; + }; treasury: { /** * Check the status of the spend and remove it from the storage if processed. diff --git a/types/src/interfaces/lookup.ts b/types/src/interfaces/lookup.ts index 80cbcd106..5aeefc343 100644 --- a/types/src/interfaces/lookup.ts +++ b/types/src/interfaces/lookup.ts @@ -314,7 +314,7 @@ export default { } }, /** - * Lookup37: pallet_balances::pallet::Event + * Lookup36: pallet_balances::pallet::Event **/ PalletBalancesEvent: { _enum: { @@ -412,13 +412,13 @@ export default { } }, /** - * Lookup38: frame_support::traits::tokens::misc::BalanceStatus + * Lookup37: frame_support::traits::tokens::misc::BalanceStatus **/ FrameSupportTokensMiscBalanceStatus: { _enum: ['Free', 'Reserved'] }, /** - * Lookup39: pallet_transaction_payment::pallet::Event + * Lookup38: pallet_transaction_payment::pallet::Event **/ PalletTransactionPaymentEvent: { _enum: { @@ -430,7 +430,7 @@ export default { } }, /** - * Lookup40: pallet_grandpa::pallet::Event + * Lookup39: pallet_grandpa::pallet::Event **/ PalletGrandpaEvent: { _enum: { @@ -442,11 +442,11 @@ export default { } }, /** - * Lookup43: sp_consensus_grandpa::app::Public + * Lookup42: sp_consensus_grandpa::app::Public **/ SpConsensusGrandpaAppPublic: '[u8;32]', /** - * Lookup44: pallet_indices::pallet::Event + * Lookup43: pallet_indices::pallet::Event **/ PalletIndicesEvent: { _enum: { @@ -464,7 +464,7 @@ export default { } }, /** - * Lookup45: pallet_democracy::pallet::Event + * Lookup44: pallet_democracy::pallet::Event **/ PalletDemocracyEvent: { _enum: { @@ -542,13 +542,13 @@ export default { } }, /** - * Lookup46: pallet_democracy::vote_threshold::VoteThreshold + * Lookup45: pallet_democracy::vote_threshold::VoteThreshold **/ PalletDemocracyVoteThreshold: { _enum: ['SuperMajorityApprove', 'SuperMajorityAgainst', 'SimpleMajority'] }, /** - * Lookup47: pallet_democracy::vote::AccountVote + * Lookup46: pallet_democracy::vote::AccountVote **/ PalletDemocracyVoteAccountVote: { _enum: { @@ -563,7 +563,7 @@ export default { } }, /** - * Lookup49: pallet_democracy::types::MetadataOwner + * Lookup48: pallet_democracy::types::MetadataOwner **/ PalletDemocracyMetadataOwner: { _enum: { @@ -573,7 +573,7 @@ export default { } }, /** - * Lookup50: pallet_collective::pallet::Event + * Lookup49: pallet_collective::pallet::Event **/ PalletCollectiveEvent: { _enum: { @@ -612,7 +612,7 @@ export default { } }, /** - * Lookup51: pallet_vesting::pallet::Event + * Lookup50: pallet_vesting::pallet::Event **/ PalletVestingEvent: { _enum: { @@ -626,7 +626,7 @@ export default { } }, /** - * Lookup52: pallet_elections_phragmen::pallet::Event + * Lookup51: pallet_elections_phragmen::pallet::Event **/ PalletElectionsPhragmenEvent: { _enum: { @@ -652,7 +652,7 @@ export default { } }, /** - * Lookup55: pallet_election_provider_multi_phase::pallet::Event + * Lookup54: pallet_election_provider_multi_phase::pallet::Event **/ PalletElectionProviderMultiPhaseEvent: { _enum: { @@ -682,13 +682,13 @@ export default { } }, /** - * Lookup56: pallet_election_provider_multi_phase::ElectionCompute + * Lookup55: pallet_election_provider_multi_phase::ElectionCompute **/ PalletElectionProviderMultiPhaseElectionCompute: { _enum: ['OnChain', 'Signed', 'Unsigned', 'Fallback', 'Emergency'] }, /** - * Lookup57: sp_npos_elections::ElectionScore + * Lookup56: sp_npos_elections::ElectionScore **/ SpNposElectionsElectionScore: { minimalStake: 'u128', @@ -696,7 +696,7 @@ export default { sumStakeSquared: 'u128' }, /** - * Lookup58: pallet_election_provider_multi_phase::Phase + * Lookup57: pallet_election_provider_multi_phase::Phase **/ PalletElectionProviderMultiPhasePhase: { _enum: { @@ -707,7 +707,7 @@ export default { } }, /** - * Lookup60: pallet_staking::pallet::pallet::Event + * Lookup59: pallet_staking::pallet::pallet::Event **/ PalletStakingPalletEvent: { _enum: { @@ -783,7 +783,7 @@ export default { } }, /** - * Lookup61: pallet_staking::RewardDestination + * Lookup60: pallet_staking::RewardDestination **/ PalletStakingRewardDestination: { _enum: { @@ -795,20 +795,20 @@ export default { } }, /** - * Lookup63: pallet_staking::ValidatorPrefs + * Lookup62: pallet_staking::ValidatorPrefs **/ PalletStakingValidatorPrefs: { commission: 'Compact', blocked: 'bool' }, /** - * Lookup65: pallet_staking::Forcing + * Lookup64: pallet_staking::Forcing **/ PalletStakingForcing: { _enum: ['NotForcing', 'ForceNew', 'ForceNone', 'ForceAlways'] }, /** - * Lookup66: pallet_session::pallet::Event + * Lookup65: pallet_session::pallet::Event **/ PalletSessionEvent: { _enum: { @@ -818,7 +818,7 @@ export default { } }, /** - * Lookup67: pallet_treasury::pallet::Event + * Lookup66: pallet_treasury::pallet::Event **/ PalletTreasuryEvent: { _enum: { @@ -873,7 +873,7 @@ export default { } }, /** - * Lookup68: pallet_bounties::pallet::Event + * Lookup67: pallet_bounties::pallet::Event **/ PalletBountiesEvent: { _enum: { @@ -919,7 +919,7 @@ export default { } }, /** - * Lookup69: pallet_child_bounties::pallet::Event + * Lookup68: pallet_child_bounties::pallet::Event **/ PalletChildBountiesEvent: { _enum: { @@ -945,7 +945,7 @@ export default { } }, /** - * Lookup70: pallet_bags_list::pallet::Event + * Lookup69: pallet_bags_list::pallet::Event **/ PalletBagsListEvent: { _enum: { @@ -961,7 +961,7 @@ export default { } }, /** - * Lookup71: pallet_nomination_pools::pallet::Event + * Lookup70: pallet_nomination_pools::pallet::Event **/ PalletNominationPoolsEvent: { _enum: { @@ -1049,20 +1049,20 @@ export default { } }, /** - * Lookup72: pallet_nomination_pools::PoolState + * Lookup71: pallet_nomination_pools::PoolState **/ PalletNominationPoolsPoolState: { _enum: ['Open', 'Blocked', 'Destroying'] }, /** - * Lookup75: pallet_nomination_pools::CommissionChangeRate + * Lookup74: pallet_nomination_pools::CommissionChangeRate **/ PalletNominationPoolsCommissionChangeRate: { maxIncrease: 'Perbill', minDelay: 'u64' }, /** - * Lookup77: pallet_nomination_pools::CommissionClaimPermission + * Lookup76: pallet_nomination_pools::CommissionClaimPermission **/ PalletNominationPoolsCommissionClaimPermission: { _enum: { @@ -1071,7 +1071,7 @@ export default { } }, /** - * Lookup78: pallet_scheduler::pallet::Event + * Lookup77: pallet_scheduler::pallet::Event **/ PalletSchedulerEvent: { _enum: { @@ -1117,7 +1117,7 @@ export default { } }, /** - * Lookup81: pallet_preimage::pallet::Event + * Lookup80: pallet_preimage::pallet::Event **/ PalletPreimageEvent: { _enum: { @@ -1142,7 +1142,7 @@ export default { } }, /** - * Lookup82: pallet_offences::pallet::Event + * Lookup81: pallet_offences::pallet::Event **/ PalletOffencesEvent: { _enum: { @@ -1153,7 +1153,7 @@ export default { } }, /** - * Lookup84: pallet_tx_pause::pallet::Event + * Lookup83: pallet_tx_pause::pallet::Event **/ PalletTxPauseEvent: { _enum: { @@ -1166,7 +1166,7 @@ export default { } }, /** - * Lookup87: pallet_im_online::pallet::Event + * Lookup86: pallet_im_online::pallet::Event **/ PalletImOnlineEvent: { _enum: { @@ -1180,11 +1180,11 @@ export default { } }, /** - * Lookup88: pallet_im_online::sr25519::app_sr25519::Public + * Lookup87: pallet_im_online::sr25519::app_sr25519::Public **/ PalletImOnlineSr25519AppSr25519Public: '[u8;32]', /** - * Lookup91: sp_staking::Exposure + * Lookup90: sp_staking::Exposure **/ SpStakingExposure: { total: 'Compact', @@ -1192,14 +1192,14 @@ export default { others: 'Vec' }, /** - * Lookup94: sp_staking::IndividualExposure + * Lookup93: sp_staking::IndividualExposure **/ SpStakingIndividualExposure: { who: 'AccountId32', value: 'Compact' }, /** - * Lookup95: pallet_identity::pallet::Event + * Lookup94: pallet_identity::pallet::Event **/ PalletIdentityEvent: { _enum: { @@ -1273,7 +1273,7 @@ export default { } }, /** - * Lookup97: pallet_utility::pallet::Event + * Lookup96: pallet_utility::pallet::Event **/ PalletUtilityEvent: { _enum: { @@ -1293,7 +1293,7 @@ export default { } }, /** - * Lookup98: pallet_multisig::pallet::Event + * Lookup97: pallet_multisig::pallet::Event **/ PalletMultisigEvent: { _enum: { @@ -1324,14 +1324,14 @@ export default { } }, /** - * Lookup99: pallet_multisig::Timepoint + * Lookup98: pallet_multisig::Timepoint **/ PalletMultisigTimepoint: { height: 'u64', index: 'u32' }, /** - * Lookup100: pallet_ethereum::pallet::Event + * Lookup99: pallet_ethereum::pallet::Event **/ PalletEthereumEvent: { _enum: { @@ -1345,7 +1345,7 @@ export default { } }, /** - * Lookup103: evm_core::error::ExitReason + * Lookup102: evm_core::error::ExitReason **/ EvmCoreErrorExitReason: { _enum: { @@ -1356,13 +1356,13 @@ export default { } }, /** - * Lookup104: evm_core::error::ExitSucceed + * Lookup103: evm_core::error::ExitSucceed **/ EvmCoreErrorExitSucceed: { _enum: ['Stopped', 'Returned', 'Suicided'] }, /** - * Lookup105: evm_core::error::ExitError + * Lookup104: evm_core::error::ExitError **/ EvmCoreErrorExitError: { _enum: { @@ -1385,13 +1385,13 @@ export default { } }, /** - * Lookup109: evm_core::error::ExitRevert + * Lookup108: evm_core::error::ExitRevert **/ EvmCoreErrorExitRevert: { _enum: ['Reverted'] }, /** - * Lookup110: evm_core::error::ExitFatal + * Lookup109: evm_core::error::ExitFatal **/ EvmCoreErrorExitFatal: { _enum: { @@ -1402,7 +1402,7 @@ export default { } }, /** - * Lookup111: pallet_evm::pallet::Event + * Lookup110: pallet_evm::pallet::Event **/ PalletEvmEvent: { _enum: { @@ -1424,7 +1424,7 @@ export default { } }, /** - * Lookup112: ethereum::log::Log + * Lookup111: ethereum::log::Log **/ EthereumLog: { address: 'H160', @@ -1432,7 +1432,7 @@ export default { data: 'Bytes' }, /** - * Lookup114: pallet_base_fee::pallet::Event + * Lookup113: pallet_base_fee::pallet::Event **/ PalletBaseFeeEvent: { _enum: { @@ -1446,7 +1446,7 @@ export default { } }, /** - * Lookup118: pallet_airdrop_claims::pallet::Event + * Lookup117: pallet_airdrop_claims::pallet::Event **/ PalletAirdropClaimsEvent: { _enum: { @@ -1458,7 +1458,7 @@ export default { } }, /** - * Lookup119: pallet_airdrop_claims::utils::MultiAddress + * Lookup118: pallet_airdrop_claims::utils::MultiAddress **/ PalletAirdropClaimsUtilsMultiAddress: { _enum: { @@ -1467,11 +1467,11 @@ export default { } }, /** - * Lookup120: pallet_airdrop_claims::utils::ethereum_address::EthereumAddress + * Lookup119: pallet_airdrop_claims::utils::ethereum_address::EthereumAddress **/ PalletAirdropClaimsUtilsEthereumAddress: '[u8;20]', /** - * Lookup121: pallet_proxy::pallet::Event + * Lookup120: pallet_proxy::pallet::Event **/ PalletProxyEvent: { _enum: { @@ -1504,13 +1504,13 @@ export default { } }, /** - * Lookup122: tangle_testnet_runtime::ProxyType + * Lookup121: tangle_testnet_runtime::ProxyType **/ TangleTestnetRuntimeProxyType: { _enum: ['Any', 'NonTransfer', 'Governance', 'Staking'] }, /** - * Lookup124: pallet_multi_asset_delegation::pallet::Event + * Lookup123: pallet_multi_asset_delegation::pallet::Event **/ PalletMultiAssetDelegationEvent: { _enum: { @@ -1640,7 +1640,7 @@ export default { } }, /** - * Lookup125: tangle_primitives::services::types::Asset + * Lookup124: tangle_primitives::services::types::Asset **/ TanglePrimitivesServicesTypesAsset: { _enum: { @@ -1649,7 +1649,7 @@ export default { } }, /** - * Lookup126: pallet_services::module::Event + * Lookup125: pallet_services::module::Event **/ PalletServicesModuleEvent: { _enum: { @@ -1751,14 +1751,14 @@ export default { } }, /** - * Lookup127: tangle_primitives::services::types::OperatorPreferences + * Lookup126: tangle_primitives::services::types::OperatorPreferences **/ TanglePrimitivesServicesTypesOperatorPreferences: { key: '[u8;65]', priceTargets: 'TanglePrimitivesServicesTypesPriceTargets' }, /** - * Lookup129: tangle_primitives::services::types::PriceTargets + * Lookup128: tangle_primitives::services::types::PriceTargets **/ TanglePrimitivesServicesTypesPriceTargets: { cpu: 'u64', @@ -1768,7 +1768,7 @@ export default { storageNvme: 'u64' }, /** - * Lookup131: tangle_primitives::services::field::Field + * Lookup130: tangle_primitives::services::field::Field **/ TanglePrimitivesServicesField: { _enum: { @@ -1876,7 +1876,7 @@ export default { } }, /** - * Lookup132: tangle_primitives::services::field::FieldType + * Lookup131: tangle_primitives::services::field::FieldType **/ TanglePrimitivesServicesFieldFieldType: { _enum: { @@ -1984,7 +1984,7 @@ export default { } }, /** - * Lookup148: tangle_primitives::services::types::AssetSecurityRequirement + * Lookup147: tangle_primitives::services::types::AssetSecurityRequirement **/ TanglePrimitivesServicesTypesAssetSecurityRequirement: { asset: 'TanglePrimitivesServicesTypesAsset', @@ -1992,14 +1992,14 @@ export default { maxExposurePercent: 'Percent' }, /** - * Lookup154: tangle_primitives::services::types::AssetSecurityCommitment + * Lookup153: tangle_primitives::services::types::AssetSecurityCommitment **/ TanglePrimitivesServicesTypesAssetSecurityCommitment: { asset: 'TanglePrimitivesServicesTypesAsset', exposurePercent: 'Percent' }, /** - * Lookup157: pallet_tangle_lst::pallet::Event + * Lookup156: pallet_tangle_lst::pallet::Event **/ PalletTangleLstEvent: { _enum: { @@ -2090,20 +2090,20 @@ export default { } }, /** - * Lookup158: pallet_tangle_lst::types::pools::PoolState + * Lookup157: pallet_tangle_lst::types::pools::PoolState **/ PalletTangleLstPoolsPoolState: { _enum: ['Open', 'Blocked', 'Destroying'] }, /** - * Lookup159: pallet_tangle_lst::types::commission::CommissionChangeRate + * Lookup158: pallet_tangle_lst::types::commission::CommissionChangeRate **/ PalletTangleLstCommissionCommissionChangeRate: { maxIncrease: 'Perbill', minDelay: 'u64' }, /** - * Lookup161: pallet_tangle_lst::types::commission::CommissionClaimPermission + * Lookup160: pallet_tangle_lst::types::commission::CommissionClaimPermission **/ PalletTangleLstCommissionCommissionClaimPermission: { _enum: { @@ -2112,7 +2112,7 @@ export default { } }, /** - * Lookup162: pallet_rewards::pallet::Event + * Lookup161: pallet_rewards::pallet::Event **/ PalletRewardsEvent: { _enum: { @@ -2164,13 +2164,13 @@ export default { } }, /** - * Lookup163: pallet_rewards::types::AssetAction + * Lookup162: pallet_rewards::types::AssetAction **/ PalletRewardsAssetAction: { _enum: ['Add', 'Remove'] }, /** - * Lookup164: pallet_rewards::types::RewardConfigForAssetVault + * Lookup163: pallet_rewards::types::RewardConfigForAssetVault **/ PalletRewardsRewardConfigForAssetVault: { apy: 'Perbill', @@ -2179,13 +2179,181 @@ export default { boostMultiplier: 'Option' }, /** - * Lookup167: tangle_primitives::types::rewards::LockMultiplier + * Lookup166: tangle_primitives::types::rewards::LockMultiplier **/ TanglePrimitivesRewardsLockMultiplier: { _enum: ['__Unused0', 'OneMonth', 'TwoMonths', 'ThreeMonths', '__Unused4', '__Unused5', 'SixMonths'] }, /** - * Lookup168: frame_system::Phase + * Lookup167: pallet_ismp::pallet::Event + **/ + PalletIsmpEvent: { + _enum: { + StateMachineUpdated: { + stateMachineId: 'IsmpConsensusStateMachineId', + latestHeight: 'u64', + }, + StateCommitmentVetoed: { + height: 'IsmpConsensusStateMachineHeight', + fisherman: 'Bytes', + }, + ConsensusClientCreated: { + consensusClientId: '[u8;4]', + }, + ConsensusClientFrozen: { + consensusClientId: '[u8;4]', + }, + Response: { + destChain: 'IsmpHostStateMachine', + sourceChain: 'IsmpHostStateMachine', + requestNonce: 'u64', + commitment: 'H256', + reqCommitment: 'H256', + }, + Request: { + destChain: 'IsmpHostStateMachine', + sourceChain: 'IsmpHostStateMachine', + requestNonce: 'u64', + commitment: 'H256', + }, + Errors: { + errors: 'Vec', + }, + PostRequestHandled: 'IsmpEventsRequestResponseHandled', + PostResponseHandled: 'IsmpEventsRequestResponseHandled', + GetRequestHandled: 'IsmpEventsRequestResponseHandled', + PostRequestTimeoutHandled: 'IsmpEventsTimeoutHandled', + PostResponseTimeoutHandled: 'IsmpEventsTimeoutHandled', + GetRequestTimeoutHandled: 'IsmpEventsTimeoutHandled' + } + }, + /** + * Lookup168: ismp::consensus::StateMachineId + **/ + IsmpConsensusStateMachineId: { + stateId: 'IsmpHostStateMachine', + consensusStateId: '[u8;4]' + }, + /** + * Lookup169: ismp::host::StateMachine + **/ + IsmpHostStateMachine: { + _enum: { + Evm: 'u32', + Polkadot: 'u32', + Kusama: 'u32', + Substrate: '[u8;4]', + Tendermint: '[u8;4]' + } + }, + /** + * Lookup170: ismp::consensus::StateMachineHeight + **/ + IsmpConsensusStateMachineHeight: { + id: 'IsmpConsensusStateMachineId', + height: 'u64' + }, + /** + * Lookup172: pallet_ismp::errors::HandlingError + **/ + PalletIsmpErrorsHandlingError: { + message: 'Bytes' + }, + /** + * Lookup174: ismp::events::RequestResponseHandled + **/ + IsmpEventsRequestResponseHandled: { + commitment: 'H256', + relayer: 'Bytes' + }, + /** + * Lookup175: ismp::events::TimeoutHandled + **/ + IsmpEventsTimeoutHandled: { + commitment: 'H256', + source: 'IsmpHostStateMachine', + dest: 'IsmpHostStateMachine' + }, + /** + * Lookup176: ismp_grandpa::pallet::Event + **/ + IsmpGrandpaEvent: { + _enum: { + StateMachineAdded: { + stateMachines: 'Vec', + }, + StateMachineRemoved: { + stateMachines: 'Vec' + } + } + }, + /** + * Lookup178: pallet_hyperbridge::pallet::Event + **/ + PalletHyperbridgeEvent: { + _enum: { + HostParamsUpdated: { + _alias: { + new_: 'new', + }, + old: 'PalletHyperbridgeVersionedHostParams', + new_: 'PalletHyperbridgeVersionedHostParams', + }, + RelayerFeeWithdrawn: { + amount: 'u128', + account: 'AccountId32', + }, + ProtocolRevenueWithdrawn: { + amount: 'u128', + account: 'AccountId32' + } + } + }, + /** + * Lookup179: pallet_hyperbridge::VersionedHostParams + **/ + PalletHyperbridgeVersionedHostParams: { + _enum: { + V1: 'PalletHyperbridgeSubstrateHostParams' + } + }, + /** + * Lookup180: pallet_hyperbridge::SubstrateHostParams + **/ + PalletHyperbridgeSubstrateHostParams: { + defaultPerByteFee: 'u128', + perByteFees: 'BTreeMap', + assetRegistrationFee: 'u128' + }, + /** + * Lookup184: pallet_token_gateway::pallet::Event + **/ + PalletTokenGatewayEvent: { + _enum: { + AssetTeleported: { + from: 'AccountId32', + to: 'H256', + amount: 'u128', + dest: 'IsmpHostStateMachine', + commitment: 'H256', + }, + AssetReceived: { + beneficiary: 'AccountId32', + amount: 'u128', + source: 'IsmpHostStateMachine', + }, + AssetRefunded: { + beneficiary: 'AccountId32', + amount: 'u128', + source: 'IsmpHostStateMachine', + }, + ERC6160AssetRegistrationDispatched: { + commitment: 'H256' + } + } + }, + /** + * Lookup185: frame_system::Phase **/ FrameSystemPhase: { _enum: { @@ -2195,21 +2363,21 @@ export default { } }, /** - * Lookup170: frame_system::LastRuntimeUpgradeInfo + * Lookup187: frame_system::LastRuntimeUpgradeInfo **/ FrameSystemLastRuntimeUpgradeInfo: { specVersion: 'Compact', specName: 'Text' }, /** - * Lookup172: frame_system::CodeUpgradeAuthorization + * Lookup189: frame_system::CodeUpgradeAuthorization **/ FrameSystemCodeUpgradeAuthorization: { codeHash: 'H256', checkVersion: 'bool' }, /** - * Lookup173: frame_system::pallet::Call + * Lookup190: frame_system::pallet::Call **/ FrameSystemCall: { _enum: { @@ -2254,7 +2422,7 @@ export default { } }, /** - * Lookup177: frame_system::limits::BlockWeights + * Lookup194: frame_system::limits::BlockWeights **/ FrameSystemLimitsBlockWeights: { baseBlock: 'SpWeightsWeightV2Weight', @@ -2262,7 +2430,7 @@ export default { perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass' }, /** - * Lookup178: frame_support::dispatch::PerDispatchClass + * Lookup195: frame_support::dispatch::PerDispatchClass **/ FrameSupportDispatchPerDispatchClassWeightsPerClass: { normal: 'FrameSystemLimitsWeightsPerClass', @@ -2270,7 +2438,7 @@ export default { mandatory: 'FrameSystemLimitsWeightsPerClass' }, /** - * Lookup179: frame_system::limits::WeightsPerClass + * Lookup196: frame_system::limits::WeightsPerClass **/ FrameSystemLimitsWeightsPerClass: { baseExtrinsic: 'SpWeightsWeightV2Weight', @@ -2279,13 +2447,13 @@ export default { reserved: 'Option' }, /** - * Lookup181: frame_system::limits::BlockLength + * Lookup198: frame_system::limits::BlockLength **/ FrameSystemLimitsBlockLength: { max: 'FrameSupportDispatchPerDispatchClassU32' }, /** - * Lookup182: frame_support::dispatch::PerDispatchClass + * Lookup199: frame_support::dispatch::PerDispatchClass **/ FrameSupportDispatchPerDispatchClassU32: { normal: 'u32', @@ -2293,14 +2461,14 @@ export default { mandatory: 'u32' }, /** - * Lookup183: sp_weights::RuntimeDbWeight + * Lookup200: sp_weights::RuntimeDbWeight **/ SpWeightsRuntimeDbWeight: { read: 'u64', write: 'u64' }, /** - * Lookup184: sp_version::RuntimeVersion + * Lookup201: sp_version::RuntimeVersion **/ SpVersionRuntimeVersion: { specName: 'Text', @@ -2313,13 +2481,13 @@ export default { stateVersion: 'u8' }, /** - * Lookup189: frame_system::pallet::Error + * Lookup206: frame_system::pallet::Error **/ FrameSystemError: { _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered', 'MultiBlockMigrationsOngoing', 'NothingAuthorized', 'Unauthorized'] }, /** - * Lookup190: pallet_timestamp::pallet::Call + * Lookup207: pallet_timestamp::pallet::Call **/ PalletTimestampCall: { _enum: { @@ -2329,7 +2497,7 @@ export default { } }, /** - * Lookup191: pallet_sudo::pallet::Call + * Lookup208: pallet_sudo::pallet::Call **/ PalletSudoCall: { _enum: { @@ -2354,7 +2522,7 @@ export default { } }, /** - * Lookup193: pallet_assets::pallet::Call + * Lookup210: pallet_assets::pallet::Call **/ PalletAssetsCall: { _enum: { @@ -2506,7 +2674,7 @@ export default { } }, /** - * Lookup196: pallet_balances::pallet::Call + * Lookup212: pallet_balances::pallet::Call **/ PalletBalancesCall: { _enum: { @@ -2551,13 +2719,13 @@ export default { } }, /** - * Lookup197: pallet_balances::types::AdjustmentDirection + * Lookup213: pallet_balances::types::AdjustmentDirection **/ PalletBalancesAdjustmentDirection: { _enum: ['Increase', 'Decrease'] }, /** - * Lookup198: pallet_babe::pallet::Call + * Lookup214: pallet_babe::pallet::Call **/ PalletBabeCall: { _enum: { @@ -2575,7 +2743,7 @@ export default { } }, /** - * Lookup199: sp_consensus_slots::EquivocationProof, sp_consensus_babe::app::Public> + * Lookup215: sp_consensus_slots::EquivocationProof, sp_consensus_babe::app::Public> **/ SpConsensusSlotsEquivocationProof: { offender: 'SpConsensusBabeAppPublic', @@ -2584,7 +2752,7 @@ export default { secondHeader: 'SpRuntimeHeader' }, /** - * Lookup200: sp_runtime::generic::header::Header + * Lookup216: sp_runtime::generic::header::Header **/ SpRuntimeHeader: { parentHash: 'H256', @@ -2594,11 +2762,11 @@ export default { digest: 'SpRuntimeDigest' }, /** - * Lookup201: sp_consensus_babe::app::Public + * Lookup217: sp_consensus_babe::app::Public **/ SpConsensusBabeAppPublic: '[u8;32]', /** - * Lookup203: sp_session::MembershipProof + * Lookup219: sp_session::MembershipProof **/ SpSessionMembershipProof: { session: 'u32', @@ -2606,7 +2774,7 @@ export default { validatorCount: 'u32' }, /** - * Lookup204: sp_consensus_babe::digests::NextConfigDescriptor + * Lookup220: sp_consensus_babe::digests::NextConfigDescriptor **/ SpConsensusBabeDigestsNextConfigDescriptor: { _enum: { @@ -2618,13 +2786,13 @@ export default { } }, /** - * Lookup206: sp_consensus_babe::AllowedSlots + * Lookup222: sp_consensus_babe::AllowedSlots **/ SpConsensusBabeAllowedSlots: { _enum: ['PrimarySlots', 'PrimaryAndSecondaryPlainSlots', 'PrimaryAndSecondaryVRFSlots'] }, /** - * Lookup207: pallet_grandpa::pallet::Call + * Lookup223: pallet_grandpa::pallet::Call **/ PalletGrandpaCall: { _enum: { @@ -2643,14 +2811,14 @@ export default { } }, /** - * Lookup208: sp_consensus_grandpa::EquivocationProof + * Lookup224: sp_consensus_grandpa::EquivocationProof **/ SpConsensusGrandpaEquivocationProof: { setId: 'u64', equivocation: 'SpConsensusGrandpaEquivocation' }, /** - * Lookup209: sp_consensus_grandpa::Equivocation + * Lookup225: sp_consensus_grandpa::Equivocation **/ SpConsensusGrandpaEquivocation: { _enum: { @@ -2659,7 +2827,7 @@ export default { } }, /** - * Lookup210: finality_grandpa::Equivocation, sp_consensus_grandpa::app::Signature> + * Lookup226: finality_grandpa::Equivocation, sp_consensus_grandpa::app::Signature> **/ FinalityGrandpaEquivocationPrevote: { roundNumber: 'u64', @@ -2668,18 +2836,18 @@ export default { second: '(FinalityGrandpaPrevote,SpConsensusGrandpaAppSignature)' }, /** - * Lookup211: finality_grandpa::Prevote + * Lookup227: finality_grandpa::Prevote **/ FinalityGrandpaPrevote: { targetHash: 'H256', targetNumber: 'u64' }, /** - * Lookup212: sp_consensus_grandpa::app::Signature + * Lookup228: sp_consensus_grandpa::app::Signature **/ SpConsensusGrandpaAppSignature: '[u8;64]', /** - * Lookup215: finality_grandpa::Equivocation, sp_consensus_grandpa::app::Signature> + * Lookup231: finality_grandpa::Equivocation, sp_consensus_grandpa::app::Signature> **/ FinalityGrandpaEquivocationPrecommit: { roundNumber: 'u64', @@ -2688,18 +2856,18 @@ export default { second: '(FinalityGrandpaPrecommit,SpConsensusGrandpaAppSignature)' }, /** - * Lookup216: finality_grandpa::Precommit + * Lookup232: finality_grandpa::Precommit **/ FinalityGrandpaPrecommit: { targetHash: 'H256', targetNumber: 'u64' }, /** - * Lookup218: sp_core::Void + * Lookup234: sp_core::Void **/ SpCoreVoid: 'Null', /** - * Lookup219: pallet_indices::pallet::Call + * Lookup235: pallet_indices::pallet::Call **/ PalletIndicesCall: { _enum: { @@ -2730,7 +2898,7 @@ export default { } }, /** - * Lookup220: pallet_democracy::pallet::Call + * Lookup236: pallet_democracy::pallet::Call **/ PalletDemocracyCall: { _enum: { @@ -2799,7 +2967,7 @@ export default { } }, /** - * Lookup221: frame_support::traits::preimages::Bounded + * Lookup237: frame_support::traits::preimages::Bounded **/ FrameSupportPreimagesBounded: { _enum: { @@ -2820,17 +2988,17 @@ export default { } }, /** - * Lookup222: sp_runtime::traits::BlakeTwo256 + * Lookup238: sp_runtime::traits::BlakeTwo256 **/ SpRuntimeBlakeTwo256: 'Null', /** - * Lookup224: pallet_democracy::conviction::Conviction + * Lookup240: pallet_democracy::conviction::Conviction **/ PalletDemocracyConviction: { _enum: ['None', 'Locked1x', 'Locked2x', 'Locked3x', 'Locked4x', 'Locked5x', 'Locked6x'] }, /** - * Lookup226: pallet_collective::pallet::Call + * Lookup242: pallet_collective::pallet::Call **/ PalletCollectiveCall: { _enum: { @@ -2866,7 +3034,7 @@ export default { } }, /** - * Lookup227: pallet_vesting::pallet::Call + * Lookup243: pallet_vesting::pallet::Call **/ PalletVestingCall: { _enum: { @@ -2894,7 +3062,7 @@ export default { } }, /** - * Lookup228: pallet_vesting::vesting_info::VestingInfo + * Lookup244: pallet_vesting::vesting_info::VestingInfo **/ PalletVestingVestingInfo: { locked: 'u128', @@ -2902,7 +3070,7 @@ export default { startingBlock: 'u64' }, /** - * Lookup229: pallet_elections_phragmen::pallet::Call + * Lookup245: pallet_elections_phragmen::pallet::Call **/ PalletElectionsPhragmenCall: { _enum: { @@ -2929,7 +3097,7 @@ export default { } }, /** - * Lookup230: pallet_elections_phragmen::Renouncing + * Lookup246: pallet_elections_phragmen::Renouncing **/ PalletElectionsPhragmenRenouncing: { _enum: { @@ -2939,7 +3107,7 @@ export default { } }, /** - * Lookup231: pallet_election_provider_multi_phase::pallet::Call + * Lookup247: pallet_election_provider_multi_phase::pallet::Call **/ PalletElectionProviderMultiPhaseCall: { _enum: { @@ -2963,7 +3131,7 @@ export default { } }, /** - * Lookup232: pallet_election_provider_multi_phase::RawSolution + * Lookup248: pallet_election_provider_multi_phase::RawSolution **/ PalletElectionProviderMultiPhaseRawSolution: { solution: 'TangleTestnetRuntimeNposSolution16', @@ -2971,7 +3139,7 @@ export default { round: 'u32' }, /** - * Lookup233: tangle_testnet_runtime::NposSolution16 + * Lookup249: tangle_testnet_runtime::NposSolution16 **/ TangleTestnetRuntimeNposSolution16: { votes1: 'Vec<(Compact,Compact)>', @@ -2992,21 +3160,21 @@ export default { votes16: 'Vec<(Compact,[(Compact,Compact);15],Compact)>' }, /** - * Lookup284: pallet_election_provider_multi_phase::SolutionOrSnapshotSize + * Lookup300: pallet_election_provider_multi_phase::SolutionOrSnapshotSize **/ PalletElectionProviderMultiPhaseSolutionOrSnapshotSize: { voters: 'Compact', targets: 'Compact' }, /** - * Lookup288: sp_npos_elections::Support + * Lookup304: sp_npos_elections::Support **/ SpNposElectionsSupport: { total: 'u128', voters: 'Vec<(AccountId32,u128)>' }, /** - * Lookup289: pallet_staking::pallet::pallet::Call + * Lookup305: pallet_staking::pallet::pallet::Call **/ PalletStakingPalletCall: { _enum: { @@ -3115,7 +3283,7 @@ export default { } }, /** - * Lookup292: pallet_staking::pallet::pallet::ConfigOp + * Lookup308: pallet_staking::pallet::pallet::ConfigOp **/ PalletStakingPalletConfigOpU128: { _enum: { @@ -3125,7 +3293,7 @@ export default { } }, /** - * Lookup293: pallet_staking::pallet::pallet::ConfigOp + * Lookup309: pallet_staking::pallet::pallet::ConfigOp **/ PalletStakingPalletConfigOpU32: { _enum: { @@ -3135,7 +3303,7 @@ export default { } }, /** - * Lookup294: pallet_staking::pallet::pallet::ConfigOp + * Lookup310: pallet_staking::pallet::pallet::ConfigOp **/ PalletStakingPalletConfigOpPercent: { _enum: { @@ -3145,7 +3313,7 @@ export default { } }, /** - * Lookup295: pallet_staking::pallet::pallet::ConfigOp + * Lookup311: pallet_staking::pallet::pallet::ConfigOp **/ PalletStakingPalletConfigOpPerbill: { _enum: { @@ -3155,14 +3323,14 @@ export default { } }, /** - * Lookup300: pallet_staking::UnlockChunk + * Lookup316: pallet_staking::UnlockChunk **/ PalletStakingUnlockChunk: { value: 'Compact', era: 'Compact' }, /** - * Lookup302: pallet_session::pallet::Call + * Lookup318: pallet_session::pallet::Call **/ PalletSessionCall: { _enum: { @@ -3177,7 +3345,7 @@ export default { } }, /** - * Lookup303: tangle_testnet_runtime::opaque::SessionKeys + * Lookup319: tangle_testnet_runtime::opaque::SessionKeys **/ TangleTestnetRuntimeOpaqueSessionKeys: { babe: 'SpConsensusBabeAppPublic', @@ -3185,7 +3353,7 @@ export default { imOnline: 'PalletImOnlineSr25519AppSr25519Public' }, /** - * Lookup304: pallet_treasury::pallet::Call + * Lookup320: pallet_treasury::pallet::Call **/ PalletTreasuryCall: { _enum: { @@ -3217,7 +3385,7 @@ export default { } }, /** - * Lookup306: pallet_bounties::pallet::Call + * Lookup322: pallet_bounties::pallet::Call **/ PalletBountiesCall: { _enum: { @@ -3256,7 +3424,7 @@ export default { } }, /** - * Lookup307: pallet_child_bounties::pallet::Call + * Lookup323: pallet_child_bounties::pallet::Call **/ PalletChildBountiesCall: { _enum: { @@ -3295,7 +3463,7 @@ export default { } }, /** - * Lookup308: pallet_bags_list::pallet::Call + * Lookup324: pallet_bags_list::pallet::Call **/ PalletBagsListCall: { _enum: { @@ -3312,7 +3480,7 @@ export default { } }, /** - * Lookup309: pallet_nomination_pools::pallet::Call + * Lookup325: pallet_nomination_pools::pallet::Call **/ PalletNominationPoolsCall: { _enum: { @@ -3422,7 +3590,7 @@ export default { } }, /** - * Lookup310: pallet_nomination_pools::BondExtra + * Lookup326: pallet_nomination_pools::BondExtra **/ PalletNominationPoolsBondExtra: { _enum: { @@ -3431,7 +3599,7 @@ export default { } }, /** - * Lookup311: pallet_nomination_pools::ConfigOp + * Lookup327: pallet_nomination_pools::ConfigOp **/ PalletNominationPoolsConfigOpU128: { _enum: { @@ -3441,7 +3609,7 @@ export default { } }, /** - * Lookup312: pallet_nomination_pools::ConfigOp + * Lookup328: pallet_nomination_pools::ConfigOp **/ PalletNominationPoolsConfigOpU32: { _enum: { @@ -3451,7 +3619,7 @@ export default { } }, /** - * Lookup313: pallet_nomination_pools::ConfigOp + * Lookup329: pallet_nomination_pools::ConfigOp **/ PalletNominationPoolsConfigOpPerbill: { _enum: { @@ -3461,7 +3629,7 @@ export default { } }, /** - * Lookup314: pallet_nomination_pools::ConfigOp + * Lookup330: pallet_nomination_pools::ConfigOp **/ PalletNominationPoolsConfigOpAccountId32: { _enum: { @@ -3471,13 +3639,13 @@ export default { } }, /** - * Lookup315: pallet_nomination_pools::ClaimPermission + * Lookup331: pallet_nomination_pools::ClaimPermission **/ PalletNominationPoolsClaimPermission: { _enum: ['Permissioned', 'PermissionlessCompound', 'PermissionlessWithdraw', 'PermissionlessAll'] }, /** - * Lookup316: pallet_scheduler::pallet::Call + * Lookup332: pallet_scheduler::pallet::Call **/ PalletSchedulerCall: { _enum: { @@ -3533,7 +3701,7 @@ export default { } }, /** - * Lookup318: pallet_preimage::pallet::Call + * Lookup334: pallet_preimage::pallet::Call **/ PalletPreimageCall: { _enum: { @@ -3564,7 +3732,7 @@ export default { } }, /** - * Lookup319: pallet_tx_pause::pallet::Call + * Lookup335: pallet_tx_pause::pallet::Call **/ PalletTxPauseCall: { _enum: { @@ -3577,7 +3745,7 @@ export default { } }, /** - * Lookup320: pallet_im_online::pallet::Call + * Lookup336: pallet_im_online::pallet::Call **/ PalletImOnlineCall: { _enum: { @@ -3588,7 +3756,7 @@ export default { } }, /** - * Lookup321: pallet_im_online::Heartbeat + * Lookup337: pallet_im_online::Heartbeat **/ PalletImOnlineHeartbeat: { blockNumber: 'u64', @@ -3597,11 +3765,11 @@ export default { validatorsLen: 'u32' }, /** - * Lookup322: pallet_im_online::sr25519::app_sr25519::Signature + * Lookup338: pallet_im_online::sr25519::app_sr25519::Signature **/ PalletImOnlineSr25519AppSr25519Signature: '[u8;64]', /** - * Lookup323: pallet_identity::pallet::Call + * Lookup339: pallet_identity::pallet::Call **/ PalletIdentityCall: { _enum: { @@ -3686,7 +3854,7 @@ export default { } }, /** - * Lookup324: pallet_identity::legacy::IdentityInfo + * Lookup340: pallet_identity::legacy::IdentityInfo **/ PalletIdentityLegacyIdentityInfo: { additional: 'Vec<(Data,Data)>', @@ -3700,7 +3868,7 @@ export default { twitter: 'Data' }, /** - * Lookup360: pallet_identity::types::Judgement + * Lookup376: pallet_identity::types::Judgement **/ PalletIdentityJudgement: { _enum: { @@ -3714,7 +3882,7 @@ export default { } }, /** - * Lookup362: sp_runtime::MultiSignature + * Lookup378: sp_runtime::MultiSignature **/ SpRuntimeMultiSignature: { _enum: { @@ -3724,7 +3892,7 @@ export default { } }, /** - * Lookup363: pallet_utility::pallet::Call + * Lookup379: pallet_utility::pallet::Call **/ PalletUtilityCall: { _enum: { @@ -3752,7 +3920,7 @@ export default { } }, /** - * Lookup365: tangle_testnet_runtime::OriginCaller + * Lookup381: tangle_testnet_runtime::OriginCaller **/ TangleTestnetRuntimeOriginCaller: { _enum: { @@ -3793,7 +3961,7 @@ export default { } }, /** - * Lookup366: frame_support::dispatch::RawOrigin + * Lookup382: frame_support::dispatch::RawOrigin **/ FrameSupportDispatchRawOrigin: { _enum: { @@ -3803,7 +3971,7 @@ export default { } }, /** - * Lookup367: pallet_collective::RawOrigin + * Lookup383: pallet_collective::RawOrigin **/ PalletCollectiveRawOrigin: { _enum: { @@ -3813,7 +3981,7 @@ export default { } }, /** - * Lookup368: pallet_ethereum::RawOrigin + * Lookup384: pallet_ethereum::RawOrigin **/ PalletEthereumRawOrigin: { _enum: { @@ -3821,7 +3989,7 @@ export default { } }, /** - * Lookup369: pallet_multisig::pallet::Call + * Lookup385: pallet_multisig::pallet::Call **/ PalletMultisigCall: { _enum: { @@ -3852,7 +4020,7 @@ export default { } }, /** - * Lookup371: pallet_ethereum::pallet::Call + * Lookup387: pallet_ethereum::pallet::Call **/ PalletEthereumCall: { _enum: { @@ -3862,7 +4030,7 @@ export default { } }, /** - * Lookup372: ethereum::transaction::TransactionV2 + * Lookup388: ethereum::transaction::TransactionV2 **/ EthereumTransactionTransactionV2: { _enum: { @@ -3872,7 +4040,7 @@ export default { } }, /** - * Lookup373: ethereum::transaction::LegacyTransaction + * Lookup389: ethereum::transaction::LegacyTransaction **/ EthereumTransactionLegacyTransaction: { nonce: 'U256', @@ -3884,7 +4052,7 @@ export default { signature: 'EthereumTransactionTransactionSignature' }, /** - * Lookup374: ethereum::transaction::TransactionAction + * Lookup390: ethereum::transaction::TransactionAction **/ EthereumTransactionTransactionAction: { _enum: { @@ -3893,7 +4061,7 @@ export default { } }, /** - * Lookup375: ethereum::transaction::TransactionSignature + * Lookup391: ethereum::transaction::TransactionSignature **/ EthereumTransactionTransactionSignature: { v: 'u64', @@ -3901,7 +4069,7 @@ export default { s: 'H256' }, /** - * Lookup377: ethereum::transaction::EIP2930Transaction + * Lookup393: ethereum::transaction::EIP2930Transaction **/ EthereumTransactionEip2930Transaction: { chainId: 'u64', @@ -3917,14 +4085,14 @@ export default { s: 'H256' }, /** - * Lookup379: ethereum::transaction::AccessListItem + * Lookup395: ethereum::transaction::AccessListItem **/ EthereumTransactionAccessListItem: { address: 'H160', storageKeys: 'Vec' }, /** - * Lookup380: ethereum::transaction::EIP1559Transaction + * Lookup396: ethereum::transaction::EIP1559Transaction **/ EthereumTransactionEip1559Transaction: { chainId: 'u64', @@ -3941,7 +4109,7 @@ export default { s: 'H256' }, /** - * Lookup381: pallet_evm::pallet::Call + * Lookup397: pallet_evm::pallet::Call **/ PalletEvmCall: { _enum: { @@ -3984,7 +4152,7 @@ export default { } }, /** - * Lookup385: pallet_dynamic_fee::pallet::Call + * Lookup401: pallet_dynamic_fee::pallet::Call **/ PalletDynamicFeeCall: { _enum: { @@ -3994,7 +4162,7 @@ export default { } }, /** - * Lookup386: pallet_base_fee::pallet::Call + * Lookup402: pallet_base_fee::pallet::Call **/ PalletBaseFeeCall: { _enum: { @@ -4007,7 +4175,7 @@ export default { } }, /** - * Lookup387: pallet_hotfix_sufficients::pallet::Call + * Lookup403: pallet_hotfix_sufficients::pallet::Call **/ PalletHotfixSufficientsCall: { _enum: { @@ -4017,7 +4185,7 @@ export default { } }, /** - * Lookup389: pallet_airdrop_claims::pallet::Call + * Lookup405: pallet_airdrop_claims::pallet::Call **/ PalletAirdropClaimsCall: { _enum: { @@ -4056,7 +4224,7 @@ export default { } }, /** - * Lookup391: pallet_airdrop_claims::utils::MultiAddressSignature + * Lookup407: pallet_airdrop_claims::utils::MultiAddressSignature **/ PalletAirdropClaimsUtilsMultiAddressSignature: { _enum: { @@ -4065,21 +4233,21 @@ export default { } }, /** - * Lookup392: pallet_airdrop_claims::utils::ethereum_address::EcdsaSignature + * Lookup408: pallet_airdrop_claims::utils::ethereum_address::EcdsaSignature **/ PalletAirdropClaimsUtilsEthereumAddressEcdsaSignature: '[u8;65]', /** - * Lookup393: pallet_airdrop_claims::utils::Sr25519Signature + * Lookup409: pallet_airdrop_claims::utils::Sr25519Signature **/ PalletAirdropClaimsUtilsSr25519Signature: '[u8;64]', /** - * Lookup399: pallet_airdrop_claims::StatementKind + * Lookup415: pallet_airdrop_claims::StatementKind **/ PalletAirdropClaimsStatementKind: { _enum: ['Regular', 'Safe'] }, /** - * Lookup400: pallet_proxy::pallet::Call + * Lookup416: pallet_proxy::pallet::Call **/ PalletProxyCall: { _enum: { @@ -4132,7 +4300,7 @@ export default { } }, /** - * Lookup402: pallet_multi_asset_delegation::pallet::Call + * Lookup418: pallet_multi_asset_delegation::pallet::Call **/ PalletMultiAssetDelegationCall: { _enum: { @@ -4211,7 +4379,7 @@ export default { } }, /** - * Lookup404: pallet_multi_asset_delegation::types::delegator::DelegatorBlueprintSelection + * Lookup420: pallet_multi_asset_delegation::types::delegator::DelegatorBlueprintSelection **/ PalletMultiAssetDelegationDelegatorDelegatorBlueprintSelection: { _enum: { @@ -4220,11 +4388,11 @@ export default { } }, /** - * Lookup405: tangle_testnet_runtime::MaxDelegatorBlueprints + * Lookup421: tangle_testnet_runtime::MaxDelegatorBlueprints **/ TangleTestnetRuntimeMaxDelegatorBlueprints: 'Null', /** - * Lookup408: pallet_services::module::Call + * Lookup424: pallet_services::module::Call **/ PalletServicesModuleCall: { _enum: { @@ -4302,7 +4470,7 @@ export default { } }, /** - * Lookup409: tangle_primitives::services::service::ServiceBlueprint + * Lookup425: tangle_primitives::services::service::ServiceBlueprint **/ TanglePrimitivesServicesServiceServiceBlueprint: { metadata: 'TanglePrimitivesServicesServiceServiceMetadata', @@ -4315,7 +4483,7 @@ export default { supportedMembershipModels: 'Vec' }, /** - * Lookup410: tangle_primitives::services::service::ServiceMetadata + * Lookup426: tangle_primitives::services::service::ServiceMetadata **/ TanglePrimitivesServicesServiceServiceMetadata: { name: 'Bytes', @@ -4328,7 +4496,7 @@ export default { license: 'Option' }, /** - * Lookup415: tangle_primitives::services::jobs::JobDefinition + * Lookup431: tangle_primitives::services::jobs::JobDefinition **/ TanglePrimitivesServicesJobsJobDefinition: { metadata: 'TanglePrimitivesServicesJobsJobMetadata', @@ -4336,14 +4504,14 @@ export default { result: 'Vec' }, /** - * Lookup416: tangle_primitives::services::jobs::JobMetadata + * Lookup432: tangle_primitives::services::jobs::JobMetadata **/ TanglePrimitivesServicesJobsJobMetadata: { name: 'Bytes', description: 'Option' }, /** - * Lookup420: tangle_primitives::services::service::BlueprintServiceManager + * Lookup436: tangle_primitives::services::service::BlueprintServiceManager **/ TanglePrimitivesServicesServiceBlueprintServiceManager: { _enum: { @@ -4351,7 +4519,7 @@ export default { } }, /** - * Lookup421: tangle_primitives::services::service::MasterBlueprintServiceManagerRevision + * Lookup437: tangle_primitives::services::service::MasterBlueprintServiceManagerRevision **/ TanglePrimitivesServicesServiceMasterBlueprintServiceManagerRevision: { _enum: { @@ -4360,7 +4528,7 @@ export default { } }, /** - * Lookup422: tangle_primitives::services::gadget::Gadget + * Lookup438: tangle_primitives::services::gadget::Gadget **/ TanglePrimitivesServicesGadget: { _enum: { @@ -4370,26 +4538,26 @@ export default { } }, /** - * Lookup423: tangle_primitives::services::gadget::WasmGadget + * Lookup439: tangle_primitives::services::gadget::WasmGadget **/ TanglePrimitivesServicesGadgetWasmGadget: { runtime: 'TanglePrimitivesServicesGadgetWasmRuntime', sources: 'Vec' }, /** - * Lookup424: tangle_primitives::services::gadget::WasmRuntime + * Lookup440: tangle_primitives::services::gadget::WasmRuntime **/ TanglePrimitivesServicesGadgetWasmRuntime: { _enum: ['Wasmtime', 'Wasmer'] }, /** - * Lookup426: tangle_primitives::services::gadget::GadgetSource + * Lookup442: tangle_primitives::services::gadget::GadgetSource **/ TanglePrimitivesServicesGadgetGadgetSource: { fetcher: 'TanglePrimitivesServicesGadgetGadgetSourceFetcher' }, /** - * Lookup427: tangle_primitives::services::gadget::GadgetSourceFetcher + * Lookup443: tangle_primitives::services::gadget::GadgetSourceFetcher **/ TanglePrimitivesServicesGadgetGadgetSourceFetcher: { _enum: { @@ -4400,7 +4568,7 @@ export default { } }, /** - * Lookup429: tangle_primitives::services::gadget::GithubFetcher + * Lookup445: tangle_primitives::services::gadget::GithubFetcher **/ TanglePrimitivesServicesGadgetGithubFetcher: { owner: 'Bytes', @@ -4409,7 +4577,7 @@ export default { binaries: 'Vec' }, /** - * Lookup437: tangle_primitives::services::gadget::GadgetBinary + * Lookup453: tangle_primitives::services::gadget::GadgetBinary **/ TanglePrimitivesServicesGadgetGadgetBinary: { arch: 'TanglePrimitivesServicesGadgetArchitecture', @@ -4418,19 +4586,19 @@ export default { sha256: '[u8;32]' }, /** - * Lookup438: tangle_primitives::services::gadget::Architecture + * Lookup454: tangle_primitives::services::gadget::Architecture **/ TanglePrimitivesServicesGadgetArchitecture: { _enum: ['Wasm', 'Wasm64', 'Wasi', 'Wasi64', 'Amd', 'Amd64', 'Arm', 'Arm64', 'RiscV', 'RiscV64'] }, /** - * Lookup439: tangle_primitives::services::gadget::OperatingSystem + * Lookup455: tangle_primitives::services::gadget::OperatingSystem **/ TanglePrimitivesServicesGadgetOperatingSystem: { _enum: ['Unknown', 'Linux', 'Windows', 'MacOS', 'BSD'] }, /** - * Lookup443: tangle_primitives::services::gadget::ImageRegistryFetcher + * Lookup459: tangle_primitives::services::gadget::ImageRegistryFetcher **/ TanglePrimitivesServicesGadgetImageRegistryFetcher: { _alias: { @@ -4441,7 +4609,7 @@ export default { tag: 'Bytes' }, /** - * Lookup450: tangle_primitives::services::gadget::TestFetcher + * Lookup466: tangle_primitives::services::gadget::TestFetcher **/ TanglePrimitivesServicesGadgetTestFetcher: { cargoPackage: 'Bytes', @@ -4449,25 +4617,25 @@ export default { basePath: 'Bytes' }, /** - * Lookup452: tangle_primitives::services::gadget::NativeGadget + * Lookup468: tangle_primitives::services::gadget::NativeGadget **/ TanglePrimitivesServicesGadgetNativeGadget: { sources: 'Vec' }, /** - * Lookup453: tangle_primitives::services::gadget::ContainerGadget + * Lookup469: tangle_primitives::services::gadget::ContainerGadget **/ TanglePrimitivesServicesGadgetContainerGadget: { sources: 'Vec' }, /** - * Lookup455: tangle_primitives::services::types::MembershipModelType + * Lookup471: tangle_primitives::services::types::MembershipModelType **/ TanglePrimitivesServicesTypesMembershipModelType: { _enum: ['Fixed', 'Dynamic'] }, /** - * Lookup457: tangle_primitives::services::types::MembershipModel + * Lookup473: tangle_primitives::services::types::MembershipModel **/ TanglePrimitivesServicesTypesMembershipModel: { _enum: { @@ -4481,7 +4649,7 @@ export default { } }, /** - * Lookup460: pallet_tangle_lst::pallet::Call + * Lookup476: pallet_tangle_lst::pallet::Call **/ PalletTangleLstCall: { _enum: { @@ -4587,7 +4755,7 @@ export default { } }, /** - * Lookup461: pallet_tangle_lst::types::BondExtra + * Lookup477: pallet_tangle_lst::types::BondExtra **/ PalletTangleLstBondExtra: { _enum: { @@ -4595,7 +4763,7 @@ export default { } }, /** - * Lookup466: pallet_tangle_lst::types::ConfigOp + * Lookup482: pallet_tangle_lst::types::ConfigOp **/ PalletTangleLstConfigOpU128: { _enum: { @@ -4605,7 +4773,7 @@ export default { } }, /** - * Lookup467: pallet_tangle_lst::types::ConfigOp + * Lookup483: pallet_tangle_lst::types::ConfigOp **/ PalletTangleLstConfigOpU32: { _enum: { @@ -4615,7 +4783,7 @@ export default { } }, /** - * Lookup468: pallet_tangle_lst::types::ConfigOp + * Lookup484: pallet_tangle_lst::types::ConfigOp **/ PalletTangleLstConfigOpPerbill: { _enum: { @@ -4625,7 +4793,7 @@ export default { } }, /** - * Lookup469: pallet_tangle_lst::types::ConfigOp + * Lookup485: pallet_tangle_lst::types::ConfigOp **/ PalletTangleLstConfigOpAccountId32: { _enum: { @@ -4635,7 +4803,7 @@ export default { } }, /** - * Lookup470: pallet_rewards::pallet::Call + * Lookup486: pallet_rewards::pallet::Call **/ PalletRewardsCall: { _enum: { @@ -4670,13 +4838,319 @@ export default { } }, /** - * Lookup471: pallet_sudo::pallet::Error + * Lookup487: pallet_ismp::pallet::Call + **/ + PalletIsmpCall: { + _enum: { + handle_unsigned: { + messages: 'Vec', + }, + __Unused1: 'Null', + create_consensus_client: { + message: 'IsmpMessagingCreateConsensusState', + }, + update_consensus_state: { + message: 'PalletIsmpUtilsUpdateConsensusState', + }, + fund_message: { + message: 'PalletIsmpUtilsFundMessageParams' + } + } + }, + /** + * Lookup489: ismp::messaging::Message + **/ + IsmpMessagingMessage: { + _enum: { + Consensus: 'IsmpMessagingConsensusMessage', + FraudProof: 'IsmpMessagingFraudProofMessage', + Request: 'IsmpMessagingRequestMessage', + Response: 'IsmpMessagingResponseMessage', + Timeout: 'IsmpMessagingTimeoutMessage' + } + }, + /** + * Lookup490: ismp::messaging::ConsensusMessage + **/ + IsmpMessagingConsensusMessage: { + consensusProof: 'Bytes', + consensusStateId: '[u8;4]', + signer: 'Bytes' + }, + /** + * Lookup491: ismp::messaging::FraudProofMessage + **/ + IsmpMessagingFraudProofMessage: { + proof1: 'Bytes', + proof2: 'Bytes', + consensusStateId: '[u8;4]' + }, + /** + * Lookup492: ismp::messaging::RequestMessage + **/ + IsmpMessagingRequestMessage: { + requests: 'Vec', + proof: 'IsmpMessagingProof', + signer: 'Bytes' + }, + /** + * Lookup494: ismp::router::PostRequest + **/ + IsmpRouterPostRequest: { + source: 'IsmpHostStateMachine', + dest: 'IsmpHostStateMachine', + nonce: 'u64', + from: 'Bytes', + to: 'Bytes', + timeoutTimestamp: 'u64', + body: 'Bytes' + }, + /** + * Lookup495: ismp::messaging::Proof + **/ + IsmpMessagingProof: { + height: 'IsmpConsensusStateMachineHeight', + proof: 'Bytes' + }, + /** + * Lookup496: ismp::messaging::ResponseMessage + **/ + IsmpMessagingResponseMessage: { + datagram: 'IsmpRouterRequestResponse', + proof: 'IsmpMessagingProof', + signer: 'Bytes' + }, + /** + * Lookup497: ismp::router::RequestResponse + **/ + IsmpRouterRequestResponse: { + _enum: { + Request: 'Vec', + Response: 'Vec' + } + }, + /** + * Lookup499: ismp::router::Request + **/ + IsmpRouterRequest: { + _enum: { + Post: 'IsmpRouterPostRequest', + Get: 'IsmpRouterGetRequest' + } + }, + /** + * Lookup500: ismp::router::GetRequest + **/ + IsmpRouterGetRequest: { + _alias: { + keys_: 'keys' + }, + source: 'IsmpHostStateMachine', + dest: 'IsmpHostStateMachine', + nonce: 'u64', + from: 'Bytes', + keys_: 'Vec', + height: 'u64', + context: 'Bytes', + timeoutTimestamp: 'u64' + }, + /** + * Lookup502: ismp::router::Response + **/ + IsmpRouterResponse: { + _enum: { + Post: 'IsmpRouterPostResponse', + Get: 'IsmpRouterGetResponse' + } + }, + /** + * Lookup503: ismp::router::PostResponse + **/ + IsmpRouterPostResponse: { + post: 'IsmpRouterPostRequest', + response: 'Bytes', + timeoutTimestamp: 'u64' + }, + /** + * Lookup504: ismp::router::GetResponse + **/ + IsmpRouterGetResponse: { + get: 'IsmpRouterGetRequest', + values: 'Vec' + }, + /** + * Lookup506: ismp::router::StorageValue + **/ + IsmpRouterStorageValue: { + key: 'Bytes', + value: 'Option' + }, + /** + * Lookup508: ismp::messaging::TimeoutMessage + **/ + IsmpMessagingTimeoutMessage: { + _enum: { + Post: { + requests: 'Vec', + timeoutProof: 'IsmpMessagingProof', + }, + PostResponse: { + responses: 'Vec', + timeoutProof: 'IsmpMessagingProof', + }, + Get: { + requests: 'Vec' + } + } + }, + /** + * Lookup510: ismp::messaging::CreateConsensusState + **/ + IsmpMessagingCreateConsensusState: { + consensusState: 'Bytes', + consensusClientId: '[u8;4]', + consensusStateId: '[u8;4]', + unbondingPeriod: 'u64', + challengePeriods: 'BTreeMap', + stateMachineCommitments: 'Vec<(IsmpConsensusStateMachineId,IsmpMessagingStateCommitmentHeight)>' + }, + /** + * Lookup516: ismp::messaging::StateCommitmentHeight + **/ + IsmpMessagingStateCommitmentHeight: { + commitment: 'IsmpConsensusStateCommitment', + height: 'u64' + }, + /** + * Lookup517: ismp::consensus::StateCommitment + **/ + IsmpConsensusStateCommitment: { + timestamp: 'u64', + overlayRoot: 'Option', + stateRoot: 'H256' + }, + /** + * Lookup518: pallet_ismp::utils::UpdateConsensusState + **/ + PalletIsmpUtilsUpdateConsensusState: { + consensusStateId: '[u8;4]', + unbondingPeriod: 'Option', + challengePeriods: 'BTreeMap' + }, + /** + * Lookup519: pallet_ismp::utils::FundMessageParams + **/ + PalletIsmpUtilsFundMessageParams: { + commitment: 'PalletIsmpUtilsMessageCommitment', + amount: 'u128' + }, + /** + * Lookup520: pallet_ismp::utils::MessageCommitment + **/ + PalletIsmpUtilsMessageCommitment: { + _enum: { + Request: 'H256', + Response: 'H256' + } + }, + /** + * Lookup521: ismp_grandpa::pallet::Call + **/ + IsmpGrandpaCall: { + _enum: { + add_state_machines: { + newStateMachines: 'Vec', + }, + remove_state_machines: { + stateMachines: 'Vec' + } + } + }, + /** + * Lookup523: ismp_grandpa::AddStateMachine + **/ + IsmpGrandpaAddStateMachine: { + stateMachine: 'IsmpHostStateMachine', + slotDuration: 'u64' + }, + /** + * Lookup524: pallet_token_gateway::pallet::Call + **/ + PalletTokenGatewayCall: { + _enum: { + teleport: { + params: 'PalletTokenGatewayTeleportParams', + }, + set_token_gateway_addresses: { + addresses: 'BTreeMap', + }, + create_erc6160_asset: { + asset: 'PalletTokenGatewayAssetRegistration', + }, + update_erc6160_asset: { + asset: 'TokenGatewayPrimitivesGatewayAssetUpdate', + }, + update_asset_precision: { + update: 'PalletTokenGatewayPrecisionUpdate' + } + } + }, + /** + * Lookup525: pallet_token_gateway::types::TeleportParams + **/ + PalletTokenGatewayTeleportParams: { + assetId: 'u128', + destination: 'IsmpHostStateMachine', + recepient: 'H256', + amount: 'u128', + timeout: 'u64', + tokenGateway: 'Bytes', + relayerFee: 'u128', + callData: 'Option', + redeem: 'bool' + }, + /** + * Lookup529: pallet_token_gateway::types::AssetRegistration + **/ + PalletTokenGatewayAssetRegistration: { + localId: 'u128', + reg: 'TokenGatewayPrimitivesGatewayAssetRegistration', + native: 'bool', + precision: 'BTreeMap' + }, + /** + * Lookup530: token_gateway_primitives::GatewayAssetRegistration + **/ + TokenGatewayPrimitivesGatewayAssetRegistration: { + name: 'Bytes', + symbol: 'Bytes', + chains: 'Vec', + minimumBalance: 'Option' + }, + /** + * Lookup535: token_gateway_primitives::GatewayAssetUpdate + **/ + TokenGatewayPrimitivesGatewayAssetUpdate: { + assetId: 'H256', + addChains: 'Vec', + removeChains: 'Vec', + newAdmins: 'Vec<(IsmpHostStateMachine,H160)>' + }, + /** + * Lookup540: pallet_token_gateway::types::PrecisionUpdate + **/ + PalletTokenGatewayPrecisionUpdate: { + assetId: 'u128', + precisions: 'BTreeMap' + }, + /** + * Lookup541: pallet_sudo::pallet::Error **/ PalletSudoError: { _enum: ['RequireSudo'] }, /** - * Lookup473: pallet_assets::types::AssetDetails + * Lookup543: pallet_assets::types::AssetDetails **/ PalletAssetsAssetDetails: { owner: 'AccountId32', @@ -4693,13 +5167,13 @@ export default { status: 'PalletAssetsAssetStatus' }, /** - * Lookup474: pallet_assets::types::AssetStatus + * Lookup544: pallet_assets::types::AssetStatus **/ PalletAssetsAssetStatus: { _enum: ['Live', 'Frozen', 'Destroying'] }, /** - * Lookup476: pallet_assets::types::AssetAccount + * Lookup546: pallet_assets::types::AssetAccount **/ PalletAssetsAssetAccount: { balance: 'u128', @@ -4708,13 +5182,13 @@ export default { extra: 'Null' }, /** - * Lookup477: pallet_assets::types::AccountStatus + * Lookup547: pallet_assets::types::AccountStatus **/ PalletAssetsAccountStatus: { _enum: ['Liquid', 'Frozen', 'Blocked'] }, /** - * Lookup478: pallet_assets::types::ExistenceReason + * Lookup548: pallet_assets::types::ExistenceReason **/ PalletAssetsExistenceReason: { _enum: { @@ -4726,14 +5200,14 @@ export default { } }, /** - * Lookup480: pallet_assets::types::Approval + * Lookup550: pallet_assets::types::Approval **/ PalletAssetsApproval: { amount: 'u128', deposit: 'u128' }, /** - * Lookup481: pallet_assets::types::AssetMetadata> + * Lookup551: pallet_assets::types::AssetMetadata> **/ PalletAssetsAssetMetadata: { deposit: 'u128', @@ -4743,13 +5217,13 @@ export default { isFrozen: 'bool' }, /** - * Lookup483: pallet_assets::pallet::Error + * Lookup553: pallet_assets::pallet::Error **/ PalletAssetsError: { _enum: ['BalanceLow', 'NoAccount', 'NoPermission', 'Unknown', 'Frozen', 'InUse', 'BadWitness', 'MinBalanceZero', 'UnavailableConsumer', 'BadMetadata', 'Unapproved', 'WouldDie', 'AlreadyExists', 'NoDeposit', 'WouldBurn', 'LiveAsset', 'AssetNotLive', 'IncorrectStatus', 'NotFrozen', 'CallbackFailed', 'BadAssetId'] }, /** - * Lookup486: pallet_balances::types::BalanceLock + * Lookup555: pallet_balances::types::BalanceLock **/ PalletBalancesBalanceLock: { id: '[u8;8]', @@ -4757,27 +5231,27 @@ export default { reasons: 'PalletBalancesReasons' }, /** - * Lookup487: pallet_balances::types::Reasons + * Lookup556: pallet_balances::types::Reasons **/ PalletBalancesReasons: { _enum: ['Fee', 'Misc', 'All'] }, /** - * Lookup490: pallet_balances::types::ReserveData + * Lookup559: pallet_balances::types::ReserveData **/ PalletBalancesReserveData: { id: '[u8;8]', amount: 'u128' }, /** - * Lookup493: frame_support::traits::tokens::misc::IdAmount + * Lookup562: frame_support::traits::tokens::misc::IdAmount **/ FrameSupportTokensMiscIdAmountRuntimeHoldReason: { id: 'TangleTestnetRuntimeRuntimeHoldReason', amount: 'u128' }, /** - * Lookup494: tangle_testnet_runtime::RuntimeHoldReason + * Lookup563: tangle_testnet_runtime::RuntimeHoldReason **/ TangleTestnetRuntimeRuntimeHoldReason: { _enum: { @@ -4811,20 +5285,20 @@ export default { } }, /** - * Lookup495: pallet_preimage::pallet::HoldReason + * Lookup564: pallet_preimage::pallet::HoldReason **/ PalletPreimageHoldReason: { _enum: ['Preimage'] }, /** - * Lookup498: frame_support::traits::tokens::misc::IdAmount + * Lookup567: frame_support::traits::tokens::misc::IdAmount **/ FrameSupportTokensMiscIdAmountRuntimeFreezeReason: { id: 'TangleTestnetRuntimeRuntimeFreezeReason', amount: 'u128' }, /** - * Lookup499: tangle_testnet_runtime::RuntimeFreezeReason + * Lookup568: tangle_testnet_runtime::RuntimeFreezeReason **/ TangleTestnetRuntimeRuntimeFreezeReason: { _enum: { @@ -4884,31 +5358,31 @@ export default { } }, /** - * Lookup500: pallet_nomination_pools::pallet::FreezeReason + * Lookup569: pallet_nomination_pools::pallet::FreezeReason **/ PalletNominationPoolsFreezeReason: { _enum: ['PoolMinBalance'] }, /** - * Lookup501: pallet_tangle_lst::pallet::FreezeReason + * Lookup570: pallet_tangle_lst::pallet::FreezeReason **/ PalletTangleLstFreezeReason: { _enum: ['PoolMinBalance'] }, /** - * Lookup503: pallet_balances::pallet::Error + * Lookup572: pallet_balances::pallet::Error **/ PalletBalancesError: { _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'Expendability', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves', 'TooManyHolds', 'TooManyFreezes', 'IssuanceDeactivated', 'DeltaZero'] }, /** - * Lookup505: pallet_transaction_payment::Releases + * Lookup574: pallet_transaction_payment::Releases **/ PalletTransactionPaymentReleases: { _enum: ['V1Ancient', 'V2'] }, /** - * Lookup512: sp_consensus_babe::digests::PreDigest + * Lookup581: sp_consensus_babe::digests::PreDigest **/ SpConsensusBabeDigestsPreDigest: { _enum: { @@ -4919,7 +5393,7 @@ export default { } }, /** - * Lookup513: sp_consensus_babe::digests::PrimaryPreDigest + * Lookup582: sp_consensus_babe::digests::PrimaryPreDigest **/ SpConsensusBabeDigestsPrimaryPreDigest: { authorityIndex: 'u32', @@ -4927,21 +5401,21 @@ export default { vrfSignature: 'SpCoreSr25519VrfVrfSignature' }, /** - * Lookup514: sp_core::sr25519::vrf::VrfSignature + * Lookup583: sp_core::sr25519::vrf::VrfSignature **/ SpCoreSr25519VrfVrfSignature: { preOutput: '[u8;32]', proof: '[u8;64]' }, /** - * Lookup515: sp_consensus_babe::digests::SecondaryPlainPreDigest + * Lookup584: sp_consensus_babe::digests::SecondaryPlainPreDigest **/ SpConsensusBabeDigestsSecondaryPlainPreDigest: { authorityIndex: 'u32', slot: 'u64' }, /** - * Lookup516: sp_consensus_babe::digests::SecondaryVRFPreDigest + * Lookup585: sp_consensus_babe::digests::SecondaryVRFPreDigest **/ SpConsensusBabeDigestsSecondaryVRFPreDigest: { authorityIndex: 'u32', @@ -4949,20 +5423,20 @@ export default { vrfSignature: 'SpCoreSr25519VrfVrfSignature' }, /** - * Lookup517: sp_consensus_babe::BabeEpochConfiguration + * Lookup586: sp_consensus_babe::BabeEpochConfiguration **/ SpConsensusBabeBabeEpochConfiguration: { c: '(u64,u64)', allowedSlots: 'SpConsensusBabeAllowedSlots' }, /** - * Lookup519: pallet_babe::pallet::Error + * Lookup588: pallet_babe::pallet::Error **/ PalletBabeError: { _enum: ['InvalidEquivocationProof', 'InvalidKeyOwnershipProof', 'DuplicateOffenceReport', 'InvalidConfiguration'] }, /** - * Lookup520: pallet_grandpa::StoredState + * Lookup589: pallet_grandpa::StoredState **/ PalletGrandpaStoredState: { _enum: { @@ -4979,7 +5453,7 @@ export default { } }, /** - * Lookup521: pallet_grandpa::StoredPendingChange + * Lookup590: pallet_grandpa::StoredPendingChange **/ PalletGrandpaStoredPendingChange: { scheduledAt: 'u64', @@ -4988,19 +5462,19 @@ export default { forced: 'Option' }, /** - * Lookup523: pallet_grandpa::pallet::Error + * Lookup592: pallet_grandpa::pallet::Error **/ PalletGrandpaError: { _enum: ['PauseFailed', 'ResumeFailed', 'ChangePending', 'TooSoon', 'InvalidKeyOwnershipProof', 'InvalidEquivocationProof', 'DuplicateOffenceReport'] }, /** - * Lookup525: pallet_indices::pallet::Error + * Lookup594: pallet_indices::pallet::Error **/ PalletIndicesError: { _enum: ['NotAssigned', 'NotOwner', 'InUse', 'NotTransfer', 'Permanent'] }, /** - * Lookup530: pallet_democracy::types::ReferendumInfo, Balance> + * Lookup599: pallet_democracy::types::ReferendumInfo, Balance> **/ PalletDemocracyReferendumInfo: { _enum: { @@ -5012,7 +5486,7 @@ export default { } }, /** - * Lookup531: pallet_democracy::types::ReferendumStatus, Balance> + * Lookup600: pallet_democracy::types::ReferendumStatus, Balance> **/ PalletDemocracyReferendumStatus: { end: 'u64', @@ -5022,7 +5496,7 @@ export default { tally: 'PalletDemocracyTally' }, /** - * Lookup532: pallet_democracy::types::Tally + * Lookup601: pallet_democracy::types::Tally **/ PalletDemocracyTally: { ayes: 'u128', @@ -5030,7 +5504,7 @@ export default { turnout: 'u128' }, /** - * Lookup533: pallet_democracy::vote::Voting + * Lookup602: pallet_democracy::vote::Voting **/ PalletDemocracyVoteVoting: { _enum: { @@ -5049,24 +5523,24 @@ export default { } }, /** - * Lookup537: pallet_democracy::types::Delegations + * Lookup606: pallet_democracy::types::Delegations **/ PalletDemocracyDelegations: { votes: 'u128', capital: 'u128' }, /** - * Lookup538: pallet_democracy::vote::PriorLock + * Lookup607: pallet_democracy::vote::PriorLock **/ PalletDemocracyVotePriorLock: '(u64,u128)', /** - * Lookup541: pallet_democracy::pallet::Error + * Lookup610: pallet_democracy::pallet::Error **/ PalletDemocracyError: { _enum: ['ValueLow', 'ProposalMissing', 'AlreadyCanceled', 'DuplicateProposal', 'ProposalBlacklisted', 'NotSimpleMajority', 'InvalidHash', 'NoProposal', 'AlreadyVetoed', 'ReferendumInvalid', 'NoneWaiting', 'NotVoter', 'NoPermission', 'AlreadyDelegating', 'InsufficientFunds', 'NotDelegating', 'VotesExist', 'InstantNotAllowed', 'Nonsense', 'WrongUpperBound', 'MaxVotesReached', 'TooMany', 'VotingPeriodLow', 'PreimageNotExist'] }, /** - * Lookup543: pallet_collective::Votes + * Lookup612: pallet_collective::Votes **/ PalletCollectiveVotes: { index: 'u32', @@ -5076,25 +5550,25 @@ export default { end: 'u64' }, /** - * Lookup544: pallet_collective::pallet::Error + * Lookup613: pallet_collective::pallet::Error **/ PalletCollectiveError: { _enum: ['NotMember', 'DuplicateProposal', 'ProposalMissing', 'WrongIndex', 'DuplicateVote', 'AlreadyInitialized', 'TooEarly', 'TooManyProposals', 'WrongProposalWeight', 'WrongProposalLength', 'PrimeAccountNotMember'] }, /** - * Lookup547: pallet_vesting::Releases + * Lookup616: pallet_vesting::Releases **/ PalletVestingReleases: { _enum: ['V0', 'V1'] }, /** - * Lookup548: pallet_vesting::pallet::Error + * Lookup617: pallet_vesting::pallet::Error **/ PalletVestingError: { _enum: ['NotVesting', 'AtMaxVestingSchedules', 'AmountLow', 'ScheduleIndexOutOfBounds', 'InvalidScheduleParams'] }, /** - * Lookup550: pallet_elections_phragmen::SeatHolder + * Lookup619: pallet_elections_phragmen::SeatHolder **/ PalletElectionsPhragmenSeatHolder: { who: 'AccountId32', @@ -5102,7 +5576,7 @@ export default { deposit: 'u128' }, /** - * Lookup551: pallet_elections_phragmen::Voter + * Lookup620: pallet_elections_phragmen::Voter **/ PalletElectionsPhragmenVoter: { votes: 'Vec', @@ -5110,13 +5584,13 @@ export default { deposit: 'u128' }, /** - * Lookup552: pallet_elections_phragmen::pallet::Error + * Lookup621: pallet_elections_phragmen::pallet::Error **/ PalletElectionsPhragmenError: { _enum: ['UnableToVote', 'NoVotes', 'TooManyVotes', 'MaximumVotesExceeded', 'LowBalance', 'UnableToPayBond', 'MustBeVoter', 'DuplicatedCandidate', 'TooManyCandidates', 'MemberSubmit', 'RunnerUpSubmit', 'InsufficientCandidateFunds', 'NotMember', 'InvalidWitnessData', 'InvalidVoteCount', 'InvalidRenouncing', 'InvalidReplacement'] }, /** - * Lookup553: pallet_election_provider_multi_phase::ReadySolution + * Lookup622: pallet_election_provider_multi_phase::ReadySolution **/ PalletElectionProviderMultiPhaseReadySolution: { supports: 'Vec<(AccountId32,SpNposElectionsSupport)>', @@ -5124,14 +5598,14 @@ export default { compute: 'PalletElectionProviderMultiPhaseElectionCompute' }, /** - * Lookup555: pallet_election_provider_multi_phase::RoundSnapshot + * Lookup624: pallet_election_provider_multi_phase::RoundSnapshot **/ PalletElectionProviderMultiPhaseRoundSnapshot: { voters: 'Vec<(AccountId32,u64,Vec)>', targets: 'Vec' }, /** - * Lookup562: pallet_election_provider_multi_phase::signed::SignedSubmission + * Lookup631: pallet_election_provider_multi_phase::signed::SignedSubmission **/ PalletElectionProviderMultiPhaseSignedSignedSubmission: { who: 'AccountId32', @@ -5140,13 +5614,13 @@ export default { callFee: 'u128' }, /** - * Lookup563: pallet_election_provider_multi_phase::pallet::Error + * Lookup632: pallet_election_provider_multi_phase::pallet::Error **/ PalletElectionProviderMultiPhaseError: { _enum: ['PreDispatchEarlySubmission', 'PreDispatchWrongWinnerCount', 'PreDispatchWeakSubmission', 'SignedQueueFull', 'SignedCannotPayDeposit', 'SignedInvalidWitness', 'SignedTooMuchWeight', 'OcwCallWrongEra', 'MissingSnapshotMetadata', 'InvalidSubmissionIndex', 'CallNotAllowed', 'FallbackFailed', 'BoundNotMet', 'TooManyWinners', 'PreDispatchDifferentRound'] }, /** - * Lookup564: pallet_staking::StakingLedger + * Lookup633: pallet_staking::StakingLedger **/ PalletStakingStakingLedger: { stash: 'AccountId32', @@ -5156,7 +5630,7 @@ export default { legacyClaimedRewards: 'Vec' }, /** - * Lookup566: pallet_staking::Nominations + * Lookup635: pallet_staking::Nominations **/ PalletStakingNominations: { targets: 'Vec', @@ -5164,14 +5638,14 @@ export default { suppressed: 'bool' }, /** - * Lookup567: pallet_staking::ActiveEraInfo + * Lookup636: pallet_staking::ActiveEraInfo **/ PalletStakingActiveEraInfo: { index: 'u32', start: 'Option' }, /** - * Lookup569: sp_staking::PagedExposureMetadata + * Lookup638: sp_staking::PagedExposureMetadata **/ SpStakingPagedExposureMetadata: { total: 'Compact', @@ -5180,21 +5654,21 @@ export default { pageCount: 'u32' }, /** - * Lookup571: sp_staking::ExposurePage + * Lookup640: sp_staking::ExposurePage **/ SpStakingExposurePage: { pageTotal: 'Compact', others: 'Vec' }, /** - * Lookup572: pallet_staking::EraRewardPoints + * Lookup641: pallet_staking::EraRewardPoints **/ PalletStakingEraRewardPoints: { total: 'u32', individual: 'BTreeMap' }, /** - * Lookup577: pallet_staking::UnappliedSlash + * Lookup646: pallet_staking::UnappliedSlash **/ PalletStakingUnappliedSlash: { validator: 'AccountId32', @@ -5204,7 +5678,7 @@ export default { payout: 'u128' }, /** - * Lookup581: pallet_staking::slashing::SlashingSpans + * Lookup650: pallet_staking::slashing::SlashingSpans **/ PalletStakingSlashingSlashingSpans: { spanIndex: 'u32', @@ -5213,30 +5687,30 @@ export default { prior: 'Vec' }, /** - * Lookup582: pallet_staking::slashing::SpanRecord + * Lookup651: pallet_staking::slashing::SpanRecord **/ PalletStakingSlashingSpanRecord: { slashed: 'u128', paidOut: 'u128' }, /** - * Lookup583: pallet_staking::pallet::pallet::Error + * Lookup652: pallet_staking::pallet::pallet::Error **/ PalletStakingPalletError: { _enum: ['NotController', 'NotStash', 'AlreadyBonded', 'AlreadyPaired', 'EmptyTargets', 'DuplicateIndex', 'InvalidSlashIndex', 'InsufficientBond', 'NoMoreChunks', 'NoUnlockChunk', 'FundedTarget', 'InvalidEraToReward', 'InvalidNumberOfNominations', 'NotSortedAndUnique', 'AlreadyClaimed', 'InvalidPage', 'IncorrectHistoryDepth', 'IncorrectSlashingSpans', 'BadState', 'TooManyTargets', 'BadTarget', 'CannotChillOther', 'TooManyNominators', 'TooManyValidators', 'CommissionTooLow', 'BoundNotMet', 'ControllerDeprecated', 'CannotRestoreLedger', 'RewardDestinationRestricted', 'NotEnoughFunds', 'VirtualStakerNotAllowed'] }, /** - * Lookup587: sp_core::crypto::KeyTypeId + * Lookup656: sp_core::crypto::KeyTypeId **/ SpCoreCryptoKeyTypeId: '[u8;4]', /** - * Lookup588: pallet_session::pallet::Error + * Lookup657: pallet_session::pallet::Error **/ PalletSessionError: { _enum: ['InvalidProof', 'NoAssociatedValidatorId', 'DuplicatedKey', 'NoKeys', 'NoAccount'] }, /** - * Lookup590: pallet_treasury::Proposal + * Lookup659: pallet_treasury::Proposal **/ PalletTreasuryProposal: { proposer: 'AccountId32', @@ -5245,7 +5719,7 @@ export default { bond: 'u128' }, /** - * Lookup592: pallet_treasury::SpendStatus + * Lookup661: pallet_treasury::SpendStatus **/ PalletTreasurySpendStatus: { assetKind: 'Null', @@ -5256,7 +5730,7 @@ export default { status: 'PalletTreasuryPaymentState' }, /** - * Lookup593: pallet_treasury::PaymentState + * Lookup662: pallet_treasury::PaymentState **/ PalletTreasuryPaymentState: { _enum: { @@ -5268,17 +5742,17 @@ export default { } }, /** - * Lookup594: frame_support::PalletId + * Lookup663: frame_support::PalletId **/ FrameSupportPalletId: '[u8;8]', /** - * Lookup595: pallet_treasury::pallet::Error + * Lookup664: pallet_treasury::pallet::Error **/ PalletTreasuryError: { _enum: ['InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved', 'FailedToConvertBalance', 'SpendExpired', 'EarlyPayout', 'AlreadyAttempted', 'PayoutError', 'NotAttempted', 'Inconclusive'] }, /** - * Lookup596: pallet_bounties::Bounty + * Lookup665: pallet_bounties::Bounty **/ PalletBountiesBounty: { proposer: 'AccountId32', @@ -5289,7 +5763,7 @@ export default { status: 'PalletBountiesBountyStatus' }, /** - * Lookup597: pallet_bounties::BountyStatus + * Lookup666: pallet_bounties::BountyStatus **/ PalletBountiesBountyStatus: { _enum: { @@ -5311,13 +5785,13 @@ export default { } }, /** - * Lookup599: pallet_bounties::pallet::Error + * Lookup668: pallet_bounties::pallet::Error **/ PalletBountiesError: { _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'ReasonTooBig', 'UnexpectedStatus', 'RequireCurator', 'InvalidValue', 'InvalidFee', 'PendingPayout', 'Premature', 'HasActiveChildBounty', 'TooManyQueued'] }, /** - * Lookup600: pallet_child_bounties::ChildBounty + * Lookup669: pallet_child_bounties::ChildBounty **/ PalletChildBountiesChildBounty: { parentBounty: 'u32', @@ -5327,7 +5801,7 @@ export default { status: 'PalletChildBountiesChildBountyStatus' }, /** - * Lookup601: pallet_child_bounties::ChildBountyStatus + * Lookup670: pallet_child_bounties::ChildBountyStatus **/ PalletChildBountiesChildBountyStatus: { _enum: { @@ -5346,13 +5820,13 @@ export default { } }, /** - * Lookup602: pallet_child_bounties::pallet::Error + * Lookup671: pallet_child_bounties::pallet::Error **/ PalletChildBountiesError: { _enum: ['ParentBountyNotActive', 'InsufficientBountyBalance', 'TooManyChildBounties'] }, /** - * Lookup603: pallet_bags_list::list::Node + * Lookup672: pallet_bags_list::list::Node **/ PalletBagsListListNode: { id: 'AccountId32', @@ -5362,14 +5836,14 @@ export default { score: 'u64' }, /** - * Lookup604: pallet_bags_list::list::Bag + * Lookup673: pallet_bags_list::list::Bag **/ PalletBagsListListBag: { head: 'Option', tail: 'Option' }, /** - * Lookup605: pallet_bags_list::pallet::Error + * Lookup674: pallet_bags_list::pallet::Error **/ PalletBagsListError: { _enum: { @@ -5377,13 +5851,13 @@ export default { } }, /** - * Lookup606: pallet_bags_list::list::ListError + * Lookup675: pallet_bags_list::list::ListError **/ PalletBagsListListListError: { _enum: ['Duplicate', 'NotHeavier', 'NotInSameBag', 'NodeNotFound'] }, /** - * Lookup607: pallet_nomination_pools::PoolMember + * Lookup676: pallet_nomination_pools::PoolMember **/ PalletNominationPoolsPoolMember: { poolId: 'u32', @@ -5392,7 +5866,7 @@ export default { unbondingEras: 'BTreeMap' }, /** - * Lookup612: pallet_nomination_pools::BondedPoolInner + * Lookup681: pallet_nomination_pools::BondedPoolInner **/ PalletNominationPoolsBondedPoolInner: { commission: 'PalletNominationPoolsCommission', @@ -5402,7 +5876,7 @@ export default { state: 'PalletNominationPoolsPoolState' }, /** - * Lookup613: pallet_nomination_pools::Commission + * Lookup682: pallet_nomination_pools::Commission **/ PalletNominationPoolsCommission: { current: 'Option<(Perbill,AccountId32)>', @@ -5412,7 +5886,7 @@ export default { claimPermission: 'Option' }, /** - * Lookup616: pallet_nomination_pools::PoolRoles + * Lookup685: pallet_nomination_pools::PoolRoles **/ PalletNominationPoolsPoolRoles: { depositor: 'AccountId32', @@ -5421,7 +5895,7 @@ export default { bouncer: 'Option' }, /** - * Lookup617: pallet_nomination_pools::RewardPool + * Lookup686: pallet_nomination_pools::RewardPool **/ PalletNominationPoolsRewardPool: { lastRecordedRewardCounter: 'u128', @@ -5431,21 +5905,21 @@ export default { totalCommissionClaimed: 'u128' }, /** - * Lookup618: pallet_nomination_pools::SubPools + * Lookup687: pallet_nomination_pools::SubPools **/ PalletNominationPoolsSubPools: { noEra: 'PalletNominationPoolsUnbondPool', withEra: 'BTreeMap' }, /** - * Lookup619: pallet_nomination_pools::UnbondPool + * Lookup688: pallet_nomination_pools::UnbondPool **/ PalletNominationPoolsUnbondPool: { points: 'u128', balance: 'u128' }, /** - * Lookup624: pallet_nomination_pools::pallet::Error + * Lookup693: pallet_nomination_pools::pallet::Error **/ PalletNominationPoolsError: { _enum: { @@ -5489,13 +5963,13 @@ export default { } }, /** - * Lookup625: pallet_nomination_pools::pallet::DefensiveError + * Lookup694: pallet_nomination_pools::pallet::DefensiveError **/ PalletNominationPoolsDefensiveError: { _enum: ['NotEnoughSpaceInUnbondPool', 'PoolNotFound', 'RewardPoolNotFound', 'SubPoolsNotFound', 'BondedStashKilledPrematurely', 'DelegationUnsupported', 'SlashNotApplied'] }, /** - * Lookup628: pallet_scheduler::Scheduled, BlockNumber, tangle_testnet_runtime::OriginCaller, sp_core::crypto::AccountId32> + * Lookup697: pallet_scheduler::Scheduled, BlockNumber, tangle_testnet_runtime::OriginCaller, sp_core::crypto::AccountId32> **/ PalletSchedulerScheduled: { maybeId: 'Option<[u8;32]>', @@ -5505,7 +5979,7 @@ export default { origin: 'TangleTestnetRuntimeOriginCaller' }, /** - * Lookup630: pallet_scheduler::RetryConfig + * Lookup699: pallet_scheduler::RetryConfig **/ PalletSchedulerRetryConfig: { totalRetries: 'u8', @@ -5513,13 +5987,13 @@ export default { period: 'u64' }, /** - * Lookup631: pallet_scheduler::pallet::Error + * Lookup700: pallet_scheduler::pallet::Error **/ PalletSchedulerError: { _enum: ['FailedToSchedule', 'NotFound', 'TargetBlockNumberInPast', 'RescheduleNoChange', 'Named'] }, /** - * Lookup632: pallet_preimage::OldRequestStatus + * Lookup701: pallet_preimage::OldRequestStatus **/ PalletPreimageOldRequestStatus: { _enum: { @@ -5535,7 +6009,7 @@ export default { } }, /** - * Lookup634: pallet_preimage::RequestStatus + * Lookup703: pallet_preimage::RequestStatus **/ PalletPreimageRequestStatus: { _enum: { @@ -5551,32 +6025,32 @@ export default { } }, /** - * Lookup638: pallet_preimage::pallet::Error + * Lookup707: pallet_preimage::pallet::Error **/ PalletPreimageError: { _enum: ['TooBig', 'AlreadyNoted', 'NotAuthorized', 'NotNoted', 'Requested', 'NotRequested', 'TooMany', 'TooFew', 'NoCost'] }, /** - * Lookup639: sp_staking::offence::OffenceDetails + * Lookup708: sp_staking::offence::OffenceDetails **/ SpStakingOffenceOffenceDetails: { offender: '(AccountId32,SpStakingExposure)', reporters: 'Vec' }, /** - * Lookup641: pallet_tx_pause::pallet::Error + * Lookup710: pallet_tx_pause::pallet::Error **/ PalletTxPauseError: { _enum: ['IsPaused', 'IsUnpaused', 'Unpausable', 'NotFound'] }, /** - * Lookup644: pallet_im_online::pallet::Error + * Lookup713: pallet_im_online::pallet::Error **/ PalletImOnlineError: { _enum: ['InvalidKey', 'DuplicatedHeartbeat'] }, /** - * Lookup646: pallet_identity::types::Registration> + * Lookup715: pallet_identity::types::Registration> **/ PalletIdentityRegistration: { judgements: 'Vec<(u32,PalletIdentityJudgement)>', @@ -5584,7 +6058,7 @@ export default { info: 'PalletIdentityLegacyIdentityInfo' }, /** - * Lookup655: pallet_identity::types::RegistrarInfo + * Lookup724: pallet_identity::types::RegistrarInfo **/ PalletIdentityRegistrarInfo: { account: 'AccountId32', @@ -5592,26 +6066,26 @@ export default { fields: 'u64' }, /** - * Lookup657: pallet_identity::types::AuthorityProperties> + * Lookup726: pallet_identity::types::AuthorityProperties> **/ PalletIdentityAuthorityProperties: { suffix: 'Bytes', allocation: 'u32' }, /** - * Lookup660: pallet_identity::pallet::Error + * Lookup729: pallet_identity::pallet::Error **/ PalletIdentityError: { _enum: ['TooManySubAccounts', 'NotFound', 'NotNamed', 'EmptyIndex', 'FeeChanged', 'NoIdentity', 'StickyJudgement', 'JudgementGiven', 'InvalidJudgement', 'InvalidIndex', 'InvalidTarget', 'TooManyRegistrars', 'AlreadyClaimed', 'NotSub', 'NotOwned', 'JudgementForDifferentIdentity', 'JudgementPaymentFailed', 'InvalidSuffix', 'NotUsernameAuthority', 'NoAllocation', 'InvalidSignature', 'RequiresSignature', 'InvalidUsername', 'UsernameTaken', 'NoUsername', 'NotExpired'] }, /** - * Lookup661: pallet_utility::pallet::Error + * Lookup730: pallet_utility::pallet::Error **/ PalletUtilityError: { _enum: ['TooManyCalls'] }, /** - * Lookup663: pallet_multisig::Multisig + * Lookup732: pallet_multisig::Multisig **/ PalletMultisigMultisig: { when: 'PalletMultisigTimepoint', @@ -5620,13 +6094,13 @@ export default { approvals: 'Vec' }, /** - * Lookup664: pallet_multisig::pallet::Error + * Lookup733: pallet_multisig::pallet::Error **/ PalletMultisigError: { _enum: ['MinimumThreshold', 'AlreadyApproved', 'NoApprovalsNeeded', 'TooFewSignatories', 'TooManySignatories', 'SignatoriesOutOfOrder', 'SenderInSignatories', 'NotFound', 'NotOwner', 'NoTimepoint', 'WrongTimepoint', 'UnexpectedTimepoint', 'MaxWeightTooLow', 'AlreadyStored'] }, /** - * Lookup667: fp_rpc::TransactionStatus + * Lookup736: fp_rpc::TransactionStatus **/ FpRpcTransactionStatus: { transactionHash: 'H256', @@ -5638,11 +6112,11 @@ export default { logsBloom: 'EthbloomBloom' }, /** - * Lookup669: ethbloom::Bloom + * Lookup738: ethbloom::Bloom **/ EthbloomBloom: '[u8;256]', /** - * Lookup671: ethereum::receipt::ReceiptV3 + * Lookup740: ethereum::receipt::ReceiptV3 **/ EthereumReceiptReceiptV3: { _enum: { @@ -5652,7 +6126,7 @@ export default { } }, /** - * Lookup672: ethereum::receipt::EIP658ReceiptData + * Lookup741: ethereum::receipt::EIP658ReceiptData **/ EthereumReceiptEip658ReceiptData: { statusCode: 'u8', @@ -5661,7 +6135,7 @@ export default { logs: 'Vec' }, /** - * Lookup673: ethereum::block::Block + * Lookup742: ethereum::block::Block **/ EthereumBlock: { header: 'EthereumHeader', @@ -5669,7 +6143,7 @@ export default { ommers: 'Vec' }, /** - * Lookup674: ethereum::header::Header + * Lookup743: ethereum::header::Header **/ EthereumHeader: { parentHash: 'H256', @@ -5689,17 +6163,17 @@ export default { nonce: 'EthereumTypesHashH64' }, /** - * Lookup675: ethereum_types::hash::H64 + * Lookup744: ethereum_types::hash::H64 **/ EthereumTypesHashH64: '[u8;8]', /** - * Lookup680: pallet_ethereum::pallet::Error + * Lookup749: pallet_ethereum::pallet::Error **/ PalletEthereumError: { _enum: ['InvalidSignature', 'PreLogExists'] }, /** - * Lookup681: pallet_evm::CodeMetadata + * Lookup750: pallet_evm::CodeMetadata **/ PalletEvmCodeMetadata: { _alias: { @@ -5710,25 +6184,25 @@ export default { hash_: 'H256' }, /** - * Lookup683: pallet_evm::pallet::Error + * Lookup752: pallet_evm::pallet::Error **/ PalletEvmError: { _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce', 'GasLimitTooLow', 'GasLimitTooHigh', 'InvalidChainId', 'InvalidSignature', 'Reentrancy', 'TransactionMustComeFromEOA', 'Undefined'] }, /** - * Lookup684: pallet_hotfix_sufficients::pallet::Error + * Lookup753: pallet_hotfix_sufficients::pallet::Error **/ PalletHotfixSufficientsError: { _enum: ['MaxAddressCountExceeded'] }, /** - * Lookup686: pallet_airdrop_claims::pallet::Error + * Lookup755: pallet_airdrop_claims::pallet::Error **/ PalletAirdropClaimsError: { _enum: ['InvalidEthereumSignature', 'InvalidNativeSignature', 'InvalidNativeAccount', 'SignerHasNoClaim', 'SenderHasNoClaim', 'PotUnderflow', 'InvalidStatement', 'VestedBalanceExists'] }, /** - * Lookup689: pallet_proxy::ProxyDefinition + * Lookup758: pallet_proxy::ProxyDefinition **/ PalletProxyProxyDefinition: { delegate: 'AccountId32', @@ -5736,7 +6210,7 @@ export default { delay: 'u64' }, /** - * Lookup693: pallet_proxy::Announcement + * Lookup762: pallet_proxy::Announcement **/ PalletProxyAnnouncement: { real: 'AccountId32', @@ -5744,13 +6218,13 @@ export default { height: 'u64' }, /** - * Lookup695: pallet_proxy::pallet::Error + * Lookup764: pallet_proxy::pallet::Error **/ PalletProxyError: { _enum: ['TooMany', 'NotFound', 'NotProxy', 'Unproxyable', 'Duplicate', 'NoPermission', 'Unannounced', 'NoSelfProxy'] }, /** - * Lookup696: pallet_multi_asset_delegation::types::operator::OperatorMetadata + * Lookup765: pallet_multi_asset_delegation::types::operator::OperatorMetadata **/ PalletMultiAssetDelegationOperatorOperatorMetadata: { stake: 'u128', @@ -5761,22 +6235,22 @@ export default { blueprintIds: 'Vec' }, /** - * Lookup697: tangle_testnet_runtime::MaxDelegations + * Lookup766: tangle_testnet_runtime::MaxDelegations **/ TangleTestnetRuntimeMaxDelegations: 'Null', /** - * Lookup698: tangle_testnet_runtime::MaxOperatorBlueprints + * Lookup767: tangle_testnet_runtime::MaxOperatorBlueprints **/ TangleTestnetRuntimeMaxOperatorBlueprints: 'Null', /** - * Lookup700: pallet_multi_asset_delegation::types::operator::OperatorBondLessRequest + * Lookup769: pallet_multi_asset_delegation::types::operator::OperatorBondLessRequest **/ PalletMultiAssetDelegationOperatorOperatorBondLessRequest: { amount: 'u128', requestTime: 'u32' }, /** - * Lookup702: pallet_multi_asset_delegation::types::operator::DelegatorBond + * Lookup771: pallet_multi_asset_delegation::types::operator::DelegatorBond **/ PalletMultiAssetDelegationOperatorDelegatorBond: { delegator: 'AccountId32', @@ -5784,7 +6258,7 @@ export default { asset: 'TanglePrimitivesServicesTypesAsset' }, /** - * Lookup704: pallet_multi_asset_delegation::types::operator::OperatorStatus + * Lookup773: pallet_multi_asset_delegation::types::operator::OperatorStatus **/ PalletMultiAssetDelegationOperatorOperatorStatus: { _enum: { @@ -5794,14 +6268,14 @@ export default { } }, /** - * Lookup706: pallet_multi_asset_delegation::types::operator::OperatorSnapshot + * Lookup775: pallet_multi_asset_delegation::types::operator::OperatorSnapshot **/ PalletMultiAssetDelegationOperatorOperatorSnapshot: { stake: 'u128', delegations: 'Vec' }, /** - * Lookup707: pallet_multi_asset_delegation::types::delegator::DelegatorMetadata + * Lookup776: pallet_multi_asset_delegation::types::delegator::DelegatorMetadata **/ PalletMultiAssetDelegationDelegatorDelegatorMetadata: { deposits: 'BTreeMap', @@ -5811,15 +6285,15 @@ export default { status: 'PalletMultiAssetDelegationDelegatorDelegatorStatus' }, /** - * Lookup708: tangle_testnet_runtime::MaxWithdrawRequests + * Lookup777: tangle_testnet_runtime::MaxWithdrawRequests **/ TangleTestnetRuntimeMaxWithdrawRequests: 'Null', /** - * Lookup709: tangle_testnet_runtime::MaxUnstakeRequests + * Lookup778: tangle_testnet_runtime::MaxUnstakeRequests **/ TangleTestnetRuntimeMaxUnstakeRequests: 'Null', /** - * Lookup711: pallet_multi_asset_delegation::types::delegator::Deposit + * Lookup780: pallet_multi_asset_delegation::types::delegator::Deposit **/ PalletMultiAssetDelegationDelegatorDeposit: { amount: 'u128', @@ -5827,7 +6301,7 @@ export default { locks: 'Option>' }, /** - * Lookup714: tangle_primitives::types::rewards::LockInfo + * Lookup783: tangle_primitives::types::rewards::LockInfo **/ TanglePrimitivesRewardsLockInfo: { amount: 'u128', @@ -5835,7 +6309,7 @@ export default { expiryBlock: 'u64' }, /** - * Lookup719: pallet_multi_asset_delegation::types::delegator::WithdrawRequest + * Lookup788: pallet_multi_asset_delegation::types::delegator::WithdrawRequest **/ PalletMultiAssetDelegationDelegatorWithdrawRequest: { asset: 'TanglePrimitivesServicesTypesAsset', @@ -5843,7 +6317,7 @@ export default { requestedRound: 'u32' }, /** - * Lookup722: pallet_multi_asset_delegation::types::delegator::BondInfoDelegator + * Lookup791: pallet_multi_asset_delegation::types::delegator::BondInfoDelegator **/ PalletMultiAssetDelegationDelegatorBondInfoDelegator: { operator: 'AccountId32', @@ -5853,7 +6327,7 @@ export default { isNomination: 'bool' }, /** - * Lookup725: pallet_multi_asset_delegation::types::delegator::BondLessRequest + * Lookup794: pallet_multi_asset_delegation::types::delegator::BondLessRequest **/ PalletMultiAssetDelegationDelegatorBondLessRequest: { operator: 'AccountId32', @@ -5864,7 +6338,7 @@ export default { isNomination: 'bool' }, /** - * Lookup727: pallet_multi_asset_delegation::types::delegator::DelegatorStatus + * Lookup796: pallet_multi_asset_delegation::types::delegator::DelegatorStatus **/ PalletMultiAssetDelegationDelegatorDelegatorStatus: { _enum: { @@ -5873,13 +6347,13 @@ export default { } }, /** - * Lookup728: pallet_multi_asset_delegation::pallet::Error + * Lookup797: pallet_multi_asset_delegation::pallet::Error **/ PalletMultiAssetDelegationError: { _enum: ['AlreadyOperator', 'BondTooLow', 'InvalidAmount', 'NotAnOperator', 'CannotExit', 'AlreadyLeaving', 'NotLeavingOperator', 'LeavingRoundNotReached', 'NoScheduledBondLess', 'BondLessRequestNotSatisfied', 'NotActiveOperator', 'NotOfflineOperator', 'AlreadyDelegator', 'NotDelegator', 'WithdrawRequestAlreadyExists', 'InsufficientBalance', 'NoWithdrawRequest', 'NoBondLessRequest', 'BondLessNotReady', 'BondLessRequestAlreadyExists', 'ActiveServicesUsingAsset', 'NoActiveDelegation', 'AssetNotWhitelisted', 'NotAuthorized', 'MaxBlueprintsExceeded', 'AssetNotFound', 'BlueprintAlreadyWhitelisted', 'NoWithdrawRequests', 'NoMatchingwithdrawRequest', 'AssetAlreadyInVault', 'AssetNotInVault', 'VaultNotFound', 'DuplicateBlueprintId', 'BlueprintIdNotFound', 'NotInFixedMode', 'MaxDelegationsExceeded', 'MaxUnstakeRequestsExceeded', 'MaxWithdrawRequestsExceeded', 'DepositOverflow', 'UnstakeAmountTooLarge', 'StakeOverflow', 'InsufficientStakeRemaining', 'APYExceedsMaximum', 'CapCannotBeZero', 'CapExceedsTotalSupply', 'PendingUnstakeRequestExists', 'BlueprintNotSelected', 'ERC20TransferFailed', 'EVMAbiEncode', 'EVMAbiDecode', 'LockViolation', 'DepositExceedsCapForAsset', 'OverflowRisk', 'AssetConfigNotFound', 'CannotGoOfflineWithActiveServices', 'NotNominator'] }, /** - * Lookup731: tangle_primitives::services::service::ServiceRequest + * Lookup800: tangle_primitives::services::service::ServiceRequest **/ TanglePrimitivesServicesServiceServiceRequest: { blueprint: 'u64', @@ -5892,7 +6366,7 @@ export default { membershipModel: 'TanglePrimitivesServicesTypesMembershipModel' }, /** - * Lookup736: tangle_primitives::services::types::ApprovalState + * Lookup805: tangle_primitives::services::types::ApprovalState **/ TanglePrimitivesServicesTypesApprovalState: { _enum: { @@ -5904,7 +6378,7 @@ export default { } }, /** - * Lookup738: tangle_primitives::services::service::Service + * Lookup807: tangle_primitives::services::service::Service **/ TanglePrimitivesServicesService: { id: 'u64', @@ -5917,7 +6391,7 @@ export default { membershipModel: 'TanglePrimitivesServicesTypesMembershipModel' }, /** - * Lookup741: tangle_primitives::services::jobs::JobCall + * Lookup810: tangle_primitives::services::jobs::JobCall **/ TanglePrimitivesServicesJobsJobCall: { serviceId: 'u64', @@ -5925,7 +6399,7 @@ export default { args: 'Vec' }, /** - * Lookup742: tangle_primitives::services::jobs::JobCallResult + * Lookup811: tangle_primitives::services::jobs::JobCallResult **/ TanglePrimitivesServicesJobsJobCallResult: { serviceId: 'u64', @@ -5933,7 +6407,7 @@ export default { result: 'Vec' }, /** - * Lookup743: tangle_primitives::services::types::UnappliedSlash + * Lookup812: tangle_primitives::services::types::UnappliedSlash **/ TanglePrimitivesServicesTypesUnappliedSlash: { era: 'u32', @@ -5943,14 +6417,14 @@ export default { slashPercent: 'Percent' }, /** - * Lookup745: tangle_primitives::services::types::OperatorProfile + * Lookup814: tangle_primitives::services::types::OperatorProfile **/ TanglePrimitivesServicesTypesOperatorProfile: { services: 'BTreeSet', blueprints: 'BTreeSet' }, /** - * Lookup748: tangle_primitives::services::service::StagingServicePayment + * Lookup817: tangle_primitives::services::service::StagingServicePayment **/ TanglePrimitivesServicesServiceStagingServicePayment: { requestId: 'u64', @@ -5959,7 +6433,7 @@ export default { amount: 'u128' }, /** - * Lookup749: tangle_primitives::types::Account + * Lookup818: tangle_primitives::types::Account **/ TanglePrimitivesAccount: { _enum: { @@ -5968,7 +6442,7 @@ export default { } }, /** - * Lookup750: pallet_services::module::Error + * Lookup819: pallet_services::module::Error **/ PalletServicesModuleError: { _enum: { @@ -6047,7 +6521,7 @@ export default { } }, /** - * Lookup751: tangle_primitives::services::types::TypeCheckError + * Lookup820: tangle_primitives::services::types::TypeCheckError **/ TanglePrimitivesServicesTypesTypeCheckError: { _enum: { @@ -6068,7 +6542,7 @@ export default { } }, /** - * Lookup752: pallet_tangle_lst::types::bonded_pool::BondedPoolInner + * Lookup821: pallet_tangle_lst::types::bonded_pool::BondedPoolInner **/ PalletTangleLstBondedPoolBondedPoolInner: { commission: 'PalletTangleLstCommission', @@ -6077,7 +6551,7 @@ export default { metadata: 'PalletTangleLstBondedPoolPoolMetadata' }, /** - * Lookup753: pallet_tangle_lst::types::commission::Commission + * Lookup822: pallet_tangle_lst::types::commission::Commission **/ PalletTangleLstCommission: { current: 'Option<(Perbill,AccountId32)>', @@ -6087,7 +6561,7 @@ export default { claimPermission: 'Option' }, /** - * Lookup755: pallet_tangle_lst::types::pools::PoolRoles + * Lookup824: pallet_tangle_lst::types::pools::PoolRoles **/ PalletTangleLstPoolsPoolRoles: { depositor: 'AccountId32', @@ -6096,14 +6570,14 @@ export default { bouncer: 'Option' }, /** - * Lookup756: pallet_tangle_lst::types::bonded_pool::PoolMetadata + * Lookup825: pallet_tangle_lst::types::bonded_pool::PoolMetadata **/ PalletTangleLstBondedPoolPoolMetadata: { name: 'Option', icon: 'Option' }, /** - * Lookup757: pallet_tangle_lst::types::sub_pools::RewardPool + * Lookup826: pallet_tangle_lst::types::sub_pools::RewardPool **/ PalletTangleLstSubPoolsRewardPool: { lastRecordedRewardCounter: 'u128', @@ -6113,33 +6587,33 @@ export default { totalCommissionClaimed: 'u128' }, /** - * Lookup758: pallet_tangle_lst::types::sub_pools::SubPools + * Lookup827: pallet_tangle_lst::types::sub_pools::SubPools **/ PalletTangleLstSubPools: { noEra: 'PalletTangleLstSubPoolsUnbondPool', withEra: 'BTreeMap' }, /** - * Lookup759: pallet_tangle_lst::types::sub_pools::UnbondPool + * Lookup828: pallet_tangle_lst::types::sub_pools::UnbondPool **/ PalletTangleLstSubPoolsUnbondPool: { points: 'u128', balance: 'u128' }, /** - * Lookup765: pallet_tangle_lst::types::pools::PoolMember + * Lookup834: pallet_tangle_lst::types::pools::PoolMember **/ PalletTangleLstPoolsPoolMember: { unbondingEras: 'BTreeMap' }, /** - * Lookup770: pallet_tangle_lst::types::ClaimPermission + * Lookup839: pallet_tangle_lst::types::ClaimPermission **/ PalletTangleLstClaimPermission: { _enum: ['Permissioned', 'PermissionlessCompound', 'PermissionlessWithdraw', 'PermissionlessAll'] }, /** - * Lookup771: pallet_tangle_lst::pallet::Error + * Lookup840: pallet_tangle_lst::pallet::Error **/ PalletTangleLstError: { _enum: { @@ -6179,59 +6653,75 @@ export default { } }, /** - * Lookup772: pallet_tangle_lst::pallet::DefensiveError + * Lookup841: pallet_tangle_lst::pallet::DefensiveError **/ PalletTangleLstDefensiveError: { _enum: ['NotEnoughSpaceInUnbondPool', 'PoolNotFound', 'RewardPoolNotFound', 'SubPoolsNotFound', 'BondedStashKilledPrematurely'] }, /** - * Lookup776: pallet_rewards::pallet::Error + * Lookup845: pallet_rewards::pallet::Error **/ PalletRewardsError: { _enum: ['NoRewardsAvailable', 'InsufficientRewardsBalance', 'AssetNotWhitelisted', 'AssetAlreadyWhitelisted', 'InvalidAPY', 'AssetAlreadyInVault', 'AssetNotInVault', 'VaultNotFound', 'DuplicateBlueprintId', 'BlueprintIdNotFound', 'RewardConfigNotFound', 'CannotCalculatePropotionalApy', 'CannotCalculateRewardPerBlock', 'IncentiveCapGreaterThanDepositCap', 'BoostMultiplierMustBeOne', 'VaultAlreadyExists', 'TotalDepositLessThanIncentiveCap', 'PotAlreadyExists', 'PotAccountNotFound', 'InvalidDecayRate', 'IncentiveCapGreaterThanMaxIncentiveCap', 'DepositCapGreaterThanMaxDepositCap', 'IncentiveCapLessThanMinIncentiveCap', 'DepositCapLessThanMinDepositCap'] }, /** - * Lookup779: frame_system::extensions::check_non_zero_sender::CheckNonZeroSender + * Lookup846: pallet_ismp::pallet::Error + **/ + PalletIsmpError: { + _enum: ['InvalidMessage', 'MessageNotFound', 'ConsensusClientCreationFailed', 'UnbondingPeriodUpdateFailed', 'ChallengePeriodUpdateFailed'] + }, + /** + * Lookup847: pallet_hyperbridge::pallet::Error + **/ + PalletHyperbridgeError: 'Null', + /** + * Lookup849: pallet_token_gateway::pallet::Error + **/ + PalletTokenGatewayError: { + _enum: ['UnregisteredAsset', 'AssetTeleportError', 'CoprocessorNotConfigured', 'DispatchError', 'AssetCreationError', 'AssetDecimalsNotFound', 'NotInitialized', 'UnknownAsset', 'NotAssetOwner'] + }, + /** + * Lookup852: frame_system::extensions::check_non_zero_sender::CheckNonZeroSender **/ FrameSystemExtensionsCheckNonZeroSender: 'Null', /** - * Lookup780: frame_system::extensions::check_spec_version::CheckSpecVersion + * Lookup853: frame_system::extensions::check_spec_version::CheckSpecVersion **/ FrameSystemExtensionsCheckSpecVersion: 'Null', /** - * Lookup781: frame_system::extensions::check_tx_version::CheckTxVersion + * Lookup854: frame_system::extensions::check_tx_version::CheckTxVersion **/ FrameSystemExtensionsCheckTxVersion: 'Null', /** - * Lookup782: frame_system::extensions::check_genesis::CheckGenesis + * Lookup855: frame_system::extensions::check_genesis::CheckGenesis **/ FrameSystemExtensionsCheckGenesis: 'Null', /** - * Lookup785: frame_system::extensions::check_nonce::CheckNonce + * Lookup858: frame_system::extensions::check_nonce::CheckNonce **/ FrameSystemExtensionsCheckNonce: 'Compact', /** - * Lookup786: frame_system::extensions::check_weight::CheckWeight + * Lookup859: frame_system::extensions::check_weight::CheckWeight **/ FrameSystemExtensionsCheckWeight: 'Null', /** - * Lookup787: pallet_transaction_payment::ChargeTransactionPayment + * Lookup860: pallet_transaction_payment::ChargeTransactionPayment **/ PalletTransactionPaymentChargeTransactionPayment: 'Compact', /** - * Lookup788: frame_metadata_hash_extension::CheckMetadataHash + * Lookup861: frame_metadata_hash_extension::CheckMetadataHash **/ FrameMetadataHashExtensionCheckMetadataHash: { mode: 'FrameMetadataHashExtensionMode' }, /** - * Lookup789: frame_metadata_hash_extension::Mode + * Lookup862: frame_metadata_hash_extension::Mode **/ FrameMetadataHashExtensionMode: { _enum: ['Disabled', 'Enabled'] }, /** - * Lookup791: tangle_testnet_runtime::Runtime + * Lookup864: tangle_testnet_runtime::Runtime **/ TangleTestnetRuntimeRuntime: 'Null' }; diff --git a/types/src/interfaces/registry.ts b/types/src/interfaces/registry.ts index 767c24abe..1de3e960f 100644 --- a/types/src/interfaces/registry.ts +++ b/types/src/interfaces/registry.ts @@ -5,7 +5,7 @@ // this is required to allow for ambient/previous definitions import '@polkadot/types/types/registry'; -import type { EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FinalityGrandpaEquivocationPrecommit, FinalityGrandpaEquivocationPrevote, FinalityGrandpaPrecommit, FinalityGrandpaPrevote, FpRpcTransactionStatus, FrameMetadataHashExtensionCheckMetadataHash, FrameMetadataHashExtensionMode, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportPreimagesBounded, FrameSupportTokensMiscBalanceStatus, FrameSupportTokensMiscIdAmountRuntimeFreezeReason, FrameSupportTokensMiscIdAmountRuntimeHoldReason, FrameSystemAccountInfo, FrameSystemCall, FrameSystemCodeUpgradeAuthorization, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonZeroSender, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, PalletAirdropClaimsCall, PalletAirdropClaimsError, PalletAirdropClaimsEvent, PalletAirdropClaimsStatementKind, PalletAirdropClaimsUtilsEthereumAddress, PalletAirdropClaimsUtilsEthereumAddressEcdsaSignature, PalletAirdropClaimsUtilsMultiAddress, PalletAirdropClaimsUtilsMultiAddressSignature, PalletAirdropClaimsUtilsSr25519Signature, PalletAssetsAccountStatus, PalletAssetsApproval, PalletAssetsAssetAccount, PalletAssetsAssetDetails, PalletAssetsAssetMetadata, PalletAssetsAssetStatus, PalletAssetsCall, PalletAssetsError, PalletAssetsEvent, PalletAssetsExistenceReason, PalletBabeCall, PalletBabeError, PalletBagsListCall, PalletBagsListError, PalletBagsListEvent, PalletBagsListListBag, PalletBagsListListListError, PalletBagsListListNode, PalletBalancesAccountData, PalletBalancesAdjustmentDirection, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletBaseFeeCall, PalletBaseFeeEvent, PalletBountiesBounty, PalletBountiesBountyStatus, PalletBountiesCall, PalletBountiesError, PalletBountiesEvent, PalletChildBountiesCall, PalletChildBountiesChildBounty, PalletChildBountiesChildBountyStatus, PalletChildBountiesError, PalletChildBountiesEvent, PalletCollectiveCall, PalletCollectiveError, PalletCollectiveEvent, PalletCollectiveRawOrigin, PalletCollectiveVotes, PalletDemocracyCall, PalletDemocracyConviction, PalletDemocracyDelegations, PalletDemocracyError, PalletDemocracyEvent, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyReferendumStatus, PalletDemocracyTally, PalletDemocracyVoteAccountVote, PalletDemocracyVotePriorLock, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDynamicFeeCall, PalletElectionProviderMultiPhaseCall, PalletElectionProviderMultiPhaseElectionCompute, PalletElectionProviderMultiPhaseError, PalletElectionProviderMultiPhaseEvent, PalletElectionProviderMultiPhasePhase, PalletElectionProviderMultiPhaseRawSolution, PalletElectionProviderMultiPhaseReadySolution, PalletElectionProviderMultiPhaseRoundSnapshot, PalletElectionProviderMultiPhaseSignedSignedSubmission, PalletElectionProviderMultiPhaseSolutionOrSnapshotSize, PalletElectionsPhragmenCall, PalletElectionsPhragmenError, PalletElectionsPhragmenEvent, PalletElectionsPhragmenRenouncing, PalletElectionsPhragmenSeatHolder, PalletElectionsPhragmenVoter, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumRawOrigin, PalletEvmCall, PalletEvmCodeMetadata, PalletEvmError, PalletEvmEvent, PalletGrandpaCall, PalletGrandpaError, PalletGrandpaEvent, PalletGrandpaStoredPendingChange, PalletGrandpaStoredState, PalletHotfixSufficientsCall, PalletHotfixSufficientsError, PalletIdentityAuthorityProperties, PalletIdentityCall, PalletIdentityError, PalletIdentityEvent, PalletIdentityJudgement, PalletIdentityLegacyIdentityInfo, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletImOnlineCall, PalletImOnlineError, PalletImOnlineEvent, PalletImOnlineHeartbeat, PalletImOnlineSr25519AppSr25519Public, PalletImOnlineSr25519AppSr25519Signature, PalletIndicesCall, PalletIndicesError, PalletIndicesEvent, PalletMultiAssetDelegationCall, PalletMultiAssetDelegationDelegatorBondInfoDelegator, PalletMultiAssetDelegationDelegatorBondLessRequest, PalletMultiAssetDelegationDelegatorDelegatorBlueprintSelection, PalletMultiAssetDelegationDelegatorDelegatorMetadata, PalletMultiAssetDelegationDelegatorDelegatorStatus, PalletMultiAssetDelegationDelegatorDeposit, PalletMultiAssetDelegationDelegatorWithdrawRequest, PalletMultiAssetDelegationError, PalletMultiAssetDelegationEvent, PalletMultiAssetDelegationOperatorDelegatorBond, PalletMultiAssetDelegationOperatorOperatorBondLessRequest, PalletMultiAssetDelegationOperatorOperatorMetadata, PalletMultiAssetDelegationOperatorOperatorSnapshot, PalletMultiAssetDelegationOperatorOperatorStatus, PalletMultisigCall, PalletMultisigError, PalletMultisigEvent, PalletMultisigMultisig, PalletMultisigTimepoint, PalletNominationPoolsBondExtra, PalletNominationPoolsBondedPoolInner, PalletNominationPoolsCall, PalletNominationPoolsClaimPermission, PalletNominationPoolsCommission, PalletNominationPoolsCommissionChangeRate, PalletNominationPoolsCommissionClaimPermission, PalletNominationPoolsConfigOpAccountId32, PalletNominationPoolsConfigOpPerbill, PalletNominationPoolsConfigOpU128, PalletNominationPoolsConfigOpU32, PalletNominationPoolsDefensiveError, PalletNominationPoolsError, PalletNominationPoolsEvent, PalletNominationPoolsFreezeReason, PalletNominationPoolsPoolMember, PalletNominationPoolsPoolRoles, PalletNominationPoolsPoolState, PalletNominationPoolsRewardPool, PalletNominationPoolsSubPools, PalletNominationPoolsUnbondPool, PalletOffencesEvent, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageHoldReason, PalletPreimageOldRequestStatus, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyCall, PalletProxyError, PalletProxyEvent, PalletProxyProxyDefinition, PalletRewardsAssetAction, PalletRewardsCall, PalletRewardsError, PalletRewardsEvent, PalletRewardsRewardConfigForAssetVault, PalletSchedulerCall, PalletSchedulerError, PalletSchedulerEvent, PalletSchedulerRetryConfig, PalletSchedulerScheduled, PalletServicesModuleCall, PalletServicesModuleError, PalletServicesModuleEvent, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletStakingActiveEraInfo, PalletStakingEraRewardPoints, PalletStakingForcing, PalletStakingNominations, PalletStakingPalletCall, PalletStakingPalletConfigOpPerbill, PalletStakingPalletConfigOpPercent, PalletStakingPalletConfigOpU128, PalletStakingPalletConfigOpU32, PalletStakingPalletError, PalletStakingPalletEvent, PalletStakingRewardDestination, PalletStakingSlashingSlashingSpans, PalletStakingSlashingSpanRecord, PalletStakingStakingLedger, PalletStakingUnappliedSlash, PalletStakingUnlockChunk, PalletStakingValidatorPrefs, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTangleLstBondExtra, PalletTangleLstBondedPoolBondedPoolInner, PalletTangleLstBondedPoolPoolMetadata, PalletTangleLstCall, PalletTangleLstClaimPermission, PalletTangleLstCommission, PalletTangleLstCommissionCommissionChangeRate, PalletTangleLstCommissionCommissionClaimPermission, PalletTangleLstConfigOpAccountId32, PalletTangleLstConfigOpPerbill, PalletTangleLstConfigOpU128, PalletTangleLstConfigOpU32, PalletTangleLstDefensiveError, PalletTangleLstError, PalletTangleLstEvent, PalletTangleLstFreezeReason, PalletTangleLstPoolsPoolMember, PalletTangleLstPoolsPoolRoles, PalletTangleLstPoolsPoolState, PalletTangleLstSubPools, PalletTangleLstSubPoolsRewardPool, PalletTangleLstSubPoolsUnbondPool, PalletTimestampCall, PalletTransactionPaymentChargeTransactionPayment, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryPaymentState, PalletTreasuryProposal, PalletTreasurySpendStatus, PalletTxPauseCall, PalletTxPauseError, PalletTxPauseEvent, PalletUtilityCall, PalletUtilityError, PalletUtilityEvent, PalletVestingCall, PalletVestingError, PalletVestingEvent, PalletVestingReleases, PalletVestingVestingInfo, SpArithmeticArithmeticError, SpConsensusBabeAllowedSlots, SpConsensusBabeAppPublic, SpConsensusBabeBabeEpochConfiguration, SpConsensusBabeDigestsNextConfigDescriptor, SpConsensusBabeDigestsPreDigest, SpConsensusBabeDigestsPrimaryPreDigest, SpConsensusBabeDigestsSecondaryPlainPreDigest, SpConsensusBabeDigestsSecondaryVRFPreDigest, SpConsensusGrandpaAppPublic, SpConsensusGrandpaAppSignature, SpConsensusGrandpaEquivocation, SpConsensusGrandpaEquivocationProof, SpConsensusSlotsEquivocationProof, SpCoreCryptoKeyTypeId, SpCoreSr25519VrfVrfSignature, SpCoreVoid, SpNposElectionsElectionScore, SpNposElectionsSupport, SpRuntimeBlakeTwo256, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeHeader, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpSessionMembershipProof, SpStakingExposure, SpStakingExposurePage, SpStakingIndividualExposure, SpStakingOffenceOffenceDetails, SpStakingPagedExposureMetadata, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, TanglePrimitivesAccount, TanglePrimitivesRewardsLockInfo, TanglePrimitivesRewardsLockMultiplier, TanglePrimitivesServicesField, TanglePrimitivesServicesFieldFieldType, TanglePrimitivesServicesGadget, TanglePrimitivesServicesGadgetArchitecture, TanglePrimitivesServicesGadgetContainerGadget, TanglePrimitivesServicesGadgetGadgetBinary, TanglePrimitivesServicesGadgetGadgetSource, TanglePrimitivesServicesGadgetGadgetSourceFetcher, TanglePrimitivesServicesGadgetGithubFetcher, TanglePrimitivesServicesGadgetImageRegistryFetcher, TanglePrimitivesServicesGadgetNativeGadget, TanglePrimitivesServicesGadgetOperatingSystem, TanglePrimitivesServicesGadgetTestFetcher, TanglePrimitivesServicesGadgetWasmGadget, TanglePrimitivesServicesGadgetWasmRuntime, TanglePrimitivesServicesJobsJobCall, TanglePrimitivesServicesJobsJobCallResult, TanglePrimitivesServicesJobsJobDefinition, TanglePrimitivesServicesJobsJobMetadata, TanglePrimitivesServicesService, TanglePrimitivesServicesServiceBlueprintServiceManager, TanglePrimitivesServicesServiceMasterBlueprintServiceManagerRevision, TanglePrimitivesServicesServiceServiceBlueprint, TanglePrimitivesServicesServiceServiceMetadata, TanglePrimitivesServicesServiceServiceRequest, TanglePrimitivesServicesServiceStagingServicePayment, TanglePrimitivesServicesTypesApprovalState, TanglePrimitivesServicesTypesAsset, TanglePrimitivesServicesTypesAssetSecurityCommitment, TanglePrimitivesServicesTypesAssetSecurityRequirement, TanglePrimitivesServicesTypesMembershipModel, TanglePrimitivesServicesTypesMembershipModelType, TanglePrimitivesServicesTypesOperatorPreferences, TanglePrimitivesServicesTypesOperatorProfile, TanglePrimitivesServicesTypesPriceTargets, TanglePrimitivesServicesTypesTypeCheckError, TanglePrimitivesServicesTypesUnappliedSlash, TangleTestnetRuntimeMaxDelegations, TangleTestnetRuntimeMaxDelegatorBlueprints, TangleTestnetRuntimeMaxOperatorBlueprints, TangleTestnetRuntimeMaxUnstakeRequests, TangleTestnetRuntimeMaxWithdrawRequests, TangleTestnetRuntimeNposSolution16, TangleTestnetRuntimeOpaqueSessionKeys, TangleTestnetRuntimeOriginCaller, TangleTestnetRuntimeProxyType, TangleTestnetRuntimeRuntime, TangleTestnetRuntimeRuntimeFreezeReason, TangleTestnetRuntimeRuntimeHoldReason } from '@polkadot/types/lookup'; +import type { EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FinalityGrandpaEquivocationPrecommit, FinalityGrandpaEquivocationPrevote, FinalityGrandpaPrecommit, FinalityGrandpaPrevote, FpRpcTransactionStatus, FrameMetadataHashExtensionCheckMetadataHash, FrameMetadataHashExtensionMode, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportPreimagesBounded, FrameSupportTokensMiscBalanceStatus, FrameSupportTokensMiscIdAmountRuntimeFreezeReason, FrameSupportTokensMiscIdAmountRuntimeHoldReason, FrameSystemAccountInfo, FrameSystemCall, FrameSystemCodeUpgradeAuthorization, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonZeroSender, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, IsmpConsensusStateCommitment, IsmpConsensusStateMachineHeight, IsmpConsensusStateMachineId, IsmpEventsRequestResponseHandled, IsmpEventsTimeoutHandled, IsmpGrandpaAddStateMachine, IsmpGrandpaCall, IsmpGrandpaEvent, IsmpHostStateMachine, IsmpMessagingConsensusMessage, IsmpMessagingCreateConsensusState, IsmpMessagingFraudProofMessage, IsmpMessagingMessage, IsmpMessagingProof, IsmpMessagingRequestMessage, IsmpMessagingResponseMessage, IsmpMessagingStateCommitmentHeight, IsmpMessagingTimeoutMessage, IsmpRouterGetRequest, IsmpRouterGetResponse, IsmpRouterPostRequest, IsmpRouterPostResponse, IsmpRouterRequest, IsmpRouterRequestResponse, IsmpRouterResponse, IsmpRouterStorageValue, PalletAirdropClaimsCall, PalletAirdropClaimsError, PalletAirdropClaimsEvent, PalletAirdropClaimsStatementKind, PalletAirdropClaimsUtilsEthereumAddress, PalletAirdropClaimsUtilsEthereumAddressEcdsaSignature, PalletAirdropClaimsUtilsMultiAddress, PalletAirdropClaimsUtilsMultiAddressSignature, PalletAirdropClaimsUtilsSr25519Signature, PalletAssetsAccountStatus, PalletAssetsApproval, PalletAssetsAssetAccount, PalletAssetsAssetDetails, PalletAssetsAssetMetadata, PalletAssetsAssetStatus, PalletAssetsCall, PalletAssetsError, PalletAssetsEvent, PalletAssetsExistenceReason, PalletBabeCall, PalletBabeError, PalletBagsListCall, PalletBagsListError, PalletBagsListEvent, PalletBagsListListBag, PalletBagsListListListError, PalletBagsListListNode, PalletBalancesAccountData, PalletBalancesAdjustmentDirection, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletBaseFeeCall, PalletBaseFeeEvent, PalletBountiesBounty, PalletBountiesBountyStatus, PalletBountiesCall, PalletBountiesError, PalletBountiesEvent, PalletChildBountiesCall, PalletChildBountiesChildBounty, PalletChildBountiesChildBountyStatus, PalletChildBountiesError, PalletChildBountiesEvent, PalletCollectiveCall, PalletCollectiveError, PalletCollectiveEvent, PalletCollectiveRawOrigin, PalletCollectiveVotes, PalletDemocracyCall, PalletDemocracyConviction, PalletDemocracyDelegations, PalletDemocracyError, PalletDemocracyEvent, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyReferendumStatus, PalletDemocracyTally, PalletDemocracyVoteAccountVote, PalletDemocracyVotePriorLock, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDynamicFeeCall, PalletElectionProviderMultiPhaseCall, PalletElectionProviderMultiPhaseElectionCompute, PalletElectionProviderMultiPhaseError, PalletElectionProviderMultiPhaseEvent, PalletElectionProviderMultiPhasePhase, PalletElectionProviderMultiPhaseRawSolution, PalletElectionProviderMultiPhaseReadySolution, PalletElectionProviderMultiPhaseRoundSnapshot, PalletElectionProviderMultiPhaseSignedSignedSubmission, PalletElectionProviderMultiPhaseSolutionOrSnapshotSize, PalletElectionsPhragmenCall, PalletElectionsPhragmenError, PalletElectionsPhragmenEvent, PalletElectionsPhragmenRenouncing, PalletElectionsPhragmenSeatHolder, PalletElectionsPhragmenVoter, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumRawOrigin, PalletEvmCall, PalletEvmCodeMetadata, PalletEvmError, PalletEvmEvent, PalletGrandpaCall, PalletGrandpaError, PalletGrandpaEvent, PalletGrandpaStoredPendingChange, PalletGrandpaStoredState, PalletHotfixSufficientsCall, PalletHotfixSufficientsError, PalletHyperbridgeError, PalletHyperbridgeEvent, PalletHyperbridgeSubstrateHostParams, PalletHyperbridgeVersionedHostParams, PalletIdentityAuthorityProperties, PalletIdentityCall, PalletIdentityError, PalletIdentityEvent, PalletIdentityJudgement, PalletIdentityLegacyIdentityInfo, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletImOnlineCall, PalletImOnlineError, PalletImOnlineEvent, PalletImOnlineHeartbeat, PalletImOnlineSr25519AppSr25519Public, PalletImOnlineSr25519AppSr25519Signature, PalletIndicesCall, PalletIndicesError, PalletIndicesEvent, PalletIsmpCall, PalletIsmpError, PalletIsmpErrorsHandlingError, PalletIsmpEvent, PalletIsmpUtilsFundMessageParams, PalletIsmpUtilsMessageCommitment, PalletIsmpUtilsUpdateConsensusState, PalletMultiAssetDelegationCall, PalletMultiAssetDelegationDelegatorBondInfoDelegator, PalletMultiAssetDelegationDelegatorBondLessRequest, PalletMultiAssetDelegationDelegatorDelegatorBlueprintSelection, PalletMultiAssetDelegationDelegatorDelegatorMetadata, PalletMultiAssetDelegationDelegatorDelegatorStatus, PalletMultiAssetDelegationDelegatorDeposit, PalletMultiAssetDelegationDelegatorWithdrawRequest, PalletMultiAssetDelegationError, PalletMultiAssetDelegationEvent, PalletMultiAssetDelegationOperatorDelegatorBond, PalletMultiAssetDelegationOperatorOperatorBondLessRequest, PalletMultiAssetDelegationOperatorOperatorMetadata, PalletMultiAssetDelegationOperatorOperatorSnapshot, PalletMultiAssetDelegationOperatorOperatorStatus, PalletMultisigCall, PalletMultisigError, PalletMultisigEvent, PalletMultisigMultisig, PalletMultisigTimepoint, PalletNominationPoolsBondExtra, PalletNominationPoolsBondedPoolInner, PalletNominationPoolsCall, PalletNominationPoolsClaimPermission, PalletNominationPoolsCommission, PalletNominationPoolsCommissionChangeRate, PalletNominationPoolsCommissionClaimPermission, PalletNominationPoolsConfigOpAccountId32, PalletNominationPoolsConfigOpPerbill, PalletNominationPoolsConfigOpU128, PalletNominationPoolsConfigOpU32, PalletNominationPoolsDefensiveError, PalletNominationPoolsError, PalletNominationPoolsEvent, PalletNominationPoolsFreezeReason, PalletNominationPoolsPoolMember, PalletNominationPoolsPoolRoles, PalletNominationPoolsPoolState, PalletNominationPoolsRewardPool, PalletNominationPoolsSubPools, PalletNominationPoolsUnbondPool, PalletOffencesEvent, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageHoldReason, PalletPreimageOldRequestStatus, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyCall, PalletProxyError, PalletProxyEvent, PalletProxyProxyDefinition, PalletRewardsAssetAction, PalletRewardsCall, PalletRewardsError, PalletRewardsEvent, PalletRewardsRewardConfigForAssetVault, PalletSchedulerCall, PalletSchedulerError, PalletSchedulerEvent, PalletSchedulerRetryConfig, PalletSchedulerScheduled, PalletServicesModuleCall, PalletServicesModuleError, PalletServicesModuleEvent, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletStakingActiveEraInfo, PalletStakingEraRewardPoints, PalletStakingForcing, PalletStakingNominations, PalletStakingPalletCall, PalletStakingPalletConfigOpPerbill, PalletStakingPalletConfigOpPercent, PalletStakingPalletConfigOpU128, PalletStakingPalletConfigOpU32, PalletStakingPalletError, PalletStakingPalletEvent, PalletStakingRewardDestination, PalletStakingSlashingSlashingSpans, PalletStakingSlashingSpanRecord, PalletStakingStakingLedger, PalletStakingUnappliedSlash, PalletStakingUnlockChunk, PalletStakingValidatorPrefs, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTangleLstBondExtra, PalletTangleLstBondedPoolBondedPoolInner, PalletTangleLstBondedPoolPoolMetadata, PalletTangleLstCall, PalletTangleLstClaimPermission, PalletTangleLstCommission, PalletTangleLstCommissionCommissionChangeRate, PalletTangleLstCommissionCommissionClaimPermission, PalletTangleLstConfigOpAccountId32, PalletTangleLstConfigOpPerbill, PalletTangleLstConfigOpU128, PalletTangleLstConfigOpU32, PalletTangleLstDefensiveError, PalletTangleLstError, PalletTangleLstEvent, PalletTangleLstFreezeReason, PalletTangleLstPoolsPoolMember, PalletTangleLstPoolsPoolRoles, PalletTangleLstPoolsPoolState, PalletTangleLstSubPools, PalletTangleLstSubPoolsRewardPool, PalletTangleLstSubPoolsUnbondPool, PalletTimestampCall, PalletTokenGatewayAssetRegistration, PalletTokenGatewayCall, PalletTokenGatewayError, PalletTokenGatewayEvent, PalletTokenGatewayPrecisionUpdate, PalletTokenGatewayTeleportParams, PalletTransactionPaymentChargeTransactionPayment, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryPaymentState, PalletTreasuryProposal, PalletTreasurySpendStatus, PalletTxPauseCall, PalletTxPauseError, PalletTxPauseEvent, PalletUtilityCall, PalletUtilityError, PalletUtilityEvent, PalletVestingCall, PalletVestingError, PalletVestingEvent, PalletVestingReleases, PalletVestingVestingInfo, SpArithmeticArithmeticError, SpConsensusBabeAllowedSlots, SpConsensusBabeAppPublic, SpConsensusBabeBabeEpochConfiguration, SpConsensusBabeDigestsNextConfigDescriptor, SpConsensusBabeDigestsPreDigest, SpConsensusBabeDigestsPrimaryPreDigest, SpConsensusBabeDigestsSecondaryPlainPreDigest, SpConsensusBabeDigestsSecondaryVRFPreDigest, SpConsensusGrandpaAppPublic, SpConsensusGrandpaAppSignature, SpConsensusGrandpaEquivocation, SpConsensusGrandpaEquivocationProof, SpConsensusSlotsEquivocationProof, SpCoreCryptoKeyTypeId, SpCoreSr25519VrfVrfSignature, SpCoreVoid, SpNposElectionsElectionScore, SpNposElectionsSupport, SpRuntimeBlakeTwo256, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeHeader, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpSessionMembershipProof, SpStakingExposure, SpStakingExposurePage, SpStakingIndividualExposure, SpStakingOffenceOffenceDetails, SpStakingPagedExposureMetadata, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, TanglePrimitivesAccount, TanglePrimitivesRewardsLockInfo, TanglePrimitivesRewardsLockMultiplier, TanglePrimitivesServicesField, TanglePrimitivesServicesFieldFieldType, TanglePrimitivesServicesGadget, TanglePrimitivesServicesGadgetArchitecture, TanglePrimitivesServicesGadgetContainerGadget, TanglePrimitivesServicesGadgetGadgetBinary, TanglePrimitivesServicesGadgetGadgetSource, TanglePrimitivesServicesGadgetGadgetSourceFetcher, TanglePrimitivesServicesGadgetGithubFetcher, TanglePrimitivesServicesGadgetImageRegistryFetcher, TanglePrimitivesServicesGadgetNativeGadget, TanglePrimitivesServicesGadgetOperatingSystem, TanglePrimitivesServicesGadgetTestFetcher, TanglePrimitivesServicesGadgetWasmGadget, TanglePrimitivesServicesGadgetWasmRuntime, TanglePrimitivesServicesJobsJobCall, TanglePrimitivesServicesJobsJobCallResult, TanglePrimitivesServicesJobsJobDefinition, TanglePrimitivesServicesJobsJobMetadata, TanglePrimitivesServicesService, TanglePrimitivesServicesServiceBlueprintServiceManager, TanglePrimitivesServicesServiceMasterBlueprintServiceManagerRevision, TanglePrimitivesServicesServiceServiceBlueprint, TanglePrimitivesServicesServiceServiceMetadata, TanglePrimitivesServicesServiceServiceRequest, TanglePrimitivesServicesServiceStagingServicePayment, TanglePrimitivesServicesTypesApprovalState, TanglePrimitivesServicesTypesAsset, TanglePrimitivesServicesTypesAssetSecurityCommitment, TanglePrimitivesServicesTypesAssetSecurityRequirement, TanglePrimitivesServicesTypesMembershipModel, TanglePrimitivesServicesTypesMembershipModelType, TanglePrimitivesServicesTypesOperatorPreferences, TanglePrimitivesServicesTypesOperatorProfile, TanglePrimitivesServicesTypesPriceTargets, TanglePrimitivesServicesTypesTypeCheckError, TanglePrimitivesServicesTypesUnappliedSlash, TangleTestnetRuntimeMaxDelegations, TangleTestnetRuntimeMaxDelegatorBlueprints, TangleTestnetRuntimeMaxOperatorBlueprints, TangleTestnetRuntimeMaxUnstakeRequests, TangleTestnetRuntimeMaxWithdrawRequests, TangleTestnetRuntimeNposSolution16, TangleTestnetRuntimeOpaqueSessionKeys, TangleTestnetRuntimeOriginCaller, TangleTestnetRuntimeProxyType, TangleTestnetRuntimeRuntime, TangleTestnetRuntimeRuntimeFreezeReason, TangleTestnetRuntimeRuntimeHoldReason, TokenGatewayPrimitivesGatewayAssetRegistration, TokenGatewayPrimitivesGatewayAssetUpdate } from '@polkadot/types/lookup'; declare module '@polkadot/types/types/registry' { interface InterfaceTypes { @@ -64,6 +64,32 @@ declare module '@polkadot/types/types/registry' { FrameSystemLimitsBlockWeights: FrameSystemLimitsBlockWeights; FrameSystemLimitsWeightsPerClass: FrameSystemLimitsWeightsPerClass; FrameSystemPhase: FrameSystemPhase; + IsmpConsensusStateCommitment: IsmpConsensusStateCommitment; + IsmpConsensusStateMachineHeight: IsmpConsensusStateMachineHeight; + IsmpConsensusStateMachineId: IsmpConsensusStateMachineId; + IsmpEventsRequestResponseHandled: IsmpEventsRequestResponseHandled; + IsmpEventsTimeoutHandled: IsmpEventsTimeoutHandled; + IsmpGrandpaAddStateMachine: IsmpGrandpaAddStateMachine; + IsmpGrandpaCall: IsmpGrandpaCall; + IsmpGrandpaEvent: IsmpGrandpaEvent; + IsmpHostStateMachine: IsmpHostStateMachine; + IsmpMessagingConsensusMessage: IsmpMessagingConsensusMessage; + IsmpMessagingCreateConsensusState: IsmpMessagingCreateConsensusState; + IsmpMessagingFraudProofMessage: IsmpMessagingFraudProofMessage; + IsmpMessagingMessage: IsmpMessagingMessage; + IsmpMessagingProof: IsmpMessagingProof; + IsmpMessagingRequestMessage: IsmpMessagingRequestMessage; + IsmpMessagingResponseMessage: IsmpMessagingResponseMessage; + IsmpMessagingStateCommitmentHeight: IsmpMessagingStateCommitmentHeight; + IsmpMessagingTimeoutMessage: IsmpMessagingTimeoutMessage; + IsmpRouterGetRequest: IsmpRouterGetRequest; + IsmpRouterGetResponse: IsmpRouterGetResponse; + IsmpRouterPostRequest: IsmpRouterPostRequest; + IsmpRouterPostResponse: IsmpRouterPostResponse; + IsmpRouterRequest: IsmpRouterRequest; + IsmpRouterRequestResponse: IsmpRouterRequestResponse; + IsmpRouterResponse: IsmpRouterResponse; + IsmpRouterStorageValue: IsmpRouterStorageValue; PalletAirdropClaimsCall: PalletAirdropClaimsCall; PalletAirdropClaimsError: PalletAirdropClaimsError; PalletAirdropClaimsEvent: PalletAirdropClaimsEvent; @@ -161,6 +187,10 @@ declare module '@polkadot/types/types/registry' { PalletGrandpaStoredState: PalletGrandpaStoredState; PalletHotfixSufficientsCall: PalletHotfixSufficientsCall; PalletHotfixSufficientsError: PalletHotfixSufficientsError; + PalletHyperbridgeError: PalletHyperbridgeError; + PalletHyperbridgeEvent: PalletHyperbridgeEvent; + PalletHyperbridgeSubstrateHostParams: PalletHyperbridgeSubstrateHostParams; + PalletHyperbridgeVersionedHostParams: PalletHyperbridgeVersionedHostParams; PalletIdentityAuthorityProperties: PalletIdentityAuthorityProperties; PalletIdentityCall: PalletIdentityCall; PalletIdentityError: PalletIdentityError; @@ -178,6 +208,13 @@ declare module '@polkadot/types/types/registry' { PalletIndicesCall: PalletIndicesCall; PalletIndicesError: PalletIndicesError; PalletIndicesEvent: PalletIndicesEvent; + PalletIsmpCall: PalletIsmpCall; + PalletIsmpError: PalletIsmpError; + PalletIsmpErrorsHandlingError: PalletIsmpErrorsHandlingError; + PalletIsmpEvent: PalletIsmpEvent; + PalletIsmpUtilsFundMessageParams: PalletIsmpUtilsFundMessageParams; + PalletIsmpUtilsMessageCommitment: PalletIsmpUtilsMessageCommitment; + PalletIsmpUtilsUpdateConsensusState: PalletIsmpUtilsUpdateConsensusState; PalletMultiAssetDelegationCall: PalletMultiAssetDelegationCall; PalletMultiAssetDelegationDelegatorBondInfoDelegator: PalletMultiAssetDelegationDelegatorBondInfoDelegator; PalletMultiAssetDelegationDelegatorBondLessRequest: PalletMultiAssetDelegationDelegatorBondLessRequest; @@ -291,6 +328,12 @@ declare module '@polkadot/types/types/registry' { PalletTangleLstSubPoolsRewardPool: PalletTangleLstSubPoolsRewardPool; PalletTangleLstSubPoolsUnbondPool: PalletTangleLstSubPoolsUnbondPool; PalletTimestampCall: PalletTimestampCall; + PalletTokenGatewayAssetRegistration: PalletTokenGatewayAssetRegistration; + PalletTokenGatewayCall: PalletTokenGatewayCall; + PalletTokenGatewayError: PalletTokenGatewayError; + PalletTokenGatewayEvent: PalletTokenGatewayEvent; + PalletTokenGatewayPrecisionUpdate: PalletTokenGatewayPrecisionUpdate; + PalletTokenGatewayTeleportParams: PalletTokenGatewayTeleportParams; PalletTransactionPaymentChargeTransactionPayment: PalletTransactionPaymentChargeTransactionPayment; PalletTransactionPaymentEvent: PalletTransactionPaymentEvent; PalletTransactionPaymentReleases: PalletTransactionPaymentReleases; @@ -400,5 +443,7 @@ declare module '@polkadot/types/types/registry' { TangleTestnetRuntimeRuntime: TangleTestnetRuntimeRuntime; TangleTestnetRuntimeRuntimeFreezeReason: TangleTestnetRuntimeRuntimeFreezeReason; TangleTestnetRuntimeRuntimeHoldReason: TangleTestnetRuntimeRuntimeHoldReason; + TokenGatewayPrimitivesGatewayAssetRegistration: TokenGatewayPrimitivesGatewayAssetRegistration; + TokenGatewayPrimitivesGatewayAssetUpdate: TokenGatewayPrimitivesGatewayAssetUpdate; } // InterfaceTypes } // declare module diff --git a/types/src/interfaces/types-lookup.ts b/types/src/interfaces/types-lookup.ts index 47d45446f..8bfac5fd5 100644 --- a/types/src/interfaces/types-lookup.ts +++ b/types/src/interfaces/types-lookup.ts @@ -352,7 +352,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Created' | 'Issued' | 'Transferred' | 'Burned' | 'TeamChanged' | 'OwnerChanged' | 'Frozen' | 'Thawed' | 'AssetFrozen' | 'AssetThawed' | 'AccountsDestroyed' | 'ApprovalsDestroyed' | 'DestructionStarted' | 'Destroyed' | 'ForceCreated' | 'MetadataSet' | 'MetadataCleared' | 'ApprovedTransfer' | 'ApprovalCancelled' | 'TransferredApproved' | 'AssetStatusChanged' | 'AssetMinBalanceChanged' | 'Touched' | 'Blocked' | 'Deposited' | 'Withdrawn'; } - /** @name PalletBalancesEvent (37) */ + /** @name PalletBalancesEvent (36) */ interface PalletBalancesEvent extends Enum { readonly isEndowed: boolean; readonly asEndowed: { @@ -467,14 +467,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed' | 'Minted' | 'Burned' | 'Suspended' | 'Restored' | 'Upgraded' | 'Issued' | 'Rescinded' | 'Locked' | 'Unlocked' | 'Frozen' | 'Thawed' | 'TotalIssuanceForced'; } - /** @name FrameSupportTokensMiscBalanceStatus (38) */ + /** @name FrameSupportTokensMiscBalanceStatus (37) */ interface FrameSupportTokensMiscBalanceStatus extends Enum { readonly isFree: boolean; readonly isReserved: boolean; readonly type: 'Free' | 'Reserved'; } - /** @name PalletTransactionPaymentEvent (39) */ + /** @name PalletTransactionPaymentEvent (38) */ interface PalletTransactionPaymentEvent extends Enum { readonly isTransactionFeePaid: boolean; readonly asTransactionFeePaid: { @@ -485,7 +485,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'TransactionFeePaid'; } - /** @name PalletGrandpaEvent (40) */ + /** @name PalletGrandpaEvent (39) */ interface PalletGrandpaEvent extends Enum { readonly isNewAuthorities: boolean; readonly asNewAuthorities: { @@ -496,10 +496,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'NewAuthorities' | 'Paused' | 'Resumed'; } - /** @name SpConsensusGrandpaAppPublic (43) */ + /** @name SpConsensusGrandpaAppPublic (42) */ interface SpConsensusGrandpaAppPublic extends U8aFixed {} - /** @name PalletIndicesEvent (44) */ + /** @name PalletIndicesEvent (43) */ interface PalletIndicesEvent extends Enum { readonly isIndexAssigned: boolean; readonly asIndexAssigned: { @@ -518,7 +518,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'IndexAssigned' | 'IndexFreed' | 'IndexFrozen'; } - /** @name PalletDemocracyEvent (45) */ + /** @name PalletDemocracyEvent (44) */ interface PalletDemocracyEvent extends Enum { readonly isProposed: boolean; readonly asProposed: { @@ -601,7 +601,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Proposed' | 'Tabled' | 'ExternalTabled' | 'Started' | 'Passed' | 'NotPassed' | 'Cancelled' | 'Delegated' | 'Undelegated' | 'Vetoed' | 'Blacklisted' | 'Voted' | 'Seconded' | 'ProposalCanceled' | 'MetadataSet' | 'MetadataCleared' | 'MetadataTransferred'; } - /** @name PalletDemocracyVoteThreshold (46) */ + /** @name PalletDemocracyVoteThreshold (45) */ interface PalletDemocracyVoteThreshold extends Enum { readonly isSuperMajorityApprove: boolean; readonly isSuperMajorityAgainst: boolean; @@ -609,7 +609,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'SuperMajorityApprove' | 'SuperMajorityAgainst' | 'SimpleMajority'; } - /** @name PalletDemocracyVoteAccountVote (47) */ + /** @name PalletDemocracyVoteAccountVote (46) */ interface PalletDemocracyVoteAccountVote extends Enum { readonly isStandard: boolean; readonly asStandard: { @@ -624,7 +624,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Standard' | 'Split'; } - /** @name PalletDemocracyMetadataOwner (49) */ + /** @name PalletDemocracyMetadataOwner (48) */ interface PalletDemocracyMetadataOwner extends Enum { readonly isExternal: boolean; readonly isProposal: boolean; @@ -634,7 +634,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'External' | 'Proposal' | 'Referendum'; } - /** @name PalletCollectiveEvent (50) */ + /** @name PalletCollectiveEvent (49) */ interface PalletCollectiveEvent extends Enum { readonly isProposed: boolean; readonly asProposed: { @@ -678,7 +678,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Proposed' | 'Voted' | 'Approved' | 'Disapproved' | 'Executed' | 'MemberExecuted' | 'Closed'; } - /** @name PalletVestingEvent (51) */ + /** @name PalletVestingEvent (50) */ interface PalletVestingEvent extends Enum { readonly isVestingUpdated: boolean; readonly asVestingUpdated: { @@ -692,7 +692,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'VestingUpdated' | 'VestingCompleted'; } - /** @name PalletElectionsPhragmenEvent (52) */ + /** @name PalletElectionsPhragmenEvent (51) */ interface PalletElectionsPhragmenEvent extends Enum { readonly isNewTerm: boolean; readonly asNewTerm: { @@ -721,7 +721,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NewTerm' | 'EmptyTerm' | 'ElectionError' | 'MemberKicked' | 'Renounced' | 'CandidateSlashed' | 'SeatHolderSlashed'; } - /** @name PalletElectionProviderMultiPhaseEvent (55) */ + /** @name PalletElectionProviderMultiPhaseEvent (54) */ interface PalletElectionProviderMultiPhaseEvent extends Enum { readonly isSolutionStored: boolean; readonly asSolutionStored: { @@ -754,7 +754,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'SolutionStored' | 'ElectionFinalized' | 'ElectionFailed' | 'Rewarded' | 'Slashed' | 'PhaseTransitioned'; } - /** @name PalletElectionProviderMultiPhaseElectionCompute (56) */ + /** @name PalletElectionProviderMultiPhaseElectionCompute (55) */ interface PalletElectionProviderMultiPhaseElectionCompute extends Enum { readonly isOnChain: boolean; readonly isSigned: boolean; @@ -764,14 +764,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'OnChain' | 'Signed' | 'Unsigned' | 'Fallback' | 'Emergency'; } - /** @name SpNposElectionsElectionScore (57) */ + /** @name SpNposElectionsElectionScore (56) */ interface SpNposElectionsElectionScore extends Struct { readonly minimalStake: u128; readonly sumStake: u128; readonly sumStakeSquared: u128; } - /** @name PalletElectionProviderMultiPhasePhase (58) */ + /** @name PalletElectionProviderMultiPhasePhase (57) */ interface PalletElectionProviderMultiPhasePhase extends Enum { readonly isOff: boolean; readonly isSigned: boolean; @@ -781,7 +781,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Off' | 'Signed' | 'Unsigned' | 'Emergency'; } - /** @name PalletStakingPalletEvent (60) */ + /** @name PalletStakingPalletEvent (59) */ interface PalletStakingPalletEvent extends Enum { readonly isEraPaid: boolean; readonly asEraPaid: { @@ -865,7 +865,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'EraPaid' | 'Rewarded' | 'Slashed' | 'SlashReported' | 'OldSlashingReportDiscarded' | 'StakersElected' | 'Bonded' | 'Unbonded' | 'Withdrawn' | 'Kicked' | 'StakingElectionFailed' | 'Chilled' | 'PayoutStarted' | 'ValidatorPrefsSet' | 'SnapshotVotersSizeExceeded' | 'SnapshotTargetsSizeExceeded' | 'ForceEra' | 'ControllerBatchDeprecated'; } - /** @name PalletStakingRewardDestination (61) */ + /** @name PalletStakingRewardDestination (60) */ interface PalletStakingRewardDestination extends Enum { readonly isStaked: boolean; readonly isStash: boolean; @@ -876,13 +876,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'Staked' | 'Stash' | 'Controller' | 'Account' | 'None'; } - /** @name PalletStakingValidatorPrefs (63) */ + /** @name PalletStakingValidatorPrefs (62) */ interface PalletStakingValidatorPrefs extends Struct { readonly commission: Compact; readonly blocked: bool; } - /** @name PalletStakingForcing (65) */ + /** @name PalletStakingForcing (64) */ interface PalletStakingForcing extends Enum { readonly isNotForcing: boolean; readonly isForceNew: boolean; @@ -891,7 +891,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotForcing' | 'ForceNew' | 'ForceNone' | 'ForceAlways'; } - /** @name PalletSessionEvent (66) */ + /** @name PalletSessionEvent (65) */ interface PalletSessionEvent extends Enum { readonly isNewSession: boolean; readonly asNewSession: { @@ -900,7 +900,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NewSession'; } - /** @name PalletTreasuryEvent (67) */ + /** @name PalletTreasuryEvent (66) */ interface PalletTreasuryEvent extends Enum { readonly isSpending: boolean; readonly asSpending: { @@ -965,7 +965,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Spending' | 'Awarded' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved' | 'UpdatedInactive' | 'AssetSpendApproved' | 'AssetSpendVoided' | 'Paid' | 'PaymentFailed' | 'SpendProcessed'; } - /** @name PalletBountiesEvent (68) */ + /** @name PalletBountiesEvent (67) */ interface PalletBountiesEvent extends Enum { readonly isBountyProposed: boolean; readonly asBountyProposed: { @@ -1020,7 +1020,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'BountyProposed' | 'BountyRejected' | 'BountyBecameActive' | 'BountyAwarded' | 'BountyClaimed' | 'BountyCanceled' | 'BountyExtended' | 'BountyApproved' | 'CuratorProposed' | 'CuratorUnassigned' | 'CuratorAccepted'; } - /** @name PalletChildBountiesEvent (69) */ + /** @name PalletChildBountiesEvent (68) */ interface PalletChildBountiesEvent extends Enum { readonly isAdded: boolean; readonly asAdded: { @@ -1048,7 +1048,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Added' | 'Awarded' | 'Claimed' | 'Canceled'; } - /** @name PalletBagsListEvent (70) */ + /** @name PalletBagsListEvent (69) */ interface PalletBagsListEvent extends Enum { readonly isRebagged: boolean; readonly asRebagged: { @@ -1064,7 +1064,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Rebagged' | 'ScoreUpdated'; } - /** @name PalletNominationPoolsEvent (71) */ + /** @name PalletNominationPoolsEvent (70) */ interface PalletNominationPoolsEvent extends Enum { readonly isCreated: boolean; readonly asCreated: { @@ -1168,7 +1168,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Created' | 'Bonded' | 'PaidOut' | 'Unbonded' | 'Withdrawn' | 'Destroyed' | 'StateChanged' | 'MemberRemoved' | 'RolesUpdated' | 'PoolSlashed' | 'UnbondingPoolSlashed' | 'PoolCommissionUpdated' | 'PoolMaxCommissionUpdated' | 'PoolCommissionChangeRateUpdated' | 'PoolCommissionClaimPermissionUpdated' | 'PoolCommissionClaimed' | 'MinBalanceDeficitAdjusted' | 'MinBalanceExcessAdjusted'; } - /** @name PalletNominationPoolsPoolState (72) */ + /** @name PalletNominationPoolsPoolState (71) */ interface PalletNominationPoolsPoolState extends Enum { readonly isOpen: boolean; readonly isBlocked: boolean; @@ -1176,13 +1176,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'Open' | 'Blocked' | 'Destroying'; } - /** @name PalletNominationPoolsCommissionChangeRate (75) */ + /** @name PalletNominationPoolsCommissionChangeRate (74) */ interface PalletNominationPoolsCommissionChangeRate extends Struct { readonly maxIncrease: Perbill; readonly minDelay: u64; } - /** @name PalletNominationPoolsCommissionClaimPermission (77) */ + /** @name PalletNominationPoolsCommissionClaimPermission (76) */ interface PalletNominationPoolsCommissionClaimPermission extends Enum { readonly isPermissionless: boolean; readonly isAccount: boolean; @@ -1190,7 +1190,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Permissionless' | 'Account'; } - /** @name PalletSchedulerEvent (78) */ + /** @name PalletSchedulerEvent (77) */ interface PalletSchedulerEvent extends Enum { readonly isScheduled: boolean; readonly asScheduled: { @@ -1243,7 +1243,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Scheduled' | 'Canceled' | 'Dispatched' | 'RetrySet' | 'RetryCancelled' | 'CallUnavailable' | 'PeriodicFailed' | 'RetryFailed' | 'PermanentlyOverweight'; } - /** @name PalletPreimageEvent (81) */ + /** @name PalletPreimageEvent (80) */ interface PalletPreimageEvent extends Enum { readonly isNoted: boolean; readonly asNoted: { @@ -1260,7 +1260,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Noted' | 'Requested' | 'Cleared'; } - /** @name PalletOffencesEvent (82) */ + /** @name PalletOffencesEvent (81) */ interface PalletOffencesEvent extends Enum { readonly isOffence: boolean; readonly asOffence: { @@ -1270,7 +1270,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Offence'; } - /** @name PalletTxPauseEvent (84) */ + /** @name PalletTxPauseEvent (83) */ interface PalletTxPauseEvent extends Enum { readonly isCallPaused: boolean; readonly asCallPaused: { @@ -1283,7 +1283,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'CallPaused' | 'CallUnpaused'; } - /** @name PalletImOnlineEvent (87) */ + /** @name PalletImOnlineEvent (86) */ interface PalletImOnlineEvent extends Enum { readonly isHeartbeatReceived: boolean; readonly asHeartbeatReceived: { @@ -1297,23 +1297,23 @@ declare module '@polkadot/types/lookup' { readonly type: 'HeartbeatReceived' | 'AllGood' | 'SomeOffline'; } - /** @name PalletImOnlineSr25519AppSr25519Public (88) */ + /** @name PalletImOnlineSr25519AppSr25519Public (87) */ interface PalletImOnlineSr25519AppSr25519Public extends U8aFixed {} - /** @name SpStakingExposure (91) */ + /** @name SpStakingExposure (90) */ interface SpStakingExposure extends Struct { readonly total: Compact; readonly own: Compact; readonly others: Vec; } - /** @name SpStakingIndividualExposure (94) */ + /** @name SpStakingIndividualExposure (93) */ interface SpStakingIndividualExposure extends Struct { readonly who: AccountId32; readonly value: Compact; } - /** @name PalletIdentityEvent (95) */ + /** @name PalletIdentityEvent (94) */ interface PalletIdentityEvent extends Enum { readonly isIdentitySet: boolean; readonly asIdentitySet: { @@ -1402,7 +1402,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'IdentitySet' | 'IdentityCleared' | 'IdentityKilled' | 'JudgementRequested' | 'JudgementUnrequested' | 'JudgementGiven' | 'RegistrarAdded' | 'SubIdentityAdded' | 'SubIdentityRemoved' | 'SubIdentityRevoked' | 'AuthorityAdded' | 'AuthorityRemoved' | 'UsernameSet' | 'UsernameQueued' | 'PreapprovalExpired' | 'PrimaryUsernameSet' | 'DanglingUsernameRemoved'; } - /** @name PalletUtilityEvent (97) */ + /** @name PalletUtilityEvent (96) */ interface PalletUtilityEvent extends Enum { readonly isBatchInterrupted: boolean; readonly asBatchInterrupted: { @@ -1423,7 +1423,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'BatchInterrupted' | 'BatchCompleted' | 'BatchCompletedWithErrors' | 'ItemCompleted' | 'ItemFailed' | 'DispatchedAs'; } - /** @name PalletMultisigEvent (98) */ + /** @name PalletMultisigEvent (97) */ interface PalletMultisigEvent extends Enum { readonly isNewMultisig: boolean; readonly asNewMultisig: { @@ -1456,13 +1456,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'NewMultisig' | 'MultisigApproval' | 'MultisigExecuted' | 'MultisigCancelled'; } - /** @name PalletMultisigTimepoint (99) */ + /** @name PalletMultisigTimepoint (98) */ interface PalletMultisigTimepoint extends Struct { readonly height: u64; readonly index: u32; } - /** @name PalletEthereumEvent (100) */ + /** @name PalletEthereumEvent (99) */ interface PalletEthereumEvent extends Enum { readonly isExecuted: boolean; readonly asExecuted: { @@ -1475,7 +1475,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Executed'; } - /** @name EvmCoreErrorExitReason (103) */ + /** @name EvmCoreErrorExitReason (102) */ interface EvmCoreErrorExitReason extends Enum { readonly isSucceed: boolean; readonly asSucceed: EvmCoreErrorExitSucceed; @@ -1488,7 +1488,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal'; } - /** @name EvmCoreErrorExitSucceed (104) */ + /** @name EvmCoreErrorExitSucceed (103) */ interface EvmCoreErrorExitSucceed extends Enum { readonly isStopped: boolean; readonly isReturned: boolean; @@ -1496,7 +1496,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Stopped' | 'Returned' | 'Suicided'; } - /** @name EvmCoreErrorExitError (105) */ + /** @name EvmCoreErrorExitError (104) */ interface EvmCoreErrorExitError extends Enum { readonly isStackUnderflow: boolean; readonly isStackOverflow: boolean; @@ -1519,13 +1519,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'MaxNonce' | 'InvalidCode'; } - /** @name EvmCoreErrorExitRevert (109) */ + /** @name EvmCoreErrorExitRevert (108) */ interface EvmCoreErrorExitRevert extends Enum { readonly isReverted: boolean; readonly type: 'Reverted'; } - /** @name EvmCoreErrorExitFatal (110) */ + /** @name EvmCoreErrorExitFatal (109) */ interface EvmCoreErrorExitFatal extends Enum { readonly isNotSupported: boolean; readonly isUnhandledInterrupt: boolean; @@ -1536,7 +1536,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other'; } - /** @name PalletEvmEvent (111) */ + /** @name PalletEvmEvent (110) */ interface PalletEvmEvent extends Enum { readonly isLog: boolean; readonly asLog: { @@ -1561,14 +1561,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed'; } - /** @name EthereumLog (112) */ + /** @name EthereumLog (111) */ interface EthereumLog extends Struct { readonly address: H160; readonly topics: Vec; readonly data: Bytes; } - /** @name PalletBaseFeeEvent (114) */ + /** @name PalletBaseFeeEvent (113) */ interface PalletBaseFeeEvent extends Enum { readonly isNewBaseFeePerGas: boolean; readonly asNewBaseFeePerGas: { @@ -1582,7 +1582,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NewBaseFeePerGas' | 'BaseFeeOverflow' | 'NewElasticity'; } - /** @name PalletAirdropClaimsEvent (118) */ + /** @name PalletAirdropClaimsEvent (117) */ interface PalletAirdropClaimsEvent extends Enum { readonly isClaimed: boolean; readonly asClaimed: { @@ -1593,7 +1593,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Claimed'; } - /** @name PalletAirdropClaimsUtilsMultiAddress (119) */ + /** @name PalletAirdropClaimsUtilsMultiAddress (118) */ interface PalletAirdropClaimsUtilsMultiAddress extends Enum { readonly isEvm: boolean; readonly asEvm: PalletAirdropClaimsUtilsEthereumAddress; @@ -1602,10 +1602,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'Evm' | 'Native'; } - /** @name PalletAirdropClaimsUtilsEthereumAddress (120) */ + /** @name PalletAirdropClaimsUtilsEthereumAddress (119) */ interface PalletAirdropClaimsUtilsEthereumAddress extends U8aFixed {} - /** @name PalletProxyEvent (121) */ + /** @name PalletProxyEvent (120) */ interface PalletProxyEvent extends Enum { readonly isProxyExecuted: boolean; readonly asProxyExecuted: { @@ -1641,7 +1641,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ProxyExecuted' | 'PureCreated' | 'Announced' | 'ProxyAdded' | 'ProxyRemoved'; } - /** @name TangleTestnetRuntimeProxyType (122) */ + /** @name TangleTestnetRuntimeProxyType (121) */ interface TangleTestnetRuntimeProxyType extends Enum { readonly isAny: boolean; readonly isNonTransfer: boolean; @@ -1650,7 +1650,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Any' | 'NonTransfer' | 'Governance' | 'Staking'; } - /** @name PalletMultiAssetDelegationEvent (124) */ + /** @name PalletMultiAssetDelegationEvent (123) */ interface PalletMultiAssetDelegationEvent extends Enum { readonly isOperatorJoined: boolean; readonly asOperatorJoined: { @@ -1804,7 +1804,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'OperatorJoined' | 'OperatorLeavingScheduled' | 'OperatorLeaveCancelled' | 'OperatorLeaveExecuted' | 'OperatorBondMore' | 'OperatorBondLessScheduled' | 'OperatorBondLessExecuted' | 'OperatorBondLessCancelled' | 'OperatorWentOffline' | 'OperatorWentOnline' | 'Deposited' | 'ScheduledWithdraw' | 'ExecutedWithdraw' | 'CancelledWithdraw' | 'Delegated' | 'DelegatorUnstakeScheduled' | 'DelegatorUnstakeExecuted' | 'DelegatorUnstakeCancelled' | 'OperatorSlashed' | 'DelegatorSlashed' | 'NominatedSlash' | 'EvmReverted' | 'NominationDelegated' | 'NominationUnstakeScheduled' | 'NominationUnstakeExecuted' | 'NominationUnstakeCancelled'; } - /** @name TanglePrimitivesServicesTypesAsset (125) */ + /** @name TanglePrimitivesServicesTypesAsset (124) */ interface TanglePrimitivesServicesTypesAsset extends Enum { readonly isCustom: boolean; readonly asCustom: u128; @@ -1813,7 +1813,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Custom' | 'Erc20'; } - /** @name PalletServicesModuleEvent (126) */ + /** @name PalletServicesModuleEvent (125) */ interface PalletServicesModuleEvent extends Enum { readonly isBlueprintCreated: boolean; readonly asBlueprintCreated: { @@ -1929,13 +1929,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'BlueprintCreated' | 'PreRegistration' | 'Registered' | 'Unregistered' | 'PriceTargetsUpdated' | 'ServiceRequested' | 'ServiceRequestApproved' | 'ServiceRequestRejected' | 'ServiceInitiated' | 'ServiceTerminated' | 'JobCalled' | 'JobResultSubmitted' | 'EvmReverted' | 'UnappliedSlash' | 'SlashDiscarded' | 'MasterBlueprintServiceManagerRevised'; } - /** @name TanglePrimitivesServicesTypesOperatorPreferences (127) */ + /** @name TanglePrimitivesServicesTypesOperatorPreferences (126) */ interface TanglePrimitivesServicesTypesOperatorPreferences extends Struct { readonly key: U8aFixed; readonly priceTargets: TanglePrimitivesServicesTypesPriceTargets; } - /** @name TanglePrimitivesServicesTypesPriceTargets (129) */ + /** @name TanglePrimitivesServicesTypesPriceTargets (128) */ interface TanglePrimitivesServicesTypesPriceTargets extends Struct { readonly cpu: u64; readonly mem: u64; @@ -1944,7 +1944,7 @@ declare module '@polkadot/types/lookup' { readonly storageNvme: u64; } - /** @name TanglePrimitivesServicesField (131) */ + /** @name TanglePrimitivesServicesField (130) */ interface TanglePrimitivesServicesField extends Enum { readonly isOptional: boolean; readonly asOptional: ITuple<[TanglePrimitivesServicesFieldFieldType, Option]>; @@ -1979,7 +1979,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Optional' | 'Bool' | 'Uint8' | 'Int8' | 'Uint16' | 'Int16' | 'Uint32' | 'Int32' | 'Uint64' | 'Int64' | 'String' | 'Array' | 'List' | 'Struct' | 'AccountId'; } - /** @name TanglePrimitivesServicesFieldFieldType (132) */ + /** @name TanglePrimitivesServicesFieldFieldType (131) */ interface TanglePrimitivesServicesFieldFieldType extends Enum { readonly isVoid: boolean; readonly isBool: boolean; @@ -2004,20 +2004,20 @@ declare module '@polkadot/types/lookup' { readonly type: 'Void' | 'Bool' | 'Uint8' | 'Int8' | 'Uint16' | 'Int16' | 'Uint32' | 'Int32' | 'Uint64' | 'Int64' | 'String' | 'Optional' | 'Array' | 'List' | 'Struct' | 'AccountId'; } - /** @name TanglePrimitivesServicesTypesAssetSecurityRequirement (148) */ + /** @name TanglePrimitivesServicesTypesAssetSecurityRequirement (147) */ interface TanglePrimitivesServicesTypesAssetSecurityRequirement extends Struct { readonly asset: TanglePrimitivesServicesTypesAsset; readonly minExposurePercent: Percent; readonly maxExposurePercent: Percent; } - /** @name TanglePrimitivesServicesTypesAssetSecurityCommitment (154) */ + /** @name TanglePrimitivesServicesTypesAssetSecurityCommitment (153) */ interface TanglePrimitivesServicesTypesAssetSecurityCommitment extends Struct { readonly asset: TanglePrimitivesServicesTypesAsset; readonly exposurePercent: Percent; } - /** @name PalletTangleLstEvent (157) */ + /** @name PalletTangleLstEvent (156) */ interface PalletTangleLstEvent extends Enum { readonly isCreated: boolean; readonly asCreated: { @@ -2125,7 +2125,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Created' | 'Bonded' | 'PaidOut' | 'Unbonded' | 'Withdrawn' | 'Destroyed' | 'StateChanged' | 'MemberRemoved' | 'RolesUpdated' | 'PoolSlashed' | 'UnbondingPoolSlashed' | 'PoolCommissionUpdated' | 'PoolMaxCommissionUpdated' | 'PoolCommissionChangeRateUpdated' | 'PoolCommissionClaimPermissionUpdated' | 'PoolCommissionClaimed' | 'MinBalanceDeficitAdjusted' | 'MinBalanceExcessAdjusted' | 'LastPoolIdUpdated'; } - /** @name PalletTangleLstPoolsPoolState (158) */ + /** @name PalletTangleLstPoolsPoolState (157) */ interface PalletTangleLstPoolsPoolState extends Enum { readonly isOpen: boolean; readonly isBlocked: boolean; @@ -2133,13 +2133,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'Open' | 'Blocked' | 'Destroying'; } - /** @name PalletTangleLstCommissionCommissionChangeRate (159) */ + /** @name PalletTangleLstCommissionCommissionChangeRate (158) */ interface PalletTangleLstCommissionCommissionChangeRate extends Struct { readonly maxIncrease: Perbill; readonly minDelay: u64; } - /** @name PalletTangleLstCommissionCommissionClaimPermission (161) */ + /** @name PalletTangleLstCommissionCommissionClaimPermission (160) */ interface PalletTangleLstCommissionCommissionClaimPermission extends Enum { readonly isPermissionless: boolean; readonly isAccount: boolean; @@ -2147,7 +2147,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Permissionless' | 'Account'; } - /** @name PalletRewardsEvent (162) */ + /** @name PalletRewardsEvent (161) */ interface PalletRewardsEvent extends Enum { readonly isRewardsClaimed: boolean; readonly asRewardsClaimed: { @@ -2207,14 +2207,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'RewardsClaimed' | 'IncentiveAPYAndCapSet' | 'BlueprintWhitelisted' | 'AssetUpdatedInVault' | 'VaultRewardConfigUpdated' | 'RewardVaultCreated' | 'TotalScoreUpdated' | 'TotalDepositUpdated' | 'DecayConfigUpdated' | 'ApyBlocksUpdated'; } - /** @name PalletRewardsAssetAction (163) */ + /** @name PalletRewardsAssetAction (162) */ interface PalletRewardsAssetAction extends Enum { readonly isAdd: boolean; readonly isRemove: boolean; readonly type: 'Add' | 'Remove'; } - /** @name PalletRewardsRewardConfigForAssetVault (164) */ + /** @name PalletRewardsRewardConfigForAssetVault (163) */ interface PalletRewardsRewardConfigForAssetVault extends Struct { readonly apy: Perbill; readonly incentiveCap: u128; @@ -2222,7 +2222,7 @@ declare module '@polkadot/types/lookup' { readonly boostMultiplier: Option; } - /** @name TanglePrimitivesRewardsLockMultiplier (167) */ + /** @name TanglePrimitivesRewardsLockMultiplier (166) */ interface TanglePrimitivesRewardsLockMultiplier extends Enum { readonly isOneMonth: boolean; readonly isTwoMonths: boolean; @@ -2231,7 +2231,182 @@ declare module '@polkadot/types/lookup' { readonly type: 'OneMonth' | 'TwoMonths' | 'ThreeMonths' | 'SixMonths'; } - /** @name FrameSystemPhase (168) */ + /** @name PalletIsmpEvent (167) */ + interface PalletIsmpEvent extends Enum { + readonly isStateMachineUpdated: boolean; + readonly asStateMachineUpdated: { + readonly stateMachineId: IsmpConsensusStateMachineId; + readonly latestHeight: u64; + } & Struct; + readonly isStateCommitmentVetoed: boolean; + readonly asStateCommitmentVetoed: { + readonly height: IsmpConsensusStateMachineHeight; + readonly fisherman: Bytes; + } & Struct; + readonly isConsensusClientCreated: boolean; + readonly asConsensusClientCreated: { + readonly consensusClientId: U8aFixed; + } & Struct; + readonly isConsensusClientFrozen: boolean; + readonly asConsensusClientFrozen: { + readonly consensusClientId: U8aFixed; + } & Struct; + readonly isResponse: boolean; + readonly asResponse: { + readonly destChain: IsmpHostStateMachine; + readonly sourceChain: IsmpHostStateMachine; + readonly requestNonce: u64; + readonly commitment: H256; + readonly reqCommitment: H256; + } & Struct; + readonly isRequest: boolean; + readonly asRequest: { + readonly destChain: IsmpHostStateMachine; + readonly sourceChain: IsmpHostStateMachine; + readonly requestNonce: u64; + readonly commitment: H256; + } & Struct; + readonly isErrors: boolean; + readonly asErrors: { + readonly errors: Vec; + } & Struct; + readonly isPostRequestHandled: boolean; + readonly asPostRequestHandled: IsmpEventsRequestResponseHandled; + readonly isPostResponseHandled: boolean; + readonly asPostResponseHandled: IsmpEventsRequestResponseHandled; + readonly isGetRequestHandled: boolean; + readonly asGetRequestHandled: IsmpEventsRequestResponseHandled; + readonly isPostRequestTimeoutHandled: boolean; + readonly asPostRequestTimeoutHandled: IsmpEventsTimeoutHandled; + readonly isPostResponseTimeoutHandled: boolean; + readonly asPostResponseTimeoutHandled: IsmpEventsTimeoutHandled; + readonly isGetRequestTimeoutHandled: boolean; + readonly asGetRequestTimeoutHandled: IsmpEventsTimeoutHandled; + readonly type: 'StateMachineUpdated' | 'StateCommitmentVetoed' | 'ConsensusClientCreated' | 'ConsensusClientFrozen' | 'Response' | 'Request' | 'Errors' | 'PostRequestHandled' | 'PostResponseHandled' | 'GetRequestHandled' | 'PostRequestTimeoutHandled' | 'PostResponseTimeoutHandled' | 'GetRequestTimeoutHandled'; + } + + /** @name IsmpConsensusStateMachineId (168) */ + interface IsmpConsensusStateMachineId extends Struct { + readonly stateId: IsmpHostStateMachine; + readonly consensusStateId: U8aFixed; + } + + /** @name IsmpHostStateMachine (169) */ + interface IsmpHostStateMachine extends Enum { + readonly isEvm: boolean; + readonly asEvm: u32; + readonly isPolkadot: boolean; + readonly asPolkadot: u32; + readonly isKusama: boolean; + readonly asKusama: u32; + readonly isSubstrate: boolean; + readonly asSubstrate: U8aFixed; + readonly isTendermint: boolean; + readonly asTendermint: U8aFixed; + readonly type: 'Evm' | 'Polkadot' | 'Kusama' | 'Substrate' | 'Tendermint'; + } + + /** @name IsmpConsensusStateMachineHeight (170) */ + interface IsmpConsensusStateMachineHeight extends Struct { + readonly id: IsmpConsensusStateMachineId; + readonly height: u64; + } + + /** @name PalletIsmpErrorsHandlingError (172) */ + interface PalletIsmpErrorsHandlingError extends Struct { + readonly message: Bytes; + } + + /** @name IsmpEventsRequestResponseHandled (174) */ + interface IsmpEventsRequestResponseHandled extends Struct { + readonly commitment: H256; + readonly relayer: Bytes; + } + + /** @name IsmpEventsTimeoutHandled (175) */ + interface IsmpEventsTimeoutHandled extends Struct { + readonly commitment: H256; + readonly source: IsmpHostStateMachine; + readonly dest: IsmpHostStateMachine; + } + + /** @name IsmpGrandpaEvent (176) */ + interface IsmpGrandpaEvent extends Enum { + readonly isStateMachineAdded: boolean; + readonly asStateMachineAdded: { + readonly stateMachines: Vec; + } & Struct; + readonly isStateMachineRemoved: boolean; + readonly asStateMachineRemoved: { + readonly stateMachines: Vec; + } & Struct; + readonly type: 'StateMachineAdded' | 'StateMachineRemoved'; + } + + /** @name PalletHyperbridgeEvent (178) */ + interface PalletHyperbridgeEvent extends Enum { + readonly isHostParamsUpdated: boolean; + readonly asHostParamsUpdated: { + readonly old: PalletHyperbridgeVersionedHostParams; + readonly new_: PalletHyperbridgeVersionedHostParams; + } & Struct; + readonly isRelayerFeeWithdrawn: boolean; + readonly asRelayerFeeWithdrawn: { + readonly amount: u128; + readonly account: AccountId32; + } & Struct; + readonly isProtocolRevenueWithdrawn: boolean; + readonly asProtocolRevenueWithdrawn: { + readonly amount: u128; + readonly account: AccountId32; + } & Struct; + readonly type: 'HostParamsUpdated' | 'RelayerFeeWithdrawn' | 'ProtocolRevenueWithdrawn'; + } + + /** @name PalletHyperbridgeVersionedHostParams (179) */ + interface PalletHyperbridgeVersionedHostParams extends Enum { + readonly isV1: boolean; + readonly asV1: PalletHyperbridgeSubstrateHostParams; + readonly type: 'V1'; + } + + /** @name PalletHyperbridgeSubstrateHostParams (180) */ + interface PalletHyperbridgeSubstrateHostParams extends Struct { + readonly defaultPerByteFee: u128; + readonly perByteFees: BTreeMap; + readonly assetRegistrationFee: u128; + } + + /** @name PalletTokenGatewayEvent (184) */ + interface PalletTokenGatewayEvent extends Enum { + readonly isAssetTeleported: boolean; + readonly asAssetTeleported: { + readonly from: AccountId32; + readonly to: H256; + readonly amount: u128; + readonly dest: IsmpHostStateMachine; + readonly commitment: H256; + } & Struct; + readonly isAssetReceived: boolean; + readonly asAssetReceived: { + readonly beneficiary: AccountId32; + readonly amount: u128; + readonly source: IsmpHostStateMachine; + } & Struct; + readonly isAssetRefunded: boolean; + readonly asAssetRefunded: { + readonly beneficiary: AccountId32; + readonly amount: u128; + readonly source: IsmpHostStateMachine; + } & Struct; + readonly isErc6160AssetRegistrationDispatched: boolean; + readonly asErc6160AssetRegistrationDispatched: { + readonly commitment: H256; + } & Struct; + readonly type: 'AssetTeleported' | 'AssetReceived' | 'AssetRefunded' | 'Erc6160AssetRegistrationDispatched'; + } + + /** @name FrameSystemPhase (185) */ interface FrameSystemPhase extends Enum { readonly isApplyExtrinsic: boolean; readonly asApplyExtrinsic: u32; @@ -2240,19 +2415,19 @@ declare module '@polkadot/types/lookup' { readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization'; } - /** @name FrameSystemLastRuntimeUpgradeInfo (170) */ + /** @name FrameSystemLastRuntimeUpgradeInfo (187) */ interface FrameSystemLastRuntimeUpgradeInfo extends Struct { readonly specVersion: Compact; readonly specName: Text; } - /** @name FrameSystemCodeUpgradeAuthorization (172) */ + /** @name FrameSystemCodeUpgradeAuthorization (189) */ interface FrameSystemCodeUpgradeAuthorization extends Struct { readonly codeHash: H256; readonly checkVersion: bool; } - /** @name FrameSystemCall (173) */ + /** @name FrameSystemCall (190) */ interface FrameSystemCall extends Enum { readonly isRemark: boolean; readonly asRemark: { @@ -2302,21 +2477,21 @@ declare module '@polkadot/types/lookup' { readonly type: 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent' | 'AuthorizeUpgrade' | 'AuthorizeUpgradeWithoutChecks' | 'ApplyAuthorizedUpgrade'; } - /** @name FrameSystemLimitsBlockWeights (177) */ + /** @name FrameSystemLimitsBlockWeights (194) */ interface FrameSystemLimitsBlockWeights extends Struct { readonly baseBlock: SpWeightsWeightV2Weight; readonly maxBlock: SpWeightsWeightV2Weight; readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass; } - /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (178) */ + /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (195) */ interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct { readonly normal: FrameSystemLimitsWeightsPerClass; readonly operational: FrameSystemLimitsWeightsPerClass; readonly mandatory: FrameSystemLimitsWeightsPerClass; } - /** @name FrameSystemLimitsWeightsPerClass (179) */ + /** @name FrameSystemLimitsWeightsPerClass (196) */ interface FrameSystemLimitsWeightsPerClass extends Struct { readonly baseExtrinsic: SpWeightsWeightV2Weight; readonly maxExtrinsic: Option; @@ -2324,25 +2499,25 @@ declare module '@polkadot/types/lookup' { readonly reserved: Option; } - /** @name FrameSystemLimitsBlockLength (181) */ + /** @name FrameSystemLimitsBlockLength (198) */ interface FrameSystemLimitsBlockLength extends Struct { readonly max: FrameSupportDispatchPerDispatchClassU32; } - /** @name FrameSupportDispatchPerDispatchClassU32 (182) */ + /** @name FrameSupportDispatchPerDispatchClassU32 (199) */ interface FrameSupportDispatchPerDispatchClassU32 extends Struct { readonly normal: u32; readonly operational: u32; readonly mandatory: u32; } - /** @name SpWeightsRuntimeDbWeight (183) */ + /** @name SpWeightsRuntimeDbWeight (200) */ interface SpWeightsRuntimeDbWeight extends Struct { readonly read: u64; readonly write: u64; } - /** @name SpVersionRuntimeVersion (184) */ + /** @name SpVersionRuntimeVersion (201) */ interface SpVersionRuntimeVersion extends Struct { readonly specName: Text; readonly implName: Text; @@ -2354,7 +2529,7 @@ declare module '@polkadot/types/lookup' { readonly stateVersion: u8; } - /** @name FrameSystemError (189) */ + /** @name FrameSystemError (206) */ interface FrameSystemError extends Enum { readonly isInvalidSpecName: boolean; readonly isSpecVersionNeedsToIncrease: boolean; @@ -2368,7 +2543,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered' | 'MultiBlockMigrationsOngoing' | 'NothingAuthorized' | 'Unauthorized'; } - /** @name PalletTimestampCall (190) */ + /** @name PalletTimestampCall (207) */ interface PalletTimestampCall extends Enum { readonly isSet: boolean; readonly asSet: { @@ -2377,7 +2552,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Set'; } - /** @name PalletSudoCall (191) */ + /** @name PalletSudoCall (208) */ interface PalletSudoCall extends Enum { readonly isSudo: boolean; readonly asSudo: { @@ -2401,7 +2576,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs' | 'RemoveKey'; } - /** @name PalletAssetsCall (193) */ + /** @name PalletAssetsCall (210) */ interface PalletAssetsCall extends Enum { readonly isCreate: boolean; readonly asCreate: { @@ -2583,7 +2758,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Create' | 'ForceCreate' | 'StartDestroy' | 'DestroyAccounts' | 'DestroyApprovals' | 'FinishDestroy' | 'Mint' | 'Burn' | 'Transfer' | 'TransferKeepAlive' | 'ForceTransfer' | 'Freeze' | 'Thaw' | 'FreezeAsset' | 'ThawAsset' | 'TransferOwnership' | 'SetTeam' | 'SetMetadata' | 'ClearMetadata' | 'ForceSetMetadata' | 'ForceClearMetadata' | 'ForceAssetStatus' | 'ApproveTransfer' | 'CancelApproval' | 'ForceCancelApproval' | 'TransferApproved' | 'Touch' | 'Refund' | 'SetMinBalance' | 'TouchOther' | 'RefundOther' | 'Block'; } - /** @name PalletBalancesCall (196) */ + /** @name PalletBalancesCall (212) */ interface PalletBalancesCall extends Enum { readonly isTransferAllowDeath: boolean; readonly asTransferAllowDeath: { @@ -2633,14 +2808,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'TransferAllowDeath' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve' | 'UpgradeAccounts' | 'ForceSetBalance' | 'ForceAdjustTotalIssuance' | 'Burn'; } - /** @name PalletBalancesAdjustmentDirection (197) */ + /** @name PalletBalancesAdjustmentDirection (213) */ interface PalletBalancesAdjustmentDirection extends Enum { readonly isIncrease: boolean; readonly isDecrease: boolean; readonly type: 'Increase' | 'Decrease'; } - /** @name PalletBabeCall (198) */ + /** @name PalletBabeCall (214) */ interface PalletBabeCall extends Enum { readonly isReportEquivocation: boolean; readonly asReportEquivocation: { @@ -2659,7 +2834,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ReportEquivocation' | 'ReportEquivocationUnsigned' | 'PlanConfigChange'; } - /** @name SpConsensusSlotsEquivocationProof (199) */ + /** @name SpConsensusSlotsEquivocationProof (215) */ interface SpConsensusSlotsEquivocationProof extends Struct { readonly offender: SpConsensusBabeAppPublic; readonly slot: u64; @@ -2667,7 +2842,7 @@ declare module '@polkadot/types/lookup' { readonly secondHeader: SpRuntimeHeader; } - /** @name SpRuntimeHeader (200) */ + /** @name SpRuntimeHeader (216) */ interface SpRuntimeHeader extends Struct { readonly parentHash: H256; readonly number: Compact; @@ -2676,17 +2851,17 @@ declare module '@polkadot/types/lookup' { readonly digest: SpRuntimeDigest; } - /** @name SpConsensusBabeAppPublic (201) */ + /** @name SpConsensusBabeAppPublic (217) */ interface SpConsensusBabeAppPublic extends U8aFixed {} - /** @name SpSessionMembershipProof (203) */ + /** @name SpSessionMembershipProof (219) */ interface SpSessionMembershipProof extends Struct { readonly session: u32; readonly trieNodes: Vec; readonly validatorCount: u32; } - /** @name SpConsensusBabeDigestsNextConfigDescriptor (204) */ + /** @name SpConsensusBabeDigestsNextConfigDescriptor (220) */ interface SpConsensusBabeDigestsNextConfigDescriptor extends Enum { readonly isV1: boolean; readonly asV1: { @@ -2696,7 +2871,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'V1'; } - /** @name SpConsensusBabeAllowedSlots (206) */ + /** @name SpConsensusBabeAllowedSlots (222) */ interface SpConsensusBabeAllowedSlots extends Enum { readonly isPrimarySlots: boolean; readonly isPrimaryAndSecondaryPlainSlots: boolean; @@ -2704,7 +2879,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'PrimarySlots' | 'PrimaryAndSecondaryPlainSlots' | 'PrimaryAndSecondaryVRFSlots'; } - /** @name PalletGrandpaCall (207) */ + /** @name PalletGrandpaCall (223) */ interface PalletGrandpaCall extends Enum { readonly isReportEquivocation: boolean; readonly asReportEquivocation: { @@ -2724,13 +2899,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'ReportEquivocation' | 'ReportEquivocationUnsigned' | 'NoteStalled'; } - /** @name SpConsensusGrandpaEquivocationProof (208) */ + /** @name SpConsensusGrandpaEquivocationProof (224) */ interface SpConsensusGrandpaEquivocationProof extends Struct { readonly setId: u64; readonly equivocation: SpConsensusGrandpaEquivocation; } - /** @name SpConsensusGrandpaEquivocation (209) */ + /** @name SpConsensusGrandpaEquivocation (225) */ interface SpConsensusGrandpaEquivocation extends Enum { readonly isPrevote: boolean; readonly asPrevote: FinalityGrandpaEquivocationPrevote; @@ -2739,7 +2914,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Prevote' | 'Precommit'; } - /** @name FinalityGrandpaEquivocationPrevote (210) */ + /** @name FinalityGrandpaEquivocationPrevote (226) */ interface FinalityGrandpaEquivocationPrevote extends Struct { readonly roundNumber: u64; readonly identity: SpConsensusGrandpaAppPublic; @@ -2747,16 +2922,16 @@ declare module '@polkadot/types/lookup' { readonly second: ITuple<[FinalityGrandpaPrevote, SpConsensusGrandpaAppSignature]>; } - /** @name FinalityGrandpaPrevote (211) */ + /** @name FinalityGrandpaPrevote (227) */ interface FinalityGrandpaPrevote extends Struct { readonly targetHash: H256; readonly targetNumber: u64; } - /** @name SpConsensusGrandpaAppSignature (212) */ + /** @name SpConsensusGrandpaAppSignature (228) */ interface SpConsensusGrandpaAppSignature extends U8aFixed {} - /** @name FinalityGrandpaEquivocationPrecommit (215) */ + /** @name FinalityGrandpaEquivocationPrecommit (231) */ interface FinalityGrandpaEquivocationPrecommit extends Struct { readonly roundNumber: u64; readonly identity: SpConsensusGrandpaAppPublic; @@ -2764,16 +2939,16 @@ declare module '@polkadot/types/lookup' { readonly second: ITuple<[FinalityGrandpaPrecommit, SpConsensusGrandpaAppSignature]>; } - /** @name FinalityGrandpaPrecommit (216) */ + /** @name FinalityGrandpaPrecommit (232) */ interface FinalityGrandpaPrecommit extends Struct { readonly targetHash: H256; readonly targetNumber: u64; } - /** @name SpCoreVoid (218) */ + /** @name SpCoreVoid (234) */ type SpCoreVoid = Null; - /** @name PalletIndicesCall (219) */ + /** @name PalletIndicesCall (235) */ interface PalletIndicesCall extends Enum { readonly isClaim: boolean; readonly asClaim: { @@ -2801,7 +2976,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Claim' | 'Transfer' | 'Free' | 'ForceTransfer' | 'Freeze'; } - /** @name PalletDemocracyCall (220) */ + /** @name PalletDemocracyCall (236) */ interface PalletDemocracyCall extends Enum { readonly isPropose: boolean; readonly asPropose: { @@ -2885,7 +3060,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Propose' | 'Second' | 'Vote' | 'EmergencyCancel' | 'ExternalPropose' | 'ExternalProposeMajority' | 'ExternalProposeDefault' | 'FastTrack' | 'VetoExternal' | 'CancelReferendum' | 'Delegate' | 'Undelegate' | 'ClearPublicProposals' | 'Unlock' | 'RemoveVote' | 'RemoveOtherVote' | 'Blacklist' | 'CancelProposal' | 'SetMetadata'; } - /** @name FrameSupportPreimagesBounded (221) */ + /** @name FrameSupportPreimagesBounded (237) */ interface FrameSupportPreimagesBounded extends Enum { readonly isLegacy: boolean; readonly asLegacy: { @@ -2901,10 +3076,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'Legacy' | 'Inline' | 'Lookup'; } - /** @name SpRuntimeBlakeTwo256 (222) */ + /** @name SpRuntimeBlakeTwo256 (238) */ type SpRuntimeBlakeTwo256 = Null; - /** @name PalletDemocracyConviction (224) */ + /** @name PalletDemocracyConviction (240) */ interface PalletDemocracyConviction extends Enum { readonly isNone: boolean; readonly isLocked1x: boolean; @@ -2916,7 +3091,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'None' | 'Locked1x' | 'Locked2x' | 'Locked3x' | 'Locked4x' | 'Locked5x' | 'Locked6x'; } - /** @name PalletCollectiveCall (226) */ + /** @name PalletCollectiveCall (242) */ interface PalletCollectiveCall extends Enum { readonly isSetMembers: boolean; readonly asSetMembers: { @@ -2955,7 +3130,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'SetMembers' | 'Execute' | 'Propose' | 'Vote' | 'DisapproveProposal' | 'Close'; } - /** @name PalletVestingCall (227) */ + /** @name PalletVestingCall (243) */ interface PalletVestingCall extends Enum { readonly isVest: boolean; readonly isVestOther: boolean; @@ -2986,14 +3161,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'Vest' | 'VestOther' | 'VestedTransfer' | 'ForceVestedTransfer' | 'MergeSchedules' | 'ForceRemoveVestingSchedule'; } - /** @name PalletVestingVestingInfo (228) */ + /** @name PalletVestingVestingInfo (244) */ interface PalletVestingVestingInfo extends Struct { readonly locked: u128; readonly perBlock: u128; readonly startingBlock: u64; } - /** @name PalletElectionsPhragmenCall (229) */ + /** @name PalletElectionsPhragmenCall (245) */ interface PalletElectionsPhragmenCall extends Enum { readonly isVote: boolean; readonly asVote: { @@ -3023,7 +3198,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Vote' | 'RemoveVoter' | 'SubmitCandidacy' | 'RenounceCandidacy' | 'RemoveMember' | 'CleanDefunctVoters'; } - /** @name PalletElectionsPhragmenRenouncing (230) */ + /** @name PalletElectionsPhragmenRenouncing (246) */ interface PalletElectionsPhragmenRenouncing extends Enum { readonly isMember: boolean; readonly isRunnerUp: boolean; @@ -3032,7 +3207,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Member' | 'RunnerUp' | 'Candidate'; } - /** @name PalletElectionProviderMultiPhaseCall (231) */ + /** @name PalletElectionProviderMultiPhaseCall (247) */ interface PalletElectionProviderMultiPhaseCall extends Enum { readonly isSubmitUnsigned: boolean; readonly asSubmitUnsigned: { @@ -3059,14 +3234,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'SubmitUnsigned' | 'SetMinimumUntrustedScore' | 'SetEmergencyElectionResult' | 'Submit' | 'GovernanceFallback'; } - /** @name PalletElectionProviderMultiPhaseRawSolution (232) */ + /** @name PalletElectionProviderMultiPhaseRawSolution (248) */ interface PalletElectionProviderMultiPhaseRawSolution extends Struct { readonly solution: TangleTestnetRuntimeNposSolution16; readonly score: SpNposElectionsElectionScore; readonly round: u32; } - /** @name TangleTestnetRuntimeNposSolution16 (233) */ + /** @name TangleTestnetRuntimeNposSolution16 (249) */ interface TangleTestnetRuntimeNposSolution16 extends Struct { readonly votes1: Vec, Compact]>>; readonly votes2: Vec, ITuple<[Compact, Compact]>, Compact]>>; @@ -3086,19 +3261,19 @@ declare module '@polkadot/types/lookup' { readonly votes16: Vec, Vec, Compact]>>, Compact]>>; } - /** @name PalletElectionProviderMultiPhaseSolutionOrSnapshotSize (284) */ + /** @name PalletElectionProviderMultiPhaseSolutionOrSnapshotSize (300) */ interface PalletElectionProviderMultiPhaseSolutionOrSnapshotSize extends Struct { readonly voters: Compact; readonly targets: Compact; } - /** @name SpNposElectionsSupport (288) */ + /** @name SpNposElectionsSupport (304) */ interface SpNposElectionsSupport extends Struct { readonly total: u128; readonly voters: Vec>; } - /** @name PalletStakingPalletCall (289) */ + /** @name PalletStakingPalletCall (305) */ interface PalletStakingPalletCall extends Enum { readonly isBond: boolean; readonly asBond: { @@ -3224,7 +3399,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Bond' | 'BondExtra' | 'Unbond' | 'WithdrawUnbonded' | 'Validate' | 'Nominate' | 'Chill' | 'SetPayee' | 'SetController' | 'SetValidatorCount' | 'IncreaseValidatorCount' | 'ScaleValidatorCount' | 'ForceNoEras' | 'ForceNewEra' | 'SetInvulnerables' | 'ForceUnstake' | 'ForceNewEraAlways' | 'CancelDeferredSlash' | 'PayoutStakers' | 'Rebond' | 'ReapStash' | 'Kick' | 'SetStakingConfigs' | 'ChillOther' | 'ForceApplyMinCommission' | 'SetMinCommission' | 'PayoutStakersByPage' | 'UpdatePayee' | 'DeprecateControllerBatch' | 'RestoreLedger'; } - /** @name PalletStakingPalletConfigOpU128 (292) */ + /** @name PalletStakingPalletConfigOpU128 (308) */ interface PalletStakingPalletConfigOpU128 extends Enum { readonly isNoop: boolean; readonly isSet: boolean; @@ -3233,7 +3408,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Noop' | 'Set' | 'Remove'; } - /** @name PalletStakingPalletConfigOpU32 (293) */ + /** @name PalletStakingPalletConfigOpU32 (309) */ interface PalletStakingPalletConfigOpU32 extends Enum { readonly isNoop: boolean; readonly isSet: boolean; @@ -3242,7 +3417,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Noop' | 'Set' | 'Remove'; } - /** @name PalletStakingPalletConfigOpPercent (294) */ + /** @name PalletStakingPalletConfigOpPercent (310) */ interface PalletStakingPalletConfigOpPercent extends Enum { readonly isNoop: boolean; readonly isSet: boolean; @@ -3251,7 +3426,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Noop' | 'Set' | 'Remove'; } - /** @name PalletStakingPalletConfigOpPerbill (295) */ + /** @name PalletStakingPalletConfigOpPerbill (311) */ interface PalletStakingPalletConfigOpPerbill extends Enum { readonly isNoop: boolean; readonly isSet: boolean; @@ -3260,13 +3435,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'Noop' | 'Set' | 'Remove'; } - /** @name PalletStakingUnlockChunk (300) */ + /** @name PalletStakingUnlockChunk (316) */ interface PalletStakingUnlockChunk extends Struct { readonly value: Compact; readonly era: Compact; } - /** @name PalletSessionCall (302) */ + /** @name PalletSessionCall (318) */ interface PalletSessionCall extends Enum { readonly isSetKeys: boolean; readonly asSetKeys: { @@ -3277,14 +3452,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'SetKeys' | 'PurgeKeys'; } - /** @name TangleTestnetRuntimeOpaqueSessionKeys (303) */ + /** @name TangleTestnetRuntimeOpaqueSessionKeys (319) */ interface TangleTestnetRuntimeOpaqueSessionKeys extends Struct { readonly babe: SpConsensusBabeAppPublic; readonly grandpa: SpConsensusGrandpaAppPublic; readonly imOnline: PalletImOnlineSr25519AppSr25519Public; } - /** @name PalletTreasuryCall (304) */ + /** @name PalletTreasuryCall (320) */ interface PalletTreasuryCall extends Enum { readonly isSpendLocal: boolean; readonly asSpendLocal: { @@ -3317,7 +3492,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'SpendLocal' | 'RemoveApproval' | 'Spend' | 'Payout' | 'CheckStatus' | 'VoidSpend'; } - /** @name PalletBountiesCall (306) */ + /** @name PalletBountiesCall (322) */ interface PalletBountiesCall extends Enum { readonly isProposeBounty: boolean; readonly asProposeBounty: { @@ -3363,7 +3538,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ProposeBounty' | 'ApproveBounty' | 'ProposeCurator' | 'UnassignCurator' | 'AcceptCurator' | 'AwardBounty' | 'ClaimBounty' | 'CloseBounty' | 'ExtendBountyExpiry'; } - /** @name PalletChildBountiesCall (307) */ + /** @name PalletChildBountiesCall (323) */ interface PalletChildBountiesCall extends Enum { readonly isAddChildBounty: boolean; readonly asAddChildBounty: { @@ -3407,7 +3582,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AddChildBounty' | 'ProposeCurator' | 'AcceptCurator' | 'UnassignCurator' | 'AwardChildBounty' | 'ClaimChildBounty' | 'CloseChildBounty'; } - /** @name PalletBagsListCall (308) */ + /** @name PalletBagsListCall (324) */ interface PalletBagsListCall extends Enum { readonly isRebag: boolean; readonly asRebag: { @@ -3425,7 +3600,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Rebag' | 'PutInFrontOf' | 'PutInFrontOfOther'; } - /** @name PalletNominationPoolsCall (309) */ + /** @name PalletNominationPoolsCall (325) */ interface PalletNominationPoolsCall extends Enum { readonly isJoin: boolean; readonly asJoin: { @@ -3558,7 +3733,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Join' | 'BondExtra' | 'ClaimPayout' | 'Unbond' | 'PoolWithdrawUnbonded' | 'WithdrawUnbonded' | 'Create' | 'CreateWithPoolId' | 'Nominate' | 'SetState' | 'SetMetadata' | 'SetConfigs' | 'UpdateRoles' | 'Chill' | 'BondExtraOther' | 'SetClaimPermission' | 'ClaimPayoutOther' | 'SetCommission' | 'SetCommissionMax' | 'SetCommissionChangeRate' | 'ClaimCommission' | 'AdjustPoolDeposit' | 'SetCommissionClaimPermission' | 'ApplySlash' | 'MigrateDelegation' | 'MigratePoolToDelegateStake'; } - /** @name PalletNominationPoolsBondExtra (310) */ + /** @name PalletNominationPoolsBondExtra (326) */ interface PalletNominationPoolsBondExtra extends Enum { readonly isFreeBalance: boolean; readonly asFreeBalance: u128; @@ -3566,7 +3741,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'FreeBalance' | 'Rewards'; } - /** @name PalletNominationPoolsConfigOpU128 (311) */ + /** @name PalletNominationPoolsConfigOpU128 (327) */ interface PalletNominationPoolsConfigOpU128 extends Enum { readonly isNoop: boolean; readonly isSet: boolean; @@ -3575,7 +3750,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Noop' | 'Set' | 'Remove'; } - /** @name PalletNominationPoolsConfigOpU32 (312) */ + /** @name PalletNominationPoolsConfigOpU32 (328) */ interface PalletNominationPoolsConfigOpU32 extends Enum { readonly isNoop: boolean; readonly isSet: boolean; @@ -3584,7 +3759,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Noop' | 'Set' | 'Remove'; } - /** @name PalletNominationPoolsConfigOpPerbill (313) */ + /** @name PalletNominationPoolsConfigOpPerbill (329) */ interface PalletNominationPoolsConfigOpPerbill extends Enum { readonly isNoop: boolean; readonly isSet: boolean; @@ -3593,7 +3768,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Noop' | 'Set' | 'Remove'; } - /** @name PalletNominationPoolsConfigOpAccountId32 (314) */ + /** @name PalletNominationPoolsConfigOpAccountId32 (330) */ interface PalletNominationPoolsConfigOpAccountId32 extends Enum { readonly isNoop: boolean; readonly isSet: boolean; @@ -3602,7 +3777,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Noop' | 'Set' | 'Remove'; } - /** @name PalletNominationPoolsClaimPermission (315) */ + /** @name PalletNominationPoolsClaimPermission (331) */ interface PalletNominationPoolsClaimPermission extends Enum { readonly isPermissioned: boolean; readonly isPermissionlessCompound: boolean; @@ -3611,7 +3786,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Permissioned' | 'PermissionlessCompound' | 'PermissionlessWithdraw' | 'PermissionlessAll'; } - /** @name PalletSchedulerCall (316) */ + /** @name PalletSchedulerCall (332) */ interface PalletSchedulerCall extends Enum { readonly isSchedule: boolean; readonly asSchedule: { @@ -3675,7 +3850,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Schedule' | 'Cancel' | 'ScheduleNamed' | 'CancelNamed' | 'ScheduleAfter' | 'ScheduleNamedAfter' | 'SetRetry' | 'SetRetryNamed' | 'CancelRetry' | 'CancelRetryNamed'; } - /** @name PalletPreimageCall (318) */ + /** @name PalletPreimageCall (334) */ interface PalletPreimageCall extends Enum { readonly isNotePreimage: boolean; readonly asNotePreimage: { @@ -3700,7 +3875,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotePreimage' | 'UnnotePreimage' | 'RequestPreimage' | 'UnrequestPreimage' | 'EnsureUpdated'; } - /** @name PalletTxPauseCall (319) */ + /** @name PalletTxPauseCall (335) */ interface PalletTxPauseCall extends Enum { readonly isPause: boolean; readonly asPause: { @@ -3713,7 +3888,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Pause' | 'Unpause'; } - /** @name PalletImOnlineCall (320) */ + /** @name PalletImOnlineCall (336) */ interface PalletImOnlineCall extends Enum { readonly isHeartbeat: boolean; readonly asHeartbeat: { @@ -3723,7 +3898,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Heartbeat'; } - /** @name PalletImOnlineHeartbeat (321) */ + /** @name PalletImOnlineHeartbeat (337) */ interface PalletImOnlineHeartbeat extends Struct { readonly blockNumber: u64; readonly sessionIndex: u32; @@ -3731,10 +3906,10 @@ declare module '@polkadot/types/lookup' { readonly validatorsLen: u32; } - /** @name PalletImOnlineSr25519AppSr25519Signature (322) */ + /** @name PalletImOnlineSr25519AppSr25519Signature (338) */ interface PalletImOnlineSr25519AppSr25519Signature extends U8aFixed {} - /** @name PalletIdentityCall (323) */ + /** @name PalletIdentityCall (339) */ interface PalletIdentityCall extends Enum { readonly isAddRegistrar: boolean; readonly asAddRegistrar: { @@ -3834,7 +4009,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AddRegistrar' | 'SetIdentity' | 'SetSubs' | 'ClearIdentity' | 'RequestJudgement' | 'CancelRequest' | 'SetFee' | 'SetAccountId' | 'SetFields' | 'ProvideJudgement' | 'KillIdentity' | 'AddSub' | 'RenameSub' | 'RemoveSub' | 'QuitSub' | 'AddUsernameAuthority' | 'RemoveUsernameAuthority' | 'SetUsernameFor' | 'AcceptUsername' | 'RemoveExpiredApproval' | 'SetPrimaryUsername' | 'RemoveDanglingUsername'; } - /** @name PalletIdentityLegacyIdentityInfo (324) */ + /** @name PalletIdentityLegacyIdentityInfo (340) */ interface PalletIdentityLegacyIdentityInfo extends Struct { readonly additional: Vec>; readonly display: Data; @@ -3847,7 +4022,7 @@ declare module '@polkadot/types/lookup' { readonly twitter: Data; } - /** @name PalletIdentityJudgement (360) */ + /** @name PalletIdentityJudgement (376) */ interface PalletIdentityJudgement extends Enum { readonly isUnknown: boolean; readonly isFeePaid: boolean; @@ -3860,7 +4035,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unknown' | 'FeePaid' | 'Reasonable' | 'KnownGood' | 'OutOfDate' | 'LowQuality' | 'Erroneous'; } - /** @name SpRuntimeMultiSignature (362) */ + /** @name SpRuntimeMultiSignature (378) */ interface SpRuntimeMultiSignature extends Enum { readonly isEd25519: boolean; readonly asEd25519: U8aFixed; @@ -3871,7 +4046,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa'; } - /** @name PalletUtilityCall (363) */ + /** @name PalletUtilityCall (379) */ interface PalletUtilityCall extends Enum { readonly isBatch: boolean; readonly asBatch: { @@ -3903,7 +4078,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Batch' | 'AsDerivative' | 'BatchAll' | 'DispatchAs' | 'ForceBatch' | 'WithWeight'; } - /** @name TangleTestnetRuntimeOriginCaller (365) */ + /** @name TangleTestnetRuntimeOriginCaller (381) */ interface TangleTestnetRuntimeOriginCaller extends Enum { readonly isSystem: boolean; readonly asSystem: FrameSupportDispatchRawOrigin; @@ -3914,7 +4089,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'System' | 'Council' | 'Ethereum'; } - /** @name FrameSupportDispatchRawOrigin (366) */ + /** @name FrameSupportDispatchRawOrigin (382) */ interface FrameSupportDispatchRawOrigin extends Enum { readonly isRoot: boolean; readonly isSigned: boolean; @@ -3923,7 +4098,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Root' | 'Signed' | 'None'; } - /** @name PalletCollectiveRawOrigin (367) */ + /** @name PalletCollectiveRawOrigin (383) */ interface PalletCollectiveRawOrigin extends Enum { readonly isMembers: boolean; readonly asMembers: ITuple<[u32, u32]>; @@ -3933,14 +4108,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'Members' | 'Member' | 'Phantom'; } - /** @name PalletEthereumRawOrigin (368) */ + /** @name PalletEthereumRawOrigin (384) */ interface PalletEthereumRawOrigin extends Enum { readonly isEthereumTransaction: boolean; readonly asEthereumTransaction: H160; readonly type: 'EthereumTransaction'; } - /** @name PalletMultisigCall (369) */ + /** @name PalletMultisigCall (385) */ interface PalletMultisigCall extends Enum { readonly isAsMultiThreshold1: boolean; readonly asAsMultiThreshold1: { @@ -3973,7 +4148,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AsMultiThreshold1' | 'AsMulti' | 'ApproveAsMulti' | 'CancelAsMulti'; } - /** @name PalletEthereumCall (371) */ + /** @name PalletEthereumCall (387) */ interface PalletEthereumCall extends Enum { readonly isTransact: boolean; readonly asTransact: { @@ -3982,7 +4157,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Transact'; } - /** @name EthereumTransactionTransactionV2 (372) */ + /** @name EthereumTransactionTransactionV2 (388) */ interface EthereumTransactionTransactionV2 extends Enum { readonly isLegacy: boolean; readonly asLegacy: EthereumTransactionLegacyTransaction; @@ -3993,7 +4168,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Legacy' | 'Eip2930' | 'Eip1559'; } - /** @name EthereumTransactionLegacyTransaction (373) */ + /** @name EthereumTransactionLegacyTransaction (389) */ interface EthereumTransactionLegacyTransaction extends Struct { readonly nonce: U256; readonly gasPrice: U256; @@ -4004,7 +4179,7 @@ declare module '@polkadot/types/lookup' { readonly signature: EthereumTransactionTransactionSignature; } - /** @name EthereumTransactionTransactionAction (374) */ + /** @name EthereumTransactionTransactionAction (390) */ interface EthereumTransactionTransactionAction extends Enum { readonly isCall: boolean; readonly asCall: H160; @@ -4012,14 +4187,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'Call' | 'Create'; } - /** @name EthereumTransactionTransactionSignature (375) */ + /** @name EthereumTransactionTransactionSignature (391) */ interface EthereumTransactionTransactionSignature extends Struct { readonly v: u64; readonly r: H256; readonly s: H256; } - /** @name EthereumTransactionEip2930Transaction (377) */ + /** @name EthereumTransactionEip2930Transaction (393) */ interface EthereumTransactionEip2930Transaction extends Struct { readonly chainId: u64; readonly nonce: U256; @@ -4034,13 +4209,13 @@ declare module '@polkadot/types/lookup' { readonly s: H256; } - /** @name EthereumTransactionAccessListItem (379) */ + /** @name EthereumTransactionAccessListItem (395) */ interface EthereumTransactionAccessListItem extends Struct { readonly address: H160; readonly storageKeys: Vec; } - /** @name EthereumTransactionEip1559Transaction (380) */ + /** @name EthereumTransactionEip1559Transaction (396) */ interface EthereumTransactionEip1559Transaction extends Struct { readonly chainId: u64; readonly nonce: U256; @@ -4056,7 +4231,7 @@ declare module '@polkadot/types/lookup' { readonly s: H256; } - /** @name PalletEvmCall (381) */ + /** @name PalletEvmCall (397) */ interface PalletEvmCall extends Enum { readonly isWithdraw: boolean; readonly asWithdraw: { @@ -4101,7 +4276,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2'; } - /** @name PalletDynamicFeeCall (385) */ + /** @name PalletDynamicFeeCall (401) */ interface PalletDynamicFeeCall extends Enum { readonly isNoteMinGasPriceTarget: boolean; readonly asNoteMinGasPriceTarget: { @@ -4110,7 +4285,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NoteMinGasPriceTarget'; } - /** @name PalletBaseFeeCall (386) */ + /** @name PalletBaseFeeCall (402) */ interface PalletBaseFeeCall extends Enum { readonly isSetBaseFeePerGas: boolean; readonly asSetBaseFeePerGas: { @@ -4123,7 +4298,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'SetBaseFeePerGas' | 'SetElasticity'; } - /** @name PalletHotfixSufficientsCall (387) */ + /** @name PalletHotfixSufficientsCall (403) */ interface PalletHotfixSufficientsCall extends Enum { readonly isHotfixIncAccountSufficients: boolean; readonly asHotfixIncAccountSufficients: { @@ -4132,7 +4307,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'HotfixIncAccountSufficients'; } - /** @name PalletAirdropClaimsCall (389) */ + /** @name PalletAirdropClaimsCall (405) */ interface PalletAirdropClaimsCall extends Enum { readonly isClaim: boolean; readonly asClaim: { @@ -4171,7 +4346,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Claim' | 'MintClaim' | 'ClaimAttest' | 'MoveClaim' | 'ForceSetExpiryConfig' | 'ClaimSigned'; } - /** @name PalletAirdropClaimsUtilsMultiAddressSignature (391) */ + /** @name PalletAirdropClaimsUtilsMultiAddressSignature (407) */ interface PalletAirdropClaimsUtilsMultiAddressSignature extends Enum { readonly isEvm: boolean; readonly asEvm: PalletAirdropClaimsUtilsEthereumAddressEcdsaSignature; @@ -4180,20 +4355,20 @@ declare module '@polkadot/types/lookup' { readonly type: 'Evm' | 'Native'; } - /** @name PalletAirdropClaimsUtilsEthereumAddressEcdsaSignature (392) */ + /** @name PalletAirdropClaimsUtilsEthereumAddressEcdsaSignature (408) */ interface PalletAirdropClaimsUtilsEthereumAddressEcdsaSignature extends U8aFixed {} - /** @name PalletAirdropClaimsUtilsSr25519Signature (393) */ + /** @name PalletAirdropClaimsUtilsSr25519Signature (409) */ interface PalletAirdropClaimsUtilsSr25519Signature extends U8aFixed {} - /** @name PalletAirdropClaimsStatementKind (399) */ + /** @name PalletAirdropClaimsStatementKind (415) */ interface PalletAirdropClaimsStatementKind extends Enum { readonly isRegular: boolean; readonly isSafe: boolean; readonly type: 'Regular' | 'Safe'; } - /** @name PalletProxyCall (400) */ + /** @name PalletProxyCall (416) */ interface PalletProxyCall extends Enum { readonly isProxy: boolean; readonly asProxy: { @@ -4253,7 +4428,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Proxy' | 'AddProxy' | 'RemoveProxy' | 'RemoveProxies' | 'CreatePure' | 'KillPure' | 'Announce' | 'RemoveAnnouncement' | 'RejectAnnouncement' | 'ProxyAnnounced'; } - /** @name PalletMultiAssetDelegationCall (402) */ + /** @name PalletMultiAssetDelegationCall (418) */ interface PalletMultiAssetDelegationCall extends Enum { readonly isJoinOperators: boolean; readonly asJoinOperators: { @@ -4346,7 +4521,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'JoinOperators' | 'ScheduleLeaveOperators' | 'CancelLeaveOperators' | 'ExecuteLeaveOperators' | 'OperatorBondMore' | 'ScheduleOperatorUnstake' | 'ExecuteOperatorUnstake' | 'CancelOperatorUnstake' | 'GoOffline' | 'GoOnline' | 'Deposit' | 'ScheduleWithdraw' | 'ExecuteWithdraw' | 'CancelWithdraw' | 'Delegate' | 'ScheduleDelegatorUnstake' | 'ExecuteDelegatorUnstake' | 'CancelDelegatorUnstake' | 'DelegateNomination' | 'ScheduleNominationUnstake' | 'ExecuteNominationUnstake' | 'CancelNominationUnstake' | 'AddBlueprintId' | 'RemoveBlueprintId'; } - /** @name PalletMultiAssetDelegationDelegatorDelegatorBlueprintSelection (404) */ + /** @name PalletMultiAssetDelegationDelegatorDelegatorBlueprintSelection (420) */ interface PalletMultiAssetDelegationDelegatorDelegatorBlueprintSelection extends Enum { readonly isFixed: boolean; readonly asFixed: Vec; @@ -4354,10 +4529,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'Fixed' | 'All'; } - /** @name TangleTestnetRuntimeMaxDelegatorBlueprints (405) */ + /** @name TangleTestnetRuntimeMaxDelegatorBlueprints (421) */ type TangleTestnetRuntimeMaxDelegatorBlueprints = Null; - /** @name PalletServicesModuleCall (408) */ + /** @name PalletServicesModuleCall (424) */ interface PalletServicesModuleCall extends Enum { readonly isCreateBlueprint: boolean; readonly asCreateBlueprint: { @@ -4448,7 +4623,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'CreateBlueprint' | 'PreRegister' | 'Register' | 'Unregister' | 'UpdatePriceTargets' | 'Request' | 'Approve' | 'Reject' | 'Terminate' | 'Call' | 'SubmitResult' | 'Slash' | 'Dispute' | 'UpdateMasterBlueprintServiceManager' | 'JoinService' | 'LeaveService'; } - /** @name TanglePrimitivesServicesServiceServiceBlueprint (409) */ + /** @name TanglePrimitivesServicesServiceServiceBlueprint (425) */ interface TanglePrimitivesServicesServiceServiceBlueprint extends Struct { readonly metadata: TanglePrimitivesServicesServiceServiceMetadata; readonly jobs: Vec; @@ -4460,7 +4635,7 @@ declare module '@polkadot/types/lookup' { readonly supportedMembershipModels: Vec; } - /** @name TanglePrimitivesServicesServiceServiceMetadata (410) */ + /** @name TanglePrimitivesServicesServiceServiceMetadata (426) */ interface TanglePrimitivesServicesServiceServiceMetadata extends Struct { readonly name: Bytes; readonly description: Option; @@ -4472,27 +4647,27 @@ declare module '@polkadot/types/lookup' { readonly license: Option; } - /** @name TanglePrimitivesServicesJobsJobDefinition (415) */ + /** @name TanglePrimitivesServicesJobsJobDefinition (431) */ interface TanglePrimitivesServicesJobsJobDefinition extends Struct { readonly metadata: TanglePrimitivesServicesJobsJobMetadata; readonly params: Vec; readonly result: Vec; } - /** @name TanglePrimitivesServicesJobsJobMetadata (416) */ + /** @name TanglePrimitivesServicesJobsJobMetadata (432) */ interface TanglePrimitivesServicesJobsJobMetadata extends Struct { readonly name: Bytes; readonly description: Option; } - /** @name TanglePrimitivesServicesServiceBlueprintServiceManager (420) */ + /** @name TanglePrimitivesServicesServiceBlueprintServiceManager (436) */ interface TanglePrimitivesServicesServiceBlueprintServiceManager extends Enum { readonly isEvm: boolean; readonly asEvm: H160; readonly type: 'Evm'; } - /** @name TanglePrimitivesServicesServiceMasterBlueprintServiceManagerRevision (421) */ + /** @name TanglePrimitivesServicesServiceMasterBlueprintServiceManagerRevision (437) */ interface TanglePrimitivesServicesServiceMasterBlueprintServiceManagerRevision extends Enum { readonly isLatest: boolean; readonly isSpecific: boolean; @@ -4500,7 +4675,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Latest' | 'Specific'; } - /** @name TanglePrimitivesServicesGadget (422) */ + /** @name TanglePrimitivesServicesGadget (438) */ interface TanglePrimitivesServicesGadget extends Enum { readonly isWasm: boolean; readonly asWasm: TanglePrimitivesServicesGadgetWasmGadget; @@ -4511,25 +4686,25 @@ declare module '@polkadot/types/lookup' { readonly type: 'Wasm' | 'Native' | 'Container'; } - /** @name TanglePrimitivesServicesGadgetWasmGadget (423) */ + /** @name TanglePrimitivesServicesGadgetWasmGadget (439) */ interface TanglePrimitivesServicesGadgetWasmGadget extends Struct { readonly runtime: TanglePrimitivesServicesGadgetWasmRuntime; readonly sources: Vec; } - /** @name TanglePrimitivesServicesGadgetWasmRuntime (424) */ + /** @name TanglePrimitivesServicesGadgetWasmRuntime (440) */ interface TanglePrimitivesServicesGadgetWasmRuntime extends Enum { readonly isWasmtime: boolean; readonly isWasmer: boolean; readonly type: 'Wasmtime' | 'Wasmer'; } - /** @name TanglePrimitivesServicesGadgetGadgetSource (426) */ + /** @name TanglePrimitivesServicesGadgetGadgetSource (442) */ interface TanglePrimitivesServicesGadgetGadgetSource extends Struct { readonly fetcher: TanglePrimitivesServicesGadgetGadgetSourceFetcher; } - /** @name TanglePrimitivesServicesGadgetGadgetSourceFetcher (427) */ + /** @name TanglePrimitivesServicesGadgetGadgetSourceFetcher (443) */ interface TanglePrimitivesServicesGadgetGadgetSourceFetcher extends Enum { readonly isIpfs: boolean; readonly asIpfs: Bytes; @@ -4542,7 +4717,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Ipfs' | 'Github' | 'ContainerImage' | 'Testing'; } - /** @name TanglePrimitivesServicesGadgetGithubFetcher (429) */ + /** @name TanglePrimitivesServicesGadgetGithubFetcher (445) */ interface TanglePrimitivesServicesGadgetGithubFetcher extends Struct { readonly owner: Bytes; readonly repo: Bytes; @@ -4550,7 +4725,7 @@ declare module '@polkadot/types/lookup' { readonly binaries: Vec; } - /** @name TanglePrimitivesServicesGadgetGadgetBinary (437) */ + /** @name TanglePrimitivesServicesGadgetGadgetBinary (453) */ interface TanglePrimitivesServicesGadgetGadgetBinary extends Struct { readonly arch: TanglePrimitivesServicesGadgetArchitecture; readonly os: TanglePrimitivesServicesGadgetOperatingSystem; @@ -4558,7 +4733,7 @@ declare module '@polkadot/types/lookup' { readonly sha256: U8aFixed; } - /** @name TanglePrimitivesServicesGadgetArchitecture (438) */ + /** @name TanglePrimitivesServicesGadgetArchitecture (454) */ interface TanglePrimitivesServicesGadgetArchitecture extends Enum { readonly isWasm: boolean; readonly isWasm64: boolean; @@ -4573,7 +4748,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Wasm' | 'Wasm64' | 'Wasi' | 'Wasi64' | 'Amd' | 'Amd64' | 'Arm' | 'Arm64' | 'RiscV' | 'RiscV64'; } - /** @name TanglePrimitivesServicesGadgetOperatingSystem (439) */ + /** @name TanglePrimitivesServicesGadgetOperatingSystem (455) */ interface TanglePrimitivesServicesGadgetOperatingSystem extends Enum { readonly isUnknown: boolean; readonly isLinux: boolean; @@ -4583,38 +4758,38 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unknown' | 'Linux' | 'Windows' | 'MacOS' | 'Bsd'; } - /** @name TanglePrimitivesServicesGadgetImageRegistryFetcher (443) */ + /** @name TanglePrimitivesServicesGadgetImageRegistryFetcher (459) */ interface TanglePrimitivesServicesGadgetImageRegistryFetcher extends Struct { readonly registry_: Bytes; readonly image: Bytes; readonly tag: Bytes; } - /** @name TanglePrimitivesServicesGadgetTestFetcher (450) */ + /** @name TanglePrimitivesServicesGadgetTestFetcher (466) */ interface TanglePrimitivesServicesGadgetTestFetcher extends Struct { readonly cargoPackage: Bytes; readonly cargoBin: Bytes; readonly basePath: Bytes; } - /** @name TanglePrimitivesServicesGadgetNativeGadget (452) */ + /** @name TanglePrimitivesServicesGadgetNativeGadget (468) */ interface TanglePrimitivesServicesGadgetNativeGadget extends Struct { readonly sources: Vec; } - /** @name TanglePrimitivesServicesGadgetContainerGadget (453) */ + /** @name TanglePrimitivesServicesGadgetContainerGadget (469) */ interface TanglePrimitivesServicesGadgetContainerGadget extends Struct { readonly sources: Vec; } - /** @name TanglePrimitivesServicesTypesMembershipModelType (455) */ + /** @name TanglePrimitivesServicesTypesMembershipModelType (471) */ interface TanglePrimitivesServicesTypesMembershipModelType extends Enum { readonly isFixed: boolean; readonly isDynamic: boolean; readonly type: 'Fixed' | 'Dynamic'; } - /** @name TanglePrimitivesServicesTypesMembershipModel (457) */ + /** @name TanglePrimitivesServicesTypesMembershipModel (473) */ interface TanglePrimitivesServicesTypesMembershipModel extends Enum { readonly isFixed: boolean; readonly asFixed: { @@ -4628,7 +4803,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Fixed' | 'Dynamic'; } - /** @name PalletTangleLstCall (460) */ + /** @name PalletTangleLstCall (476) */ interface PalletTangleLstCall extends Enum { readonly isJoin: boolean; readonly asJoin: { @@ -4750,14 +4925,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'Join' | 'BondExtra' | 'Unbond' | 'PoolWithdrawUnbonded' | 'WithdrawUnbonded' | 'Create' | 'CreateWithPoolId' | 'Nominate' | 'SetState' | 'SetMetadata' | 'SetConfigs' | 'UpdateRoles' | 'Chill' | 'BondExtraOther' | 'SetCommission' | 'SetCommissionMax' | 'SetCommissionChangeRate' | 'ClaimCommission' | 'AdjustPoolDeposit' | 'SetCommissionClaimPermission' | 'SetLastPoolId'; } - /** @name PalletTangleLstBondExtra (461) */ + /** @name PalletTangleLstBondExtra (477) */ interface PalletTangleLstBondExtra extends Enum { readonly isFreeBalance: boolean; readonly asFreeBalance: u128; readonly type: 'FreeBalance'; } - /** @name PalletTangleLstConfigOpU128 (466) */ + /** @name PalletTangleLstConfigOpU128 (482) */ interface PalletTangleLstConfigOpU128 extends Enum { readonly isNoop: boolean; readonly isSet: boolean; @@ -4766,7 +4941,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Noop' | 'Set' | 'Remove'; } - /** @name PalletTangleLstConfigOpU32 (467) */ + /** @name PalletTangleLstConfigOpU32 (483) */ interface PalletTangleLstConfigOpU32 extends Enum { readonly isNoop: boolean; readonly isSet: boolean; @@ -4775,7 +4950,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Noop' | 'Set' | 'Remove'; } - /** @name PalletTangleLstConfigOpPerbill (468) */ + /** @name PalletTangleLstConfigOpPerbill (484) */ interface PalletTangleLstConfigOpPerbill extends Enum { readonly isNoop: boolean; readonly isSet: boolean; @@ -4784,7 +4959,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Noop' | 'Set' | 'Remove'; } - /** @name PalletTangleLstConfigOpAccountId32 (469) */ + /** @name PalletTangleLstConfigOpAccountId32 (485) */ interface PalletTangleLstConfigOpAccountId32 extends Enum { readonly isNoop: boolean; readonly isSet: boolean; @@ -4793,7 +4968,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Noop' | 'Set' | 'Remove'; } - /** @name PalletRewardsCall (470) */ + /** @name PalletRewardsCall (486) */ interface PalletRewardsCall extends Enum { readonly isClaimRewards: boolean; readonly asClaimRewards: { @@ -4832,13 +5007,303 @@ declare module '@polkadot/types/lookup' { readonly type: 'ClaimRewards' | 'ClaimRewardsOther' | 'ManageAssetRewardVault' | 'CreateRewardVault' | 'UpdateVaultRewardConfig' | 'UpdateDecayConfig' | 'UpdateApyBlocks'; } - /** @name PalletSudoError (471) */ + /** @name PalletIsmpCall (487) */ + interface PalletIsmpCall extends Enum { + readonly isHandleUnsigned: boolean; + readonly asHandleUnsigned: { + readonly messages: Vec; + } & Struct; + readonly isCreateConsensusClient: boolean; + readonly asCreateConsensusClient: { + readonly message: IsmpMessagingCreateConsensusState; + } & Struct; + readonly isUpdateConsensusState: boolean; + readonly asUpdateConsensusState: { + readonly message: PalletIsmpUtilsUpdateConsensusState; + } & Struct; + readonly isFundMessage: boolean; + readonly asFundMessage: { + readonly message: PalletIsmpUtilsFundMessageParams; + } & Struct; + readonly type: 'HandleUnsigned' | 'CreateConsensusClient' | 'UpdateConsensusState' | 'FundMessage'; + } + + /** @name IsmpMessagingMessage (489) */ + interface IsmpMessagingMessage extends Enum { + readonly isConsensus: boolean; + readonly asConsensus: IsmpMessagingConsensusMessage; + readonly isFraudProof: boolean; + readonly asFraudProof: IsmpMessagingFraudProofMessage; + readonly isRequest: boolean; + readonly asRequest: IsmpMessagingRequestMessage; + readonly isResponse: boolean; + readonly asResponse: IsmpMessagingResponseMessage; + readonly isTimeout: boolean; + readonly asTimeout: IsmpMessagingTimeoutMessage; + readonly type: 'Consensus' | 'FraudProof' | 'Request' | 'Response' | 'Timeout'; + } + + /** @name IsmpMessagingConsensusMessage (490) */ + interface IsmpMessagingConsensusMessage extends Struct { + readonly consensusProof: Bytes; + readonly consensusStateId: U8aFixed; + readonly signer: Bytes; + } + + /** @name IsmpMessagingFraudProofMessage (491) */ + interface IsmpMessagingFraudProofMessage extends Struct { + readonly proof1: Bytes; + readonly proof2: Bytes; + readonly consensusStateId: U8aFixed; + } + + /** @name IsmpMessagingRequestMessage (492) */ + interface IsmpMessagingRequestMessage extends Struct { + readonly requests: Vec; + readonly proof: IsmpMessagingProof; + readonly signer: Bytes; + } + + /** @name IsmpRouterPostRequest (494) */ + interface IsmpRouterPostRequest extends Struct { + readonly source: IsmpHostStateMachine; + readonly dest: IsmpHostStateMachine; + readonly nonce: u64; + readonly from: Bytes; + readonly to: Bytes; + readonly timeoutTimestamp: u64; + readonly body: Bytes; + } + + /** @name IsmpMessagingProof (495) */ + interface IsmpMessagingProof extends Struct { + readonly height: IsmpConsensusStateMachineHeight; + readonly proof: Bytes; + } + + /** @name IsmpMessagingResponseMessage (496) */ + interface IsmpMessagingResponseMessage extends Struct { + readonly datagram: IsmpRouterRequestResponse; + readonly proof: IsmpMessagingProof; + readonly signer: Bytes; + } + + /** @name IsmpRouterRequestResponse (497) */ + interface IsmpRouterRequestResponse extends Enum { + readonly isRequest: boolean; + readonly asRequest: Vec; + readonly isResponse: boolean; + readonly asResponse: Vec; + readonly type: 'Request' | 'Response'; + } + + /** @name IsmpRouterRequest (499) */ + interface IsmpRouterRequest extends Enum { + readonly isPost: boolean; + readonly asPost: IsmpRouterPostRequest; + readonly isGet: boolean; + readonly asGet: IsmpRouterGetRequest; + readonly type: 'Post' | 'Get'; + } + + /** @name IsmpRouterGetRequest (500) */ + interface IsmpRouterGetRequest extends Struct { + readonly source: IsmpHostStateMachine; + readonly dest: IsmpHostStateMachine; + readonly nonce: u64; + readonly from: Bytes; + readonly keys_: Vec; + readonly height: u64; + readonly context: Bytes; + readonly timeoutTimestamp: u64; + } + + /** @name IsmpRouterResponse (502) */ + interface IsmpRouterResponse extends Enum { + readonly isPost: boolean; + readonly asPost: IsmpRouterPostResponse; + readonly isGet: boolean; + readonly asGet: IsmpRouterGetResponse; + readonly type: 'Post' | 'Get'; + } + + /** @name IsmpRouterPostResponse (503) */ + interface IsmpRouterPostResponse extends Struct { + readonly post: IsmpRouterPostRequest; + readonly response: Bytes; + readonly timeoutTimestamp: u64; + } + + /** @name IsmpRouterGetResponse (504) */ + interface IsmpRouterGetResponse extends Struct { + readonly get: IsmpRouterGetRequest; + readonly values: Vec; + } + + /** @name IsmpRouterStorageValue (506) */ + interface IsmpRouterStorageValue extends Struct { + readonly key: Bytes; + readonly value: Option; + } + + /** @name IsmpMessagingTimeoutMessage (508) */ + interface IsmpMessagingTimeoutMessage extends Enum { + readonly isPost: boolean; + readonly asPost: { + readonly requests: Vec; + readonly timeoutProof: IsmpMessagingProof; + } & Struct; + readonly isPostResponse: boolean; + readonly asPostResponse: { + readonly responses: Vec; + readonly timeoutProof: IsmpMessagingProof; + } & Struct; + readonly isGet: boolean; + readonly asGet: { + readonly requests: Vec; + } & Struct; + readonly type: 'Post' | 'PostResponse' | 'Get'; + } + + /** @name IsmpMessagingCreateConsensusState (510) */ + interface IsmpMessagingCreateConsensusState extends Struct { + readonly consensusState: Bytes; + readonly consensusClientId: U8aFixed; + readonly consensusStateId: U8aFixed; + readonly unbondingPeriod: u64; + readonly challengePeriods: BTreeMap; + readonly stateMachineCommitments: Vec>; + } + + /** @name IsmpMessagingStateCommitmentHeight (516) */ + interface IsmpMessagingStateCommitmentHeight extends Struct { + readonly commitment: IsmpConsensusStateCommitment; + readonly height: u64; + } + + /** @name IsmpConsensusStateCommitment (517) */ + interface IsmpConsensusStateCommitment extends Struct { + readonly timestamp: u64; + readonly overlayRoot: Option; + readonly stateRoot: H256; + } + + /** @name PalletIsmpUtilsUpdateConsensusState (518) */ + interface PalletIsmpUtilsUpdateConsensusState extends Struct { + readonly consensusStateId: U8aFixed; + readonly unbondingPeriod: Option; + readonly challengePeriods: BTreeMap; + } + + /** @name PalletIsmpUtilsFundMessageParams (519) */ + interface PalletIsmpUtilsFundMessageParams extends Struct { + readonly commitment: PalletIsmpUtilsMessageCommitment; + readonly amount: u128; + } + + /** @name PalletIsmpUtilsMessageCommitment (520) */ + interface PalletIsmpUtilsMessageCommitment extends Enum { + readonly isRequest: boolean; + readonly asRequest: H256; + readonly isResponse: boolean; + readonly asResponse: H256; + readonly type: 'Request' | 'Response'; + } + + /** @name IsmpGrandpaCall (521) */ + interface IsmpGrandpaCall extends Enum { + readonly isAddStateMachines: boolean; + readonly asAddStateMachines: { + readonly newStateMachines: Vec; + } & Struct; + readonly isRemoveStateMachines: boolean; + readonly asRemoveStateMachines: { + readonly stateMachines: Vec; + } & Struct; + readonly type: 'AddStateMachines' | 'RemoveStateMachines'; + } + + /** @name IsmpGrandpaAddStateMachine (523) */ + interface IsmpGrandpaAddStateMachine extends Struct { + readonly stateMachine: IsmpHostStateMachine; + readonly slotDuration: u64; + } + + /** @name PalletTokenGatewayCall (524) */ + interface PalletTokenGatewayCall extends Enum { + readonly isTeleport: boolean; + readonly asTeleport: { + readonly params: PalletTokenGatewayTeleportParams; + } & Struct; + readonly isSetTokenGatewayAddresses: boolean; + readonly asSetTokenGatewayAddresses: { + readonly addresses: BTreeMap; + } & Struct; + readonly isCreateErc6160Asset: boolean; + readonly asCreateErc6160Asset: { + readonly asset: PalletTokenGatewayAssetRegistration; + } & Struct; + readonly isUpdateErc6160Asset: boolean; + readonly asUpdateErc6160Asset: { + readonly asset: TokenGatewayPrimitivesGatewayAssetUpdate; + } & Struct; + readonly isUpdateAssetPrecision: boolean; + readonly asUpdateAssetPrecision: { + readonly update: PalletTokenGatewayPrecisionUpdate; + } & Struct; + readonly type: 'Teleport' | 'SetTokenGatewayAddresses' | 'CreateErc6160Asset' | 'UpdateErc6160Asset' | 'UpdateAssetPrecision'; + } + + /** @name PalletTokenGatewayTeleportParams (525) */ + interface PalletTokenGatewayTeleportParams extends Struct { + readonly assetId: u128; + readonly destination: IsmpHostStateMachine; + readonly recepient: H256; + readonly amount: u128; + readonly timeout: u64; + readonly tokenGateway: Bytes; + readonly relayerFee: u128; + readonly callData: Option; + readonly redeem: bool; + } + + /** @name PalletTokenGatewayAssetRegistration (529) */ + interface PalletTokenGatewayAssetRegistration extends Struct { + readonly localId: u128; + readonly reg: TokenGatewayPrimitivesGatewayAssetRegistration; + readonly native: bool; + readonly precision: BTreeMap; + } + + /** @name TokenGatewayPrimitivesGatewayAssetRegistration (530) */ + interface TokenGatewayPrimitivesGatewayAssetRegistration extends Struct { + readonly name: Bytes; + readonly symbol: Bytes; + readonly chains: Vec; + readonly minimumBalance: Option; + } + + /** @name TokenGatewayPrimitivesGatewayAssetUpdate (535) */ + interface TokenGatewayPrimitivesGatewayAssetUpdate extends Struct { + readonly assetId: H256; + readonly addChains: Vec; + readonly removeChains: Vec; + readonly newAdmins: Vec>; + } + + /** @name PalletTokenGatewayPrecisionUpdate (540) */ + interface PalletTokenGatewayPrecisionUpdate extends Struct { + readonly assetId: u128; + readonly precisions: BTreeMap; + } + + /** @name PalletSudoError (541) */ interface PalletSudoError extends Enum { readonly isRequireSudo: boolean; readonly type: 'RequireSudo'; } - /** @name PalletAssetsAssetDetails (473) */ + /** @name PalletAssetsAssetDetails (543) */ interface PalletAssetsAssetDetails extends Struct { readonly owner: AccountId32; readonly issuer: AccountId32; @@ -4854,7 +5319,7 @@ declare module '@polkadot/types/lookup' { readonly status: PalletAssetsAssetStatus; } - /** @name PalletAssetsAssetStatus (474) */ + /** @name PalletAssetsAssetStatus (544) */ interface PalletAssetsAssetStatus extends Enum { readonly isLive: boolean; readonly isFrozen: boolean; @@ -4862,7 +5327,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Live' | 'Frozen' | 'Destroying'; } - /** @name PalletAssetsAssetAccount (476) */ + /** @name PalletAssetsAssetAccount (546) */ interface PalletAssetsAssetAccount extends Struct { readonly balance: u128; readonly status: PalletAssetsAccountStatus; @@ -4870,7 +5335,7 @@ declare module '@polkadot/types/lookup' { readonly extra: Null; } - /** @name PalletAssetsAccountStatus (477) */ + /** @name PalletAssetsAccountStatus (547) */ interface PalletAssetsAccountStatus extends Enum { readonly isLiquid: boolean; readonly isFrozen: boolean; @@ -4878,7 +5343,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Liquid' | 'Frozen' | 'Blocked'; } - /** @name PalletAssetsExistenceReason (478) */ + /** @name PalletAssetsExistenceReason (548) */ interface PalletAssetsExistenceReason extends Enum { readonly isConsumer: boolean; readonly isSufficient: boolean; @@ -4890,13 +5355,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'Consumer' | 'Sufficient' | 'DepositHeld' | 'DepositRefunded' | 'DepositFrom'; } - /** @name PalletAssetsApproval (480) */ + /** @name PalletAssetsApproval (550) */ interface PalletAssetsApproval extends Struct { readonly amount: u128; readonly deposit: u128; } - /** @name PalletAssetsAssetMetadata (481) */ + /** @name PalletAssetsAssetMetadata (551) */ interface PalletAssetsAssetMetadata extends Struct { readonly deposit: u128; readonly name: Bytes; @@ -4905,7 +5370,7 @@ declare module '@polkadot/types/lookup' { readonly isFrozen: bool; } - /** @name PalletAssetsError (483) */ + /** @name PalletAssetsError (553) */ interface PalletAssetsError extends Enum { readonly isBalanceLow: boolean; readonly isNoAccount: boolean; @@ -4931,14 +5396,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'BalanceLow' | 'NoAccount' | 'NoPermission' | 'Unknown' | 'Frozen' | 'InUse' | 'BadWitness' | 'MinBalanceZero' | 'UnavailableConsumer' | 'BadMetadata' | 'Unapproved' | 'WouldDie' | 'AlreadyExists' | 'NoDeposit' | 'WouldBurn' | 'LiveAsset' | 'AssetNotLive' | 'IncorrectStatus' | 'NotFrozen' | 'CallbackFailed' | 'BadAssetId'; } - /** @name PalletBalancesBalanceLock (486) */ + /** @name PalletBalancesBalanceLock (555) */ interface PalletBalancesBalanceLock extends Struct { readonly id: U8aFixed; readonly amount: u128; readonly reasons: PalletBalancesReasons; } - /** @name PalletBalancesReasons (487) */ + /** @name PalletBalancesReasons (556) */ interface PalletBalancesReasons extends Enum { readonly isFee: boolean; readonly isMisc: boolean; @@ -4946,38 +5411,38 @@ declare module '@polkadot/types/lookup' { readonly type: 'Fee' | 'Misc' | 'All'; } - /** @name PalletBalancesReserveData (490) */ + /** @name PalletBalancesReserveData (559) */ interface PalletBalancesReserveData extends Struct { readonly id: U8aFixed; readonly amount: u128; } - /** @name FrameSupportTokensMiscIdAmountRuntimeHoldReason (493) */ + /** @name FrameSupportTokensMiscIdAmountRuntimeHoldReason (562) */ interface FrameSupportTokensMiscIdAmountRuntimeHoldReason extends Struct { readonly id: TangleTestnetRuntimeRuntimeHoldReason; readonly amount: u128; } - /** @name TangleTestnetRuntimeRuntimeHoldReason (494) */ + /** @name TangleTestnetRuntimeRuntimeHoldReason (563) */ interface TangleTestnetRuntimeRuntimeHoldReason extends Enum { readonly isPreimage: boolean; readonly asPreimage: PalletPreimageHoldReason; readonly type: 'Preimage'; } - /** @name PalletPreimageHoldReason (495) */ + /** @name PalletPreimageHoldReason (564) */ interface PalletPreimageHoldReason extends Enum { readonly isPreimage: boolean; readonly type: 'Preimage'; } - /** @name FrameSupportTokensMiscIdAmountRuntimeFreezeReason (498) */ + /** @name FrameSupportTokensMiscIdAmountRuntimeFreezeReason (567) */ interface FrameSupportTokensMiscIdAmountRuntimeFreezeReason extends Struct { readonly id: TangleTestnetRuntimeRuntimeFreezeReason; readonly amount: u128; } - /** @name TangleTestnetRuntimeRuntimeFreezeReason (499) */ + /** @name TangleTestnetRuntimeRuntimeFreezeReason (568) */ interface TangleTestnetRuntimeRuntimeFreezeReason extends Enum { readonly isNominationPools: boolean; readonly asNominationPools: PalletNominationPoolsFreezeReason; @@ -4986,19 +5451,19 @@ declare module '@polkadot/types/lookup' { readonly type: 'NominationPools' | 'Lst'; } - /** @name PalletNominationPoolsFreezeReason (500) */ + /** @name PalletNominationPoolsFreezeReason (569) */ interface PalletNominationPoolsFreezeReason extends Enum { readonly isPoolMinBalance: boolean; readonly type: 'PoolMinBalance'; } - /** @name PalletTangleLstFreezeReason (501) */ + /** @name PalletTangleLstFreezeReason (570) */ interface PalletTangleLstFreezeReason extends Enum { readonly isPoolMinBalance: boolean; readonly type: 'PoolMinBalance'; } - /** @name PalletBalancesError (503) */ + /** @name PalletBalancesError (572) */ interface PalletBalancesError extends Enum { readonly isVestingBalance: boolean; readonly isLiquidityRestrictions: boolean; @@ -5015,14 +5480,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'Expendability' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves' | 'TooManyHolds' | 'TooManyFreezes' | 'IssuanceDeactivated' | 'DeltaZero'; } - /** @name PalletTransactionPaymentReleases (505) */ + /** @name PalletTransactionPaymentReleases (574) */ interface PalletTransactionPaymentReleases extends Enum { readonly isV1Ancient: boolean; readonly isV2: boolean; readonly type: 'V1Ancient' | 'V2'; } - /** @name SpConsensusBabeDigestsPreDigest (512) */ + /** @name SpConsensusBabeDigestsPreDigest (581) */ interface SpConsensusBabeDigestsPreDigest extends Enum { readonly isPrimary: boolean; readonly asPrimary: SpConsensusBabeDigestsPrimaryPreDigest; @@ -5033,39 +5498,39 @@ declare module '@polkadot/types/lookup' { readonly type: 'Primary' | 'SecondaryPlain' | 'SecondaryVRF'; } - /** @name SpConsensusBabeDigestsPrimaryPreDigest (513) */ + /** @name SpConsensusBabeDigestsPrimaryPreDigest (582) */ interface SpConsensusBabeDigestsPrimaryPreDigest extends Struct { readonly authorityIndex: u32; readonly slot: u64; readonly vrfSignature: SpCoreSr25519VrfVrfSignature; } - /** @name SpCoreSr25519VrfVrfSignature (514) */ + /** @name SpCoreSr25519VrfVrfSignature (583) */ interface SpCoreSr25519VrfVrfSignature extends Struct { readonly preOutput: U8aFixed; readonly proof: U8aFixed; } - /** @name SpConsensusBabeDigestsSecondaryPlainPreDigest (515) */ + /** @name SpConsensusBabeDigestsSecondaryPlainPreDigest (584) */ interface SpConsensusBabeDigestsSecondaryPlainPreDigest extends Struct { readonly authorityIndex: u32; readonly slot: u64; } - /** @name SpConsensusBabeDigestsSecondaryVRFPreDigest (516) */ + /** @name SpConsensusBabeDigestsSecondaryVRFPreDigest (585) */ interface SpConsensusBabeDigestsSecondaryVRFPreDigest extends Struct { readonly authorityIndex: u32; readonly slot: u64; readonly vrfSignature: SpCoreSr25519VrfVrfSignature; } - /** @name SpConsensusBabeBabeEpochConfiguration (517) */ + /** @name SpConsensusBabeBabeEpochConfiguration (586) */ interface SpConsensusBabeBabeEpochConfiguration extends Struct { readonly c: ITuple<[u64, u64]>; readonly allowedSlots: SpConsensusBabeAllowedSlots; } - /** @name PalletBabeError (519) */ + /** @name PalletBabeError (588) */ interface PalletBabeError extends Enum { readonly isInvalidEquivocationProof: boolean; readonly isInvalidKeyOwnershipProof: boolean; @@ -5074,7 +5539,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidEquivocationProof' | 'InvalidKeyOwnershipProof' | 'DuplicateOffenceReport' | 'InvalidConfiguration'; } - /** @name PalletGrandpaStoredState (520) */ + /** @name PalletGrandpaStoredState (589) */ interface PalletGrandpaStoredState extends Enum { readonly isLive: boolean; readonly isPendingPause: boolean; @@ -5091,7 +5556,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Live' | 'PendingPause' | 'Paused' | 'PendingResume'; } - /** @name PalletGrandpaStoredPendingChange (521) */ + /** @name PalletGrandpaStoredPendingChange (590) */ interface PalletGrandpaStoredPendingChange extends Struct { readonly scheduledAt: u64; readonly delay: u64; @@ -5099,7 +5564,7 @@ declare module '@polkadot/types/lookup' { readonly forced: Option; } - /** @name PalletGrandpaError (523) */ + /** @name PalletGrandpaError (592) */ interface PalletGrandpaError extends Enum { readonly isPauseFailed: boolean; readonly isResumeFailed: boolean; @@ -5111,7 +5576,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'PauseFailed' | 'ResumeFailed' | 'ChangePending' | 'TooSoon' | 'InvalidKeyOwnershipProof' | 'InvalidEquivocationProof' | 'DuplicateOffenceReport'; } - /** @name PalletIndicesError (525) */ + /** @name PalletIndicesError (594) */ interface PalletIndicesError extends Enum { readonly isNotAssigned: boolean; readonly isNotOwner: boolean; @@ -5121,7 +5586,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotAssigned' | 'NotOwner' | 'InUse' | 'NotTransfer' | 'Permanent'; } - /** @name PalletDemocracyReferendumInfo (530) */ + /** @name PalletDemocracyReferendumInfo (599) */ interface PalletDemocracyReferendumInfo extends Enum { readonly isOngoing: boolean; readonly asOngoing: PalletDemocracyReferendumStatus; @@ -5133,7 +5598,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Ongoing' | 'Finished'; } - /** @name PalletDemocracyReferendumStatus (531) */ + /** @name PalletDemocracyReferendumStatus (600) */ interface PalletDemocracyReferendumStatus extends Struct { readonly end: u64; readonly proposal: FrameSupportPreimagesBounded; @@ -5142,14 +5607,14 @@ declare module '@polkadot/types/lookup' { readonly tally: PalletDemocracyTally; } - /** @name PalletDemocracyTally (532) */ + /** @name PalletDemocracyTally (601) */ interface PalletDemocracyTally extends Struct { readonly ayes: u128; readonly nays: u128; readonly turnout: u128; } - /** @name PalletDemocracyVoteVoting (533) */ + /** @name PalletDemocracyVoteVoting (602) */ interface PalletDemocracyVoteVoting extends Enum { readonly isDirect: boolean; readonly asDirect: { @@ -5168,16 +5633,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'Direct' | 'Delegating'; } - /** @name PalletDemocracyDelegations (537) */ + /** @name PalletDemocracyDelegations (606) */ interface PalletDemocracyDelegations extends Struct { readonly votes: u128; readonly capital: u128; } - /** @name PalletDemocracyVotePriorLock (538) */ + /** @name PalletDemocracyVotePriorLock (607) */ interface PalletDemocracyVotePriorLock extends ITuple<[u64, u128]> {} - /** @name PalletDemocracyError (541) */ + /** @name PalletDemocracyError (610) */ interface PalletDemocracyError extends Enum { readonly isValueLow: boolean; readonly isProposalMissing: boolean; @@ -5206,7 +5671,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ValueLow' | 'ProposalMissing' | 'AlreadyCanceled' | 'DuplicateProposal' | 'ProposalBlacklisted' | 'NotSimpleMajority' | 'InvalidHash' | 'NoProposal' | 'AlreadyVetoed' | 'ReferendumInvalid' | 'NoneWaiting' | 'NotVoter' | 'NoPermission' | 'AlreadyDelegating' | 'InsufficientFunds' | 'NotDelegating' | 'VotesExist' | 'InstantNotAllowed' | 'Nonsense' | 'WrongUpperBound' | 'MaxVotesReached' | 'TooMany' | 'VotingPeriodLow' | 'PreimageNotExist'; } - /** @name PalletCollectiveVotes (543) */ + /** @name PalletCollectiveVotes (612) */ interface PalletCollectiveVotes extends Struct { readonly index: u32; readonly threshold: u32; @@ -5215,7 +5680,7 @@ declare module '@polkadot/types/lookup' { readonly end: u64; } - /** @name PalletCollectiveError (544) */ + /** @name PalletCollectiveError (613) */ interface PalletCollectiveError extends Enum { readonly isNotMember: boolean; readonly isDuplicateProposal: boolean; @@ -5231,14 +5696,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotMember' | 'DuplicateProposal' | 'ProposalMissing' | 'WrongIndex' | 'DuplicateVote' | 'AlreadyInitialized' | 'TooEarly' | 'TooManyProposals' | 'WrongProposalWeight' | 'WrongProposalLength' | 'PrimeAccountNotMember'; } - /** @name PalletVestingReleases (547) */ + /** @name PalletVestingReleases (616) */ interface PalletVestingReleases extends Enum { readonly isV0: boolean; readonly isV1: boolean; readonly type: 'V0' | 'V1'; } - /** @name PalletVestingError (548) */ + /** @name PalletVestingError (617) */ interface PalletVestingError extends Enum { readonly isNotVesting: boolean; readonly isAtMaxVestingSchedules: boolean; @@ -5248,21 +5713,21 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotVesting' | 'AtMaxVestingSchedules' | 'AmountLow' | 'ScheduleIndexOutOfBounds' | 'InvalidScheduleParams'; } - /** @name PalletElectionsPhragmenSeatHolder (550) */ + /** @name PalletElectionsPhragmenSeatHolder (619) */ interface PalletElectionsPhragmenSeatHolder extends Struct { readonly who: AccountId32; readonly stake: u128; readonly deposit: u128; } - /** @name PalletElectionsPhragmenVoter (551) */ + /** @name PalletElectionsPhragmenVoter (620) */ interface PalletElectionsPhragmenVoter extends Struct { readonly votes: Vec; readonly stake: u128; readonly deposit: u128; } - /** @name PalletElectionsPhragmenError (552) */ + /** @name PalletElectionsPhragmenError (621) */ interface PalletElectionsPhragmenError extends Enum { readonly isUnableToVote: boolean; readonly isNoVotes: boolean; @@ -5284,20 +5749,20 @@ declare module '@polkadot/types/lookup' { readonly type: 'UnableToVote' | 'NoVotes' | 'TooManyVotes' | 'MaximumVotesExceeded' | 'LowBalance' | 'UnableToPayBond' | 'MustBeVoter' | 'DuplicatedCandidate' | 'TooManyCandidates' | 'MemberSubmit' | 'RunnerUpSubmit' | 'InsufficientCandidateFunds' | 'NotMember' | 'InvalidWitnessData' | 'InvalidVoteCount' | 'InvalidRenouncing' | 'InvalidReplacement'; } - /** @name PalletElectionProviderMultiPhaseReadySolution (553) */ + /** @name PalletElectionProviderMultiPhaseReadySolution (622) */ interface PalletElectionProviderMultiPhaseReadySolution extends Struct { readonly supports: Vec>; readonly score: SpNposElectionsElectionScore; readonly compute: PalletElectionProviderMultiPhaseElectionCompute; } - /** @name PalletElectionProviderMultiPhaseRoundSnapshot (555) */ + /** @name PalletElectionProviderMultiPhaseRoundSnapshot (624) */ interface PalletElectionProviderMultiPhaseRoundSnapshot extends Struct { readonly voters: Vec]>>; readonly targets: Vec; } - /** @name PalletElectionProviderMultiPhaseSignedSignedSubmission (562) */ + /** @name PalletElectionProviderMultiPhaseSignedSignedSubmission (631) */ interface PalletElectionProviderMultiPhaseSignedSignedSubmission extends Struct { readonly who: AccountId32; readonly deposit: u128; @@ -5305,7 +5770,7 @@ declare module '@polkadot/types/lookup' { readonly callFee: u128; } - /** @name PalletElectionProviderMultiPhaseError (563) */ + /** @name PalletElectionProviderMultiPhaseError (632) */ interface PalletElectionProviderMultiPhaseError extends Enum { readonly isPreDispatchEarlySubmission: boolean; readonly isPreDispatchWrongWinnerCount: boolean; @@ -5325,7 +5790,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'PreDispatchEarlySubmission' | 'PreDispatchWrongWinnerCount' | 'PreDispatchWeakSubmission' | 'SignedQueueFull' | 'SignedCannotPayDeposit' | 'SignedInvalidWitness' | 'SignedTooMuchWeight' | 'OcwCallWrongEra' | 'MissingSnapshotMetadata' | 'InvalidSubmissionIndex' | 'CallNotAllowed' | 'FallbackFailed' | 'BoundNotMet' | 'TooManyWinners' | 'PreDispatchDifferentRound'; } - /** @name PalletStakingStakingLedger (564) */ + /** @name PalletStakingStakingLedger (633) */ interface PalletStakingStakingLedger extends Struct { readonly stash: AccountId32; readonly total: Compact; @@ -5334,20 +5799,20 @@ declare module '@polkadot/types/lookup' { readonly legacyClaimedRewards: Vec; } - /** @name PalletStakingNominations (566) */ + /** @name PalletStakingNominations (635) */ interface PalletStakingNominations extends Struct { readonly targets: Vec; readonly submittedIn: u32; readonly suppressed: bool; } - /** @name PalletStakingActiveEraInfo (567) */ + /** @name PalletStakingActiveEraInfo (636) */ interface PalletStakingActiveEraInfo extends Struct { readonly index: u32; readonly start: Option; } - /** @name SpStakingPagedExposureMetadata (569) */ + /** @name SpStakingPagedExposureMetadata (638) */ interface SpStakingPagedExposureMetadata extends Struct { readonly total: Compact; readonly own: Compact; @@ -5355,19 +5820,19 @@ declare module '@polkadot/types/lookup' { readonly pageCount: u32; } - /** @name SpStakingExposurePage (571) */ + /** @name SpStakingExposurePage (640) */ interface SpStakingExposurePage extends Struct { readonly pageTotal: Compact; readonly others: Vec; } - /** @name PalletStakingEraRewardPoints (572) */ + /** @name PalletStakingEraRewardPoints (641) */ interface PalletStakingEraRewardPoints extends Struct { readonly total: u32; readonly individual: BTreeMap; } - /** @name PalletStakingUnappliedSlash (577) */ + /** @name PalletStakingUnappliedSlash (646) */ interface PalletStakingUnappliedSlash extends Struct { readonly validator: AccountId32; readonly own: u128; @@ -5376,7 +5841,7 @@ declare module '@polkadot/types/lookup' { readonly payout: u128; } - /** @name PalletStakingSlashingSlashingSpans (581) */ + /** @name PalletStakingSlashingSlashingSpans (650) */ interface PalletStakingSlashingSlashingSpans extends Struct { readonly spanIndex: u32; readonly lastStart: u32; @@ -5384,13 +5849,13 @@ declare module '@polkadot/types/lookup' { readonly prior: Vec; } - /** @name PalletStakingSlashingSpanRecord (582) */ + /** @name PalletStakingSlashingSpanRecord (651) */ interface PalletStakingSlashingSpanRecord extends Struct { readonly slashed: u128; readonly paidOut: u128; } - /** @name PalletStakingPalletError (583) */ + /** @name PalletStakingPalletError (652) */ interface PalletStakingPalletError extends Enum { readonly isNotController: boolean; readonly isNotStash: boolean; @@ -5426,10 +5891,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotController' | 'NotStash' | 'AlreadyBonded' | 'AlreadyPaired' | 'EmptyTargets' | 'DuplicateIndex' | 'InvalidSlashIndex' | 'InsufficientBond' | 'NoMoreChunks' | 'NoUnlockChunk' | 'FundedTarget' | 'InvalidEraToReward' | 'InvalidNumberOfNominations' | 'NotSortedAndUnique' | 'AlreadyClaimed' | 'InvalidPage' | 'IncorrectHistoryDepth' | 'IncorrectSlashingSpans' | 'BadState' | 'TooManyTargets' | 'BadTarget' | 'CannotChillOther' | 'TooManyNominators' | 'TooManyValidators' | 'CommissionTooLow' | 'BoundNotMet' | 'ControllerDeprecated' | 'CannotRestoreLedger' | 'RewardDestinationRestricted' | 'NotEnoughFunds' | 'VirtualStakerNotAllowed'; } - /** @name SpCoreCryptoKeyTypeId (587) */ + /** @name SpCoreCryptoKeyTypeId (656) */ interface SpCoreCryptoKeyTypeId extends U8aFixed {} - /** @name PalletSessionError (588) */ + /** @name PalletSessionError (657) */ interface PalletSessionError extends Enum { readonly isInvalidProof: boolean; readonly isNoAssociatedValidatorId: boolean; @@ -5439,7 +5904,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidProof' | 'NoAssociatedValidatorId' | 'DuplicatedKey' | 'NoKeys' | 'NoAccount'; } - /** @name PalletTreasuryProposal (590) */ + /** @name PalletTreasuryProposal (659) */ interface PalletTreasuryProposal extends Struct { readonly proposer: AccountId32; readonly value: u128; @@ -5447,7 +5912,7 @@ declare module '@polkadot/types/lookup' { readonly bond: u128; } - /** @name PalletTreasurySpendStatus (592) */ + /** @name PalletTreasurySpendStatus (661) */ interface PalletTreasurySpendStatus extends Struct { readonly assetKind: Null; readonly amount: u128; @@ -5457,7 +5922,7 @@ declare module '@polkadot/types/lookup' { readonly status: PalletTreasuryPaymentState; } - /** @name PalletTreasuryPaymentState (593) */ + /** @name PalletTreasuryPaymentState (662) */ interface PalletTreasuryPaymentState extends Enum { readonly isPending: boolean; readonly isAttempted: boolean; @@ -5468,10 +5933,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'Pending' | 'Attempted' | 'Failed'; } - /** @name FrameSupportPalletId (594) */ + /** @name FrameSupportPalletId (663) */ interface FrameSupportPalletId extends U8aFixed {} - /** @name PalletTreasuryError (595) */ + /** @name PalletTreasuryError (664) */ interface PalletTreasuryError extends Enum { readonly isInvalidIndex: boolean; readonly isTooManyApprovals: boolean; @@ -5487,7 +5952,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved' | 'FailedToConvertBalance' | 'SpendExpired' | 'EarlyPayout' | 'AlreadyAttempted' | 'PayoutError' | 'NotAttempted' | 'Inconclusive'; } - /** @name PalletBountiesBounty (596) */ + /** @name PalletBountiesBounty (665) */ interface PalletBountiesBounty extends Struct { readonly proposer: AccountId32; readonly value: u128; @@ -5497,7 +5962,7 @@ declare module '@polkadot/types/lookup' { readonly status: PalletBountiesBountyStatus; } - /** @name PalletBountiesBountyStatus (597) */ + /** @name PalletBountiesBountyStatus (666) */ interface PalletBountiesBountyStatus extends Enum { readonly isProposed: boolean; readonly isApproved: boolean; @@ -5520,7 +5985,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Proposed' | 'Approved' | 'Funded' | 'CuratorProposed' | 'Active' | 'PendingPayout'; } - /** @name PalletBountiesError (599) */ + /** @name PalletBountiesError (668) */ interface PalletBountiesError extends Enum { readonly isInsufficientProposersBalance: boolean; readonly isInvalidIndex: boolean; @@ -5536,7 +6001,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'ReasonTooBig' | 'UnexpectedStatus' | 'RequireCurator' | 'InvalidValue' | 'InvalidFee' | 'PendingPayout' | 'Premature' | 'HasActiveChildBounty' | 'TooManyQueued'; } - /** @name PalletChildBountiesChildBounty (600) */ + /** @name PalletChildBountiesChildBounty (669) */ interface PalletChildBountiesChildBounty extends Struct { readonly parentBounty: u32; readonly value: u128; @@ -5545,7 +6010,7 @@ declare module '@polkadot/types/lookup' { readonly status: PalletChildBountiesChildBountyStatus; } - /** @name PalletChildBountiesChildBountyStatus (601) */ + /** @name PalletChildBountiesChildBountyStatus (670) */ interface PalletChildBountiesChildBountyStatus extends Enum { readonly isAdded: boolean; readonly isCuratorProposed: boolean; @@ -5565,7 +6030,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Added' | 'CuratorProposed' | 'Active' | 'PendingPayout'; } - /** @name PalletChildBountiesError (602) */ + /** @name PalletChildBountiesError (671) */ interface PalletChildBountiesError extends Enum { readonly isParentBountyNotActive: boolean; readonly isInsufficientBountyBalance: boolean; @@ -5573,7 +6038,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ParentBountyNotActive' | 'InsufficientBountyBalance' | 'TooManyChildBounties'; } - /** @name PalletBagsListListNode (603) */ + /** @name PalletBagsListListNode (672) */ interface PalletBagsListListNode extends Struct { readonly id: AccountId32; readonly prev: Option; @@ -5582,20 +6047,20 @@ declare module '@polkadot/types/lookup' { readonly score: u64; } - /** @name PalletBagsListListBag (604) */ + /** @name PalletBagsListListBag (673) */ interface PalletBagsListListBag extends Struct { readonly head: Option; readonly tail: Option; } - /** @name PalletBagsListError (605) */ + /** @name PalletBagsListError (674) */ interface PalletBagsListError extends Enum { readonly isList: boolean; readonly asList: PalletBagsListListListError; readonly type: 'List'; } - /** @name PalletBagsListListListError (606) */ + /** @name PalletBagsListListListError (675) */ interface PalletBagsListListListError extends Enum { readonly isDuplicate: boolean; readonly isNotHeavier: boolean; @@ -5604,7 +6069,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Duplicate' | 'NotHeavier' | 'NotInSameBag' | 'NodeNotFound'; } - /** @name PalletNominationPoolsPoolMember (607) */ + /** @name PalletNominationPoolsPoolMember (676) */ interface PalletNominationPoolsPoolMember extends Struct { readonly poolId: u32; readonly points: u128; @@ -5612,7 +6077,7 @@ declare module '@polkadot/types/lookup' { readonly unbondingEras: BTreeMap; } - /** @name PalletNominationPoolsBondedPoolInner (612) */ + /** @name PalletNominationPoolsBondedPoolInner (681) */ interface PalletNominationPoolsBondedPoolInner extends Struct { readonly commission: PalletNominationPoolsCommission; readonly memberCounter: u32; @@ -5621,7 +6086,7 @@ declare module '@polkadot/types/lookup' { readonly state: PalletNominationPoolsPoolState; } - /** @name PalletNominationPoolsCommission (613) */ + /** @name PalletNominationPoolsCommission (682) */ interface PalletNominationPoolsCommission extends Struct { readonly current: Option>; readonly max: Option; @@ -5630,7 +6095,7 @@ declare module '@polkadot/types/lookup' { readonly claimPermission: Option; } - /** @name PalletNominationPoolsPoolRoles (616) */ + /** @name PalletNominationPoolsPoolRoles (685) */ interface PalletNominationPoolsPoolRoles extends Struct { readonly depositor: AccountId32; readonly root: Option; @@ -5638,7 +6103,7 @@ declare module '@polkadot/types/lookup' { readonly bouncer: Option; } - /** @name PalletNominationPoolsRewardPool (617) */ + /** @name PalletNominationPoolsRewardPool (686) */ interface PalletNominationPoolsRewardPool extends Struct { readonly lastRecordedRewardCounter: u128; readonly lastRecordedTotalPayouts: u128; @@ -5647,19 +6112,19 @@ declare module '@polkadot/types/lookup' { readonly totalCommissionClaimed: u128; } - /** @name PalletNominationPoolsSubPools (618) */ + /** @name PalletNominationPoolsSubPools (687) */ interface PalletNominationPoolsSubPools extends Struct { readonly noEra: PalletNominationPoolsUnbondPool; readonly withEra: BTreeMap; } - /** @name PalletNominationPoolsUnbondPool (619) */ + /** @name PalletNominationPoolsUnbondPool (688) */ interface PalletNominationPoolsUnbondPool extends Struct { readonly points: u128; readonly balance: u128; } - /** @name PalletNominationPoolsError (624) */ + /** @name PalletNominationPoolsError (693) */ interface PalletNominationPoolsError extends Enum { readonly isPoolNotFound: boolean; readonly isPoolMemberNotFound: boolean; @@ -5702,7 +6167,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'PoolNotFound' | 'PoolMemberNotFound' | 'RewardPoolNotFound' | 'SubPoolsNotFound' | 'AccountBelongsToOtherPool' | 'FullyUnbonding' | 'MaxUnbondingLimit' | 'CannotWithdrawAny' | 'MinimumBondNotMet' | 'OverflowRisk' | 'NotDestroying' | 'NotNominator' | 'NotKickerOrDestroying' | 'NotOpen' | 'MaxPools' | 'MaxPoolMembers' | 'CanNotChangeState' | 'DoesNotHavePermission' | 'MetadataExceedsMaxLen' | 'Defensive' | 'PartialUnbondNotAllowedPermissionlessly' | 'MaxCommissionRestricted' | 'CommissionExceedsMaximum' | 'CommissionExceedsGlobalMaximum' | 'CommissionChangeThrottled' | 'CommissionChangeRateNotAllowed' | 'NoPendingCommission' | 'NoCommissionCurrentSet' | 'PoolIdInUse' | 'InvalidPoolId' | 'BondExtraRestricted' | 'NothingToAdjust' | 'NothingToSlash' | 'SlashTooLow' | 'AlreadyMigrated' | 'NotMigrated' | 'NotSupported'; } - /** @name PalletNominationPoolsDefensiveError (625) */ + /** @name PalletNominationPoolsDefensiveError (694) */ interface PalletNominationPoolsDefensiveError extends Enum { readonly isNotEnoughSpaceInUnbondPool: boolean; readonly isPoolNotFound: boolean; @@ -5714,7 +6179,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotEnoughSpaceInUnbondPool' | 'PoolNotFound' | 'RewardPoolNotFound' | 'SubPoolsNotFound' | 'BondedStashKilledPrematurely' | 'DelegationUnsupported' | 'SlashNotApplied'; } - /** @name PalletSchedulerScheduled (628) */ + /** @name PalletSchedulerScheduled (697) */ interface PalletSchedulerScheduled extends Struct { readonly maybeId: Option; readonly priority: u8; @@ -5723,14 +6188,14 @@ declare module '@polkadot/types/lookup' { readonly origin: TangleTestnetRuntimeOriginCaller; } - /** @name PalletSchedulerRetryConfig (630) */ + /** @name PalletSchedulerRetryConfig (699) */ interface PalletSchedulerRetryConfig extends Struct { readonly totalRetries: u8; readonly remaining: u8; readonly period: u64; } - /** @name PalletSchedulerError (631) */ + /** @name PalletSchedulerError (700) */ interface PalletSchedulerError extends Enum { readonly isFailedToSchedule: boolean; readonly isNotFound: boolean; @@ -5740,7 +6205,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'FailedToSchedule' | 'NotFound' | 'TargetBlockNumberInPast' | 'RescheduleNoChange' | 'Named'; } - /** @name PalletPreimageOldRequestStatus (632) */ + /** @name PalletPreimageOldRequestStatus (701) */ interface PalletPreimageOldRequestStatus extends Enum { readonly isUnrequested: boolean; readonly asUnrequested: { @@ -5756,7 +6221,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unrequested' | 'Requested'; } - /** @name PalletPreimageRequestStatus (634) */ + /** @name PalletPreimageRequestStatus (703) */ interface PalletPreimageRequestStatus extends Enum { readonly isUnrequested: boolean; readonly asUnrequested: { @@ -5772,7 +6237,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unrequested' | 'Requested'; } - /** @name PalletPreimageError (638) */ + /** @name PalletPreimageError (707) */ interface PalletPreimageError extends Enum { readonly isTooBig: boolean; readonly isAlreadyNoted: boolean; @@ -5786,13 +6251,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'TooBig' | 'AlreadyNoted' | 'NotAuthorized' | 'NotNoted' | 'Requested' | 'NotRequested' | 'TooMany' | 'TooFew' | 'NoCost'; } - /** @name SpStakingOffenceOffenceDetails (639) */ + /** @name SpStakingOffenceOffenceDetails (708) */ interface SpStakingOffenceOffenceDetails extends Struct { readonly offender: ITuple<[AccountId32, SpStakingExposure]>; readonly reporters: Vec; } - /** @name PalletTxPauseError (641) */ + /** @name PalletTxPauseError (710) */ interface PalletTxPauseError extends Enum { readonly isIsPaused: boolean; readonly isIsUnpaused: boolean; @@ -5801,34 +6266,34 @@ declare module '@polkadot/types/lookup' { readonly type: 'IsPaused' | 'IsUnpaused' | 'Unpausable' | 'NotFound'; } - /** @name PalletImOnlineError (644) */ + /** @name PalletImOnlineError (713) */ interface PalletImOnlineError extends Enum { readonly isInvalidKey: boolean; readonly isDuplicatedHeartbeat: boolean; readonly type: 'InvalidKey' | 'DuplicatedHeartbeat'; } - /** @name PalletIdentityRegistration (646) */ + /** @name PalletIdentityRegistration (715) */ interface PalletIdentityRegistration extends Struct { readonly judgements: Vec>; readonly deposit: u128; readonly info: PalletIdentityLegacyIdentityInfo; } - /** @name PalletIdentityRegistrarInfo (655) */ + /** @name PalletIdentityRegistrarInfo (724) */ interface PalletIdentityRegistrarInfo extends Struct { readonly account: AccountId32; readonly fee: u128; readonly fields: u64; } - /** @name PalletIdentityAuthorityProperties (657) */ + /** @name PalletIdentityAuthorityProperties (726) */ interface PalletIdentityAuthorityProperties extends Struct { readonly suffix: Bytes; readonly allocation: u32; } - /** @name PalletIdentityError (660) */ + /** @name PalletIdentityError (729) */ interface PalletIdentityError extends Enum { readonly isTooManySubAccounts: boolean; readonly isNotFound: boolean; @@ -5859,13 +6324,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'TooManySubAccounts' | 'NotFound' | 'NotNamed' | 'EmptyIndex' | 'FeeChanged' | 'NoIdentity' | 'StickyJudgement' | 'JudgementGiven' | 'InvalidJudgement' | 'InvalidIndex' | 'InvalidTarget' | 'TooManyRegistrars' | 'AlreadyClaimed' | 'NotSub' | 'NotOwned' | 'JudgementForDifferentIdentity' | 'JudgementPaymentFailed' | 'InvalidSuffix' | 'NotUsernameAuthority' | 'NoAllocation' | 'InvalidSignature' | 'RequiresSignature' | 'InvalidUsername' | 'UsernameTaken' | 'NoUsername' | 'NotExpired'; } - /** @name PalletUtilityError (661) */ + /** @name PalletUtilityError (730) */ interface PalletUtilityError extends Enum { readonly isTooManyCalls: boolean; readonly type: 'TooManyCalls'; } - /** @name PalletMultisigMultisig (663) */ + /** @name PalletMultisigMultisig (732) */ interface PalletMultisigMultisig extends Struct { readonly when: PalletMultisigTimepoint; readonly deposit: u128; @@ -5873,7 +6338,7 @@ declare module '@polkadot/types/lookup' { readonly approvals: Vec; } - /** @name PalletMultisigError (664) */ + /** @name PalletMultisigError (733) */ interface PalletMultisigError extends Enum { readonly isMinimumThreshold: boolean; readonly isAlreadyApproved: boolean; @@ -5892,7 +6357,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'MinimumThreshold' | 'AlreadyApproved' | 'NoApprovalsNeeded' | 'TooFewSignatories' | 'TooManySignatories' | 'SignatoriesOutOfOrder' | 'SenderInSignatories' | 'NotFound' | 'NotOwner' | 'NoTimepoint' | 'WrongTimepoint' | 'UnexpectedTimepoint' | 'MaxWeightTooLow' | 'AlreadyStored'; } - /** @name FpRpcTransactionStatus (667) */ + /** @name FpRpcTransactionStatus (736) */ interface FpRpcTransactionStatus extends Struct { readonly transactionHash: H256; readonly transactionIndex: u32; @@ -5903,10 +6368,10 @@ declare module '@polkadot/types/lookup' { readonly logsBloom: EthbloomBloom; } - /** @name EthbloomBloom (669) */ + /** @name EthbloomBloom (738) */ interface EthbloomBloom extends U8aFixed {} - /** @name EthereumReceiptReceiptV3 (671) */ + /** @name EthereumReceiptReceiptV3 (740) */ interface EthereumReceiptReceiptV3 extends Enum { readonly isLegacy: boolean; readonly asLegacy: EthereumReceiptEip658ReceiptData; @@ -5917,7 +6382,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Legacy' | 'Eip2930' | 'Eip1559'; } - /** @name EthereumReceiptEip658ReceiptData (672) */ + /** @name EthereumReceiptEip658ReceiptData (741) */ interface EthereumReceiptEip658ReceiptData extends Struct { readonly statusCode: u8; readonly usedGas: U256; @@ -5925,14 +6390,14 @@ declare module '@polkadot/types/lookup' { readonly logs: Vec; } - /** @name EthereumBlock (673) */ + /** @name EthereumBlock (742) */ interface EthereumBlock extends Struct { readonly header: EthereumHeader; readonly transactions: Vec; readonly ommers: Vec; } - /** @name EthereumHeader (674) */ + /** @name EthereumHeader (743) */ interface EthereumHeader extends Struct { readonly parentHash: H256; readonly ommersHash: H256; @@ -5951,23 +6416,23 @@ declare module '@polkadot/types/lookup' { readonly nonce: EthereumTypesHashH64; } - /** @name EthereumTypesHashH64 (675) */ + /** @name EthereumTypesHashH64 (744) */ interface EthereumTypesHashH64 extends U8aFixed {} - /** @name PalletEthereumError (680) */ + /** @name PalletEthereumError (749) */ interface PalletEthereumError extends Enum { readonly isInvalidSignature: boolean; readonly isPreLogExists: boolean; readonly type: 'InvalidSignature' | 'PreLogExists'; } - /** @name PalletEvmCodeMetadata (681) */ + /** @name PalletEvmCodeMetadata (750) */ interface PalletEvmCodeMetadata extends Struct { readonly size_: u64; readonly hash_: H256; } - /** @name PalletEvmError (683) */ + /** @name PalletEvmError (752) */ interface PalletEvmError extends Enum { readonly isBalanceLow: boolean; readonly isFeeOverflow: boolean; @@ -5985,13 +6450,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce' | 'GasLimitTooLow' | 'GasLimitTooHigh' | 'InvalidChainId' | 'InvalidSignature' | 'Reentrancy' | 'TransactionMustComeFromEOA' | 'Undefined'; } - /** @name PalletHotfixSufficientsError (684) */ + /** @name PalletHotfixSufficientsError (753) */ interface PalletHotfixSufficientsError extends Enum { readonly isMaxAddressCountExceeded: boolean; readonly type: 'MaxAddressCountExceeded'; } - /** @name PalletAirdropClaimsError (686) */ + /** @name PalletAirdropClaimsError (755) */ interface PalletAirdropClaimsError extends Enum { readonly isInvalidEthereumSignature: boolean; readonly isInvalidNativeSignature: boolean; @@ -6004,21 +6469,21 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidEthereumSignature' | 'InvalidNativeSignature' | 'InvalidNativeAccount' | 'SignerHasNoClaim' | 'SenderHasNoClaim' | 'PotUnderflow' | 'InvalidStatement' | 'VestedBalanceExists'; } - /** @name PalletProxyProxyDefinition (689) */ + /** @name PalletProxyProxyDefinition (758) */ interface PalletProxyProxyDefinition extends Struct { readonly delegate: AccountId32; readonly proxyType: TangleTestnetRuntimeProxyType; readonly delay: u64; } - /** @name PalletProxyAnnouncement (693) */ + /** @name PalletProxyAnnouncement (762) */ interface PalletProxyAnnouncement extends Struct { readonly real: AccountId32; readonly callHash: H256; readonly height: u64; } - /** @name PalletProxyError (695) */ + /** @name PalletProxyError (764) */ interface PalletProxyError extends Enum { readonly isTooMany: boolean; readonly isNotFound: boolean; @@ -6031,7 +6496,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'TooMany' | 'NotFound' | 'NotProxy' | 'Unproxyable' | 'Duplicate' | 'NoPermission' | 'Unannounced' | 'NoSelfProxy'; } - /** @name PalletMultiAssetDelegationOperatorOperatorMetadata (696) */ + /** @name PalletMultiAssetDelegationOperatorOperatorMetadata (765) */ interface PalletMultiAssetDelegationOperatorOperatorMetadata extends Struct { readonly stake: u128; readonly delegationCount: u32; @@ -6041,26 +6506,26 @@ declare module '@polkadot/types/lookup' { readonly blueprintIds: Vec; } - /** @name TangleTestnetRuntimeMaxDelegations (697) */ + /** @name TangleTestnetRuntimeMaxDelegations (766) */ type TangleTestnetRuntimeMaxDelegations = Null; - /** @name TangleTestnetRuntimeMaxOperatorBlueprints (698) */ + /** @name TangleTestnetRuntimeMaxOperatorBlueprints (767) */ type TangleTestnetRuntimeMaxOperatorBlueprints = Null; - /** @name PalletMultiAssetDelegationOperatorOperatorBondLessRequest (700) */ + /** @name PalletMultiAssetDelegationOperatorOperatorBondLessRequest (769) */ interface PalletMultiAssetDelegationOperatorOperatorBondLessRequest extends Struct { readonly amount: u128; readonly requestTime: u32; } - /** @name PalletMultiAssetDelegationOperatorDelegatorBond (702) */ + /** @name PalletMultiAssetDelegationOperatorDelegatorBond (771) */ interface PalletMultiAssetDelegationOperatorDelegatorBond extends Struct { readonly delegator: AccountId32; readonly amount: u128; readonly asset: TanglePrimitivesServicesTypesAsset; } - /** @name PalletMultiAssetDelegationOperatorOperatorStatus (704) */ + /** @name PalletMultiAssetDelegationOperatorOperatorStatus (773) */ interface PalletMultiAssetDelegationOperatorOperatorStatus extends Enum { readonly isActive: boolean; readonly isInactive: boolean; @@ -6069,13 +6534,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'Active' | 'Inactive' | 'Leaving'; } - /** @name PalletMultiAssetDelegationOperatorOperatorSnapshot (706) */ + /** @name PalletMultiAssetDelegationOperatorOperatorSnapshot (775) */ interface PalletMultiAssetDelegationOperatorOperatorSnapshot extends Struct { readonly stake: u128; readonly delegations: Vec; } - /** @name PalletMultiAssetDelegationDelegatorDelegatorMetadata (707) */ + /** @name PalletMultiAssetDelegationDelegatorDelegatorMetadata (776) */ interface PalletMultiAssetDelegationDelegatorDelegatorMetadata extends Struct { readonly deposits: BTreeMap; readonly withdrawRequests: Vec; @@ -6084,34 +6549,34 @@ declare module '@polkadot/types/lookup' { readonly status: PalletMultiAssetDelegationDelegatorDelegatorStatus; } - /** @name TangleTestnetRuntimeMaxWithdrawRequests (708) */ + /** @name TangleTestnetRuntimeMaxWithdrawRequests (777) */ type TangleTestnetRuntimeMaxWithdrawRequests = Null; - /** @name TangleTestnetRuntimeMaxUnstakeRequests (709) */ + /** @name TangleTestnetRuntimeMaxUnstakeRequests (778) */ type TangleTestnetRuntimeMaxUnstakeRequests = Null; - /** @name PalletMultiAssetDelegationDelegatorDeposit (711) */ + /** @name PalletMultiAssetDelegationDelegatorDeposit (780) */ interface PalletMultiAssetDelegationDelegatorDeposit extends Struct { readonly amount: u128; readonly delegatedAmount: u128; readonly locks: Option>; } - /** @name TanglePrimitivesRewardsLockInfo (714) */ + /** @name TanglePrimitivesRewardsLockInfo (783) */ interface TanglePrimitivesRewardsLockInfo extends Struct { readonly amount: u128; readonly lockMultiplier: TanglePrimitivesRewardsLockMultiplier; readonly expiryBlock: u64; } - /** @name PalletMultiAssetDelegationDelegatorWithdrawRequest (719) */ + /** @name PalletMultiAssetDelegationDelegatorWithdrawRequest (788) */ interface PalletMultiAssetDelegationDelegatorWithdrawRequest extends Struct { readonly asset: TanglePrimitivesServicesTypesAsset; readonly amount: u128; readonly requestedRound: u32; } - /** @name PalletMultiAssetDelegationDelegatorBondInfoDelegator (722) */ + /** @name PalletMultiAssetDelegationDelegatorBondInfoDelegator (791) */ interface PalletMultiAssetDelegationDelegatorBondInfoDelegator extends Struct { readonly operator: AccountId32; readonly amount: u128; @@ -6120,7 +6585,7 @@ declare module '@polkadot/types/lookup' { readonly isNomination: bool; } - /** @name PalletMultiAssetDelegationDelegatorBondLessRequest (725) */ + /** @name PalletMultiAssetDelegationDelegatorBondLessRequest (794) */ interface PalletMultiAssetDelegationDelegatorBondLessRequest extends Struct { readonly operator: AccountId32; readonly asset: TanglePrimitivesServicesTypesAsset; @@ -6130,7 +6595,7 @@ declare module '@polkadot/types/lookup' { readonly isNomination: bool; } - /** @name PalletMultiAssetDelegationDelegatorDelegatorStatus (727) */ + /** @name PalletMultiAssetDelegationDelegatorDelegatorStatus (796) */ interface PalletMultiAssetDelegationDelegatorDelegatorStatus extends Enum { readonly isActive: boolean; readonly isLeavingScheduled: boolean; @@ -6138,7 +6603,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Active' | 'LeavingScheduled'; } - /** @name PalletMultiAssetDelegationError (728) */ + /** @name PalletMultiAssetDelegationError (797) */ interface PalletMultiAssetDelegationError extends Enum { readonly isAlreadyOperator: boolean; readonly isBondTooLow: boolean; @@ -6199,7 +6664,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AlreadyOperator' | 'BondTooLow' | 'InvalidAmount' | 'NotAnOperator' | 'CannotExit' | 'AlreadyLeaving' | 'NotLeavingOperator' | 'LeavingRoundNotReached' | 'NoScheduledBondLess' | 'BondLessRequestNotSatisfied' | 'NotActiveOperator' | 'NotOfflineOperator' | 'AlreadyDelegator' | 'NotDelegator' | 'WithdrawRequestAlreadyExists' | 'InsufficientBalance' | 'NoWithdrawRequest' | 'NoBondLessRequest' | 'BondLessNotReady' | 'BondLessRequestAlreadyExists' | 'ActiveServicesUsingAsset' | 'NoActiveDelegation' | 'AssetNotWhitelisted' | 'NotAuthorized' | 'MaxBlueprintsExceeded' | 'AssetNotFound' | 'BlueprintAlreadyWhitelisted' | 'NoWithdrawRequests' | 'NoMatchingwithdrawRequest' | 'AssetAlreadyInVault' | 'AssetNotInVault' | 'VaultNotFound' | 'DuplicateBlueprintId' | 'BlueprintIdNotFound' | 'NotInFixedMode' | 'MaxDelegationsExceeded' | 'MaxUnstakeRequestsExceeded' | 'MaxWithdrawRequestsExceeded' | 'DepositOverflow' | 'UnstakeAmountTooLarge' | 'StakeOverflow' | 'InsufficientStakeRemaining' | 'ApyExceedsMaximum' | 'CapCannotBeZero' | 'CapExceedsTotalSupply' | 'PendingUnstakeRequestExists' | 'BlueprintNotSelected' | 'Erc20TransferFailed' | 'EvmAbiEncode' | 'EvmAbiDecode' | 'LockViolation' | 'DepositExceedsCapForAsset' | 'OverflowRisk' | 'AssetConfigNotFound' | 'CannotGoOfflineWithActiveServices' | 'NotNominator'; } - /** @name TanglePrimitivesServicesServiceServiceRequest (731) */ + /** @name TanglePrimitivesServicesServiceServiceRequest (800) */ interface TanglePrimitivesServicesServiceServiceRequest extends Struct { readonly blueprint: u64; readonly owner: AccountId32; @@ -6211,7 +6676,7 @@ declare module '@polkadot/types/lookup' { readonly membershipModel: TanglePrimitivesServicesTypesMembershipModel; } - /** @name TanglePrimitivesServicesTypesApprovalState (736) */ + /** @name TanglePrimitivesServicesTypesApprovalState (805) */ interface TanglePrimitivesServicesTypesApprovalState extends Enum { readonly isPending: boolean; readonly isApproved: boolean; @@ -6222,7 +6687,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Pending' | 'Approved' | 'Rejected'; } - /** @name TanglePrimitivesServicesService (738) */ + /** @name TanglePrimitivesServicesService (807) */ interface TanglePrimitivesServicesService extends Struct { readonly id: u64; readonly blueprint: u64; @@ -6234,21 +6699,21 @@ declare module '@polkadot/types/lookup' { readonly membershipModel: TanglePrimitivesServicesTypesMembershipModel; } - /** @name TanglePrimitivesServicesJobsJobCall (741) */ + /** @name TanglePrimitivesServicesJobsJobCall (810) */ interface TanglePrimitivesServicesJobsJobCall extends Struct { readonly serviceId: u64; readonly job: u8; readonly args: Vec; } - /** @name TanglePrimitivesServicesJobsJobCallResult (742) */ + /** @name TanglePrimitivesServicesJobsJobCallResult (811) */ interface TanglePrimitivesServicesJobsJobCallResult extends Struct { readonly serviceId: u64; readonly callId: u64; readonly result: Vec; } - /** @name TanglePrimitivesServicesTypesUnappliedSlash (743) */ + /** @name TanglePrimitivesServicesTypesUnappliedSlash (812) */ interface TanglePrimitivesServicesTypesUnappliedSlash extends Struct { readonly era: u32; readonly blueprintId: u64; @@ -6257,13 +6722,13 @@ declare module '@polkadot/types/lookup' { readonly slashPercent: Percent; } - /** @name TanglePrimitivesServicesTypesOperatorProfile (745) */ + /** @name TanglePrimitivesServicesTypesOperatorProfile (814) */ interface TanglePrimitivesServicesTypesOperatorProfile extends Struct { readonly services: BTreeSet; readonly blueprints: BTreeSet; } - /** @name TanglePrimitivesServicesServiceStagingServicePayment (748) */ + /** @name TanglePrimitivesServicesServiceStagingServicePayment (817) */ interface TanglePrimitivesServicesServiceStagingServicePayment extends Struct { readonly requestId: u64; readonly refundTo: TanglePrimitivesAccount; @@ -6271,7 +6736,7 @@ declare module '@polkadot/types/lookup' { readonly amount: u128; } - /** @name TanglePrimitivesAccount (749) */ + /** @name TanglePrimitivesAccount (818) */ interface TanglePrimitivesAccount extends Enum { readonly isId: boolean; readonly asId: AccountId32; @@ -6280,7 +6745,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Id' | 'Address'; } - /** @name PalletServicesModuleError (750) */ + /** @name PalletServicesModuleError (819) */ interface PalletServicesModuleError extends Enum { readonly isBlueprintNotFound: boolean; readonly isBlueprintCreationInterrupted: boolean; @@ -6358,7 +6823,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'BlueprintNotFound' | 'BlueprintCreationInterrupted' | 'AlreadyRegistered' | 'DuplicateKey' | 'InvalidRegistrationInput' | 'NotAllowedToUnregister' | 'NotAllowedToUpdatePriceTargets' | 'InvalidRequestInput' | 'InvalidJobCallInput' | 'InvalidJobResult' | 'NotRegistered' | 'ApprovalInterrupted' | 'RejectionInterrupted' | 'ServiceRequestNotFound' | 'ServiceInitializationInterrupted' | 'ServiceNotFound' | 'TerminationInterrupted' | 'TypeCheck' | 'MaxPermittedCallersExceeded' | 'MaxServiceProvidersExceeded' | 'MaxServicesPerUserExceeded' | 'MaxFieldsExceeded' | 'ApprovalNotRequested' | 'JobDefinitionNotFound' | 'ServiceOrJobCallNotFound' | 'JobCallResultNotFound' | 'EvmAbiEncode' | 'EvmAbiDecode' | 'OperatorProfileNotFound' | 'MaxServicesPerOperatorExceeded' | 'MaxBlueprintsPerOperatorExceeded' | 'OperatorNotActive' | 'DuplicateOperator' | 'TooManyOperators' | 'TooFewOperators' | 'NoAssetsProvided' | 'DuplicateAsset' | 'MaxAssetsPerServiceExceeded' | 'NativeAssetExposureTooLow' | 'NoNativeAsset' | 'OffenderNotOperator' | 'OffenderNotActiveOperator' | 'NoSlashingOrigin' | 'NoDisputeOrigin' | 'UnappliedSlashNotFound' | 'MasterBlueprintServiceManagerRevisionNotFound' | 'DuplicateMembershipModel' | 'MaxMasterBlueprintServiceManagerVersionsExceeded' | 'Erc20TransferFailed' | 'MissingEVMOrigin' | 'ExpectedEVMAddress' | 'ExpectedAccountId' | 'OnRequestFailure' | 'OnRegisterHookFailed' | 'OnApproveFailure' | 'OnRejectFailure' | 'OnServiceInitHook' | 'UnsupportedMembershipModel' | 'DynamicMembershipNotSupported' | 'JoinRejected' | 'LeaveRejected' | 'MaxOperatorsReached' | 'OnCanJoinFailure' | 'OnCanLeaveFailure' | 'OnOperatorJoinFailure' | 'OnOperatorLeaveFailure' | 'AlreadyJoined' | 'NotAnOperator' | 'InvalidSlashPercentage' | 'InvalidKey' | 'InvalidSecurityCommitments' | 'InvalidSecurityRequirements'; } - /** @name TanglePrimitivesServicesTypesTypeCheckError (751) */ + /** @name TanglePrimitivesServicesTypesTypeCheckError (820) */ interface TanglePrimitivesServicesTypesTypeCheckError extends Enum { readonly isArgumentTypeMismatch: boolean; readonly asArgumentTypeMismatch: { @@ -6380,7 +6845,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ArgumentTypeMismatch' | 'NotEnoughArguments' | 'ResultTypeMismatch'; } - /** @name PalletTangleLstBondedPoolBondedPoolInner (752) */ + /** @name PalletTangleLstBondedPoolBondedPoolInner (821) */ interface PalletTangleLstBondedPoolBondedPoolInner extends Struct { readonly commission: PalletTangleLstCommission; readonly roles: PalletTangleLstPoolsPoolRoles; @@ -6388,7 +6853,7 @@ declare module '@polkadot/types/lookup' { readonly metadata: PalletTangleLstBondedPoolPoolMetadata; } - /** @name PalletTangleLstCommission (753) */ + /** @name PalletTangleLstCommission (822) */ interface PalletTangleLstCommission extends Struct { readonly current: Option>; readonly max: Option; @@ -6397,7 +6862,7 @@ declare module '@polkadot/types/lookup' { readonly claimPermission: Option; } - /** @name PalletTangleLstPoolsPoolRoles (755) */ + /** @name PalletTangleLstPoolsPoolRoles (824) */ interface PalletTangleLstPoolsPoolRoles extends Struct { readonly depositor: AccountId32; readonly root: Option; @@ -6405,13 +6870,13 @@ declare module '@polkadot/types/lookup' { readonly bouncer: Option; } - /** @name PalletTangleLstBondedPoolPoolMetadata (756) */ + /** @name PalletTangleLstBondedPoolPoolMetadata (825) */ interface PalletTangleLstBondedPoolPoolMetadata extends Struct { readonly name: Option; readonly icon: Option; } - /** @name PalletTangleLstSubPoolsRewardPool (757) */ + /** @name PalletTangleLstSubPoolsRewardPool (826) */ interface PalletTangleLstSubPoolsRewardPool extends Struct { readonly lastRecordedRewardCounter: u128; readonly lastRecordedTotalPayouts: u128; @@ -6420,24 +6885,24 @@ declare module '@polkadot/types/lookup' { readonly totalCommissionClaimed: u128; } - /** @name PalletTangleLstSubPools (758) */ + /** @name PalletTangleLstSubPools (827) */ interface PalletTangleLstSubPools extends Struct { readonly noEra: PalletTangleLstSubPoolsUnbondPool; readonly withEra: BTreeMap; } - /** @name PalletTangleLstSubPoolsUnbondPool (759) */ + /** @name PalletTangleLstSubPoolsUnbondPool (828) */ interface PalletTangleLstSubPoolsUnbondPool extends Struct { readonly points: u128; readonly balance: u128; } - /** @name PalletTangleLstPoolsPoolMember (765) */ + /** @name PalletTangleLstPoolsPoolMember (834) */ interface PalletTangleLstPoolsPoolMember extends Struct { readonly unbondingEras: BTreeMap>; } - /** @name PalletTangleLstClaimPermission (770) */ + /** @name PalletTangleLstClaimPermission (839) */ interface PalletTangleLstClaimPermission extends Enum { readonly isPermissioned: boolean; readonly isPermissionlessCompound: boolean; @@ -6446,7 +6911,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Permissioned' | 'PermissionlessCompound' | 'PermissionlessWithdraw' | 'PermissionlessAll'; } - /** @name PalletTangleLstError (771) */ + /** @name PalletTangleLstError (840) */ interface PalletTangleLstError extends Enum { readonly isPoolNotFound: boolean; readonly isPoolMemberNotFound: boolean; @@ -6485,7 +6950,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'PoolNotFound' | 'PoolMemberNotFound' | 'RewardPoolNotFound' | 'SubPoolsNotFound' | 'FullyUnbonding' | 'MaxUnbondingLimit' | 'CannotWithdrawAny' | 'MinimumBondNotMet' | 'OverflowRisk' | 'NotDestroying' | 'NotNominator' | 'NotKickerOrDestroying' | 'NotOpen' | 'MaxPools' | 'MaxPoolMembers' | 'CanNotChangeState' | 'DoesNotHavePermission' | 'MetadataExceedsMaxLen' | 'Defensive' | 'PartialUnbondNotAllowedPermissionlessly' | 'MaxCommissionRestricted' | 'CommissionExceedsMaximum' | 'CommissionExceedsGlobalMaximum' | 'CommissionChangeThrottled' | 'CommissionChangeRateNotAllowed' | 'NoPendingCommission' | 'NoCommissionCurrentSet' | 'PoolIdInUse' | 'InvalidPoolId' | 'BondExtraRestricted' | 'NothingToAdjust' | 'PoolTokenCreationFailed' | 'NoBalanceToUnbond'; } - /** @name PalletTangleLstDefensiveError (772) */ + /** @name PalletTangleLstDefensiveError (841) */ interface PalletTangleLstDefensiveError extends Enum { readonly isNotEnoughSpaceInUnbondPool: boolean; readonly isPoolNotFound: boolean; @@ -6495,7 +6960,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotEnoughSpaceInUnbondPool' | 'PoolNotFound' | 'RewardPoolNotFound' | 'SubPoolsNotFound' | 'BondedStashKilledPrematurely'; } - /** @name PalletRewardsError (776) */ + /** @name PalletRewardsError (845) */ interface PalletRewardsError extends Enum { readonly isNoRewardsAvailable: boolean; readonly isInsufficientRewardsBalance: boolean; @@ -6524,40 +6989,67 @@ declare module '@polkadot/types/lookup' { readonly type: 'NoRewardsAvailable' | 'InsufficientRewardsBalance' | 'AssetNotWhitelisted' | 'AssetAlreadyWhitelisted' | 'InvalidAPY' | 'AssetAlreadyInVault' | 'AssetNotInVault' | 'VaultNotFound' | 'DuplicateBlueprintId' | 'BlueprintIdNotFound' | 'RewardConfigNotFound' | 'CannotCalculatePropotionalApy' | 'CannotCalculateRewardPerBlock' | 'IncentiveCapGreaterThanDepositCap' | 'BoostMultiplierMustBeOne' | 'VaultAlreadyExists' | 'TotalDepositLessThanIncentiveCap' | 'PotAlreadyExists' | 'PotAccountNotFound' | 'InvalidDecayRate' | 'IncentiveCapGreaterThanMaxIncentiveCap' | 'DepositCapGreaterThanMaxDepositCap' | 'IncentiveCapLessThanMinIncentiveCap' | 'DepositCapLessThanMinDepositCap'; } - /** @name FrameSystemExtensionsCheckNonZeroSender (779) */ + /** @name PalletIsmpError (846) */ + interface PalletIsmpError extends Enum { + readonly isInvalidMessage: boolean; + readonly isMessageNotFound: boolean; + readonly isConsensusClientCreationFailed: boolean; + readonly isUnbondingPeriodUpdateFailed: boolean; + readonly isChallengePeriodUpdateFailed: boolean; + readonly type: 'InvalidMessage' | 'MessageNotFound' | 'ConsensusClientCreationFailed' | 'UnbondingPeriodUpdateFailed' | 'ChallengePeriodUpdateFailed'; + } + + /** @name PalletHyperbridgeError (847) */ + type PalletHyperbridgeError = Null; + + /** @name PalletTokenGatewayError (849) */ + interface PalletTokenGatewayError extends Enum { + readonly isUnregisteredAsset: boolean; + readonly isAssetTeleportError: boolean; + readonly isCoprocessorNotConfigured: boolean; + readonly isDispatchError: boolean; + readonly isAssetCreationError: boolean; + readonly isAssetDecimalsNotFound: boolean; + readonly isNotInitialized: boolean; + readonly isUnknownAsset: boolean; + readonly isNotAssetOwner: boolean; + readonly type: 'UnregisteredAsset' | 'AssetTeleportError' | 'CoprocessorNotConfigured' | 'DispatchError' | 'AssetCreationError' | 'AssetDecimalsNotFound' | 'NotInitialized' | 'UnknownAsset' | 'NotAssetOwner'; + } + + /** @name FrameSystemExtensionsCheckNonZeroSender (852) */ type FrameSystemExtensionsCheckNonZeroSender = Null; - /** @name FrameSystemExtensionsCheckSpecVersion (780) */ + /** @name FrameSystemExtensionsCheckSpecVersion (853) */ type FrameSystemExtensionsCheckSpecVersion = Null; - /** @name FrameSystemExtensionsCheckTxVersion (781) */ + /** @name FrameSystemExtensionsCheckTxVersion (854) */ type FrameSystemExtensionsCheckTxVersion = Null; - /** @name FrameSystemExtensionsCheckGenesis (782) */ + /** @name FrameSystemExtensionsCheckGenesis (855) */ type FrameSystemExtensionsCheckGenesis = Null; - /** @name FrameSystemExtensionsCheckNonce (785) */ + /** @name FrameSystemExtensionsCheckNonce (858) */ interface FrameSystemExtensionsCheckNonce extends Compact {} - /** @name FrameSystemExtensionsCheckWeight (786) */ + /** @name FrameSystemExtensionsCheckWeight (859) */ type FrameSystemExtensionsCheckWeight = Null; - /** @name PalletTransactionPaymentChargeTransactionPayment (787) */ + /** @name PalletTransactionPaymentChargeTransactionPayment (860) */ interface PalletTransactionPaymentChargeTransactionPayment extends Compact {} - /** @name FrameMetadataHashExtensionCheckMetadataHash (788) */ + /** @name FrameMetadataHashExtensionCheckMetadataHash (861) */ interface FrameMetadataHashExtensionCheckMetadataHash extends Struct { readonly mode: FrameMetadataHashExtensionMode; } - /** @name FrameMetadataHashExtensionMode (789) */ + /** @name FrameMetadataHashExtensionMode (862) */ interface FrameMetadataHashExtensionMode extends Enum { readonly isDisabled: boolean; readonly isEnabled: boolean; readonly type: 'Disabled' | 'Enabled'; } - /** @name TangleTestnetRuntimeRuntime (791) */ + /** @name TangleTestnetRuntimeRuntime (864) */ type TangleTestnetRuntimeRuntime = Null; } // declare module diff --git a/types/src/metadata.json b/types/src/metadata.json index 41c04e719..8fd875fa2 100644 --- a/types/src/metadata.json +++ b/types/src/metadata.json @@ -1 +1 @@ -{"jsonrpc":"2.0","result":"0x6d6574610e610c000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c08306672616d655f73797374656d2c4163636f756e74496e666f08144e6f6e636501102c4163636f756e74446174610114001401146e6f6e63651001144e6f6e6365000124636f6e73756d657273100120526566436f756e7400012470726f766964657273100120526566436f756e7400012c73756666696369656e7473100120526566436f756e740001106461746114012c4163636f756e74446174610000100000050500140c3c70616c6c65745f62616c616e6365731474797065732c4163636f756e7444617461041c42616c616e63650118001001106672656518011c42616c616e6365000120726573657276656418011c42616c616e636500011866726f7a656e18011c42616c616e6365000114666c6167731c01284578747261466c61677300001800000507001c0c3c70616c6c65745f62616c616e636573147479706573284578747261466c61677300000400180110753132380000200000050000240c346672616d655f737570706f7274206469737061746368405065724469737061746368436c6173730404540128000c01186e6f726d616c2801045400012c6f7065726174696f6e616c280104540001246d616e6461746f7279280104540000280c2873705f77656967687473247765696768745f76321857656967687400000801207265665f74696d652c010c75363400012870726f6f665f73697a652c010c75363400002c000006300030000005060034083c7072696d69746976655f74797065731048323536000004000401205b75383b2033325d00003800000208003c102873705f72756e74696d651c67656e65726963186469676573741844696765737400000401106c6f677340013c5665633c4469676573744974656d3e000040000002440044102873705f72756e74696d651c67656e6572696318646967657374284469676573744974656d0001142850726552756e74696d650800480144436f6e73656e737573456e67696e654964000038011c5665633c75383e00060024436f6e73656e7375730800480144436f6e73656e737573456e67696e654964000038011c5665633c75383e000400105365616c0800480144436f6e73656e737573456e67696e654964000038011c5665633c75383e000500144f74686572040038011c5665633c75383e0000006452756e74696d65456e7669726f6e6d656e745570646174656400080000480000030400000008004c00000250005008306672616d655f73797374656d2c4576656e745265636f7264080445015404540134000c01147068617365a102011450686173650001146576656e7454010445000118746f70696373c50101185665633c543e000054085874616e676c655f746573746e65745f72756e74696d653052756e74696d654576656e740001941853797374656d04005801706672616d655f73797374656d3a3a4576656e743c52756e74696d653e000100105375646f04007c016c70616c6c65745f7375646f3a3a4576656e743c52756e74696d653e0003001841737365747304008c01dc70616c6c65745f6173736574733a3a4576656e743c52756e74696d652c2070616c6c65745f6173736574733a3a496e7374616e6365313e00050028506f6f6c41737365747304009001dc70616c6c65745f6173736574733a3a4576656e743c52756e74696d652c2070616c6c65745f6173736574733a3a496e7374616e6365323e0036002042616c616e636573040094017c70616c6c65745f62616c616e6365733a3a4576656e743c52756e74696d653e000600485472616e73616374696f6e5061796d656e7404009c01a870616c6c65745f7472616e73616374696f6e5f7061796d656e743a3a4576656e743c52756e74696d653e0007001c4772616e6470610400a0015470616c6c65745f6772616e6470613a3a4576656e74000a001c496e64696365730400b0017870616c6c65745f696e64696365733a3a4576656e743c52756e74696d653e000b002444656d6f63726163790400b4018070616c6c65745f64656d6f63726163793a3a4576656e743c52756e74696d653e000c001c436f756e63696c0400c801fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e000d001c56657374696e670400cc017870616c6c65745f76657374696e673a3a4576656e743c52756e74696d653e000e0024456c656374696f6e730400d001a470616c6c65745f656c656374696f6e735f70687261676d656e3a3a4576656e743c52756e74696d653e000f0068456c656374696f6e50726f76696465724d756c746950686173650400dc01d070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f70686173653a3a4576656e743c52756e74696d653e0010001c5374616b696e670400f0017870616c6c65745f7374616b696e673a3a4576656e743c52756e74696d653e0011001c53657373696f6e04000901015470616c6c65745f73657373696f6e3a3a4576656e7400120020547265617375727904000d01017c70616c6c65745f74726561737572793a3a4576656e743c52756e74696d653e00140020426f756e7469657304001101017c70616c6c65745f626f756e746965733a3a4576656e743c52756e74696d653e001500344368696c64426f756e7469657304001501019470616c6c65745f6368696c645f626f756e746965733a3a4576656e743c52756e74696d653e00160020426167734c69737404001901018070616c6c65745f626167735f6c6973743a3a4576656e743c52756e74696d653e0017003c4e6f6d696e6174696f6e506f6f6c7304001d01019c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c733a3a4576656e743c52756e74696d653e001800245363686564756c657204003901018070616c6c65745f7363686564756c65723a3a4576656e743c52756e74696d653e00190020507265696d61676504004501017c70616c6c65745f707265696d6167653a3a4576656e743c52756e74696d653e001a00204f6666656e63657304004901015870616c6c65745f6f6666656e6365733a3a4576656e74001b001c5478506175736504005101017c70616c6c65745f74785f70617573653a3a4576656e743c52756e74696d653e001c0020496d4f6e6c696e6504005d01018070616c6c65745f696d5f6f6e6c696e653a3a4576656e743c52756e74696d653e001d00204964656e7469747904007d01017c70616c6c65745f6964656e746974793a3a4576656e743c52756e74696d653e001e001c5574696c69747904008501015470616c6c65745f7574696c6974793a3a4576656e74001f00204d756c746973696704008901017c70616c6c65745f6d756c74697369673a3a4576656e743c52756e74696d653e00200020457468657265756d04009101015870616c6c65745f657468657265756d3a3a4576656e740021000c45564d0400bd01016870616c6c65745f65766d3a3a4576656e743c52756e74696d653e0022001c426173654665650400c901015870616c6c65745f626173655f6665653a3a4576656e7400250018436c61696d730400d901019470616c6c65745f61697264726f705f636c61696d733a3a4576656e743c52756e74696d653e0027001450726f78790400e501017070616c6c65745f70726f78793a3a4576656e743c52756e74696d653e002c00504d756c7469417373657444656c65676174696f6e0400f10101b470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e3a3a4576656e743c52756e74696d653e002d002053657276696365730400f901017c70616c6c65745f73657276696365733a3a4576656e743c52756e74696d653e0033000c4c737404007502018470616c6c65745f74616e676c655f6c73743a3a4576656e743c52756e74696d653e0034001c5265776172647304008902017870616c6c65745f726577617264733a3a4576656e743c52756e74696d653e00350000580c306672616d655f73797374656d1870616c6c6574144576656e7404045400011c4045787472696e7369635375636365737304013464697370617463685f696e666f5c01304469737061746368496e666f00000490416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e3c45787472696e7369634661696c656408013864697370617463685f6572726f7268013444697370617463684572726f7200013464697370617463685f696e666f5c01304469737061746368496e666f00010450416e2065787472696e736963206661696c65642e2c436f64655570646174656400020450603a636f6465602077617320757064617465642e284e65774163636f756e7404011c6163636f756e74000130543a3a4163636f756e7449640003046841206e6577206163636f756e742077617320637265617465642e344b696c6c65644163636f756e7404011c6163636f756e74000130543a3a4163636f756e74496400040458416e206163636f756e7420776173207265617065642e2052656d61726b656408011873656e646572000130543a3a4163636f756e7449640001106861736834011c543a3a48617368000504704f6e206f6e2d636861696e2072656d61726b2068617070656e65642e4455706772616465417574686f72697a6564080124636f64655f6861736834011c543a3a48617368000134636865636b5f76657273696f6e200110626f6f6c00060468416e20757067726164652077617320617574686f72697a65642e04704576656e7420666f72207468652053797374656d2070616c6c65742e5c0c346672616d655f737570706f7274206469737061746368304469737061746368496e666f00000c0118776569676874280118576569676874000114636c6173736001344469737061746368436c617373000120706179735f666565640110506179730000600c346672616d655f737570706f7274206469737061746368344469737061746368436c61737300010c184e6f726d616c0000002c4f7065726174696f6e616c000100244d616e6461746f727900020000640c346672616d655f737570706f727420646973706174636810506179730001080c596573000000084e6f0001000068082873705f72756e74696d653444697370617463684572726f72000138144f746865720000003043616e6e6f744c6f6f6b7570000100244261644f726967696e000200184d6f64756c6504006c012c4d6f64756c654572726f7200030044436f6e73756d657252656d61696e696e670004002c4e6f50726f76696465727300050040546f6f4d616e79436f6e73756d65727300060014546f6b656e0400700128546f6b656e4572726f720007002841726974686d65746963040074013c41726974686d657469634572726f72000800345472616e73616374696f6e616c04007801485472616e73616374696f6e616c4572726f7200090024457868617573746564000a0028436f7272757074696f6e000b002c556e617661696c61626c65000c0038526f6f744e6f74416c6c6f776564000d00006c082873705f72756e74696d652c4d6f64756c654572726f720000080114696e64657808010875380001146572726f7248018c5b75383b204d41585f4d4f44554c455f4552524f525f454e434f4445445f53495a455d000070082873705f72756e74696d6528546f6b656e4572726f720001284046756e6473556e617661696c61626c65000000304f6e6c7950726f76696465720001003042656c6f774d696e696d756d0002003043616e6e6f7443726561746500030030556e6b6e6f776e41737365740004001846726f7a656e0005002c556e737570706f727465640006004043616e6e6f74437265617465486f6c64000700344e6f74457870656e6461626c650008001c426c6f636b65640009000074083473705f61726974686d657469633c41726974686d657469634572726f7200010c24556e646572666c6f77000000204f766572666c6f77000100384469766973696f6e42795a65726f0002000078082873705f72756e74696d65485472616e73616374696f6e616c4572726f72000108304c696d6974526561636865640000001c4e6f4c61796572000100007c0c2c70616c6c65745f7375646f1870616c6c6574144576656e7404045400011014537564696404012c7375646f5f726573756c748001384469737061746368526573756c7404b454686520726573756c74206f66207468652063616c6c206d61646520627920746865207375646f20757365722e00047041207375646f2063616c6c206a75737420746f6f6b20706c6163652e284b65794368616e67656408010c6f6c648801504f7074696f6e3c543a3a4163636f756e7449643e04b4546865206f6c64207375646f206b657920286966206f6e65207761732070726576696f75736c7920736574292e010c6e6577000130543a3a4163636f756e7449640488546865206e6577207375646f206b657920286966206f6e652077617320736574292e010478546865207375646f206b657920686173206265656e20757064617465642e284b657952656d6f76656400020480546865206b657920776173207065726d616e656e746c792072656d6f7665642e285375646f4173446f6e6504012c7375646f5f726573756c748001384469737061746368526573756c7404b454686520726573756c74206f66207468652063616c6c206d61646520627920746865207375646f20757365722e0304c841205b7375646f5f61735d2850616c6c65743a3a7375646f5f6173292063616c6c206a75737420746f6f6b20706c6163652e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574800418526573756c740804540184044501680108084f6b040084000000000c45727204006800000100008400000400008804184f7074696f6e04045401000108104e6f6e6500000010536f6d6504000000000100008c0c3470616c6c65745f6173736574731870616c6c6574144576656e740804540004490001681c437265617465640c012061737365745f6964180128543a3a4173736574496400011c63726561746f72000130543a3a4163636f756e7449640001146f776e6572000130543a3a4163636f756e74496400000474536f6d6520617373657420636c6173732077617320637265617465642e184973737565640c012061737365745f6964180128543a3a417373657449640001146f776e6572000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500010460536f6d65206173736574732077657265206973737565642e2c5472616e7366657272656410012061737365745f6964180128543a3a4173736574496400011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500020474536f6d65206173736574732077657265207472616e736665727265642e184275726e65640c012061737365745f6964180128543a3a417373657449640001146f776e6572000130543a3a4163636f756e74496400011c62616c616e6365180128543a3a42616c616e63650003046c536f6d652061737365747320776572652064657374726f7965642e2c5465616d4368616e67656410012061737365745f6964180128543a3a41737365744964000118697373756572000130543a3a4163636f756e74496400011461646d696e000130543a3a4163636f756e74496400011c667265657a6572000130543a3a4163636f756e74496400040470546865206d616e6167656d656e74207465616d206368616e6765642e304f776e65724368616e67656408012061737365745f6964180128543a3a417373657449640001146f776e6572000130543a3a4163636f756e74496400050448546865206f776e6572206368616e6765642e1846726f7a656e08012061737365745f6964180128543a3a4173736574496400010c77686f000130543a3a4163636f756e74496400060478536f6d65206163636f756e74206077686f60207761732066726f7a656e2e1854686177656408012061737365745f6964180128543a3a4173736574496400010c77686f000130543a3a4163636f756e74496400070478536f6d65206163636f756e74206077686f6020776173207468617765642e2c417373657446726f7a656e04012061737365745f6964180128543a3a4173736574496400080484536f6d65206173736574206061737365745f696460207761732066726f7a656e2e2c417373657454686177656404012061737365745f6964180128543a3a4173736574496400090484536f6d65206173736574206061737365745f69646020776173207468617765642e444163636f756e747344657374726f7965640c012061737365745f6964180128543a3a417373657449640001486163636f756e74735f64657374726f79656410010c7533320001486163636f756e74735f72656d61696e696e6710010c753332000a04a04163636f756e747320776572652064657374726f79656420666f7220676976656e2061737365742e48417070726f76616c7344657374726f7965640c012061737365745f6964180128543a3a4173736574496400014c617070726f76616c735f64657374726f79656410010c75333200014c617070726f76616c735f72656d61696e696e6710010c753332000b04a4417070726f76616c7320776572652064657374726f79656420666f7220676976656e2061737365742e484465737472756374696f6e5374617274656404012061737365745f6964180128543a3a41737365744964000c04d0416e20617373657420636c61737320697320696e207468652070726f63657373206f66206265696e672064657374726f7965642e2444657374726f79656404012061737365745f6964180128543a3a41737365744964000d0474416e20617373657420636c617373207761732064657374726f7965642e30466f7263654372656174656408012061737365745f6964180128543a3a417373657449640001146f776e6572000130543a3a4163636f756e744964000e048c536f6d6520617373657420636c6173732077617320666f7263652d637265617465642e2c4d6574616461746153657414012061737365745f6964180128543a3a417373657449640001106e616d6538011c5665633c75383e00011873796d626f6c38011c5665633c75383e000120646563696d616c73080108753800012469735f66726f7a656e200110626f6f6c000f049c4e6577206d6574616461746120686173206265656e2073657420666f7220616e2061737365742e3c4d65746164617461436c656172656404012061737365745f6964180128543a3a417373657449640010049c4d6574616461746120686173206265656e20636c656172656420666f7220616e2061737365742e40417070726f7665645472616e7366657210012061737365745f6964180128543a3a41737365744964000118736f75726365000130543a3a4163636f756e74496400012064656c6567617465000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650011043101284164646974696f6e616c292066756e64732068617665206265656e20617070726f76656420666f72207472616e7366657220746f20612064657374696e6174696f6e206163636f756e742e44417070726f76616c43616e63656c6c65640c012061737365745f6964180128543a3a417373657449640001146f776e6572000130543a3a4163636f756e74496400012064656c6567617465000130543a3a4163636f756e744964001204f0416e20617070726f76616c20666f72206163636f756e74206064656c656761746560207761732063616e63656c6c656420627920606f776e6572602e4c5472616e73666572726564417070726f76656414012061737365745f6964180128543a3a417373657449640001146f776e6572000130543a3a4163636f756e74496400012064656c6567617465000130543a3a4163636f756e74496400012c64657374696e6174696f6e000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650013083101416e2060616d6f756e746020776173207472616e7366657272656420696e2069747320656e7469726574792066726f6d20606f776e65726020746f206064657374696e6174696f6e602062796074686520617070726f766564206064656c6567617465602e4841737365745374617475734368616e67656404012061737365745f6964180128543a3a41737365744964001404f8416e2061737365742068617320686164206974732061747472696275746573206368616e676564206279207468652060466f72636560206f726967696e2e5841737365744d696e42616c616e63654368616e67656408012061737365745f6964180128543a3a4173736574496400013c6e65775f6d696e5f62616c616e6365180128543a3a42616c616e63650015040101546865206d696e5f62616c616e6365206f6620616e20617373657420686173206265656e207570646174656420627920746865206173736574206f776e65722e1c546f75636865640c012061737365745f6964180128543a3a4173736574496400010c77686f000130543a3a4163636f756e7449640001246465706f7369746f72000130543a3a4163636f756e744964001604fc536f6d65206163636f756e74206077686f6020776173206372656174656420776974682061206465706f7369742066726f6d20606465706f7369746f72602e1c426c6f636b656408012061737365745f6964180128543a3a4173736574496400010c77686f000130543a3a4163636f756e7449640017047c536f6d65206163636f756e74206077686f602077617320626c6f636b65642e244465706f73697465640c012061737365745f6964180128543a3a4173736574496400010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365001804dc536f6d65206173736574732077657265206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e2457697468647261776e0c012061737365745f6964180128543a3a4173736574496400010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650019042101536f6d652061737365747320776572652077697468647261776e2066726f6d20746865206163636f756e742028652e672e20666f72207472616e73616374696f6e2066656573292e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574900c3470616c6c65745f6173736574731870616c6c6574144576656e740804540004490001681c437265617465640c012061737365745f6964180128543a3a4173736574496400011c63726561746f72000130543a3a4163636f756e7449640001146f776e6572000130543a3a4163636f756e74496400000474536f6d6520617373657420636c6173732077617320637265617465642e184973737565640c012061737365745f6964180128543a3a417373657449640001146f776e6572000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500010460536f6d65206173736574732077657265206973737565642e2c5472616e7366657272656410012061737365745f6964180128543a3a4173736574496400011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500020474536f6d65206173736574732077657265207472616e736665727265642e184275726e65640c012061737365745f6964180128543a3a417373657449640001146f776e6572000130543a3a4163636f756e74496400011c62616c616e6365180128543a3a42616c616e63650003046c536f6d652061737365747320776572652064657374726f7965642e2c5465616d4368616e67656410012061737365745f6964180128543a3a41737365744964000118697373756572000130543a3a4163636f756e74496400011461646d696e000130543a3a4163636f756e74496400011c667265657a6572000130543a3a4163636f756e74496400040470546865206d616e6167656d656e74207465616d206368616e6765642e304f776e65724368616e67656408012061737365745f6964180128543a3a417373657449640001146f776e6572000130543a3a4163636f756e74496400050448546865206f776e6572206368616e6765642e1846726f7a656e08012061737365745f6964180128543a3a4173736574496400010c77686f000130543a3a4163636f756e74496400060478536f6d65206163636f756e74206077686f60207761732066726f7a656e2e1854686177656408012061737365745f6964180128543a3a4173736574496400010c77686f000130543a3a4163636f756e74496400070478536f6d65206163636f756e74206077686f6020776173207468617765642e2c417373657446726f7a656e04012061737365745f6964180128543a3a4173736574496400080484536f6d65206173736574206061737365745f696460207761732066726f7a656e2e2c417373657454686177656404012061737365745f6964180128543a3a4173736574496400090484536f6d65206173736574206061737365745f69646020776173207468617765642e444163636f756e747344657374726f7965640c012061737365745f6964180128543a3a417373657449640001486163636f756e74735f64657374726f79656410010c7533320001486163636f756e74735f72656d61696e696e6710010c753332000a04a04163636f756e747320776572652064657374726f79656420666f7220676976656e2061737365742e48417070726f76616c7344657374726f7965640c012061737365745f6964180128543a3a4173736574496400014c617070726f76616c735f64657374726f79656410010c75333200014c617070726f76616c735f72656d61696e696e6710010c753332000b04a4417070726f76616c7320776572652064657374726f79656420666f7220676976656e2061737365742e484465737472756374696f6e5374617274656404012061737365745f6964180128543a3a41737365744964000c04d0416e20617373657420636c61737320697320696e207468652070726f63657373206f66206265696e672064657374726f7965642e2444657374726f79656404012061737365745f6964180128543a3a41737365744964000d0474416e20617373657420636c617373207761732064657374726f7965642e30466f7263654372656174656408012061737365745f6964180128543a3a417373657449640001146f776e6572000130543a3a4163636f756e744964000e048c536f6d6520617373657420636c6173732077617320666f7263652d637265617465642e2c4d6574616461746153657414012061737365745f6964180128543a3a417373657449640001106e616d6538011c5665633c75383e00011873796d626f6c38011c5665633c75383e000120646563696d616c73080108753800012469735f66726f7a656e200110626f6f6c000f049c4e6577206d6574616461746120686173206265656e2073657420666f7220616e2061737365742e3c4d65746164617461436c656172656404012061737365745f6964180128543a3a417373657449640010049c4d6574616461746120686173206265656e20636c656172656420666f7220616e2061737365742e40417070726f7665645472616e7366657210012061737365745f6964180128543a3a41737365744964000118736f75726365000130543a3a4163636f756e74496400012064656c6567617465000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650011043101284164646974696f6e616c292066756e64732068617665206265656e20617070726f76656420666f72207472616e7366657220746f20612064657374696e6174696f6e206163636f756e742e44417070726f76616c43616e63656c6c65640c012061737365745f6964180128543a3a417373657449640001146f776e6572000130543a3a4163636f756e74496400012064656c6567617465000130543a3a4163636f756e744964001204f0416e20617070726f76616c20666f72206163636f756e74206064656c656761746560207761732063616e63656c6c656420627920606f776e6572602e4c5472616e73666572726564417070726f76656414012061737365745f6964180128543a3a417373657449640001146f776e6572000130543a3a4163636f756e74496400012064656c6567617465000130543a3a4163636f756e74496400012c64657374696e6174696f6e000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650013083101416e2060616d6f756e746020776173207472616e7366657272656420696e2069747320656e7469726574792066726f6d20606f776e65726020746f206064657374696e6174696f6e602062796074686520617070726f766564206064656c6567617465602e4841737365745374617475734368616e67656404012061737365745f6964180128543a3a41737365744964001404f8416e2061737365742068617320686164206974732061747472696275746573206368616e676564206279207468652060466f72636560206f726967696e2e5841737365744d696e42616c616e63654368616e67656408012061737365745f6964180128543a3a4173736574496400013c6e65775f6d696e5f62616c616e6365180128543a3a42616c616e63650015040101546865206d696e5f62616c616e6365206f6620616e20617373657420686173206265656e207570646174656420627920746865206173736574206f776e65722e1c546f75636865640c012061737365745f6964180128543a3a4173736574496400010c77686f000130543a3a4163636f756e7449640001246465706f7369746f72000130543a3a4163636f756e744964001604fc536f6d65206163636f756e74206077686f6020776173206372656174656420776974682061206465706f7369742066726f6d20606465706f7369746f72602e1c426c6f636b656408012061737365745f6964180128543a3a4173736574496400010c77686f000130543a3a4163636f756e7449640017047c536f6d65206163636f756e74206077686f602077617320626c6f636b65642e244465706f73697465640c012061737365745f6964180128543a3a4173736574496400010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365001804dc536f6d65206173736574732077657265206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e2457697468647261776e0c012061737365745f6964180128543a3a4173736574496400010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650019042101536f6d652061737365747320776572652077697468647261776e2066726f6d20746865206163636f756e742028652e672e20666f72207472616e73616374696f6e2066656573292e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574940c3c70616c6c65745f62616c616e6365731870616c6c6574144576656e740804540004490001581c456e646f77656408011c6163636f756e74000130543a3a4163636f756e744964000130667265655f62616c616e6365180128543a3a42616c616e6365000004b8416e206163636f756e74207761732063726561746564207769746820736f6d6520667265652062616c616e63652e20447573744c6f737408011c6163636f756e74000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650001083d01416e206163636f756e74207761732072656d6f7665642077686f73652062616c616e636520776173206e6f6e2d7a65726f206275742062656c6f77204578697374656e7469616c4465706f7369742c78726573756c74696e6720696e20616e206f75747269676874206c6f73732e205472616e736665720c011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650002044c5472616e73666572207375636365656465642e2842616c616e636553657408010c77686f000130543a3a4163636f756e74496400011066726565180128543a3a42616c616e636500030468412062616c616e6365207761732073657420627920726f6f742e20526573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000404e0536f6d652062616c616e63652077617320726573657276656420286d6f7665642066726f6d206672656520746f207265736572766564292e28556e726573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000504e8536f6d652062616c616e63652077617320756e726573657276656420286d6f7665642066726f6d20726573657276656420746f2066726565292e4852657365727665526570617472696174656410011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500014864657374696e6174696f6e5f7374617475739801185374617475730006084d01536f6d652062616c616e636520776173206d6f7665642066726f6d207468652072657365727665206f6620746865206669727374206163636f756e7420746f20746865207365636f6e64206163636f756e742ed846696e616c20617267756d656e7420696e64696361746573207468652064657374696e6174696f6e2062616c616e636520747970652e1c4465706f73697408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000704d8536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e20576974686472617708010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650008041d01536f6d6520616d6f756e74207761732077697468647261776e2066726f6d20746865206163636f756e742028652e672e20666f72207472616e73616374696f6e2066656573292e1c536c617368656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650009040101536f6d6520616d6f756e74207761732072656d6f7665642066726f6d20746865206163636f756e742028652e672e20666f72206d69736265686176696f72292e184d696e74656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000a049c536f6d6520616d6f756e7420776173206d696e74656420696e746f20616e206163636f756e742e184275726e656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000b049c536f6d6520616d6f756e7420776173206275726e65642066726f6d20616e206163636f756e742e2453757370656e64656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000c041501536f6d6520616d6f756e74207761732073757370656e6465642066726f6d20616e206163636f756e74202869742063616e20626520726573746f726564206c61746572292e20526573746f72656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000d04a4536f6d6520616d6f756e742077617320726573746f72656420696e746f20616e206163636f756e742e20557067726164656404010c77686f000130543a3a4163636f756e744964000e0460416e206163636f756e74207761732075706772616465642e18497373756564040118616d6f756e74180128543a3a42616c616e6365000f042d01546f74616c2069737375616e63652077617320696e637265617365642062792060616d6f756e74602c206372656174696e6720612063726564697420746f2062652062616c616e6365642e2452657363696e646564040118616d6f756e74180128543a3a42616c616e63650010042501546f74616c2069737375616e636520776173206465637265617365642062792060616d6f756e74602c206372656174696e672061206465627420746f2062652062616c616e6365642e184c6f636b656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500110460536f6d652062616c616e636520776173206c6f636b65642e20556e6c6f636b656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500120468536f6d652062616c616e63652077617320756e6c6f636b65642e1846726f7a656e08010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500130460536f6d652062616c616e6365207761732066726f7a656e2e1854686177656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500140460536f6d652062616c616e636520776173207468617765642e4c546f74616c49737375616e6365466f7263656408010c6f6c64180128543a3a42616c616e636500010c6e6577180128543a3a42616c616e6365001504ac5468652060546f74616c49737375616e6365602077617320666f72636566756c6c79206368616e6765642e047c54686520604576656e746020656e756d206f6620746869732070616c6c65749814346672616d655f737570706f72741874726169747318746f6b656e73106d6973633442616c616e63655374617475730001081046726565000000205265736572766564000100009c0c6870616c6c65745f7472616e73616374696f6e5f7061796d656e741870616c6c6574144576656e74040454000104485472616e73616374696f6e466565506169640c010c77686f000130543a3a4163636f756e74496400012861637475616c5f66656518013042616c616e63654f663c543e00010c74697018013042616c616e63654f663c543e000008590141207472616e73616374696f6e20666565206061637475616c5f666565602c206f662077686963682060746970602077617320616464656420746f20746865206d696e696d756d20696e636c7573696f6e206665652c5c686173206265656e2070616964206279206077686f602e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574a00c3870616c6c65745f6772616e6470611870616c6c6574144576656e7400010c384e6577417574686f726974696573040134617574686f726974795f736574a40134417574686f726974794c6973740000048c4e657720617574686f726974792073657420686173206265656e206170706c6965642e185061757365640001049843757272656e7420617574686f726974792073657420686173206265656e207061757365642e1c526573756d65640002049c43757272656e7420617574686f726974792073657420686173206265656e20726573756d65642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574a4000002a800a800000408ac3000ac0c5073705f636f6e73656e7375735f6772616e6470610c617070185075626c69630000040004013c656432353531393a3a5075626c69630000b00c3870616c6c65745f696e64696365731870616c6c6574144576656e7404045400010c34496e64657841737369676e656408010c77686f000130543a3a4163636f756e744964000114696e64657810013c543a3a4163636f756e74496e6465780000047441206163636f756e7420696e646578207761732061737369676e65642e28496e6465784672656564040114696e64657810013c543a3a4163636f756e74496e646578000104bc41206163636f756e7420696e64657820686173206265656e2066726565642075702028756e61737369676e6564292e2c496e64657846726f7a656e080114696e64657810013c543a3a4163636f756e74496e64657800010c77686f000130543a3a4163636f756e744964000204e841206163636f756e7420696e64657820686173206265656e2066726f7a656e20746f206974732063757272656e74206163636f756e742049442e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574b40c4070616c6c65745f64656d6f63726163791870616c6c6574144576656e740404540001442050726f706f73656408013870726f706f73616c5f696e64657810012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000004bc41206d6f74696f6e20686173206265656e2070726f706f7365642062792061207075626c6963206163636f756e742e185461626c656408013870726f706f73616c5f696e64657810012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000104d841207075626c69632070726f706f73616c20686173206265656e207461626c656420666f72207265666572656e64756d20766f74652e3845787465726e616c5461626c656400020494416e2065787465726e616c2070726f706f73616c20686173206265656e207461626c65642e1c537461727465640801247265665f696e64657810013c5265666572656e64756d496e6465780001247468726573686f6c64b80134566f74655468726573686f6c640003045c41207265666572656e64756d2068617320626567756e2e185061737365640401247265665f696e64657810013c5265666572656e64756d496e646578000404ac412070726f706f73616c20686173206265656e20617070726f766564206279207265666572656e64756d2e244e6f745061737365640401247265665f696e64657810013c5265666572656e64756d496e646578000504ac412070726f706f73616c20686173206265656e2072656a6563746564206279207265666572656e64756d2e2443616e63656c6c65640401247265665f696e64657810013c5265666572656e64756d496e6465780006048041207265666572656e64756d20686173206265656e2063616e63656c6c65642e2444656c65676174656408010c77686f000130543a3a4163636f756e744964000118746172676574000130543a3a4163636f756e744964000704dc416e206163636f756e74206861732064656c65676174656420746865697220766f746520746f20616e6f74686572206163636f756e742e2c556e64656c65676174656404011c6163636f756e74000130543a3a4163636f756e744964000804e4416e206163636f756e74206861732063616e63656c6c656420612070726576696f75732064656c65676174696f6e206f7065726174696f6e2e185665746f65640c010c77686f000130543a3a4163636f756e74496400013470726f706f73616c5f6861736834011c543a3a48617368000114756e74696c300144426c6f636b4e756d626572466f723c543e00090494416e2065787465726e616c2070726f706f73616c20686173206265656e207665746f65642e2c426c61636b6c697374656404013470726f706f73616c5f6861736834011c543a3a48617368000a04c4412070726f706f73616c5f6861736820686173206265656e20626c61636b6c6973746564207065726d616e656e746c792e14566f7465640c0114766f746572000130543a3a4163636f756e7449640001247265665f696e64657810013c5265666572656e64756d496e646578000110766f7465bc01644163636f756e74566f74653c42616c616e63654f663c543e3e000b0490416e206163636f756e742068617320766f74656420696e2061207265666572656e64756d205365636f6e6465640801207365636f6e646572000130543a3a4163636f756e74496400012870726f705f696e64657810012450726f70496e646578000c0488416e206163636f756e7420686173207365636f6e64656420612070726f706f73616c4050726f706f73616c43616e63656c656404012870726f705f696e64657810012450726f70496e646578000d0460412070726f706f73616c20676f742063616e63656c65642e2c4d657461646174615365740801146f776e6572c401344d657461646174614f776e6572043c4d65746164617461206f776e65722e01106861736834011c543a3a486173680438507265696d61676520686173682e0e04d44d6574616461746120666f7220612070726f706f73616c206f722061207265666572656e64756d20686173206265656e207365742e3c4d65746164617461436c65617265640801146f776e6572c401344d657461646174614f776e6572043c4d65746164617461206f776e65722e01106861736834011c543a3a486173680438507265696d61676520686173682e0f04e44d6574616461746120666f7220612070726f706f73616c206f722061207265666572656e64756d20686173206265656e20636c65617265642e4c4d657461646174615472616e736665727265640c0128707265765f6f776e6572c401344d657461646174614f776e6572046050726576696f7573206d65746164617461206f776e65722e01146f776e6572c401344d657461646174614f776e6572044c4e6577206d65746164617461206f776e65722e01106861736834011c543a3a486173680438507265696d61676520686173682e1004ac4d6574616461746120686173206265656e207472616e7366657272656420746f206e6577206f776e65722e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574b80c4070616c6c65745f64656d6f637261637938766f74655f7468726573686f6c6434566f74655468726573686f6c6400010c5053757065724d616a6f72697479417070726f76650000005053757065724d616a6f72697479416761696e73740001003853696d706c654d616a6f7269747900020000bc0c4070616c6c65745f64656d6f637261637910766f74652c4163636f756e74566f7465041c42616c616e636501180108205374616e64617264080110766f7465c00110566f746500011c62616c616e636518011c42616c616e63650000001453706c697408010c61796518011c42616c616e636500010c6e617918011c42616c616e636500010000c00c4070616c6c65745f64656d6f637261637910766f746510566f74650000040008000000c40c4070616c6c65745f64656d6f6372616379147479706573344d657461646174614f776e657200010c2045787465726e616c0000002050726f706f73616c040010012450726f70496e646578000100285265666572656e64756d040010013c5265666572656e64756d496e64657800020000c80c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e64657810013450726f706f73616c496e64657800013470726f706f73616c5f6861736834011c543a3a486173680001247468726573686f6c6410012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f6861736834011c543a3a48617368000114766f746564200110626f6f6c00010c79657310012c4d656d626572436f756e740001086e6f10012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f6861736834011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f6861736834011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f6861736834011c543a3a48617368000118726573756c748001384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f6861736834011c543a3a48617368000118726573756c748001384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f6861736834011c543a3a4861736800010c79657310012c4d656d626572436f756e740001086e6f10012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574cc0c3870616c6c65745f76657374696e671870616c6c6574144576656e740404540001083856657374696e675570646174656408011c6163636f756e74000130543a3a4163636f756e744964000120756e76657374656418013042616c616e63654f663c543e000008510154686520616d6f756e742076657374656420686173206265656e20757064617465642e205468697320636f756c6420696e6469636174652061206368616e676520696e2066756e647320617661696c61626c652e25015468652062616c616e636520676976656e2069732074686520616d6f756e74207768696368206973206c65667420756e7665737465642028616e642074687573206c6f636b6564292e4056657374696e67436f6d706c6574656404011c6163636f756e74000130543a3a4163636f756e7449640001049c416e205c5b6163636f756e745c5d20686173206265636f6d652066756c6c79207665737465642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574d00c6470616c6c65745f656c656374696f6e735f70687261676d656e1870616c6c6574144576656e7404045400011c1c4e65775465726d04012c6e65775f6d656d62657273d401ec5665633c283c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a4163636f756e7449642c2042616c616e63654f663c543e293e000014450141206e6577207465726d2077697468206e65775f6d656d626572732e205468697320696e64696361746573207468617420656e6f7567682063616e64696461746573206578697374656420746f2072756e550174686520656c656374696f6e2c206e6f74207468617420656e6f756768206861766520686173206265656e20656c65637465642e2054686520696e6e65722076616c7565206d757374206265206578616d696e65644501666f72207468697320707572706f73652e204120604e65775465726d285c5b5c5d296020696e64696361746573207468617420736f6d652063616e6469646174657320676f7420746865697220626f6e645501736c617368656420616e64206e6f6e65207765726520656c65637465642c207768696c73742060456d7074795465726d60206d65616e732074686174206e6f2063616e64696461746573206578697374656420746f2c626567696e20776974682e24456d7074795465726d00010831014e6f20286f72206e6f7420656e6f756768292063616e64696461746573206578697374656420666f72207468697320726f756e642e205468697320697320646966666572656e742066726f6dc8604e65775465726d285c5b5c5d29602e2053656520746865206465736372697074696f6e206f6620604e65775465726d602e34456c656374696f6e4572726f72000204e4496e7465726e616c206572726f722068617070656e6564207768696c6520747279696e6720746f20706572666f726d20656c656374696f6e2e304d656d6265724b69636b65640401186d656d6265720001983c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a4163636f756e744964000308410141206d656d62657220686173206265656e2072656d6f7665642e20546869732073686f756c6420616c7761797320626520666f6c6c6f7765642062792065697468657220604e65775465726d60206f723060456d7074795465726d602e2452656e6f756e63656404012463616e6469646174650001983c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a4163636f756e74496400040498536f6d656f6e65206861732072656e6f756e6365642074686569722063616e6469646163792e4043616e646964617465536c617368656408012463616e6469646174650001983c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e0005103901412063616e6469646174652077617320736c617368656420627920616d6f756e742064756520746f206661696c696e6720746f206f627461696e20612073656174206173206d656d626572206f722872756e6e65722d75702e00e44e6f74652074686174206f6c64206d656d6265727320616e642072756e6e6572732d75702061726520616c736f2063616e646964617465732e4453656174486f6c646572536c617368656408012c736561745f686f6c6465720001983c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e000604350141207365617420686f6c6465722077617320736c617368656420627920616d6f756e74206279206265696e6720666f72636566756c6c792072656d6f7665642066726f6d20746865207365742e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574d4000002d800d800000408001800dc0c9070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f70686173651870616c6c6574144576656e7404045400011838536f6c7574696f6e53746f7265640c011c636f6d70757465e0013c456c656374696f6e436f6d707574650001186f726967696e8801504f7074696f6e3c543a3a4163636f756e7449643e000130707265765f656a6563746564200110626f6f6c00001cb44120736f6c7574696f6e207761732073746f72656420776974682074686520676976656e20636f6d707574652e00510154686520606f726967696e6020696e6469636174657320746865206f726967696e206f662074686520736f6c7574696f6e2e20496620606f726967696e602069732060536f6d65284163636f756e74496429602c59017468652073746f72656420736f6c7574696f6e20776173207375626d697474656420696e20746865207369676e65642070686173652062792061206d696e657220776974682074686520604163636f756e744964602e25014f74686572776973652c2074686520736f6c7574696f6e207761732073746f7265642065697468657220647572696e672074686520756e7369676e6564207068617365206f722062794d0160543a3a466f7263654f726967696e602e205468652060626f6f6c6020697320607472756560207768656e20612070726576696f757320736f6c7574696f6e2077617320656a656374656420746f206d616b6548726f6f6d20666f722074686973206f6e652e44456c656374696f6e46696e616c697a656408011c636f6d70757465e0013c456c656374696f6e436f6d7075746500011473636f7265e40134456c656374696f6e53636f7265000104190154686520656c656374696f6e20686173206265656e2066696e616c697a65642c20776974682074686520676976656e20636f6d7075746174696f6e20616e642073636f72652e38456c656374696f6e4661696c656400020c4c416e20656c656374696f6e206661696c65642e0001014e6f74206d7563682063616e20626520736169642061626f757420776869636820636f6d7075746573206661696c656420696e207468652070726f636573732e20526577617264656408011c6163636f756e740001983c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a4163636f756e74496400011476616c756518013042616c616e63654f663c543e0003042501416e206163636f756e7420686173206265656e20726577617264656420666f72207468656972207369676e6564207375626d697373696f6e206265696e672066696e616c697a65642e1c536c617368656408011c6163636f756e740001983c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a4163636f756e74496400011476616c756518013042616c616e63654f663c543e0004042101416e206163636f756e7420686173206265656e20736c617368656420666f72207375626d697474696e6720616e20696e76616c6964207369676e6564207375626d697373696f6e2e4450686173655472616e736974696f6e65640c011066726f6de8016050686173653c426c6f636b4e756d626572466f723c543e3e000108746fe8016050686173653c426c6f636b4e756d626572466f723c543e3e000114726f756e6410010c753332000504b85468657265207761732061207068617365207472616e736974696f6e20696e206120676976656e20726f756e642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574e0089070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f70686173653c456c656374696f6e436f6d707574650001141c4f6e436861696e000000185369676e656400010020556e7369676e65640002002046616c6c6261636b00030024456d657267656e637900040000e4084473705f6e706f735f656c656374696f6e7334456c656374696f6e53636f726500000c01346d696e696d616c5f7374616b6518013c457874656e64656442616c616e636500012473756d5f7374616b6518013c457874656e64656442616c616e636500014473756d5f7374616b655f7371756172656418013c457874656e64656442616c616e63650000e8089070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f70686173651450686173650408426e013001100c4f6666000000185369676e656400010020556e7369676e65640400ec012828626f6f6c2c20426e2900020024456d657267656e637900030000ec00000408203000f0103870616c6c65745f7374616b696e671870616c6c65741870616c6c6574144576656e740404540001481c457261506169640c01246572615f696e646578100120457261496e64657800014076616c696461746f725f7061796f757418013042616c616e63654f663c543e00012472656d61696e64657218013042616c616e63654f663c543e000008550154686520657261207061796f757420686173206265656e207365743b207468652066697273742062616c616e6365206973207468652076616c696461746f722d7061796f75743b20746865207365636f6e64206973c07468652072656d61696e6465722066726f6d20746865206d6178696d756d20616d6f756e74206f66207265776172642e2052657761726465640c01147374617368000130543a3a4163636f756e74496400011064657374f4017c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e000118616d6f756e7418013042616c616e63654f663c543e0001040d01546865206e6f6d696e61746f7220686173206265656e207265776172646564206279207468697320616d6f756e7420746f20746869732064657374696e6174696f6e2e1c536c61736865640801187374616b6572000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e0002041d0141207374616b6572202876616c696461746f72206f72206e6f6d696e61746f722920686173206265656e20736c61736865642062792074686520676976656e20616d6f756e742e34536c6173685265706f727465640c012476616c696461746f72000130543a3a4163636f756e7449640001206672616374696f6ef8011c50657262696c6c000124736c6173685f657261100120457261496e64657800030859014120736c61736820666f722074686520676976656e2076616c696461746f722c20666f722074686520676976656e2070657263656e74616765206f66207468656972207374616b652c2061742074686520676976656e54657261206173206265656e207265706f727465642e684f6c64536c617368696e675265706f727444697363617264656404013473657373696f6e5f696e64657810013053657373696f6e496e6465780004081901416e206f6c6420736c617368696e67207265706f72742066726f6d2061207072696f72206572612077617320646973636172646564206265636175736520697420636f756c64446e6f742062652070726f6365737365642e385374616b657273456c65637465640005048441206e657720736574206f66207374616b6572732077617320656c65637465642e18426f6e6465640801147374617368000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e000610d0416e206163636f756e742068617320626f6e646564207468697320616d6f756e742e205c5b73746173682c20616d6f756e745c5d004d014e4f54453a2054686973206576656e74206973206f6e6c7920656d6974746564207768656e2066756e64732061726520626f6e64656420766961206120646973706174636861626c652e204e6f7461626c792c210169742077696c6c206e6f7420626520656d697474656420666f72207374616b696e672072657761726473207768656e20746865792061726520616464656420746f207374616b652e20556e626f6e6465640801147374617368000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e00070490416e206163636f756e742068617320756e626f6e646564207468697320616d6f756e742e2457697468647261776e0801147374617368000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e0008085901416e206163636f756e74206861732063616c6c6564206077697468647261775f756e626f6e6465646020616e642072656d6f76656420756e626f6e64696e67206368756e6b7320776f727468206042616c616e6365606466726f6d2074686520756e6c6f636b696e672071756575652e184b69636b65640801246e6f6d696e61746f72000130543a3a4163636f756e7449640001147374617368000130543a3a4163636f756e744964000904b441206e6f6d696e61746f7220686173206265656e206b69636b65642066726f6d20612076616c696461746f722e545374616b696e67456c656374696f6e4661696c6564000a04ac54686520656c656374696f6e206661696c65642e204e6f206e65772065726120697320706c616e6e65642e1c4368696c6c65640401147374617368000130543a3a4163636f756e744964000b042101416e206163636f756e74206861732073746f707065642070617274696369706174696e672061732065697468657220612076616c696461746f72206f72206e6f6d696e61746f722e345061796f7574537461727465640801246572615f696e646578100120457261496e64657800013c76616c696461746f725f7374617368000130543a3a4163636f756e744964000c0498546865207374616b657273272072657761726473206172652067657474696e6720706169642e4456616c696461746f7250726566735365740801147374617368000130543a3a4163636f756e7449640001147072656673fc013856616c696461746f725072656673000d0498412076616c696461746f72206861732073657420746865697220707265666572656e6365732e68536e617073686f74566f7465727353697a65457863656564656404011073697a6510010c753332000e0468566f746572732073697a65206c696d697420726561636865642e6c536e617073686f745461726765747353697a65457863656564656404011073697a6510010c753332000f046c546172676574732073697a65206c696d697420726561636865642e20466f7263654572610401106d6f64650501011c466f7263696e670010047441206e657720666f72636520657261206d6f646520776173207365742e64436f6e74726f6c6c65724261746368446570726563617465640401206661696c7572657310010c753332001104a45265706f7274206f66206120636f6e74726f6c6c6572206261746368206465707265636174696f6e2e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574f4083870616c6c65745f7374616b696e674452657761726444657374696e6174696f6e04244163636f756e74496401000114185374616b656400000014537461736800010028436f6e74726f6c6c65720002001c4163636f756e7404000001244163636f756e744964000300104e6f6e6500040000f80c3473705f61726974686d65746963287065725f7468696e67731c50657262696c6c0000040010010c7533320000fc083870616c6c65745f7374616b696e673856616c696461746f7250726566730000080128636f6d6d697373696f6e0101011c50657262696c6c00011c626c6f636b6564200110626f6f6c00000101000006f8000501083870616c6c65745f7374616b696e671c466f7263696e67000110284e6f74466f7263696e6700000020466f7263654e657700010024466f7263654e6f6e650002002c466f726365416c776179730003000009010c3870616c6c65745f73657373696f6e1870616c6c6574144576656e74000104284e657753657373696f6e04013473657373696f6e5f696e64657810013053657373696f6e496e64657800000839014e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e74206973207468652073657373696f6e20696e6465782c206e6f74207468659c626c6f636b206e756d626572206173207468652074797065206d6967687420737567676573742e047c54686520604576656e746020656e756d206f6620746869732070616c6c65740d010c3c70616c6c65745f74726561737572791870616c6c6574144576656e74080454000449000130205370656e64696e670401406275646765745f72656d61696e696e6718013c42616c616e63654f663c542c20493e000004e45765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e1c417761726465640c013870726f706f73616c5f696e64657810013450726f706f73616c496e646578000114617761726418013c42616c616e63654f663c542c20493e00011c6163636f756e74000130543a3a4163636f756e7449640001047c536f6d652066756e64732068617665206265656e20616c6c6f63617465642e144275726e7404012c6275726e745f66756e647318013c42616c616e63654f663c542c20493e00020488536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e20526f6c6c6f766572040140726f6c6c6f7665725f62616c616e636518013c42616c616e63654f663c542c20493e0003042d015370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e1c4465706f73697404011476616c756518013c42616c616e63654f663c542c20493e0004047c536f6d652066756e64732068617665206265656e206465706f73697465642e345370656e64417070726f7665640c013870726f706f73616c5f696e64657810013450726f706f73616c496e646578000118616d6f756e7418013c42616c616e63654f663c542c20493e00012c62656e6566696369617279000130543a3a4163636f756e7449640005049c41206e6577207370656e642070726f706f73616c20686173206265656e20617070726f7665642e3c55706461746564496e61637469766508012c726561637469766174656418013c42616c616e63654f663c542c20493e00012c646561637469766174656418013c42616c616e63654f663c542c20493e000604cc54686520696e6163746976652066756e6473206f66207468652070616c6c65742068617665206265656e20757064617465642e4841737365745370656e64417070726f766564180114696e6465781001285370656e64496e64657800012861737365745f6b696e64840130543a3a41737365744b696e64000118616d6f756e74180150417373657442616c616e63654f663c542c20493e00012c62656e6566696369617279000138543a3a42656e656669636961727900012876616c69645f66726f6d300144426c6f636b4e756d626572466f723c543e0001246578706972655f6174300144426c6f636b4e756d626572466f723c543e000704b441206e6577206173736574207370656e642070726f706f73616c20686173206265656e20617070726f7665642e4041737365745370656e64566f69646564040114696e6465781001285370656e64496e64657800080474416e20617070726f766564207370656e642077617320766f696465642e1050616964080114696e6465781001285370656e64496e6465780001287061796d656e745f69648401643c543a3a5061796d6173746572206173205061793e3a3a49640009044c41207061796d656e742068617070656e65642e345061796d656e744661696c6564080114696e6465781001285370656e64496e6465780001287061796d656e745f69648401643c543a3a5061796d6173746572206173205061793e3a3a4964000a049041207061796d656e74206661696c656420616e642063616e20626520726574726965642e385370656e6450726f636573736564040114696e6465781001285370656e64496e646578000b084d0141207370656e64207761732070726f63657373656420616e642072656d6f7665642066726f6d207468652073746f726167652e204974206d696768742068617665206265656e207375636365737366756c6c797070616964206f72206974206d6179206861766520657870697265642e047c54686520604576656e746020656e756d206f6620746869732070616c6c657411010c3c70616c6c65745f626f756e746965731870616c6c6574144576656e7408045400044900012c38426f756e747950726f706f736564040114696e64657810012c426f756e7479496e646578000004504e657720626f756e74792070726f706f73616c2e38426f756e747952656a6563746564080114696e64657810012c426f756e7479496e646578000110626f6e6418013c42616c616e63654f663c542c20493e000104cc4120626f756e74792070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e48426f756e7479426563616d65416374697665040114696e64657810012c426f756e7479496e646578000204b84120626f756e74792070726f706f73616c2069732066756e64656420616e6420626563616d65206163746976652e34426f756e747941776172646564080114696e64657810012c426f756e7479496e64657800012c62656e6566696369617279000130543a3a4163636f756e744964000304944120626f756e7479206973206177617264656420746f20612062656e65666963696172792e34426f756e7479436c61696d65640c0114696e64657810012c426f756e7479496e6465780001187061796f757418013c42616c616e63654f663c542c20493e00012c62656e6566696369617279000130543a3a4163636f756e7449640004048c4120626f756e747920697320636c61696d65642062792062656e65666963696172792e38426f756e747943616e63656c6564040114696e64657810012c426f756e7479496e646578000504584120626f756e74792069732063616e63656c6c65642e38426f756e7479457874656e646564040114696e64657810012c426f756e7479496e646578000604704120626f756e74792065787069727920697320657874656e6465642e38426f756e7479417070726f766564040114696e64657810012c426f756e7479496e646578000704544120626f756e747920697320617070726f7665642e3c43757261746f7250726f706f736564080124626f756e74795f696410012c426f756e7479496e64657800011c63757261746f72000130543a3a4163636f756e744964000804744120626f756e74792063757261746f722069732070726f706f7365642e4443757261746f72556e61737369676e6564040124626f756e74795f696410012c426f756e7479496e6465780009047c4120626f756e74792063757261746f7220697320756e61737369676e65642e3c43757261746f724163636570746564080124626f756e74795f696410012c426f756e7479496e64657800011c63757261746f72000130543a3a4163636f756e744964000a04744120626f756e74792063757261746f722069732061636365707465642e047c54686520604576656e746020656e756d206f6620746869732070616c6c657415010c5470616c6c65745f6368696c645f626f756e746965731870616c6c6574144576656e74040454000110144164646564080114696e64657810012c426f756e7479496e64657800012c6368696c645f696e64657810012c426f756e7479496e6465780000046041206368696c642d626f756e74792069732061646465642e1c417761726465640c0114696e64657810012c426f756e7479496e64657800012c6368696c645f696e64657810012c426f756e7479496e64657800012c62656e6566696369617279000130543a3a4163636f756e744964000104ac41206368696c642d626f756e7479206973206177617264656420746f20612062656e65666963696172792e1c436c61696d6564100114696e64657810012c426f756e7479496e64657800012c6368696c645f696e64657810012c426f756e7479496e6465780001187061796f757418013042616c616e63654f663c543e00012c62656e6566696369617279000130543a3a4163636f756e744964000204a441206368696c642d626f756e747920697320636c61696d65642062792062656e65666963696172792e2043616e63656c6564080114696e64657810012c426f756e7479496e64657800012c6368696c645f696e64657810012c426f756e7479496e6465780003047041206368696c642d626f756e74792069732063616e63656c6c65642e047c54686520604576656e746020656e756d206f6620746869732070616c6c657419010c4070616c6c65745f626167735f6c6973741870616c6c6574144576656e740804540004490001082052656261676765640c010c77686f000130543a3a4163636f756e74496400011066726f6d300120543a3a53636f7265000108746f300120543a3a53636f7265000004a44d6f76656420616e206163636f756e742066726f6d206f6e652062616720746f20616e6f746865722e3053636f72655570646174656408010c77686f000130543a3a4163636f756e7449640001246e65775f73636f7265300120543a3a53636f7265000104d855706461746564207468652073636f7265206f6620736f6d65206163636f756e7420746f2074686520676976656e20616d6f756e742e047c54686520604576656e746020656e756d206f6620746869732070616c6c65741d010c5c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c731870616c6c6574144576656e740404540001481c437265617465640801246465706f7369746f72000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c4964000004604120706f6f6c20686173206265656e20637265617465642e18426f6e6465641001186d656d626572000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c4964000118626f6e64656418013042616c616e63654f663c543e0001186a6f696e6564200110626f6f6c0001049441206d656d6265722068617320626563616d6520626f6e64656420696e206120706f6f6c2e1c506169644f75740c01186d656d626572000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c49640001187061796f757418013042616c616e63654f663c543e0002048c41207061796f757420686173206265656e206d61646520746f2061206d656d6265722e20556e626f6e6465641401186d656d626572000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c496400011c62616c616e636518013042616c616e63654f663c543e000118706f696e747318013042616c616e63654f663c543e00010c657261100120457261496e64657800032c9841206d656d6265722068617320756e626f6e6465642066726f6d20746865697220706f6f6c2e0039012d206062616c616e6365602069732074686520636f72726573706f6e64696e672062616c616e6365206f6620746865206e756d626572206f6620706f696e7473207468617420686173206265656e5501202072657175657374656420746f20626520756e626f6e646564202874686520617267756d656e74206f66207468652060756e626f6e6460207472616e73616374696f6e292066726f6d2074686520626f6e6465641c2020706f6f6c2e45012d2060706f696e74736020697320746865206e756d626572206f6620706f696e747320746861742061726520697373756564206173206120726573756c74206f66206062616c616e636560206265696e67c0646973736f6c76656420696e746f2074686520636f72726573706f6e64696e6720756e626f6e64696e6720706f6f6c2ee42d206065726160206973207468652065726120696e207768696368207468652062616c616e63652077696c6c20626520756e626f6e6465642e5501496e2074686520616273656e6365206f6620736c617368696e672c2074686573652076616c7565732077696c6c206d617463682e20496e207468652070726573656e6365206f6620736c617368696e672c207468654d016e756d626572206f6620706f696e74732074686174206172652069737375656420696e2074686520756e626f6e64696e6720706f6f6c2077696c6c206265206c657373207468616e2074686520616d6f756e746472657175657374656420746f20626520756e626f6e6465642e2457697468647261776e1001186d656d626572000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c496400011c62616c616e636518013042616c616e63654f663c543e000118706f696e747318013042616c616e63654f663c543e0004189c41206d656d626572206861732077697468647261776e2066726f6d20746865697220706f6f6c2e00210154686520676976656e206e756d626572206f662060706f696e7473602068617665206265656e20646973736f6c76656420696e2072657475726e206f66206062616c616e6365602e00590153696d696c617220746f2060556e626f6e64656460206576656e742c20696e2074686520616273656e6365206f6620736c617368696e672c2074686520726174696f206f6620706f696e7420746f2062616c616e63652877696c6c20626520312e2444657374726f79656404011c706f6f6c5f6964100118506f6f6c4964000504684120706f6f6c20686173206265656e2064657374726f7965642e3053746174654368616e67656408011c706f6f6c5f6964100118506f6f6c49640001246e65775f737461746521010124506f6f6c53746174650006047c546865207374617465206f66206120706f6f6c20686173206368616e676564344d656d62657252656d6f76656408011c706f6f6c5f6964100118506f6f6c49640001186d656d626572000130543a3a4163636f756e74496400070c9841206d656d62657220686173206265656e2072656d6f7665642066726f6d206120706f6f6c2e0051015468652072656d6f76616c2063616e20626520766f6c756e74617279202877697468647261776e20616c6c20756e626f6e6465642066756e647329206f7220696e766f6c756e7461727920286b69636b6564292e30526f6c6573557064617465640c0110726f6f748801504f7074696f6e3c543a3a4163636f756e7449643e00011c626f756e6365728801504f7074696f6e3c543a3a4163636f756e7449643e0001246e6f6d696e61746f728801504f7074696f6e3c543a3a4163636f756e7449643e000808550154686520726f6c6573206f66206120706f6f6c2068617665206265656e207570646174656420746f2074686520676976656e206e657720726f6c65732e204e6f7465207468617420746865206465706f7369746f724463616e206e65766572206368616e67652e2c506f6f6c536c617368656408011c706f6f6c5f6964100118506f6f6c496400011c62616c616e636518013042616c616e63654f663c543e0009040d01546865206163746976652062616c616e6365206f6620706f6f6c2060706f6f6c5f69646020686173206265656e20736c617368656420746f206062616c616e6365602e50556e626f6e64696e67506f6f6c536c61736865640c011c706f6f6c5f6964100118506f6f6c496400010c657261100120457261496e64657800011c62616c616e636518013042616c616e63654f663c543e000a04250154686520756e626f6e6420706f6f6c206174206065726160206f6620706f6f6c2060706f6f6c5f69646020686173206265656e20736c617368656420746f206062616c616e6365602e54506f6f6c436f6d6d697373696f6e5570646174656408011c706f6f6c5f6964100118506f6f6c496400011c63757272656e742501017c4f7074696f6e3c2850657262696c6c2c20543a3a4163636f756e744964293e000b04b44120706f6f6c277320636f6d6d697373696f6e2073657474696e6720686173206265656e206368616e6765642e60506f6f6c4d6178436f6d6d697373696f6e5570646174656408011c706f6f6c5f6964100118506f6f6c49640001386d61785f636f6d6d697373696f6ef8011c50657262696c6c000c04d44120706f6f6c2773206d6178696d756d20636f6d6d697373696f6e2073657474696e6720686173206265656e206368616e6765642e7c506f6f6c436f6d6d697373696f6e4368616e6765526174655570646174656408011c706f6f6c5f6964100118506f6f6c496400012c6368616e67655f726174652d01019c436f6d6d697373696f6e4368616e6765526174653c426c6f636b4e756d626572466f723c543e3e000d04cc4120706f6f6c277320636f6d6d697373696f6e20606368616e67655f726174656020686173206265656e206368616e6765642e90506f6f6c436f6d6d697373696f6e436c61696d5065726d697373696f6e5570646174656408011c706f6f6c5f6964100118506f6f6c49640001287065726d697373696f6e310101bc4f7074696f6e3c436f6d6d697373696f6e436c61696d5065726d697373696f6e3c543a3a4163636f756e7449643e3e000e04c8506f6f6c20636f6d6d697373696f6e20636c61696d207065726d697373696f6e20686173206265656e20757064617465642e54506f6f6c436f6d6d697373696f6e436c61696d656408011c706f6f6c5f6964100118506f6f6c4964000128636f6d6d697373696f6e18013042616c616e63654f663c543e000f0484506f6f6c20636f6d6d697373696f6e20686173206265656e20636c61696d65642e644d696e42616c616e63654465666963697441646a757374656408011c706f6f6c5f6964100118506f6f6c4964000118616d6f756e7418013042616c616e63654f663c543e001004c8546f70706564207570206465666963697420696e2066726f7a656e204544206f66207468652072657761726420706f6f6c2e604d696e42616c616e636545786365737341646a757374656408011c706f6f6c5f6964100118506f6f6c4964000118616d6f756e7418013042616c616e63654f663c543e001104bc436c61696d6564206578636573732066726f7a656e204544206f66206166207468652072657761726420706f6f6c2e04584576656e7473206f6620746869732070616c6c65742e2101085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7324506f6f6c537461746500010c104f70656e0000001c426c6f636b65640001002844657374726f79696e6700020000250104184f7074696f6e0404540129010108104e6f6e6500000010536f6d65040029010000010000290100000408f800002d01085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7350436f6d6d697373696f6e4368616e676552617465042c426c6f636b4e756d6265720130000801306d61785f696e637265617365f8011c50657262696c6c0001246d696e5f64656c617930012c426c6f636b4e756d6265720000310104184f7074696f6e0404540135010108104e6f6e6500000010536f6d650400350100000100003501085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7364436f6d6d697373696f6e436c61696d5065726d697373696f6e04244163636f756e74496401000108385065726d697373696f6e6c6573730000001c4163636f756e7404000001244163636f756e7449640001000039010c4070616c6c65745f7363686564756c65721870616c6c6574144576656e74040454000124245363686564756c65640801107768656e300144426c6f636b4e756d626572466f723c543e000114696e64657810010c753332000004505363686564756c656420736f6d65207461736b2e2043616e63656c65640801107768656e300144426c6f636b4e756d626572466f723c543e000114696e64657810010c7533320001044c43616e63656c656420736f6d65207461736b2e28446973706174636865640c01107461736b3d0101785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e0001086964410101404f7074696f6e3c5461736b4e616d653e000118726573756c748001384469737061746368526573756c74000204544469737061746368656420736f6d65207461736b2e2052657472795365741001107461736b3d0101785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e0001086964410101404f7074696f6e3c5461736b4e616d653e000118706572696f64300144426c6f636b4e756d626572466f723c543e00011c726574726965730801087538000304a0536574206120726574727920636f6e66696775726174696f6e20666f7220736f6d65207461736b2e38526574727943616e63656c6c65640801107461736b3d0101785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e0001086964410101404f7074696f6e3c5461736b4e616d653e000404ac43616e63656c206120726574727920636f6e66696775726174696f6e20666f7220736f6d65207461736b2e3c43616c6c556e617661696c61626c650801107461736b3d0101785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e0001086964410101404f7074696f6e3c5461736b4e616d653e00050429015468652063616c6c20666f72207468652070726f7669646564206861736820776173206e6f7420666f756e6420736f20746865207461736b20686173206265656e2061626f727465642e38506572696f6469634661696c65640801107461736b3d0101785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e0001086964410101404f7074696f6e3c5461736b4e616d653e0006043d0154686520676976656e207461736b2077617320756e61626c6520746f2062652072656e657765642073696e636520746865206167656e64612069732066756c6c206174207468617420626c6f636b2e2c52657472794661696c65640801107461736b3d0101785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e0001086964410101404f7074696f6e3c5461736b4e616d653e0007085d0154686520676976656e207461736b2077617320756e61626c6520746f20626520726574726965642073696e636520746865206167656e64612069732066756c6c206174207468617420626c6f636b206f722074686572659c776173206e6f7420656e6f7567682077656967687420746f2072657363686564756c652069742e545065726d616e656e746c794f7665727765696768740801107461736b3d0101785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e0001086964410101404f7074696f6e3c5461736b4e616d653e000804f054686520676976656e207461736b2063616e206e657665722062652065786563757465642073696e6365206974206973206f7665727765696768742e04304576656e747320747970652e3d0100000408301000410104184f7074696f6e04045401040108104e6f6e6500000010536f6d65040004000001000045010c3c70616c6c65745f707265696d6167651870616c6c6574144576656e7404045400010c144e6f7465640401106861736834011c543a3a48617368000004684120707265696d61676520686173206265656e206e6f7465642e245265717565737465640401106861736834011c543a3a48617368000104784120707265696d61676520686173206265656e207265717565737465642e1c436c65617265640401106861736834011c543a3a486173680002046c4120707265696d616765206861732062656e20636c65617265642e047c54686520604576656e746020656e756d206f6620746869732070616c6c657449010c3c70616c6c65745f6f6666656e6365731870616c6c6574144576656e740001041c4f6666656e63650801106b696e644d0101104b696e6400012074696d65736c6f743801384f706171756554696d65536c6f7400000c5101546865726520697320616e206f6666656e6365207265706f72746564206f662074686520676976656e20606b696e64602068617070656e656420617420746865206073657373696f6e5f696e6465786020616e643501286b696e642d7370656369666963292074696d6520736c6f742e2054686973206576656e74206973206e6f74206465706f736974656420666f72206475706c696361746520736c61736865732e4c5c5b6b696e642c2074696d65736c6f745c5d2e04304576656e747320747970652e4d0100000310000000080051010c3c70616c6c65745f74785f70617573651870616c6c6574144576656e740404540001082843616c6c50617573656404012466756c6c5f6e616d655501015052756e74696d6543616c6c4e616d654f663c543e000004b8546869732070616c6c65742c206f7220612073706563696669632063616c6c206973206e6f77207061757365642e3043616c6c556e70617573656404012466756c6c5f6e616d655501015052756e74696d6543616c6c4e616d654f663c543e000104c0546869732070616c6c65742c206f7220612073706563696669632063616c6c206973206e6f7720756e7061757365642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574550100000408590159010059010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e00005d010c4070616c6c65745f696d5f6f6e6c696e651870616c6c6574144576656e7404045400010c444865617274626561745265636569766564040130617574686f726974795f696461010138543a3a417574686f726974794964000004c041206e657720686561727462656174207761732072656365697665642066726f6d2060417574686f726974794964602e1c416c6c476f6f64000104d041742074686520656e64206f66207468652073657373696f6e2c206e6f206f6666656e63652077617320636f6d6d69747465642e2c536f6d654f66666c696e6504011c6f66666c696e656501016c5665633c4964656e74696669636174696f6e5475706c653c543e3e000204290141742074686520656e64206f66207468652073657373696f6e2c206174206c65617374206f6e652076616c696461746f722077617320666f756e6420746f206265206f66666c696e652e047c54686520604576656e746020656e756d206f6620746869732070616c6c65746101104070616c6c65745f696d5f6f6e6c696e651c737232353531392c6170705f73723235353139185075626c69630000040004013c737232353531393a3a5075626c696300006501000002690100690100000408006d01006d01082873705f7374616b696e67204578706f7375726508244163636f756e74496401001c42616c616e63650118000c0114746f74616c7101011c42616c616e636500010c6f776e7101011c42616c616e63650001186f7468657273750101ac5665633c496e646976696475616c4578706f737572653c4163636f756e7449642c2042616c616e63653e3e00007101000006180075010000027901007901082873705f7374616b696e6748496e646976696475616c4578706f7375726508244163636f756e74496401001c42616c616e636501180008010c77686f0001244163636f756e74496400011476616c75657101011c42616c616e636500007d010c3c70616c6c65745f6964656e746974791870616c6c6574144576656e740404540001442c4964656e7469747953657404010c77686f000130543a3a4163636f756e744964000004ec41206e616d652077617320736574206f72207265736574202877686963682077696c6c2072656d6f766520616c6c206a756467656d656e7473292e3c4964656e74697479436c656172656408010c77686f000130543a3a4163636f756e74496400011c6465706f73697418013042616c616e63654f663c543e000104cc41206e616d652077617320636c65617265642c20616e642074686520676976656e2062616c616e63652072657475726e65642e384964656e746974794b696c6c656408010c77686f000130543a3a4163636f756e74496400011c6465706f73697418013042616c616e63654f663c543e000204c441206e616d65207761732072656d6f76656420616e642074686520676976656e2062616c616e636520736c61736865642e484a756467656d656e7452657175657374656408010c77686f000130543a3a4163636f756e74496400013c7265676973747261725f696e646578100138526567697374726172496e6465780003049c41206a756467656d656e74207761732061736b65642066726f6d2061207265676973747261722e504a756467656d656e74556e72657175657374656408010c77686f000130543a3a4163636f756e74496400013c7265676973747261725f696e646578100138526567697374726172496e6465780004048841206a756467656d656e74207265717565737420776173207265747261637465642e384a756467656d656e74476976656e080118746172676574000130543a3a4163636f756e74496400013c7265676973747261725f696e646578100138526567697374726172496e6465780005049441206a756467656d656e742077617320676976656e2062792061207265676973747261722e38526567697374726172416464656404013c7265676973747261725f696e646578100138526567697374726172496e646578000604584120726567697374726172207761732061646465642e405375624964656e7469747941646465640c010c737562000130543a3a4163636f756e7449640001106d61696e000130543a3a4163636f756e74496400011c6465706f73697418013042616c616e63654f663c543e000704f441207375622d6964656e746974792077617320616464656420746f20616e206964656e7469747920616e6420746865206465706f73697420706169642e485375624964656e7469747952656d6f7665640c010c737562000130543a3a4163636f756e7449640001106d61696e000130543a3a4163636f756e74496400011c6465706f73697418013042616c616e63654f663c543e000804090141207375622d6964656e74697479207761732072656d6f7665642066726f6d20616e206964656e7469747920616e6420746865206465706f7369742066726565642e485375624964656e746974795265766f6b65640c010c737562000130543a3a4163636f756e7449640001106d61696e000130543a3a4163636f756e74496400011c6465706f73697418013042616c616e63654f663c543e000908190141207375622d6964656e746974792077617320636c65617265642c20616e642074686520676976656e206465706f7369742072657061747269617465642066726f6d20746865c86d61696e206964656e74697479206163636f756e7420746f20746865207375622d6964656e74697479206163636f756e742e38417574686f726974794164646564040124617574686f72697479000130543a3a4163636f756e744964000a047c4120757365726e616d6520617574686f72697479207761732061646465642e40417574686f7269747952656d6f766564040124617574686f72697479000130543a3a4163636f756e744964000b04844120757365726e616d6520617574686f72697479207761732072656d6f7665642e2c557365726e616d6553657408010c77686f000130543a3a4163636f756e744964000120757365726e616d658101012c557365726e616d653c543e000c04744120757365726e616d65207761732073657420666f72206077686f602e38557365726e616d655175657565640c010c77686f000130543a3a4163636f756e744964000120757365726e616d658101012c557365726e616d653c543e00012865787069726174696f6e300144426c6f636b4e756d626572466f723c543e000d0419014120757365726e616d6520776173207175657565642c20627574206077686f60206d75737420616363657074206974207072696f7220746f206065787069726174696f6e602e48507265617070726f76616c4578706972656404011477686f7365000130543a3a4163636f756e744964000e043901412071756575656420757365726e616d6520706173736564206974732065787069726174696f6e20776974686f7574206265696e6720636c61696d656420616e64207761732072656d6f7665642e485072696d617279557365726e616d6553657408010c77686f000130543a3a4163636f756e744964000120757365726e616d658101012c557365726e616d653c543e000f0401014120757365726e616d6520776173207365742061732061207072696d61727920616e642063616e206265206c6f6f6b65642075702066726f6d206077686f602e5c44616e676c696e67557365726e616d6552656d6f76656408010c77686f000130543a3a4163636f756e744964000120757365726e616d658101012c557365726e616d653c543e0010085d01412064616e676c696e6720757365726e616d652028617320696e2c206120757365726e616d6520636f72726573706f6e64696e6720746f20616e206163636f756e742074686174206861732072656d6f766564206974736c6964656e746974792920686173206265656e2072656d6f7665642e047c54686520604576656e746020656e756d206f6620746869732070616c6c657481010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e000085010c3870616c6c65745f7574696c6974791870616c6c6574144576656e74000118404261746368496e746572727570746564080114696e64657810010c7533320001146572726f7268013444697370617463684572726f7200000855014261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c2061734877656c6c20617320746865206572726f722e384261746368436f6d706c65746564000104c84261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e604261746368436f6d706c65746564576974684572726f7273000204b44261746368206f66206469737061746368657320636f6d706c657465642062757420686173206572726f72732e344974656d436f6d706c657465640003041d01412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206e6f206572726f722e284974656d4661696c65640401146572726f7268013444697370617463684572726f720004041101412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206572726f722e30446973706174636865644173040118726573756c748001384469737061746368526573756c7400050458412063616c6c2077617320646973706174636865642e047c54686520604576656e746020656e756d206f6620746869732070616c6c657489010c3c70616c6c65745f6d756c74697369671870616c6c6574144576656e740404540001102c4e65774d756c74697369670c0124617070726f76696e67000130543a3a4163636f756e7449640001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c486173680000048c41206e6577206d756c7469736967206f7065726174696f6e2068617320626567756e2e404d756c7469736967417070726f76616c100124617070726f76696e67000130543a3a4163636f756e74496400012474696d65706f696e748d01017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000104c841206d756c7469736967206f7065726174696f6e20686173206265656e20617070726f76656420627920736f6d656f6e652e404d756c74697369674578656375746564140124617070726f76696e67000130543a3a4163636f756e74496400012474696d65706f696e748d01017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000118726573756c748001384469737061746368526573756c740002049c41206d756c7469736967206f7065726174696f6e20686173206265656e2065786563757465642e444d756c746973696743616e63656c6c656410012863616e63656c6c696e67000130543a3a4163636f756e74496400012474696d65706f696e748d01017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000304a041206d756c7469736967206f7065726174696f6e20686173206265656e2063616e63656c6c65642e047c54686520604576656e746020656e756d206f6620746869732070616c6c65748d01083c70616c6c65745f6d756c74697369672454696d65706f696e74042c426c6f636b4e756d62657201300008011868656967687430012c426c6f636b4e756d626572000114696e64657810010c753332000091010c3c70616c6c65745f657468657265756d1870616c6c6574144576656e7400010420457865637574656414011066726f6d9501011048313630000108746f95010110483136300001407472616e73616374696f6e5f686173683401104832353600012c657869745f726561736f6e9d01012845786974526561736f6e00012865787472615f6461746138011c5665633c75383e000004c8416e20657468657265756d207472616e73616374696f6e20776173207375636365737366756c6c792065786563757465642e047c54686520604576656e746020656e756d206f6620746869732070616c6c65749501083c7072696d69746976655f7479706573104831363000000400990101205b75383b2032305d000099010000031400000008009d010c2065766d5f636f7265146572726f722845786974526561736f6e0001101c537563636565640400a101012c4578697453756363656564000000144572726f720400a5010124457869744572726f72000100185265766572740400b50101284578697452657665727400020014466174616c0400b901012445786974466174616c00030000a1010c2065766d5f636f7265146572726f722c457869745375636365656400010c1c53746f707065640000002052657475726e656400010020537569636964656400020000a5010c2065766d5f636f7265146572726f7224457869744572726f7200014038537461636b556e646572666c6f7700000034537461636b4f766572666c6f770001002c496e76616c69644a756d7000020030496e76616c696452616e67650003004444657369676e61746564496e76616c69640004002c43616c6c546f6f446565700005003c437265617465436f6c6c6973696f6e0006004c437265617465436f6e74726163744c696d69740007002c496e76616c6964436f64650400a90101184f70636f6465000f002c4f75744f664f6666736574000800204f75744f66476173000900244f75744f6646756e64000a002c5043556e646572666c6f77000b002c437265617465456d707479000c00144f746865720400ad010144436f773c277374617469632c207374723e000d00204d61784e6f6e6365000e0000a9010c2065766d5f636f7265186f70636f6465184f70636f64650000040008010875380000ad01040c436f7704045401b101000400b101000000b1010000050200b5010c2065766d5f636f7265146572726f72284578697452657665727400010420526576657274656400000000b9010c2065766d5f636f7265146572726f722445786974466174616c000110304e6f74537570706f7274656400000048556e68616e646c6564496e746572727570740001004043616c6c4572726f724173466174616c0400a5010124457869744572726f72000200144f746865720400ad010144436f773c277374617469632c207374723e00030000bd010c2870616c6c65745f65766d1870616c6c6574144576656e740404540001140c4c6f6704010c6c6f67c101010c4c6f670000047c457468657265756d206576656e74732066726f6d20636f6e7472616374732e1c4372656174656404011c616464726573739501011048313630000104b44120636f6e747261637420686173206265656e206372656174656420617420676976656e20616464726573732e34437265617465644661696c656404011c61646472657373950101104831363000020405014120636f6e74726163742077617320617474656d7074656420746f20626520637265617465642c206275742074686520657865637574696f6e206661696c65642e20457865637574656404011c616464726573739501011048313630000304f84120636f6e747261637420686173206265656e206578656375746564207375636365737366756c6c79207769746820737461746573206170706c6965642e3845786563757465644661696c656404011c61646472657373950101104831363000040465014120636f6e747261637420686173206265656e2065786563757465642077697468206572726f72732e20537461746573206172652072657665727465642077697468206f6e6c79206761732066656573206170706c6965642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574c1010c20657468657265756d0c6c6f670c4c6f6700000c011c616464726573739501011048313630000118746f70696373c50101245665633c483235363e0001106461746138011442797465730000c5010000023400c9010c3c70616c6c65745f626173655f6665651870616c6c6574144576656e7400010c404e65774261736546656550657247617304010c666565cd010110553235360000003c426173654665654f766572666c6f77000100344e6577456c6173746963697479040128656c6173746963697479d501011c5065726d696c6c000200047c54686520604576656e746020656e756d206f6620746869732070616c6c6574cd01083c7072696d69746976655f7479706573105532353600000400d10101205b7536343b20345d0000d101000003040000003000d5010c3473705f61726974686d65746963287065725f7468696e67731c5065726d696c6c0000040010010c7533320000d9010c5470616c6c65745f61697264726f705f636c61696d731870616c6c6574144576656e740404540001041c436c61696d65640c0124726563697069656e74000130543a3a4163636f756e744964000118736f75726365dd0101304d756c746941646472657373000118616d6f756e7418013042616c616e63654f663c543e0000048c536f6d656f6e6520636c61696d656420736f6d65206e617469766520746f6b656e732e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574dd010c5470616c6c65745f61697264726f705f636c61696d73147574696c73304d756c7469416464726573730001080c45564d0400e101013c457468657265756d41646472657373000000184e6174697665040000012c4163636f756e744964333200010000e101105470616c6c65745f61697264726f705f636c61696d73147574696c7340657468657265756d5f616464726573733c457468657265756d4164647265737300000400990101205b75383b2032305d0000e5010c3070616c6c65745f70726f78791870616c6c6574144576656e740404540001143450726f78794578656375746564040118726573756c748001384469737061746368526573756c74000004bc412070726f78792077617320657865637574656420636f72726563746c792c20776974682074686520676976656e2e2c507572654372656174656410011070757265000130543a3a4163636f756e74496400010c77686f000130543a3a4163636f756e74496400012870726f78795f74797065e9010130543a3a50726f787954797065000150646973616d626967756174696f6e5f696e646578ed01010c753136000108dc412070757265206163636f756e7420686173206265656e2063726561746564206279206e65772070726f7879207769746820676976656e90646973616d626967756174696f6e20696e64657820616e642070726f787920747970652e24416e6e6f756e6365640c01107265616c000130543a3a4163636f756e74496400011470726f7879000130543a3a4163636f756e74496400012463616c6c5f6861736834013443616c6c486173684f663c543e000204e0416e20616e6e6f756e63656d656e742077617320706c6163656420746f206d616b6520612063616c6c20696e20746865206675747572652e2850726f7879416464656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065e9010130543a3a50726f78795479706500011464656c6179300144426c6f636b4e756d626572466f723c543e00030448412070726f7879207761732061646465642e3050726f787952656d6f76656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065e9010130543a3a50726f78795479706500011464656c6179300144426c6f636b4e756d626572466f723c543e00040450412070726f7879207761732072656d6f7665642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574e901085874616e676c655f746573746e65745f72756e74696d652450726f7879547970650001100c416e790000002c4e6f6e5472616e7366657200010028476f7665726e616e63650002001c5374616b696e6700030000ed010000050400f1010c7470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e1870616c6c6574144576656e74040454000168384f70657261746f724a6f696e656404010c77686f000130543a3a4163636f756e7449640000045c416e206f70657261746f7220686173206a6f696e65642e604f70657261746f724c656176696e675363686564756c656404010c77686f000130543a3a4163636f756e7449640001048c416e206f70657261746f7220686173207363686564756c656420746f206c656176652e584f70657261746f724c6561766543616e63656c6c656404010c77686f000130543a3a4163636f756e744964000204b8416e206f70657261746f72206861732063616e63656c6c6564207468656972206c6561766520726571756573742e544f70657261746f724c65617665457865637574656404010c77686f000130543a3a4163636f756e744964000304b4416e206f70657261746f7220686173206578656375746564207468656972206c6561766520726571756573742e404f70657261746f72426f6e644d6f726508010c77686f000130543a3a4163636f756e74496400013c6164646974696f6e616c5f626f6e6418013042616c616e63654f663c543e00040498416e206f70657261746f722068617320696e63726561736564207468656972207374616b652e644f70657261746f72426f6e644c6573735363686564756c656408010c77686f000130543a3a4163636f756e744964000138756e7374616b655f616d6f756e7418013042616c616e63654f663c543e000504c8416e206f70657261746f7220686173207363686564756c656420746f206465637265617365207468656972207374616b652e604f70657261746f72426f6e644c657373457865637574656404010c77686f000130543a3a4163636f756e744964000604b8416e206f70657261746f7220686173206578656375746564207468656972207374616b652064656372656173652e644f70657261746f72426f6e644c65737343616e63656c6c656404010c77686f000130543a3a4163636f756e744964000704dc416e206f70657261746f72206861732063616e63656c6c6564207468656972207374616b6520646563726561736520726571756573742e4c4f70657261746f7257656e744f66666c696e6504010c77686f000130543a3a4163636f756e74496400080474416e206f70657261746f722068617320676f6e65206f66666c696e652e484f70657261746f7257656e744f6e6c696e6504010c77686f000130543a3a4163636f756e74496400090470416e206f70657261746f722068617320676f6e65206f6e6c696e652e244465706f73697465640c010c77686f000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e0001146173736574f501014441737365743c543a3a417373657449643e000a046041206465706f73697420686173206265656e206d6164652e445363686564756c656457697468647261770c010c77686f000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e0001146173736574f501014441737365743c543a3a417373657449643e000b047c416e20776974686472617720686173206265656e207363686564756c65642e404578656375746564576974686472617704010c77686f000130543a3a4163636f756e744964000c0478416e20776974686472617720686173206265656e2065786563757465642e4443616e63656c6c6564576974686472617704010c77686f000130543a3a4163636f756e744964000d047c416e20776974686472617720686173206265656e2063616e63656c6c65642e2444656c65676174656410010c77686f000130543a3a4163636f756e7449640001206f70657261746f72000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e0001146173736574f501014441737365743c543a3a417373657449643e000e046c412064656c65676174696f6e20686173206265656e206d6164652e6444656c656761746f72556e7374616b655363686564756c656414010c77686f000130543a3a4163636f756e7449640001206f70657261746f72000130543a3a4163636f756e7449640001146173736574f501014441737365743c543a3a417373657449643e000118616d6f756e7418013042616c616e63654f663c543e0001107768656e100128526f756e64496e646578000f04bc412064656c656761746f7220756e7374616b65207265717565737420686173206265656e207363686564756c65642e6044656c656761746f72556e7374616b65457865637574656410010c77686f000130543a3a4163636f756e7449640001206f70657261746f72000130543a3a4163636f756e7449640001146173736574f501014441737365743c543a3a417373657449643e000118616d6f756e7418013042616c616e63654f663c543e001004b8412064656c656761746f7220756e7374616b65207265717565737420686173206265656e2065786563757465642e6444656c656761746f72556e7374616b6543616e63656c6c656410010c77686f000130543a3a4163636f756e7449640001206f70657261746f72000130543a3a4163636f756e7449640001146173736574f501014441737365743c543a3a417373657449643e000118616d6f756e7418013042616c616e63654f663c543e001104bc412064656c656761746f7220756e7374616b65207265717565737420686173206265656e2063616e63656c6c65642e3c4f70657261746f72536c61736865641401206f70657261746f72000130543a3a4163636f756e7449640488546865206163636f756e74207468617420686173206265656e20736c61736865642e0118616d6f756e7418013042616c616e63654f663c543e046054686520616d6f756e74206f662074686520736c6173682e0128736572766963655f696430010c7536340428536572766963652049440130626c75657072696e745f696430010c7536340430426c75657072696e74204944010c65726110010c753332042445726120696e646578120474416e204f70657261746f7220686173206265656e20736c61736865642e4044656c656761746f72536c617368656418012464656c656761746f72000130543a3a4163636f756e7449640488546865206163636f756e74207468617420686173206265656e20736c61736865642e0118616d6f756e7418013042616c616e63654f663c543e046054686520616d6f756e74206f662074686520736c6173682e01146173736574f501014441737365743c543a3a417373657449643e0460546865206173736574206265696e6720736c61736865642e0128736572766963655f696430010c7536340428536572766963652049440130626c75657072696e745f696430010c7536340430426c75657072696e74204944010c65726110010c753332042445726120696e646578130474412044656c656761746f7220686173206265656e20736c61736865642e384e6f6d696e61746564536c61736818012464656c656761746f72000130543a3a4163636f756e7449640484546865206163636f756e74207468617420686173206265656e20736c617368656401206f70657261746f72000130543a3a4163636f756e7449640498546865206f70657261746f72206173736f63696174656420776974682074686520736c6173680118616d6f756e7418013042616c616e63654f663c543e045c54686520616d6f756e74206f662074686520736c6173680128736572766963655f696430010c7536340428536572766963652049440130626c75657072696e745f696430010c7536340430426c75657072696e74204944010c65726110010c753332042445726120696e6465781404bc412044656c656761746f722773206e6f6d696e61746564207374616b6520686173206265656e20736c61736865642e2c45766d526576657274656410011066726f6d9501011048313630000108746f95010110483136300001106461746138011c5665633c75383e000118726561736f6e38011c5665633c75383e0015049445564d20657865637574696f6e2072657665727465642077697468206120726561736f6e2e4c4e6f6d696e6174696f6e44656c6567617465640c010c77686f000130543a3a4163636f756e7449640001206f70657261746f72000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e0016047c41206e6f6d696e6174696f6e20686173206265656e2064656c656761746564684e6f6d696e6174696f6e556e7374616b655363686564756c656410010c77686f000130543a3a4163636f756e7449640001206f70657261746f72000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e0001107768656e100128526f756e64496e646578001704c041206e6f6d696e6174696f6e20756e7374616b65207265717565737420686173206265656e207363686564756c65642e644e6f6d696e6174696f6e556e7374616b6545786563757465640c010c77686f000130543a3a4163636f756e7449640001206f70657261746f72000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e001804bc41206e6f6d696e6174696f6e20756e7374616b65207265717565737420686173206265656e2065786563757465642e684e6f6d696e6174696f6e556e7374616b6543616e63656c6c65640c010c77686f000130543a3a4163636f756e7449640001206f70657261746f72000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e001904c041206e6f6d696e6174696f6e20756e7374616b65207265717565737420686173206265656e2063616e63656c6c65642e04744576656e747320656d6974746564206279207468652070616c6c65742ef501104474616e676c655f7072696d697469766573207365727669636573147479706573144173736574041c417373657449640118010818437573746f6d040018011c417373657449640000001445726332300400950101104831363000010000f9010c3c70616c6c65745f7365727669636573186d6f64756c65144576656e7404045400014040426c75657072696e74437265617465640801146f776e6572000130543a3a4163636f756e74496404bc546865206163636f756e742074686174206372656174656420746865207365727669636520626c75657072696e742e0130626c75657072696e745f696430010c7536340480546865204944206f6620746865207365727669636520626c75657072696e742e0004a441206e6577207365727669636520626c75657072696e7420686173206265656e20637265617465642e3c507265526567697374726174696f6e0801206f70657261746f72000130543a3a4163636f756e74496404bc546865206163636f756e742074686174207072652d7265676973746572656420617320616e206f70657261746f722e0130626c75657072696e745f696430010c7536340480546865204944206f6620746865207365727669636520626c75657072696e742e0104dc416e206f70657261746f7220686173207072652d7265676973746572656420666f722061207365727669636520626c75657072696e742e285265676973746572656410012070726f7669646572000130543a3a4163636f756e74496404a8546865206163636f756e74207468617420726567697374657265642061732061206f70657261746f722e0130626c75657072696e745f696430010c7536340480546865204944206f6620746865207365727669636520626c75657072696e742e012c707265666572656e636573fd01014c4f70657261746f72507265666572656e63657304f454686520707265666572656e63657320666f7220746865206f70657261746f7220666f72207468697320737065636966696320626c75657072696e742e0144726567697374726174696f6e5f61726773090201a05665633c4669656c643c543a3a436f6e73747261696e74732c20543a3a4163636f756e7449643e3e049054686520617267756d656e7473207573656420666f7220726567697374726174696f6e2e020490416e206e6577206f70657261746f7220686173206265656e20726567697374657265642e30556e726567697374657265640801206f70657261746f72000130543a3a4163636f756e74496404b4546865206163636f756e74207468617420756e7265676973746572656420617320616d206f70657261746f722e0130626c75657072696e745f696430010c7536340480546865204944206f6620746865207365727669636520626c75657072696e742e030488416e206f70657261746f7220686173206265656e20756e726567697374657265642e4c507269636554617267657473557064617465640c01206f70657261746f72000130543a3a4163636f756e74496404c4546865206163636f756e74207468617420757064617465642074686520617070726f76616c20707265666572656e63652e0130626c75657072696e745f696430010c7536340480546865204944206f6620746865207365727669636520626c75657072696e742e013470726963655f74617267657473050201305072696365546172676574730458546865206e657720707269636520746172676574732e0404cc546865207072696365207461726765747320666f7220616e206f70657261746f7220686173206265656e20757064617465642e40536572766963655265717565737465641801146f776e6572000130543a3a4163636f756e744964049c546865206163636f756e742074686174207265717565737465642074686520736572766963652e0128726571756573745f696430010c7536340478546865204944206f6620746865207365727669636520726571756573742e0130626c75657072696e745f696430010c7536340480546865204944206f6620746865207365727669636520626c75657072696e742e014470656e64696e675f617070726f76616c73490201445665633c543a3a4163636f756e7449643e04dc546865206c697374206f66206f70657261746f72732074686174206e65656420746f20617070726f76652074686520736572766963652e0120617070726f766564490201445665633c543a3a4163636f756e7449643e04f8546865206c697374206f66206f70657261746f72732074686174206175746f6d61746963616c6c7920617070726f7665642074686520736572766963652e015473656375726974795f726571756972656d656e74734d02012d01426f756e6465645665633c41737365745365637572697479526571756972656d656e743c543a3a417373657449643e2c204d6178417373657473506572536572766963654f660a3c543e3e04e0546865206c697374206f6620617373657420736563757269747920726571756972656d656e747320666f722074686520736572766963652e05048441206e6577207365727669636520686173206265656e207265717565737465642e585365727669636552657175657374417070726f7665641401206f70657261746f72000130543a3a4163636f756e7449640498546865206163636f756e74207468617420617070726f7665642074686520736572766963652e0128726571756573745f696430010c7536340478546865204944206f6620746865207365727669636520726571756573742e0130626c75657072696e745f696430010c7536340480546865204944206f6620746865207365727669636520626c75657072696e742e014470656e64696e675f617070726f76616c73490201445665633c543a3a4163636f756e7449643e04dc546865206c697374206f66206f70657261746f72732074686174206e65656420746f20617070726f76652074686520736572766963652e0120617070726f766564490201445665633c543a3a4163636f756e7449643e04f0546865206c697374206f66206f70657261746f727320746861742061746f6d61746963616c7920617070726f7665642074686520736572766963652e060490412073657276696365207265717565737420686173206265656e20617070726f7665642e58536572766963655265717565737452656a65637465640c01206f70657261746f72000130543a3a4163636f756e7449640498546865206163636f756e7420746861742072656a65637465642074686520736572766963652e0128726571756573745f696430010c7536340478546865204944206f6620746865207365727669636520726571756573742e0130626c75657072696e745f696430010c7536340480546865204944206f6620746865207365727669636520626c75657072696e742e070490412073657276696365207265717565737420686173206265656e2072656a65637465642e4053657276696365496e697469617465641401146f776e6572000130543a3a4163636f756e7449640464546865206f776e6572206f662074686520736572766963652e0128726571756573745f696430010c75363404c0546865204944206f662074686520736572766963652072657175657374207468617420676f7420617070726f7665642e0128736572766963655f696430010c7536340458546865204944206f662074686520736572766963652e0130626c75657072696e745f696430010c7536340480546865204944206f6620746865207365727669636520626c75657072696e742e01746f70657261746f725f73656375726974795f636f6d6d69746d656e74735d020115014f70657261746f725365637572697479436f6d6d69746d656e74733c543a3a4163636f756e7449642c20543a3a417373657449642c20543a3a436f6e73747261696e74733e04f4546865206c697374206f6620617373657473207468617420617265206265696e67207573656420746f207365637572652074686520736572766963652e08047441207365727669636520686173206265656e20696e697469617465642e44536572766963655465726d696e617465640c01146f776e6572000130543a3a4163636f756e7449640464546865206f776e6572206f662074686520736572766963652e0128736572766963655f696430010c7536340458546865204944206f662074686520736572766963652e0130626c75657072696e745f696430010c7536340480546865204944206f6620746865207365727669636520626c75657072696e742e09047841207365727669636520686173206265656e207465726d696e617465642e244a6f6243616c6c656414011863616c6c6572000130543a3a4163636f756e7449640480546865206163636f756e7420746861742063616c6c656420746865206a6f622e0128736572766963655f696430010c7536340458546865204944206f662074686520736572766963652e011c63616c6c5f696430010c753634044c546865204944206f66207468652063616c6c2e010c6a6f620801087538045454686520696e646578206f6620746865206a6f622e011061726773090201a05665633c4669656c643c543a3a436f6e73747261696e74732c20543a3a4163636f756e7449643e3e046454686520617267756d656e7473206f6620746865206a6f622e0a045841206a6f6220686173206265656e2063616c6c65642e484a6f62526573756c745375626d69747465641401206f70657261746f72000130543a3a4163636f756e74496404a8546865206163636f756e742074686174207375626d697474656420746865206a6f6220726573756c742e0128736572766963655f696430010c7536340458546865204944206f662074686520736572766963652e011c63616c6c5f696430010c753634044c546865204944206f66207468652063616c6c2e010c6a6f620801087538045454686520696e646578206f6620746865206a6f622e0118726573756c74090201a05665633c4669656c643c543a3a436f6e73747261696e74732c20543a3a4163636f756e7449643e3e045854686520726573756c74206f6620746865206a6f622e0b048041206a6f6220726573756c7420686173206265656e207375626d69747465642e2c45766d526576657274656410011066726f6d9501011048313630000108746f95010110483136300001106461746138011c5665633c75383e000118726561736f6e38011c5665633c75383e000c049445564d20657865637574696f6e2072657665727465642077697468206120726561736f6e2e38556e6170706c696564536c617368180114696e64657810010c753332045c54686520696e646578206f662074686520736c6173682e01206f70657261746f72000130543a3a4163636f756e74496404a0546865206163636f756e7420746861742068617320616e20756e6170706c69656420736c6173682e0128736572766963655f696430010c7536340428536572766963652049440130626c75657072696e745f696430010c7536340430426c75657072696e742049440134736c6173685f70657263656e745502011c50657263656e740434536c6173682070657263656e74010c65726110010c753332042445726120696e6465780d048c416e204f70657261746f722068617320616e20756e6170706c69656420736c6173682e38536c617368446973636172646564180114696e64657810010c753332045c54686520696e646578206f662074686520736c6173682e01206f70657261746f72000130543a3a4163636f756e74496404a0546865206163636f756e7420746861742068617320616e20756e6170706c69656420736c6173682e0128736572766963655f696430010c7536340428536572766963652049440130626c75657072696e745f696430010c7536340430426c75657072696e742049440134736c6173685f70657263656e745502011c50657263656e740434536c6173682070657263656e74010c65726110010c753332042445726120696e6465780e0484416e20556e6170706c69656420536c61736820676f74206469736361726465642e904d6173746572426c75657072696e74536572766963654d616e61676572526576697365640801207265766973696f6e10010c75333204f0546865207265766973696f6e206e756d626572206f6620746865204d617374657220426c75657072696e742053657276696365204d616e616765722e011c61646472657373950101104831363004d05468652061646472657373206f6620746865204d617374657220426c75657072696e742053657276696365204d616e616765722e0f04d8546865204d617374657220426c75657072696e742053657276696365204d616e6167657220686173206265656e20726576697365642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574fd01104474616e676c655f7072696d6974697665732073657276696365731474797065734c4f70657261746f72507265666572656e636573000008010c6b6579010201205b75383b2036355d00013470726963655f7461726765747305020130507269636554617267657473000001020000034100000008000502104474616e676c655f7072696d69746976657320736572766963657314747970657330507269636554617267657473000014010c63707530010c75363400010c6d656d30010c75363400012c73746f726167655f68646430010c75363400012c73746f726167655f73736430010c75363400013073746f726167655f6e766d6530010c753634000009020000020d02000d02104474616e676c655f7072696d697469766573207365727669636573146669656c64144669656c6408044300244163636f756e7449640100013c204f7074696f6e616c0800110201244669656c645479706500001d0201804f7074696f6e3c426f783c4669656c643c432c204163636f756e7449643e3e3e00000010426f6f6c0400200110626f6f6c0001001455696e74380400080108753800020010496e743804002102010869380003001855696e7431360400ed01010c75313600040014496e74313604002502010c6931360005001855696e743332040010010c75333200060014496e74333204002902010c6933320007001855696e743634040030010c75363400080014496e74363404002d02010c69363400090018537472696e6704003102017c426f756e646564537472696e673c433a3a4d61784669656c647353697a653e000a001441727261790800110201244669656c64547970650000390201c4426f756e6465645665633c4669656c643c432c204163636f756e7449643e2c20433a3a4d61784669656c647353697a653e000c00104c6973740800110201244669656c64547970650000390201c4426f756e6465645665633c4669656c643c432c204163636f756e7449643e2c20433a3a4d61784669656c647353697a653e000d001853747275637408003102017c426f756e646564537472696e673c433a3a4d61784669656c647353697a653e00003d02016d01426f756e6465645665633c0a28426f756e646564537472696e673c433a3a4d61784669656c647353697a653e2c20426f783c4669656c643c432c204163636f756e7449643e3e292c20433a3a0a4d61784669656c647353697a653e000e00244163636f756e74496404000001244163636f756e744964006400001102104474616e676c655f7072696d697469766573207365727669636573146669656c64244669656c645479706500014010566f696400000010426f6f6c0001001455696e743800020010496e74380003001855696e74313600040014496e7431360005001855696e74333200060014496e7433320007001855696e74363400080014496e74363400090018537472696e67000a00204f7074696f6e616c040011020138426f783c4669656c64547970653e000c00144172726179080030010c753634000011020138426f783c4669656c64547970653e000d00104c697374040011020138426f783c4669656c64547970653e000e00185374727563740400150201a0426f756e6465645665633c426f783c4669656c64547970653e2c20436f6e73745533323c33323e3e000f00244163636f756e7449640064000015020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454011102045300000400190201185665633c543e000019020000021102001d0204184f7074696f6e040454010d020108104e6f6e6500000010536f6d6504000d0200000100002102000005090025020000050a0029020000050b002d020000050c003102104474616e676c655f7072696d697469766573207365727669636573146669656c6434426f756e646564537472696e670404530000040035020144426f756e6465645665633c75382c20533e000035020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e000039020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454010d02045300000400090201185665633c543e00003d020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454014102045300000400450201185665633c543e000041020000040831020d02004502000002410200490200000200004d020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454015102045300000400590201185665633c543e00005102104474616e676c655f7072696d6974697665732073657276696365731474797065736041737365745365637572697479526571756972656d656e74041c417373657449640118000c01146173736574f501013841737365743c417373657449643e0001506d696e5f6578706f737572655f70657263656e745502011c50657263656e740001506d61785f6578706f737572655f70657263656e745502011c50657263656e74000055020c3473705f61726974686d65746963287065725f7468696e67731c50657263656e74000004000801087538000059020000025102005d020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454016102045300000400710201185665633c543e00006102000004080065020065020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540169020453000004006d0201185665633c543e00006902104474616e676c655f7072696d6974697665732073657276696365731474797065735c41737365745365637572697479436f6d6d69746d656e74041c417373657449640118000801146173736574f501013841737365743c417373657449643e0001406578706f737572655f70657263656e745502011c50657263656e7400006d02000002690200710200000261020075020c4470616c6c65745f74616e676c655f6c73741870616c6c6574144576656e7404045400014c1c437265617465640801246465706f7369746f72000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c4964000004604120706f6f6c20686173206265656e20637265617465642e18426f6e6465641001186d656d626572000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c4964000118626f6e64656418013042616c616e63654f663c543e0001186a6f696e6564200110626f6f6c0001049441206d656d62657220686173206265636f6d6520626f6e64656420696e206120706f6f6c2e1c506169644f75740c01186d656d626572000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c49640001187061796f757418013042616c616e63654f663c543e0002048c41207061796f757420686173206265656e206d61646520746f2061206d656d6265722e20556e626f6e6465641401186d656d626572000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c496400011c62616c616e636518013042616c616e63654f663c543e000118706f696e747318013042616c616e63654f663c543e00010c657261100120457261496e64657800032c9841206d656d6265722068617320756e626f6e6465642066726f6d20746865697220706f6f6c2e0039012d206062616c616e6365602069732074686520636f72726573706f6e64696e672062616c616e6365206f6620746865206e756d626572206f6620706f696e7473207468617420686173206265656e5501202072657175657374656420746f20626520756e626f6e646564202874686520617267756d656e74206f66207468652060756e626f6e6460207472616e73616374696f6e292066726f6d2074686520626f6e6465641c2020706f6f6c2e45012d2060706f696e74736020697320746865206e756d626572206f6620706f696e747320746861742061726520697373756564206173206120726573756c74206f66206062616c616e636560206265696e67c82020646973736f6c76656420696e746f2074686520636f72726573706f6e64696e6720756e626f6e64696e6720706f6f6c2ee42d206065726160206973207468652065726120696e207768696368207468652062616c616e63652077696c6c20626520756e626f6e6465642e5501496e2074686520616273656e6365206f6620736c617368696e672c2074686573652076616c7565732077696c6c206d617463682e20496e207468652070726573656e6365206f6620736c617368696e672c207468654d016e756d626572206f6620706f696e74732074686174206172652069737375656420696e2074686520756e626f6e64696e6720706f6f6c2077696c6c206265206c657373207468616e2074686520616d6f756e746472657175657374656420746f20626520756e626f6e6465642e2457697468647261776e1001186d656d626572000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c496400011c62616c616e636518013042616c616e63654f663c543e000118706f696e747318013042616c616e63654f663c543e0004189c41206d656d626572206861732077697468647261776e2066726f6d20746865697220706f6f6c2e00250154686520676976656e206e756d626572206f662060706f696e7473602068617665206265656e20646973736f6c76656420696e2072657475726e20666f72206062616c616e6365602e00590153696d696c617220746f2060556e626f6e64656460206576656e742c20696e2074686520616273656e6365206f6620736c617368696e672c2074686520726174696f206f6620706f696e7420746f2062616c616e63652877696c6c20626520312e2444657374726f79656404011c706f6f6c5f6964100118506f6f6c4964000504684120706f6f6c20686173206265656e2064657374726f7965642e3053746174654368616e67656408011c706f6f6c5f6964100118506f6f6c49640001246e65775f737461746579020124506f6f6c53746174650006047c546865207374617465206f66206120706f6f6c20686173206368616e676564344d656d62657252656d6f76656408011c706f6f6c5f6964100118506f6f6c49640001186d656d626572000130543a3a4163636f756e74496400070c9841206d656d62657220686173206265656e2072656d6f7665642066726f6d206120706f6f6c2e0051015468652072656d6f76616c2063616e20626520766f6c756e74617279202877697468647261776e20616c6c20756e626f6e6465642066756e647329206f7220696e766f6c756e7461727920286b69636b6564292e30526f6c6573557064617465640c0110726f6f748801504f7074696f6e3c543a3a4163636f756e7449643e00011c626f756e6365728801504f7074696f6e3c543a3a4163636f756e7449643e0001246e6f6d696e61746f728801504f7074696f6e3c543a3a4163636f756e7449643e000808550154686520726f6c6573206f66206120706f6f6c2068617665206265656e207570646174656420746f2074686520676976656e206e657720726f6c65732e204e6f7465207468617420746865206465706f7369746f724463616e206e65766572206368616e67652e2c506f6f6c536c617368656408011c706f6f6c5f6964100118506f6f6c496400011c62616c616e636518013042616c616e63654f663c543e0009040d01546865206163746976652062616c616e6365206f6620706f6f6c2060706f6f6c5f69646020686173206265656e20736c617368656420746f206062616c616e6365602e50556e626f6e64696e67506f6f6c536c61736865640c011c706f6f6c5f6964100118506f6f6c496400010c657261100120457261496e64657800011c62616c616e636518013042616c616e63654f663c543e000a04250154686520756e626f6e6420706f6f6c206174206065726160206f6620706f6f6c2060706f6f6c5f69646020686173206265656e20736c617368656420746f206062616c616e6365602e54506f6f6c436f6d6d697373696f6e5570646174656408011c706f6f6c5f6964100118506f6f6c496400011c63757272656e742501017c4f7074696f6e3c2850657262696c6c2c20543a3a4163636f756e744964293e000b04b44120706f6f6c277320636f6d6d697373696f6e2073657474696e6720686173206265656e206368616e6765642e60506f6f6c4d6178436f6d6d697373696f6e5570646174656408011c706f6f6c5f6964100118506f6f6c49640001386d61785f636f6d6d697373696f6ef8011c50657262696c6c000c04d44120706f6f6c2773206d6178696d756d20636f6d6d697373696f6e2073657474696e6720686173206265656e206368616e6765642e7c506f6f6c436f6d6d697373696f6e4368616e6765526174655570646174656408011c706f6f6c5f6964100118506f6f6c496400012c6368616e67655f726174657d02019c436f6d6d697373696f6e4368616e6765526174653c426c6f636b4e756d626572466f723c543e3e000d04cc4120706f6f6c277320636f6d6d697373696f6e20606368616e67655f726174656020686173206265656e206368616e6765642e90506f6f6c436f6d6d697373696f6e436c61696d5065726d697373696f6e5570646174656408011c706f6f6c5f6964100118506f6f6c49640001287065726d697373696f6e810201bc4f7074696f6e3c436f6d6d697373696f6e436c61696d5065726d697373696f6e3c543a3a4163636f756e7449643e3e000e04c8506f6f6c20636f6d6d697373696f6e20636c61696d207065726d697373696f6e20686173206265656e20757064617465642e54506f6f6c436f6d6d697373696f6e436c61696d656408011c706f6f6c5f6964100118506f6f6c4964000128636f6d6d697373696f6e18013042616c616e63654f663c543e000f0484506f6f6c20636f6d6d697373696f6e20686173206265656e20636c61696d65642e644d696e42616c616e63654465666963697441646a757374656408011c706f6f6c5f6964100118506f6f6c4964000118616d6f756e7418013042616c616e63654f663c543e001004c8546f70706564207570206465666963697420696e2066726f7a656e204544206f66207468652072657761726420706f6f6c2e604d696e42616c616e636545786365737341646a757374656408011c706f6f6c5f6964100118506f6f6c4964000118616d6f756e7418013042616c616e63654f663c543e001104b0436c61696d6564206578636573732066726f7a656e204544206f66207468652072657761726420706f6f6c2e444c617374506f6f6c49645570646174656404011c706f6f6c5f6964100118506f6f6c496400120468546865206c61737420506f6f6c4964206973207570646174656404584576656e7473206f6620746869732070616c6c65742e7902104470616c6c65745f74616e676c655f6c737414747970657314706f6f6c7324506f6f6c537461746500010c104f70656e0000001c426c6f636b65640001002844657374726f79696e67000200007d02104470616c6c65745f74616e676c655f6c737414747970657328636f6d6d697373696f6e50436f6d6d697373696f6e4368616e676552617465042c426c6f636b4e756d6265720130000801306d61785f696e637265617365f8011c50657262696c6c0001246d696e5f64656c617930012c426c6f636b4e756d6265720000810204184f7074696f6e0404540185020108104e6f6e6500000010536f6d650400850200000100008502104470616c6c65745f74616e676c655f6c737414747970657328636f6d6d697373696f6e64436f6d6d697373696f6e436c61696d5065726d697373696f6e04244163636f756e74496401000108385065726d697373696f6e6c6573730000001c4163636f756e7404000001244163636f756e7449640001000089020c3870616c6c65745f726577617264731870616c6c6574144576656e740404540001283852657761726473436c61696d65640c011c6163636f756e74000130543a3a4163636f756e7449640001146173736574f501014441737365743c543a3a417373657449643e000118616d6f756e7418013042616c616e63654f663c543e0000049c526577617264732068617665206265656e20636c61696d656420627920616e206163636f756e7454496e63656e74697665415059416e644361705365740c01207661756c745f6964100128543a3a5661756c74496400010c617079f8014c73705f72756e74696d653a3a50657262696c6c00010c63617018013042616c616e63654f663c543e00010419014576656e7420656d6974746564207768656e20616e20696e63656e746976652041505920616e6420636170206172652073657420666f72206120726577617264207661756c7450426c75657072696e7457686974656c6973746564040130626c75657072696e745f696430012c426c75657072696e744964000204e44576656e7420656d6974746564207768656e206120626c75657072696e742069732077686974656c697374656420666f7220726577617264734c417373657455706461746564496e5661756c740c01207661756c745f6964100128543a3a5661756c7449640001146173736574f501014441737365743c543a3a417373657449643e000118616374696f6e8d02012c4173736574416374696f6e00030498417373657420686173206265656e207570646174656420746f20726577617264207661756c74605661756c74526577617264436f6e666967557064617465640801207661756c745f6964100128543a3a5661756c7449640001286e65775f636f6e6669679102019c526577617264436f6e666967466f7241737365745661756c743c42616c616e63654f663c543e3e0004046c5661756c742072657761726420636f6e6669672075706461746564485265776172645661756c74437265617465640c01207661756c745f6964100128543a3a5661756c7449640001286e65775f636f6e6669679102019c526577617264436f6e666967466f7241737365745661756c743c42616c616e63654f663c543e3e00012c706f745f6163636f756e74000130543a3a4163636f756e744964000504345661756c74206372656174656444546f74616c53636f7265557064617465641001207661756c745f6964100128543a3a5661756c7449640001146173736574f501014441737365743c543a3a417373657449643e00012c746f74616c5f73636f726518013042616c616e63654f663c543e00013c6c6f636b5f6d756c7469706c696572990201584f7074696f6e3c4c6f636b4d756c7469706c6965723e00060470546f74616c2073636f726520696e207661756c7420757064617465644c546f74616c4465706f736974557064617465640c01207661756c745f6964100128543a3a5661756c7449640001146173736574f501014441737365743c543a3a417373657449643e000134746f74616c5f6465706f73697418013042616c616e63654f663c543e00070478546f74616c206465706f73697420696e207661756c742075706461746564484465636179436f6e6669675570646174656408013073746172745f706572696f64300144426c6f636b4e756d626572466f723c543e00011072617465f8011c50657262696c6c0008047c446563617920636f6e66696775726174696f6e20776173207570646174656440417079426c6f636b7355706461746564040118626c6f636b73300144426c6f636b4e756d626572466f723c543e000904e4546865206e756d626572206f6620626c6f636b7320666f72204150592063616c63756c6174696f6e20686173206265656e2075706461746564047c54686520604576656e746020656e756d206f6620746869732070616c6c65748d020c3870616c6c65745f726577617264731474797065732c4173736574416374696f6e0001080c4164640000001852656d6f76650001000091020c3870616c6c65745f7265776172647314747970657364526577617264436f6e666967466f7241737365745661756c74041c42616c616e636501180010010c617079f8011c50657262696c6c000134696e63656e746976655f63617018011c42616c616e636500012c6465706f7369745f63617018011c42616c616e6365000140626f6f73745f6d756c7469706c6965729502012c4f7074696f6e3c7533323e0000950204184f7074696f6e04045401100108104e6f6e6500000010536f6d650400100000010000990204184f7074696f6e040454019d020108104e6f6e6500000010536f6d6504009d0200000100009d02104474616e676c655f7072696d6974697665731474797065731c72657761726473384c6f636b4d756c7469706c696572000110204f6e654d6f6e74680001002454776f4d6f6e7468730002002c54687265654d6f6e746873000300245369784d6f6e74687300060000a10208306672616d655f73797374656d14506861736500010c384170706c7945787472696e736963040010010c7533320000003046696e616c697a6174696f6e00010038496e697469616c697a6174696f6e00020000a5020000023d0100a90208306672616d655f73797374656d584c61737452756e74696d6555706772616465496e666f0000080130737065635f76657273696f6ead02014c636f6465633a3a436f6d706163743c7533323e000124737065635f6e616d65b101016473705f72756e74696d653a3a52756e74696d65537472696e670000ad020000061000b10208306672616d655f73797374656d60436f646555706772616465417574686f72697a6174696f6e0404540000080124636f64655f6861736834011c543a3a48617368000134636865636b5f76657273696f6e200110626f6f6c0000b5020c306672616d655f73797374656d1870616c6c65741043616c6c04045400012c1872656d61726b04011872656d61726b38011c5665633c75383e00000c684d616b6520736f6d65206f6e2d636861696e2072656d61726b2e008843616e20626520657865637574656420627920657665727920606f726967696e602e387365745f686561705f7061676573040114706167657330010c753634000104f853657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e207365745f636f6465040110636f646538011c5665633c75383e0002046453657420746865206e65772072756e74696d6520636f64652e5c7365745f636f64655f776974686f75745f636865636b73040110636f646538011c5665633c75383e000310190153657420746865206e65772072756e74696d6520636f646520776974686f757420646f696e6720616e7920636865636b73206f662074686520676976656e2060636f6465602e0051014e6f746520746861742072756e74696d652075706772616465732077696c6c206e6f742072756e20696620746869732069732063616c6c656420776974682061206e6f742d696e6372656173696e6720737065632076657273696f6e212c7365745f73746f726167650401146974656d73b90201345665633c4b657956616c75653e0004046853657420736f6d65206974656d73206f662073746f726167652e306b696c6c5f73746f726167650401106b657973c10201205665633c4b65793e000504744b696c6c20736f6d65206974656d732066726f6d2073746f726167652e2c6b696c6c5f70726566697808011870726566697838010c4b657900011c7375626b65797310010c75333200061011014b696c6c20616c6c2073746f72616765206974656d7320776974682061206b657920746861742073746172747320776974682074686520676976656e207072656669782e0039012a2a4e4f54453a2a2a2057652072656c79206f6e2074686520526f6f74206f726967696e20746f2070726f7669646520757320746865206e756d626572206f66207375626b65797320756e6465723d0174686520707265666978207765206172652072656d6f76696e6720746f2061636375726174656c792063616c63756c6174652074686520776569676874206f6620746869732066756e6374696f6e2e4472656d61726b5f776974685f6576656e7404011872656d61726b38011c5665633c75383e000704a44d616b6520736f6d65206f6e2d636861696e2072656d61726b20616e6420656d6974206576656e742e44617574686f72697a655f75706772616465040124636f64655f6861736834011c543a3a486173680009106101417574686f72697a6520616e207570677261646520746f206120676976656e2060636f64655f686173686020666f72207468652072756e74696d652e205468652072756e74696d652063616e20626520737570706c696564186c617465722e007c546869732063616c6c20726571756972657320526f6f74206f726967696e2e80617574686f72697a655f757067726164655f776974686f75745f636865636b73040124636f64655f6861736834011c543a3a48617368000a206101417574686f72697a6520616e207570677261646520746f206120676976656e2060636f64655f686173686020666f72207468652072756e74696d652e205468652072756e74696d652063616e20626520737570706c696564186c617465722e005d015741524e494e473a205468697320617574686f72697a657320616e207570677261646520746861742077696c6c2074616b6520706c61636520776974686f757420616e792073616665747920636865636b732c20666f7259016578616d706c652074686174207468652073706563206e616d652072656d61696e73207468652073616d6520616e642074686174207468652076657273696f6e206e756d62657220696e637265617365732e204e6f74f07265636f6d6d656e64656420666f72206e6f726d616c207573652e205573652060617574686f72697a655f757067726164656020696e73746561642e007c546869732063616c6c20726571756972657320526f6f74206f726967696e2e606170706c795f617574686f72697a65645f75706772616465040110636f646538011c5665633c75383e000b24550150726f766964652074686520707265696d616765202872756e74696d652062696e617279292060636f64656020666f7220616e2075706772616465207468617420686173206265656e20617574686f72697a65642e00490149662074686520617574686f72697a6174696f6e20726571756972656420612076657273696f6e20636865636b2c20746869732063616c6c2077696c6c20656e73757265207468652073706563206e616d65e872656d61696e7320756e6368616e67656420616e6420746861742074686520737065632076657273696f6e2068617320696e637265617365642e005901446570656e64696e67206f6e207468652072756e74696d65277320604f6e536574436f64656020636f6e66696775726174696f6e2c20746869732066756e6374696f6e206d6179206469726563746c79206170706c791101746865206e65772060636f64656020696e207468652073616d6520626c6f636b206f7220617474656d707420746f207363686564756c652074686520757067726164652e0060416c6c206f726967696e732061726520616c6c6f7765642e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732eb902000002bd0200bd0200000408383800c1020000023800c5020c306672616d655f73797374656d186c696d69747330426c6f636b5765696768747300000c0128626173655f626c6f636b2801185765696768740001246d61785f626c6f636b2801185765696768740001247065725f636c617373c90201845065724469737061746368436c6173733c57656967687473506572436c6173733e0000c9020c346672616d655f737570706f7274206469737061746368405065724469737061746368436c61737304045401cd02000c01186e6f726d616ccd0201045400012c6f7065726174696f6e616ccd020104540001246d616e6461746f7279cd020104540000cd020c306672616d655f73797374656d186c696d6974733c57656967687473506572436c6173730000100138626173655f65787472696e7369632801185765696768740001346d61785f65787472696e736963d10201384f7074696f6e3c5765696768743e0001246d61785f746f74616cd10201384f7074696f6e3c5765696768743e0001207265736572766564d10201384f7074696f6e3c5765696768743e0000d10204184f7074696f6e04045401280108104e6f6e6500000010536f6d650400280000010000d5020c306672616d655f73797374656d186c696d6974732c426c6f636b4c656e677468000004010c6d6178d90201545065724469737061746368436c6173733c7533323e0000d9020c346672616d655f737570706f7274206469737061746368405065724469737061746368436c6173730404540110000c01186e6f726d616c1001045400012c6f7065726174696f6e616c100104540001246d616e6461746f7279100104540000dd02082873705f776569676874733c52756e74696d65446257656967687400000801107265616430010c753634000114777269746530010c7536340000e102082873705f76657273696f6e3852756e74696d6556657273696f6e0000200124737065635f6e616d65b101013452756e74696d65537472696e67000124696d706c5f6e616d65b101013452756e74696d65537472696e67000144617574686f72696e675f76657273696f6e10010c753332000130737065635f76657273696f6e10010c753332000130696d706c5f76657273696f6e10010c75333200011061706973e502011c4170697356656300014c7472616e73616374696f6e5f76657273696f6e10010c75333200013473746174655f76657273696f6e08010875380000e502040c436f7704045401e902000400e902000000e902000002ed0200ed0200000408f1021000f102000003080000000800f5020c306672616d655f73797374656d1870616c6c6574144572726f720404540001243c496e76616c6964537065634e616d650000081101546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e685370656356657273696f6e4e65656473546f496e63726561736500010841015468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e00020cec4661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e0009014569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e4c4e6f6e44656661756c74436f6d706f73697465000304fc537569636964652063616c6c6564207768656e20746865206163636f756e7420686173206e6f6e2d64656661756c7420636f6d706f7369746520646174612e3c4e6f6e5a65726f526566436f756e74000404350154686572652069732061206e6f6e2d7a65726f207265666572656e636520636f756e742070726576656e74696e6720746865206163636f756e742066726f6d206265696e67207075726765642e3043616c6c46696c7465726564000504d0546865206f726967696e2066696c7465722070726576656e74207468652063616c6c20746f20626520646973706174636865642e6c4d756c7469426c6f636b4d6967726174696f6e734f6e676f696e67000604550141206d756c74692d626c6f636b206d6967726174696f6e206973206f6e676f696e6720616e642070726576656e7473207468652063757272656e7420636f64652066726f6d206265696e67207265706c616365642e444e6f7468696e67417574686f72697a6564000704584e6f207570677261646520617574686f72697a65642e30556e617574686f72697a656400080494546865207375626d697474656420636f6465206973206e6f7420617574686f72697a65642e046c4572726f7220666f72207468652053797374656d2070616c6c6574f9020c4070616c6c65745f74696d657374616d701870616c6c65741043616c6c0404540001040c73657404010c6e6f772c0124543a3a4d6f6d656e7400004c54536574207468652063757272656e742074696d652e005501546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6ed470686173652c20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e0041015468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e7420737065636966696564206279685b60436f6e6669673a3a4d696e696d756d506572696f64605d2e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f4e6f6e655f2e0051015468697320646973706174636820636c617373206973205f4d616e6461746f72795f20746f20656e73757265206974206765747320657865637574656420696e2074686520626c6f636b2e204265206177617265510174686174206368616e67696e672074686520636f6d706c6578697479206f6620746869732063616c6c20636f756c6420726573756c742065786861757374696e6720746865207265736f757263657320696e206184626c6f636b20746f206578656375746520616e79206f746865722063616c6c732e0034232320436f6d706c657869747931012d20604f2831296020284e6f7465207468617420696d706c656d656e746174696f6e73206f6620604f6e54696d657374616d7053657460206d75737420616c736f20626520604f283129602955012d20312073746f72616765207265616420616e6420312073746f72616765206d75746174696f6e2028636f64656320604f283129602062656361757365206f6620604469645570646174653a3a74616b656020696e402020606f6e5f66696e616c697a656029d42d2031206576656e742068616e646c657220606f6e5f74696d657374616d705f736574602e204d75737420626520604f283129602e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732efd020c2c70616c6c65745f7375646f1870616c6c65741043616c6c040454000114107375646f04011063616c6c0103017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000004350141757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c20776974682060526f6f7460206f726967696e2e547375646f5f756e636865636b65645f77656967687408011063616c6c0103017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000118776569676874280118576569676874000114350141757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c20776974682060526f6f7460206f726967696e2e2d01546869732066756e6374696f6e20646f6573206e6f7420636865636b2074686520776569676874206f66207468652063616c6c2c20616e6420696e737465616420616c6c6f777320746865b05375646f207573657220746f20737065636966792074686520776569676874206f66207468652063616c6c2e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e1c7365745f6b657904010c6e6577090301504163636f756e7449644c6f6f6b75704f663c543e0002085d0141757468656e74696361746573207468652063757272656e74207375646f206b657920616e6420736574732074686520676976656e204163636f756e7449642028606e6577602920617320746865206e6577207375646f106b65792e1c7375646f5f617308010c77686f090301504163636f756e7449644c6f6f6b75704f663c543e00011063616c6c0103017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0003104d0141757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c207769746820605369676e656460206f726967696e2066726f6d406120676976656e206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e2872656d6f76655f6b657900040c845065726d616e656e746c792072656d6f76657320746865207375646f206b65792e006c2a2a546869732063616e6e6f7420626520756e2d646f6e652e2a2a040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e0103085874616e676c655f746573746e65745f72756e74696d652c52756e74696d6543616c6c00019c1853797374656d0400b50201ad0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53797374656d2c2052756e74696d653e0001002454696d657374616d700400f90201b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54696d657374616d702c2052756e74696d653e000200105375646f0400fd0201a50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5375646f2c2052756e74696d653e000300184173736574730400050301ad0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4173736574732c2052756e74696d653e00050028506f6f6c41737365747304000d0301bd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c506f6f6c4173736574732c2052756e74696d653e0036002042616c616e6365730400110301b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c42616c616e6365732c2052756e74696d653e00060010426162650400190301a50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c426162652c2052756e74696d653e0009001c4772616e64706104003d0301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4772616e6470612c2052756e74696d653e000a001c496e646963657304006d0301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c496e64696365732c2052756e74696d653e000b002444656d6f63726163790400710301b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44656d6f63726163792c2052756e74696d653e000c001c436f756e63696c0400890301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c436f756e63696c2c2052756e74696d653e000d001c56657374696e6704008d0301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c56657374696e672c2052756e74696d653e000e0024456c656374696f6e730400950301b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c456c656374696f6e732c2052756e74696d653e000f0068456c656374696f6e50726f76696465724d756c7469506861736504009d0301fd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c456c656374696f6e50726f76696465724d756c746950686173652c2052756e74696d653e0010001c5374616b696e670400850401b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5374616b696e672c2052756e74696d653e0011001c53657373696f6e0400b90401b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53657373696f6e2c2052756e74696d653e0012002054726561737572790400c10401b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54726561737572792c2052756e74696d653e00140020426f756e746965730400c90401b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c426f756e746965732c2052756e74696d653e001500344368696c64426f756e746965730400cd0401c90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4368696c64426f756e746965732c2052756e74696d653e00160020426167734c6973740400d10401b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c426167734c6973742c2052756e74696d653e0017003c4e6f6d696e6174696f6e506f6f6c730400d50401d10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4e6f6d696e6174696f6e506f6f6c732c2052756e74696d653e001800245363686564756c65720400f10401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5363686564756c65722c2052756e74696d653e00190020507265696d6167650400f90401b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c507265696d6167652c2052756e74696d653e001a001c547850617573650400fd0401b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c547850617573652c2052756e74696d653e001c0020496d4f6e6c696e650400010501b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c496d4f6e6c696e652c2052756e74696d653e001d00204964656e7469747904000d0501b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4964656e746974792c2052756e74696d653e001e001c5574696c6974790400ad0501b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5574696c6974792c2052756e74696d653e001f00204d756c74697369670400c50501b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4d756c74697369672c2052756e74696d653e00200020457468657265756d0400cd0501b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c457468657265756d2c2052756e74696d653e0021000c45564d0400f50501a10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c45564d2c2052756e74696d653e0022002844796e616d69634665650400050601bd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44796e616d69634665652c2052756e74696d653e0024001c426173654665650400090601b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c426173654665652c2052756e74696d653e00250044486f7466697853756666696369656e747304000d0601d90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c486f7466697853756666696369656e74732c2052756e74696d653e00260018436c61696d730400150601ad0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c436c61696d732c2052756e74696d653e0027001450726f78790400410601a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50726f78792c2052756e74696d653e002c00504d756c7469417373657444656c65676174696f6e0400490601e50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4d756c7469417373657444656c65676174696f6e2c2052756e74696d653e002d002053657276696365730400610601b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53657276696365732c2052756e74696d653e0033000c4c73740400310701a10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4c73742c2052756e74696d653e0034001c526577617264730400590701b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c526577617264732c2052756e74696d653e0035000005030c3470616c6c65745f6173736574731870616c6c65741043616c6c080454000449000180186372656174650c010869647101014c543a3a41737365744964506172616d6574657200011461646d696e090301504163636f756e7449644c6f6f6b75704f663c543e00012c6d696e5f62616c616e6365180128543a3a42616c616e636500004ce849737375652061206e657720636c617373206f662066756e6769626c65206173736574732066726f6d2061207075626c6963206f726967696e2e00250154686973206e657720617373657420636c61737320686173206e6f2061737365747320696e697469616c6c7920616e6420697473206f776e657220697320746865206f726967696e2e006101546865206f726967696e206d75737420636f6e666f726d20746f2074686520636f6e6669677572656420604372656174654f726967696e6020616e6420686176652073756666696369656e742066756e647320667265652e00bc46756e6473206f662073656e64657220617265207265736572766564206279206041737365744465706f736974602e002c506172616d65746572733a59012d20606964603a20546865206964656e746966696572206f6620746865206e65772061737365742e2054686973206d757374206e6f742062652063757272656e746c7920696e2075736520746f206964656e746966793101616e206578697374696e672061737365742e204966205b604e65787441737365744964605d206973207365742c207468656e2074686973206d75737420626520657175616c20746f2069742e59012d206061646d696e603a205468652061646d696e206f66207468697320636c617373206f66206173736574732e205468652061646d696e2069732074686520696e697469616c2061646472657373206f6620656163689c6d656d626572206f662074686520617373657420636c61737327732061646d696e207465616d2e4d012d20606d696e5f62616c616e6365603a20546865206d696e696d756d2062616c616e6365206f662074686973206e6577206173736574207468617420616e792073696e676c65206163636f756e74206d7573743d01686176652e20496620616e206163636f756e7427732062616c616e636520697320726564756365642062656c6f7720746869732c207468656e20697420636f6c6c617073657320746f207a65726f2e0098456d69747320604372656174656460206576656e74207768656e207375636365737366756c2e00385765696768743a20604f2831296030666f7263655f63726561746510010869647101014c543a3a41737365744964506172616d657465720001146f776e6572090301504163636f756e7449644c6f6f6b75704f663c543e00013469735f73756666696369656e74200110626f6f6c00012c6d696e5f62616c616e636571010128543a3a42616c616e636500014cf849737375652061206e657720636c617373206f662066756e6769626c65206173736574732066726f6d20612070726976696c65676564206f726967696e2e00b454686973206e657720617373657420636c61737320686173206e6f2061737365747320696e697469616c6c792e00a4546865206f726967696e206d75737420636f6e666f726d20746f2060466f7263654f726967696e602e009c556e6c696b652060637265617465602c206e6f2066756e6473206172652072657365727665642e0059012d20606964603a20546865206964656e746966696572206f6620746865206e65772061737365742e2054686973206d757374206e6f742062652063757272656e746c7920696e2075736520746f206964656e746966793101616e206578697374696e672061737365742e204966205b604e65787441737365744964605d206973207365742c207468656e2074686973206d75737420626520657175616c20746f2069742e59012d20606f776e6572603a20546865206f776e6572206f66207468697320636c617373206f66206173736574732e20546865206f776e6572206861732066756c6c20737570657275736572207065726d697373696f6e7325016f76657220746869732061737365742c20627574206d6179206c61746572206368616e676520616e6420636f6e66696775726520746865207065726d697373696f6e73207573696e6790607472616e736665725f6f776e6572736869706020616e6420607365745f7465616d602e4d012d20606d696e5f62616c616e6365603a20546865206d696e696d756d2062616c616e6365206f662074686973206e6577206173736574207468617420616e792073696e676c65206163636f756e74206d7573743d01686176652e20496620616e206163636f756e7427732062616c616e636520697320726564756365642062656c6f7720746869732c207468656e20697420636f6c6c617073657320746f207a65726f2e00ac456d6974732060466f7263654372656174656460206576656e74207768656e207375636365737366756c2e00385765696768743a20604f283129603473746172745f64657374726f7904010869647101014c543a3a41737365744964506172616d6574657200022cdc5374617274207468652070726f63657373206f662064657374726f79696e6720612066756e6769626c6520617373657420636c6173732e0059016073746172745f64657374726f79602069732074686520666972737420696e206120736572696573206f662065787472696e7369637320746861742073686f756c642062652063616c6c65642c20746f20616c6c6f77786465737472756374696f6e206f6620616e20617373657420636c6173732e005101546865206f726967696e206d75737420636f6e666f726d20746f2060466f7263654f726967696e60206f72206d75737420626520605369676e65646020627920746865206173736574277320606f776e6572602e004d012d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652064657374726f7965642e2054686973206d757374206964656e7469667920616e206578697374696e6720202061737365742e00f854686520617373657420636c617373206d7573742062652066726f7a656e206265666f72652063616c6c696e67206073746172745f64657374726f79602e4064657374726f795f6163636f756e747304010869647101014c543a3a41737365744964506172616d65746572000330cc44657374726f7920616c6c206163636f756e7473206173736f6369617465642077697468206120676976656e2061737365742e005d016064657374726f795f6163636f756e7473602073686f756c64206f6e6c792062652063616c6c6564206166746572206073746172745f64657374726f796020686173206265656e2063616c6c65642c20616e642074686584617373657420697320696e2061206044657374726f79696e67602073746174652e005d0144756520746f20776569676874207265737472696374696f6e732c20746869732066756e6374696f6e206d6179206e65656420746f2062652063616c6c6564206d756c7469706c652074696d657320746f2066756c6c79310164657374726f7920616c6c206163636f756e74732e2049742077696c6c2064657374726f79206052656d6f76654974656d734c696d697460206163636f756e747320617420612074696d652e004d012d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652064657374726f7965642e2054686973206d757374206964656e7469667920616e206578697374696e6720202061737365742e00d4456163682063616c6c20656d6974732074686520604576656e743a3a44657374726f7965644163636f756e747360206576656e742e4464657374726f795f617070726f76616c7304010869647101014c543a3a41737365744964506172616d65746572000430610144657374726f7920616c6c20617070726f76616c73206173736f6369617465642077697468206120676976656e20617373657420757020746f20746865206d61782028543a3a52656d6f76654974656d734c696d6974292e0061016064657374726f795f617070726f76616c73602073686f756c64206f6e6c792062652063616c6c6564206166746572206073746172745f64657374726f796020686173206265656e2063616c6c65642c20616e642074686584617373657420697320696e2061206044657374726f79696e67602073746174652e005d0144756520746f20776569676874207265737472696374696f6e732c20746869732066756e6374696f6e206d6179206e65656420746f2062652063616c6c6564206d756c7469706c652074696d657320746f2066756c6c79390164657374726f7920616c6c20617070726f76616c732e2049742077696c6c2064657374726f79206052656d6f76654974656d734c696d69746020617070726f76616c7320617420612074696d652e004d012d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652064657374726f7965642e2054686973206d757374206964656e7469667920616e206578697374696e6720202061737365742e00d8456163682063616c6c20656d6974732074686520604576656e743a3a44657374726f796564417070726f76616c7360206576656e742e3866696e6973685f64657374726f7904010869647101014c543a3a41737365744964506172616d65746572000528c4436f6d706c6574652064657374726f79696e6720617373657420616e6420756e726573657276652063757272656e63792e0055016066696e6973685f64657374726f79602073686f756c64206f6e6c792062652063616c6c6564206166746572206073746172745f64657374726f796020686173206265656e2063616c6c65642c20616e64207468655901617373657420697320696e2061206044657374726f79696e67602073746174652e20416c6c206163636f756e7473206f7220617070726f76616c732073686f756c642062652064657374726f796564206265666f72651468616e642e004d012d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652064657374726f7965642e2054686973206d757374206964656e7469667920616e206578697374696e6720202061737365742e00e045616368207375636365737366756c2063616c6c20656d6974732074686520604576656e743a3a44657374726f79656460206576656e742e106d696e740c010869647101014c543a3a41737365744964506172616d6574657200012c62656e6566696369617279090301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e7471010128543a3a42616c616e6365000630884d696e7420617373657473206f66206120706172746963756c617220636c6173732e003901546865206f726967696e206d757374206265205369676e656420616e64207468652073656e646572206d7573742062652074686520497373756572206f662074686520617373657420606964602e00fc2d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74206d696e7465642e0d012d206062656e6566696369617279603a20546865206163636f756e7420746f206265206372656469746564207769746820746865206d696e746564206173736574732ec42d2060616d6f756e74603a2054686520616d6f756e74206f662074686520617373657420746f206265206d696e7465642e0094456d697473206049737375656460206576656e74207768656e207375636365737366756c2e00385765696768743a20604f2831296055014d6f6465733a205072652d6578697374696e672062616c616e6365206f66206062656e6566696369617279603b204163636f756e74207072652d6578697374656e6365206f66206062656e6566696369617279602e106275726e0c010869647101014c543a3a41737365744964506172616d6574657200010c77686f090301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e7471010128543a3a42616c616e636500073c4501526564756365207468652062616c616e6365206f66206077686f60206279206173206d75636820617320706f737369626c6520757020746f2060616d6f756e746020617373657473206f6620606964602e0035014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204d616e61676572206f662074686520617373657420606964602e00d04261696c73207769746820604e6f4163636f756e746020696620746865206077686f6020697320616c726561647920646561642e00fc2d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74206275726e65642ea02d206077686f603a20546865206163636f756e7420746f20626520646562697465642066726f6d2e29012d2060616d6f756e74603a20546865206d6178696d756d20616d6f756e74206279207768696368206077686f6027732062616c616e63652073686f756c6420626520726564756365642e005101456d69747320604275726e6564602077697468207468652061637475616c20616d6f756e74206275726e65642e20496620746869732074616b6573207468652062616c616e636520746f2062656c6f772074686539016d696e696d756d20666f72207468652061737365742c207468656e2074686520616d6f756e74206275726e656420697320696e6372656173656420746f2074616b6520697420746f207a65726f2e00385765696768743a20604f2831296009014d6f6465733a20506f73742d6578697374656e6365206f66206077686f603b20507265202620706f7374205a6f6d6269652d737461747573206f66206077686f602e207472616e736665720c010869647101014c543a3a41737365744964506172616d65746572000118746172676574090301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e7471010128543a3a42616c616e6365000848d04d6f766520736f6d65206173736574732066726f6d207468652073656e646572206163636f756e7420746f20616e6f746865722e00584f726967696e206d757374206265205369676e65642e0011012d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74207472616e736665727265642e9c2d2060746172676574603a20546865206163636f756e7420746f2062652063726564697465642e51012d2060616d6f756e74603a2054686520616d6f756e74206279207768696368207468652073656e64657227732062616c616e6365206f66206173736574732073686f756c64206265207265647563656420616e646101607461726765746027732062616c616e636520696e637265617365642e2054686520616d6f756e742061637475616c6c79207472616e73666572726564206d617920626520736c696768746c79206772656174657220696e5d017468652063617365207468617420746865207472616e7366657220776f756c64206f74686572776973652074616b65207468652073656e6465722062616c616e63652061626f7665207a65726f206275742062656c6f77bc746865206d696e696d756d2062616c616e63652e204d7573742062652067726561746572207468616e207a65726f2e006101456d69747320605472616e73666572726564602077697468207468652061637475616c20616d6f756e74207472616e736665727265642e20496620746869732074616b65732074686520736f757263652062616c616e63655d01746f2062656c6f7720746865206d696e696d756d20666f72207468652061737365742c207468656e2074686520616d6f756e74207472616e7366657272656420697320696e6372656173656420746f2074616b6520697420746f207a65726f2e00385765696768743a20604f2831296051014d6f6465733a205072652d6578697374656e6365206f662060746172676574603b20506f73742d6578697374656e6365206f662073656e6465723b204163636f756e74207072652d6578697374656e6365206f662460746172676574602e4c7472616e736665725f6b6565705f616c6976650c010869647101014c543a3a41737365744964506172616d65746572000118746172676574090301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e7471010128543a3a42616c616e636500094859014d6f766520736f6d65206173736574732066726f6d207468652073656e646572206163636f756e7420746f20616e6f746865722c206b656570696e67207468652073656e646572206163636f756e7420616c6976652e00584f726967696e206d757374206265205369676e65642e0011012d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74207472616e736665727265642e9c2d2060746172676574603a20546865206163636f756e7420746f2062652063726564697465642e51012d2060616d6f756e74603a2054686520616d6f756e74206279207768696368207468652073656e64657227732062616c616e6365206f66206173736574732073686f756c64206265207265647563656420616e646101607461726765746027732062616c616e636520696e637265617365642e2054686520616d6f756e742061637475616c6c79207472616e73666572726564206d617920626520736c696768746c79206772656174657220696e5d017468652063617365207468617420746865207472616e7366657220776f756c64206f74686572776973652074616b65207468652073656e6465722062616c616e63652061626f7665207a65726f206275742062656c6f77bc746865206d696e696d756d2062616c616e63652e204d7573742062652067726561746572207468616e207a65726f2e006101456d69747320605472616e73666572726564602077697468207468652061637475616c20616d6f756e74207472616e736665727265642e20496620746869732074616b65732074686520736f757263652062616c616e63655d01746f2062656c6f7720746865206d696e696d756d20666f72207468652061737365742c207468656e2074686520616d6f756e74207472616e7366657272656420697320696e6372656173656420746f2074616b6520697420746f207a65726f2e00385765696768743a20604f2831296051014d6f6465733a205072652d6578697374656e6365206f662060746172676574603b20506f73742d6578697374656e6365206f662073656e6465723b204163636f756e74207072652d6578697374656e6365206f662460746172676574602e38666f7263655f7472616e7366657210010869647101014c543a3a41737365744964506172616d65746572000118736f75726365090301504163636f756e7449644c6f6f6b75704f663c543e00011064657374090301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e7471010128543a3a42616c616e6365000a4cb44d6f766520736f6d65206173736574732066726f6d206f6e65206163636f756e7420746f20616e6f746865722e002d014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c64206265207468652041646d696e206f662074686520617373657420606964602e0011012d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74207472616e736665727265642e982d2060736f75726365603a20546865206163636f756e7420746f20626520646562697465642e942d206064657374603a20546865206163636f756e7420746f2062652063726564697465642e59012d2060616d6f756e74603a2054686520616d6f756e74206279207768696368207468652060736f757263656027732062616c616e6365206f66206173736574732073686f756c64206265207265647563656420616e64590160646573746027732062616c616e636520696e637265617365642e2054686520616d6f756e742061637475616c6c79207472616e73666572726564206d617920626520736c696768746c79206772656174657220696e4d017468652063617365207468617420746865207472616e7366657220776f756c64206f74686572776973652074616b65207468652060736f75726365602062616c616e63652061626f7665207a65726f20627574d462656c6f7720746865206d696e696d756d2062616c616e63652e204d7573742062652067726561746572207468616e207a65726f2e006101456d69747320605472616e73666572726564602077697468207468652061637475616c20616d6f756e74207472616e736665727265642e20496620746869732074616b65732074686520736f757263652062616c616e63655d01746f2062656c6f7720746865206d696e696d756d20666f72207468652061737365742c207468656e2074686520616d6f756e74207472616e7366657272656420697320696e6372656173656420746f2074616b6520697420746f207a65726f2e00385765696768743a20604f2831296051014d6f6465733a205072652d6578697374656e6365206f66206064657374603b20506f73742d6578697374656e6365206f662060736f75726365603b204163636f756e74207072652d6578697374656e6365206f661c6064657374602e18667265657a6508010869647101014c543a3a41737365744964506172616d6574657200010c77686f090301504163636f756e7449644c6f6f6b75704f663c543e000b305501446973616c6c6f77206675727468657220756e70726976696c65676564207472616e7366657273206f6620616e20617373657420606964602066726f6d20616e206163636f756e74206077686f602e206077686f604d016d75737420616c726561647920657869737420617320616e20656e74727920696e20604163636f756e746073206f66207468652061737365742e20496620796f752077616e7420746f20667265657a6520616ef46163636f756e74207468617420646f6573206e6f74206861766520616e20656e7472792c207573652060746f7563685f6f74686572602066697273742e0035014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c642062652074686520467265657a6572206f662074686520617373657420606964602e00c42d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652066726f7a656e2e882d206077686f603a20546865206163636f756e7420746f2062652066726f7a656e2e003c456d697473206046726f7a656e602e00385765696768743a20604f28312960107468617708010869647101014c543a3a41737365744964506172616d6574657200010c77686f090301504163636f756e7449644c6f6f6b75704f663c543e000c28e8416c6c6f7720756e70726976696c65676564207472616e736665727320746f20616e642066726f6d20616e206163636f756e7420616761696e2e002d014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c64206265207468652041646d696e206f662074686520617373657420606964602e00c42d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652066726f7a656e2e902d206077686f603a20546865206163636f756e7420746f20626520756e66726f7a656e2e003c456d6974732060546861776564602e00385765696768743a20604f2831296030667265657a655f617373657404010869647101014c543a3a41737365744964506172616d65746572000d24f0446973616c6c6f77206675727468657220756e70726976696c65676564207472616e736665727320666f722074686520617373657420636c6173732e0035014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c642062652074686520467265657a6572206f662074686520617373657420606964602e00c42d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652066726f7a656e2e003c456d697473206046726f7a656e602e00385765696768743a20604f2831296028746861775f617373657404010869647101014c543a3a41737365744964506172616d65746572000e24c4416c6c6f7720756e70726976696c65676564207472616e736665727320666f722074686520617373657420616761696e2e002d014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c64206265207468652041646d696e206f662074686520617373657420606964602e00c42d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206265207468617765642e003c456d6974732060546861776564602e00385765696768743a20604f28312960487472616e736665725f6f776e65727368697008010869647101014c543a3a41737365744964506172616d657465720001146f776e6572090301504163636f756e7449644c6f6f6b75704f663c543e000f28744368616e676520746865204f776e6572206f6620616e2061737365742e002d014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f662074686520617373657420606964602e00902d20606964603a20546865206964656e746966696572206f66207468652061737365742e9c2d20606f776e6572603a20546865206e6577204f776e6572206f6620746869732061737365742e0054456d69747320604f776e65724368616e676564602e00385765696768743a20604f28312960207365745f7465616d10010869647101014c543a3a41737365744964506172616d65746572000118697373756572090301504163636f756e7449644c6f6f6b75704f663c543e00011461646d696e090301504163636f756e7449644c6f6f6b75704f663c543e00011c667265657a6572090301504163636f756e7449644c6f6f6b75704f663c543e001030c44368616e676520746865204973737565722c2041646d696e20616e6420467265657a6572206f6620616e2061737365742e002d014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f662074686520617373657420606964602e00c42d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652066726f7a656e2ea42d2060697373756572603a20546865206e657720497373756572206f6620746869732061737365742e9c2d206061646d696e603a20546865206e65772041646d696e206f6620746869732061737365742eac2d2060667265657a6572603a20546865206e657720467265657a6572206f6620746869732061737365742e0050456d69747320605465616d4368616e676564602e00385765696768743a20604f28312960307365745f6d6574616461746110010869647101014c543a3a41737365744964506172616d657465720001106e616d6538011c5665633c75383e00011873796d626f6c38011c5665633c75383e000120646563696d616c7308010875380011407853657420746865206d6574616461746120666f7220616e2061737365742e002d014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f662074686520617373657420606964602e00d846756e6473206f662073656e64657220617265207265736572766564206163636f7264696e6720746f2074686520666f726d756c613a5101604d657461646174614465706f73697442617365202b204d657461646174614465706f73697450657242797465202a20286e616d652e6c656e202b2073796d626f6c2e6c656e29602074616b696e6720696e746f8c6163636f756e7420616e7920616c72656164792072657365727665642066756e64732e00b82d20606964603a20546865206964656e746966696572206f662074686520617373657420746f207570646174652e4d012d20606e616d65603a20546865207573657220667269656e646c79206e616d65206f6620746869732061737365742e204c696d6974656420696e206c656e6774682062792060537472696e674c696d6974602e4d012d206073796d626f6c603a205468652065786368616e67652073796d626f6c20666f7220746869732061737365742e204c696d6974656420696e206c656e6774682062792060537472696e674c696d6974602e2d012d2060646563696d616c73603a20546865206e756d626572206f6620646563696d616c732074686973206173736574207573657320746f20726570726573656e74206f6e6520756e69742e0050456d69747320604d65746164617461536574602e00385765696768743a20604f2831296038636c6561725f6d6574616461746104010869647101014c543a3a41737365744964506172616d6574657200122c80436c65617220746865206d6574616461746120666f7220616e2061737365742e002d014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f662074686520617373657420606964602e00a4416e79206465706f73697420697320667265656420666f7220746865206173736574206f776e65722e00b42d20606964603a20546865206964656e746966696572206f662074686520617373657420746f20636c6561722e0060456d69747320604d65746164617461436c6561726564602e00385765696768743a20604f2831296048666f7263655f7365745f6d6574616461746114010869647101014c543a3a41737365744964506172616d657465720001106e616d6538011c5665633c75383e00011873796d626f6c38011c5665633c75383e000120646563696d616c73080108753800012469735f66726f7a656e200110626f6f6c001338b8466f72636520746865206d6574616461746120666f7220616e20617373657420746f20736f6d652076616c75652e006c4f726967696e206d75737420626520466f7263654f726967696e2e0068416e79206465706f736974206973206c65667420616c6f6e652e00b82d20606964603a20546865206964656e746966696572206f662074686520617373657420746f207570646174652e4d012d20606e616d65603a20546865207573657220667269656e646c79206e616d65206f6620746869732061737365742e204c696d6974656420696e206c656e6774682062792060537472696e674c696d6974602e4d012d206073796d626f6c603a205468652065786368616e67652073796d626f6c20666f7220746869732061737365742e204c696d6974656420696e206c656e6774682062792060537472696e674c696d6974602e2d012d2060646563696d616c73603a20546865206e756d626572206f6620646563696d616c732074686973206173736574207573657320746f20726570726573656e74206f6e6520756e69742e0050456d69747320604d65746164617461536574602e0051015765696768743a20604f284e202b20532960207768657265204e20616e6420532061726520746865206c656e677468206f6620746865206e616d6520616e642073796d626f6c20726573706563746976656c792e50666f7263655f636c6561725f6d6574616461746104010869647101014c543a3a41737365744964506172616d6574657200142c80436c65617220746865206d6574616461746120666f7220616e2061737365742e006c4f726967696e206d75737420626520466f7263654f726967696e2e0060416e79206465706f7369742069732072657475726e65642e00b42d20606964603a20546865206964656e746966696572206f662074686520617373657420746f20636c6561722e0060456d69747320604d65746164617461436c6561726564602e00385765696768743a20604f2831296048666f7263655f61737365745f73746174757320010869647101014c543a3a41737365744964506172616d657465720001146f776e6572090301504163636f756e7449644c6f6f6b75704f663c543e000118697373756572090301504163636f756e7449644c6f6f6b75704f663c543e00011461646d696e090301504163636f756e7449644c6f6f6b75704f663c543e00011c667265657a6572090301504163636f756e7449644c6f6f6b75704f663c543e00012c6d696e5f62616c616e636571010128543a3a42616c616e636500013469735f73756666696369656e74200110626f6f6c00012469735f66726f7a656e200110626f6f6c00155898416c746572207468652061747472696275746573206f66206120676976656e2061737365742e00744f726967696e206d7573742062652060466f7263654f726967696e602e00902d20606964603a20546865206964656e746966696572206f66207468652061737365742e9c2d20606f776e6572603a20546865206e6577204f776e6572206f6620746869732061737365742ea42d2060697373756572603a20546865206e657720497373756572206f6620746869732061737365742e9c2d206061646d696e603a20546865206e65772041646d696e206f6620746869732061737365742eac2d2060667265657a6572603a20546865206e657720467265657a6572206f6620746869732061737365742e4d012d20606d696e5f62616c616e6365603a20546865206d696e696d756d2062616c616e6365206f662074686973206e6577206173736574207468617420616e792073696e676c65206163636f756e74206d7573743d01686176652e20496620616e206163636f756e7427732062616c616e636520697320726564756365642062656c6f7720746869732c207468656e20697420636f6c6c617073657320746f207a65726f2e51012d206069735f73756666696369656e74603a20576865746865722061206e6f6e2d7a65726f2062616c616e6365206f662074686973206173736574206973206465706f736974206f662073756666696369656e744d0176616c756520746f206163636f756e7420666f722074686520737461746520626c6f6174206173736f6369617465642077697468206974732062616c616e63652073746f726167652e2049662073657420746f55016074727565602c207468656e206e6f6e2d7a65726f2062616c616e636573206d61792062652073746f72656420776974686f757420612060636f6e73756d657260207265666572656e63652028616e6420746875734d01616e20454420696e207468652042616c616e6365732070616c6c6574206f7220776861746576657220656c7365206973207573656420746f20636f6e74726f6c20757365722d6163636f756e742073746174652067726f777468292e3d012d206069735f66726f7a656e603a2057686574686572207468697320617373657420636c6173732069732066726f7a656e2065786365707420666f72207065726d697373696f6e65642f61646d696e34696e737472756374696f6e732e00e8456d697473206041737365745374617475734368616e67656460207769746820746865206964656e74697479206f66207468652061737365742e00385765696768743a20604f2831296040617070726f76655f7472616e736665720c010869647101014c543a3a41737365744964506172616d6574657200012064656c6567617465090301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e7471010128543a3a42616c616e63650016502d01417070726f766520616e20616d6f756e74206f6620617373657420666f72207472616e7366657220627920612064656c6567617465642074686972642d7061727479206163636f756e742e00584f726967696e206d757374206265205369676e65642e004d01456e737572657320746861742060417070726f76616c4465706f7369746020776f727468206f66206043757272656e6379602069732072657365727665642066726f6d207369676e696e67206163636f756e745501666f722074686520707572706f7365206f6620686f6c64696e672074686520617070726f76616c2e20496620736f6d65206e6f6e2d7a65726f20616d6f756e74206f662061737365747320697320616c72656164794901617070726f7665642066726f6d207369676e696e67206163636f756e7420746f206064656c6567617465602c207468656e20697420697320746f70706564207570206f7220756e726573657276656420746f546d656574207468652072696768742076616c75652e0045014e4f54453a20546865207369676e696e67206163636f756e7420646f6573206e6f74206e65656420746f206f776e2060616d6f756e7460206f66206173736574732061742074686520706f696e74206f66446d616b696e6720746869732063616c6c2e00902d20606964603a20546865206964656e746966696572206f66207468652061737365742e0d012d206064656c6567617465603a20546865206163636f756e7420746f2064656c6567617465207065726d697373696f6e20746f207472616e736665722061737365742e49012d2060616d6f756e74603a2054686520616d6f756e74206f662061737365742074686174206d6179206265207472616e73666572726564206279206064656c6567617465602e204966207468657265206973e0616c726561647920616e20617070726f76616c20696e20706c6163652c207468656e207468697320616374732061646469746976656c792e0090456d6974732060417070726f7665645472616e7366657260206f6e20737563636573732e00385765696768743a20604f283129603c63616e63656c5f617070726f76616c08010869647101014c543a3a41737365744964506172616d6574657200012064656c6567617465090301504163636f756e7449644c6f6f6b75704f663c543e001734490143616e63656c20616c6c206f6620736f6d6520617373657420617070726f76656420666f722064656c656761746564207472616e7366657220627920612074686972642d7061727479206163636f756e742e003d014f726967696e206d757374206265205369676e656420616e64207468657265206d75737420626520616e20617070726f76616c20696e20706c616365206265747765656e207369676e657220616e642c6064656c6567617465602e004901556e726573657276657320616e79206465706f7369742070726576696f75736c792072657365727665642062792060617070726f76655f7472616e736665726020666f722074686520617070726f76616c2e00902d20606964603a20546865206964656e746966696572206f66207468652061737365742e05012d206064656c6567617465603a20546865206163636f756e742064656c656761746564207065726d697373696f6e20746f207472616e736665722061737365742e0094456d6974732060417070726f76616c43616e63656c6c656460206f6e20737563636573732e00385765696768743a20604f2831296054666f7263655f63616e63656c5f617070726f76616c0c010869647101014c543a3a41737365744964506172616d657465720001146f776e6572090301504163636f756e7449644c6f6f6b75704f663c543e00012064656c6567617465090301504163636f756e7449644c6f6f6b75704f663c543e001834490143616e63656c20616c6c206f6620736f6d6520617373657420617070726f76656420666f722064656c656761746564207472616e7366657220627920612074686972642d7061727479206163636f756e742e0049014f726967696e206d7573742062652065697468657220466f7263654f726967696e206f72205369676e6564206f726967696e207769746820746865207369676e6572206265696e67207468652041646d696e686163636f756e74206f662074686520617373657420606964602e004901556e726573657276657320616e79206465706f7369742070726576696f75736c792072657365727665642062792060617070726f76655f7472616e736665726020666f722074686520617070726f76616c2e00902d20606964603a20546865206964656e746966696572206f66207468652061737365742e05012d206064656c6567617465603a20546865206163636f756e742064656c656761746564207065726d697373696f6e20746f207472616e736665722061737365742e0094456d6974732060417070726f76616c43616e63656c6c656460206f6e20737563636573732e00385765696768743a20604f28312960447472616e736665725f617070726f76656410010869647101014c543a3a41737365744964506172616d657465720001146f776e6572090301504163636f756e7449644c6f6f6b75704f663c543e00012c64657374696e6174696f6e090301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e7471010128543a3a42616c616e63650019484d015472616e7366657220736f6d652061737365742062616c616e63652066726f6d20612070726576696f75736c792064656c656761746564206163636f756e7420746f20736f6d652074686972642d7061727479206163636f756e742e0049014f726967696e206d757374206265205369676e656420616e64207468657265206d75737420626520616e20617070726f76616c20696e20706c6163652062792074686520606f776e65726020746f207468651c7369676e65722e00590149662074686520656e7469726520616d6f756e7420617070726f76656420666f72207472616e73666572206973207472616e736665727265642c207468656e20616e79206465706f7369742070726576696f75736c79b472657365727665642062792060617070726f76655f7472616e736665726020697320756e72657365727665642e00902d20606964603a20546865206964656e746966696572206f66207468652061737365742e61012d20606f776e6572603a20546865206163636f756e742077686963682070726576696f75736c7920617070726f76656420666f722061207472616e73666572206f66206174206c656173742060616d6f756e746020616e64bc66726f6d207768696368207468652061737365742062616c616e63652077696c6c2062652077697468647261776e2e61012d206064657374696e6174696f6e603a20546865206163636f756e7420746f207768696368207468652061737365742062616c616e6365206f662060616d6f756e74602077696c6c206265207472616e736665727265642eb42d2060616d6f756e74603a2054686520616d6f756e74206f662061737365747320746f207472616e736665722e009c456d69747320605472616e73666572726564417070726f76656460206f6e20737563636573732e00385765696768743a20604f2831296014746f75636804010869647101014c543a3a41737365744964506172616d65746572001a24c043726561746520616e206173736574206163636f756e7420666f72206e6f6e2d70726f7669646572206173736574732e00c041206465706f7369742077696c6c2062652074616b656e2066726f6d20746865207369676e6572206163636f756e742e005d012d20606f726967696e603a204d757374206265205369676e65643b20746865207369676e6572206163636f756e74206d75737420686176652073756666696369656e742066756e647320666f722061206465706f736974382020746f2062652074616b656e2e09012d20606964603a20546865206964656e746966696572206f662074686520617373657420666f7220746865206163636f756e7420746f20626520637265617465642e0098456d6974732060546f756368656460206576656e74207768656e207375636365737366756c2e18726566756e6408010869647101014c543a3a41737365744964506172616d65746572000128616c6c6f775f6275726e200110626f6f6c001b28590152657475726e20746865206465706f7369742028696620616e7929206f6620616e206173736574206163636f756e74206f72206120636f6e73756d6572207265666572656e63652028696620616e7929206f6620616e206163636f756e742e0068546865206f726967696e206d757374206265205369676e65642e003d012d20606964603a20546865206964656e746966696572206f662074686520617373657420666f72207768696368207468652063616c6c657220776f756c64206c696b6520746865206465706f7369742c2020726566756e6465642e5d012d2060616c6c6f775f6275726e603a20496620607472756560207468656e20617373657473206d61792062652064657374726f79656420696e206f7264657220746f20636f6d706c6574652074686520726566756e642e009c456d6974732060526566756e64656460206576656e74207768656e207375636365737366756c2e3c7365745f6d696e5f62616c616e636508010869647101014c543a3a41737365744964506172616d6574657200012c6d696e5f62616c616e6365180128543a3a42616c616e6365001c30945365747320746865206d696e696d756d2062616c616e6365206f6620616e2061737365742e0021014f6e6c7920776f726b73206966207468657265206172656e277420616e79206163636f756e747320746861742061726520686f6c64696e6720746865206173736574206f72206966e0746865206e65772076616c7565206f6620606d696e5f62616c616e636560206973206c657373207468616e20746865206f6c64206f6e652e00fc4f726967696e206d757374206265205369676e656420616e64207468652073656e6465722068617320746f20626520746865204f776e6572206f66207468652c617373657420606964602e00902d20606964603a20546865206964656e746966696572206f66207468652061737365742ec02d20606d696e5f62616c616e6365603a20546865206e65772076616c7565206f6620606d696e5f62616c616e6365602e00d4456d697473206041737365744d696e42616c616e63654368616e67656460206576656e74207768656e207375636365737366756c2e2c746f7563685f6f7468657208010869647101014c543a3a41737365744964506172616d6574657200010c77686f090301504163636f756e7449644c6f6f6b75704f663c543e001d288843726561746520616e206173736574206163636f756e7420666f72206077686f602e00c041206465706f7369742077696c6c2062652074616b656e2066726f6d20746865207369676e6572206163636f756e742e0061012d20606f726967696e603a204d757374206265205369676e65642062792060467265657a657260206f72206041646d696e60206f662074686520617373657420606964603b20746865207369676e6572206163636f756e74dc20206d75737420686176652073756666696369656e742066756e647320666f722061206465706f73697420746f2062652074616b656e2e09012d20606964603a20546865206964656e746966696572206f662074686520617373657420666f7220746865206163636f756e7420746f20626520637265617465642e8c2d206077686f603a20546865206163636f756e7420746f20626520637265617465642e0098456d6974732060546f756368656460206576656e74207768656e207375636365737366756c2e30726566756e645f6f7468657208010869647101014c543a3a41737365744964506172616d6574657200010c77686f090301504163636f756e7449644c6f6f6b75704f663c543e001e285d0152657475726e20746865206465706f7369742028696620616e7929206f66206120746172676574206173736574206163636f756e742e2055736566756c20696620796f752061726520746865206465706f7369746f722e005d01546865206f726967696e206d757374206265205369676e656420616e642065697468657220746865206163636f756e74206f776e65722c206465706f7369746f722c206f72206173736574206041646d696e602e20496e61016f7264657220746f206275726e2061206e6f6e2d7a65726f2062616c616e6365206f66207468652061737365742c207468652063616c6c6572206d75737420626520746865206163636f756e7420616e642073686f756c64347573652060726566756e64602e0019012d20606964603a20546865206964656e746966696572206f662074686520617373657420666f7220746865206163636f756e7420686f6c64696e672061206465706f7369742e7c2d206077686f603a20546865206163636f756e7420746f20726566756e642e009c456d6974732060526566756e64656460206576656e74207768656e207375636365737366756c2e14626c6f636b08010869647101014c543a3a41737365744964506172616d6574657200010c77686f090301504163636f756e7449644c6f6f6b75704f663c543e001f285901446973616c6c6f77206675727468657220756e70726976696c65676564207472616e7366657273206f6620616e206173736574206069646020746f20616e642066726f6d20616e206163636f756e74206077686f602e0035014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c642062652074686520467265657a6572206f662074686520617373657420606964602e00b82d20606964603a20546865206964656e746966696572206f6620746865206163636f756e7427732061737365742e942d206077686f603a20546865206163636f756e7420746f20626520756e626c6f636b65642e0040456d6974732060426c6f636b6564602e00385765696768743a20604f28312960040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e09030c2873705f72756e74696d65306d756c746961646472657373304d756c74694164647265737308244163636f756e7449640100304163636f756e74496e6465780110011408496404000001244163636f756e74496400000014496e6465780400ad0201304163636f756e74496e6465780001000c526177040038011c5665633c75383e0002002441646472657373333204000401205b75383b2033325d000300244164647265737332300400990101205b75383b2032305d000400000d030c3470616c6c65745f6173736574731870616c6c65741043616c6c080454000449000180186372656174650c010869647101014c543a3a41737365744964506172616d6574657200011461646d696e090301504163636f756e7449644c6f6f6b75704f663c543e00012c6d696e5f62616c616e6365180128543a3a42616c616e636500004ce849737375652061206e657720636c617373206f662066756e6769626c65206173736574732066726f6d2061207075626c6963206f726967696e2e00250154686973206e657720617373657420636c61737320686173206e6f2061737365747320696e697469616c6c7920616e6420697473206f776e657220697320746865206f726967696e2e006101546865206f726967696e206d75737420636f6e666f726d20746f2074686520636f6e6669677572656420604372656174654f726967696e6020616e6420686176652073756666696369656e742066756e647320667265652e00bc46756e6473206f662073656e64657220617265207265736572766564206279206041737365744465706f736974602e002c506172616d65746572733a59012d20606964603a20546865206964656e746966696572206f6620746865206e65772061737365742e2054686973206d757374206e6f742062652063757272656e746c7920696e2075736520746f206964656e746966793101616e206578697374696e672061737365742e204966205b604e65787441737365744964605d206973207365742c207468656e2074686973206d75737420626520657175616c20746f2069742e59012d206061646d696e603a205468652061646d696e206f66207468697320636c617373206f66206173736574732e205468652061646d696e2069732074686520696e697469616c2061646472657373206f6620656163689c6d656d626572206f662074686520617373657420636c61737327732061646d696e207465616d2e4d012d20606d696e5f62616c616e6365603a20546865206d696e696d756d2062616c616e6365206f662074686973206e6577206173736574207468617420616e792073696e676c65206163636f756e74206d7573743d01686176652e20496620616e206163636f756e7427732062616c616e636520697320726564756365642062656c6f7720746869732c207468656e20697420636f6c6c617073657320746f207a65726f2e0098456d69747320604372656174656460206576656e74207768656e207375636365737366756c2e00385765696768743a20604f2831296030666f7263655f63726561746510010869647101014c543a3a41737365744964506172616d657465720001146f776e6572090301504163636f756e7449644c6f6f6b75704f663c543e00013469735f73756666696369656e74200110626f6f6c00012c6d696e5f62616c616e636571010128543a3a42616c616e636500014cf849737375652061206e657720636c617373206f662066756e6769626c65206173736574732066726f6d20612070726976696c65676564206f726967696e2e00b454686973206e657720617373657420636c61737320686173206e6f2061737365747320696e697469616c6c792e00a4546865206f726967696e206d75737420636f6e666f726d20746f2060466f7263654f726967696e602e009c556e6c696b652060637265617465602c206e6f2066756e6473206172652072657365727665642e0059012d20606964603a20546865206964656e746966696572206f6620746865206e65772061737365742e2054686973206d757374206e6f742062652063757272656e746c7920696e2075736520746f206964656e746966793101616e206578697374696e672061737365742e204966205b604e65787441737365744964605d206973207365742c207468656e2074686973206d75737420626520657175616c20746f2069742e59012d20606f776e6572603a20546865206f776e6572206f66207468697320636c617373206f66206173736574732e20546865206f776e6572206861732066756c6c20737570657275736572207065726d697373696f6e7325016f76657220746869732061737365742c20627574206d6179206c61746572206368616e676520616e6420636f6e66696775726520746865207065726d697373696f6e73207573696e6790607472616e736665725f6f776e6572736869706020616e6420607365745f7465616d602e4d012d20606d696e5f62616c616e6365603a20546865206d696e696d756d2062616c616e6365206f662074686973206e6577206173736574207468617420616e792073696e676c65206163636f756e74206d7573743d01686176652e20496620616e206163636f756e7427732062616c616e636520697320726564756365642062656c6f7720746869732c207468656e20697420636f6c6c617073657320746f207a65726f2e00ac456d6974732060466f7263654372656174656460206576656e74207768656e207375636365737366756c2e00385765696768743a20604f283129603473746172745f64657374726f7904010869647101014c543a3a41737365744964506172616d6574657200022cdc5374617274207468652070726f63657373206f662064657374726f79696e6720612066756e6769626c6520617373657420636c6173732e0059016073746172745f64657374726f79602069732074686520666972737420696e206120736572696573206f662065787472696e7369637320746861742073686f756c642062652063616c6c65642c20746f20616c6c6f77786465737472756374696f6e206f6620616e20617373657420636c6173732e005101546865206f726967696e206d75737420636f6e666f726d20746f2060466f7263654f726967696e60206f72206d75737420626520605369676e65646020627920746865206173736574277320606f776e6572602e004d012d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652064657374726f7965642e2054686973206d757374206964656e7469667920616e206578697374696e6720202061737365742e00f854686520617373657420636c617373206d7573742062652066726f7a656e206265666f72652063616c6c696e67206073746172745f64657374726f79602e4064657374726f795f6163636f756e747304010869647101014c543a3a41737365744964506172616d65746572000330cc44657374726f7920616c6c206163636f756e7473206173736f6369617465642077697468206120676976656e2061737365742e005d016064657374726f795f6163636f756e7473602073686f756c64206f6e6c792062652063616c6c6564206166746572206073746172745f64657374726f796020686173206265656e2063616c6c65642c20616e642074686584617373657420697320696e2061206044657374726f79696e67602073746174652e005d0144756520746f20776569676874207265737472696374696f6e732c20746869732066756e6374696f6e206d6179206e65656420746f2062652063616c6c6564206d756c7469706c652074696d657320746f2066756c6c79310164657374726f7920616c6c206163636f756e74732e2049742077696c6c2064657374726f79206052656d6f76654974656d734c696d697460206163636f756e747320617420612074696d652e004d012d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652064657374726f7965642e2054686973206d757374206964656e7469667920616e206578697374696e6720202061737365742e00d4456163682063616c6c20656d6974732074686520604576656e743a3a44657374726f7965644163636f756e747360206576656e742e4464657374726f795f617070726f76616c7304010869647101014c543a3a41737365744964506172616d65746572000430610144657374726f7920616c6c20617070726f76616c73206173736f6369617465642077697468206120676976656e20617373657420757020746f20746865206d61782028543a3a52656d6f76654974656d734c696d6974292e0061016064657374726f795f617070726f76616c73602073686f756c64206f6e6c792062652063616c6c6564206166746572206073746172745f64657374726f796020686173206265656e2063616c6c65642c20616e642074686584617373657420697320696e2061206044657374726f79696e67602073746174652e005d0144756520746f20776569676874207265737472696374696f6e732c20746869732066756e6374696f6e206d6179206e65656420746f2062652063616c6c6564206d756c7469706c652074696d657320746f2066756c6c79390164657374726f7920616c6c20617070726f76616c732e2049742077696c6c2064657374726f79206052656d6f76654974656d734c696d69746020617070726f76616c7320617420612074696d652e004d012d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652064657374726f7965642e2054686973206d757374206964656e7469667920616e206578697374696e6720202061737365742e00d8456163682063616c6c20656d6974732074686520604576656e743a3a44657374726f796564417070726f76616c7360206576656e742e3866696e6973685f64657374726f7904010869647101014c543a3a41737365744964506172616d65746572000528c4436f6d706c6574652064657374726f79696e6720617373657420616e6420756e726573657276652063757272656e63792e0055016066696e6973685f64657374726f79602073686f756c64206f6e6c792062652063616c6c6564206166746572206073746172745f64657374726f796020686173206265656e2063616c6c65642c20616e64207468655901617373657420697320696e2061206044657374726f79696e67602073746174652e20416c6c206163636f756e7473206f7220617070726f76616c732073686f756c642062652064657374726f796564206265666f72651468616e642e004d012d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652064657374726f7965642e2054686973206d757374206964656e7469667920616e206578697374696e6720202061737365742e00e045616368207375636365737366756c2063616c6c20656d6974732074686520604576656e743a3a44657374726f79656460206576656e742e106d696e740c010869647101014c543a3a41737365744964506172616d6574657200012c62656e6566696369617279090301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e7471010128543a3a42616c616e6365000630884d696e7420617373657473206f66206120706172746963756c617220636c6173732e003901546865206f726967696e206d757374206265205369676e656420616e64207468652073656e646572206d7573742062652074686520497373756572206f662074686520617373657420606964602e00fc2d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74206d696e7465642e0d012d206062656e6566696369617279603a20546865206163636f756e7420746f206265206372656469746564207769746820746865206d696e746564206173736574732ec42d2060616d6f756e74603a2054686520616d6f756e74206f662074686520617373657420746f206265206d696e7465642e0094456d697473206049737375656460206576656e74207768656e207375636365737366756c2e00385765696768743a20604f2831296055014d6f6465733a205072652d6578697374696e672062616c616e6365206f66206062656e6566696369617279603b204163636f756e74207072652d6578697374656e6365206f66206062656e6566696369617279602e106275726e0c010869647101014c543a3a41737365744964506172616d6574657200010c77686f090301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e7471010128543a3a42616c616e636500073c4501526564756365207468652062616c616e6365206f66206077686f60206279206173206d75636820617320706f737369626c6520757020746f2060616d6f756e746020617373657473206f6620606964602e0035014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204d616e61676572206f662074686520617373657420606964602e00d04261696c73207769746820604e6f4163636f756e746020696620746865206077686f6020697320616c726561647920646561642e00fc2d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74206275726e65642ea02d206077686f603a20546865206163636f756e7420746f20626520646562697465642066726f6d2e29012d2060616d6f756e74603a20546865206d6178696d756d20616d6f756e74206279207768696368206077686f6027732062616c616e63652073686f756c6420626520726564756365642e005101456d69747320604275726e6564602077697468207468652061637475616c20616d6f756e74206275726e65642e20496620746869732074616b6573207468652062616c616e636520746f2062656c6f772074686539016d696e696d756d20666f72207468652061737365742c207468656e2074686520616d6f756e74206275726e656420697320696e6372656173656420746f2074616b6520697420746f207a65726f2e00385765696768743a20604f2831296009014d6f6465733a20506f73742d6578697374656e6365206f66206077686f603b20507265202620706f7374205a6f6d6269652d737461747573206f66206077686f602e207472616e736665720c010869647101014c543a3a41737365744964506172616d65746572000118746172676574090301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e7471010128543a3a42616c616e6365000848d04d6f766520736f6d65206173736574732066726f6d207468652073656e646572206163636f756e7420746f20616e6f746865722e00584f726967696e206d757374206265205369676e65642e0011012d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74207472616e736665727265642e9c2d2060746172676574603a20546865206163636f756e7420746f2062652063726564697465642e51012d2060616d6f756e74603a2054686520616d6f756e74206279207768696368207468652073656e64657227732062616c616e6365206f66206173736574732073686f756c64206265207265647563656420616e646101607461726765746027732062616c616e636520696e637265617365642e2054686520616d6f756e742061637475616c6c79207472616e73666572726564206d617920626520736c696768746c79206772656174657220696e5d017468652063617365207468617420746865207472616e7366657220776f756c64206f74686572776973652074616b65207468652073656e6465722062616c616e63652061626f7665207a65726f206275742062656c6f77bc746865206d696e696d756d2062616c616e63652e204d7573742062652067726561746572207468616e207a65726f2e006101456d69747320605472616e73666572726564602077697468207468652061637475616c20616d6f756e74207472616e736665727265642e20496620746869732074616b65732074686520736f757263652062616c616e63655d01746f2062656c6f7720746865206d696e696d756d20666f72207468652061737365742c207468656e2074686520616d6f756e74207472616e7366657272656420697320696e6372656173656420746f2074616b6520697420746f207a65726f2e00385765696768743a20604f2831296051014d6f6465733a205072652d6578697374656e6365206f662060746172676574603b20506f73742d6578697374656e6365206f662073656e6465723b204163636f756e74207072652d6578697374656e6365206f662460746172676574602e4c7472616e736665725f6b6565705f616c6976650c010869647101014c543a3a41737365744964506172616d65746572000118746172676574090301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e7471010128543a3a42616c616e636500094859014d6f766520736f6d65206173736574732066726f6d207468652073656e646572206163636f756e7420746f20616e6f746865722c206b656570696e67207468652073656e646572206163636f756e7420616c6976652e00584f726967696e206d757374206265205369676e65642e0011012d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74207472616e736665727265642e9c2d2060746172676574603a20546865206163636f756e7420746f2062652063726564697465642e51012d2060616d6f756e74603a2054686520616d6f756e74206279207768696368207468652073656e64657227732062616c616e6365206f66206173736574732073686f756c64206265207265647563656420616e646101607461726765746027732062616c616e636520696e637265617365642e2054686520616d6f756e742061637475616c6c79207472616e73666572726564206d617920626520736c696768746c79206772656174657220696e5d017468652063617365207468617420746865207472616e7366657220776f756c64206f74686572776973652074616b65207468652073656e6465722062616c616e63652061626f7665207a65726f206275742062656c6f77bc746865206d696e696d756d2062616c616e63652e204d7573742062652067726561746572207468616e207a65726f2e006101456d69747320605472616e73666572726564602077697468207468652061637475616c20616d6f756e74207472616e736665727265642e20496620746869732074616b65732074686520736f757263652062616c616e63655d01746f2062656c6f7720746865206d696e696d756d20666f72207468652061737365742c207468656e2074686520616d6f756e74207472616e7366657272656420697320696e6372656173656420746f2074616b6520697420746f207a65726f2e00385765696768743a20604f2831296051014d6f6465733a205072652d6578697374656e6365206f662060746172676574603b20506f73742d6578697374656e6365206f662073656e6465723b204163636f756e74207072652d6578697374656e6365206f662460746172676574602e38666f7263655f7472616e7366657210010869647101014c543a3a41737365744964506172616d65746572000118736f75726365090301504163636f756e7449644c6f6f6b75704f663c543e00011064657374090301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e7471010128543a3a42616c616e6365000a4cb44d6f766520736f6d65206173736574732066726f6d206f6e65206163636f756e7420746f20616e6f746865722e002d014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c64206265207468652041646d696e206f662074686520617373657420606964602e0011012d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74207472616e736665727265642e982d2060736f75726365603a20546865206163636f756e7420746f20626520646562697465642e942d206064657374603a20546865206163636f756e7420746f2062652063726564697465642e59012d2060616d6f756e74603a2054686520616d6f756e74206279207768696368207468652060736f757263656027732062616c616e6365206f66206173736574732073686f756c64206265207265647563656420616e64590160646573746027732062616c616e636520696e637265617365642e2054686520616d6f756e742061637475616c6c79207472616e73666572726564206d617920626520736c696768746c79206772656174657220696e4d017468652063617365207468617420746865207472616e7366657220776f756c64206f74686572776973652074616b65207468652060736f75726365602062616c616e63652061626f7665207a65726f20627574d462656c6f7720746865206d696e696d756d2062616c616e63652e204d7573742062652067726561746572207468616e207a65726f2e006101456d69747320605472616e73666572726564602077697468207468652061637475616c20616d6f756e74207472616e736665727265642e20496620746869732074616b65732074686520736f757263652062616c616e63655d01746f2062656c6f7720746865206d696e696d756d20666f72207468652061737365742c207468656e2074686520616d6f756e74207472616e7366657272656420697320696e6372656173656420746f2074616b6520697420746f207a65726f2e00385765696768743a20604f2831296051014d6f6465733a205072652d6578697374656e6365206f66206064657374603b20506f73742d6578697374656e6365206f662060736f75726365603b204163636f756e74207072652d6578697374656e6365206f661c6064657374602e18667265657a6508010869647101014c543a3a41737365744964506172616d6574657200010c77686f090301504163636f756e7449644c6f6f6b75704f663c543e000b305501446973616c6c6f77206675727468657220756e70726976696c65676564207472616e7366657273206f6620616e20617373657420606964602066726f6d20616e206163636f756e74206077686f602e206077686f604d016d75737420616c726561647920657869737420617320616e20656e74727920696e20604163636f756e746073206f66207468652061737365742e20496620796f752077616e7420746f20667265657a6520616ef46163636f756e74207468617420646f6573206e6f74206861766520616e20656e7472792c207573652060746f7563685f6f74686572602066697273742e0035014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c642062652074686520467265657a6572206f662074686520617373657420606964602e00c42d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652066726f7a656e2e882d206077686f603a20546865206163636f756e7420746f2062652066726f7a656e2e003c456d697473206046726f7a656e602e00385765696768743a20604f28312960107468617708010869647101014c543a3a41737365744964506172616d6574657200010c77686f090301504163636f756e7449644c6f6f6b75704f663c543e000c28e8416c6c6f7720756e70726976696c65676564207472616e736665727320746f20616e642066726f6d20616e206163636f756e7420616761696e2e002d014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c64206265207468652041646d696e206f662074686520617373657420606964602e00c42d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652066726f7a656e2e902d206077686f603a20546865206163636f756e7420746f20626520756e66726f7a656e2e003c456d6974732060546861776564602e00385765696768743a20604f2831296030667265657a655f617373657404010869647101014c543a3a41737365744964506172616d65746572000d24f0446973616c6c6f77206675727468657220756e70726976696c65676564207472616e736665727320666f722074686520617373657420636c6173732e0035014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c642062652074686520467265657a6572206f662074686520617373657420606964602e00c42d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652066726f7a656e2e003c456d697473206046726f7a656e602e00385765696768743a20604f2831296028746861775f617373657404010869647101014c543a3a41737365744964506172616d65746572000e24c4416c6c6f7720756e70726976696c65676564207472616e736665727320666f722074686520617373657420616761696e2e002d014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c64206265207468652041646d696e206f662074686520617373657420606964602e00c42d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206265207468617765642e003c456d6974732060546861776564602e00385765696768743a20604f28312960487472616e736665725f6f776e65727368697008010869647101014c543a3a41737365744964506172616d657465720001146f776e6572090301504163636f756e7449644c6f6f6b75704f663c543e000f28744368616e676520746865204f776e6572206f6620616e2061737365742e002d014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f662074686520617373657420606964602e00902d20606964603a20546865206964656e746966696572206f66207468652061737365742e9c2d20606f776e6572603a20546865206e6577204f776e6572206f6620746869732061737365742e0054456d69747320604f776e65724368616e676564602e00385765696768743a20604f28312960207365745f7465616d10010869647101014c543a3a41737365744964506172616d65746572000118697373756572090301504163636f756e7449644c6f6f6b75704f663c543e00011461646d696e090301504163636f756e7449644c6f6f6b75704f663c543e00011c667265657a6572090301504163636f756e7449644c6f6f6b75704f663c543e001030c44368616e676520746865204973737565722c2041646d696e20616e6420467265657a6572206f6620616e2061737365742e002d014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f662074686520617373657420606964602e00c42d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652066726f7a656e2ea42d2060697373756572603a20546865206e657720497373756572206f6620746869732061737365742e9c2d206061646d696e603a20546865206e65772041646d696e206f6620746869732061737365742eac2d2060667265657a6572603a20546865206e657720467265657a6572206f6620746869732061737365742e0050456d69747320605465616d4368616e676564602e00385765696768743a20604f28312960307365745f6d6574616461746110010869647101014c543a3a41737365744964506172616d657465720001106e616d6538011c5665633c75383e00011873796d626f6c38011c5665633c75383e000120646563696d616c7308010875380011407853657420746865206d6574616461746120666f7220616e2061737365742e002d014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f662074686520617373657420606964602e00d846756e6473206f662073656e64657220617265207265736572766564206163636f7264696e6720746f2074686520666f726d756c613a5101604d657461646174614465706f73697442617365202b204d657461646174614465706f73697450657242797465202a20286e616d652e6c656e202b2073796d626f6c2e6c656e29602074616b696e6720696e746f8c6163636f756e7420616e7920616c72656164792072657365727665642066756e64732e00b82d20606964603a20546865206964656e746966696572206f662074686520617373657420746f207570646174652e4d012d20606e616d65603a20546865207573657220667269656e646c79206e616d65206f6620746869732061737365742e204c696d6974656420696e206c656e6774682062792060537472696e674c696d6974602e4d012d206073796d626f6c603a205468652065786368616e67652073796d626f6c20666f7220746869732061737365742e204c696d6974656420696e206c656e6774682062792060537472696e674c696d6974602e2d012d2060646563696d616c73603a20546865206e756d626572206f6620646563696d616c732074686973206173736574207573657320746f20726570726573656e74206f6e6520756e69742e0050456d69747320604d65746164617461536574602e00385765696768743a20604f2831296038636c6561725f6d6574616461746104010869647101014c543a3a41737365744964506172616d6574657200122c80436c65617220746865206d6574616461746120666f7220616e2061737365742e002d014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f662074686520617373657420606964602e00a4416e79206465706f73697420697320667265656420666f7220746865206173736574206f776e65722e00b42d20606964603a20546865206964656e746966696572206f662074686520617373657420746f20636c6561722e0060456d69747320604d65746164617461436c6561726564602e00385765696768743a20604f2831296048666f7263655f7365745f6d6574616461746114010869647101014c543a3a41737365744964506172616d657465720001106e616d6538011c5665633c75383e00011873796d626f6c38011c5665633c75383e000120646563696d616c73080108753800012469735f66726f7a656e200110626f6f6c001338b8466f72636520746865206d6574616461746120666f7220616e20617373657420746f20736f6d652076616c75652e006c4f726967696e206d75737420626520466f7263654f726967696e2e0068416e79206465706f736974206973206c65667420616c6f6e652e00b82d20606964603a20546865206964656e746966696572206f662074686520617373657420746f207570646174652e4d012d20606e616d65603a20546865207573657220667269656e646c79206e616d65206f6620746869732061737365742e204c696d6974656420696e206c656e6774682062792060537472696e674c696d6974602e4d012d206073796d626f6c603a205468652065786368616e67652073796d626f6c20666f7220746869732061737365742e204c696d6974656420696e206c656e6774682062792060537472696e674c696d6974602e2d012d2060646563696d616c73603a20546865206e756d626572206f6620646563696d616c732074686973206173736574207573657320746f20726570726573656e74206f6e6520756e69742e0050456d69747320604d65746164617461536574602e0051015765696768743a20604f284e202b20532960207768657265204e20616e6420532061726520746865206c656e677468206f6620746865206e616d6520616e642073796d626f6c20726573706563746976656c792e50666f7263655f636c6561725f6d6574616461746104010869647101014c543a3a41737365744964506172616d6574657200142c80436c65617220746865206d6574616461746120666f7220616e2061737365742e006c4f726967696e206d75737420626520466f7263654f726967696e2e0060416e79206465706f7369742069732072657475726e65642e00b42d20606964603a20546865206964656e746966696572206f662074686520617373657420746f20636c6561722e0060456d69747320604d65746164617461436c6561726564602e00385765696768743a20604f2831296048666f7263655f61737365745f73746174757320010869647101014c543a3a41737365744964506172616d657465720001146f776e6572090301504163636f756e7449644c6f6f6b75704f663c543e000118697373756572090301504163636f756e7449644c6f6f6b75704f663c543e00011461646d696e090301504163636f756e7449644c6f6f6b75704f663c543e00011c667265657a6572090301504163636f756e7449644c6f6f6b75704f663c543e00012c6d696e5f62616c616e636571010128543a3a42616c616e636500013469735f73756666696369656e74200110626f6f6c00012469735f66726f7a656e200110626f6f6c00155898416c746572207468652061747472696275746573206f66206120676976656e2061737365742e00744f726967696e206d7573742062652060466f7263654f726967696e602e00902d20606964603a20546865206964656e746966696572206f66207468652061737365742e9c2d20606f776e6572603a20546865206e6577204f776e6572206f6620746869732061737365742ea42d2060697373756572603a20546865206e657720497373756572206f6620746869732061737365742e9c2d206061646d696e603a20546865206e65772041646d696e206f6620746869732061737365742eac2d2060667265657a6572603a20546865206e657720467265657a6572206f6620746869732061737365742e4d012d20606d696e5f62616c616e6365603a20546865206d696e696d756d2062616c616e6365206f662074686973206e6577206173736574207468617420616e792073696e676c65206163636f756e74206d7573743d01686176652e20496620616e206163636f756e7427732062616c616e636520697320726564756365642062656c6f7720746869732c207468656e20697420636f6c6c617073657320746f207a65726f2e51012d206069735f73756666696369656e74603a20576865746865722061206e6f6e2d7a65726f2062616c616e6365206f662074686973206173736574206973206465706f736974206f662073756666696369656e744d0176616c756520746f206163636f756e7420666f722074686520737461746520626c6f6174206173736f6369617465642077697468206974732062616c616e63652073746f726167652e2049662073657420746f55016074727565602c207468656e206e6f6e2d7a65726f2062616c616e636573206d61792062652073746f72656420776974686f757420612060636f6e73756d657260207265666572656e63652028616e6420746875734d01616e20454420696e207468652042616c616e6365732070616c6c6574206f7220776861746576657220656c7365206973207573656420746f20636f6e74726f6c20757365722d6163636f756e742073746174652067726f777468292e3d012d206069735f66726f7a656e603a2057686574686572207468697320617373657420636c6173732069732066726f7a656e2065786365707420666f72207065726d697373696f6e65642f61646d696e34696e737472756374696f6e732e00e8456d697473206041737365745374617475734368616e67656460207769746820746865206964656e74697479206f66207468652061737365742e00385765696768743a20604f2831296040617070726f76655f7472616e736665720c010869647101014c543a3a41737365744964506172616d6574657200012064656c6567617465090301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e7471010128543a3a42616c616e63650016502d01417070726f766520616e20616d6f756e74206f6620617373657420666f72207472616e7366657220627920612064656c6567617465642074686972642d7061727479206163636f756e742e00584f726967696e206d757374206265205369676e65642e004d01456e737572657320746861742060417070726f76616c4465706f7369746020776f727468206f66206043757272656e6379602069732072657365727665642066726f6d207369676e696e67206163636f756e745501666f722074686520707572706f7365206f6620686f6c64696e672074686520617070726f76616c2e20496620736f6d65206e6f6e2d7a65726f20616d6f756e74206f662061737365747320697320616c72656164794901617070726f7665642066726f6d207369676e696e67206163636f756e7420746f206064656c6567617465602c207468656e20697420697320746f70706564207570206f7220756e726573657276656420746f546d656574207468652072696768742076616c75652e0045014e4f54453a20546865207369676e696e67206163636f756e7420646f6573206e6f74206e65656420746f206f776e2060616d6f756e7460206f66206173736574732061742074686520706f696e74206f66446d616b696e6720746869732063616c6c2e00902d20606964603a20546865206964656e746966696572206f66207468652061737365742e0d012d206064656c6567617465603a20546865206163636f756e7420746f2064656c6567617465207065726d697373696f6e20746f207472616e736665722061737365742e49012d2060616d6f756e74603a2054686520616d6f756e74206f662061737365742074686174206d6179206265207472616e73666572726564206279206064656c6567617465602e204966207468657265206973e0616c726561647920616e20617070726f76616c20696e20706c6163652c207468656e207468697320616374732061646469746976656c792e0090456d6974732060417070726f7665645472616e7366657260206f6e20737563636573732e00385765696768743a20604f283129603c63616e63656c5f617070726f76616c08010869647101014c543a3a41737365744964506172616d6574657200012064656c6567617465090301504163636f756e7449644c6f6f6b75704f663c543e001734490143616e63656c20616c6c206f6620736f6d6520617373657420617070726f76656420666f722064656c656761746564207472616e7366657220627920612074686972642d7061727479206163636f756e742e003d014f726967696e206d757374206265205369676e656420616e64207468657265206d75737420626520616e20617070726f76616c20696e20706c616365206265747765656e207369676e657220616e642c6064656c6567617465602e004901556e726573657276657320616e79206465706f7369742070726576696f75736c792072657365727665642062792060617070726f76655f7472616e736665726020666f722074686520617070726f76616c2e00902d20606964603a20546865206964656e746966696572206f66207468652061737365742e05012d206064656c6567617465603a20546865206163636f756e742064656c656761746564207065726d697373696f6e20746f207472616e736665722061737365742e0094456d6974732060417070726f76616c43616e63656c6c656460206f6e20737563636573732e00385765696768743a20604f2831296054666f7263655f63616e63656c5f617070726f76616c0c010869647101014c543a3a41737365744964506172616d657465720001146f776e6572090301504163636f756e7449644c6f6f6b75704f663c543e00012064656c6567617465090301504163636f756e7449644c6f6f6b75704f663c543e001834490143616e63656c20616c6c206f6620736f6d6520617373657420617070726f76656420666f722064656c656761746564207472616e7366657220627920612074686972642d7061727479206163636f756e742e0049014f726967696e206d7573742062652065697468657220466f7263654f726967696e206f72205369676e6564206f726967696e207769746820746865207369676e6572206265696e67207468652041646d696e686163636f756e74206f662074686520617373657420606964602e004901556e726573657276657320616e79206465706f7369742070726576696f75736c792072657365727665642062792060617070726f76655f7472616e736665726020666f722074686520617070726f76616c2e00902d20606964603a20546865206964656e746966696572206f66207468652061737365742e05012d206064656c6567617465603a20546865206163636f756e742064656c656761746564207065726d697373696f6e20746f207472616e736665722061737365742e0094456d6974732060417070726f76616c43616e63656c6c656460206f6e20737563636573732e00385765696768743a20604f28312960447472616e736665725f617070726f76656410010869647101014c543a3a41737365744964506172616d657465720001146f776e6572090301504163636f756e7449644c6f6f6b75704f663c543e00012c64657374696e6174696f6e090301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e7471010128543a3a42616c616e63650019484d015472616e7366657220736f6d652061737365742062616c616e63652066726f6d20612070726576696f75736c792064656c656761746564206163636f756e7420746f20736f6d652074686972642d7061727479206163636f756e742e0049014f726967696e206d757374206265205369676e656420616e64207468657265206d75737420626520616e20617070726f76616c20696e20706c6163652062792074686520606f776e65726020746f207468651c7369676e65722e00590149662074686520656e7469726520616d6f756e7420617070726f76656420666f72207472616e73666572206973207472616e736665727265642c207468656e20616e79206465706f7369742070726576696f75736c79b472657365727665642062792060617070726f76655f7472616e736665726020697320756e72657365727665642e00902d20606964603a20546865206964656e746966696572206f66207468652061737365742e61012d20606f776e6572603a20546865206163636f756e742077686963682070726576696f75736c7920617070726f76656420666f722061207472616e73666572206f66206174206c656173742060616d6f756e746020616e64bc66726f6d207768696368207468652061737365742062616c616e63652077696c6c2062652077697468647261776e2e61012d206064657374696e6174696f6e603a20546865206163636f756e7420746f207768696368207468652061737365742062616c616e6365206f662060616d6f756e74602077696c6c206265207472616e736665727265642eb42d2060616d6f756e74603a2054686520616d6f756e74206f662061737365747320746f207472616e736665722e009c456d69747320605472616e73666572726564417070726f76656460206f6e20737563636573732e00385765696768743a20604f2831296014746f75636804010869647101014c543a3a41737365744964506172616d65746572001a24c043726561746520616e206173736574206163636f756e7420666f72206e6f6e2d70726f7669646572206173736574732e00c041206465706f7369742077696c6c2062652074616b656e2066726f6d20746865207369676e6572206163636f756e742e005d012d20606f726967696e603a204d757374206265205369676e65643b20746865207369676e6572206163636f756e74206d75737420686176652073756666696369656e742066756e647320666f722061206465706f736974382020746f2062652074616b656e2e09012d20606964603a20546865206964656e746966696572206f662074686520617373657420666f7220746865206163636f756e7420746f20626520637265617465642e0098456d6974732060546f756368656460206576656e74207768656e207375636365737366756c2e18726566756e6408010869647101014c543a3a41737365744964506172616d65746572000128616c6c6f775f6275726e200110626f6f6c001b28590152657475726e20746865206465706f7369742028696620616e7929206f6620616e206173736574206163636f756e74206f72206120636f6e73756d6572207265666572656e63652028696620616e7929206f6620616e206163636f756e742e0068546865206f726967696e206d757374206265205369676e65642e003d012d20606964603a20546865206964656e746966696572206f662074686520617373657420666f72207768696368207468652063616c6c657220776f756c64206c696b6520746865206465706f7369742c2020726566756e6465642e5d012d2060616c6c6f775f6275726e603a20496620607472756560207468656e20617373657473206d61792062652064657374726f79656420696e206f7264657220746f20636f6d706c6574652074686520726566756e642e009c456d6974732060526566756e64656460206576656e74207768656e207375636365737366756c2e3c7365745f6d696e5f62616c616e636508010869647101014c543a3a41737365744964506172616d6574657200012c6d696e5f62616c616e6365180128543a3a42616c616e6365001c30945365747320746865206d696e696d756d2062616c616e6365206f6620616e2061737365742e0021014f6e6c7920776f726b73206966207468657265206172656e277420616e79206163636f756e747320746861742061726520686f6c64696e6720746865206173736574206f72206966e0746865206e65772076616c7565206f6620606d696e5f62616c616e636560206973206c657373207468616e20746865206f6c64206f6e652e00fc4f726967696e206d757374206265205369676e656420616e64207468652073656e6465722068617320746f20626520746865204f776e6572206f66207468652c617373657420606964602e00902d20606964603a20546865206964656e746966696572206f66207468652061737365742ec02d20606d696e5f62616c616e6365603a20546865206e65772076616c7565206f6620606d696e5f62616c616e6365602e00d4456d697473206041737365744d696e42616c616e63654368616e67656460206576656e74207768656e207375636365737366756c2e2c746f7563685f6f7468657208010869647101014c543a3a41737365744964506172616d6574657200010c77686f090301504163636f756e7449644c6f6f6b75704f663c543e001d288843726561746520616e206173736574206163636f756e7420666f72206077686f602e00c041206465706f7369742077696c6c2062652074616b656e2066726f6d20746865207369676e6572206163636f756e742e0061012d20606f726967696e603a204d757374206265205369676e65642062792060467265657a657260206f72206041646d696e60206f662074686520617373657420606964603b20746865207369676e6572206163636f756e74dc20206d75737420686176652073756666696369656e742066756e647320666f722061206465706f73697420746f2062652074616b656e2e09012d20606964603a20546865206964656e746966696572206f662074686520617373657420666f7220746865206163636f756e7420746f20626520637265617465642e8c2d206077686f603a20546865206163636f756e7420746f20626520637265617465642e0098456d6974732060546f756368656460206576656e74207768656e207375636365737366756c2e30726566756e645f6f7468657208010869647101014c543a3a41737365744964506172616d6574657200010c77686f090301504163636f756e7449644c6f6f6b75704f663c543e001e285d0152657475726e20746865206465706f7369742028696620616e7929206f66206120746172676574206173736574206163636f756e742e2055736566756c20696620796f752061726520746865206465706f7369746f722e005d01546865206f726967696e206d757374206265205369676e656420616e642065697468657220746865206163636f756e74206f776e65722c206465706f7369746f722c206f72206173736574206041646d696e602e20496e61016f7264657220746f206275726e2061206e6f6e2d7a65726f2062616c616e6365206f66207468652061737365742c207468652063616c6c6572206d75737420626520746865206163636f756e7420616e642073686f756c64347573652060726566756e64602e0019012d20606964603a20546865206964656e746966696572206f662074686520617373657420666f7220746865206163636f756e7420686f6c64696e672061206465706f7369742e7c2d206077686f603a20546865206163636f756e7420746f20726566756e642e009c456d6974732060526566756e64656460206576656e74207768656e207375636365737366756c2e14626c6f636b08010869647101014c543a3a41737365744964506172616d6574657200010c77686f090301504163636f756e7449644c6f6f6b75704f663c543e001f285901446973616c6c6f77206675727468657220756e70726976696c65676564207472616e7366657273206f6620616e206173736574206069646020746f20616e642066726f6d20616e206163636f756e74206077686f602e0035014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c642062652074686520467265657a6572206f662074686520617373657420606964602e00b82d20606964603a20546865206964656e746966696572206f6620746865206163636f756e7427732061737365742e942d206077686f603a20546865206163636f756e7420746f20626520756e626c6f636b65642e0040456d6974732060426c6f636b6564602e00385765696768743a20604f28312960040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e11030c3c70616c6c65745f62616c616e6365731870616c6c65741043616c6c080454000449000124507472616e736665725f616c6c6f775f646561746808011064657374090301504163636f756e7449644c6f6f6b75704f663c543e00011476616c756571010128543a3a42616c616e636500001cd45472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742e003501607472616e736665725f616c6c6f775f6465617468602077696c6c207365742074686520604672656542616c616e636560206f66207468652073656e64657220616e642072656365697665722e11014966207468652073656e6465722773206163636f756e742069732062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c74b06f6620746865207472616e736665722c20746865206163636f756e742077696c6c206265207265617065642e001501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605369676e65646020627920746865207472616e736163746f722e38666f7263655f7472616e736665720c0118736f75726365090301504163636f756e7449644c6f6f6b75704f663c543e00011064657374090301504163636f756e7449644c6f6f6b75704f663c543e00011476616c756571010128543a3a42616c616e6365000208610145786163746c7920617320607472616e736665725f616c6c6f775f6465617468602c2065786365707420746865206f726967696e206d75737420626520726f6f7420616e642074686520736f75726365206163636f756e74446d6179206265207370656369666965642e4c7472616e736665725f6b6565705f616c69766508011064657374090301504163636f756e7449644c6f6f6b75704f663c543e00011476616c756571010128543a3a42616c616e6365000318590153616d6520617320746865205b607472616e736665725f616c6c6f775f6465617468605d2063616c6c2c206275742077697468206120636865636b207468617420746865207472616e736665722077696c6c206e6f74606b696c6c20746865206f726967696e206163636f756e742e00e8393925206f66207468652074696d6520796f752077616e74205b607472616e736665725f616c6c6f775f6465617468605d20696e73746561642e00f05b607472616e736665725f616c6c6f775f6465617468605d3a207374727563742e50616c6c65742e68746d6c236d6574686f642e7472616e73666572307472616e736665725f616c6c08011064657374090301504163636f756e7449644c6f6f6b75704f663c543e0001286b6565705f616c697665200110626f6f6c00043c05015472616e736665722074686520656e74697265207472616e7366657261626c652062616c616e63652066726f6d207468652063616c6c6572206163636f756e742e0059014e4f54453a20546869732066756e6374696f6e206f6e6c7920617474656d70747320746f207472616e73666572205f7472616e7366657261626c655f2062616c616e6365732e2054686973206d65616e7320746861746101616e79206c6f636b65642c2072657365727665642c206f72206578697374656e7469616c206465706f7369747320287768656e20606b6565705f616c6976656020697320607472756560292c2077696c6c206e6f742062655d017472616e7366657272656420627920746869732066756e6374696f6e2e20546f20656e73757265207468617420746869732066756e6374696f6e20726573756c747320696e2061206b696c6c6564206163636f756e742c4501796f75206d69676874206e65656420746f207072657061726520746865206163636f756e742062792072656d6f76696e6720616e79207265666572656e636520636f756e746572732c2073746f72616765406465706f736974732c206574632e2e2e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205369676e65642e00a02d206064657374603a2054686520726563697069656e74206f6620746865207472616e736665722e59012d20606b6565705f616c697665603a204120626f6f6c65616e20746f2064657465726d696e652069662074686520607472616e736665725f616c6c60206f7065726174696f6e2073686f756c642073656e6420616c6c4d0120206f66207468652066756e647320746865206163636f756e74206861732c2063617573696e67207468652073656e646572206163636f756e7420746f206265206b696c6c6564202866616c7365292c206f72590120207472616e736665722065766572797468696e6720657863657074206174206c6561737420746865206578697374656e7469616c206465706f7369742c2077686963682077696c6c2067756172616e74656520746f9c20206b656570207468652073656e646572206163636f756e7420616c697665202874727565292e3c666f7263655f756e7265736572766508010c77686f090301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e74180128543a3a42616c616e636500050cb0556e7265736572766520736f6d652062616c616e63652066726f6d2061207573657220627920666f7263652e006c43616e206f6e6c792062652063616c6c656420627920524f4f542e40757067726164655f6163636f756e747304010c77686f490201445665633c543a3a4163636f756e7449643e0006207055706772616465206120737065636966696564206163636f756e742e00742d20606f726967696e603a204d75737420626520605369676e6564602e902d206077686f603a20546865206163636f756e7420746f2062652075706772616465642e005501546869732077696c6c20776169766520746865207472616e73616374696f6e20666565206966206174206c6561737420616c6c2062757420313025206f6620746865206163636f756e7473206e656564656420746f410162652075706772616465642e20285765206c657420736f6d65206e6f74206861766520746f206265207570677261646564206a75737420696e206f7264657220746f20616c6c6f7720666f722074686558706f73736962696c697479206f6620636875726e292e44666f7263655f7365745f62616c616e636508010c77686f090301504163636f756e7449644c6f6f6b75704f663c543e0001206e65775f6672656571010128543a3a42616c616e636500080cac5365742074686520726567756c61722062616c616e6365206f66206120676976656e206163636f756e742e00b0546865206469737061746368206f726967696e20666f7220746869732063616c6c2069732060726f6f74602e6c666f7263655f61646a7573745f746f74616c5f69737375616e6365080124646972656374696f6e1503014c41646a7573746d656e74446972656374696f6e00011464656c746171010128543a3a42616c616e6365000914b841646a7573742074686520746f74616c2069737375616e636520696e20612073617475726174696e67207761792e00fc43616e206f6e6c792062652063616c6c656420627920726f6f7420616e6420616c77617973206e65656473206120706f736974697665206064656c7461602e002423204578616d706c65106275726e08011476616c756571010128543a3a42616c616e63650001286b6565705f616c697665200110626f6f6c000a1cfc4275726e2074686520737065636966696564206c697175696420667265652062616c616e63652066726f6d20746865206f726967696e206163636f756e742e002501496620746865206f726967696e2773206163636f756e7420656e64732075702062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c7409016f6620746865206275726e20616e6420606b6565705f616c697665602069732066616c73652c20746865206163636f756e742077696c6c206265207265617065642e005101556e6c696b652073656e64696e672066756e647320746f2061205f6275726e5f20616464726573732c207768696368206d6572656c79206d616b6573207468652066756e647320696e61636365737369626c652c21017468697320606275726e60206f7065726174696f6e2077696c6c2072656475636520746f74616c2069737375616e63652062792074686520616d6f756e74205f6275726e65645f2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e15030c3c70616c6c65745f62616c616e6365731474797065734c41646a7573746d656e74446972656374696f6e00010820496e6372656173650000002044656372656173650001000019030c2c70616c6c65745f626162651870616c6c65741043616c6c04045400010c4c7265706f72745f65717569766f636174696f6e08014865717569766f636174696f6e5f70726f6f661d030190426f783c45717569766f636174696f6e50726f6f663c486561646572466f723c543e3e3e00013c6b65795f6f776e65725f70726f6f662d030140543a3a4b65794f776e657250726f6f6600001009015265706f727420617574686f726974792065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c2076657269667905017468652065717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f660d01616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e63652077696c6c306265207265706f727465642e707265706f72745f65717569766f636174696f6e5f756e7369676e656408014865717569766f636174696f6e5f70726f6f661d030190426f783c45717569766f636174696f6e50726f6f663c486561646572466f723c543e3e3e00013c6b65795f6f776e65725f70726f6f662d030140543a3a4b65794f776e657250726f6f6600012009015265706f727420617574686f726974792065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c2076657269667905017468652065717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f660d01616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e63652077696c6c306265207265706f727465642e0d01546869732065787472696e736963206d7573742062652063616c6c656420756e7369676e656420616e642069742069732065787065637465642074686174206f6e6c791501626c6f636b20617574686f72732077696c6c2063616c6c206974202876616c69646174656420696e206056616c6964617465556e7369676e656460292c2061732073756368150169662074686520626c6f636b20617574686f7220697320646566696e65642069742077696c6c20626520646566696e6564206173207468652065717569766f636174696f6e247265706f727465722e48706c616e5f636f6e6669675f6368616e6765040118636f6e666967310301504e657874436f6e66696744657363726970746f720002105d01506c616e20616e2065706f636820636f6e666967206368616e67652e205468652065706f636820636f6e666967206368616e6765206973207265636f7264656420616e642077696c6c20626520656e6163746564206f6e5101746865206e6578742063616c6c20746f2060656e6163745f65706f63685f6368616e6765602e2054686520636f6e6669672077696c6c20626520616374697661746564206f6e652065706f63682061667465722e59014d756c7469706c652063616c6c7320746f2074686973206d6574686f642077696c6c207265706c61636520616e79206578697374696e6720706c616e6e656420636f6e666967206368616e6765207468617420686164546e6f74206265656e20656e6163746564207965742e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e1d03084873705f636f6e73656e7375735f736c6f74734445717569766f636174696f6e50726f6f660818486561646572012103084964012503001001206f6666656e646572250301084964000110736c6f7429030110536c6f7400013066697273745f686561646572210301184865616465720001347365636f6e645f6865616465722103011848656164657200002103102873705f72756e74696d651c67656e65726963186865616465721848656164657208184e756d62657201301048617368000014012c706172656e745f68617368340130486173683a3a4f75747075740001186e756d6265722c01184e756d62657200012873746174655f726f6f74340130486173683a3a4f757470757400013c65787472696e736963735f726f6f74340130486173683a3a4f75747075740001186469676573743c0118446967657374000025030c4473705f636f6e73656e7375735f626162650c617070185075626c69630000040004013c737232353531393a3a5075626c696300002903084873705f636f6e73656e7375735f736c6f747310536c6f740000040030010c75363400002d03082873705f73657373696f6e3c4d656d6265727368697050726f6f6600000c011c73657373696f6e10013053657373696f6e496e646578000128747269655f6e6f646573c10201305665633c5665633c75383e3e00013c76616c696461746f725f636f756e7410013856616c696461746f72436f756e74000031030c4473705f636f6e73656e7375735f626162651c64696765737473504e657874436f6e66696744657363726970746f720001040856310801046335030128287536342c2075363429000134616c6c6f7765645f736c6f747339030130416c6c6f776564536c6f7473000100003503000004083030003903084473705f636f6e73656e7375735f6261626530416c6c6f776564536c6f747300010c305072696d617279536c6f7473000000745072696d617279416e645365636f6e64617279506c61696e536c6f74730001006c5072696d617279416e645365636f6e64617279565246536c6f7473000200003d030c3870616c6c65745f6772616e6470611870616c6c65741043616c6c04045400010c4c7265706f72745f65717569766f636174696f6e08014865717569766f636174696f6e5f70726f6f66410301c8426f783c45717569766f636174696f6e50726f6f663c543a3a486173682c20426c6f636b4e756d626572466f723c543e3e3e00013c6b65795f6f776e65725f70726f6f6669030140543a3a4b65794f776e657250726f6f6600001009015265706f727420766f7465722065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c2076657269667920746865f465717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f66f8616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e63654477696c6c206265207265706f727465642e707265706f72745f65717569766f636174696f6e5f756e7369676e656408014865717569766f636174696f6e5f70726f6f66410301c8426f783c45717569766f636174696f6e50726f6f663c543a3a486173682c20426c6f636b4e756d626572466f723c543e3e3e00013c6b65795f6f776e65725f70726f6f6669030140543a3a4b65794f776e657250726f6f6600012409015265706f727420766f7465722065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c2076657269667920746865f465717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f66f8616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e63654477696c6c206265207265706f727465642e000d01546869732065787472696e736963206d7573742062652063616c6c656420756e7369676e656420616e642069742069732065787065637465642074686174206f6e6c791501626c6f636b20617574686f72732077696c6c2063616c6c206974202876616c69646174656420696e206056616c6964617465556e7369676e656460292c2061732073756368150169662074686520626c6f636b20617574686f7220697320646566696e65642069742077696c6c20626520646566696e6564206173207468652065717569766f636174696f6e247265706f727465722e306e6f74655f7374616c6c656408011464656c6179300144426c6f636b4e756d626572466f723c543e00016c626573745f66696e616c697a65645f626c6f636b5f6e756d626572300144426c6f636b4e756d626572466f723c543e0002303d014e6f74652074686174207468652063757272656e7420617574686f7269747920736574206f6620746865204752414e4450412066696e616c6974792067616467657420686173207374616c6c65642e006101546869732077696c6c2074726967676572206120666f7263656420617574686f7269747920736574206368616e67652061742074686520626567696e6e696e67206f6620746865206e6578742073657373696f6e2c20746f6101626520656e6163746564206064656c61796020626c6f636b7320616674657220746861742e20546865206064656c6179602073686f756c64206265206869676820656e6f75676820746f20736166656c7920617373756d654901746861742074686520626c6f636b207369676e616c6c696e672074686520666f72636564206368616e67652077696c6c206e6f742062652072652d6f7267656420652e672e203130303020626c6f636b732e5d0154686520626c6f636b2070726f64756374696f6e207261746520287768696368206d617920626520736c6f77656420646f776e2062656361757365206f662066696e616c697479206c616767696e67292073686f756c64510162652074616b656e20696e746f206163636f756e74207768656e2063686f6f73696e6720746865206064656c6179602e20546865204752414e44504120766f74657273206261736564206f6e20746865206e65775501617574686f726974792077696c6c20737461727420766f74696e67206f6e20746f70206f662060626573745f66696e616c697a65645f626c6f636b5f6e756d6265726020666f72206e65772066696e616c697a65644d01626c6f636b732e2060626573745f66696e616c697a65645f626c6f636b5f6e756d626572602073686f756c64206265207468652068696768657374206f6620746865206c61746573742066696e616c697a6564c4626c6f636b206f6620616c6c2076616c696461746f7273206f6620746865206e657720617574686f72697479207365742e00584f6e6c792063616c6c61626c6520627920726f6f742e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e4103085073705f636f6e73656e7375735f6772616e6470614445717569766f636174696f6e50726f6f660804480134044e0130000801187365745f6964300114536574496400013065717569766f636174696f6e4503014845717569766f636174696f6e3c482c204e3e00004503085073705f636f6e73656e7375735f6772616e6470613045717569766f636174696f6e0804480134044e013001081c507265766f74650400490301890166696e616c6974795f6772616e6470613a3a45717569766f636174696f6e3c417574686f7269747949642c2066696e616c6974795f6772616e6470613a3a507265766f74653c0a482c204e3e2c20417574686f726974795369676e61747572652c3e00000024507265636f6d6d697404005d0301910166696e616c6974795f6772616e6470613a3a45717569766f636174696f6e3c417574686f7269747949642c2066696e616c6974795f6772616e6470613a3a507265636f6d6d69740a3c482c204e3e2c20417574686f726974795369676e61747572652c3e000100004903084066696e616c6974795f6772616e6470613045717569766f636174696f6e0c08496401ac0456014d03045301510300100130726f756e645f6e756d62657230010c7536340001206964656e74697479ac0108496400011466697273745903011828562c2053290001187365636f6e645903011828562c20532900004d03084066696e616c6974795f6772616e6470611c507265766f74650804480134044e01300008012c7461726765745f68617368340104480001347461726765745f6e756d6265723001044e000051030c5073705f636f6e73656e7375735f6772616e6470610c617070245369676e61747572650000040055030148656432353531393a3a5369676e6174757265000055030000034000000008005903000004084d035103005d03084066696e616c6974795f6772616e6470613045717569766f636174696f6e0c08496401ac0456016103045301510300100130726f756e645f6e756d62657230010c7536340001206964656e74697479ac0108496400011466697273746503011828562c2053290001187365636f6e646503011828562c20532900006103084066696e616c6974795f6772616e64706124507265636f6d6d69740804480134044e01300008012c7461726765745f68617368340104480001347461726765745f6e756d6265723001044e000065030000040861035103006903081c73705f636f726510566f6964000100006d030c3870616c6c65745f696e64696365731870616c6c65741043616c6c04045400011414636c61696d040114696e64657810013c543a3a4163636f756e74496e6465780000309841737369676e20616e2070726576696f75736c7920756e61737369676e656420696e6465782e00dc5061796d656e743a20604465706f736974602069732072657365727665642066726f6d207468652073656e646572206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00f02d2060696e646578603a2074686520696e64657820746f20626520636c61696d65642e2054686973206d757374206e6f7420626520696e207573652e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e0034232320436f6d706c6578697479242d20604f283129602e207472616e7366657208010c6e6577090301504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e6465780001305d0141737369676e20616e20696e64657820616c7265616479206f776e6564206279207468652073656e64657220746f20616e6f74686572206163636f756e742e205468652062616c616e6365207265736572766174696f6eb86973206566666563746976656c79207472616e7366657272656420746f20746865206e6577206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0025012d2060696e646578603a2074686520696e64657820746f2062652072652d61737369676e65642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e5d012d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e0034232320436f6d706c6578697479242d20604f283129602e1066726565040114696e64657810013c543a3a4163636f756e74496e646578000230944672656520757020616e20696e646578206f776e6564206279207468652073656e6465722e005d015061796d656e743a20416e792070726576696f7573206465706f73697420706c6163656420666f722074686520696e64657820697320756e726573657276656420696e207468652073656e646572206163636f756e742e005501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206f776e2074686520696e6465782e000d012d2060696e646578603a2074686520696e64657820746f2062652066726565642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e0084456d6974732060496e646578467265656460206966207375636365737366756c2e0034232320436f6d706c6578697479242d20604f283129602e38666f7263655f7472616e736665720c010c6e6577090301504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e646578000118667265657a65200110626f6f6c0003345501466f72636520616e20696e64657820746f20616e206163636f756e742e205468697320646f65736e277420726571756972652061206465706f7369742e2049662074686520696e64657820697320616c7265616479e868656c642c207468656e20616e79206465706f736974206973207265696d62757273656420746f206974732063757272656e74206f776e65722e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00a42d2060696e646578603a2074686520696e64657820746f206265202872652d2961737369676e65642e5d012d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e41012d2060667265657a65603a2069662073657420746f206074727565602c2077696c6c20667265657a652074686520696e64657820736f2069742063616e6e6f74206265207472616e736665727265642e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e0034232320436f6d706c6578697479242d20604f283129602e18667265657a65040114696e64657810013c543a3a4163636f756e74496e6465780004304101467265657a6520616e20696e64657820736f2069742077696c6c20616c7761797320706f696e7420746f207468652073656e646572206163636f756e742e205468697320636f6e73756d657320746865206465706f7369742e005901546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206861766520616c6e6f6e2d66726f7a656e206163636f756e742060696e646578602e00ac2d2060696e646578603a2074686520696e64657820746f2062652066726f7a656e20696e20706c6163652e0088456d6974732060496e64657846726f7a656e60206966207375636365737366756c2e0034232320436f6d706c6578697479242d20604f283129602e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e71030c4070616c6c65745f64656d6f63726163791870616c6c65741043616c6c04045400014c1c70726f706f736508012070726f706f73616c75030140426f756e64656443616c6c4f663c543e00011476616c75657101013042616c616e63654f663c543e0000249c50726f706f736520612073656e73697469766520616374696f6e20746f2062652074616b656e2e001501546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737480686176652066756e647320746f20636f76657220746865206465706f7369742e00d42d206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20707265696d6167652e15012d206076616c7565603a2054686520616d6f756e74206f66206465706f73697420286d757374206265206174206c6561737420604d696e696d756d4465706f73697460292e0044456d697473206050726f706f736564602e187365636f6e6404012070726f706f73616cad02012450726f70496e646578000118b45369676e616c732061677265656d656e742077697468206120706172746963756c61722070726f706f73616c2e000101546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e64657211016d75737420686176652066756e647320746f20636f76657220746865206465706f7369742c20657175616c20746f20746865206f726967696e616c206465706f7369742e00c82d206070726f706f73616c603a2054686520696e646578206f66207468652070726f706f73616c20746f207365636f6e642e10766f74650801247265665f696e646578ad02013c5265666572656e64756d496e646578000110766f7465bc01644163636f756e74566f74653c42616c616e63654f663c543e3e00021c3101566f746520696e2061207265666572656e64756d2e2049662060766f74652e69735f6179652829602c2074686520766f746520697320746f20656e616374207468652070726f706f73616c3bb86f7468657277697365206974206973206120766f746520746f206b65657020746865207374617475732071756f2e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00dc2d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f20766f746520666f722e842d2060766f7465603a2054686520766f746520636f6e66696775726174696f6e2e40656d657267656e63795f63616e63656c0401247265665f696e64657810013c5265666572656e64756d496e6465780003204d015363686564756c6520616e20656d657267656e63792063616e63656c6c6174696f6e206f662061207265666572656e64756d2e2043616e6e6f742068617070656e20747769636520746f207468652073616d652c7265666572656e64756d2e00f8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c6c6174696f6e4f726967696e602e00d02d607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e003c5765696768743a20604f283129602e4065787465726e616c5f70726f706f736504012070726f706f73616c75030140426f756e64656443616c6c4f663c543e0004182d015363686564756c652061207265666572656e64756d20746f206265207461626c6564206f6e6365206974206973206c6567616c20746f207363686564756c6520616e2065787465726e616c2c7265666572656e64756d2e00e8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206045787465726e616c4f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e6465787465726e616c5f70726f706f73655f6d616a6f7269747904012070726f706f73616c75030140426f756e64656443616c6c4f663c543e00052c55015363686564756c652061206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f207363686564756c655c616e2065787465726e616c207265666572656e64756d2e00ec546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c4d616a6f726974794f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004901556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c6163652061987072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e00385765696768743a20604f283129606065787465726e616c5f70726f706f73655f64656661756c7404012070726f706f73616c75030140426f756e64656443616c6c4f663c543e00062c45015363686564756c652061206e656761746976652d7475726e6f75742d62696173207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f807363686564756c6520616e2065787465726e616c207265666572656e64756d2e00e8546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c44656661756c744f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004901556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c6163652061987072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e00385765696768743a20604f2831296028666173745f747261636b0c013470726f706f73616c5f6861736834011c543a3a48617368000134766f74696e675f706572696f64300144426c6f636b4e756d626572466f723c543e00011464656c6179300144426c6f636b4e756d626572466f723c543e0007404d015363686564756c65207468652063757272656e746c792065787465726e616c6c792d70726f706f736564206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c65646101696d6d6564696174656c792e204966207468657265206973206e6f2065787465726e616c6c792d70726f706f736564207265666572656e64756d2063757272656e746c792c206f72206966207468657265206973206f6e65e8627574206974206973206e6f742061206d616a6f726974792d63617272696573207265666572656e64756d207468656e206974206661696c732e00d0546865206469737061746368206f6620746869732063616c6c206d757374206265206046617374547261636b4f726967696e602e00f42d206070726f706f73616c5f68617368603a205468652068617368206f66207468652063757272656e742065787465726e616c2070726f706f73616c2e5d012d2060766f74696e675f706572696f64603a2054686520706572696f64207468617420697320616c6c6f77656420666f7220766f74696e67206f6e20746869732070726f706f73616c2e20496e6372656173656420746f88094d75737420626520616c776179732067726561746572207468616e207a65726f2e350109466f72206046617374547261636b4f726967696e60206d75737420626520657175616c206f722067726561746572207468616e206046617374547261636b566f74696e67506572696f64602e51012d206064656c6179603a20546865206e756d626572206f6620626c6f636b20616674657220766f74696e672068617320656e64656420696e20617070726f76616c20616e6420746869732073686f756c64206265b82020656e61637465642e205468697320646f65736e277420686176652061206d696e696d756d20616d6f756e742e0040456d697473206053746172746564602e00385765696768743a20604f28312960347665746f5f65787465726e616c04013470726f706f73616c5f6861736834011c543a3a48617368000824b85665746f20616e6420626c61636b6c697374207468652065787465726e616c2070726f706f73616c20686173682e00d8546865206469737061746368206f726967696e206f6620746869732063616c6c206d75737420626520605665746f4f726967696e602e002d012d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c20746f207665746f20616e6420626c61636b6c6973742e003c456d69747320605665746f6564602e00fc5765696768743a20604f2856202b206c6f6728562929602077686572652056206973206e756d626572206f6620606578697374696e67207665746f657273604463616e63656c5f7265666572656e64756d0401247265665f696e646578ad02013c5265666572656e64756d496e64657800091c5052656d6f76652061207265666572656e64756d2e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e00d42d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e004423205765696768743a20604f283129602e2064656c65676174650c0108746f090301504163636f756e7449644c6f6f6b75704f663c543e000128636f6e76696374696f6e81030128436f6e76696374696f6e00011c62616c616e636518013042616c616e63654f663c543e000a50390144656c65676174652074686520766f74696e6720706f77657220287769746820736f6d6520676976656e20636f6e76696374696f6e29206f66207468652073656e64696e67206163636f756e742e0055015468652062616c616e63652064656c656761746564206973206c6f636b656420666f72206173206c6f6e6720617320697427732064656c6567617465642c20616e64207468657265616674657220666f7220746865c874696d6520617070726f70726961746520666f722074686520636f6e76696374696f6e2773206c6f636b20706572696f642e005d01546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e696e67206163636f756e74206d757374206569746865723a7420202d2062652064656c65676174696e6720616c72656164793b206f72590120202d2068617665206e6f20766f74696e67206163746976697479202869662074686572652069732c207468656e2069742077696c6c206e65656420746f2062652072656d6f7665642f636f6e736f6c69646174656494202020207468726f7567682060726561705f766f746560206f722060756e766f746560292e0045012d2060746f603a20546865206163636f756e742077686f736520766f74696e6720746865206074617267657460206163636f756e74277320766f74696e6720706f7765722077696c6c20666f6c6c6f772e55012d2060636f6e76696374696f6e603a2054686520636f6e76696374696f6e20746861742077696c6c20626520617474616368656420746f207468652064656c65676174656420766f7465732e205768656e20746865410120206163636f756e7420697320756e64656c6567617465642c207468652066756e64732077696c6c206265206c6f636b656420666f722074686520636f72726573706f6e64696e6720706572696f642e61012d206062616c616e6365603a2054686520616d6f756e74206f6620746865206163636f756e7427732062616c616e636520746f206265207573656420696e2064656c65676174696e672e2054686973206d757374206e6f74b420206265206d6f7265207468616e20746865206163636f756e7427732063757272656e742062616c616e63652e0048456d697473206044656c656761746564602e003d015765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173c82020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e28756e64656c6567617465000b30cc556e64656c65676174652074686520766f74696e6720706f776572206f66207468652073656e64696e67206163636f756e742e005d01546f6b656e73206d617920626520756e6c6f636b656420666f6c6c6f77696e67206f6e636520616e20616d6f756e74206f662074696d6520636f6e73697374656e74207769746820746865206c6f636b20706572696f64dc6f662074686520636f6e76696374696f6e2077697468207768696368207468652064656c65676174696f6e20776173206973737565642e004501546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062655463757272656e746c792064656c65676174696e672e0050456d6974732060556e64656c656761746564602e003d015765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173c82020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e58636c6561725f7075626c69635f70726f706f73616c73000c1470436c6561727320616c6c207075626c69632070726f706f73616c732e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e003c5765696768743a20604f283129602e18756e6c6f636b040118746172676574090301504163636f756e7449644c6f6f6b75704f663c543e000d1ca0556e6c6f636b20746f6b656e732074686174206861766520616e2065787069726564206c6f636b2e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00b82d2060746172676574603a20546865206163636f756e7420746f2072656d6f766520746865206c6f636b206f6e2e00bc5765696768743a20604f2852296020776974682052206e756d626572206f6620766f7465206f66207461726765742e2c72656d6f76655f766f7465040114696e64657810013c5265666572656e64756d496e646578000e6c7c52656d6f7665206120766f746520666f722061207265666572656e64756d2e000c49663a882d20746865207265666572656e64756d207761732063616e63656c6c65642c206f727c2d20746865207265666572656e64756d206973206f6e676f696e672c206f72902d20746865207265666572656e64756d2068617320656e64656420737563682074686174fc20202d2074686520766f7465206f6620746865206163636f756e742077617320696e206f70706f736974696f6e20746f2074686520726573756c743b206f72d420202d20746865726520776173206e6f20636f6e76696374696f6e20746f20746865206163636f756e74277320766f74653b206f728420202d20746865206163636f756e74206d61646520612073706c697420766f74655d012e2e2e7468656e2074686520766f74652069732072656d6f76656420636c65616e6c7920616e64206120666f6c6c6f77696e672063616c6c20746f2060756e6c6f636b60206d617920726573756c7420696e206d6f72655866756e6473206265696e6720617661696c61626c652e00a849662c20686f77657665722c20746865207265666572656e64756d2068617320656e64656420616e643aec2d2069742066696e697368656420636f72726573706f6e64696e6720746f2074686520766f7465206f6620746865206163636f756e742c20616e64dc2d20746865206163636f756e74206d6164652061207374616e6461726420766f7465207769746820636f6e76696374696f6e2c20616e64bc2d20746865206c6f636b20706572696f64206f662074686520636f6e76696374696f6e206973206e6f74206f76657259012e2e2e7468656e20746865206c6f636b2077696c6c206265206167677265676174656420696e746f20746865206f766572616c6c206163636f756e742773206c6f636b2c207768696368206d617920696e766f6c766559012a6f7665726c6f636b696e672a20287768657265207468652074776f206c6f636b732061726520636f6d62696e656420696e746f20612073696e676c65206c6f636b207468617420697320746865206d6178696d756de46f6620626f74682074686520616d6f756e74206c6f636b656420616e64207468652074696d65206973206974206c6f636b656420666f72292e004901546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e6572206d7573742068617665206120766f7465887265676973746572656420666f72207265666572656e64756d2060696e646578602e00f42d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e0055015765696768743a20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2ed820205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652e4472656d6f76655f6f746865725f766f7465080118746172676574090301504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c5265666572656e64756d496e646578000f3c7c52656d6f7665206120766f746520666f722061207265666572656e64756d2e004d0149662074686520607461726765746020697320657175616c20746f20746865207369676e65722c207468656e20746869732066756e6374696f6e2069732065786163746c79206571756976616c656e7420746f2d016072656d6f76655f766f7465602e204966206e6f7420657175616c20746f20746865207369676e65722c207468656e2074686520766f7465206d757374206861766520657870697265642c5501656974686572206265636175736520746865207265666572656e64756d207761732063616e63656c6c65642c20626563617573652074686520766f746572206c6f737420746865207265666572656e64756d206f7298626563617573652074686520636f6e76696374696f6e20706572696f64206973206f7665722e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e004d012d2060746172676574603a20546865206163636f756e74206f662074686520766f746520746f2062652072656d6f7665643b2074686973206163636f756e74206d757374206861766520766f74656420666f725420207265666572656e64756d2060696e646578602ef42d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e0055015765696768743a20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2ed820205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652e24626c61636b6c69737408013470726f706f73616c5f6861736834011c543a3a4861736800013c6d617962655f7265665f696e6465789502015c4f7074696f6e3c5265666572656e64756d496e6465783e00103c45015065726d616e656e746c7920706c61636520612070726f706f73616c20696e746f2074686520626c61636b6c6973742e20546869732070726576656e74732069742066726f6d2065766572206265696e673c70726f706f73656420616761696e2e00510149662063616c6c6564206f6e206120717565756564207075626c6963206f722065787465726e616c2070726f706f73616c2c207468656e20746869732077696c6c20726573756c7420696e206974206265696e67510172656d6f7665642e2049662074686520607265665f696e6465786020737570706c69656420697320616e20616374697665207265666572656e64756d2077697468207468652070726f706f73616c20686173682c687468656e2069742077696c6c2062652063616e63656c6c65642e00ec546865206469737061746368206f726967696e206f6620746869732063616c6c206d7573742062652060426c61636b6c6973744f726967696e602e00f82d206070726f706f73616c5f68617368603a205468652070726f706f73616c206861736820746f20626c61636b6c697374207065726d616e656e746c792e45012d20607265665f696e646578603a20416e206f6e676f696e67207265666572656e64756d2077686f73652068617368206973206070726f706f73616c5f68617368602c2077686963682077696c6c2062652863616e63656c6c65642e0041015765696768743a20604f28702960202874686f756768206173207468697320697320616e20686967682d70726976696c6567652064697370617463682c20776520617373756d65206974206861732061502020726561736f6e61626c652076616c7565292e3c63616e63656c5f70726f706f73616c04012870726f705f696e646578ad02012450726f70496e64657800111c4852656d6f766520612070726f706f73616c2e000101546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c50726f706f73616c4f726967696e602e00d02d206070726f705f696e646578603a2054686520696e646578206f66207468652070726f706f73616c20746f2063616e63656c2e00e45765696768743a20604f28702960207768657265206070203d205075626c696350726f70733a3a3c543e3a3a6465636f64655f6c656e282960307365745f6d657461646174610801146f776e6572c401344d657461646174614f776e65720001286d617962655f686173688503013c4f7074696f6e3c543a3a486173683e00123cd8536574206f7220636c6561722061206d65746164617461206f6620612070726f706f73616c206f722061207265666572656e64756d2e002c506172616d65746572733acc2d20606f726967696e603a204d75737420636f72726573706f6e6420746f2074686520604d657461646174614f776e6572602e3d01202020202d206045787465726e616c4f726967696e6020666f7220616e2065787465726e616c2070726f706f73616c207769746820746865206053757065724d616a6f72697479417070726f766560402020202020207468726573686f6c642e5901202020202d206045787465726e616c44656661756c744f726967696e6020666f7220616e2065787465726e616c2070726f706f73616c207769746820746865206053757065724d616a6f72697479416761696e737460402020202020207468726573686f6c642e4501202020202d206045787465726e616c4d616a6f726974794f726967696e6020666f7220616e2065787465726e616c2070726f706f73616c207769746820746865206053696d706c654d616a6f7269747960402020202020207468726573686f6c642ec8202020202d20605369676e65646020627920612063726561746f7220666f722061207075626c69632070726f706f73616c2ef4202020202d20605369676e65646020746f20636c6561722061206d6574616461746120666f7220612066696e6973686564207265666572656e64756d2ee4202020202d2060526f6f746020746f207365742061206d6574616461746120666f7220616e206f6e676f696e67207265666572656e64756d2eb42d20606f776e6572603a20616e206964656e746966696572206f662061206d65746164617461206f776e65722e51012d20606d617962655f68617368603a205468652068617368206f6620616e206f6e2d636861696e2073746f72656420707265696d6167652e20604e6f6e656020746f20636c6561722061206d657461646174612e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e750310346672616d655f737570706f72741874726169747324707265696d616765731c426f756e6465640804540101030448017903010c184c656761637904011068617368340124483a3a4f757470757400000018496e6c696e6504007d030134426f756e646564496e6c696e65000100184c6f6f6b757008011068617368340124483a3a4f757470757400010c6c656e10010c7533320002000079030c2873705f72756e74696d65187472616974732c426c616b6554776f323536000000007d030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e000081030c4070616c6c65745f64656d6f637261637928636f6e76696374696f6e28436f6e76696374696f6e00011c104e6f6e65000000204c6f636b65643178000100204c6f636b65643278000200204c6f636b65643378000300204c6f636b65643478000400204c6f636b65643578000500204c6f636b6564367800060000850304184f7074696f6e04045401340108104e6f6e6500000010536f6d65040034000001000089030c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c0804540004490001182c7365745f6d656d626572730c012c6e65775f6d656d62657273490201445665633c543a3a4163636f756e7449643e0001147072696d658801504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e7410012c4d656d626572436f756e74000060805365742074686520636f6c6c6563746976652773206d656d626572736869702e0045012d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee02d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e59012d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652e205573656420666f7250202077656967687420657374696d6174696f6e2e00d4546865206469737061746368206f6620746869732063616c6c206d75737420626520605365744d656d626572734f726967696e602e0051014e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c2062757421012020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002823205741524e494e473a005901546865206070616c6c65742d636f6c6c656374697665602063616e20616c736f206265206d616e61676564206279206c6f676963206f757473696465206f66207468652070616c6c6574207468726f75676820746865b8696d706c656d656e746174696f6e206f6620746865207472616974205b604368616e67654d656d62657273605d2e5501416e792063616c6c20746f20607365745f6d656d6265727360206d757374206265206361726566756c207468617420746865206d656d6265722073657420646f65736e277420676574206f7574206f662073796e63a477697468206f74686572206c6f676963206d616e6167696e6720746865206d656d626572207365742e0038232320436f6d706c65786974793a502d20604f284d50202b204e29602077686572653ae020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299820202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e646564291c6578656375746508012070726f706f73616c0103017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64ad02010c753332000124f0446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00a84f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e0038232320436f6d706c65786974793a5c2d20604f2842202b204d202b205029602077686572653ad82d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429882d20604d60206d656d626572732d636f756e742028636f64652d626f756e64656429a82d2060506020636f6d706c6578697479206f66206469737061746368696e67206070726f706f73616c601c70726f706f73650c01247468726573686f6c64ad02012c4d656d626572436f756e7400012070726f706f73616c0103017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64ad02010c753332000238f84164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e00845265717569726573207468652073656e64657220746f206265206d656d6265722e004101607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c20326029546f722070757420757020666f7220766f74696e672e0034232320436f6d706c6578697479ac2d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c420202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af4202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029fc202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d2032602910766f74650c012070726f706f73616c34011c543a3a48617368000114696e646578ad02013450726f706f73616c496e64657800011c617070726f7665200110626f6f6c000324f041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e008c5265717569726573207468652073656e64657220746f2062652061206d656d6265722e0049015472616e73616374696f6e20666565732077696c6c2062652077616976656420696620746865206d656d62657220697320766f74696e67206f6e20616e7920706172746963756c61722070726f706f73616c5101666f72207468652066697273742074696d6520616e64207468652063616c6c206973207375636365737366756c2e2053756273657175656e7420766f7465206368616e6765732077696c6c206368617267652061106665652e34232320436f6d706c657869747909012d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564294c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f6861736834011c543a3a486173680005285901446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e741873746174652e00884d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e002c506172616d65746572733a1d012a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e0034232320436f6d706c6578697479ac4f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c7314636c6f736510013470726f706f73616c5f6861736834011c543a3a48617368000114696e646578ad02013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e642801185765696768740001306c656e6774685f626f756e64ad02010c7533320006604d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e0034232320436f6d706c6578697479742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e8d030c3870616c6c65745f76657374696e671870616c6c65741043616c6c0404540001181076657374000024b8556e6c6f636b20616e79207665737465642066756e6473206f66207468652073656e646572206163636f756e742e005d01546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652066756e6473207374696c6c646c6f636b656420756e64657220746869732070616c6c65742e00d0456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e0034232320436f6d706c6578697479242d20604f283129602e28766573745f6f74686572040118746172676574090301504163636f756e7449644c6f6f6b75704f663c543e00012cb8556e6c6f636b20616e79207665737465642066756e6473206f662061206074617267657460206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0051012d2060746172676574603a20546865206163636f756e742077686f7365207665737465642066756e64732073686f756c6420626520756e6c6f636b65642e204d75737420686176652066756e6473207374696c6c646c6f636b656420756e64657220746869732070616c6c65742e00d0456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e0034232320436f6d706c6578697479242d20604f283129602e3c7665737465645f7472616e73666572080118746172676574090301504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65910301b056657374696e67496e666f3c42616c616e63654f663c543e2c20426c6f636b4e756d626572466f723c543e3e00023464437265617465206120766573746564207472616e736665722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00cc2d2060746172676574603a20546865206163636f756e7420726563656976696e6720746865207665737465642066756e64732ef02d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e005c456d697473206056657374696e6743726561746564602e00fc4e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b2e0034232320436f6d706c6578697479242d20604f283129602e54666f7263655f7665737465645f7472616e736665720c0118736f75726365090301504163636f756e7449644c6f6f6b75704f663c543e000118746172676574090301504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65910301b056657374696e67496e666f3c42616c616e63654f663c543e2c20426c6f636b4e756d626572466f723c543e3e00033860466f726365206120766573746564207472616e736665722e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00e82d2060736f75726365603a20546865206163636f756e742077686f73652066756e64732073686f756c64206265207472616e736665727265642e11012d2060746172676574603a20546865206163636f756e7420746861742073686f756c64206265207472616e7366657272656420746865207665737465642066756e64732ef02d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e005c456d697473206056657374696e6743726561746564602e00fc4e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b2e0034232320436f6d706c6578697479242d20604f283129602e3c6d657267655f7363686564756c657308013c7363686564756c65315f696e64657810010c75333200013c7363686564756c65325f696e64657810010c7533320004545d014d657267652074776f2076657374696e67207363686564756c657320746f6765746865722c206372656174696e672061206e65772076657374696e67207363686564756c65207468617420756e6c6f636b73206f7665725501746865206869676865737420706f737369626c6520737461727420616e6420656e6420626c6f636b732e20496620626f7468207363686564756c6573206861766520616c7265616479207374617274656420746865590163757272656e7420626c6f636b2077696c6c206265207573656420617320746865207363686564756c652073746172743b207769746820746865206361766561742074686174206966206f6e65207363686564756c655d0169732066696e6973686564206279207468652063757272656e7420626c6f636b2c20746865206f746865722077696c6c206265207472656174656420617320746865206e6577206d6572676564207363686564756c652c2c756e6d6f6469666965642e00f84e4f54453a20496620607363686564756c65315f696e646578203d3d207363686564756c65325f696e6465786020746869732069732061206e6f2d6f702e41014e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b207072696f7220746f206d657267696e672e61014e4f54453a20496620626f7468207363686564756c6573206861766520656e646564206279207468652063757272656e7420626c6f636b2c206e6f206e6577207363686564756c652077696c6c206265206372656174656464616e6420626f74682077696c6c2062652072656d6f7665642e006c4d6572676564207363686564756c6520617474726962757465733a35012d20607374617274696e675f626c6f636b603a20604d4158287363686564756c65312e7374617274696e675f626c6f636b2c207363686564756c6564322e7374617274696e675f626c6f636b2c48202063757272656e745f626c6f636b29602e21012d2060656e64696e675f626c6f636b603a20604d4158287363686564756c65312e656e64696e675f626c6f636b2c207363686564756c65322e656e64696e675f626c6f636b29602e59012d20606c6f636b6564603a20607363686564756c65312e6c6f636b65645f61742863757272656e745f626c6f636b29202b207363686564756c65322e6c6f636b65645f61742863757272656e745f626c6f636b29602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00e82d20607363686564756c65315f696e646578603a20696e646578206f6620746865206669727374207363686564756c6520746f206d657267652eec2d20607363686564756c65325f696e646578603a20696e646578206f6620746865207365636f6e64207363686564756c6520746f206d657267652e74666f7263655f72656d6f76655f76657374696e675f7363686564756c650801187461726765740903018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263650001387363686564756c655f696e64657810010c7533320005187c466f7263652072656d6f766520612076657374696e67207363686564756c6500c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00c82d2060746172676574603a20416e206163636f756e7420746861742068617320612076657374696e67207363686564756c6515012d20607363686564756c655f696e646578603a205468652076657374696e67207363686564756c6520696e64657820746861742073686f756c642062652072656d6f766564040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e91030c3870616c6c65745f76657374696e673076657374696e675f696e666f2c56657374696e67496e666f081c42616c616e636501182c426c6f636b4e756d6265720130000c01186c6f636b656418011c42616c616e63650001247065725f626c6f636b18011c42616c616e63650001387374617274696e675f626c6f636b30012c426c6f636b4e756d626572000095030c6470616c6c65745f656c656374696f6e735f70687261676d656e1870616c6c65741043616c6c04045400011810766f7465080114766f746573490201445665633c543a3a4163636f756e7449643e00011476616c75657101013042616c616e63654f663c543e00004c5901566f746520666f72206120736574206f662063616e6469646174657320666f7220746865207570636f6d696e6720726f756e64206f6620656c656374696f6e2e20546869732063616e2062652063616c6c656420746fe07365742074686520696e697469616c20766f7465732c206f722075706461746520616c7265616479206578697374696e6720766f7465732e005d0155706f6e20696e697469616c20766f74696e672c206076616c75656020756e697473206f66206077686f6027732062616c616e6365206973206c6f636b656420616e642061206465706f73697420616d6f756e742069734d0172657365727665642e20546865206465706f736974206973206261736564206f6e20746865206e756d626572206f6620766f74657320616e642063616e2062652075706461746564206f7665722074696d652e004c5468652060766f746573602073686f756c643a4420202d206e6f7420626520656d7074792e550120202d206265206c657373207468616e20746865206e756d626572206f6620706f737369626c652063616e646964617465732e204e6f7465207468617420616c6c2063757272656e74206d656d6265727320616e6411012020202072756e6e6572732d75702061726520616c736f206175746f6d61746963616c6c792063616e6469646174657320666f7220746865206e65787420726f756e642e0049014966206076616c756560206973206d6f7265207468616e206077686f60277320667265652062616c616e63652c207468656e20746865206d6178696d756d206f66207468652074776f20697320757365642e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e65642e002c232323205761726e696e6700550149742069732074686520726573706f6e736962696c697479206f66207468652063616c6c657220746f202a2a4e4f542a2a20706c61636520616c6c206f662074686569722062616c616e636520696e746f20746865a86c6f636b20616e64206b65657020736f6d6520666f722066757274686572206f7065726174696f6e732e3072656d6f76655f766f7465720001146c52656d6f766520606f726967696e60206173206120766f7465722e00b8546869732072656d6f76657320746865206c6f636b20616e642072657475726e7320746865206465706f7369742e00fc546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e656420616e64206265206120766f7465722e407375626d69745f63616e64696461637904013c63616e6469646174655f636f756e74ad02010c75333200023c11015375626d6974206f6e6573656c6620666f722063616e6469646163792e204120666978656420616d6f756e74206f66206465706f736974206973207265636f726465642e005d01416c6c2063616e64696461746573206172652077697065642061742074686520656e64206f6620746865207465726d2e205468657920656974686572206265636f6d652061206d656d6265722f72756e6e65722d75702ccc6f72206c65617665207468652073797374656d207768696c65207468656972206465706f73697420697320736c61736865642e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e65642e002c232323205761726e696e67005d014576656e20696620612063616e64696461746520656e6473207570206265696e672061206d656d6265722c2074686579206d7573742063616c6c205b6043616c6c3a3a72656e6f756e63655f63616e646964616379605d5901746f20676574207468656972206465706f736974206261636b2e204c6f73696e67207468652073706f7420696e20616e20656c656374696f6e2077696c6c20616c77617973206c65616420746f206120736c6173682e000901546865206e756d626572206f662063757272656e742063616e64696461746573206d7573742062652070726f7669646564206173207769746e65737320646174612e34232320436f6d706c6578697479a44f2843202b206c6f672843292920776865726520432069732063616e6469646174655f636f756e742e4872656e6f756e63655f63616e64696461637904012872656e6f756e63696e679903012852656e6f756e63696e670003504d0152656e6f756e6365206f6e65277320696e74656e74696f6e20746f20626520612063616e64696461746520666f7220746865206e65787420656c656374696f6e20726f756e642e203320706f74656e7469616c3c6f7574636f6d65732065786973743a0049012d20606f726967696e6020697320612063616e64696461746520616e64206e6f7420656c656374656420696e20616e79207365742e20496e207468697320636173652c20746865206465706f736974206973f02020756e72657365727665642c2072657475726e656420616e64206f726967696e2069732072656d6f76656420617320612063616e6469646174652e61012d20606f726967696e6020697320612063757272656e742072756e6e65722d75702e20496e207468697320636173652c20746865206465706f73697420697320756e72657365727665642c2072657475726e656420616e648c20206f726967696e2069732072656d6f76656420617320612072756e6e65722d75702e55012d20606f726967696e6020697320612063757272656e74206d656d6265722e20496e207468697320636173652c20746865206465706f73697420697320756e726573657276656420616e64206f726967696e2069735501202072656d6f7665642061732061206d656d6265722c20636f6e73657175656e746c79206e6f74206265696e6720612063616e64696461746520666f7220746865206e65787420726f756e6420616e796d6f72652e6101202053696d696c617220746f205b6072656d6f76655f6d656d626572605d2853656c663a3a72656d6f76655f6d656d626572292c206966207265706c6163656d656e742072756e6e657273206578697374732c20746865795901202061726520696d6d6564696174656c7920757365642e20496620746865207072696d652069732072656e6f756e63696e672c207468656e206e6f207072696d652077696c6c20657869737420756e74696c207468653420206e65787420726f756e642e004501546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e65642c20616e642068617665206f6e65206f66207468652061626f766520726f6c65732ee05468652074797065206f662072656e6f756e63696e67206d7573742062652070726f7669646564206173207769746e65737320646174612e0034232320436f6d706c6578697479dc20202d2052656e6f756e63696e673a3a43616e64696461746528636f756e74293a204f28636f756e74202b206c6f6728636f756e7429297020202d2052656e6f756e63696e673a3a4d656d6265723a204f2831297820202d2052656e6f756e63696e673a3a52756e6e657255703a204f2831293472656d6f76655f6d656d6265720c010c77686f090301504163636f756e7449644c6f6f6b75704f663c543e000128736c6173685f626f6e64200110626f6f6c000138726572756e5f656c656374696f6e200110626f6f6c000440590152656d6f7665206120706172746963756c6172206d656d6265722066726f6d20746865207365742e20546869732069732065666665637469766520696d6d6564696174656c7920616e642074686520626f6e64206f667c746865206f7574676f696e67206d656d62657220697320736c61736865642e005501496620612072756e6e65722d757020697320617661696c61626c652c207468656e2074686520626573742072756e6e65722d75702077696c6c2062652072656d6f76656420616e64207265706c616365732074686555016f7574676f696e67206d656d6265722e204f74686572776973652c2069662060726572756e5f656c656374696f6e60206973206074727565602c2061206e65772070687261676d656e20656c656374696f6e2069737c737461727465642c20656c73652c206e6f7468696e672068617070656e732e00590149662060736c6173685f626f6e64602069732073657420746f20747275652c2074686520626f6e64206f6620746865206d656d626572206265696e672072656d6f76656420697320736c61736865642e20456c73652c3c69742069732072657475726e65642e00b8546865206469737061746368206f726967696e206f6620746869732063616c6c206d75737420626520726f6f742e0041014e6f74652074686174207468697320646f6573206e6f7420616666656374207468652064657369676e6174656420626c6f636b206e756d626572206f6620746865206e65787420656c656374696f6e2e0034232320436f6d706c657869747905012d20436865636b2064657461696c73206f662072656d6f76655f616e645f7265706c6163655f6d656d626572282920616e6420646f5f70687261676d656e28292e50636c65616e5f646566756e63745f766f746572730801286e756d5f766f7465727310010c75333200012c6e756d5f646566756e637410010c7533320005244501436c65616e20616c6c20766f746572732077686f2061726520646566756e63742028692e652e207468657920646f206e6f7420736572766520616e7920707572706f736520617420616c6c292e20546865ac6465706f736974206f66207468652072656d6f76656420766f74657273206172652072657475726e65642e0001015468697320697320616e20726f6f742066756e6374696f6e20746f2062652075736564206f6e6c7920666f7220636c65616e696e67207468652073746174652e00b8546865206469737061746368206f726967696e206f6620746869732063616c6c206d75737420626520726f6f742e0034232320436f6d706c65786974798c2d20436865636b2069735f646566756e63745f766f74657228292064657461696c732e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e9903086470616c6c65745f656c656374696f6e735f70687261676d656e2852656e6f756e63696e6700010c184d656d6265720000002052756e6e657255700001002443616e6469646174650400ad02010c753332000200009d030c9070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f70686173651870616c6c65741043616c6c0404540001143c7375626d69745f756e7369676e65640801307261775f736f6c7574696f6ea10301b0426f783c526177536f6c7574696f6e3c536f6c7574696f6e4f663c543a3a4d696e6572436f6e6669673e3e3e00011c7769746e65737371040158536f6c7574696f6e4f72536e617073686f7453697a65000038a45375626d6974206120736f6c7574696f6e20666f722074686520756e7369676e65642070686173652e00c8546865206469737061746368206f726967696e20666f20746869732063616c6c206d757374206265205f5f6e6f6e655f5f2e003d0154686973207375626d697373696f6e20697320636865636b6564206f6e2074686520666c792e204d6f72656f7665722c207468697320756e7369676e656420736f6c7574696f6e206973206f6e6c79550176616c696461746564207768656e207375626d697474656420746f2074686520706f6f6c2066726f6d20746865202a2a6c6f63616c2a2a206e6f64652e204566666563746976656c792c2074686973206d65616e735d0174686174206f6e6c79206163746976652076616c696461746f72732063616e207375626d69742074686973207472616e73616374696f6e207768656e20617574686f72696e67206120626c6f636b202873696d696c617240746f20616e20696e686572656e74292e005901546f2070726576656e7420616e7920696e636f727265637420736f6c7574696f6e2028616e642074687573207761737465642074696d652f776569676874292c2074686973207472616e73616374696f6e2077696c6c4d0170616e69632069662074686520736f6c7574696f6e207375626d6974746564206279207468652076616c696461746f7220697320696e76616c696420696e20616e79207761792c206566666563746976656c799c70757474696e6720746865697220617574686f72696e6720726577617264206174207269736b2e00e04e6f206465706f736974206f7220726577617264206973206173736f63696174656420776974682074686973207375626d697373696f6e2e6c7365745f6d696e696d756d5f756e747275737465645f73636f72650401406d617962655f6e6578745f73636f7265750401544f7074696f6e3c456c656374696f6e53636f72653e000114b05365742061206e65772076616c756520666f7220604d696e696d756d556e7472757374656453636f7265602e00d84469737061746368206f726967696e206d75737420626520616c69676e656420776974682060543a3a466f7263654f726967696e602e00f05468697320636865636b2063616e206265207475726e6564206f66662062792073657474696e67207468652076616c756520746f20604e6f6e65602e747365745f656d657267656e63795f656c656374696f6e5f726573756c74040120737570706f72747379040158537570706f7274733c543a3a4163636f756e7449643e0002205901536574206120736f6c7574696f6e20696e207468652071756575652c20746f2062652068616e646564206f757420746f2074686520636c69656e74206f6620746869732070616c6c657420696e20746865206e6578748863616c6c20746f2060456c656374696f6e50726f76696465723a3a656c656374602e004501546869732063616e206f6e6c79206265207365742062792060543a3a466f7263654f726967696e602c20616e64206f6e6c79207768656e207468652070686173652069732060456d657267656e6379602e00610154686520736f6c7574696f6e206973206e6f7420636865636b656420666f7220616e7920666561736962696c69747920616e6420697320617373756d656420746f206265207472757374776f727468792c20617320616e795101666561736962696c69747920636865636b20697473656c662063616e20696e207072696e6369706c652063617573652074686520656c656374696f6e2070726f6365737320746f206661696c202864756520746f686d656d6f72792f77656967687420636f6e73747261696e73292e187375626d69740401307261775f736f6c7574696f6ea10301b0426f783c526177536f6c7574696f6e3c536f6c7574696f6e4f663c543a3a4d696e6572436f6e6669673e3e3e0003249c5375626d6974206120736f6c7574696f6e20666f7220746865207369676e65642070686173652e00d0546865206469737061746368206f726967696e20666f20746869732063616c6c206d757374206265205f5f7369676e65645f5f2e005d0154686520736f6c7574696f6e20697320706f74656e7469616c6c79207175657565642c206261736564206f6e2074686520636c61696d65642073636f726520616e642070726f6365737365642061742074686520656e64506f6620746865207369676e65642070686173652e005d0141206465706f73697420697320726573657276656420616e64207265636f7264656420666f722074686520736f6c7574696f6e2e204261736564206f6e20746865206f7574636f6d652c2074686520736f6c7574696f6e15016d696768742062652072657761726465642c20736c61736865642c206f722067657420616c6c206f7220612070617274206f6620746865206465706f736974206261636b2e4c676f7665726e616e63655f66616c6c6261636b0801406d617962655f6d61785f766f746572739502012c4f7074696f6e3c7533323e0001446d617962655f6d61785f746172676574739502012c4f7074696f6e3c7533323e00041080547269676765722074686520676f7665726e616e63652066616c6c6261636b2e004901546869732063616e206f6e6c792062652063616c6c6564207768656e205b6050686173653a3a456d657267656e6379605d20697320656e61626c65642c20617320616e20616c7465726e617469766520746fc063616c6c696e67205b6043616c6c3a3a7365745f656d657267656e63795f656c656374696f6e5f726573756c74605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ea103089070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f70686173652c526177536f6c7574696f6e04045301a503000c0120736f6c7574696f6ea50301045300011473636f7265e40134456c656374696f6e53636f7265000114726f756e6410010c7533320000a503085874616e676c655f746573746e65745f72756e74696d65384e706f73536f6c7574696f6e31360000400118766f74657331a90300000118766f74657332b50300000118766f74657333c90300000118766f74657334d50300000118766f74657335e10300000118766f74657336ed0300000118766f74657337f90300000118766f74657338050400000118766f7465733911040000011c766f74657331301d040000011c766f746573313129040000011c766f746573313235040000011c766f746573313341040000011c766f74657331344d040000011c766f746573313559040000011c766f74657331366504000000a903000002ad0300ad0300000408ad02b10300b103000006ed0100b503000002b90300b9030000040cad02bd03b10300bd0300000408b103c10300c103000006c50300c5030c3473705f61726974686d65746963287065725f7468696e67731850657255313600000400ed01010c7531360000c903000002cd0300cd030000040cad02d103b10300d10300000302000000bd0300d503000002d90300d9030000040cad02dd03b10300dd0300000303000000bd0300e103000002e50300e5030000040cad02e903b10300e90300000304000000bd0300ed03000002f10300f1030000040cad02f503b10300f50300000305000000bd0300f903000002fd0300fd030000040cad020104b10300010400000306000000bd0300050400000209040009040000040cad020d04b103000d0400000307000000bd0300110400000215040015040000040cad021904b10300190400000308000000bd03001d0400000221040021040000040cad022504b10300250400000309000000bd030029040000022d04002d040000040cad023104b1030031040000030a000000bd0300350400000239040039040000040cad023d04b103003d040000030b000000bd0300410400000245040045040000040cad024904b1030049040000030c000000bd03004d0400000251040051040000040cad025504b1030055040000030d000000bd030059040000025d04005d040000040cad026104b1030061040000030e000000bd0300650400000269040069040000040cad026d04b103006d040000030f000000bd03007104089070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f706861736558536f6c7574696f6e4f72536e617073686f7453697a650000080118766f74657273ad02010c75333200011c74617267657473ad02010c7533320000750404184f7074696f6e04045401e40108104e6f6e6500000010536f6d650400e4000001000079040000027d04007d0400000408008104008104084473705f6e706f735f656c656374696f6e731c537570706f727404244163636f756e744964010000080114746f74616c18013c457874656e64656442616c616e6365000118766f74657273d401845665633c284163636f756e7449642c20457874656e64656442616c616e6365293e00008504103870616c6c65745f7374616b696e671870616c6c65741870616c6c65741043616c6c04045400017810626f6e6408011476616c75657101013042616c616e63654f663c543e0001147061796565f4017c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e000040610154616b6520746865206f726967696e206163636f756e74206173206120737461736820616e64206c6f636b207570206076616c756560206f66206974732062616c616e63652e2060636f6e74726f6c6c6572602077696c6c80626520746865206163636f756e74207468617420636f6e74726f6c732069742e002d016076616c756560206d757374206265206d6f7265207468616e2074686520606d696e696d756d5f62616c616e636560207370656369666965642062792060543a3a43757272656e6379602e002101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20627920746865207374617368206163636f756e742e003c456d6974732060426f6e646564602e34232320436f6d706c6578697479d02d20496e646570656e64656e74206f662074686520617267756d656e74732e204d6f64657261746520636f6d706c65786974792e1c2d204f2831292e642d20546872656520657874726120444220656e74726965732e004d014e4f54453a2054776f206f66207468652073746f726167652077726974657320286053656c663a3a626f6e646564602c206053656c663a3a7061796565602920617265205f6e657665725f20636c65616e65645901756e6c6573732074686520606f726967696e602066616c6c732062656c6f77205f6578697374656e7469616c206465706f7369745f20286f7220657175616c20746f20302920616e6420676574732072656d6f76656420617320647573742e28626f6e645f65787472610401386d61785f6164646974696f6e616c7101013042616c616e63654f663c543e000138610141646420736f6d6520657874726120616d6f756e742074686174206861766520617070656172656420696e207468652073746173682060667265655f62616c616e63656020696e746f207468652062616c616e636520757030666f72207374616b696e672e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f206279207468652073746173682c206e6f742074686520636f6e74726f6c6c65722e004d01557365207468697320696620746865726520617265206164646974696f6e616c2066756e647320696e20796f7572207374617368206163636f756e74207468617420796f75207769736820746f20626f6e642e5501556e6c696b65205b60626f6e64605d2853656c663a3a626f6e6429206f72205b60756e626f6e64605d2853656c663a3a756e626f6e642920746869732066756e6374696f6e20646f6573206e6f7420696d706f7365bc616e79206c696d69746174696f6e206f6e2074686520616d6f756e7420746861742063616e2062652061646465642e003c456d6974732060426f6e646564602e0034232320436f6d706c6578697479e42d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e1c2d204f2831292e18756e626f6e6404011476616c75657101013042616c616e63654f663c543e00024c51015363686564756c65206120706f7274696f6e206f662074686520737461736820746f20626520756e6c6f636b656420726561647920666f72207472616e73666572206f75742061667465722074686520626f6e64fc706572696f6420656e64732e2049662074686973206c656176657320616e20616d6f756e74206163746976656c7920626f6e646564206c657373207468616e2101543a3a43757272656e63793a3a6d696e696d756d5f62616c616e636528292c207468656e20697420697320696e6372656173656420746f207468652066756c6c20616d6f756e742e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0045014f6e63652074686520756e6c6f636b20706572696f6420697320646f6e652c20796f752063616e2063616c6c206077697468647261775f756e626f6e6465646020746f2061637475616c6c79206d6f7665bc7468652066756e6473206f7574206f66206d616e6167656d656e7420726561647920666f72207472616e736665722e0031014e6f206d6f7265207468616e2061206c696d69746564206e756d626572206f6620756e6c6f636b696e67206368756e6b73202873656520604d6178556e6c6f636b696e674368756e6b736029410163616e20636f2d657869737473206174207468652073616d652074696d652e20496620746865726520617265206e6f20756e6c6f636b696e67206368756e6b7320736c6f747320617661696c61626c6545015b6043616c6c3a3a77697468647261775f756e626f6e646564605d2069732063616c6c656420746f2072656d6f766520736f6d65206f6620746865206368756e6b732028696620706f737369626c65292e00390149662061207573657220656e636f756e74657273207468652060496e73756666696369656e74426f6e6460206572726f72207768656e2063616c6c696e6720746869732065787472696e7369632c1901746865792073686f756c642063616c6c20606368696c6c6020666972737420696e206f7264657220746f206672656520757020746865697220626f6e6465642066756e64732e0044456d6974732060556e626f6e646564602e009453656520616c736f205b6043616c6c3a3a77697468647261775f756e626f6e646564605d2e4477697468647261775f756e626f6e6465640401486e756d5f736c617368696e675f7370616e7310010c75333200035c290152656d6f766520616e7920756e6c6f636b6564206368756e6b732066726f6d207468652060756e6c6f636b696e67602071756575652066726f6d206f7572206d616e6167656d656e742e0055015468697320657373656e7469616c6c7920667265657320757020746861742062616c616e636520746f206265207573656420627920746865207374617368206163636f756e7420746f20646f2077686174657665722469742077616e74732e001501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722e0048456d697473206057697468647261776e602e006853656520616c736f205b6043616c6c3a3a756e626f6e64605d2e0034232320506172616d65746572730051012d20606e756d5f736c617368696e675f7370616e736020696e6469636174657320746865206e756d626572206f66206d6574616461746120736c617368696e67207370616e7320746f20636c656172207768656e5501746869732063616c6c20726573756c747320696e206120636f6d706c6574652072656d6f76616c206f6620616c6c2074686520646174612072656c6174656420746f20746865207374617368206163636f756e742e3d01496e207468697320636173652c2074686520606e756d5f736c617368696e675f7370616e7360206d757374206265206c6172676572206f7220657175616c20746f20746865206e756d626572206f665d01736c617368696e67207370616e73206173736f636961746564207769746820746865207374617368206163636f756e7420696e20746865205b60536c617368696e675370616e73605d2073746f7261676520747970652c25016f7468657277697365207468652063616c6c2077696c6c206661696c2e205468652063616c6c20776569676874206973206469726563746c792070726f706f7274696f6e616c20746f54606e756d5f736c617368696e675f7370616e73602e0034232320436f6d706c6578697479d84f285329207768657265205320697320746865206e756d626572206f6620736c617368696e67207370616e7320746f2072656d6f766509014e4f54453a2057656967687420616e6e6f746174696f6e20697320746865206b696c6c207363656e6172696f2c20776520726566756e64206f74686572776973652e2076616c69646174650401147072656673fc013856616c696461746f725072656673000414e44465636c617265207468652064657369726520746f2076616c696461746520666f7220746865206f726967696e20636f6e74726f6c6c65722e00d8456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e206e6f6d696e61746504011c74617267657473890401645665633c4163636f756e7449644c6f6f6b75704f663c543e3e0005280d014465636c617265207468652064657369726520746f206e6f6d696e6174652060746172676574736020666f7220746865206f726967696e20636f6e74726f6c6c65722e00d8456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0034232320436f6d706c65786974792d012d20546865207472616e73616374696f6e277320636f6d706c65786974792069732070726f706f7274696f6e616c20746f207468652073697a65206f662060746172676574736020284e29050177686963682069732063617070656420617420436f6d7061637441737369676e6d656e74733a3a4c494d49542028543a3a4d61784e6f6d696e6174696f6e73292ed42d20426f74682074686520726561647320616e642077726974657320666f6c6c6f7720612073696d696c6172207061747465726e2e146368696c6c000628c44465636c617265206e6f2064657369726520746f206569746865722076616c6964617465206f72206e6f6d696e6174652e00d8456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0034232320436f6d706c6578697479e42d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e502d20436f6e7461696e73206f6e6520726561642ec42d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e247365745f70617965650401147061796565f4017c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e000730b42852652d2973657420746865207061796d656e742074617267657420666f72206120636f6e74726f6c6c65722e005101456666656374732077696c6c2062652066656c7420696e7374616e746c792028617320736f6f6e20617320746869732066756e6374696f6e20697320636f6d706c65746564207375636365737366756c6c79292e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0034232320436f6d706c6578697479182d204f283129e42d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e942d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec42d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e242d2d2d2d2d2d2d2d2d387365745f636f6e74726f6c6c657200083845012852652d29736574732074686520636f6e74726f6c6c6572206f66206120737461736820746f2074686520737461736820697473656c662e20546869732066756e6374696f6e2070726576696f75736c794d01616363657074656420612060636f6e74726f6c6c65726020617267756d656e7420746f207365742074686520636f6e74726f6c6c657220746f20616e206163636f756e74206f74686572207468616e207468655901737461736820697473656c662e20546869732066756e6374696f6e616c69747920686173206e6f77206265656e2072656d6f7665642c206e6f77206f6e6c792073657474696e672074686520636f6e74726f6c6c65728c746f207468652073746173682c206966206974206973206e6f7420616c72656164792e005101456666656374732077696c6c2062652066656c7420696e7374616e746c792028617320736f6f6e20617320746869732066756e6374696f6e20697320636f6d706c65746564207375636365737366756c6c79292e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f206279207468652073746173682c206e6f742074686520636f6e74726f6c6c65722e0034232320436f6d706c6578697479104f283129e42d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e942d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec42d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e4c7365745f76616c696461746f725f636f756e7404010c6e6577ad02010c75333200091890536574732074686520696465616c206e756d626572206f662076616c696461746f72732e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0034232320436f6d706c6578697479104f28312960696e6372656173655f76616c696461746f725f636f756e740401286164646974696f6e616cad02010c753332000a1ce8496e6372656d656e74732074686520696465616c206e756d626572206f662076616c696461746f727320757020746f206d6178696d756d206f668c60456c656374696f6e50726f7669646572426173653a3a4d617857696e6e657273602e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0034232320436f6d706c65786974799853616d65206173205b6053656c663a3a7365745f76616c696461746f725f636f756e74605d2e547363616c655f76616c696461746f725f636f756e74040118666163746f725502011c50657263656e74000b1c11015363616c652075702074686520696465616c206e756d626572206f662076616c696461746f7273206279206120666163746f7220757020746f206d6178696d756d206f668c60456c656374696f6e50726f7669646572426173653a3a4d617857696e6e657273602e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0034232320436f6d706c65786974799853616d65206173205b6053656c663a3a7365745f76616c696461746f725f636f756e74605d2e34666f7263655f6e6f5f65726173000c34ac466f72636520746865726520746f206265206e6f206e6577206572617320696e646566696e6974656c792e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e002423205761726e696e6700190154686520656c656374696f6e2070726f6365737320737461727473206d756c7469706c6520626c6f636b73206265666f72652074686520656e64206f6620746865206572612e3901546875732074686520656c656374696f6e2070726f63657373206d6179206265206f6e676f696e67207768656e20746869732069732063616c6c65642e20496e2074686973206361736520746865dc656c656374696f6e2077696c6c20636f6e74696e756520756e74696c20746865206e65787420657261206973207472696767657265642e0034232320436f6d706c65786974793c2d204e6f20617267756d656e74732e382d205765696768743a204f28312934666f7263655f6e65775f657261000d384901466f72636520746865726520746f2062652061206e6577206572612061742074686520656e64206f6620746865206e6578742073657373696f6e2e20416674657220746869732c2069742077696c6c2062659c726573657420746f206e6f726d616c20286e6f6e2d666f7263656429206265686176696f75722e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e002423205761726e696e6700190154686520656c656374696f6e2070726f6365737320737461727473206d756c7469706c6520626c6f636b73206265666f72652074686520656e64206f6620746865206572612e4901496620746869732069732063616c6c6564206a757374206265666f72652061206e657720657261206973207472696767657265642c2074686520656c656374696f6e2070726f63657373206d6179206e6f748c6861766520656e6f75676820626c6f636b7320746f20676574206120726573756c742e0034232320436f6d706c65786974793c2d204e6f20617267756d656e74732e382d205765696768743a204f283129447365745f696e76756c6e657261626c6573040134696e76756c6e657261626c6573490201445665633c543a3a4163636f756e7449643e000e0cc8536574207468652076616c696461746f72732077686f2063616e6e6f7420626520736c61736865642028696620616e79292e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e34666f7263655f756e7374616b650801147374617368000130543a3a4163636f756e7449640001486e756d5f736c617368696e675f7370616e7310010c753332000f200901466f72636520612063757272656e74207374616b657220746f206265636f6d6520636f6d706c6574656c7920756e7374616b65642c20696d6d6564696174656c792e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0034232320506172616d65746572730045012d20606e756d5f736c617368696e675f7370616e73603a20526566657220746f20636f6d6d656e7473206f6e205b6043616c6c3a3a77697468647261775f756e626f6e646564605d20666f72206d6f72652064657461696c732e50666f7263655f6e65775f6572615f616c776179730010240101466f72636520746865726520746f2062652061206e6577206572612061742074686520656e64206f662073657373696f6e7320696e646566696e6974656c792e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e002423205761726e696e6700190154686520656c656374696f6e2070726f6365737320737461727473206d756c7469706c6520626c6f636b73206265666f72652074686520656e64206f6620746865206572612e4901496620746869732069732063616c6c6564206a757374206265666f72652061206e657720657261206973207472696767657265642c2074686520656c656374696f6e2070726f63657373206d6179206e6f748c6861766520656e6f75676820626c6f636b7320746f20676574206120726573756c742e5463616e63656c5f64656665727265645f736c61736808010c657261100120457261496e646578000134736c6173685f696e64696365738d0401205665633c7533323e0011149443616e63656c20656e6163746d656e74206f66206120646566657272656420736c6173682e009843616e2062652063616c6c6564206279207468652060543a3a41646d696e4f726967696e602e000101506172616d65746572733a2065726120616e6420696e6469636573206f662074686520736c617368657320666f7220746861742065726120746f206b696c6c2e387061796f75745f7374616b65727308013c76616c696461746f725f7374617368000130543a3a4163636f756e74496400010c657261100120457261496e6465780012341901506179206f7574206e6578742070616765206f6620746865207374616b65727320626568696e6420612076616c696461746f7220666f722074686520676976656e206572612e00e82d206076616c696461746f725f73746173686020697320746865207374617368206163636f756e74206f66207468652076616c696461746f722e31012d206065726160206d617920626520616e7920657261206265747765656e20605b63757272656e745f657261202d20686973746f72795f64657074683b2063757272656e745f6572615d602e005501546865206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e20416e79206163636f756e742063616e2063616c6c20746869732066756e6374696f6e2c206576656e206966746974206973206e6f74206f6e65206f6620746865207374616b6572732e00490154686520726577617264207061796f757420636f756c6420626520706167656420696e20636173652074686572652061726520746f6f206d616e79206e6f6d696e61746f7273206261636b696e67207468655d016076616c696461746f725f7374617368602e20546869732063616c6c2077696c6c207061796f757420756e7061696420706167657320696e20616e20617363656e64696e67206f726465722e20546f20636c61696d2061b4737065636966696320706167652c2075736520607061796f75745f7374616b6572735f62795f70616765602e6000f0496620616c6c2070616765732061726520636c61696d65642c2069742072657475726e7320616e206572726f722060496e76616c696450616765602e187265626f6e6404011476616c75657101013042616c616e63654f663c543e00131cdc5265626f6e64206120706f7274696f6e206f6620746865207374617368207363686564756c656420746f20626520756e6c6f636b65642e00d4546865206469737061746368206f726967696e206d757374206265207369676e65642062792074686520636f6e74726f6c6c65722e0034232320436f6d706c6578697479d02d2054696d6520636f6d706c65786974793a204f284c292c207768657265204c20697320756e6c6f636b696e67206368756e6b73882d20426f756e64656420627920604d6178556e6c6f636b696e674368756e6b73602e28726561705f73746173680801147374617368000130543a3a4163636f756e7449640001486e756d5f736c617368696e675f7370616e7310010c7533320014485d0152656d6f766520616c6c2064617461207374727563747572657320636f6e6365726e696e672061207374616b65722f7374617368206f6e636520697420697320617420612073746174652077686572652069742063616e0501626520636f6e736964657265642060647573746020696e20746865207374616b696e672073797374656d2e2054686520726571756972656d656e7473206172653a000501312e207468652060746f74616c5f62616c616e636560206f66207468652073746173682069732062656c6f77206578697374656e7469616c206465706f7369742e1101322e206f722c2074686520606c65646765722e746f74616c60206f66207468652073746173682069732062656c6f77206578697374656e7469616c206465706f7369742e6101332e206f722c206578697374656e7469616c206465706f736974206973207a65726f20616e64206569746865722060746f74616c5f62616c616e636560206f7220606c65646765722e746f74616c60206973207a65726f2e00550154686520666f726d65722063616e2068617070656e20696e206361736573206c696b65206120736c6173683b20746865206c6174746572207768656e20612066756c6c7920756e626f6e646564206163636f756e7409016973207374696c6c20726563656976696e67207374616b696e67207265776172647320696e206052657761726444657374696e6174696f6e3a3a5374616b6564602e00310149742063616e2062652063616c6c656420627920616e796f6e652c206173206c6f6e672061732060737461736860206d65657473207468652061626f766520726571756972656d656e74732e00dc526566756e647320746865207472616e73616374696f6e20666565732075706f6e207375636365737366756c20657865637574696f6e2e0034232320506172616d65746572730045012d20606e756d5f736c617368696e675f7370616e73603a20526566657220746f20636f6d6d656e7473206f6e205b6043616c6c3a3a77697468647261775f756e626f6e646564605d20666f72206d6f72652064657461696c732e106b69636b04010c77686f890401645665633c4163636f756e7449644c6f6f6b75704f663c543e3e00152ce052656d6f76652074686520676976656e206e6f6d696e6174696f6e732066726f6d207468652063616c6c696e672076616c696461746f722e00d8456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e004d012d206077686f603a2041206c697374206f66206e6f6d696e61746f72207374617368206163636f756e74732077686f20617265206e6f6d696e6174696e6720746869732076616c696461746f72207768696368c0202073686f756c64206e6f206c6f6e676572206265206e6f6d696e6174696e6720746869732076616c696461746f722e0055014e6f74653a204d616b696e6720746869732063616c6c206f6e6c79206d616b65732073656e736520696620796f7520666972737420736574207468652076616c696461746f7220707265666572656e63657320746f78626c6f636b20616e792066757274686572206e6f6d696e6174696f6e732e4c7365745f7374616b696e675f636f6e666967731c01486d696e5f6e6f6d696e61746f725f626f6e6491040158436f6e6669674f703c42616c616e63654f663c543e3e0001486d696e5f76616c696461746f725f626f6e6491040158436f6e6669674f703c42616c616e63654f663c543e3e00014c6d61785f6e6f6d696e61746f725f636f756e7495040134436f6e6669674f703c7533323e00014c6d61785f76616c696461746f725f636f756e7495040134436f6e6669674f703c7533323e00013c6368696c6c5f7468726573686f6c6499040144436f6e6669674f703c50657263656e743e0001386d696e5f636f6d6d697373696f6e9d040144436f6e6669674f703c50657262696c6c3e0001486d61785f7374616b65645f7265776172647399040144436f6e6669674f703c50657263656e743e001644ac5570646174652074686520766172696f7573207374616b696e6720636f6e66696775726174696f6e73202e0025012a20606d696e5f6e6f6d696e61746f725f626f6e64603a20546865206d696e696d756d2061637469766520626f6e64206e656564656420746f2062652061206e6f6d696e61746f722e25012a20606d696e5f76616c696461746f725f626f6e64603a20546865206d696e696d756d2061637469766520626f6e64206e656564656420746f20626520612076616c696461746f722e55012a20606d61785f6e6f6d696e61746f725f636f756e74603a20546865206d6178206e756d626572206f662075736572732077686f2063616e2062652061206e6f6d696e61746f72206174206f6e63652e205768656e98202073657420746f20604e6f6e65602c206e6f206c696d697420697320656e666f726365642e55012a20606d61785f76616c696461746f725f636f756e74603a20546865206d6178206e756d626572206f662075736572732077686f2063616e20626520612076616c696461746f72206174206f6e63652e205768656e98202073657420746f20604e6f6e65602c206e6f206c696d697420697320656e666f726365642e59012a20606368696c6c5f7468726573686f6c64603a2054686520726174696f206f6620606d61785f6e6f6d696e61746f725f636f756e7460206f7220606d61785f76616c696461746f725f636f756e74602077686963681901202073686f756c642062652066696c6c656420696e206f7264657220666f722074686520606368696c6c5f6f7468657260207472616e73616374696f6e20746f20776f726b2e61012a20606d696e5f636f6d6d697373696f6e603a20546865206d696e696d756d20616d6f756e74206f6620636f6d6d697373696f6e207468617420656163682076616c696461746f7273206d757374206d61696e7461696e2e550120205468697320697320636865636b6564206f6e6c792075706f6e2063616c6c696e67206076616c6964617465602e204578697374696e672076616c696461746f727320617265206e6f742061666665637465642e00c452756e74696d654f726967696e206d75737420626520526f6f7420746f2063616c6c20746869732066756e6374696f6e2e0035014e4f54453a204578697374696e67206e6f6d696e61746f727320616e642076616c696461746f72732077696c6c206e6f742062652061666665637465642062792074686973207570646174652e1101746f206b69636b2070656f706c6520756e64657220746865206e6577206c696d6974732c20606368696c6c5f6f74686572602073686f756c642062652063616c6c65642e2c6368696c6c5f6f746865720401147374617368000130543a3a4163636f756e74496400176841014465636c61726520612060636f6e74726f6c6c65726020746f2073746f702070617274696369706174696e672061732065697468657220612076616c696461746f72206f72206e6f6d696e61746f722e00d8456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e004101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2c206275742063616e2062652063616c6c656420627920616e796f6e652e0059014966207468652063616c6c6572206973207468652073616d652061732074686520636f6e74726f6c6c6572206265696e672074617267657465642c207468656e206e6f206675727468657220636865636b7320617265d8656e666f726365642c20616e6420746869732066756e6374696f6e2062656861766573206a757374206c696b6520606368696c6c602e005d014966207468652063616c6c657220697320646966666572656e74207468616e2074686520636f6e74726f6c6c6572206265696e672074617267657465642c2074686520666f6c6c6f77696e6720636f6e646974696f6e73306d757374206265206d65743a001d012a2060636f6e74726f6c6c657260206d7573742062656c6f6e6720746f2061206e6f6d696e61746f722077686f20686173206265636f6d65206e6f6e2d6465636f6461626c652c000c4f723a003d012a204120604368696c6c5468726573686f6c6460206d7573742062652073657420616e6420636865636b656420776869636820646566696e657320686f7720636c6f736520746f20746865206d6178550120206e6f6d696e61746f7273206f722076616c696461746f7273207765206d757374207265616368206265666f72652075736572732063616e207374617274206368696c6c696e67206f6e652d616e6f746865722e59012a204120604d61784e6f6d696e61746f72436f756e746020616e6420604d617856616c696461746f72436f756e7460206d75737420626520736574207768696368206973207573656420746f2064657465726d696e65902020686f7720636c6f73652077652061726520746f20746865207468726573686f6c642e5d012a204120604d696e4e6f6d696e61746f72426f6e646020616e6420604d696e56616c696461746f72426f6e6460206d7573742062652073657420616e6420636865636b65642c2077686963682064657465726d696e65735101202069662074686973206973206120706572736f6e20746861742073686f756c64206265206368696c6c6564206265636175736520746865792068617665206e6f74206d657420746865207468726573686f6c64402020626f6e642072657175697265642e005501546869732063616e2062652068656c7066756c20696620626f6e6420726571756972656d656e74732061726520757064617465642c20616e64207765206e65656420746f2072656d6f7665206f6c642075736572739877686f20646f206e6f74207361746973667920746865736520726571756972656d656e74732e68666f7263655f6170706c795f6d696e5f636f6d6d697373696f6e04013c76616c696461746f725f7374617368000130543a3a4163636f756e74496400180c4501466f72636520612076616c696461746f7220746f2068617665206174206c6561737420746865206d696e696d756d20636f6d6d697373696f6e2e20546869732077696c6c206e6f74206166666563742061610176616c696461746f722077686f20616c726561647920686173206120636f6d6d697373696f6e2067726561746572207468616e206f7220657175616c20746f20746865206d696e696d756d2e20416e79206163636f756e743863616e2063616c6c20746869732e487365745f6d696e5f636f6d6d697373696f6e04010c6e6577f8011c50657262696c6c00191025015365747320746865206d696e696d756d20616d6f756e74206f6620636f6d6d697373696f6e207468617420656163682076616c696461746f7273206d757374206d61696e7461696e2e005901546869732063616c6c20686173206c6f7765722070726976696c65676520726571756972656d656e7473207468616e20607365745f7374616b696e675f636f6e6669676020616e642063616e2062652063616c6c6564cc6279207468652060543a3a41646d696e4f726967696e602e20526f6f742063616e20616c776179732063616c6c20746869732e587061796f75745f7374616b6572735f62795f706167650c013c76616c696461746f725f7374617368000130543a3a4163636f756e74496400010c657261100120457261496e6465780001107061676510011050616765001a443101506179206f757420612070616765206f6620746865207374616b65727320626568696e6420612076616c696461746f7220666f722074686520676976656e2065726120616e6420706167652e00e82d206076616c696461746f725f73746173686020697320746865207374617368206163636f756e74206f66207468652076616c696461746f722e31012d206065726160206d617920626520616e7920657261206265747765656e20605b63757272656e745f657261202d20686973746f72795f64657074683b2063757272656e745f6572615d602e31012d2060706167656020697320746865207061676520696e646578206f66206e6f6d696e61746f727320746f20706179206f757420776974682076616c7565206265747765656e203020616e64b02020606e756d5f6e6f6d696e61746f7273202f20543a3a4d61784578706f737572655061676553697a65602e005501546865206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e20416e79206163636f756e742063616e2063616c6c20746869732066756e6374696f6e2c206576656e206966746974206973206e6f74206f6e65206f6620746865207374616b6572732e003d01496620612076616c696461746f7220686173206d6f7265207468616e205b60436f6e6669673a3a4d61784578706f737572655061676553697a65605d206e6f6d696e61746f7273206261636b696e6729017468656d2c207468656e20746865206c697374206f66206e6f6d696e61746f72732069732070616765642c207769746820656163682070616765206265696e672063617070656420617455015b60436f6e6669673a3a4d61784578706f737572655061676553697a65602e5d20496620612076616c696461746f7220686173206d6f7265207468616e206f6e652070616765206f66206e6f6d696e61746f72732c49017468652063616c6c206e6565647320746f206265206d61646520666f72206561636820706167652073657061726174656c7920696e206f7264657220666f7220616c6c20746865206e6f6d696e61746f727355016261636b696e6720612076616c696461746f7220746f207265636569766520746865207265776172642e20546865206e6f6d696e61746f727320617265206e6f7420736f72746564206163726f73732070616765736101616e6420736f2069742073686f756c64206e6f7420626520617373756d6564207468652068696768657374207374616b657220776f756c64206265206f6e2074686520746f706d6f7374207061676520616e642076696365490176657273612e204966207265776172647320617265206e6f7420636c61696d656420696e205b60436f6e6669673a3a486973746f72794465707468605d20657261732c207468657920617265206c6f73742e307570646174655f7061796565040128636f6e74726f6c6c6572000130543a3a4163636f756e744964001b18e04d6967726174657320616e206163636f756e742773206052657761726444657374696e6174696f6e3a3a436f6e74726f6c6c65726020746fa46052657761726444657374696e6174696f6e3a3a4163636f756e7428636f6e74726f6c6c657229602e005101456666656374732077696c6c2062652066656c7420696e7374616e746c792028617320736f6f6e20617320746869732066756e6374696f6e20697320636f6d706c65746564207375636365737366756c6c79292e003101546869732077696c6c20776169766520746865207472616e73616374696f6e20666565206966207468652060706179656560206973207375636365737366756c6c79206d696772617465642e686465707265636174655f636f6e74726f6c6c65725f626174636804012c636f6e74726f6c6c657273a10401f4426f756e6465645665633c543a3a4163636f756e7449642c20543a3a4d6178436f6e74726f6c6c657273496e4465707265636174696f6e42617463683e001c1c5d01557064617465732061206261746368206f6620636f6e74726f6c6c6572206163636f756e747320746f20746865697220636f72726573706f6e64696e67207374617368206163636f756e7420696620746865792061726561016e6f74207468652073616d652e2049676e6f72657320616e7920636f6e74726f6c6c6572206163636f756e7473207468617420646f206e6f742065786973742c20616e6420646f6573206e6f74206f706572617465206966b874686520737461736820616e6420636f6e74726f6c6c65722061726520616c7265616479207468652073616d652e005101456666656374732077696c6c2062652066656c7420696e7374616e746c792028617320736f6f6e20617320746869732066756e6374696f6e20697320636f6d706c65746564207375636365737366756c6c79292e00b4546865206469737061746368206f726967696e206d7573742062652060543a3a41646d696e4f726967696e602e38726573746f72655f6c65646765721001147374617368000130543a3a4163636f756e7449640001406d617962655f636f6e74726f6c6c65728801504f7074696f6e3c543a3a4163636f756e7449643e00012c6d617962655f746f74616ca50401504f7074696f6e3c42616c616e63654f663c543e3e00013c6d617962655f756e6c6f636b696e67a9040115014f7074696f6e3c426f756e6465645665633c556e6c6f636b4368756e6b3c42616c616e63654f663c543e3e2c20543a3a0a4d6178556e6c6f636b696e674368756e6b733e3e001d2c0501526573746f72657320746865207374617465206f662061206c656467657220776869636820697320696e20616e20696e636f6e73697374656e742073746174652e00dc54686520726571756972656d656e747320746f20726573746f72652061206c6564676572206172652074686520666f6c6c6f77696e673a642a2054686520737461736820697320626f6e6465643b206f720d012a20546865207374617368206973206e6f7420626f6e64656420627574206974206861732061207374616b696e67206c6f636b206c65667420626568696e643b206f7225012a204966207468652073746173682068617320616e206173736f636961746564206c656467657220616e642069747320737461746520697320696e636f6e73697374656e743b206f721d012a20496620746865206c6564676572206973206e6f7420636f72727570746564202a6275742a20697473207374616b696e67206c6f636b206973206f7574206f662073796e632e00610154686520606d617962655f2a6020696e70757420706172616d65746572732077696c6c206f76657277726974652074686520636f72726573706f6e64696e67206461746120616e64206d65746164617461206f662074686559016c6564676572206173736f6369617465642077697468207468652073746173682e2049662074686520696e70757420706172616d657465727320617265206e6f74207365742c20746865206c65646765722077696c6c9062652072657365742076616c7565732066726f6d206f6e2d636861696e2073746174652e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e89040000020903008d0400000210009104103870616c6c65745f7374616b696e671870616c6c65741870616c6c657420436f6e6669674f700404540118010c104e6f6f700000000c5365740400180104540001001852656d6f7665000200009504103870616c6c65745f7374616b696e671870616c6c65741870616c6c657420436f6e6669674f700404540110010c104e6f6f700000000c5365740400100104540001001852656d6f7665000200009904103870616c6c65745f7374616b696e671870616c6c65741870616c6c657420436f6e6669674f70040454015502010c104e6f6f700000000c536574040055020104540001001852656d6f7665000200009d04103870616c6c65745f7374616b696e671870616c6c65741870616c6c657420436f6e6669674f7004045401f8010c104e6f6f700000000c5365740400f80104540001001852656d6f766500020000a1040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400490201185665633c543e0000a50404184f7074696f6e04045401180108104e6f6e6500000010536f6d650400180000010000a90404184f7074696f6e04045401ad040108104e6f6e6500000010536f6d650400ad040000010000ad040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401b104045300000400b50401185665633c543e0000b104083870616c6c65745f7374616b696e672c556e6c6f636b4368756e6b041c42616c616e636501180008011476616c75657101011c42616c616e636500010c657261ad020120457261496e6465780000b504000002b10400b9040c3870616c6c65745f73657373696f6e1870616c6c65741043616c6c040454000108207365745f6b6579730801106b657973bd04011c543a3a4b65797300011470726f6f6638011c5665633c75383e000024e453657473207468652073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c657220746f20606b657973602e1d01416c6c6f777320616e206163636f756e7420746f20736574206974732073657373696f6e206b6579207072696f7220746f206265636f6d696e6720612076616c696461746f722ec05468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d0546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e0034232320436f6d706c657869747959012d20604f283129602e2041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468206f662060543a3a4b6579733a3a6b65795f69647328296020776869636820697320202066697865642e2870757267655f6b657973000130c852656d6f76657320616e792073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c65722e00c05468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e005501546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265205369676e656420616e6420746865206163636f756e74206d757374206265206569746865722062655d01636f6e7665727469626c6520746f20612076616c696461746f72204944207573696e672074686520636861696e2773207479706963616c2061646472657373696e672073797374656d20287468697320757375616c6c7951016d65616e73206265696e67206120636f6e74726f6c6c6572206163636f756e7429206f72206469726563746c7920636f6e7665727469626c6520696e746f20612076616c696461746f722049442028776869636894757375616c6c79206d65616e73206265696e672061207374617368206163636f756e74292e0034232320436f6d706c65786974793d012d20604f2831296020696e206e756d626572206f66206b65792074797065732e2041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468206f6698202060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ebd040c5874616e676c655f746573746e65745f72756e74696d65186f70617175652c53657373696f6e4b65797300000c011062616265250301c43c42616265206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c696300011c6772616e647061ac01d03c4772616e647061206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c6963000124696d5f6f6e6c696e65610101d43c496d4f6e6c696e65206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c69630000c1040c3c70616c6c65745f74726561737572791870616c6c65741043616c6c0804540004490001182c7370656e645f6c6f63616c080118616d6f756e747101013c42616c616e63654f663c542c20493e00012c62656e6566696369617279090301504163636f756e7449644c6f6f6b75704f663c543e000344b850726f706f736520616e6420617070726f76652061207370656e64206f662074726561737572792066756e64732e00482323204469737061746368204f726967696e0045014d757374206265205b60436f6e6669673a3a5370656e644f726967696e605d207769746820746865206053756363657373602076616c7565206265696e67206174206c656173742060616d6f756e74602e002c2323232044657461696c7345014e4f54453a20466f72207265636f72642d6b656570696e6720707572706f7365732c207468652070726f706f736572206973206465656d656420746f206265206571756976616c656e7420746f207468653062656e65666963696172792e003823232320506172616d657465727341012d2060616d6f756e74603a2054686520616d6f756e7420746f206265207472616e736665727265642066726f6d2074686520747265617375727920746f20746865206062656e6566696369617279602ee82d206062656e6566696369617279603a205468652064657374696e6174696f6e206163636f756e7420666f7220746865207472616e736665722e00242323204576656e747300b4456d697473205b604576656e743a3a5370656e64417070726f766564605d206966207375636365737366756c2e3c72656d6f76655f617070726f76616c04012c70726f706f73616c5f6964ad02013450726f706f73616c496e6465780004542d01466f72636520612070726576696f75736c7920617070726f7665642070726f706f73616c20746f2062652072656d6f7665642066726f6d2074686520617070726f76616c2071756575652e00482323204469737061746368204f726967696e00844d757374206265205b60436f6e6669673a3a52656a6563744f726967696e605d2e002823232044657461696c7300c0546865206f726967696e616c206465706f7369742077696c6c206e6f206c6f6e6765722062652072657475726e65642e003823232320506172616d6574657273a02d206070726f706f73616c5f6964603a2054686520696e646578206f6620612070726f706f73616c003823232320436f6d706c6578697479ac2d204f2841292077686572652060416020697320746865206e756d626572206f6620617070726f76616c730028232323204572726f727345012d205b604572726f723a3a50726f706f73616c4e6f74417070726f766564605d3a20546865206070726f706f73616c5f69646020737570706c69656420776173206e6f7420666f756e6420696e2074686551012020617070726f76616c2071756575652c20692e652e2c207468652070726f706f73616c20686173206e6f74206265656e20617070726f7665642e205468697320636f756c6420616c736f206d65616e207468655901202070726f706f73616c20646f6573206e6f7420657869737420616c746f6765746865722c2074687573207468657265206973206e6f2077617920697420776f756c642068617665206265656e20617070726f766564542020696e2074686520666972737420706c6163652e147370656e6410012861737365745f6b696e64840144426f783c543a3a41737365744b696e643e000118616d6f756e7471010150417373657442616c616e63654f663c542c20493e00012c62656e6566696369617279000178426f783c42656e65666963696172794c6f6f6b75704f663c542c20493e3e00012876616c69645f66726f6dc50401644f7074696f6e3c426c6f636b4e756d626572466f723c543e3e000568b850726f706f736520616e6420617070726f76652061207370656e64206f662074726561737572792066756e64732e00482323204469737061746368204f726967696e001d014d757374206265205b60436f6e6669673a3a5370656e644f726967696e605d207769746820746865206053756363657373602076616c7565206265696e67206174206c65617374550160616d6f756e7460206f66206061737365745f6b696e646020696e20746865206e61746976652061737365742e2054686520616d6f756e74206f66206061737365745f6b696e646020697320636f6e766572746564d4666f7220617373657274696f6e207573696e6720746865205b60436f6e6669673a3a42616c616e6365436f6e766572746572605d2e002823232044657461696c7300490143726561746520616e20617070726f766564207370656e6420666f72207472616e7366657272696e6720612073706563696669632060616d6f756e7460206f66206061737365745f6b696e646020746f2061610164657369676e617465642062656e65666963696172792e20546865207370656e64206d75737420626520636c61696d6564207573696e672074686520607061796f75746020646973706174636861626c652077697468696e74746865205b60436f6e6669673a3a5061796f7574506572696f64605d2e003823232320506172616d657465727315012d206061737365745f6b696e64603a20416e20696e64696361746f72206f662074686520737065636966696320617373657420636c61737320746f206265207370656e742e41012d2060616d6f756e74603a2054686520616d6f756e7420746f206265207472616e736665727265642066726f6d2074686520747265617375727920746f20746865206062656e6566696369617279602eb82d206062656e6566696369617279603a205468652062656e6566696369617279206f6620746865207370656e642e55012d206076616c69645f66726f6d603a2054686520626c6f636b206e756d6265722066726f6d20776869636820746865207370656e642063616e20626520636c61696d65642e2049742063616e20726566657220746f1901202074686520706173742069662074686520726573756c74696e67207370656e6420686173206e6f74207965742065787069726564206163636f7264696e6720746f20746865450120205b60436f6e6669673a3a5061796f7574506572696f64605d2e20496620604e6f6e65602c20746865207370656e642063616e20626520636c61696d656420696d6d6564696174656c792061667465722c2020617070726f76616c2e00242323204576656e747300c8456d697473205b604576656e743a3a41737365745370656e64417070726f766564605d206966207375636365737366756c2e187061796f7574040114696e6465781001285370656e64496e64657800064c38436c61696d2061207370656e642e00482323204469737061746368204f726967696e00384d757374206265207369676e6564002823232044657461696c730055015370656e6473206d75737420626520636c61696d65642077697468696e20736f6d652074656d706f72616c20626f756e64732e2041207370656e64206d617920626520636c61696d65642077697468696e206f6e65d45b60436f6e6669673a3a5061796f7574506572696f64605d2066726f6d20746865206076616c69645f66726f6d6020626c6f636b2e5501496e2063617365206f662061207061796f7574206661696c7572652c20746865207370656e6420737461747573206d75737420626520757064617465642077697468207468652060636865636b5f73746174757360dc646973706174636861626c65206265666f7265207265747279696e672077697468207468652063757272656e742066756e6374696f6e2e003823232320506172616d65746572736c2d2060696e646578603a20546865207370656e6420696e6465782e00242323204576656e74730090456d697473205b604576656e743a3a50616964605d206966207375636365737366756c2e30636865636b5f737461747573040114696e6465781001285370656e64496e64657800074c2901436865636b2074686520737461747573206f6620746865207370656e6420616e642072656d6f76652069742066726f6d207468652073746f726167652069662070726f6365737365642e00482323204469737061746368204f726967696e003c4d757374206265207369676e65642e002823232044657461696c730001015468652073746174757320636865636b20697320612070726572657175697369746520666f72207265747279696e672061206661696c6564207061796f75742e490149662061207370656e64206861732065697468657220737563636565646564206f7220657870697265642c2069742069732072656d6f7665642066726f6d207468652073746f726167652062792074686973ec66756e6374696f6e2e20496e207375636820696e7374616e6365732c207472616e73616374696f6e20666565732061726520726566756e6465642e003823232320506172616d65746572736c2d2060696e646578603a20546865207370656e6420696e6465782e00242323204576656e747300f8456d697473205b604576656e743a3a5061796d656e744661696c6564605d20696620746865207370656e64207061796f757420686173206661696c65642e0101456d697473205b604576656e743a3a5370656e6450726f636573736564605d20696620746865207370656e64207061796f75742068617320737563636565642e28766f69645f7370656e64040114696e6465781001285370656e64496e6465780008407c566f69642070726576696f75736c7920617070726f766564207370656e642e00482323204469737061746368204f726967696e00844d757374206265205b60436f6e6669673a3a52656a6563744f726967696e605d2e002823232044657461696c73001d0141207370656e6420766f6964206973206f6e6c7920706f737369626c6520696620746865207061796f757420686173206e6f74206265656e20617474656d70746564207965742e003823232320506172616d65746572736c2d2060696e646578603a20546865207370656e6420696e6465782e00242323204576656e747300c0456d697473205b604576656e743a3a41737365745370656e64566f69646564605d206966207375636365737366756c2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ec50404184f7074696f6e04045401300108104e6f6e6500000010536f6d650400300000010000c9040c3c70616c6c65745f626f756e746965731870616c6c65741043616c6c0804540004490001243870726f706f73655f626f756e747908011476616c75657101013c42616c616e63654f663c542c20493e00012c6465736372697074696f6e38011c5665633c75383e0000305450726f706f73652061206e657720626f756e74792e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0051015061796d656e743a20605469705265706f72744465706f73697442617365602077696c6c2062652072657365727665642066726f6d20746865206f726967696e206163636f756e742c2061732077656c6c206173510160446174614465706f736974506572427974656020666f722065616368206279746520696e2060726561736f6e602e2049742077696c6c20626520756e72657365727665642075706f6e20617070726f76616c2c646f7220736c6173686564207768656e2072656a65637465642e00f82d206063757261746f72603a205468652063757261746f72206163636f756e742077686f6d2077696c6c206d616e616765207468697320626f756e74792e642d2060666565603a205468652063757261746f72206665652e25012d206076616c7565603a2054686520746f74616c207061796d656e7420616d6f756e74206f66207468697320626f756e74792c2063757261746f722066656520696e636c756465642ec02d20606465736372697074696f6e603a20546865206465736372697074696f6e206f66207468697320626f756e74792e38617070726f76655f626f756e7479040124626f756e74795f6964ad02012c426f756e7479496e64657800011c5d01417070726f7665206120626f756e74792070726f706f73616c2e2041742061206c617465722074696d652c2074686520626f756e74792077696c6c2062652066756e64656420616e64206265636f6d6520616374697665a8616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5370656e644f726967696e602e0034232320436f6d706c65786974791c2d204f2831292e3c70726f706f73655f63757261746f720c0124626f756e74795f6964ad02012c426f756e7479496e64657800011c63757261746f72090301504163636f756e7449644c6f6f6b75704f663c543e00010c6665657101013c42616c616e63654f663c542c20493e0002189450726f706f736520612063757261746f7220746f20612066756e64656420626f756e74792e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5370656e644f726967696e602e0034232320436f6d706c65786974791c2d204f2831292e40756e61737369676e5f63757261746f72040124626f756e74795f6964ad02012c426f756e7479496e6465780003447c556e61737369676e2063757261746f722066726f6d206120626f756e74792e001d01546869732066756e6374696f6e2063616e206f6e6c792062652063616c6c656420627920746865206052656a6563744f726967696e602061207369676e6564206f726967696e2e003d01496620746869732066756e6374696f6e2069732063616c6c656420627920746865206052656a6563744f726967696e602c20776520617373756d652074686174207468652063757261746f7220697331016d616c6963696f7573206f7220696e6163746976652e204173206120726573756c742c2077652077696c6c20736c617368207468652063757261746f72207768656e20706f737369626c652e006101496620746865206f726967696e206973207468652063757261746f722c2077652074616b6520746869732061732061207369676e20746865792061726520756e61626c6520746f20646f207468656972206a6f6220616e645d01746865792077696c6c696e676c7920676976652075702e20576520636f756c6420736c617368207468656d2c2062757420666f72206e6f7720776520616c6c6f77207468656d20746f207265636f76657220746865697235016465706f73697420616e64206578697420776974686f75742069737375652e20285765206d61792077616e7420746f206368616e67652074686973206966206974206973206162757365642e29005d0146696e616c6c792c20746865206f726967696e2063616e20626520616e796f6e6520696620616e64206f6e6c79206966207468652063757261746f722069732022696e616374697665222e205468697320616c6c6f77736101616e796f6e6520696e2074686520636f6d6d756e69747920746f2063616c6c206f7574207468617420612063757261746f72206973206e6f7420646f696e67207468656972206475652064696c6967656e63652c20616e64390177652073686f756c64207069636b2061206e65772063757261746f722e20496e20746869732063617365207468652063757261746f722073686f756c6420616c736f20626520736c61736865642e0034232320436f6d706c65786974791c2d204f2831292e386163636570745f63757261746f72040124626f756e74795f6964ad02012c426f756e7479496e64657800041c94416363657074207468652063757261746f7220726f6c6520666f72206120626f756e74792e290141206465706f7369742077696c6c2062652072657365727665642066726f6d2063757261746f7220616e6420726566756e642075706f6e207375636365737366756c207061796f75742e00904d6179206f6e6c792062652063616c6c65642066726f6d207468652063757261746f722e0034232320436f6d706c65786974791c2d204f2831292e3061776172645f626f756e7479080124626f756e74795f6964ad02012c426f756e7479496e64657800012c62656e6566696369617279090301504163636f756e7449644c6f6f6b75704f663c543e0005285901417761726420626f756e747920746f20612062656e6566696369617279206163636f756e742e205468652062656e65666963696172792077696c6c2062652061626c6520746f20636c61696d207468652066756e647338616674657220612064656c61792e001501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265207468652063757261746f72206f66207468697320626f756e74792e00882d2060626f756e74795f6964603a20426f756e747920494420746f2061776172642e19012d206062656e6566696369617279603a205468652062656e6566696369617279206163636f756e742077686f6d2077696c6c207265636569766520746865207061796f75742e0034232320436f6d706c65786974791c2d204f2831292e30636c61696d5f626f756e7479040124626f756e74795f6964ad02012c426f756e7479496e646578000620ec436c61696d20746865207061796f75742066726f6d20616e206177617264656420626f756e7479206166746572207061796f75742064656c61792e002501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265207468652062656e6566696369617279206f66207468697320626f756e74792e00882d2060626f756e74795f6964603a20426f756e747920494420746f20636c61696d2e0034232320436f6d706c65786974791c2d204f2831292e30636c6f73655f626f756e7479040124626f756e74795f6964ad02012c426f756e7479496e646578000724390143616e63656c20612070726f706f736564206f722061637469766520626f756e74792e20416c6c207468652066756e64732077696c6c2062652073656e7420746f20747265617375727920616e64cc7468652063757261746f72206465706f7369742077696c6c20626520756e726573657276656420696620706f737369626c652e00c84f6e6c792060543a3a52656a6563744f726967696e602069732061626c6520746f2063616e63656c206120626f756e74792e008c2d2060626f756e74795f6964603a20426f756e747920494420746f2063616e63656c2e0034232320436f6d706c65786974791c2d204f2831292e50657874656e645f626f756e74795f657870697279080124626f756e74795f6964ad02012c426f756e7479496e64657800011872656d61726b38011c5665633c75383e000824ac457874656e6420746865206578706972792074696d65206f6620616e2061637469766520626f756e74792e001501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265207468652063757261746f72206f66207468697320626f756e74792e008c2d2060626f756e74795f6964603a20426f756e747920494420746f20657874656e642e8c2d206072656d61726b603a206164646974696f6e616c20696e666f726d6174696f6e2e0034232320436f6d706c65786974791c2d204f2831292e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ecd040c5470616c6c65745f6368696c645f626f756e746965731870616c6c65741043616c6c04045400011c406164645f6368696c645f626f756e74790c0140706172656e745f626f756e74795f6964ad02012c426f756e7479496e64657800011476616c75657101013042616c616e63654f663c543e00012c6465736372697074696f6e38011c5665633c75383e00004c5c4164642061206e6577206368696c642d626f756e74792e00fc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265207468652063757261746f72206f6620706172656e74dc626f756e747920616e642074686520706172656e7420626f756e7479206d75737420626520696e2022616374697665222073746174652e0005014368696c642d626f756e74792067657473206164646564207375636365737366756c6c7920262066756e642067657473207472616e736665727265642066726f6d0901706172656e7420626f756e747920746f206368696c642d626f756e7479206163636f756e742c20696620706172656e7420626f756e74792068617320656e6f7567686c66756e64732c20656c7365207468652063616c6c206661696c732e000d01557070657220626f756e6420746f206d6178696d756d206e756d626572206f662061637469766520206368696c6420626f756e7469657320746861742063616e206265a8616464656420617265206d616e61676564207669612072756e74696d6520747261697420636f6e666967985b60436f6e6669673a3a4d61784163746976654368696c64426f756e7479436f756e74605d2e0001014966207468652063616c6c20697320737563636573732c2074686520737461747573206f66206368696c642d626f756e7479206973207570646174656420746f20224164646564222e004d012d2060706172656e745f626f756e74795f6964603a20496e646578206f6620706172656e7420626f756e747920666f72207768696368206368696c642d626f756e7479206973206265696e672061646465642eb02d206076616c7565603a2056616c756520666f7220657865637574696e67207468652070726f706f73616c2edc2d20606465736372697074696f6e603a2054657874206465736372697074696f6e20666f7220746865206368696c642d626f756e74792e3c70726f706f73655f63757261746f72100140706172656e745f626f756e74795f6964ad02012c426f756e7479496e64657800013c6368696c645f626f756e74795f6964ad02012c426f756e7479496e64657800011c63757261746f72090301504163636f756e7449644c6f6f6b75704f663c543e00010c6665657101013042616c616e63654f663c543e00013ca050726f706f73652063757261746f7220666f722066756e646564206368696c642d626f756e74792e000d01546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652063757261746f72206f6620706172656e7420626f756e74792e001101506172656e7420626f756e7479206d75737420626520696e206163746976652073746174652c20666f722074686973206368696c642d626f756e74792063616c6c20746f14776f726b2e000d014368696c642d626f756e7479206d75737420626520696e20224164646564222073746174652c20666f722070726f63657373696e67207468652063616c6c2e20416e6405017374617465206f66206368696c642d626f756e7479206973206d6f76656420746f202243757261746f7250726f706f73656422206f6e207375636365737366756c4063616c6c20636f6d706c6574696f6e2e00b42d2060706172656e745f626f756e74795f6964603a20496e646578206f6620706172656e7420626f756e74792eac2d20606368696c645f626f756e74795f6964603a20496e646578206f66206368696c6420626f756e74792eb42d206063757261746f72603a2041646472657373206f66206368696c642d626f756e74792063757261746f722eec2d2060666565603a207061796d656e742066656520746f206368696c642d626f756e74792063757261746f7220666f7220657865637574696f6e2e386163636570745f63757261746f72080140706172656e745f626f756e74795f6964ad02012c426f756e7479496e64657800013c6368696c645f626f756e74795f6964ad02012c426f756e7479496e64657800024cb4416363657074207468652063757261746f7220726f6c6520666f7220746865206368696c642d626f756e74792e00f4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265207468652063757261746f72206f662074686973346368696c642d626f756e74792e00ec41206465706f7369742077696c6c2062652072657365727665642066726f6d207468652063757261746f7220616e6420726566756e642075706f6e887375636365737366756c207061796f7574206f722063616e63656c6c6174696f6e2e00f846656520666f722063757261746f722069732064656475637465642066726f6d2063757261746f7220666565206f6620706172656e7420626f756e74792e001101506172656e7420626f756e7479206d75737420626520696e206163746976652073746174652c20666f722074686973206368696c642d626f756e74792063616c6c20746f14776f726b2e000d014368696c642d626f756e7479206d75737420626520696e202243757261746f7250726f706f736564222073746174652c20666f722070726f63657373696e6720746865090163616c6c2e20416e64207374617465206f66206368696c642d626f756e7479206973206d6f76656420746f202241637469766522206f6e207375636365737366756c4063616c6c20636f6d706c6574696f6e2e00b42d2060706172656e745f626f756e74795f6964603a20496e646578206f6620706172656e7420626f756e74792eac2d20606368696c645f626f756e74795f6964603a20496e646578206f66206368696c6420626f756e74792e40756e61737369676e5f63757261746f72080140706172656e745f626f756e74795f6964ad02012c426f756e7479496e64657800013c6368696c645f626f756e74795f6964ad02012c426f756e7479496e64657800038894556e61737369676e2063757261746f722066726f6d2061206368696c642d626f756e74792e000901546865206469737061746368206f726967696e20666f7220746869732063616c6c2063616e20626520656974686572206052656a6563744f726967696e602c206f72dc7468652063757261746f72206f662074686520706172656e7420626f756e74792c206f7220616e79207369676e6564206f726967696e2e00f8466f7220746865206f726967696e206f74686572207468616e20543a3a52656a6563744f726967696e20616e6420746865206368696c642d626f756e7479010163757261746f722c20706172656e7420626f756e7479206d75737420626520696e206163746976652073746174652c20666f7220746869732063616c6c20746f0901776f726b2e20576520616c6c6f77206368696c642d626f756e74792063757261746f7220616e6420543a3a52656a6563744f726967696e20746f2065786563757465c8746869732063616c6c20697272657370656374697665206f662074686520706172656e7420626f756e74792073746174652e00dc496620746869732066756e6374696f6e2069732063616c6c656420627920746865206052656a6563744f726967696e60206f72207468650501706172656e7420626f756e74792063757261746f722c20776520617373756d65207468617420746865206368696c642d626f756e74792063757261746f722069730d016d616c6963696f7573206f7220696e6163746976652e204173206120726573756c742c206368696c642d626f756e74792063757261746f72206465706f73697420697320736c61736865642e000501496620746865206f726967696e20697320746865206368696c642d626f756e74792063757261746f722c2077652074616b6520746869732061732061207369676e09017468617420746865792061726520756e61626c6520746f20646f207468656972206a6f622c20616e64206172652077696c6c696e676c7920676976696e672075702e0901576520636f756c6420736c61736820746865206465706f7369742c2062757420666f72206e6f7720776520616c6c6f77207468656d20746f20756e7265736572766511017468656972206465706f73697420616e64206578697420776974686f75742069737375652e20285765206d61792077616e7420746f206368616e67652074686973206966386974206973206162757365642e2900050146696e616c6c792c20746865206f726967696e2063616e20626520616e796f6e652069666620746865206368696c642d626f756e74792063757261746f72206973090122696e616374697665222e204578706972792075706461746520647565206f6620706172656e7420626f756e7479206973207573656420746f20657374696d6174659c696e616374697665207374617465206f66206368696c642d626f756e74792063757261746f722e000d015468697320616c6c6f777320616e796f6e6520696e2074686520636f6d6d756e69747920746f2063616c6c206f757420746861742061206368696c642d626f756e7479090163757261746f72206973206e6f7420646f696e67207468656972206475652064696c6967656e63652c20616e642077652073686f756c64207069636b2061206e6577f86f6e652e20496e2074686973206361736520746865206368696c642d626f756e74792063757261746f72206465706f73697420697320736c61736865642e0001015374617465206f66206368696c642d626f756e7479206973206d6f76656420746f204164646564207374617465206f6e207375636365737366756c2063616c6c2c636f6d706c6574696f6e2e00b42d2060706172656e745f626f756e74795f6964603a20496e646578206f6620706172656e7420626f756e74792eac2d20606368696c645f626f756e74795f6964603a20496e646578206f66206368696c6420626f756e74792e4861776172645f6368696c645f626f756e74790c0140706172656e745f626f756e74795f6964ad02012c426f756e7479496e64657800013c6368696c645f626f756e74795f6964ad02012c426f756e7479496e64657800012c62656e6566696369617279090301504163636f756e7449644c6f6f6b75704f663c543e000444904177617264206368696c642d626f756e747920746f20612062656e65666963696172792e00f85468652062656e65666963696172792077696c6c2062652061626c6520746f20636c61696d207468652066756e647320616674657220612064656c61792e00fc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652074686520706172656e742063757261746f72206f727463757261746f72206f662074686973206368696c642d626f756e74792e001101506172656e7420626f756e7479206d75737420626520696e206163746976652073746174652c20666f722074686973206368696c642d626f756e74792063616c6c20746f14776f726b2e0009014368696c642d626f756e7479206d75737420626520696e206163746976652073746174652c20666f722070726f63657373696e67207468652063616c6c2e20416e6411017374617465206f66206368696c642d626f756e7479206973206d6f76656420746f202250656e64696e675061796f757422206f6e207375636365737366756c2063616c6c2c636f6d706c6574696f6e2e00b42d2060706172656e745f626f756e74795f6964603a20496e646578206f6620706172656e7420626f756e74792eac2d20606368696c645f626f756e74795f6964603a20496e646578206f66206368696c6420626f756e74792e942d206062656e6566696369617279603a2042656e6566696369617279206163636f756e742e48636c61696d5f6368696c645f626f756e7479080140706172656e745f626f756e74795f6964ad02012c426f756e7479496e64657800013c6368696c645f626f756e74795f6964ad02012c426f756e7479496e6465780005400501436c61696d20746865207061796f75742066726f6d20616e2061776172646564206368696c642d626f756e7479206166746572207061796f75742064656c61792e00ec546865206469737061746368206f726967696e20666f7220746869732063616c6c206d617920626520616e79207369676e6564206f726967696e2e00050143616c6c20776f726b7320696e646570656e64656e74206f6620706172656e7420626f756e74792073746174652c204e6f206e65656420666f7220706172656e7474626f756e747920746f20626520696e206163746976652073746174652e0011015468652042656e65666963696172792069732070616964206f757420776974682061677265656420626f756e74792076616c75652e2043757261746f7220666565206973947061696420262063757261746f72206465706f73697420697320756e72657365727665642e0005014368696c642d626f756e7479206d75737420626520696e202250656e64696e675061796f7574222073746174652c20666f722070726f63657373696e6720746865fc63616c6c2e20416e6420696e7374616e6365206f66206368696c642d626f756e74792069732072656d6f7665642066726f6d20746865207374617465206f6e6c7375636365737366756c2063616c6c20636f6d706c6574696f6e2e00b42d2060706172656e745f626f756e74795f6964603a20496e646578206f6620706172656e7420626f756e74792eac2d20606368696c645f626f756e74795f6964603a20496e646578206f66206368696c6420626f756e74792e48636c6f73655f6368696c645f626f756e7479080140706172656e745f626f756e74795f6964ad02012c426f756e7479496e64657800013c6368696c645f626f756e74795f6964ad02012c426f756e7479496e646578000658110143616e63656c20612070726f706f736564206f7220616374697665206368696c642d626f756e74792e204368696c642d626f756e7479206163636f756e742066756e64730901617265207472616e7366657272656420746f20706172656e7420626f756e7479206163636f756e742e20546865206368696c642d626f756e74792063757261746f72986465706f736974206d617920626520756e726573657276656420696620706f737369626c652e000901546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652065697468657220706172656e742063757261746f72206f724860543a3a52656a6563744f726967696e602e00f0496620746865207374617465206f66206368696c642d626f756e74792069732060416374697665602c2063757261746f72206465706f7369742069732c756e72657365727665642e00f4496620746865207374617465206f66206368696c642d626f756e7479206973206050656e64696e675061796f7574602c2063616c6c206661696c7320267872657475726e73206050656e64696e675061796f757460206572726f722e000d01466f7220746865206f726967696e206f74686572207468616e20543a3a52656a6563744f726967696e2c20706172656e7420626f756e7479206d75737420626520696ef06163746976652073746174652c20666f722074686973206368696c642d626f756e74792063616c6c20746f20776f726b2e20466f72206f726967696e90543a3a52656a6563744f726967696e20657865637574696f6e20697320666f726365642e000101496e7374616e6365206f66206368696c642d626f756e74792069732072656d6f7665642066726f6d20746865207374617465206f6e207375636365737366756c4063616c6c20636f6d706c6574696f6e2e00b42d2060706172656e745f626f756e74795f6964603a20496e646578206f6620706172656e7420626f756e74792eac2d20606368696c645f626f756e74795f6964603a20496e646578206f66206368696c6420626f756e74792e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ed1040c4070616c6c65745f626167735f6c6973741870616c6c65741043616c6c08045400044900010c1472656261670401286469736c6f6361746564090301504163636f756e7449644c6f6f6b75704f663c543e00002859014465636c617265207468617420736f6d6520606469736c6f636174656460206163636f756e74206861732c207468726f7567682072657761726473206f722070656e616c746965732c2073756666696369656e746c7951016368616e676564206974732073636f726520746861742069742073686f756c642070726f7065726c792066616c6c20696e746f206120646966666572656e7420626167207468616e206974732063757272656e74106f6e652e001d01416e796f6e652063616e2063616c6c20746869732066756e6374696f6e2061626f757420616e7920706f74656e7469616c6c79206469736c6f6361746564206163636f756e742e00490157696c6c20616c7761797320757064617465207468652073746f7265642073636f7265206f6620606469736c6f63617465646020746f2074686520636f72726563742073636f72652c206261736564206f6e406053636f726550726f7669646572602e00d4496620606469736c6f63617465646020646f6573206e6f74206578697374732c2069742072657475726e7320616e206572726f722e3c7075745f696e5f66726f6e745f6f6604011c6c696768746572090301504163636f756e7449644c6f6f6b75704f663c543e000128d04d6f7665207468652063616c6c65722773204964206469726563746c7920696e2066726f6e74206f6620606c696768746572602e005901546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642063616e206f6e6c792062652063616c6c656420627920746865204964206f663501746865206163636f756e7420676f696e6720696e2066726f6e74206f6620606c696768746572602e2046656520697320706179656420627920746865206f726967696e20756e64657220616c6c3863697263756d7374616e6365732e00384f6e6c7920776f726b732069663a00942d20626f7468206e6f646573206172652077697468696e207468652073616d65206261672cd02d20616e6420606f726967696e602068617320612067726561746572206053636f726560207468616e20606c696768746572602e547075745f696e5f66726f6e745f6f665f6f7468657208011c68656176696572090301504163636f756e7449644c6f6f6b75704f663c543e00011c6c696768746572090301504163636f756e7449644c6f6f6b75704f663c543e00020c110153616d65206173205b6050616c6c65743a3a7075745f696e5f66726f6e745f6f66605d2c206275742069742063616e2062652063616c6c656420627920616e796f6e652e00c8466565206973207061696420627920746865206f726967696e20756e64657220616c6c2063697263756d7374616e6365732e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ed5040c5c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c731870616c6c65741043616c6c040454000168106a6f696e080118616d6f756e747101013042616c616e63654f663c543e00011c706f6f6c5f6964100118506f6f6c496400002845015374616b652066756e64732077697468206120706f6f6c2e2054686520616d6f756e7420746f20626f6e64206973207472616e736665727265642066726f6d20746865206d656d62657220746f20746865dc706f6f6c73206163636f756e7420616e6420696d6d6564696174656c7920696e637265617365732074686520706f6f6c7320626f6e642e001823204e6f746500cc2a20416e206163636f756e742063616e206f6e6c792062652061206d656d626572206f6620612073696e676c6520706f6f6c2ed82a20416e206163636f756e742063616e6e6f74206a6f696e207468652073616d6520706f6f6c206d756c7469706c652074696d65732e41012a20546869732063616c6c2077696c6c202a6e6f742a206475737420746865206d656d626572206163636f756e742c20736f20746865206d656d626572206d7573742068617665206174206c65617374c82020606578697374656e7469616c206465706f736974202b20616d6f756e746020696e207468656972206163636f756e742ed02a204f6e6c79206120706f6f6c2077697468205b60506f6f6c53746174653a3a4f70656e605d2063616e206265206a6f696e656428626f6e645f65787472610401146578747261d904015c426f6e6445787472613c42616c616e63654f663c543e3e00011c4501426f6e642060657874726160206d6f72652066756e64732066726f6d20606f726967696e6020696e746f2074686520706f6f6c20746f207768696368207468657920616c72656164792062656c6f6e672e0049014164646974696f6e616c2066756e64732063616e20636f6d652066726f6d206569746865722074686520667265652062616c616e6365206f6620746865206163636f756e742c206f662066726f6d207468659c616363756d756c6174656420726577617264732c20736565205b60426f6e644578747261605d2e003d01426f6e64696e672065787472612066756e647320696d706c69657320616e206175746f6d61746963207061796f7574206f6620616c6c2070656e64696e6720726577617264732061732077656c6c2e09015365652060626f6e645f65787472615f6f746865726020746f20626f6e642070656e64696e672072657761726473206f6620606f7468657260206d656d626572732e30636c61696d5f7061796f757400022055014120626f6e646564206d656d6265722063616e20757365207468697320746f20636c61696d207468656972207061796f7574206261736564206f6e20746865207265776172647320746861742074686520706f6f6c610168617320616363756d756c617465642073696e6365207468656972206c61737420636c61696d6564207061796f757420284f522073696e6365206a6f696e696e6720696620746869732069732074686569722066697273743d0174696d6520636c61696d696e672072657761726473292e20546865207061796f75742077696c6c206265207472616e7366657272656420746f20746865206d656d6265722773206163636f756e742e004901546865206d656d6265722077696c6c206561726e20726577617264732070726f2072617461206261736564206f6e20746865206d656d62657273207374616b65207673207468652073756d206f6620746865d06d656d6265727320696e2074686520706f6f6c73207374616b652e205265776172647320646f206e6f742022657870697265222e0041015365652060636c61696d5f7061796f75745f6f746865726020746f20636c61696d2072657761726473206f6e20626568616c66206f6620736f6d6520606f746865726020706f6f6c206d656d6265722e18756e626f6e640801386d656d6265725f6163636f756e74090301504163636f756e7449644c6f6f6b75704f663c543e000140756e626f6e64696e675f706f696e74737101013042616c616e63654f663c543e00037c4501556e626f6e6420757020746f2060756e626f6e64696e675f706f696e747360206f662074686520606d656d6265725f6163636f756e746027732066756e64732066726f6d2074686520706f6f6c2e2049744501696d706c696369746c7920636f6c6c65637473207468652072657761726473206f6e65206c6173742074696d652c2073696e6365206e6f7420646f696e6720736f20776f756c64206d65616e20736f6d656c7265776172647320776f756c6420626520666f726665697465642e004d01556e646572206365727461696e20636f6e646974696f6e732c20746869732063616c6c2063616e2062652064697370617463686564207065726d697373696f6e6c6573736c792028692e652e20627920616e79246163636f756e74292e00ac2320436f6e646974696f6e7320666f722061207065726d697373696f6e6c6573732064697370617463682e005d012a2054686520706f6f6c20697320626c6f636b656420616e64207468652063616c6c6572206973206569746865722074686520726f6f74206f7220626f756e6365722e205468697320697320726566657265656420746f30202061732061206b69636b2ef42a2054686520706f6f6c2069732064657374726f79696e6720616e6420746865206d656d626572206973206e6f7420746865206465706f7369746f722e55012a2054686520706f6f6c2069732064657374726f79696e672c20746865206d656d62657220697320746865206465706f7369746f7220616e64206e6f206f74686572206d656d626572732061726520696e207468651c2020706f6f6c2e001101232320436f6e646974696f6e7320666f72207065726d697373696f6e65642064697370617463682028692e652e207468652063616c6c657220697320616c736f2074686548606d656d6265725f6163636f756e7460293a00882a205468652063616c6c6572206973206e6f7420746865206465706f7369746f722e55012a205468652063616c6c657220697320746865206465706f7369746f722c2074686520706f6f6c2069732064657374726f79696e6720616e64206e6f206f74686572206d656d626572732061726520696e207468651c2020706f6f6c2e001823204e6f7465001d0149662074686572652061726520746f6f206d616e7920756e6c6f636b696e67206368756e6b7320746f20756e626f6e6420776974682074686520706f6f6c206163636f756e742c51015b6043616c6c3a3a706f6f6c5f77697468647261775f756e626f6e646564605d2063616e2062652063616c6c656420746f2074727920616e64206d696e696d697a6520756e6c6f636b696e67206368756e6b732e5901546865205b605374616b696e67496e746572666163653a3a756e626f6e64605d2077696c6c20696d706c696369746c792063616c6c205b6043616c6c3a3a706f6f6c5f77697468647261775f756e626f6e646564605d5501746f2074727920746f2066726565206368756e6b73206966206e6563657373617279202869652e20696620756e626f756e64207761732063616c6c656420616e64206e6f20756e6c6f636b696e67206368756e6b73610161726520617661696c61626c65292e20486f77657665722c206974206d6179206e6f7420626520706f737369626c6520746f2072656c65617365207468652063757272656e7420756e6c6f636b696e67206368756e6b732c5d01696e20776869636820636173652c2074686520726573756c74206f6620746869732063616c6c2077696c6c206c696b656c792062652074686520604e6f4d6f72654368756e6b7360206572726f722066726f6d207468653c7374616b696e672073797374656d2e58706f6f6c5f77697468647261775f756e626f6e64656408011c706f6f6c5f6964100118506f6f6c49640001486e756d5f736c617368696e675f7370616e7310010c753332000418550143616c6c206077697468647261775f756e626f6e6465646020666f722074686520706f6f6c73206163636f756e742e20546869732063616c6c2063616e206265206d61646520627920616e79206163636f756e742e004101546869732069732075736566756c2069662074686572652061726520746f6f206d616e7920756e6c6f636b696e67206368756e6b7320746f2063616c6c2060756e626f6e64602c20616e6420736f6d65610163616e20626520636c6561726564206279207769746864726177696e672e20496e2074686520636173652074686572652061726520746f6f206d616e7920756e6c6f636b696e67206368756e6b732c2074686520757365725101776f756c642070726f6261626c792073656520616e206572726f72206c696b6520604e6f4d6f72654368756e6b736020656d69747465642066726f6d20746865207374616b696e672073797374656d207768656e5c7468657920617474656d707420746f20756e626f6e642e4477697468647261775f756e626f6e6465640801386d656d6265725f6163636f756e74090301504163636f756e7449644c6f6f6b75704f663c543e0001486e756d5f736c617368696e675f7370616e7310010c7533320005585501576974686472617720756e626f6e6465642066756e64732066726f6d20606d656d6265725f6163636f756e74602e204966206e6f20626f6e6465642066756e64732063616e20626520756e626f6e6465642c20616e486572726f722069732072657475726e65642e004d01556e646572206365727461696e20636f6e646974696f6e732c20746869732063616c6c2063616e2062652064697370617463686564207065726d697373696f6e6c6573736c792028692e652e20627920616e79246163636f756e74292e00a82320436f6e646974696f6e7320666f722061207065726d697373696f6e6c6573732064697370617463680009012a2054686520706f6f6c20697320696e2064657374726f79206d6f646520616e642074686520746172676574206973206e6f7420746865206465706f7369746f722e31012a205468652074617267657420697320746865206465706f7369746f7220616e6420746865792061726520746865206f6e6c79206d656d62657220696e207468652073756220706f6f6c732e0d012a2054686520706f6f6c20697320626c6f636b656420616e64207468652063616c6c6572206973206569746865722074686520726f6f74206f7220626f756e6365722e00982320436f6e646974696f6e7320666f72207065726d697373696f6e656420646973706174636800e82a205468652063616c6c6572206973207468652074617267657420616e64207468657920617265206e6f7420746865206465706f7369746f722e001823204e6f746500f42d204966207468652074617267657420697320746865206465706f7369746f722c2074686520706f6f6c2077696c6c2062652064657374726f7965642e61012d2049662074686520706f6f6c2068617320616e792070656e64696e6720736c6173682c20776520616c736f2074727920746f20736c61736820746865206d656d626572206265666f7265206c657474696e67207468656d5d0177697468647261772e20546869732063616c63756c6174696f6e206164647320736f6d6520776569676874206f7665726865616420616e64206973206f6e6c7920646566656e736976652e20496e207265616c6974792c5501706f6f6c20736c6173686573206d7573742068617665206265656e20616c7265616479206170706c69656420766961207065726d697373696f6e6c657373205b6043616c6c3a3a6170706c795f736c617368605d2e18637265617465100118616d6f756e747101013042616c616e63654f663c543e000110726f6f74090301504163636f756e7449644c6f6f6b75704f663c543e0001246e6f6d696e61746f72090301504163636f756e7449644c6f6f6b75704f663c543e00011c626f756e636572090301504163636f756e7449644c6f6f6b75704f663c543e000644744372656174652061206e65772064656c65676174696f6e20706f6f6c2e002c2320417267756d656e74730055012a2060616d6f756e7460202d2054686520616d6f756e74206f662066756e647320746f2064656c656761746520746f2074686520706f6f6c2e205468697320616c736f2061637473206f66206120736f7274206f664d0120206465706f7369742073696e63652074686520706f6f6c732063726561746f722063616e6e6f742066756c6c7920756e626f6e642066756e647320756e74696c2074686520706f6f6c206973206265696e6730202064657374726f7965642e51012a2060696e64657860202d204120646973616d626967756174696f6e20696e64657820666f72206372656174696e6720746865206163636f756e742e204c696b656c79206f6e6c792075736566756c207768656ec020206372656174696e67206d756c7469706c6520706f6f6c7320696e207468652073616d652065787472696e7369632ed42a2060726f6f7460202d20546865206163636f756e7420746f20736574206173205b60506f6f6c526f6c65733a3a726f6f74605d2e0d012a20606e6f6d696e61746f7260202d20546865206163636f756e7420746f2073657420617320746865205b60506f6f6c526f6c65733a3a6e6f6d696e61746f72605d2efc2a2060626f756e63657260202d20546865206163636f756e7420746f2073657420617320746865205b60506f6f6c526f6c65733a3a626f756e636572605d2e001823204e6f7465006101496e206164646974696f6e20746f2060616d6f756e74602c207468652063616c6c65722077696c6c207472616e7366657220746865206578697374656e7469616c206465706f7369743b20736f207468652063616c6c65720d016e656564732061742068617665206174206c656173742060616d6f756e74202b206578697374656e7469616c5f6465706f73697460207472616e7366657261626c652e4c6372656174655f776974685f706f6f6c5f6964140118616d6f756e747101013042616c616e63654f663c543e000110726f6f74090301504163636f756e7449644c6f6f6b75704f663c543e0001246e6f6d696e61746f72090301504163636f756e7449644c6f6f6b75704f663c543e00011c626f756e636572090301504163636f756e7449644c6f6f6b75704f663c543e00011c706f6f6c5f6964100118506f6f6c4964000718ec4372656174652061206e65772064656c65676174696f6e20706f6f6c207769746820612070726576696f75736c79207573656420706f6f6c206964002c2320417267756d656e7473009873616d6520617320606372656174656020776974682074686520696e636c7573696f6e206f66782a2060706f6f6c5f696460202d2060412076616c696420506f6f6c49642e206e6f6d696e61746508011c706f6f6c5f6964100118506f6f6c496400012876616c696461746f7273490201445665633c543a3a4163636f756e7449643e0008307c4e6f6d696e617465206f6e20626568616c66206f662074686520706f6f6c2e004501546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e65642062792074686520706f6f6c206e6f6d696e61746f72206f722074686520706f6f6c28726f6f7420726f6c652e00490154686973206469726563746c7920666f7277617264207468652063616c6c20746f20746865207374616b696e672070616c6c65742c206f6e20626568616c66206f662074686520706f6f6c20626f6e646564206163636f756e742e001823204e6f7465005d01496e206164646974696f6e20746f20612060726f6f7460206f7220606e6f6d696e61746f726020726f6c65206f6620606f726967696e602c20706f6f6c2773206465706f7369746f72206e6565647320746f2068617665f86174206c6561737420606465706f7369746f725f6d696e5f626f6e646020696e2074686520706f6f6c20746f207374617274206e6f6d696e6174696e672e247365745f737461746508011c706f6f6c5f6964100118506f6f6c4964000114737461746521010124506f6f6c5374617465000928745365742061206e657720737461746520666f722074686520706f6f6c2e0055014966206120706f6f6c20697320616c726561647920696e20746865206044657374726f79696e67602073746174652c207468656e20756e646572206e6f20636f6e646974696f6e2063616e20697473207374617465346368616e676520616761696e2e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206569746865723a00dc312e207369676e65642062792074686520626f756e6365722c206f722074686520726f6f7420726f6c65206f662074686520706f6f6c2c5d01322e2069662074686520706f6f6c20636f6e646974696f6e7320746f206265206f70656e20617265204e4f54206d6574202861732064657363726962656420627920606f6b5f746f5f62655f6f70656e60292c20616e6439012020207468656e20746865207374617465206f662074686520706f6f6c2063616e206265207065726d697373696f6e6c6573736c79206368616e67656420746f206044657374726f79696e67602e307365745f6d6574616461746108011c706f6f6c5f6964100118506f6f6c49640001206d6574616461746138011c5665633c75383e000a10805365742061206e6577206d6574616461746120666f722074686520706f6f6c2e005d01546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e65642062792074686520626f756e6365722c206f722074686520726f6f7420726f6c65206f662074686514706f6f6c2e2c7365745f636f6e666967731801346d696e5f6a6f696e5f626f6e64dd040158436f6e6669674f703c42616c616e63654f663c543e3e00013c6d696e5f6372656174655f626f6e64dd040158436f6e6669674f703c42616c616e63654f663c543e3e0001246d61785f706f6f6c73e1040134436f6e6669674f703c7533323e00012c6d61785f6d656d62657273e1040134436f6e6669674f703c7533323e0001506d61785f6d656d626572735f7065725f706f6f6ce1040134436f6e6669674f703c7533323e000154676c6f62616c5f6d61785f636f6d6d697373696f6ee5040144436f6e6669674f703c50657262696c6c3e000b2c410155706461746520636f6e66696775726174696f6e7320666f7220746865206e6f6d696e6174696f6e20706f6f6c732e20546865206f726967696e20666f7220746869732063616c6c206d757374206265605b60436f6e6669673a3a41646d696e4f726967696e605d2e002c2320417267756d656e747300a02a20606d696e5f6a6f696e5f626f6e6460202d20536574205b604d696e4a6f696e426f6e64605d2eb02a20606d696e5f6372656174655f626f6e6460202d20536574205b604d696e437265617465426f6e64605d2e842a20606d61785f706f6f6c7360202d20536574205b604d6178506f6f6c73605d2ea42a20606d61785f6d656d6265727360202d20536574205b604d6178506f6f6c4d656d62657273605d2ee42a20606d61785f6d656d626572735f7065725f706f6f6c60202d20536574205b604d6178506f6f6c4d656d62657273506572506f6f6c605d2ee02a2060676c6f62616c5f6d61785f636f6d6d697373696f6e60202d20536574205b60476c6f62616c4d6178436f6d6d697373696f6e605d2e307570646174655f726f6c657310011c706f6f6c5f6964100118506f6f6c49640001206e65775f726f6f74e9040158436f6e6669674f703c543a3a4163636f756e7449643e0001346e65775f6e6f6d696e61746f72e9040158436f6e6669674f703c543a3a4163636f756e7449643e00012c6e65775f626f756e636572e9040158436f6e6669674f703c543a3a4163636f756e7449643e000c1c745570646174652074686520726f6c6573206f662074686520706f6f6c2e003d0154686520726f6f7420697320746865206f6e6c7920656e7469747920746861742063616e206368616e676520616e79206f662074686520726f6c65732c20696e636c7564696e6720697473656c662cb86578636c7564696e6720746865206465706f7369746f722c2077686f2063616e206e65766572206368616e67652e005101497420656d69747320616e206576656e742c206e6f74696679696e6720554973206f662074686520726f6c65206368616e67652e2054686973206576656e742069732071756974652072656c6576616e7420746f1d016d6f737420706f6f6c206d656d6265727320616e6420746865792073686f756c6420626520696e666f726d6564206f66206368616e67657320746f20706f6f6c20726f6c65732e146368696c6c04011c706f6f6c5f6964100118506f6f6c4964000d40704368696c6c206f6e20626568616c66206f662074686520706f6f6c2e004101546865206469737061746368206f726967696e206f6620746869732063616c6c2063616e206265207369676e65642062792074686520706f6f6c206e6f6d696e61746f72206f722074686520706f6f6ca0726f6f7420726f6c652c2073616d65206173205b6050616c6c65743a3a6e6f6d696e617465605d2e004d01556e646572206365727461696e20636f6e646974696f6e732c20746869732063616c6c2063616e2062652064697370617463686564207065726d697373696f6e6c6573736c792028692e652e20627920616e79246163636f756e74292e00ac2320436f6e646974696f6e7320666f722061207065726d697373696f6e6c6573732064697370617463683a59012a205768656e20706f6f6c206465706f7369746f7220686173206c657373207468616e20604d696e4e6f6d696e61746f72426f6e6460207374616b65642c206f74686572776973652020706f6f6c206d656d626572735c202061726520756e61626c6520746f20756e626f6e642e009c2320436f6e646974696f6e7320666f72207065726d697373696f6e65642064697370617463683ad82a205468652063616c6c6572206861732061206e6f6d696e61746f72206f7220726f6f7420726f6c65206f662074686520706f6f6c2e490154686973206469726563746c7920666f7277617264207468652063616c6c20746f20746865207374616b696e672070616c6c65742c206f6e20626568616c66206f662074686520706f6f6c20626f6e646564206163636f756e742e40626f6e645f65787472615f6f746865720801186d656d626572090301504163636f756e7449644c6f6f6b75704f663c543e0001146578747261d904015c426f6e6445787472613c42616c616e63654f663c543e3e000e245501606f726967696e6020626f6e64732066756e64732066726f6d206065787472616020666f7220736f6d6520706f6f6c206d656d62657220606d656d6265726020696e746f207468656972207265737065637469766518706f6f6c732e004901606f726967696e602063616e20626f6e642065787472612066756e64732066726f6d20667265652062616c616e6365206f722070656e64696e672072657761726473207768656e20606f726967696e203d3d1c6f74686572602e004501496e207468652063617365206f6620606f726967696e20213d206f74686572602c20606f726967696e602063616e206f6e6c7920626f6e642065787472612070656e64696e672072657761726473206f661501606f7468657260206d656d6265727320617373756d696e67207365745f636c61696d5f7065726d697373696f6e20666f722074686520676976656e206d656d626572206973c0605065726d697373696f6e6c657373436f6d706f756e6460206f7220605065726d697373696f6e6c657373416c6c602e507365745f636c61696d5f7065726d697373696f6e0401287065726d697373696f6eed04013c436c61696d5065726d697373696f6e000f1c4901416c6c6f7773206120706f6f6c206d656d62657220746f20736574206120636c61696d207065726d697373696f6e20746f20616c6c6f77206f7220646973616c6c6f77207065726d697373696f6e6c65737360626f6e64696e6720616e64207769746864726177696e672e002c2320417267756d656e747300782a20606f726967696e60202d204d656d626572206f66206120706f6f6c2eb82a20607065726d697373696f6e60202d20546865207065726d697373696f6e20746f206265206170706c6965642e48636c61696d5f7061796f75745f6f746865720401146f74686572000130543a3a4163636f756e7449640010100101606f726967696e602063616e20636c61696d207061796f757473206f6e20736f6d6520706f6f6c206d656d62657220606f7468657260277320626568616c662e005501506f6f6c206d656d62657220606f7468657260206d7573742068617665206120605065726d697373696f6e6c657373576974686472617760206f7220605065726d697373696f6e6c657373416c6c6020636c61696da87065726d697373696f6e20666f7220746869732063616c6c20746f206265207375636365737366756c2e387365745f636f6d6d697373696f6e08011c706f6f6c5f6964100118506f6f6c49640001386e65775f636f6d6d697373696f6e2501017c4f7074696f6e3c2850657262696c6c2c20543a3a4163636f756e744964293e001114745365742074686520636f6d6d697373696f6e206f66206120706f6f6c2e5501426f7468206120636f6d6d697373696f6e2070657263656e7461676520616e64206120636f6d6d697373696f6e207061796565206d7573742062652070726f766964656420696e20746865206063757272656e74605d017475706c652e2057686572652061206063757272656e7460206f6620604e6f6e65602069732070726f76696465642c20616e792063757272656e7420636f6d6d697373696f6e2077696c6c2062652072656d6f7665642e004d012d204966206120604e6f6e656020697320737570706c69656420746f20606e65775f636f6d6d697373696f6e602c206578697374696e6720636f6d6d697373696f6e2077696c6c2062652072656d6f7665642e487365745f636f6d6d697373696f6e5f6d617808011c706f6f6c5f6964100118506f6f6c49640001386d61785f636f6d6d697373696f6ef8011c50657262696c6c0012149453657420746865206d6178696d756d20636f6d6d697373696f6e206f66206120706f6f6c2e0039012d20496e697469616c206d61782063616e2062652073657420746f20616e79206050657262696c6c602c20616e64206f6e6c7920736d616c6c65722076616c75657320746865726561667465722e35012d2043757272656e7420636f6d6d697373696f6e2077696c6c206265206c6f776572656420696e20746865206576656e7420697420697320686967686572207468616e2061206e6577206d6178342020636f6d6d697373696f6e2e687365745f636f6d6d697373696f6e5f6368616e67655f7261746508011c706f6f6c5f6964100118506f6f6c496400012c6368616e67655f726174652d01019c436f6d6d697373696f6e4368616e6765526174653c426c6f636b4e756d626572466f723c543e3e001310a85365742074686520636f6d6d697373696f6e206368616e6765207261746520666f72206120706f6f6c2e003d01496e697469616c206368616e67652072617465206973206e6f7420626f756e6465642c20776865726561732073756273657175656e7420757064617465732063616e206f6e6c79206265206d6f7265747265737472696374697665207468616e207468652063757272656e742e40636c61696d5f636f6d6d697373696f6e04011c706f6f6c5f6964100118506f6f6c496400141464436c61696d2070656e64696e6720636f6d6d697373696f6e2e005d01546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e6564206279207468652060726f6f746020726f6c65206f662074686520706f6f6c2e2050656e64696e675d01636f6d6d697373696f6e2069732070616964206f757420616e6420616464656420746f20746f74616c20636c61696d656420636f6d6d697373696f6e602e20546f74616c2070656e64696e6720636f6d6d697373696f6e78697320726573657420746f207a65726f2e207468652063757272656e742e4c61646a7573745f706f6f6c5f6465706f73697404011c706f6f6c5f6964100118506f6f6c496400151cec546f70207570207468652064656669636974206f7220776974686472617720746865206578636573732045442066726f6d2074686520706f6f6c2e0051015768656e206120706f6f6c20697320637265617465642c2074686520706f6f6c206465706f7369746f72207472616e736665727320454420746f2074686520726577617264206163636f756e74206f66207468655501706f6f6c2e204544206973207375626a65637420746f206368616e676520616e64206f7665722074696d652c20746865206465706f73697420696e2074686520726577617264206163636f756e74206d61792062655101696e73756666696369656e7420746f20636f766572207468652045442064656669636974206f662074686520706f6f6c206f7220766963652d76657273612077686572652074686572652069732065786365737331016465706f73697420746f2074686520706f6f6c2e20546869732063616c6c20616c6c6f777320616e796f6e6520746f2061646a75737420746865204544206465706f736974206f6620746865f4706f6f6c2062792065697468657220746f7070696e67207570207468652064656669636974206f7220636c61696d696e6720746865206578636573732e7c7365745f636f6d6d697373696f6e5f636c61696d5f7065726d697373696f6e08011c706f6f6c5f6964100118506f6f6c49640001287065726d697373696f6e310101bc4f7074696f6e3c436f6d6d697373696f6e436c61696d5065726d697373696f6e3c543a3a4163636f756e7449643e3e001610cc536574206f722072656d6f7665206120706f6f6c277320636f6d6d697373696f6e20636c61696d207065726d697373696f6e2e00610144657465726d696e65732077686f2063616e20636c61696d2074686520706f6f6c27732070656e64696e6720636f6d6d697373696f6e2e204f6e6c79207468652060526f6f746020726f6c65206f662074686520706f6f6cc869732061626c6520746f20636f6e66696775726520636f6d6d697373696f6e20636c61696d207065726d697373696f6e732e2c6170706c795f736c6173680401386d656d6265725f6163636f756e74090301504163636f756e7449644c6f6f6b75704f663c543e001724884170706c7920612070656e64696e6720736c617368206f6e2061206d656d6265722e0025014661696c7320756e6c657373205b6063726174653a3a70616c6c65743a3a436f6e6669673a3a5374616b6541646170746572605d206973206f6620737472617465677920747970653aa45b60616461707465723a3a5374616b655374726174656779547970653a3a44656c6567617465605d2e005d015468652070656e64696e6720736c61736820616d6f756e74206f6620746865206d656d626572206d75737420626520657175616c206f72206d6f7265207468616e20604578697374656e7469616c4465706f736974602e5101546869732063616c6c2063616e2062652064697370617463686564207065726d697373696f6e6c6573736c792028692e652e20627920616e79206163636f756e74292e2049662074686520657865637574696f6e49016973207375636365737366756c2c2066656520697320726566756e64656420616e642063616c6c6572206d6179206265207265776172646564207769746820612070617274206f662074686520736c6173680d016261736564206f6e20746865205b6063726174653a3a70616c6c65743a3a436f6e6669673a3a5374616b6541646170746572605d20636f6e66696775726174696f6e2e486d6967726174655f64656c65676174696f6e0401386d656d6265725f6163636f756e74090301504163636f756e7449644c6f6f6b75704f663c543e0018241d014d696772617465732064656c6567617465642066756e64732066726f6d2074686520706f6f6c206163636f756e7420746f2074686520606d656d6265725f6163636f756e74602e0025014661696c7320756e6c657373205b6063726174653a3a70616c6c65743a3a436f6e6669673a3a5374616b6541646170746572605d206973206f6620737472617465677920747970653aa45b60616461707465723a3a5374616b655374726174656779547970653a3a44656c6567617465605d2e002901546869732069732061207065726d697373696f6e2d6c6573732063616c6c20616e6420726566756e647320616e792066656520696620636c61696d206973207375636365737366756c2e005d0149662074686520706f6f6c20686173206d6967726174656420746f2064656c65676174696f6e206261736564207374616b696e672c20746865207374616b656420746f6b656e73206f6620706f6f6c206d656d62657273290163616e206265206d6f76656420616e642068656c6420696e207468656972206f776e206163636f756e742e20536565205b60616461707465723a3a44656c65676174655374616b65605d786d6967726174655f706f6f6c5f746f5f64656c65676174655f7374616b6504011c706f6f6c5f6964100118506f6f6c4964001924f44d69677261746520706f6f6c2066726f6d205b60616461707465723a3a5374616b655374726174656779547970653a3a5472616e73666572605d20746fa45b60616461707465723a3a5374616b655374726174656779547970653a3a44656c6567617465605d2e0025014661696c7320756e6c657373205b6063726174653a3a70616c6c65743a3a436f6e6669673a3a5374616b6541646170746572605d206973206f6620737472617465677920747970653aa45b60616461707465723a3a5374616b655374726174656779547970653a3a44656c6567617465605d2e004101546869732063616c6c2063616e2062652064697370617463686564207065726d697373696f6e6c6573736c792c20616e6420726566756e647320616e7920666565206966207375636365737366756c2e00490149662074686520706f6f6c2068617320616c7265616479206d6967726174656420746f2064656c65676174696f6e206261736564207374616b696e672c20746869732063616c6c2077696c6c206661696c2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ed904085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7324426f6e644578747261041c42616c616e6365011801082c4672656542616c616e6365040018011c42616c616e63650000001c5265776172647300010000dd04085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7320436f6e6669674f700404540118010c104e6f6f700000000c5365740400180104540001001852656d6f766500020000e104085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7320436f6e6669674f700404540110010c104e6f6f700000000c5365740400100104540001001852656d6f766500020000e504085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7320436f6e6669674f7004045401f8010c104e6f6f700000000c5365740400f80104540001001852656d6f766500020000e904085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7320436f6e6669674f700404540100010c104e6f6f700000000c5365740400000104540001001852656d6f766500020000ed04085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c733c436c61696d5065726d697373696f6e000110305065726d697373696f6e6564000000585065726d697373696f6e6c657373436f6d706f756e64000100585065726d697373696f6e6c6573735769746864726177000200445065726d697373696f6e6c657373416c6c00030000f1040c4070616c6c65745f7363686564756c65721870616c6c65741043616c6c040454000128207363686564756c651001107768656e300144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f646963f50401ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c0103017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000470416e6f6e796d6f75736c79207363686564756c652061207461736b2e1863616e63656c0801107768656e300144426c6f636b4e756d626572466f723c543e000114696e64657810010c7533320001049443616e63656c20616e20616e6f6e796d6f75736c79207363686564756c6564207461736b2e387363686564756c655f6e616d656414010869640401205461736b4e616d650001107768656e300144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f646963f50401ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c0103017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000204585363686564756c652061206e616d6564207461736b2e3063616e63656c5f6e616d656404010869640401205461736b4e616d650003047843616e63656c2061206e616d6564207363686564756c6564207461736b2e387363686564756c655f61667465721001146166746572300144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f646963f50401ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c0103017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000404a8416e6f6e796d6f75736c79207363686564756c652061207461736b20616674657220612064656c61792e507363686564756c655f6e616d65645f616674657214010869640401205461736b4e616d650001146166746572300144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f646963f50401ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c0103017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000504905363686564756c652061206e616d6564207461736b20616674657220612064656c61792e247365745f72657472790c01107461736b3d0101785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e00011c726574726965730801087538000118706572696f64300144426c6f636b4e756d626572466f723c543e0006305901536574206120726574727920636f6e66696775726174696f6e20666f722061207461736b20736f20746861742c20696e206361736520697473207363686564756c65642072756e206661696c732c2069742077696c6c5501626520726574726965642061667465722060706572696f646020626c6f636b732c20666f72206120746f74616c20616d6f756e74206f66206072657472696573602072657472696573206f7220756e74696c2069742473756363656564732e0055015461736b73207768696368206e65656420746f206265207363686564756c656420666f72206120726574727920617265207374696c6c207375626a65637420746f20776569676874206d65746572696e6720616e6451016167656e64612073706163652c2073616d65206173206120726567756c6172207461736b2e204966206120706572696f646963207461736b206661696c732c2069742077696c6c206265207363686564756c6564906e6f726d616c6c79207768696c6520746865207461736b206973207265747279696e672e0051015461736b73207363686564756c6564206173206120726573756c74206f66206120726574727920666f72206120706572696f646963207461736b2061726520756e6e616d65642c206e6f6e2d706572696f6469633d01636c6f6e6573206f6620746865206f726967696e616c207461736b2e20546865697220726574727920636f6e66696775726174696f6e2077696c6c20626520646572697665642066726f6d207468654d016f726967696e616c207461736b277320636f6e66696775726174696f6e2c206275742077696c6c20686176652061206c6f7765722076616c756520666f72206072656d61696e696e6760207468616e20746865646f726967696e616c2060746f74616c5f72657472696573602e3c7365745f72657472795f6e616d65640c010869640401205461736b4e616d6500011c726574726965730801087538000118706572696f64300144426c6f636b4e756d626572466f723c543e0007305d01536574206120726574727920636f6e66696775726174696f6e20666f722061206e616d6564207461736b20736f20746861742c20696e206361736520697473207363686564756c65642072756e206661696c732c2069745d0177696c6c20626520726574726965642061667465722060706572696f646020626c6f636b732c20666f72206120746f74616c20616d6f756e74206f66206072657472696573602072657472696573206f7220756e74696c3069742073756363656564732e0055015461736b73207768696368206e65656420746f206265207363686564756c656420666f72206120726574727920617265207374696c6c207375626a65637420746f20776569676874206d65746572696e6720616e6451016167656e64612073706163652c2073616d65206173206120726567756c6172207461736b2e204966206120706572696f646963207461736b206661696c732c2069742077696c6c206265207363686564756c6564906e6f726d616c6c79207768696c6520746865207461736b206973207265747279696e672e0051015461736b73207363686564756c6564206173206120726573756c74206f66206120726574727920666f72206120706572696f646963207461736b2061726520756e6e616d65642c206e6f6e2d706572696f6469633d01636c6f6e6573206f6620746865206f726967696e616c207461736b2e20546865697220726574727920636f6e66696775726174696f6e2077696c6c20626520646572697665642066726f6d207468654d016f726967696e616c207461736b277320636f6e66696775726174696f6e2c206275742077696c6c20686176652061206c6f7765722076616c756520666f72206072656d61696e696e6760207468616e20746865646f726967696e616c2060746f74616c5f72657472696573602e3063616e63656c5f72657472790401107461736b3d0101785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e000804a852656d6f7665732074686520726574727920636f6e66696775726174696f6e206f662061207461736b2e4863616e63656c5f72657472795f6e616d656404010869640401205461736b4e616d65000904bc43616e63656c2074686520726574727920636f6e66696775726174696f6e206f662061206e616d6564207461736b2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ef50404184f7074696f6e040454013d010108104e6f6e6500000010536f6d6504003d010000010000f9040c3c70616c6c65745f707265696d6167651870616c6c65741043616c6c040454000114346e6f74655f707265696d616765040114627974657338011c5665633c75383e000010745265676973746572206120707265696d616765206f6e2d636861696e2e00550149662074686520707265696d616765207761732070726576696f75736c79207265717565737465642c206e6f2066656573206f72206465706f73697473206172652074616b656e20666f722070726f766964696e67550174686520707265696d6167652e204f74686572776973652c2061206465706f7369742069732074616b656e2070726f706f7274696f6e616c20746f207468652073697a65206f662074686520707265696d6167652e3c756e6e6f74655f707265696d6167650401106861736834011c543a3a48617368000118dc436c65617220616e20756e72657175657374656420707265696d6167652066726f6d207468652072756e74696d652073746f726167652e00fc496620606c656e602069732070726f76696465642c207468656e2069742077696c6c2062652061206d7563682063686561706572206f7065726174696f6e2e0001012d206068617368603a205468652068617368206f662074686520707265696d61676520746f2062652072656d6f7665642066726f6d207468652073746f72652eb82d20606c656e603a20546865206c656e677468206f662074686520707265696d616765206f66206068617368602e40726571756573745f707265696d6167650401106861736834011c543a3a48617368000210410152657175657374206120707265696d6167652062652075706c6f6164656420746f2074686520636861696e20776974686f757420706179696e6720616e792066656573206f72206465706f736974732e00550149662074686520707265696d6167652072657175657374732068617320616c7265616479206265656e2070726f7669646564206f6e2d636861696e2c20776520756e7265736572766520616e79206465706f7369743901612075736572206d6179206861766520706169642c20616e642074616b652074686520636f6e74726f6c206f662074686520707265696d616765206f7574206f662074686569722068616e64732e48756e726571756573745f707265696d6167650401106861736834011c543a3a4861736800030cbc436c65617220612070726576696f75736c79206d616465207265717565737420666f72206120707265696d6167652e002d014e4f54453a2054484953204d555354204e4f542042452043414c4c4544204f4e20606861736860204d4f52452054494d4553205448414e2060726571756573745f707265696d616765602e38656e737572655f75706461746564040118686173686573c50101305665633c543a3a486173683e00040cc4456e7375726520746861742074686520612062756c6b206f66207072652d696d616765732069732075706772616465642e003d015468652063616c6c65722070617973206e6f20666565206966206174206c6561737420393025206f66207072652d696d616765732077657265207375636365737366756c6c7920757064617465642e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732efd040c3c70616c6c65745f74785f70617573651870616c6c65741043616c6c04045400010814706175736504012466756c6c5f6e616d655501015052756e74696d6543616c6c4e616d654f663c543e00001034506175736520612063616c6c2e00b843616e206f6e6c792062652063616c6c6564206279205b60436f6e6669673a3a50617573654f726967696e605d2ec0456d69747320616e205b604576656e743a3a43616c6c506175736564605d206576656e74206f6e20737563636573732e1c756e70617573650401146964656e745501015052756e74696d6543616c6c4e616d654f663c543e00011040556e2d706175736520612063616c6c2e00c043616e206f6e6c792062652063616c6c6564206279205b60436f6e6669673a3a556e70617573654f726967696e605d2ec8456d69747320616e205b604576656e743a3a43616c6c556e706175736564605d206576656e74206f6e20737563636573732e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e01050c4070616c6c65745f696d5f6f6e6c696e651870616c6c65741043616c6c04045400010424686561727462656174080124686561727462656174050501704865617274626561743c426c6f636b4e756d626572466f723c543e3e0001247369676e6174757265090501bc3c543a3a417574686f7269747949642061732052756e74696d654170705075626c69633e3a3a5369676e617475726500000c38232320436f6d706c65786974793afc2d20604f284b2960207768657265204b206973206c656e677468206f6620604b6579736020286865617274626561742e76616c696461746f72735f6c656e298820202d20604f284b29603a206465636f64696e67206f66206c656e67746820604b60040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e0505084070616c6c65745f696d5f6f6e6c696e6524486561727462656174042c426c6f636b4e756d626572013000100130626c6f636b5f6e756d62657230012c426c6f636b4e756d62657200013473657373696f6e5f696e64657810013053657373696f6e496e64657800013c617574686f726974795f696e64657810012441757468496e64657800013876616c696461746f72735f6c656e10010c75333200000905104070616c6c65745f696d5f6f6e6c696e651c737232353531392c6170705f73723235353139245369676e61747572650000040055030148737232353531393a3a5369676e617475726500000d050c3c70616c6c65745f6964656e746974791870616c6c65741043616c6c040454000158346164645f72656769737472617204011c6163636f756e74090301504163636f756e7449644c6f6f6b75704f663c543e00001c7841646420612072656769737472617220746f207468652073797374656d2e00fc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060543a3a5265676973747261724f726967696e602e00a82d20606163636f756e74603a20746865206163636f756e74206f6620746865207265676973747261722e0094456d6974732060526567697374726172416464656460206966207375636365737366756c2e307365745f6964656e74697479040110696e666f1105016c426f783c543a3a4964656e74697479496e666f726d6174696f6e3e000128290153657420616e206163636f756e742773206964656e7469747920696e666f726d6174696f6e20616e6420726573657276652074686520617070726f707269617465206465706f7369742e005501496620746865206163636f756e7420616c726561647920686173206964656e7469747920696e666f726d6174696f6e2c20746865206465706f7369742069732074616b656e2061732070617274207061796d656e7450666f7220746865206e6577206465706f7369742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e008c2d2060696e666f603a20546865206964656e7469747920696e666f726d6174696f6e2e0088456d69747320604964656e7469747953657460206966207375636365737366756c2e207365745f7375627304011073756273990501645665633c28543a3a4163636f756e7449642c2044617461293e0002248c53657420746865207375622d6163636f756e7473206f66207468652073656e6465722e0055015061796d656e743a20416e79206167677265676174652062616c616e63652072657365727665642062792070726576696f757320607365745f73756273602063616c6c732077696c6c2062652072657475726e65642d01616e6420616e20616d6f756e7420605375624163636f756e744465706f736974602077696c6c20626520726573657276656420666f722065616368206974656d20696e206073756273602e006101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206861766520612072656769737465726564246964656e746974792e00b02d206073756273603a20546865206964656e74697479277320286e657729207375622d6163636f756e74732e38636c6561725f6964656e746974790003203901436c65617220616e206163636f756e742773206964656e7469747920696e666f20616e6420616c6c207375622d6163636f756e747320616e642072657475726e20616c6c206465706f736974732e00ec5061796d656e743a20416c6c2072657365727665642062616c616e636573206f6e20746865206163636f756e74206172652072657475726e65642e006101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206861766520612072656769737465726564246964656e746974792e0098456d69747320604964656e74697479436c656172656460206966207375636365737366756c2e44726571756573745f6a756467656d656e740801247265675f696e646578ad020138526567697374726172496e64657800011c6d61785f6665657101013042616c616e63654f663c543e00044094526571756573742061206a756467656d656e742066726f6d2061207265676973747261722e0055015061796d656e743a204174206d6f737420606d61785f666565602077696c6c20626520726573657276656420666f72207061796d656e7420746f2074686520726567697374726172206966206a756467656d656e7418676976656e2e003501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206861766520615072656769737465726564206964656e746974792e001d012d20607265675f696e646578603a2054686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973207265717565737465642e55012d20606d61785f666565603a20546865206d6178696d756d206665652074686174206d617920626520706169642e20546869732073686f756c64206a757374206265206175746f2d706f70756c617465642061733a00306060606e6f636f6d70696c65b853656c663a3a7265676973747261727328292e676574287265675f696e646578292e756e7772617028292e6665650c60606000a4456d69747320604a756467656d656e7452657175657374656460206966207375636365737366756c2e3863616e63656c5f726571756573740401247265675f696e646578100138526567697374726172496e6465780005286843616e63656c20612070726576696f757320726571756573742e00f85061796d656e743a20412070726576696f75736c79207265736572766564206465706f7369742069732072657475726e6564206f6e20737563636573732e003501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206861766520615072656769737465726564206964656e746974792e0045012d20607265675f696e646578603a2054686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973206e6f206c6f6e676572207265717565737465642e00ac456d69747320604a756467656d656e74556e72657175657374656460206966207375636365737366756c2e1c7365745f666565080114696e646578ad020138526567697374726172496e64657800010c6665657101013042616c616e63654f663c543e00061c1901536574207468652066656520726571756972656420666f722061206a756467656d656e7420746f206265207265717565737465642066726f6d2061207265676973747261722e005501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a06f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f42d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e542d2060666565603a20746865206e6577206665652e387365745f6163636f756e745f6964080114696e646578ad020138526567697374726172496e64657800010c6e6577090301504163636f756e7449644c6f6f6b75704f663c543e00071cbc4368616e676520746865206163636f756e74206173736f63696174656420776974682061207265676973747261722e005501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a06f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f42d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e702d20606e6577603a20746865206e6577206163636f756e742049442e287365745f6669656c6473080114696e646578ad020138526567697374726172496e6465780001186669656c6473300129013c543a3a4964656e74697479496e666f726d6174696f6e206173204964656e74697479496e666f726d6174696f6e50726f76696465723e3a3a0a4669656c64734964656e74696669657200081ca853657420746865206669656c6420696e666f726d6174696f6e20666f722061207265676973747261722e005501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a06f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f42d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e0d012d20606669656c6473603a20746865206669656c64732074686174207468652072656769737472617220636f6e6365726e73207468656d73656c76657320776974682e4470726f766964655f6a756467656d656e741001247265675f696e646578ad020138526567697374726172496e646578000118746172676574090301504163636f756e7449644c6f6f6b75704f663c543e0001246a756467656d656e74a105015c4a756467656d656e743c42616c616e63654f663c543e3e0001206964656e7469747934011c543a3a4861736800093cb850726f766964652061206a756467656d656e7420666f7220616e206163636f756e742773206964656e746974792e005501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74b06f6620746865207265676973747261722077686f736520696e64657820697320607265675f696e646578602e0021012d20607265675f696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973206265696e67206d6164652e55012d2060746172676574603a20746865206163636f756e742077686f7365206964656e7469747920746865206a756467656d656e742069732075706f6e2e2054686973206d75737420626520616e206163636f756e747420207769746820612072656769737465726564206964656e746974792e49012d20606a756467656d656e74603a20746865206a756467656d656e74206f662074686520726567697374726172206f6620696e64657820607265675f696e646578602061626f75742060746172676574602e5d012d20606964656e74697479603a205468652068617368206f6620746865205b604964656e74697479496e666f726d6174696f6e50726f7669646572605d20666f72207468617420746865206a756467656d656e742069732c202070726f76696465642e00b04e6f74653a204a756467656d656e747320646f206e6f74206170706c7920746f206120757365726e616d652e0094456d69747320604a756467656d656e74476976656e60206966207375636365737366756c2e346b696c6c5f6964656e74697479040118746172676574090301504163636f756e7449644c6f6f6b75704f663c543e000a30410152656d6f766520616e206163636f756e742773206964656e7469747920616e64207375622d6163636f756e7420696e666f726d6174696f6e20616e6420736c61736820746865206465706f736974732e0061015061796d656e743a2052657365727665642062616c616e6365732066726f6d20607365745f737562736020616e6420607365745f6964656e74697479602061726520736c617368656420616e642068616e646c6564206279450160536c617368602e20566572696669636174696f6e2072657175657374206465706f7369747320617265206e6f742072657475726e65643b20746865792073686f756c642062652063616e63656c6c6564806d616e75616c6c79207573696e67206063616e63656c5f72657175657374602e00f8546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206d617463682060543a3a466f7263654f726967696e602e0055012d2060746172676574603a20746865206163636f756e742077686f7365206964656e7469747920746865206a756467656d656e742069732075706f6e2e2054686973206d75737420626520616e206163636f756e747420207769746820612072656769737465726564206964656e746974792e0094456d69747320604964656e746974794b696c6c656460206966207375636365737366756c2e1c6164645f73756208010c737562090301504163636f756e7449644c6f6f6b75704f663c543e000110646174611d05011044617461000b1cac4164642074686520676976656e206163636f756e7420746f207468652073656e646572277320737562732e005d015061796d656e743a2042616c616e636520726573657276656420627920612070726576696f757320607365745f73756273602063616c6c20666f72206f6e65207375622077696c6c20626520726570617472696174656438746f207468652073656e6465722e006101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061207265676973746572656458737562206964656e74697479206f662060737562602e2872656e616d655f73756208010c737562090301504163636f756e7449644c6f6f6b75704f663c543e000110646174611d05011044617461000c10cc416c74657220746865206173736f636961746564206e616d65206f662074686520676976656e207375622d6163636f756e742e006101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061207265676973746572656458737562206964656e74697479206f662060737562602e2872656d6f76655f73756204010c737562090301504163636f756e7449644c6f6f6b75704f663c543e000d1cc052656d6f76652074686520676976656e206163636f756e742066726f6d207468652073656e646572277320737562732e005d015061796d656e743a2042616c616e636520726573657276656420627920612070726576696f757320607365745f73756273602063616c6c20666f72206f6e65207375622077696c6c20626520726570617472696174656438746f207468652073656e6465722e006101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061207265676973746572656458737562206964656e74697479206f662060737562602e20717569745f737562000e288c52656d6f7665207468652073656e6465722061732061207375622d6163636f756e742e005d015061796d656e743a2042616c616e636520726573657276656420627920612070726576696f757320607365745f73756273602063616c6c20666f72206f6e65207375622077696c6c206265207265706174726961746564b4746f207468652073656e64657220282a6e6f742a20746865206f726967696e616c206465706f7369746f72292e006101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d7573742068617665206120726567697374657265643c73757065722d6964656e746974792e0045014e4f54453a20546869732073686f756c64206e6f74206e6f726d616c6c7920626520757365642c206275742069732070726f766964656420696e207468652063617365207468617420746865206e6f6e2d1101636f6e74726f6c6c6572206f6620616e206163636f756e74206973206d616c6963696f75736c7920726567697374657265642061732061207375622d6163636f756e742e586164645f757365726e616d655f617574686f726974790c0124617574686f72697479090301504163636f756e7449644c6f6f6b75704f663c543e00011873756666697838011c5665633c75383e000128616c6c6f636174696f6e10010c753332000f10550141646420616e20604163636f756e744964602077697468207065726d697373696f6e20746f206772616e7420757365726e616d65732077697468206120676976656e20607375666669786020617070656e6465642e00590154686520617574686f726974792063616e206772616e7420757020746f2060616c6c6f636174696f6e6020757365726e616d65732e20546f20746f7020757020746865697220616c6c6f636174696f6e2c2074686579490173686f756c64206a75737420697373756520286f7220726571756573742076696120676f7665726e616e6365292061206e657720606164645f757365726e616d655f617574686f72697479602063616c6c2e6472656d6f76655f757365726e616d655f617574686f72697479040124617574686f72697479090301504163636f756e7449644c6f6f6b75704f663c543e001004c452656d6f76652060617574686f72697479602066726f6d2074686520757365726e616d6520617574686f7269746965732e407365745f757365726e616d655f666f720c010c77686f090301504163636f756e7449644c6f6f6b75704f663c543e000120757365726e616d6538011c5665633c75383e0001247369676e6174757265a50501704f7074696f6e3c543a3a4f6666636861696e5369676e61747572653e0011240d015365742074686520757365726e616d6520666f72206077686f602e204d7573742062652063616c6c6564206279206120757365726e616d6520617574686f726974792e00550154686520617574686f72697479206d757374206861766520616e2060616c6c6f636174696f6e602e2055736572732063616e20656974686572207072652d7369676e20746865697220757365726e616d6573206f7248616363657074207468656d206c617465722e003c557365726e616d6573206d7573743ad820202d204f6e6c7920636f6e7461696e206c6f776572636173652041534349492063686172616374657273206f72206469676974732e350120202d205768656e20636f6d62696e656420776974682074686520737566666978206f66207468652069737375696e6720617574686f72697479206265205f6c657373207468616e5f207468656020202020604d6178557365726e616d654c656e677468602e3c6163636570745f757365726e616d65040120757365726e616d658101012c557365726e616d653c543e0012084d01416363657074206120676976656e20757365726e616d65207468617420616e2060617574686f7269747960206772616e7465642e205468652063616c6c206d75737420696e636c756465207468652066756c6c88757365726e616d652c20617320696e2060757365726e616d652e737566666978602e5c72656d6f76655f657870697265645f617070726f76616c040120757365726e616d658101012c557365726e616d653c543e00130c610152656d6f766520616e206578706972656420757365726e616d6520617070726f76616c2e2054686520757365726e616d652077617320617070726f76656420627920616e20617574686f7269747920627574206e657665725501616363657074656420627920746865207573657220616e64206d757374206e6f77206265206265796f6e64206974732065787069726174696f6e2e205468652063616c6c206d75737420696e636c756465207468659c66756c6c20757365726e616d652c20617320696e2060757365726e616d652e737566666978602e507365745f7072696d6172795f757365726e616d65040120757365726e616d658101012c557365726e616d653c543e0014043101536574206120676976656e20757365726e616d6520617320746865207072696d6172792e2054686520757365726e616d652073686f756c6420696e636c75646520746865207375666669782e6072656d6f76655f64616e676c696e675f757365726e616d65040120757365726e616d658101012c557365726e616d653c543e001508550152656d6f7665206120757365726e616d65207468617420636f72726573706f6e647320746f20616e206163636f756e742077697468206e6f206964656e746974792e20457869737473207768656e20612075736572c067657473206120757365726e616d6520627574207468656e2063616c6c732060636c6561725f6964656e74697479602e04704964656e746974792070616c6c6574206465636c61726174696f6e2e11050c3c70616c6c65745f6964656e74697479186c6567616379304964656e74697479496e666f04284669656c644c696d697400002401286164646974696f6e616c15050190426f756e6465645665633c28446174612c2044617461292c204669656c644c696d69743e00011c646973706c61791d050110446174610001146c6567616c1d0501104461746100010c7765621d0501104461746100011072696f741d05011044617461000114656d61696c1d0501104461746100013c7067705f66696e6765727072696e74950501404f7074696f6e3c5b75383b2032305d3e000114696d6167651d0501104461746100011c747769747465721d05011044617461000015050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454011905045300000400910501185665633c543e00001905000004081d051d05001d050c3c70616c6c65745f6964656e746974791474797065731044617461000198104e6f6e65000000105261773004002105000001001052617731040025050000020010526177320400290500000300105261773304002d050000040010526177340400480000050010526177350400310500000600105261773604003505000007001052617737040039050000080010526177380400f10200000900105261773904003d0500000a001452617731300400410500000b001452617731310400450500000c001452617731320400490500000d0014526177313304004d0500000e001452617731340400510500000f00145261773135040055050000100014526177313604004d0100001100145261773137040059050000120014526177313804005d0500001300145261773139040061050000140014526177323004009901000015001452617732310400650500001600145261773232040069050000170014526177323304006d050000180014526177323404007105000019001452617732350400750500001a001452617732360400790500001b0014526177323704007d0500001c001452617732380400810500001d001452617732390400850500001e001452617733300400890500001f0014526177333104008d0500002000145261773332040004000021002c426c616b6554776f323536040004000022001853686132353604000400002300244b656363616b323536040004000024002c536861546872656532353604000400002500002105000003000000000800250500000301000000080029050000030200000008002d050000030300000008003105000003050000000800350500000306000000080039050000030700000008003d0500000309000000080041050000030a000000080045050000030b000000080049050000030c00000008004d050000030d000000080051050000030e000000080055050000030f000000080059050000031100000008005d050000031200000008006105000003130000000800650500000315000000080069050000031600000008006d050000031700000008007105000003180000000800750500000319000000080079050000031a00000008007d050000031b000000080081050000031c000000080085050000031d000000080089050000031e00000008008d050000031f00000008009105000002190500950504184f7074696f6e0404540199010108104e6f6e6500000010536f6d6504009901000001000099050000029d05009d0500000408001d0500a1050c3c70616c6c65745f6964656e74697479147479706573244a756467656d656e74041c42616c616e63650118011c1c556e6b6e6f776e0000001c46656550616964040018011c42616c616e636500010028526561736f6e61626c65000200244b6e6f776e476f6f64000300244f75744f6644617465000400284c6f775175616c697479000500244572726f6e656f757300060000a50504184f7074696f6e04045401a9050108104e6f6e6500000010536f6d650400a9050000010000a905082873705f72756e74696d65384d756c74695369676e617475726500010c1c45643235353139040055030148656432353531393a3a5369676e61747572650000001c53723235353139040055030148737232353531393a3a5369676e617475726500010014456364736104000102014065636473613a3a5369676e617475726500020000ad050c3870616c6c65745f7574696c6974791870616c6c65741043616c6c04045400011814626174636804011463616c6c73b105017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0000487c53656e642061206261746368206f662064697370617463682063616c6c732e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e0055014966206f726967696e20697320726f6f74207468656e207468652063616c6c7320617265206469737061746368656420776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e0034232320436f6d706c6578697479d02d204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e005501546869732077696c6c2072657475726e20604f6b6020696e20616c6c2063697263756d7374616e6365732e20546f2064657465726d696e65207468652073756363657373206f66207468652062617463682c20616e31016576656e74206973206465706f73697465642e20496620612063616c6c206661696c656420616e64207468652062617463682077617320696e7465727275707465642c207468656e207468655501604261746368496e74657272757074656460206576656e74206973206465706f73697465642c20616c6f6e67207769746820746865206e756d626572206f66207375636365737366756c2063616c6c73206d6164654d01616e6420746865206572726f72206f6620746865206661696c65642063616c6c2e20496620616c6c2077657265207375636365737366756c2c207468656e2074686520604261746368436f6d706c65746564604c6576656e74206973206465706f73697465642e3461735f64657269766174697665080114696e646578ed01010c75313600011063616c6c0103017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000134dc53656e6420612063616c6c207468726f75676820616e20696e64657865642070736575646f6e796d206f66207468652073656e6465722e00550146696c7465722066726f6d206f726967696e206172652070617373656420616c6f6e672e205468652063616c6c2077696c6c2062652064697370617463686564207769746820616e206f726967696e207768696368bc757365207468652073616d652066696c74657220617320746865206f726967696e206f6620746869732063616c6c2e0045014e4f54453a20496620796f75206e65656420746f20656e73757265207468617420616e79206163636f756e742d62617365642066696c746572696e67206973206e6f7420686f6e6f7265642028692e652e61016265636175736520796f7520657870656374206070726f78796020746f2068617665206265656e2075736564207072696f7220696e207468652063616c6c20737461636b20616e6420796f7520646f206e6f742077616e7451017468652063616c6c207265737472696374696f6e7320746f206170706c7920746f20616e79207375622d6163636f756e7473292c207468656e20757365206061735f6d756c74695f7468726573686f6c645f31607c696e20746865204d756c74697369672070616c6c657420696e73746561642e00f44e4f54453a205072696f7220746f2076657273696f6e202a31322c2074686973207761732063616c6c6564206061735f6c696d697465645f737562602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e2462617463685f616c6c04011463616c6c73b105017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000234ec53656e642061206261746368206f662064697370617463682063616c6c7320616e642061746f6d6963616c6c792065786563757465207468656d2e21015468652077686f6c65207472616e73616374696f6e2077696c6c20726f6c6c6261636b20616e64206661696c20696620616e79206f66207468652063616c6c73206661696c65642e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e0055014966206f726967696e20697320726f6f74207468656e207468652063616c6c7320617265206469737061746368656420776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e0034232320436f6d706c6578697479d02d204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c64697370617463685f617308012461735f6f726967696eb5050154426f783c543a3a50616c6c6574734f726967696e3e00011063616c6c0103017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000318c84469737061746368657320612066756e6374696f6e2063616c6c207769746820612070726f7669646564206f726967696e2e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e0034232320436f6d706c65786974791c2d204f2831292e2c666f7263655f626174636804011463616c6c73b105017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0004347c53656e642061206261746368206f662064697370617463682063616c6c732ed4556e6c696b6520606261746368602c20697420616c6c6f7773206572726f727320616e6420776f6e277420696e746572727570742e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e004d014966206f726967696e20697320726f6f74207468656e207468652063616c6c732061726520646973706174636820776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e0034232320436f6d706c6578697479d02d204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c776974685f77656967687408011063616c6c0103017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000118776569676874280118576569676874000518c4446973706174636820612066756e6374696f6e2063616c6c2077697468206120737065636966696564207765696768742e002d01546869732066756e6374696f6e20646f6573206e6f7420636865636b2074686520776569676874206f66207468652063616c6c2c20616e6420696e737465616420616c6c6f777320746865b8526f6f74206f726967696e20746f20737065636966792074686520776569676874206f66207468652063616c6c2e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732eb105000002010300b505085874616e676c655f746573746e65745f72756e74696d65304f726967696e43616c6c657200010c1873797374656d0400b90501746672616d655f73797374656d3a3a4f726967696e3c52756e74696d653e0001001c436f756e63696c0400bd0501010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e000d0020457468657265756d0400c105015c70616c6c65745f657468657265756d3a3a4f726967696e00210000b9050c346672616d655f737570706f7274206469737061746368245261774f726967696e04244163636f756e7449640100010c10526f6f74000000185369676e656404000001244163636f756e744964000100104e6f6e6500020000bd05084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d62657273080010012c4d656d626572436f756e74000010012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d00020000c105083c70616c6c65745f657468657265756d245261774f726967696e0001044c457468657265756d5472616e73616374696f6e0400950101104831363000000000c5050c3c70616c6c65745f6d756c74697369671870616c6c65741043616c6c0404540001105061735f6d756c74695f7468726573686f6c645f310801446f746865725f7369676e61746f72696573490201445665633c543a3a4163636f756e7449643e00011063616c6c0103017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0000305101496d6d6564696174656c792064697370617463682061206d756c74692d7369676e61747572652063616c6c207573696e6720612073696e676c6520617070726f76616c2066726f6d207468652063616c6c65722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003d012d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f206172652070617274206f662074686501016d756c74692d7369676e61747572652c2062757420646f206e6f7420706172746963697061746520696e2074686520617070726f76616c2070726f636573732e882d206063616c6c603a205468652063616c6c20746f2062652065786563757465642e00b8526573756c74206973206571756976616c656e7420746f20746865206469737061746368656420726573756c742e0034232320436f6d706c657869747919014f285a202b204329207768657265205a20697320746865206c656e677468206f66207468652063616c6c20616e6420432069747320657865637574696f6e207765696768742e2061735f6d756c74691401247468726573686f6c64ed01010c7531360001446f746865725f7369676e61746f72696573490201445665633c543a3a4163636f756e7449643e00013c6d617962655f74696d65706f696e74c90501904f7074696f6e3c54696d65706f696e743c426c6f636b4e756d626572466f723c543e3e3e00011063616c6c0103017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0001286d61785f77656967687428011857656967687400019c5501526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966f8617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e00b049662074686572652061726520656e6f7567682c207468656e206469737061746368207468652063616c6c2e002d015061796d656e743a20604465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c75733d01607468726573686f6c64602074696d657320604465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f723469732063616e63656c6c65642e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0055012d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e41012d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f766520746869736c64697370617463682e204d6179206e6f7420626520656d7074792e59012d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e20496620697420697351016e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d47472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2e882d206063616c6c603a205468652063616c6c20746f2062652065786563757465642e001d014e4f54453a20556e6c6573732074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2067656e6572616c6c792077616e7420746f20757365190160617070726f76655f61735f6d756c74696020696e73746561642c2073696e6365206974206f6e6c7920726571756972657320612068617368206f66207468652063616c6c2e005901526573756c74206973206571756976616c656e7420746f20746865206469737061746368656420726573756c7420696620607468726573686f6c64602069732065786163746c79206031602e204f746865727769736555016f6e20737563636573732c20726573756c7420697320604f6b6020616e642074686520726573756c742066726f6d2074686520696e746572696f722063616c6c2c206966206974207761732065786563757465642cdc6d617920626520666f756e6420696e20746865206465706f736974656420604d756c7469736967457865637574656460206576656e742e0034232320436f6d706c6578697479502d20604f2853202b205a202b2043616c6c29602ecc2d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e3d012d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f66450120207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2e21012d204f6e652063616c6c20656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285a296020776865726520605a602069732074782d6c656e2ebc2d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed42d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292ef82d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e302d204f6e65206576656e742e6c2d2054686520776569676874206f6620746865206063616c6c602e4d012d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061206465706f7369741901202074616b656e20666f7220697473206c69666574696d65206f6620604465706f73697442617365202b207468726573686f6c64202a204465706f736974466163746f72602e40617070726f76655f61735f6d756c74691401247468726573686f6c64ed01010c7531360001446f746865725f7369676e61746f72696573490201445665633c543a3a4163636f756e7449643e00013c6d617962655f74696d65706f696e74c90501904f7074696f6e3c54696d65706f696e743c426c6f636b4e756d626572466f723c543e3e3e00012463616c6c5f686173680401205b75383b2033325d0001286d61785f7765696768742801185765696768740002785501526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966f8617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e002d015061796d656e743a20604465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c75733d01607468726573686f6c64602074696d657320604465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f723469732063616e63656c6c65642e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0055012d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e41012d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f766520746869736c64697370617463682e204d6179206e6f7420626520656d7074792e59012d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e20496620697420697351016e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d47472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2ecc2d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e0035014e4f54453a2049662074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2077616e7420746f20757365206061735f6d756c74696020696e73746561642e0034232320436f6d706c6578697479242d20604f285329602ecc2d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e3d012d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f66450120207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ebc2d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed42d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292ef82d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e302d204f6e65206576656e742e4d012d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061206465706f7369741901202074616b656e20666f7220697473206c69666574696d65206f6620604465706f73697442617365202b207468726573686f6c64202a204465706f736974466163746f72602e3c63616e63656c5f61735f6d756c74691001247468726573686f6c64ed01010c7531360001446f746865725f7369676e61746f72696573490201445665633c543a3a4163636f756e7449643e00012474696d65706f696e748d01017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e00012463616c6c5f686173680401205b75383b2033325d000354550143616e63656c2061207072652d6578697374696e672c206f6e2d676f696e67206d756c7469736967207472616e73616374696f6e2e20416e79206465706f7369742072657365727665642070726576696f75736c79c4666f722074686973206f7065726174696f6e2077696c6c20626520756e7265736572766564206f6e20737563636573732e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0055012d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e41012d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f766520746869736c64697370617463682e204d6179206e6f7420626520656d7074792e5d012d206074696d65706f696e74603a205468652074696d65706f696e742028626c6f636b206e756d62657220616e64207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c787472616e73616374696f6e20666f7220746869732064697370617463682ecc2d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e0034232320436f6d706c6578697479242d20604f285329602ecc2d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e3d012d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f66450120207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ebc2d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602e302d204f6e65206576656e742e842d20492f4f3a2031207265616420604f285329602c206f6e652072656d6f76652e702d2053746f726167653a2072656d6f766573206f6e65206974656d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ec90504184f7074696f6e040454018d010108104e6f6e6500000010536f6d6504008d010000010000cd050c3c70616c6c65745f657468657265756d1870616c6c65741043616c6c040454000104207472616e7361637404012c7472616e73616374696f6ed105012c5472616e73616374696f6e000004845472616e7361637420616e20457468657265756d207472616e73616374696f6e2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ed1050c20657468657265756d2c7472616e73616374696f6e345472616e73616374696f6e563200010c184c65676163790400d50501444c65676163795472616e73616374696f6e0000001c454950323933300400e5050148454950323933305472616e73616374696f6e0001001c454950313535390400f1050148454950313535395472616e73616374696f6e00020000d5050c20657468657265756d2c7472616e73616374696f6e444c65676163795472616e73616374696f6e00001c01146e6f6e6365cd010110553235360001246761735f7072696365cd010110553235360001246761735f6c696d6974cd01011055323536000118616374696f6ed90501445472616e73616374696f6e416374696f6e00011476616c7565cd01011055323536000114696e70757438011442797465730001247369676e6174757265dd0501505472616e73616374696f6e5369676e61747572650000d9050c20657468657265756d2c7472616e73616374696f6e445472616e73616374696f6e416374696f6e0001081043616c6c040095010110483136300000001843726561746500010000dd050c20657468657265756d2c7472616e73616374696f6e505472616e73616374696f6e5369676e617475726500000c010476e10501545472616e73616374696f6e5265636f766572794964000104723401104832353600010473340110483235360000e1050c20657468657265756d2c7472616e73616374696f6e545472616e73616374696f6e5265636f7665727949640000040030010c7536340000e5050c20657468657265756d2c7472616e73616374696f6e48454950323933305472616e73616374696f6e00002c0120636861696e5f696430010c7536340001146e6f6e6365cd010110553235360001246761735f7072696365cd010110553235360001246761735f6c696d6974cd01011055323536000118616374696f6ed90501445472616e73616374696f6e416374696f6e00011476616c7565cd01011055323536000114696e707574380114427974657300012c6163636573735f6c697374e90501284163636573734c6973740001306f64645f795f706172697479200110626f6f6c000104723401104832353600010473340110483235360000e905000002ed0500ed050c20657468657265756d2c7472616e73616374696f6e384163636573734c6973744974656d000008011c616464726573739501011c4164647265737300013073746f726167655f6b657973c50101245665633c483235363e0000f1050c20657468657265756d2c7472616e73616374696f6e48454950313535395472616e73616374696f6e0000300120636861696e5f696430010c7536340001146e6f6e6365cd010110553235360001606d61785f7072696f726974795f6665655f7065725f676173cd0101105532353600013c6d61785f6665655f7065725f676173cd010110553235360001246761735f6c696d6974cd01011055323536000118616374696f6ed90501445472616e73616374696f6e416374696f6e00011476616c7565cd01011055323536000114696e707574380114427974657300012c6163636573735f6c697374e90501284163636573734c6973740001306f64645f795f706172697479200110626f6f6c000104723401104832353600010473340110483235360000f5050c2870616c6c65745f65766d1870616c6c65741043616c6c04045400011020776974686472617708011c61646472657373950101104831363000011476616c756518013042616c616e63654f663c543e000004e057697468647261772062616c616e63652066726f6d2045564d20696e746f2063757272656e63792f62616c616e6365732070616c6c65742e1063616c6c240118736f7572636595010110483136300001187461726765749501011048313630000114696e70757438011c5665633c75383e00011476616c7565cd010110553235360001246761735f6c696d697430010c75363400013c6d61785f6665655f7065725f676173cd010110553235360001606d61785f7072696f726974795f6665655f7065725f676173f90501304f7074696f6e3c553235363e0001146e6f6e6365f90501304f7074696f6e3c553235363e00012c6163636573735f6c697374fd0501585665633c28483136302c205665633c483235363e293e0001045d01497373756520616e2045564d2063616c6c206f7065726174696f6e2e20546869732069732073696d696c617220746f2061206d6573736167652063616c6c207472616e73616374696f6e20696e20457468657265756d2e18637265617465200118736f757263659501011048313630000110696e697438011c5665633c75383e00011476616c7565cd010110553235360001246761735f6c696d697430010c75363400013c6d61785f6665655f7065725f676173cd010110553235360001606d61785f7072696f726974795f6665655f7065725f676173f90501304f7074696f6e3c553235363e0001146e6f6e6365f90501304f7074696f6e3c553235363e00012c6163636573735f6c697374fd0501585665633c28483136302c205665633c483235363e293e0002085101497373756520616e2045564d20637265617465206f7065726174696f6e2e20546869732069732073696d696c617220746f206120636f6e7472616374206372656174696f6e207472616e73616374696f6e20696e24457468657265756d2e1c63726561746532240118736f757263659501011048313630000110696e697438011c5665633c75383e00011073616c743401104832353600011476616c7565cd010110553235360001246761735f6c696d697430010c75363400013c6d61785f6665655f7065725f676173cd010110553235360001606d61785f7072696f726974795f6665655f7065725f676173f90501304f7074696f6e3c553235363e0001146e6f6e6365f90501304f7074696f6e3c553235363e00012c6163636573735f6c697374fd0501585665633c28483136302c205665633c483235363e293e0003047c497373756520616e2045564d2063726561746532206f7065726174696f6e2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ef90504184f7074696f6e04045401cd010108104e6f6e6500000010536f6d650400cd010000010000fd050000020106000106000004089501c5010005060c4870616c6c65745f64796e616d69635f6665651870616c6c65741043616c6c040454000104646e6f74655f6d696e5f6761735f70726963655f746172676574040118746172676574cd01011055323536000000040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e09060c3c70616c6c65745f626173655f6665651870616c6c65741043616c6c040454000108507365745f626173655f6665655f7065725f67617304010c666565cd01011055323536000000387365745f656c6173746963697479040128656c6173746963697479d501011c5065726d696c6c000100040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e0d060c6470616c6c65745f686f746669785f73756666696369656e74731870616c6c65741043616c6c04045400010478686f746669785f696e635f6163636f756e745f73756666696369656e7473040124616464726573736573110601245665633c483136303e0000100502496e6372656d656e74206073756666696369656e74736020666f72206578697374696e67206163636f756e747320686176696e672061206e6f6e7a65726f20606e6f6e63656020627574207a65726f206073756666696369656e7473602c2060636f6e73756d6572736020616e64206070726f766964657273602076616c75652e2d0154686973207374617465207761732063617573656420627920612070726576696f75732062756720696e2045564d20637265617465206163636f756e7420646973706174636861626c652e006501416e79206163636f756e747320696e2074686520696e707574206c697374206e6f742073617469736679696e67207468652061626f766520636f6e646974696f6e2077696c6c2072656d61696e20756e61666665637465642e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e110600000295010015060c5470616c6c65745f61697264726f705f636c61696d731870616c6c65741043616c6c04045400011814636c61696d0c011064657374190601504f7074696f6e3c4d756c7469416464726573733e0001187369676e6572190601504f7074696f6e3c4d756c7469416464726573733e0001247369676e61747572651d0601544d756c7469416464726573735369676e6174757265000060904d616b65206120636c61696d20746f20636f6c6c65637420796f757220746f6b656e732e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f4e6f6e655f2e0050556e7369676e65642056616c69646174696f6e3a0501412063616c6c20746f20636c61696d206973206465656d65642076616c696420696620746865207369676e61747572652070726f7669646564206d6174636865737c746865206578706563746564207369676e6564206d657373616765206f663a00683e20457468657265756d205369676e6564204d6573736167653a943e2028636f6e666967757265642070726566697820737472696e672928616464726573732900a4616e6420606164647265737360206d6174636865732074686520606465737460206163636f756e742e002c506172616d65746572733ad82d206064657374603a205468652064657374696e6174696f6e206163636f756e7420746f207061796f75742074686520636c61696d2e5d012d2060657468657265756d5f7369676e6174757265603a20546865207369676e6174757265206f6620616e20657468657265756d207369676e6564206d657373616765206d61746368696e672074686520666f726d61744820206465736372696265642061626f76652e00203c7765696768743efc54686520776569676874206f6620746869732063616c6c20697320696e76617269616e74206f7665722074686520696e70757420706172616d65746572732ee057656967687420696e636c75646573206c6f67696320746f2076616c696461746520756e7369676e65642060636c61696d602063616c6c2e0058546f74616c20436f6d706c65786974793a204f283129243c2f7765696768743e286d696e745f636c61696d10010c77686fdd0101304d756c74694164647265737300011476616c756518013042616c616e63654f663c543e00014076657374696e675f7363686564756c6529060179014f7074696f6e3c426f756e6465645665633c0a2842616c616e63654f663c543e2c2042616c616e63654f663c543e2c20426c6f636b4e756d626572466f723c543e292c20543a3a0a4d617856657374696e675363686564756c65733e2c3e00012473746174656d656e74390601544f7074696f6e3c53746174656d656e744b696e643e00013ca84d696e742061206e657720636c61696d20746f20636f6c6c656374206e617469766520746f6b656e732e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e002c506172616d65746572733af02d206077686f603a2054686520457468657265756d206164647265737320616c6c6f77656420746f20636f6c6c656374207468697320636c61696d2ef02d206076616c7565603a20546865206e756d626572206f66206e617469766520746f6b656e7320746861742077696c6c20626520636c61696d65642e2d012d206076657374696e675f7363686564756c65603a20416e206f7074696f6e616c2076657374696e67207363686564756c6520666f72207468657365206e617469766520746f6b656e732e00203c7765696768743efc54686520776569676874206f6620746869732063616c6c20697320696e76617269616e74206f7665722074686520696e70757420706172616d65746572732e1d01576520617373756d6520776f7273742063617365207468617420626f74682076657374696e6720616e642073746174656d656e74206973206265696e6720696e7365727465642e0058546f74616c20436f6d706c65786974793a204f283129243c2f7765696768743e30636c61696d5f61747465737410011064657374190601504f7074696f6e3c4d756c7469416464726573733e0001187369676e6572190601504f7074696f6e3c4d756c7469416464726573733e0001247369676e61747572651d0601544d756c7469416464726573735369676e617475726500012473746174656d656e7438011c5665633c75383e00026c09014d616b65206120636c61696d20746f20636f6c6c65637420796f7572206e617469766520746f6b656e73206279207369676e696e6720612073746174656d656e742e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f4e6f6e655f2e0050556e7369676e65642056616c69646174696f6e3a2901412063616c6c20746f2060636c61696d5f61747465737460206973206465656d65642076616c696420696620746865207369676e61747572652070726f7669646564206d6174636865737c746865206578706563746564207369676e6564206d657373616765206f663a00683e20457468657265756d205369676e6564204d6573736167653ac03e2028636f6e666967757265642070726566697820737472696e67292861646472657373292873746174656d656e7429004901616e6420606164647265737360206d6174636865732074686520606465737460206163636f756e743b20746865206073746174656d656e7460206d757374206d617463682074686174207768696368206973c06578706563746564206163636f7264696e6720746f20796f757220707572636861736520617272616e67656d656e742e002c506172616d65746572733ad82d206064657374603a205468652064657374696e6174696f6e206163636f756e7420746f207061796f75742074686520636c61696d2e5d012d2060657468657265756d5f7369676e6174757265603a20546865207369676e6174757265206f6620616e20657468657265756d207369676e6564206d657373616765206d61746368696e672074686520666f726d61744820206465736372696265642061626f76652e39012d206073746174656d656e74603a20546865206964656e74697479206f66207468652073746174656d656e74207768696368206973206265696e6720617474657374656420746f20696e207468653020207369676e61747572652e00203c7765696768743efc54686520776569676874206f6620746869732063616c6c20697320696e76617269616e74206f7665722074686520696e70757420706172616d65746572732efc57656967687420696e636c75646573206c6f67696320746f2076616c696461746520756e7369676e65642060636c61696d5f617474657374602063616c6c2e0058546f74616c20436f6d706c65786974793a204f283129243c2f7765696768743e286d6f76655f636c61696d08010c6f6c64dd0101304d756c74694164647265737300010c6e6577dd0101304d756c7469416464726573730004005c666f7263655f7365745f6578706972795f636f6e6669670801306578706972795f626c6f636b300144426c6f636b4e756d626572466f723c543e00011064657374dd0101304d756c74694164647265737300050878536574207468652076616c756520666f7220657870697279636f6e6669678443616e206f6e6c792062652063616c6c656420627920466f7263654f726967696e30636c61696d5f7369676e656404011064657374190601504f7074696f6e3c4d756c7469416464726573733e00060460436c61696d2066726f6d207369676e6564206f726967696e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e190604184f7074696f6e04045401dd010108104e6f6e6500000010536f6d650400dd0100000100001d060c5470616c6c65745f61697264726f705f636c61696d73147574696c73544d756c7469416464726573735369676e61747572650001080c45564d04002106013845636473615369676e6174757265000000184e6174697665040025060140537232353531395369676e6174757265000100002106105470616c6c65745f61697264726f705f636c61696d73147574696c7340657468657265756d5f616464726573733845636473615369676e617475726500000400010201205b75383b2036355d000025060c5470616c6c65745f61697264726f705f636c61696d73147574696c7340537232353531395369676e617475726500000400550301245369676e61747572650000290604184f7074696f6e040454012d060108104e6f6e6500000010536f6d6504002d0600000100002d060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454013106045300000400350601185665633c543e000031060000040c181830003506000002310600390604184f7074696f6e040454013d060108104e6f6e6500000010536f6d6504003d0600000100003d06085470616c6c65745f61697264726f705f636c61696d733453746174656d656e744b696e640001081c526567756c617200000010536166650001000041060c3070616c6c65745f70726f78791870616c6c65741043616c6c0404540001281470726f78790c01107265616c090301504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f74797065450601504f7074696f6e3c543a3a50726f7879547970653e00011063616c6c0103017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0000244d0144697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f726973656420666f72207468726f75676830606164645f70726f7879602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e61012d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed02d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e246164645f70726f78790c012064656c6567617465090301504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065e9010130543a3a50726f78795479706500011464656c6179300144426c6f636b4e756d626572466f723c543e0001244501526567697374657220612070726f7879206163636f756e7420666f72207468652073656e64657220746861742069732061626c6520746f206d616b652063616c6c73206f6e2069747320626568616c662e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a11012d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f206d616b6520612070726f78792efc2d206070726f78795f74797065603a20546865207065726d697373696f6e7320616c6c6f77656420666f7220746869732070726f7879206163636f756e742e4d012d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c79206265147a65726f2e3072656d6f76655f70726f78790c012064656c6567617465090301504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065e9010130543a3a50726f78795479706500011464656c6179300144426c6f636b4e756d626572466f723c543e00021ca8556e726567697374657220612070726f7879206163636f756e7420666f72207468652073656e6465722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a25012d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f2072656d6f766520617320612070726f78792e41012d206070726f78795f74797065603a20546865207065726d697373696f6e732063757272656e746c7920656e61626c656420666f72207468652072656d6f7665642070726f7879206163636f756e742e3872656d6f76655f70726f78696573000318b4556e726567697374657220616c6c2070726f7879206163636f756e747320666f72207468652073656e6465722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0041015741524e494e473a2054686973206d61792062652063616c6c6564206f6e206163636f756e74732063726561746564206279206070757265602c20686f776576657220696620646f6e652c207468656e590174686520756e726573657276656420666565732077696c6c20626520696e61636365737369626c652e202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a2c6372656174655f707572650c012870726f78795f74797065e9010130543a3a50726f78795479706500011464656c6179300144426c6f636b4e756d626572466f723c543e000114696e646578ed01010c7531360004483901537061776e2061206672657368206e6577206163636f756e7420746861742069732067756172616e7465656420746f206265206f746865727769736520696e61636365737369626c652c20616e64fc696e697469616c697a65206974207769746820612070726f7879206f66206070726f78795f747970656020666f7220606f726967696e602073656e6465722e006c5265717569726573206120605369676e656460206f726967696e2e0051012d206070726f78795f74797065603a205468652074797065206f66207468652070726f78792074686174207468652073656e6465722077696c6c2062652072656769737465726564206173206f766572207468654d016e6577206163636f756e742e20546869732077696c6c20616c6d6f737420616c7761797320626520746865206d6f7374207065726d697373697665206050726f7879547970656020706f737369626c6520746f78616c6c6f7720666f72206d6178696d756d20666c65786962696c6974792e51012d2060696e646578603a204120646973616d626967756174696f6e20696e6465782c20696e206361736520746869732069732063616c6c6564206d756c7469706c652074696d657320696e207468652073616d655d017472616e73616374696f6e2028652e672e207769746820607574696c6974793a3a626174636860292e20556e6c65737320796f75277265207573696e67206062617463686020796f752070726f6261626c79206a7573744077616e7420746f20757365206030602e4d012d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c79206265147a65726f2e0051014661696c73207769746820604475706c69636174656020696620746869732068617320616c7265616479206265656e2063616c6c656420696e2074686973207472616e73616374696f6e2c2066726f6d207468659873616d652073656e6465722c2077697468207468652073616d6520706172616d65746572732e00e44661696c732069662074686572652061726520696e73756666696369656e742066756e647320746f2070617920666f72206465706f7369742e246b696c6c5f7075726514011c737061776e6572090301504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065e9010130543a3a50726f787954797065000114696e646578ed01010c7531360001186865696768742c0144426c6f636b4e756d626572466f723c543e0001246578745f696e646578ad02010c753332000540a052656d6f76657320612070726576696f75736c7920737061776e656420707572652070726f78792e0049015741524e494e473a202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a20416e792066756e64732068656c6420696e2069742077696c6c20626534696e61636365737369626c652e0059015265717569726573206120605369676e656460206f726967696e2c20616e64207468652073656e646572206163636f756e74206d7573742068617665206265656e206372656174656420627920612063616c6c20746f94607075726560207769746820636f72726573706f6e64696e6720706172616d65746572732e0039012d2060737061776e6572603a20546865206163636f756e742074686174206f726967696e616c6c792063616c6c65642060707572656020746f206372656174652074686973206163636f756e742e39012d2060696e646578603a2054686520646973616d626967756174696f6e20696e646578206f726967696e616c6c792070617373656420746f206070757265602e2050726f6261626c79206030602eec2d206070726f78795f74797065603a205468652070726f78792074797065206f726967696e616c6c792070617373656420746f206070757265602e29012d2060686569676874603a2054686520686569676874206f662074686520636861696e207768656e207468652063616c6c20746f20607075726560207761732070726f6365737365642e35012d20606578745f696e646578603a205468652065787472696e73696320696e64657820696e207768696368207468652063616c6c20746f20607075726560207761732070726f6365737365642e0035014661696c73207769746820604e6f5065726d697373696f6e6020696e2063617365207468652063616c6c6572206973206e6f7420612070726576696f75736c7920637265617465642070757265dc6163636f756e742077686f7365206070757265602063616c6c2068617320636f72726573706f6e64696e6720706172616d65746572732e20616e6e6f756e63650801107265616c090301504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f6861736834013443616c6c486173684f663c543e00063c05015075626c697368207468652068617368206f6620612070726f78792d63616c6c20746861742077696c6c206265206d61646520696e20746865206675747572652e005d0154686973206d7573742062652063616c6c656420736f6d65206e756d626572206f6620626c6f636b73206265666f72652074686520636f72726573706f6e64696e67206070726f78796020697320617474656d7074656425016966207468652064656c6179206173736f6369617465642077697468207468652070726f78792072656c6174696f6e736869702069732067726561746572207468616e207a65726f2e0011014e6f206d6f7265207468616e20604d617850656e64696e676020616e6e6f756e63656d656e7473206d6179206265206d61646520617420616e79206f6e652074696d652e000901546869732077696c6c2074616b652061206465706f736974206f662060416e6e6f756e63656d656e744465706f736974466163746f72602061732077656c6c206173190160416e6e6f756e63656d656e744465706f736974426173656020696620746865726520617265206e6f206f746865722070656e64696e6720616e6e6f756e63656d656e74732e002501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420612070726f7879206f6620607265616c602e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e15012d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e4c72656d6f76655f616e6e6f756e63656d656e740801107265616c090301504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f6861736834013443616c6c486173684f663c543e0007287052656d6f7665206120676976656e20616e6e6f756e63656d656e742e0059014d61792062652063616c6c656420627920612070726f7879206163636f756e7420746f2072656d6f766520612063616c6c20746865792070726576696f75736c7920616e6e6f756e63656420616e642072657475726e30746865206465706f7369742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e15012d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e4c72656a6563745f616e6e6f756e63656d656e7408012064656c6567617465090301504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f6861736834013443616c6c486173684f663c543e000828b052656d6f76652074686520676976656e20616e6e6f756e63656d656e74206f6620612064656c65676174652e0061014d61792062652063616c6c6564206279206120746172676574202870726f7869656429206163636f756e7420746f2072656d6f766520612063616c6c2074686174206f6e65206f662074686569722064656c6567617465732501286064656c656761746560292068617320616e6e6f756e63656420746865792077616e7420746f20657865637574652e20546865206465706f7369742069732072657475726e65642e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733af42d206064656c6567617465603a20546865206163636f756e7420746861742070726576696f75736c7920616e6e6f756e636564207468652063616c6c2ebc2d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652e3c70726f78795f616e6e6f756e63656410012064656c6567617465090301504163636f756e7449644c6f6f6b75704f663c543e0001107265616c090301504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f74797065450601504f7074696f6e3c543a3a50726f7879547970653e00011063616c6c0103017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00092c4d0144697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f72697a656420666f72207468726f75676830606164645f70726f7879602e00a852656d6f76657320616e7920636f72726573706f6e64696e6720616e6e6f756e63656d656e742873292e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e61012d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed02d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e450604184f7074696f6e04045401e9010108104e6f6e6500000010536f6d650400e901000001000049060c7470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e1870616c6c65741043616c6c040454000160386a6f696e5f6f70657261746f727304012c626f6e645f616d6f756e7418013042616c616e63654f663c543e00003c3501416c6c6f777320616e206163636f756e7420746f206a6f696e20617320616e206f70657261746f72206279207374616b696e672074686520726571756972656420626f6e6420616d6f756e742e003423205065726d697373696f6e7300cc2a204d757374206265207369676e656420627920746865206163636f756e74206a6f696e696e67206173206f70657261746f72002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6cc82a2060626f6e645f616d6f756e7460202d20416d6f756e7420746f207374616b65206173206f70657261746f7220626f6e64002023204572726f72730029012a205b604572726f723a3a4465706f7369744f766572666c6f77605d202d20426f6e6420616d6f756e7420776f756c64206f766572666c6f77206465706f73697420747261636b696e6719012a205b604572726f723a3a5374616b654f766572666c6f77605d202d20426f6e6420616d6f756e7420776f756c64206f766572666c6f77207374616b6520747261636b696e67607363686564756c655f6c656176655f6f70657261746f7273000138a85363686564756c657320616e206f70657261746f7220746f206c65617665207468652073797374656d2e003423205065726d697373696f6e7300a02a204d757374206265207369676e656420627920746865206f70657261746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c002023204572726f7273000d012a205b604572726f723a3a4e6f744f70657261746f72605d202d204163636f756e74206973206e6f74207265676973746572656420617320616e206f70657261746f7265012a205b604572726f723a3a50656e64696e67556e7374616b6552657175657374457869737473605d202d204f70657261746f7220616c72656164792068617320612070656e64696e6720756e7374616b6520726571756573745863616e63656c5f6c656176655f6f70657261746f7273000238a843616e63656c732061207363686564756c6564206c6561766520666f7220616e206f70657261746f722e003423205065726d697373696f6e7300a02a204d757374206265207369676e656420627920746865206f70657261746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c002023204572726f7273000d012a205b604572726f723a3a4e6f744f70657261746f72605d202d204163636f756e74206973206e6f74207265676973746572656420617320616e206f70657261746f721d012a205b604572726f723a3a4e6f556e7374616b6552657175657374457869737473605d202d204e6f2070656e64696e6720756e7374616b652072657175657374206578697374735c657865637574655f6c656176655f6f70657261746f727300033cac45786563757465732061207363686564756c6564206c6561766520666f7220616e206f70657261746f722e003423205065726d697373696f6e7300a02a204d757374206265207369676e656420627920746865206f70657261746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c002023204572726f7273000d012a205b604572726f723a3a4e6f744f70657261746f72605d202d204163636f756e74206973206e6f74207265676973746572656420617320616e206f70657261746f721d012a205b604572726f723a3a4e6f556e7374616b6552657175657374457869737473605d202d204e6f2070656e64696e6720756e7374616b6520726571756573742065786973747325012a205b604572726f723a3a556e7374616b65506572696f644e6f74456c6170736564605d202d20556e7374616b6520706572696f6420686173206e6f7420656c617073656420796574486f70657261746f725f626f6e645f6d6f726504013c6164646974696f6e616c5f626f6e6418013042616c616e63654f663c543e00043cac416c6c6f777320616e206f70657261746f7220746f20696e637265617365207468656972207374616b652e003423205065726d697373696f6e7300a02a204d757374206265207369676e656420627920746865206f70657261746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6cc02a20606164646974696f6e616c5f626f6e6460202d204164646974696f6e616c20616d6f756e7420746f207374616b65002023204572726f7273000d012a205b604572726f723a3a4e6f744f70657261746f72605d202d204163636f756e74206973206e6f74207265676973746572656420617320616e206f70657261746f7229012a205b604572726f723a3a5374616b654f766572666c6f77605d202d204164646974696f6e616c20626f6e6420776f756c64206f766572666c6f77207374616b6520747261636b696e67647363686564756c655f6f70657261746f725f756e7374616b65040138756e7374616b655f616d6f756e7418013042616c616e63654f663c543e000540b85363686564756c657320616e206f70657261746f7220746f206465637265617365207468656972207374616b652e003423205065726d697373696f6e7300a02a204d757374206265207369676e656420627920746865206f70657261746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c982a2060756e7374616b655f616d6f756e7460202d20416d6f756e7420746f20756e7374616b65002023204572726f7273000d012a205b604572726f723a3a4e6f744f70657261746f72605d202d204163636f756e74206973206e6f74207265676973746572656420617320616e206f70657261746f7265012a205b604572726f723a3a50656e64696e67556e7374616b6552657175657374457869737473605d202d204f70657261746f7220616c72656164792068617320612070656e64696e6720756e7374616b65207265717565737435012a205b604572726f723a3a496e73756666696369656e7442616c616e6365605d202d204f70657261746f722068617320696e73756666696369656e74207374616b6520746f20756e7374616b6560657865637574655f6f70657261746f725f756e7374616b6500063cd045786563757465732061207363686564756c6564207374616b6520646563726561736520666f7220616e206f70657261746f722e003423205065726d697373696f6e7300a02a204d757374206265207369676e656420627920746865206f70657261746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c002023204572726f7273000d012a205b604572726f723a3a4e6f744f70657261746f72605d202d204163636f756e74206973206e6f74207265676973746572656420617320616e206f70657261746f721d012a205b604572726f723a3a4e6f556e7374616b6552657175657374457869737473605d202d204e6f2070656e64696e6720756e7374616b6520726571756573742065786973747325012a205b604572726f723a3a556e7374616b65506572696f644e6f74456c6170736564605d202d20556e7374616b6520706572696f6420686173206e6f7420656c6170736564207965745c63616e63656c5f6f70657261746f725f756e7374616b65000738cc43616e63656c732061207363686564756c6564207374616b6520646563726561736520666f7220616e206f70657261746f722e003423205065726d697373696f6e7300a02a204d757374206265207369676e656420627920746865206f70657261746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c002023204572726f7273000d012a205b604572726f723a3a4e6f744f70657261746f72605d202d204163636f756e74206973206e6f74207265676973746572656420617320616e206f70657261746f721d012a205b604572726f723a3a4e6f556e7374616b6552657175657374457869737473605d202d204e6f2070656e64696e6720756e7374616b6520726571756573742065786973747328676f5f6f66666c696e6500084484416c6c6f777320616e206f70657261746f7220746f20676f206f66666c696e652e00e44265696e67206f66666c696e65206d65616e7320746865206f70657261746f722073686f756c64206e6f742062652061626c6520746f2062655c72657175657374656420666f722073657276696365732e003423205065726d697373696f6e7300a02a204d757374206265207369676e656420627920746865206f70657261746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c002023204572726f7273000d012a205b604572726f723a3a4e6f744f70657261746f72605d202d204163636f756e74206973206e6f74207265676973746572656420617320616e206f70657261746f72e42a205b604572726f723a3a416c72656164794f66666c696e65605d202d204f70657261746f7220697320616c7265616479206f66666c696e6524676f5f6f6e6c696e6500093880416c6c6f777320616e206f70657261746f7220746f20676f206f6e6c696e652e003423205065726d697373696f6e7300a02a204d757374206265207369676e656420627920746865206f70657261746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c002023204572726f7273000d012a205b604572726f723a3a4e6f744f70657261746f72605d202d204163636f756e74206973206e6f74207265676973746572656420617320616e206f70657261746f72dc2a205b604572726f723a3a416c72656164794f6e6c696e65605d202d204f70657261746f7220697320616c7265616479206f6e6c696e651c6465706f7369741001146173736574f501014441737365743c543a3a417373657449643e000118616d6f756e7418013042616c616e63654f663c543e00012c65766d5f616464726573734d0601304f7074696f6e3c483136303e00013c6c6f636b5f6d756c7469706c696572990201584f7074696f6e3c4c6f636b4d756c7469706c6965723e000a4488416c6c6f77732061207573657220746f206465706f73697420616e2061737365742e003423205065726d697373696f6e7300a42a204d757374206265207369676e656420627920746865206465706f7369746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c7c2a2060617373657460202d204173736574206f6e20746f206465706f736974782a2060616d6f756e7460202d20416d6f756e7420746f206465706f736974982a206065766d5f6164647265737360202d204f7074696f6e616c2045564d2061646472657373002023204572726f727300f82a205b604572726f723a3a4465706f7369744f766572666c6f77605d202d204465706f73697420776f756c64206f766572666c6f7720747261636b696e67c82a205b604572726f723a3a496e76616c69644173736574605d202d204173736574206973206e6f7420737570706f72746564447363686564756c655f77697468647261770801146173736574f501014441737365743c543a3a417373657449643e000118616d6f756e7418013042616c616e63654f663c543e000b40745363686564756c6573206120776974686472617720726571756573742e003423205065726d697373696f6e7300a82a204d757374206265207369676e6564206279207468652077697468647261776572206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c802a2060617373657460202d204173736574206f6e20746f2077697468647261777c2a2060616d6f756e7460202d20416d6f756e7420746f207769746864726177002023204572726f7273000d012a205b604572726f723a3a496e73756666696369656e7442616c616e6365605d202d20496e73756666696369656e742062616c616e636520746f2077697468647261772d012a205b604572726f723a3a50656e64696e67576974686472617752657175657374457869737473605d202d2050656e64696e6720776974686472617720726571756573742065786973747340657865637574655f776974686472617704012c65766d5f616464726573734d0601304f7074696f6e3c483136303e000c3c9845786563757465732061207363686564756c656420776974686472617720726571756573742e003423205065726d697373696f6e7300a82a204d757374206265207369676e6564206279207468652077697468647261776572206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c982a206065766d5f6164647265737360202d204f7074696f6e616c2045564d2061646472657373002023204572726f72730025012a205b604572726f723a3a4e6f576974686472617752657175657374457869737473605d202d204e6f2070656e64696e672077697468647261772072657175657374206578697374731d012a205b604572726f723a3a5769746864726177506572696f644e6f74456c6170736564605d202d20576974686472617720706572696f6420686173206e6f7420656c61707365643c63616e63656c5f77697468647261770801146173736574f501014441737365743c543a3a417373657449643e000118616d6f756e7418013042616c616e63654f663c543e000d3c9443616e63656c732061207363686564756c656420776974686472617720726571756573742e003423205065726d697373696f6e7300a82a204d757374206265207369676e6564206279207468652077697468647261776572206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6ca42a2060617373657460202d204173736574206f6e207769746864726177616c20746f2063616e63656cbc2a2060616d6f756e7460202d20416d6f756e74206f6620746865207769746864726177616c20746f2063616e63656c002023204572726f72730025012a205b604572726f723a3a4e6f576974686472617752657175657374457869737473605d202d204e6f2070656e64696e672077697468647261772072657175657374206578697374732064656c65676174651001206f70657261746f72000130543a3a4163636f756e7449640001146173736574f501014441737365743c543a3a417373657449643e000118616d6f756e7418013042616c616e63654f663c543e00014c626c75657072696e745f73656c656374696f6e510601d844656c656761746f72426c75657072696e7453656c656374696f6e3c543a3a4d617844656c656761746f72426c75657072696e74733e000e4cfc416c6c6f77732061207573657220746f2064656c656761746520616e20616d6f756e74206f6620616e20617373657420746f20616e206f70657261746f722e003423205065726d697373696f6e7300a42a204d757374206265207369676e6564206279207468652064656c656761746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c982a20606f70657261746f7260202d204f70657261746f7220746f2064656c656761746520746f8c2a2060617373657460202d204944206f6620617373657420746f2064656c65676174657c2a2060616d6f756e7460202d20416d6f756e7420746f2064656c6567617465d82a2060626c75657072696e745f73656c656374696f6e60202d20426c75657072696e742073656c656374696f6e207374726174656779002023204572726f727300f02a205b604572726f723a3a4e6f744f70657261746f72605d202d20546172676574206163636f756e74206973206e6f7420616e206f70657261746f720d012a205b604572726f723a3a496e73756666696369656e7442616c616e6365605d202d20496e73756666696369656e742062616c616e636520746f2064656c656761746509012a205b604572726f723a3a4d617844656c65676174696f6e734578636565646564605d202d20576f756c6420657863656564206d61782064656c65676174696f6e73687363686564756c655f64656c656761746f725f756e7374616b650c01206f70657261746f72000130543a3a4163636f756e7449640001146173736574f501014441737365743c543a3a417373657449643e000118616d6f756e7418013042616c616e63654f663c543e000f48c85363686564756c65732061207265717565737420746f2072656475636520612064656c656761746f722773207374616b652e003423205065726d697373696f6e7300a42a204d757374206265207369676e6564206279207468652064656c656761746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c9c2a20606f70657261746f7260202d204f70657261746f7220746f20756e7374616b652066726f6d882a2060617373657460202d204944206f6620617373657420746f20756e7374616b65782a2060616d6f756e7460202d20416d6f756e7420746f20756e7374616b65002023204572726f727300d82a205b604572726f723a3a4e6f7444656c656761746f72605d202d204163636f756e74206973206e6f7420612064656c656761746f7221012a205b604572726f723a3a496e73756666696369656e7444656c65676174696f6e605d202d20496e73756666696369656e742064656c65676174696f6e20746f20756e7374616b6525012a205b604572726f723a3a50656e64696e67556e7374616b6552657175657374457869737473605d202d2050656e64696e6720756e7374616b6520726571756573742065786973747364657865637574655f64656c656761746f725f756e7374616b6500103cec45786563757465732061207363686564756c6564207265717565737420746f2072656475636520612064656c656761746f722773207374616b652e003423205065726d697373696f6e7300a42a204d757374206265207369676e6564206279207468652064656c656761746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c002023204572726f727300d82a205b604572726f723a3a4e6f7444656c656761746f72605d202d204163636f756e74206973206e6f7420612064656c656761746f721d012a205b604572726f723a3a4e6f556e7374616b6552657175657374457869737473605d202d204e6f2070656e64696e6720756e7374616b6520726571756573742065786973747315012a205b604572726f723a3a556e7374616b65506572696f644e6f74456c6170736564605d202d20556e7374616b6520706572696f6420686173206e6f7420656c61707365646063616e63656c5f64656c656761746f725f756e7374616b650c01206f70657261746f72000130543a3a4163636f756e7449640001146173736574f501014441737365743c543a3a417373657449643e000118616d6f756e7418013042616c616e63654f663c543e001144e843616e63656c732061207363686564756c6564207265717565737420746f2072656475636520612064656c656761746f722773207374616b652e003423205065726d697373696f6e7300a42a204d757374206265207369676e6564206279207468652064656c656761746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6cb82a20606f70657261746f7260202d204f70657261746f7220746f2063616e63656c20756e7374616b652066726f6da42a2060617373657460202d204944206f6620617373657420756e7374616b6520746f2063616e63656ca02a2060616d6f756e7460202d20416d6f756e74206f6620756e7374616b6520746f2063616e63656c002023204572726f727300d82a205b604572726f723a3a4e6f7444656c656761746f72605d202d204163636f756e74206973206e6f7420612064656c656761746f721d012a205b604572726f723a3a4e6f556e7374616b6552657175657374457869737473605d202d204e6f2070656e64696e6720756e7374616b652072657175657374206578697374734c64656c65676174655f6e6f6d696e6174696f6e0c01206f70657261746f72000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e00014c626c75657072696e745f73656c656374696f6e510601d844656c656761746f72426c75657072696e7453656c656374696f6e3c543a3a4d617844656c656761746f72426c75657072696e74733e00123ca844656c656761746573206e6f6d696e6174656420746f6b656e7320746f20616e206f70657261746f722e002c2320417267756d656e74737c2a20606f726967696e60202d204f726967696e206f66207468652063616c6ca82a20606f70657261746f7260202d20546865206f70657261746f7220746f2064656c656761746520746fcc2a2060616d6f756e7460202d20416d6f756e74206f66206e6f6d696e6174656420746f6b656e7320746f2064656c656761746539012a2060626c75657072696e745f73656c656374696f6e60202d20537472617465677920666f722073656c656374696e6720776869636820626c75657072696e747320746f20776f726b2077697468002023204572726f7273b42a20604e6f7444656c656761746f7260202d204163636f756e74206973206e6f7420612064656c656761746f72c82a20604e6f744e6f6d696e61746f7260202d204163636f756e7420686173206e6f206e6f6d696e6174656420746f6b656e73fc2a2060496e73756666696369656e7442616c616e636560202d204e6f7420656e6f756768206e6f6d696e6174656420746f6b656e7320617661696c61626c6515012a20604d617844656c65676174696f6e73457863656564656460202d20576f756c6420657863656564206d6178696d756d20616c6c6f7765642064656c65676174696f6e73e82a20604f766572666c6f775269736b60202d2041726974686d65746963206f766572666c6f7720647572696e672063616c63756c6174696f6e73b02a2060496e76616c6964416d6f756e7460202d20416d6f756e7420737065636966696564206973207a65726f6c7363686564756c655f6e6f6d696e6174696f6e5f756e7374616b650c01206f70657261746f72000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e00014c626c75657072696e745f73656c656374696f6e510601d844656c656761746f72426c75657072696e7453656c656374696f6e3c543a3a4d617844656c656761746f72426c75657072696e74733e001338e05363686564756c657320616e20756e7374616b65207265717565737420666f72206e6f6d696e6174696f6e2064656c65676174696f6e732e002c2320417267756d656e74737c2a20606f726967696e60202d204f726967696e206f66207468652063616c6cac2a20606f70657261746f7260202d20546865206f70657261746f7220746f20756e7374616b652066726f6dc82a2060616d6f756e7460202d20416d6f756e74206f66206e6f6d696e6174656420746f6b656e7320746f20756e7374616b6521012a2060626c75657072696e745f73656c656374696f6e60202d2054686520626c75657072696e742073656c656374696f6e20746f2075736520616674657220756e7374616b696e67002023204572726f7273b42a20604e6f7444656c656761746f7260202d204163636f756e74206973206e6f7420612064656c656761746f72f82a20604e6f41637469766544656c65676174696f6e60202d204e6f20616374697665206e6f6d696e6174696f6e2064656c65676174696f6e20666f756e64fc2a2060496e73756666696369656e7442616c616e636560202d20547279696e6720746f20756e7374616b65206d6f7265207468616e2064656c65676174656409012a20604d6178556e7374616b655265717565737473457863656564656460202d20546f6f206d616e792070656e64696e6720756e7374616b65207265717565737473b02a2060496e76616c6964416d6f756e7460202d20416d6f756e7420737065636966696564206973207a65726f68657865637574655f6e6f6d696e6174696f6e5f756e7374616b650401206f70657261746f72000130543a3a4163636f756e744964001430010145786563757465732061207363686564756c656420756e7374616b65207265717565737420666f72206e6f6d696e6174696f6e2064656c65676174696f6e732e002c2320417267756d656e74737c2a20606f726967696e60202d204f726967696e206f66207468652063616c6ccc2a20606f70657261746f7260202d20546865206f70657261746f7220746f206578656375746520756e7374616b652066726f6d002023204572726f7273b42a20604e6f7444656c656761746f7260202d204163636f756e74206973206e6f7420612064656c656761746f72e42a20604e6f426f6e644c6573735265717565737460202d204e6f206d61746368696e6720756e7374616b65207265717565737420666f756e64f82a2060426f6e644c6573734e6f74526561647960202d20556e7374616b652072657175657374206e6f7420726561647920666f7220657865637574696f6ef82a20604e6f41637469766544656c65676174696f6e60202d204e6f20616374697665206e6f6d696e6174696f6e2064656c65676174696f6e20666f756e64f02a2060496e73756666696369656e7442616c616e636560202d20496e73756666696369656e742062616c616e636520666f7220756e7374616b696e676463616e63656c5f6e6f6d696e6174696f6e5f756e7374616b650401206f70657261746f72000130543a3a4163636f756e744964001524fc43616e63656c732061207363686564756c656420756e7374616b65207265717565737420666f72206e6f6d696e6174696f6e2064656c65676174696f6e732e002c2320417267756d656e74737c2a20606f726967696e60202d204f726967696e206f66207468652063616c6cec2a20606f70657261746f7260202d20546865206f70657261746f722077686f736520756e7374616b65207265717565737420746f2063616e63656c002023204572726f7273b42a20604e6f7444656c656761746f7260202d204163636f756e74206973206e6f7420612064656c656761746f72e42a20604e6f426f6e644c6573735265717565737460202d204e6f206d61746368696e6720756e7374616b65207265717565737420666f756e64406164645f626c75657072696e745f6964040130626c75657072696e745f696430012c426c75657072696e744964001644bc41646473206120626c75657072696e7420494420746f20612064656c656761746f7227732073656c656374696f6e2e003423205065726d697373696f6e7300a42a204d757374206265207369676e6564206279207468652064656c656761746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6ca42a2060626c75657072696e745f696460202d204944206f6620626c75657072696e7420746f20616464002023204572726f727300d82a205b604572726f723a3a4e6f7444656c656761746f72605d202d204163636f756e74206973206e6f7420612064656c656761746f72fc2a205b604572726f723a3a4475706c6963617465426c75657072696e744964605d202d20426c75657072696e7420494420616c72656164792065786973747301012a205b604572726f723a3a4d6178426c75657072696e74734578636565646564605d202d20576f756c6420657863656564206d617820626c75657072696e74730d012a205b604572726f723a3a4e6f74496e46697865644d6f6465605d202d204e6f7420696e20666978656420626c75657072696e742073656c656374696f6e206d6f64654c72656d6f76655f626c75657072696e745f6964040130626c75657072696e745f696430012c426c75657072696e744964001740d052656d6f766573206120626c75657072696e742049442066726f6d20612064656c656761746f7227732073656c656374696f6e2e003423205065726d697373696f6e7300a42a204d757374206265207369676e6564206279207468652064656c656761746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6cb02a2060626c75657072696e745f696460202d204944206f6620626c75657072696e7420746f2072656d6f7665002023204572726f727300d82a205b604572726f723a3a4e6f7444656c656761746f72605d202d204163636f756e74206973206e6f7420612064656c656761746f72e42a205b604572726f723a3a426c75657072696e7449644e6f74466f756e64605d202d20426c75657072696e74204944206e6f7420666f756e640d012a205b604572726f723a3a4e6f74496e46697865644d6f6465605d202d204e6f7420696e20666978656420626c75657072696e742073656c656374696f6e206d6f646504c85468652063616c6c61626c652066756e6374696f6e73202865787472696e7369637329206f66207468652070616c6c65742e4d0604184f7074696f6e0404540195010108104e6f6e6500000010536f6d650400950100000100005106107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e1474797065732464656c656761746f726c44656c656761746f72426c75657072696e7453656c656374696f6e04344d6178426c75657072696e74730155060108144669786564040059060198426f756e6465645665633c426c75657072696e7449642c204d6178426c75657072696e74733e0000000c416c6c000100005506085874616e676c655f746573746e65745f72756e74696d65584d617844656c656761746f72426c75657072696e74730000000059060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401300453000004005d0601185665633c543e00005d06000002300061060c3c70616c6c65745f7365727669636573186d6f64756c651043616c6c040454000140406372656174655f626c75657072696e74040124626c75657072696e746506018053657276696365426c75657072696e743c543a3a436f6e73747261696e74733e0000707c4372656174652061206e6577207365727669636520626c75657072696e742e00810141205365727669636520426c75657072696e7420697320612074656d706c61746520666f722061207365727669636520746861742063616e20626520696e7374616e7469617465642062792075736572732e2054686520626c75657072696e749101646566696e6573207468652073657276696365277320636f6e73747261696e74732c20726571756972656d656e747320616e64206265686176696f722c20696e636c7564696e6720746865206d617374657220626c75657072696e742073657276696365606d616e61676572207265766973696f6e20746f207573652e003423205065726d697373696f6e730019012a20546865206f726967696e206d757374206265207369676e656420627920746865206163636f756e7420746861742077696c6c206f776e2074686520626c75657072696e74002c2320417267756d656e74730065012a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c2c206d757374206265207369676e656420627920746865206163636f756e74206372656174696e672074686520626c75657072696e74c42a2060626c75657072696e7460202d20546865207365727669636520626c75657072696e7420636f6e7461696e696e673aa020202d205365727669636520636f6e73747261696e747320616e6420726571756972656d656e7473090120202d204d617374657220626c75657072696e742073657276696365206d616e61676572207265766973696f6e20284c6174657374206f7220537065636966696329d020202d2054656d706c61746520636f6e66696775726174696f6e20666f72207365727669636520696e7374616e74696174696f6e002023204572726f727300b42a205b604572726f723a3a4261644f726967696e605d202d204f726967696e206973206e6f74207369676e65648d012a205b604572726f723a3a4d6173746572426c75657072696e74536572766963654d616e616765725265766973696f6e4e6f74466f756e64605d202d20537065636966696564204d42534d207265766973696f6e20646f6573206e6f7420657869737459012a205b604572726f723a3a426c75657072696e744372656174696f6e496e746572727570746564605d202d20426c75657072696e74206372656174696f6e20697320696e74657272757074656420627920686f6f6b730024232052657475726e7300850152657475726e73206120604469737061746368526573756c7457697468506f7374496e666f60207768696368206f6e207375636365737320656d6974732061205b604576656e743a3a426c75657072696e7443726561746564605d206576656e7498636f6e7461696e696e6720746865206f776e657220616e6420626c75657072696e742049442e307072655f7265676973746572040130626c75657072696e745f69642c010c75363400017801015072652d7265676973746572207468652063616c6c657220617320616e206f70657261746f7220666f72206120737065636966696320626c75657072696e742e008901546869732066756e6374696f6e20616c6c6f777320616e206163636f756e7420746f207369676e616c20696e74656e7420746f206265636f6d6520616e206f70657261746f7220666f72206120626c75657072696e7420627920656d697474696e677101612060507265526567697374726174696f6e60206576656e742e20546865206f70657261746f72206e6f64652063616e206c697374656e20666f722074686973206576656e7420746f206578656375746520616e7920637573746f6db0726567697374726174696f6e206c6f67696320646566696e656420696e2074686520626c75657072696e742e0071015072652d726567697374726174696f6e20697320746865206669727374207374657020696e20746865206f70657261746f7220726567697374726174696f6e20666c6f772e204166746572207072652d7265676973746572696e672c91016f70657261746f7273206d75737420636f6d706c657465207468652066756c6c20726567697374726174696f6e2070726f636573732062792063616c6c696e6720607265676973746572282960207769746820746865697220707265666572656e6365736c616e6420726567697374726174696f6e20617267756d656e74732e002c2320417267756d656e74730079012a20606f726967696e3a204f726967696e466f723c543e60202d20546865206f726967696e206f66207468652063616c6c2e204d757374206265207369676e656420627920746865206163636f756e7420746861742077616e747320746f5420206265636f6d6520616e206f70657261746f722e7d012a2060626c75657072696e745f69643a2075363460202d20546865206964656e746966696572206f6620746865207365727669636520626c75657072696e7420746f207072652d726567697374657220666f722e204d7573742072656665726c2020746f20616e206578697374696e6720626c75657072696e742e003423205065726d697373696f6e7300982a205468652063616c6c6572206d7573742062652061207369676e6564206163636f756e742e002023204576656e7473005d012a205b604576656e743a3a507265526567697374726174696f6e605d202d20456d6974746564207768656e207072652d726567697374726174696f6e206973207375636365737366756c2c20636f6e7461696e696e673a350120202d20606f70657261746f723a20543a3a4163636f756e74496460202d20546865206163636f756e74204944206f6620746865207072652d7265676973746572696e67206f70657261746f72290120202d2060626c75657072696e745f69643a2075363460202d20546865204944206f662074686520626c75657072696e74206265696e67207072652d7265676973746572656420666f72002023204572726f727300cc2a205b604572726f723a3a4261644f726967696e605d202d20546865206f726967696e20776173206e6f74207369676e65642e207265676973746572100130626c75657072696e745f69642c012c426c75657072696e74496400012c707265666572656e636573fd01014c4f70657261746f72507265666572656e636573000144726567697374726174696f6e5f61726773090201a05665633c4669656c643c543a3a436f6e73747261696e74732c20543a3a4163636f756e7449643e3e00011476616c75657101013042616c616e63654f663c543e00026cf05265676973746572207468652063616c6c657220617320616e206f70657261746f7220666f72206120737065636966696320626c75657072696e742e007501546869732066756e6374696f6e20616c6c6f777320616e206163636f756e7420746f20726567697374657220617320616e206f70657261746f7220666f72206120626c75657072696e742062792070726f766964696e672074686569727d017365727669636520707265666572656e6365732c20726567697374726174696f6e20617267756d656e74732c20616e64207374616b696e672074686520726571756972656420746f6b656e732e20546865206f70657261746f72206d757374790162652061637469766520696e207468652064656c65676174696f6e2073797374656d20616e64206d6179207265717569726520617070726f76616c206265666f726520616363657074696e6720736572766963652072657175657374732e003423205065726d697373696f6e7300942a205468652063616c6c6572206d7573742062652061207369676e6564206163636f756e7401012a205468652063616c6c6572206d75737420626520616e20616374697665206f70657261746f7220696e207468652064656c65676174696f6e2073797374656df82a205468652063616c6c6572206d757374206e6f7420616c7265616479206265207265676973746572656420666f72207468697320626c75657072696e74002c2320417267756d656e747300d02a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c2e204d757374206265207369676e65642e29012a2060626c75657072696e745f696460202d20546865206964656e746966696572206f6620746865207365727669636520626c75657072696e7420746f20726567697374657220666f7219012a2060707265666572656e63657360202d20546865206f70657261746f722773207365727669636520707265666572656e63657320616e6420636f6e66696775726174696f6e21012a2060726567697374726174696f6e5f6172677360202d20526567697374726174696f6e20617267756d656e74732072657175697265642062792074686520626c75657072696e74d82a206076616c756560202d20416d6f756e74206f6620746f6b656e7320746f207374616b6520666f7220726567697374726174696f6e002023204572726f72730069012a205b604572726f723a3a4f70657261746f724e6f74416374697665605d202d2043616c6c6572206973206e6f7420616e20616374697665206f70657261746f7220696e207468652064656c65676174696f6e2073797374656d41012a205b604572726f723a3a416c726561647952656769737465726564605d202d2043616c6c657220697320616c7265616479207265676973746572656420666f72207468697320626c75657072696e7411012a205b604572726f723a3a54797065436865636b605d202d20526567697374726174696f6e20617267756d656e7473206661696c6564207479706520636865636b696e674d012a205b604572726f723a3a496e76616c6964526567697374726174696f6e496e707574605d202d20526567697374726174696f6e20686f6f6b2072656a65637465642074686520726567697374726174696f6e65012a205b604572726f723a3a4d6178536572766963657350657250726f76696465724578636565646564605d202d204f70657261746f72206861732072656163686564206d6178696d756d207365727669636573206c696d697428756e7265676973746572040130626c75657072696e745f69642c010c7536340003500501556e726567697374657273206120736572766963652070726f76696465722066726f6d2061207370656369666963207365727669636520626c75657072696e742e000d0143616e206f6e6c792062652063616c6c656420696620746865206e6f207365727669636573206172652061637469766520666f722074686520626c75657072696e742e1101416674657220756e7265676973746572696e672c207468652070726f76696465722077696c6c206e6f206c6f6e6765722072656365697665206e657720736572766963657c61737369676e6d656e747320666f72207468697320626c75657072696e742e002c2320417267756d656e747300d02a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c2e204d757374206265207369676e65642e39012a2060626c75657072696e745f696460202d20546865206964656e746966696572206f6620746865207365727669636520626c75657072696e7420746f20756e72656769737465722066726f6d2e003423205065726d697373696f6e7300c42a204d757374206265207369676e65642062792061207265676973746572656420736572766963652070726f7669646572002023204572726f72730031012a205b604572726f723a3a4e6f7452656769737465726564605d202d205468652063616c6c6572206973206e6f74207265676973746572656420666f72207468697320626c75657072696e7431012a205b604572726f723a3a4e6f74416c6c6f776564546f556e7265676973746572605d202d20556e726567697374726174696f6e2069732063757272656e746c79207265737472696374656401012a205b604572726f723a3a426c75657072696e744e6f74466f756e64605d202d2054686520626c75657072696e745f696420646f6573206e6f74206578697374507570646174655f70726963655f74617267657473080130626c75657072696e745f69642c010c75363400013470726963655f746172676574730502013050726963655461726765747300045021015570646174657320746865207072696365207461726765747320666f7220612072656769737465726564206f70657261746f722773207365727669636520626c75657072696e742e008901416c6c6f777320616e206f70657261746f7220746f206d6f64696679207468656972207072696365207461726765747320666f72206120737065636966696320626c75657072696e74207468657920617265207265676973746572656420666f722e2d01546865206f70657261746f72206d75737420616c7265616479206265207265676973746572656420666f722074686520626c75657072696e7420746f20757064617465207072696365732e002c2320417267756d656e74730049012a20606f726967696e3a204f726967696e466f723c543e60202d20546865206f726967696e206f66207468652063616c6c2e204d757374206265207369676e656420627920746865206f70657261746f722e51012a2060626c75657072696e745f69643a2075363460202d20546865206964656e746966696572206f662074686520626c75657072696e7420746f20757064617465207072696365207461726765747320666f722e45012a206070726963655f746172676574733a2050726963655461726765747360202d20546865206e6577207072696365207461726765747320746f2073657420666f722074686520626c75657072696e742e003423205065726d697373696f6e7300f42a204d757374206265207369676e656420627920612072656769737465726564206f70657261746f7220666f72207468697320626c75657072696e742e002023204572726f72730035012a205b604572726f723a3a4e6f7452656769737465726564605d202d205468652063616c6c6572206973206e6f74207265676973746572656420666f72207468697320626c75657072696e742e71012a205b604572726f723a3a4e6f74416c6c6f776564546f557064617465507269636554617267657473605d202d205072696365207461726765742075706461746573206172652063757272656e746c7920726573747269637465642e05012a205b604572726f723a3a426c75657072696e744e6f74466f756e64605d202d2054686520626c75657072696e745f696420646f6573206e6f742065786973742e1c7265717565737428012865766d5f6f726967696e4d0601304f7074696f6e3c483136303e000130626c75657072696e745f69642c010c7536340001447065726d69747465645f63616c6c657273490201445665633c543a3a4163636f756e7449643e0001246f70657261746f7273490201445665633c543a3a4163636f756e7449643e000130726571756573745f61726773090201a05665633c4669656c643c543a3a436f6e73747261696e74732c20543a3a4163636f756e7449643e3e00016c61737365745f73656375726974795f726571756972656d656e7473590201a45665633c41737365745365637572697479526571756972656d656e743c543a3a417373657449643e3e00010c74746c2c0144426c6f636b4e756d626572466f723c543e0001347061796d656e745f6173736574f501014441737365743c543a3a417373657449643e00011476616c75657101013042616c616e63654f663c543e0001406d656d626572736869705f6d6f64656c2507013c4d656d626572736869704d6f64656c0005700101526571756573742061206e65772073657276696365207573696e67206120626c75657072696e7420616e6420737065636966696564206f70657261746f72732e002c2320417267756d656e74730009012a20606f726967696e3a204f726967696e466f723c543e60202d20546865206f726967696e206f66207468652063616c6c2e204d757374206265207369676e65642e1d012a206065766d5f6f726967696e3a204f7074696f6e3c483136303e60202d204f7074696f6e616c2045564d206164647265737320666f72204552433230207061796d656e74732efc2a2060626c75657072696e745f69643a2075363460202d20546865206964656e746966696572206f662074686520626c75657072696e7420746f207573652ebd012a20607065726d69747465645f63616c6c6572733a205665633c543a3a4163636f756e7449643e60202d204163636f756e747320616c6c6f77656420746f2063616c6c2074686520736572766963652e20496620656d7074792c206f6e6c79206f776e65722063616e2063616c6c2e3d012a20606f70657261746f72733a205665633c543a3a4163636f756e7449643e60202d204c697374206f66206f70657261746f727320746861742077696c6c2072756e2074686520736572766963652e81012a2060726571756573745f617267733a205665633c4669656c643c543a3a436f6e73747261696e74732c20543a3a4163636f756e7449643e3e60202d20426c75657072696e7420696e697469616c697a6174696f6e20617267756d656e74732ef82a20606173736574733a205665633c543a3a417373657449643e60202d2052657175697265642061737365747320666f722074686520736572766963652e31012a206074746c3a20426c6f636b4e756d626572466f723c543e60202d2054696d652d746f2d6c69766520696e20626c6f636b7320666f7220746865207365727669636520726571756573742e61012a20607061796d656e745f61737365743a2041737365743c543a3a417373657449643e60202d204173736574207573656420666f72207061796d656e7420286e61746976652c20637573746f6d206f72204552433230292ee42a206076616c75653a2042616c616e63654f663c543e60202d205061796d656e7420616d6f756e7420666f722074686520736572766963652e003423205065726d697373696f6e730039012a204d757374206265207369676e656420627920616e206163636f756e7420776974682073756666696369656e742062616c616e636520746f2070617920666f722074686520736572766963652e31012a20466f72204552433230207061796d656e74732c207468652045564d206f726967696e206d757374206d61746368207468652063616c6c65722773206d6170706564206163636f756e742e002023204572726f72730021012a205b604572726f723a3a54797065436865636b605d202d205265717565737420617267756d656e7473206661696c20626c75657072696e74207479706520636865636b696e672ee42a205b604572726f723a3a4e6f41737365747350726f7669646564605d202d204e6f206173736574732077657265207370656369666965642e5d012a205b604572726f723a3a4d697373696e6745564d4f726967696e605d202d2045564d206f726967696e20726571756972656420627574206e6f742070726f766964656420666f72204552433230207061796d656e742efc2a205b604572726f723a3a45524332305472616e736665724661696c6564605d202d20455243323020746f6b656e207472616e73666572206661696c65642e41012a205b604572726f723a3a4e6f7452656769737465726564605d202d204f6e65206f72206d6f7265206f70657261746f7273206e6f74207265676973746572656420666f7220626c75657072696e742e05012a205b604572726f723a3a426c75657072696e744e6f74466f756e64605d202d2054686520626c75657072696e745f696420646f6573206e6f742065786973742e1c617070726f7665080128726571756573745f69642c010c75363400015073656375726974795f636f6d6d69746d656e74736d0201a05665633c41737365745365637572697479436f6d6d69746d656e743c543a3a417373657449643e3e00064c8101417070726f76652061207365727669636520726571756573742c20616c6c6f77696e6720697420746f20626520696e69746961746564206f6e636520616c6c20726571756972656420617070726f76616c73206172652072656365697665642e003423205065726d697373696f6e730001012a2043616c6c6572206d75737420626520612072656769737465726564206f70657261746f7220666f7220746865207365727669636520626c75657072696e74fc2a2043616c6c6572206d75737420626520696e207468652070656e64696e6720617070726f76616c73206c69737420666f7220746869732072657175657374002c2320417267756d656e747300f42a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c2c206d7573742062652061207369676e6564206163636f756e74e42a2060726571756573745f696460202d20546865204944206f66207468652073657276696365207265717565737420746f20617070726f766521012a20606e61746976655f6578706f737572655f70657263656e7460202d2050657263656e74616765206f66206e617469766520746f6b656e207374616b6520746f206578706f736509012a206061737365745f6578706f7375726560202d20566563746f72206f662061737365742d7370656369666963206578706f7375726520636f6d6d69746d656e7473002023204572726f7273003d012a205b604572726f723a3a417070726f76616c4e6f74526571756573746564605d202d2043616c6c6572206973206e6f7420696e207468652070656e64696e6720617070726f76616c73206c69737429012a205b604572726f723a3a417070726f76616c496e746572727570746564605d202d20417070726f76616c207761732072656a656374656420627920626c75657072696e7420686f6f6b55012a205b604572726f723a3a496e76616c696452657175657374496e707574605d202d204173736574206578706f7375726520636f6d6d69746d656e747320646f6e2774206d65657420726571756972656d656e74731872656a656374040128726571756573745f69642c010c753634000750d052656a6563742061207365727669636520726571756573742c2070726576656e74696e672069747320696e6974696174696f6e2e006101546865207365727669636520726571756573742077696c6c2072656d61696e20696e207468652073797374656d20627574206d61726b65642061732072656a65637465642e20546865207265717565737465722077696c6cb86e65656420746f20757064617465207468652073657276696365207265717565737420746f2070726f636565642e003423205065726d697373696f6e730055012a2043616c6c6572206d75737420626520612072656769737465726564206f70657261746f7220666f722074686520626c75657072696e74206173736f63696174656420776974682074686973207265717565737419012a2043616c6c6572206d757374206265206f6e65206f6620746865206f70657261746f727320726571756972656420746f20617070726f766520746869732072657175657374002c2320417267756d656e747300f42a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c2c206d7573742062652061207369676e6564206163636f756e74e02a2060726571756573745f696460202d20546865204944206f66207468652073657276696365207265717565737420746f2072656a656374002023204572726f7273009d012a205b604572726f723a3a417070726f76616c4e6f74526571756573746564605d202d2043616c6c6572206973206e6f74206f6e65206f6620746865206f70657261746f727320726571756972656420746f20617070726f76652074686973207265717565737499012a205b604572726f723a3a45787065637465644163636f756e744964605d202d204661696c656420746f20636f6e7665727420726566756e64206164647265737320746f206163636f756e74204944207768656e20726566756e64696e67207061796d656e743d012a205b604572726f723a3a52656a656374696f6e496e746572727570746564605d202d2052656a656374696f6e2077617320696e74657272757074656420627920626c75657072696e7420686f6f6b247465726d696e617465040128736572766963655f69642c010c753634000844985465726d696e6174657320612072756e6e696e67207365727669636520696e7374616e63652e003423205065726d697373696f6e7300942a204d757374206265207369676e6564206279207468652073657276696365206f776e6572002c2320417267756d656e7473008c2a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6cec2a2060736572766963655f696460202d20546865206964656e746966696572206f6620746865207365727669636520746f207465726d696e617465002023204572726f727300f02a205b604572726f723a3a536572766963654e6f74466f756e64605d202d2054686520736572766963655f696420646f6573206e6f74206578697374f02a205b604572726f723a3a4e6f7452656769737465726564605d202d2053657276696365206f70657261746f72206e6f74207265676973746572656449012a205b604572726f723a3a5465726d696e6174696f6e496e746572727570746564605d202d2053657276696365207465726d696e6174696f6e2077617320696e74657272757074656420627920686f6f6b7301012a205b6044697370617463684572726f723a3a4261644f726967696e605d202d2043616c6c6572206973206e6f74207468652073657276696365206f776e65721063616c6c0c0128736572766963655f69642c010c75363400010c6a6f6229070108753800011061726773090201a05665633c4669656c643c543a3a436f6e73747261696e74732c20543a3a4163636f756e7449643e3e000954d843616c6c2061206a6f6220696e2074686520736572766963652077697468207468652070726f766964656420617267756d656e74732e003423205065726d697373696f6e7300ec2a204d757374206265207369676e6564206279207468652073657276696365206f776e6572206f722061207065726d69747465642063616c6c6572002c2320417267756d656e7473008c2a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c9c2a2060736572766963655f696460202d205468652073657276696365206964656e7469666965727c2a20606a6f6260202d20546865206a6f6220696e64657820746f2063616c6cac2a20606172677360202d2054686520617267756d656e747320746f207061737320746f20746865206a6f62002023204572726f727300f02a205b604572726f723a3a536572766963654e6f74466f756e64605d202d2054686520736572766963655f696420646f6573206e6f74206578697374f42a205b604572726f723a3a4a6f62446566696e6974696f6e4e6f74466f756e64605d202d20546865206a6f6220696e64657820697320696e76616c6964f02a205b604572726f723a3a4d61784669656c64734578636565646564605d202d20546f6f206d616e7920617267756d656e74732070726f7669646564d42a205b604572726f723a3a54797065436865636b605d202d20417267756d656e7473206661696c207479706520636865636b696e6705012a205b604572726f723a3a496e76616c69644a6f6243616c6c496e707574605d202d204a6f622063616c6c207761732072656a656374656420627920686f6f6b7321012a205b6044697370617463684572726f723a3a4261644f726967696e605d202d2043616c6c6572206973206e6f74206f776e6572206f72207065726d69747465642063616c6c6572347375626d69745f726573756c740c0128736572766963655f69642c010c75363400011c63616c6c5f69642c010c753634000118726573756c74090201a05665633c4669656c643c543a3a436f6e73747261696e74732c20543a3a4163636f756e7449643e3e000a54b05375626d6974206120726573756c7420666f7220612070726576696f75736c792063616c6c6564206a6f622e002c2320417267756d656e747300882a2060736572766963655f696460202d204944206f66207468652073657276696365802a206063616c6c5f696460202d204944206f6620746865206a6f622063616c6c902a2060726573756c7460202d20566563746f72206f6620726573756c74206669656c6473003423205065726d697373696f6e7300ac2a2043616c6c6572206d75737420626520616e206f70657261746f72206f66207468652073657276696365002023204572726f727300f02a205b604572726f723a3a536572766963654e6f74466f756e64605d202d2054686520736572766963655f696420646f6573206e6f74206578697374e42a205b604572726f723a3a4a6f6243616c6c4e6f74466f756e64605d202d205468652063616c6c5f696420646f6573206e6f74206578697374f42a205b604572726f723a3a4a6f62446566696e6974696f6e4e6f74466f756e64605d202d20546865206a6f6220696e64657820697320696e76616c696401012a205b604572726f723a3a4d61784669656c64734578636565646564605d202d20546f6f206d616e7920726573756c74206669656c64732070726f7669646564e42a205b604572726f723a3a54797065436865636b605d202d20526573756c74206669656c6473206661696c207479706520636865636b696e6701012a205b604572726f723a3a496e76616c69644a6f62526573756c74605d202d204a6f6220726573756c74207761732072656a656374656420627920686f6f6b73e82a205b6044697370617463684572726f723a3a4261644f726967696e605d202d2043616c6c6572206973206e6f7420616e206f70657261746f7214736c6173680c01206f6666656e646572000130543a3a4163636f756e744964000128736572766963655f69642c010c753634000134736c6173685f70657263656e742d07011c50657263656e74000b604501536c61736820616e206f70657261746f722773207374616b6520666f7220612073657276696365206279207363686564756c696e67206120646566657272656420736c617368696e6720616374696f6e2e009901546869732066756e6374696f6e207363686564756c6573206120646566657272656420736c617368696e6720616374696f6e20616761696e737420616e206f70657261746f722773207374616b6520666f72206120737065636966696320736572766963652e7d0154686520736c617368206973206e6f74206170706c69656420696d6d6564696174656c792c20627574207261746865722071756575656420746f20626520657865637574656420627920616e6f7468657220656e74697479206c617465722e003423205065726d697373696f6e730061012a205468652063616c6c6572206d75737420626520616e20617574686f72697a656420536c617368204f726967696e20666f72207468652074617267657420736572766963652c2061732064657465726d696e65642062797d0120206071756572795f736c617368696e675f6f726967696e602e204966206e6f20736c617368696e67206f726967696e206973207365742c206f72207468652063616c6c657220646f6573206e6f74206d617463682c207468652063616c6c30202077696c6c206661696c2e002c2320417267756d656e74730049012a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c2e204d757374206265207369676e656420627920616e20617574686f72697a656420536c617368204f726967696e2ef02a20606f6666656e64657260202d20546865206163636f756e74204944206f6620746865206f70657261746f7220746f20626520736c61736865642e1d012a2060736572766963655f696460202d20546865204944206f6620746865207365727669636520666f7220776869636820746f20736c61736820746865206f70657261746f722e89012a2060736c6173685f70657263656e7460202d205468652070657263656e74616765206f6620746865206f70657261746f722773206578706f736564207374616b6520746f20736c6173682c2061732061206050657263656e74602076616c75652e002023204572726f72730001012a20604e6f536c617368696e674f726967696e60202d204e6f20736c617368696e67206f726967696e2069732073657420666f72207468652073657276696365f02a20604261644f726967696e60202d2043616c6c6572206973206e6f742074686520617574686f72697a656420736c617368696e67206f726967696e31012a20604f6666656e6465724e6f744f70657261746f7260202d20546172676574206163636f756e74206973206e6f7420616e206f70657261746f7220666f72207468697320736572766963651d012a20604f6666656e6465724e6f744163746976654f70657261746f7260202d20546172676574206f70657261746f72206973206e6f742063757272656e746c79206163746976651c6469737075746508010c657261ad02010c753332000114696e646578ad02010c753332000c4cd8446973707574657320616e642072656d6f76657320616e205b556e6170706c696564536c6173685d2066726f6d2073746f726167652e001d0154686520736c6173682077696c6c206e6f74206265206170706c696564206f6e636520646973707574656420616e64206973207065726d616e656e746c792072656d6f7665642e003423205065726d697373696f6e7300f82a2043616c6c6572206d7573742062652074686520617574686f72697a65642064697370757465206f726967696e20666f72207468652073657276696365002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6cbc2a206065726160202d2045726120636f6e7461696e696e672074686520736c61736820746f20646973707574652020b42a2060696e64657860202d20496e646578206f662074686520736c6173682077697468696e2074686520657261002023204572726f72730015012a205b4572726f723a3a4e6f446973707574654f726967696e5d202d205365727669636520686173206e6f2064697370757465206f726967696e20636f6e6669677572656429012a205b44697370617463684572726f723a3a4261644f726967696e5d202d2043616c6c6572206973206e6f742074686520617574686f72697a65642064697370757465206f726967696e009c7570646174655f6d61737465725f626c75657072696e745f736572766963655f6d616e6167657204011c616464726573739501011048313630000d3819015570646174657320746865204d617374657220426c75657072696e742053657276696365204d616e6167657220627920616464696e672061206e6577207265766973696f6e2e003423205065726d697373696f6e730035012a2043616c6c6572206d75737420626520616e20617574686f72697a6564204d617374657220426c75657072696e742053657276696365204d616e6167657220557064617465204f726967696e002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6ca02a20606164647265737360202d204e6577206d616e61676572206164647265737320746f20616464002023204572726f72730085012a205b4572726f723a3a4d61784d6173746572426c75657072696e74536572766963654d616e6167657256657273696f6e7345786365656465645d202d204d6178696d756d206e756d626572206f66207265766973696f6e732072656163686564306a6f696e5f7365727669636508012c696e7374616e63655f696430010c75363400015073656375726974795f636f6d6d69746d656e74736d0201a05665633c41737365745365637572697479436f6d6d69746d656e743c543a3a417373657449643e3e000f04984a6f696e2061207365727669636520696e7374616e636520617320616e206f70657261746f72346c656176655f7365727669636504012c696e7374616e63655f696430010c7536340010049c4c656176652061207365727669636520696e7374616e636520617320616e206f70657261746f72040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e6506104474616e676c655f7072696d6974697665732073657276696365731c736572766963654053657276696365426c75657072696e7404044300002001206d6574616461746169060148536572766963654d657461646174613c433e0001106a6f6273790601c8426f756e6465645665633c4a6f62446566696e6974696f6e3c433e2c20433a3a4d61784a6f6273506572536572766963653e00014c726567697374726174696f6e5f706172616d738506018c426f756e6465645665633c4669656c64547970652c20433a3a4d61784669656c64733e000138726571756573745f706172616d738506018c426f756e6465645665633c4669656c64547970652c20433a3a4d61784669656c64733e00011c6d616e616765729106015c426c75657072696e74536572766963654d616e6167657200015c6d61737465725f6d616e616765725f7265766973696f6e950601944d6173746572426c75657072696e74536572766963654d616e616765725265766973696f6e000118676164676574990601244761646765743c433e00016c737570706f727465645f6d656d626572736869705f6d6f64656c73190701b0426f756e6465645665633c4d656d626572736869704d6f64656c547970652c20436f6e73745533323c323e3e00006906104474616e676c655f7072696d6974697665732073657276696365731c736572766963653c536572766963654d6574616461746104044300002001106e616d656d06018c426f756e646564537472696e673c433a3a4d61784d657461646174614c656e6774683e00012c6465736372697074696f6e750601ac4f7074696f6e3c426f756e646564537472696e673c433a3a4d61784d657461646174614c656e6774683e3e000118617574686f72750601ac4f7074696f6e3c426f756e646564537472696e673c433a3a4d61784d657461646174614c656e6774683e3e00012063617465676f7279750601ac4f7074696f6e3c426f756e646564537472696e673c433a3a4d61784d657461646174614c656e6774683e3e00013c636f64655f7265706f7369746f7279750601ac4f7074696f6e3c426f756e646564537472696e673c433a3a4d61784d657461646174614c656e6774683e3e0001106c6f676f750601ac4f7074696f6e3c426f756e646564537472696e673c433a3a4d61784d657461646174614c656e6774683e3e00011c77656273697465750601ac4f7074696f6e3c426f756e646564537472696e673c433a3a4d61784d657461646174614c656e6774683e3e00011c6c6963656e7365750601ac4f7074696f6e3c426f756e646564537472696e673c433a3a4d61784d657461646174614c656e6774683e3e00006d06104474616e676c655f7072696d697469766573207365727669636573146669656c6434426f756e646564537472696e670404530000040071060144426f756e6465645665633c75382c20533e000071060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e0000750604184f7074696f6e040454016d060108104e6f6e6500000010536f6d6504006d06000001000079060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454017d060453000004008d0601185665633c543e00007d06104474616e676c655f7072696d697469766573207365727669636573106a6f6273344a6f62446566696e6974696f6e04044300000c01206d65746164617461810601384a6f624d657461646174613c433e000118706172616d738506018c426f756e6465645665633c4669656c64547970652c20433a3a4d61784669656c64733e000118726573756c748506018c426f756e6465645665633c4669656c64547970652c20433a3a4d61784669656c64733e00008106104474616e676c655f7072696d697469766573207365727669636573106a6f62732c4a6f624d6574616461746104044300000801106e616d656d06018c426f756e646564537472696e673c433a3a4d61784d657461646174614c656e6774683e00012c6465736372697074696f6e750601ac4f7074696f6e3c426f756e646564537472696e673c433a3a4d61784d657461646174614c656e6774683e3e000085060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454011102045300000400890601185665633c543e000089060000021102008d060000027d06009106104474616e676c655f7072696d6974697665732073657276696365731c736572766963655c426c75657072696e74536572766963654d616e616765720001040c45766d04009501011048313630000000009506104474616e676c655f7072696d6974697665732073657276696365731c73657276696365944d6173746572426c75657072696e74536572766963654d616e616765725265766973696f6e000108184c6174657374000000205370656369666963040010010c753332000100009906104474616e676c655f7072696d697469766573207365727669636573186761646765741847616467657404044300010c105761736d04009d0601345761736d4761646765743c433e000000184e617469766504001107013c4e61746976654761646765743c433e00010024436f6e7461696e6572040015070148436f6e7461696e65724761646765743c433e000200009d06104474616e676c655f7072696d69746976657320736572766963657318676164676574285761736d476164676574040443000008011c72756e74696d65a106012c5761736d52756e74696d6500011c736f7572636573a50601cc426f756e6465645665633c476164676574536f757263653c433e2c20433a3a4d6178536f75726365735065724761646765743e0000a106104474616e676c655f7072696d697469766573207365727669636573186761646765742c5761736d52756e74696d65000108205761736d74696d65000000185761736d657200010000a5060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401a9060453000004000d0701185665633c543e0000a906104474616e676c655f7072696d6974697665732073657276696365731867616467657430476164676574536f75726365040443000004011c66657463686572ad060158476164676574536f75726365466574636865723c433e0000ad06104474616e676c655f7072696d697469766573207365727669636573186761646765744c476164676574536f757263654665746368657204044300011010495046530400b1060190426f756e6465645665633c75382c20433a3a4d617849706673486173684c656e6774683e000000184769746875620400b5060140476974687562466574636865723c433e00010038436f6e7461696e6572496d6167650400ed06015c496d6167655265676973747279466574636865723c433e0002001c54657374696e6704000907013854657374466574636865723c433e00030000b1060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e0000b506104474616e676c655f7072696d69746976657320736572766963657318676164676574344769746875624665746368657204044300001001146f776e6572b906018c426f756e646564537472696e673c433a3a4d61784769744f776e65724c656e6774683e0001107265706fc1060188426f756e646564537472696e673c433a3a4d61784769745265706f4c656e6774683e00010c746167c9060184426f756e646564537472696e673c433a3a4d61784769745461674c656e6774683e00012062696e6172696573d10601d0426f756e6465645665633c47616467657442696e6172793c433e2c20433a3a4d617842696e61726965735065724761646765743e0000b906104474616e676c655f7072696d697469766573207365727669636573146669656c6434426f756e646564537472696e6704045300000400bd060144426f756e6465645665633c75382c20533e0000bd060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e0000c106104474616e676c655f7072696d697469766573207365727669636573146669656c6434426f756e646564537472696e6704045300000400c5060144426f756e6465645665633c75382c20533e0000c5060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e0000c906104474616e676c655f7072696d697469766573207365727669636573146669656c6434426f756e646564537472696e6704045300000400cd060144426f756e6465645665633c75382c20533e0000cd060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e0000d1060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401d506045300000400e90601185665633c543e0000d506104474616e676c655f7072696d697469766573207365727669636573186761646765743047616467657442696e617279040443000010011061726368d90601304172636869746563747572650001086f73dd06013c4f7065726174696e6753797374656d0001106e616d65e1060194426f756e646564537472696e673c433a3a4d617842696e6172794e616d654c656e6774683e0001187368613235360401205b75383b2033325d0000d906104474616e676c655f7072696d6974697665732073657276696365731867616467657430417263686974656374757265000128105761736d000000185761736d36340001001057617369000200185761736936340003000c416d6400040014416d6436340005000c41726d0006001441726d36340007001452697363560008001c5269736356363400090000dd06104474616e676c655f7072696d697469766573207365727669636573186761646765743c4f7065726174696e6753797374656d0001141c556e6b6e6f776e000000144c696e75780001001c57696e646f7773000200144d61634f530003000c42534400040000e106104474616e676c655f7072696d697469766573207365727669636573146669656c6434426f756e646564537472696e6704045300000400e5060144426f756e6465645665633c75382c20533e0000e5060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e0000e906000002d50600ed06104474616e676c655f7072696d6974697665732073657276696365731867616467657450496d61676552656769737472794665746368657204044300000c01207265676973747279f10601b0426f756e646564537472696e673c433a3a4d6178436f6e7461696e657252656769737472794c656e6774683e000114696d616765f90601b4426f756e646564537472696e673c433a3a4d6178436f6e7461696e6572496d6167654e616d654c656e6774683e00010c746167010701b0426f756e646564537472696e673c433a3a4d6178436f6e7461696e6572496d6167655461674c656e6774683e0000f106104474616e676c655f7072696d697469766573207365727669636573146669656c6434426f756e646564537472696e6704045300000400f5060144426f756e6465645665633c75382c20533e0000f5060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e0000f906104474616e676c655f7072696d697469766573207365727669636573146669656c6434426f756e646564537472696e6704045300000400fd060144426f756e6465645665633c75382c20533e0000fd060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e00000107104474616e676c655f7072696d697469766573207365727669636573146669656c6434426f756e646564537472696e670404530000040005070144426f756e6465645665633c75382c20533e000005070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e00000907104474616e676c655f7072696d697469766573207365727669636573186761646765742c546573744665746368657204044300000c0134636172676f5f7061636b616765e1060194426f756e646564537472696e673c433a3a4d617842696e6172794e616d654c656e6774683e000124636172676f5f62696ee1060194426f756e646564537472696e673c433a3a4d617842696e6172794e616d654c656e6774683e000124626173655f706174686d06018c426f756e646564537472696e673c433a3a4d61784d657461646174614c656e6774683e00000d07000002a906001107104474616e676c655f7072696d69746976657320736572766963657318676164676574304e6174697665476164676574040443000004011c736f7572636573a50601cc426f756e6465645665633c476164676574536f757263653c433e2c20433a3a4d6178536f75726365735065724761646765743e00001507104474616e676c655f7072696d697469766573207365727669636573186761646765743c436f6e7461696e6572476164676574040443000004011c736f7572636573a50601cc426f756e6465645665633c476164676574536f757263653c433e2c20433a3a4d6178536f75726365735065724761646765743e000019070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454011d07045300000400210701185665633c543e00001d07104474616e676c655f7072696d6974697665732073657276696365731474797065734c4d656d626572736869704d6f64656c547970650001081446697865640000001c44796e616d69630001000021070000021d07002507104474616e676c655f7072696d6974697665732073657276696365731474797065733c4d656d626572736869704d6f64656c0001081446697865640401346d696e5f6f70657261746f727310010c7533320000001c44796e616d69630801346d696e5f6f70657261746f727310010c7533320001346d61785f6f70657261746f72739502012c4f7074696f6e3c7533323e00010000290700000608002d0700000655020031070c4470616c6c65745f74616e676c655f6c73741870616c6c65741043616c6c040454000154106a6f696e080118616d6f756e747101013042616c616e63654f663c543e00011c706f6f6c5f6964100118506f6f6c49640000585d015374616b65732066756e64732077697468206120706f6f6c206279207472616e7366657272696e672074686520626f6e64656420616d6f756e742066726f6d206d656d62657220746f20706f6f6c206163636f756e742e003423205065726d697373696f6e7300402a204d757374206265207369676e6564002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c702a2060616d6f756e7460202d20416d6f756e7420746f207374616b65702a2060706f6f6c5f696460202d2054617267657420706f6f6c204944002023204572726f727300e82a205b604572726f723a3a4d696e696d756d426f6e644e6f744d6574605d202d20416d6f756e742062656c6f77206d696e696d756d20626f6e64bc2a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d20506f6f6c20646f6573206e6f74206578697374cc2a205b604572726f723a3a446566656e736976654572726f72605d202d2052657761726420706f6f6c206e6f7420666f756e64001823204e6f746500f02a204d656d626572206d757374206861766520606578697374656e7469616c206465706f736974202b20616d6f756e746020696e206163636f756e74ac2a20506f6f6c206d75737420626520696e205b60506f6f6c53746174653a3a4f70656e605d20737461746528626f6e645f657874726108011c706f6f6c5f6964100118506f6f6c496400011465787472613507015c426f6e6445787472613c42616c616e63654f663c543e3e00016cd4426f6e64206164646974696f6e616c2066756e647320696e746f20616e206578697374696e6720706f6f6c20706f736974696f6e2e0029014164646974696f6e616c2066756e64732063616e20636f6d652066726f6d2065697468657220667265652062616c616e6365206f7220616363756d756c6174656420726577617264732eac4175746f6d61746963616c6c792070617973206f757420616c6c2070656e64696e6720726577617264732e002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c702a2060706f6f6c5f696460202d2054617267657420706f6f6c204944c42a2060657874726160202d20536f7572636520616e6420616d6f756e74206f66206164646974696f6e616c2066756e6473003423205065726d697373696f6e7300402a204d757374206265207369676e6564c02a204d7573742068617665207065726d697373696f6e20746f20626f6e64206578747261206966206e6f742073656c66002023204572726f727300bc2a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d20506f6f6c20646f6573206e6f74206578697374f02a205b604572726f723a3a446f65734e6f74486176655065726d697373696f6e605d202d2043616c6c6572206c61636b73207065726d697373696f6ecc2a205b604572726f723a3a446566656e736976654572726f72605d202d2052657761726420706f6f6c206e6f7420666f756e64001823204e6f74650031012a2054686973207472616e73616374696f6e207072696f726974697a657320726561646162696c69747920616e6420636f72726563746e657373206f766572206f7074696d697a6174696f6eec2a204d756c7469706c652073746f726167652072656164732f7772697465732061726520706572666f726d656420746f20726575736520636f646505012a205365652060626f6e645f65787472615f6f746865726020746f20626f6e642070656e64696e672072657761726473206f66206f74686572206d656d6265727318756e626f6e640c01386d656d6265725f6163636f756e74090301504163636f756e7449644c6f6f6b75704f663c543e00011c706f6f6c5f6964100118506f6f6c4964000140756e626f6e64696e675f706f696e74737101013042616c616e63654f663c543e0003743101556e626f6e6420706f696e74732066726f6d2061206d656d626572277320706f6f6c20706f736974696f6e2c20636f6c6c656374696e6720616e792070656e64696e6720726577617264732e002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6cac2a20606d656d6265725f6163636f756e7460202d204163636f756e7420746f20756e626f6e642066726f6d702a2060706f6f6c5f696460202d2054617267657420706f6f6c204944c42a2060756e626f6e64696e675f706f696e747360202d20416d6f756e74206f6620706f696e747320746f20756e626f6e64003423205065726d697373696f6e7300502a205065726d697373696f6e6c6573732069663ad420202d20506f6f6c20697320626c6f636b656420616e642063616c6c657220697320726f6f742f626f756e63657220286b69636b29c820202d20506f6f6c2069732064657374726f79696e6720616e64206d656d626572206973206e6f74206465706f7369746f72f820202d20506f6f6c2069732064657374726f79696e672c206d656d626572206973206465706f7369746f722c20616e6420706f6f6c20697320656d707479a82a205065726d697373696f6e6564202863616c6c6572206d757374206265206d656d626572292069663a6c20202d2043616c6c6572206973206e6f74206465706f7369746f72f820202d2043616c6c6572206973206465706f7369746f722c20706f6f6c2069732064657374726f79696e672c20616e6420706f6f6c20697320656d707479002023204572726f727300bc2a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d20506f6f6c20646f6573206e6f74206578697374fc2a205b604572726f723a3a4e6f42616c616e6365546f556e626f6e64605d202d204d656d6265722068617320696e73756666696369656e7420706f696e7473f42a205b604572726f723a3a446566656e736976654572726f72605d202d204e6f7420656e6f75676820737061636520696e20756e626f6e6420706f6f6c001823204e6f74656d014966206e6f20756e6c6f636b696e67206368756e6b732061726520617661696c61626c652c205b6043616c6c3a3a706f6f6c5f77697468647261775f756e626f6e646564605d2063616e2062652063616c6c65642066697273742e6501546865207374616b696e6720696e746572666163652077696c6c20617474656d70742074686973206175746f6d61746963616c6c7920627574206d6179207374696c6c2072657475726e20604e6f4d6f72654368756e6b7360746966206368756e6b732063616e6e6f742062652072656c65617365642e58706f6f6c5f77697468647261775f756e626f6e64656408011c706f6f6c5f6964100118506f6f6c49640001486e756d5f736c617368696e675f7370616e7310010c75333200044ce457697468647261777320756e626f6e6465642066756e64732066726f6d2074686520706f6f6c2773207374616b696e67206163636f756e742e00390155736566756c20666f7220636c656172696e6720756e6c6f636b696e67206368756e6b73207768656e2074686572652061726520746f6f206d616e7920746f2063616c6c2060756e626f6e64602edc50726576656e747320604e6f4d6f72654368756e6b7360206572726f72732066726f6d20746865207374616b696e672073797374656d2e003423205065726d697373696f6e7300782a2043616e206265207369676e656420627920616e79206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c742a2060706f6f6c5f696460202d20506f6f6c206964656e746966696572e82a20606e756d5f736c617368696e675f7370616e7360202d204e756d626572206f6620736c617368696e67207370616e7320746f20636865636b002023204572726f727300bc2a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d20506f6f6c20646f6573206e6f74206578697374e02a205b604572726f723a3a4e6f7444657374726f79696e67605d202d20506f6f6c20697320696e2064657374726f79696e672073746174654477697468647261775f756e626f6e6465640c01386d656d6265725f6163636f756e74090301504163636f756e7449644c6f6f6b75704f663c543e00011c706f6f6c5f6964100118506f6f6c49640001486e756d5f736c617368696e675f7370616e7310010c753332000564b8576974686472617720756e626f6e6465642066756e64732066726f6d2061206d656d626572206163636f756e742e003423205065726d697373696f6e7300502a205065726d697373696f6e6c6573732069663adc20202d20506f6f6c20697320696e2064657374726f79206d6f646520616e6420746172676574206973206e6f74206465706f7369746f72d020202d20546172676574206973206465706f7369746f7220616e64206f6e6c79206d656d62657220696e2073756220706f6f6c73b820202d20506f6f6c20697320626c6f636b656420616e642063616c6c657220697320726f6f742f626f756e636572d02a205065726d697373696f6e65642069662063616c6c65722069732074617267657420616e64206e6f74206465706f7369746f72002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6cb42a20606d656d6265725f6163636f756e7460202d204163636f756e7420746f2077697468647261772066726f6d742a2060706f6f6c5f696460202d20506f6f6c206964656e746966696572c42a20606e756d5f736c617368696e675f7370616e7360202d204e756d626572206f6620736c617368696e67207370616e73002023204572726f727300e82a205b604572726f723a3a506f6f6c4d656d6265724e6f74466f756e64605d202d204d656d626572206163636f756e74206e6f7420666f756e64bc2a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d20506f6f6c20646f6573206e6f74206578697374cc2a205b604572726f723a3a537562506f6f6c734e6f74466f756e64605d202d2053756220706f6f6c73206e6f7420666f756e64f02a205b604572726f723a3a43616e6e6f745769746864726177416e79605d202d204e6f20756e626f6e6465642066756e647320617661696c61626c6500bc496620746172676574206973206465706f7369746f722c20706f6f6c2077696c6c2062652064657374726f7965642e18637265617465180118616d6f756e747101013042616c616e63654f663c543e000110726f6f74090301504163636f756e7449644c6f6f6b75704f663c543e0001246e6f6d696e61746f72090301504163636f756e7449644c6f6f6b75704f663c543e00011c626f756e636572090301504163636f756e7449644c6f6f6b75704f663c543e0001106e616d65390701a04f7074696f6e3c426f756e6465645665633c75382c20543a3a4d61784e616d654c656e6774683e3e00011069636f6e410701a04f7074696f6e3c426f756e6465645665633c75382c20543a3a4d617849636f6e4c656e6774683e3e00065c744372656174652061206e65772064656c65676174696f6e20706f6f6c2e003423205065726d697373696f6e730019012a204d757374206265207369676e656420627920746865206163636f756e7420746861742077696c6c206265636f6d652074686520696e697469616c206465706f7369746f72002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6cac2a2060616d6f756e7460202d20416d6f756e7420746f2064656c656761746520746f2074686520706f6f6c982a2060726f6f7460202d204163636f756e7420746f2073657420617320706f6f6c20726f6f74c02a20606e6f6d696e61746f7260202d204163636f756e7420746f2073657420617320706f6f6c206e6f6d696e61746f72b02a2060626f756e63657260202d204163636f756e7420746f2073657420617320706f6f6c20626f756e636572ec2a20606e616d6560202d204f7074696f6e616c20706f6f6c206e616d6520626f756e6465642062792060543a3a4d61784e616d654c656e67746860ec2a206069636f6e60202d204f7074696f6e616c20706f6f6c2069636f6e20626f756e6465642062792060543a3a4d617849636f6e4c656e67746860002023204572726f727300f02a205b604572726f723a3a4f766572666c6f775269736b605d202d20506f6f6c20494420696e6372656d656e7420776f756c64206f766572666c6f77001823204e6f7465000d0143616c6c6572206d75737420686176652060616d6f756e74202b206578697374656e7469616c5f6465706f73697460207472616e7366657261626c652066756e64732e4c6372656174655f776974685f706f6f6c5f69641c0118616d6f756e747101013042616c616e63654f663c543e000110726f6f74090301504163636f756e7449644c6f6f6b75704f663c543e0001246e6f6d696e61746f72090301504163636f756e7449644c6f6f6b75704f663c543e00011c626f756e636572090301504163636f756e7449644c6f6f6b75704f663c543e00011c706f6f6c5f6964100118506f6f6c49640001106e616d65390701a04f7074696f6e3c426f756e6465645665633c75382c20543a3a4d61784e616d654c656e6774683e3e00011069636f6e410701a04f7074696f6e3c426f756e6465645665633c75382c20543a3a4d617849636f6e4c656e6774683e3e000764f04372656174652061206e65772064656c65676174696f6e20706f6f6c207769746820612070726576696f75736c79207573656420706f6f6c2049442e003423205065726d697373696f6e7300f82a204d757374206265207369676e656420627920746865206163636f756e7420746861742077696c6c206265636f6d6520746865206465706f7369746f72002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6cac2a2060616d6f756e7460202d20416d6f756e7420746f2064656c656761746520746f2074686520706f6f6c982a2060726f6f7460202d204163636f756e7420746f2073657420617320706f6f6c20726f6f74c02a20606e6f6d696e61746f7260202d204163636f756e7420746f2073657420617320706f6f6c206e6f6d696e61746f72b02a2060626f756e63657260202d204163636f756e7420746f2073657420617320706f6f6c20626f756e636572782a2060706f6f6c5f696460202d20506f6f6c20494420746f207265757365742a20606e616d6560202d204f7074696f6e616c20706f6f6c206e616d65742a206069636f6e60202d204f7074696f6e616c20706f6f6c2069636f6e002023204572726f727300d02a205b604572726f723a3a506f6f6c4964496e557365605d202d20506f6f6c20494420697320616c726561647920696e2075736505012a205b604572726f723a3a496e76616c6964506f6f6c4964605d202d20506f6f6c2049442069732067726561746572207468616e206c61737420706f6f6c204944001823204e6f7465000d0143616c6c6572206d75737420686176652060616d6f756e74202b206578697374656e7469616c5f6465706f73697460207472616e7366657261626c652066756e64732e206e6f6d696e61746508011c706f6f6c5f6964100118506f6f6c496400012876616c696461746f7273490201445665633c543a3a4163636f756e7449643e000850a84e6f6d696e6174652076616c696461746f7273206f6e20626568616c66206f662074686520706f6f6c2e003423205065726d697373696f6e7300d42a20506f6f6c206e6f6d696e61746f72206f7220726f6f7420726f6c652063616e206e6f6d696e6174652076616c696461746f7273002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c742a2060706f6f6c5f696460202d20506f6f6c206964656e746966696572dc2a206076616c696461746f727360202d204c697374206f662076616c696461746f72206163636f756e747320746f206e6f6d696e617465002023204572726f727300bc2a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d20506f6f6c20646f6573206e6f74206578697374f82a205b604572726f723a3a4e6f744e6f6d696e61746f72605d202d2043616c6c6572206c61636b73206e6f6d696e61746f72207065726d697373696f6e73001823204e6f7465001d01466f727761726473206e6f6d696e6174696f6e2063616c6c20746f207374616b696e672070616c6c6574207573696e6720706f6f6c277320626f6e646564206163636f756e742e247365745f737461746508011c706f6f6c5f6964100118506f6f6c4964000114737461746579020124506f6f6c537461746500095c59015570646174657320746865207374617465206f66206120706f6f6c2e204f6e6365206120706f6f6c20697320696e206044657374726f79696e67602073746174652c206974732073746174652063616e6e6f74206265986368616e67656420616761696e20756e64657220616e792063697263756d7374616e6365732e003423205065726d697373696f6e7300b42a20506f6f6c20626f756e636572206f7220726f6f7420726f6c652063616e2073657420616e7920737461746551012a20416e79206163636f756e742063616e2073657420737461746520746f206044657374726f79696e676020696620706f6f6c206661696c7320606f6b5f746f5f62655f6f70656e6020636f6e646974696f6e73002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c742a2060706f6f6c5f696460202d20506f6f6c206964656e746966696572702a2060737461746560202d204e657720737461746520746f20736574002023204572726f727300bc2a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d20506f6f6c20646f6573206e6f7420657869737461012a205b604572726f723a3a43616e4e6f744368616e67655374617465605d202d20506f6f6c20697320696e2064657374726f79696e67207374617465206f722063616c6c6572206c61636b73207065726d697373696f6e73001823204e6f74650055015374617465206368616e676573206172652076616c696461746564207468726f75676820606f6b5f746f5f62655f6f70656e6020776869636820636865636b7320706f6f6c2070726f70657274696573206c696b658c636f6d6d697373696f6e2c206d656d62657220636f756e7420616e6420726f6c65732e307365745f6d6574616461746108011c706f6f6c5f6964100118506f6f6c49640001206d6574616461746138011c5665633c75383e000a44985570646174657320746865206d6574616461746120666f72206120676976656e20706f6f6c2e003423205065726d697373696f6e7300c42a204d7573742062652063616c6c65642062792074686520706f6f6c20626f756e636572206f7220726f6f7420726f6c65002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c742a2060706f6f6c5f696460202d20506f6f6c206964656e746966696572882a20606d6574616461746160202d204e6577206d6574616461746120746f20736574002023204572726f727300bc2a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d20506f6f6c20646f6573206e6f7420657869737431012a205b604572726f723a3a4d65746164617461457863656564734d61784c656e605d202d204d65746164617461206c656e6774682065786365656473206d6178696d756d20616c6c6f77656419012a205b604572726f723a3a446f65734e6f74486176655065726d697373696f6e605d202d2043616c6c6572206c61636b73207265717569726564207065726d697373696f6e732c7365745f636f6e666967731001346d696e5f6a6f696e5f626f6e6449070158436f6e6669674f703c42616c616e63654f663c543e3e00013c6d696e5f6372656174655f626f6e6449070158436f6e6669674f703c42616c616e63654f663c543e3e0001246d61785f706f6f6c734d070134436f6e6669674f703c7533323e000154676c6f62616c5f6d61785f636f6d6d697373696f6e51070144436f6e6669674f703c50657262696c6c3e000b440501557064617465732074686520676c6f62616c20636f6e66696775726174696f6e20706172616d657465727320666f72206e6f6d696e6174696f6e20706f6f6c732e003423205065726d697373696f6e7300602a204d7573742062652063616c6c656420627920526f6f74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c11012a20606d696e5f6a6f696e5f626f6e6460202d20436f6e666967206f7065726174696f6e20666f72206d696e696d756d20626f6e6420746f206a6f696e206120706f6f6c29012a20606d696e5f6372656174655f626f6e6460202d20436f6e666967206f7065726174696f6e20666f72206d696e696d756d20626f6e6420746f20637265617465206120706f6f6c2020f02a20606d61785f706f6f6c7360202d20436f6e666967206f7065726174696f6e20666f72206d6178696d756d206e756d626572206f6620706f6f6c7329012a2060676c6f62616c5f6d61785f636f6d6d697373696f6e60202d20436f6e666967206f7065726174696f6e20666f72206d6178696d756d20676c6f62616c20636f6d6d697373696f6e002023204572726f727300cc2a205b6044697370617463684572726f723a3a4261644f726967696e605d202d2043616c6c6572206973206e6f7420526f6f74307570646174655f726f6c657310011c706f6f6c5f6964100118506f6f6c49640001206e65775f726f6f7455070158436f6e6669674f703c543a3a4163636f756e7449643e0001346e65775f6e6f6d696e61746f7255070158436f6e6669674f703c543a3a4163636f756e7449643e00012c6e65775f626f756e63657255070158436f6e6669674f703c543a3a4163636f756e7449643e000c546c5570646174652074686520726f6c6573206f66206120706f6f6c2e0085015570646174657320726f6f742c206e6f6d696e61746f7220616e6420626f756e63657220726f6c657320666f72206120676976656e20706f6f6c2e20546865206465706f7369746f7220726f6c652063616e6e6f74206265206368616e6765642ec8456d69747320612060526f6c65735570646174656460206576656e74206f6e207375636365737366756c207570646174652e003423205065726d697373696f6e7300882a204f726967696e206d75737420626520526f6f74206f7220706f6f6c20726f6f74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c742a2060706f6f6c5f696460202d20506f6f6c206964656e746966696572a82a20606e65775f726f6f7460202d204e657720726f6f7420726f6c6520636f6e66696775726174696f6ed82a20606e65775f6e6f6d696e61746f7260202d204e6577206e6f6d696e61746f7220726f6c6520636f6e66696775726174696f6e2020c02a20606e65775f626f756e63657260202d204e657720626f756e63657220726f6c6520636f6e66696775726174696f6e002023204572726f727300bc2a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d20506f6f6c20646f6573206e6f7420657869737411012a205b604572726f723a3a446f65734e6f74486176655065726d697373696f6e605d202d204f726967696e20646f6573206e6f742068617665207065726d697373696f6e146368696c6c04011c706f6f6c5f6964100118506f6f6c4964000d3c25014368696c6c206f6e20626568616c66206f662074686520706f6f6c20627920666f7277617264696e67207468652063616c6c20746f20746865207374616b696e672070616c6c65742e003423205065726d697373696f6e7300d82a204f726967696e206d757374206265207369676e656420627920706f6f6c206e6f6d696e61746f72206f7220726f6f7420726f6c65002c2320417267756d656e7473008c2a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c742a2060706f6f6c5f696460202d20506f6f6c206964656e746966696572002023204572726f727300bc2a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d20506f6f6c20646f6573206e6f74206578697374f82a205b604572726f723a3a4e6f744e6f6d696e61746f72605d202d204f726967696e206c61636b73206e6f6d696e6174696f6e207065726d697373696f6e40626f6e645f65787472615f6f746865720c01186d656d626572090301504163636f756e7449644c6f6f6b75704f663c543e00011c706f6f6c5f6964100118506f6f6c496400011465787472613507015c426f6e6445787472613c42616c616e63654f663c543e3e000e500d01426f6e64206164646974696f6e616c2066756e647320666f72206120706f6f6c206d656d62657220696e746f207468656972207265737065637469766520706f6f6c2e003423205065726d697373696f6e730041012a204f726967696e206d757374206d61746368206d656d626572206163636f756e7420666f7220626f6e64696e672066726f6d20667265652062616c616e63652f70656e64696e6720726577617264733d012a20416e79206f726967696e2063616e20626f6e642066726f6d2070656e64696e672072657761726473206966206d656d6265722068617320605065726d697373696f6e6c657373416c6c60206f72b02020605065726d697373696f6e6c657373436f6d706f756e646020636c61696d207065726d697373696f6e73002c2320417267756d656e7473008c2a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6cb02a20606d656d62657260202d20506f6f6c206d656d626572206163636f756e7420746f20626f6e6420666f72742a2060706f6f6c5f696460202d20506f6f6c206964656e746966696572fc2a2060657874726160202d20416d6f756e7420746f20626f6e642066726f6d20667265652062616c616e6365206f722070656e64696e672072657761726473002023204572726f727300bc2a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d20506f6f6c20646f6573206e6f7420657869737405012a205b604572726f723a3a506f6f6c4d656d6265724e6f74466f756e64605d202d204163636f756e74206973206e6f742061206d656d626572206f6620706f6f6c19012a205b604572726f723a3a4e6f5065726d697373696f6e605d202d204f726967696e206c61636b73207065726d697373696f6e20746f20626f6e6420666f72206d656d626572387365745f636f6d6d697373696f6e08011c706f6f6c5f6964100118506f6f6c49640001386e65775f636f6d6d697373696f6e2501017c4f7074696f6e3c2850657262696c6c2c20543a3a4163636f756e744964293e001140dc536574206f722072656d6f76652074686520636f6d6d697373696f6e207261746520616e6420706179656520666f72206120706f6f6c2e003423205065726d697373696f6e730001012a2043616c6c6572206d757374206861766520636f6d6d697373696f6e206d616e6167656d656e74207065726d697373696f6e20666f722074686520706f6f6c002c2320417267756d656e7473008c2a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c842a2060706f6f6c5f696460202d2054686520706f6f6c206964656e74696669657265012a20606e65775f636f6d6d697373696f6e60202d204f7074696f6e616c20636f6d6d697373696f6e207261746520616e642070617965652e204e6f6e652072656d6f766573206578697374696e6720636f6d6d697373696f6e002023204572726f727300d82a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d2054686520706f6f6c5f696420646f6573206e6f7420657869737449012a205b604572726f723a3a446f65734e6f74486176655065726d697373696f6e605d202d2043616c6c6572206c61636b7320636f6d6d697373696f6e206d616e6167656d656e74207065726d697373696f6e487365745f636f6d6d697373696f6e5f6d617808011c706f6f6c5f6964100118506f6f6c49640001386d61785f636f6d6d697373696f6ef8011c50657262696c6c001244690153657420746865206d6178696d756d20636f6d6d697373696f6e207261746520666f72206120706f6f6c2e20496e697469616c206d61782063616e2062652073657420746f20616e792076616c75652c2077697468206f6e6c7955016c6f7765722076616c75657320616c6c6f77656420746865726561667465722e2043757272656e7420636f6d6d697373696f6e2077696c6c20626520726564756365642069662061626f7665206e6577206d61782e003423205065726d697373696f6e730001012a2043616c6c6572206d757374206861766520636f6d6d697373696f6e206d616e6167656d656e74207065726d697373696f6e20666f722074686520706f6f6c002c2320417267756d656e7473008c2a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c842a2060706f6f6c5f696460202d2054686520706f6f6c206964656e746966696572d02a20606d61785f636f6d6d697373696f6e60202d20546865206e6577206d6178696d756d20636f6d6d697373696f6e2072617465002023204572726f727300d82a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d2054686520706f6f6c5f696420646f6573206e6f7420657869737449012a205b604572726f723a3a446f65734e6f74486176655065726d697373696f6e605d202d2043616c6c6572206c61636b7320636f6d6d697373696f6e206d616e6167656d656e74207065726d697373696f6e687365745f636f6d6d697373696f6e5f6368616e67655f7261746508011c706f6f6c5f6964100118506f6f6c496400012c6368616e67655f726174657d02019c436f6d6d697373696f6e4368616e6765526174653c426c6f636b4e756d626572466f723c543e3e001328a85365742074686520636f6d6d697373696f6e206368616e6765207261746520666f72206120706f6f6c2e003d01496e697469616c206368616e67652072617465206973206e6f7420626f756e6465642c20776865726561732073756273657175656e7420757064617465732063616e206f6e6c79206265206d6f7265747265737472696374697665207468616e207468652063757272656e742e002c2320417267756d656e747300a1012a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c2e204d757374206265207369676e656420627920616e206163636f756e74207769746820636f6d6d697373696f6e206d616e6167656d656e74207065726d697373696f6e2e2d012a2060706f6f6c5f696460202d20546865206964656e746966696572206f662074686520706f6f6c20746f2073657420636f6d6d697373696f6e206368616e6765207261746520666f722efc2a20606368616e67655f7261746560202d20546865206e657720636f6d6d697373696f6e206368616e6765207261746520636f6e66696775726174696f6e2e40636c61696d5f636f6d6d697373696f6e04011c706f6f6c5f6964100118506f6f6c496400142890436c61696d2070656e64696e6720636f6d6d697373696f6e20666f72206120706f6f6c2e007d01546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e656420627920616e206163636f756e74207769746820636f6d6d697373696f6e20636c61696d207065726d697373696f6e2e790150656e64696e6720636f6d6d697373696f6e2069732070616964206f757420616e6420616464656420746f20746f74616c20636c61696d656420636f6d6d697373696f6e2e20546f74616c2070656e64696e6720636f6d6d697373696f6e44697320726573657420746f207a65726f2e002c2320417267756d656e7473008d012a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c2e204d757374206265207369676e656420627920616e206163636f756e74207769746820636f6d6d697373696f6e20636c61696d207065726d697373696f6e2e09012a2060706f6f6c5f696460202d20546865206964656e746966696572206f662074686520706f6f6c20746f20636c61696d20636f6d6d697373696f6e2066726f6d2e4c61646a7573745f706f6f6c5f6465706f73697404011c706f6f6c5f6964100118506f6f6c4964001530ec546f70207570207468652064656669636974206f7220776974686472617720746865206578636573732045442066726f6d2074686520706f6f6c2e0051015768656e206120706f6f6c20697320637265617465642c2074686520706f6f6c206465706f7369746f72207472616e736665727320454420746f2074686520726577617264206163636f756e74206f66207468655501706f6f6c2e204544206973207375626a65637420746f206368616e676520616e64206f7665722074696d652c20746865206465706f73697420696e2074686520726577617264206163636f756e74206d61792062655101696e73756666696369656e7420746f20636f766572207468652045442064656669636974206f662074686520706f6f6c206f7220766963652d76657273612077686572652074686572652069732065786365737331016465706f73697420746f2074686520706f6f6c2e20546869732063616c6c20616c6c6f777320616e796f6e6520746f2061646a75737420746865204544206465706f736974206f6620746865f4706f6f6c2062792065697468657220746f7070696e67207570207468652064656669636974206f7220636c61696d696e6720746865206578636573732e002c2320417267756d656e747300d02a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c2e204d757374206265207369676e65642e0d012a2060706f6f6c5f696460202d20546865206964656e746966696572206f662074686520706f6f6c20746f2061646a75737420746865206465706f73697420666f722e7c7365745f636f6d6d697373696f6e5f636c61696d5f7065726d697373696f6e08011c706f6f6c5f6964100118506f6f6c49640001287065726d697373696f6e810201bc4f7074696f6e3c436f6d6d697373696f6e436c61696d5065726d697373696f6e3c543a3a4163636f756e7449643e3e001628cc536574206f722072656d6f7665206120706f6f6c277320636f6d6d697373696f6e20636c61696d207065726d697373696f6e2e004d014f6e6c79207468652060526f6f746020726f6c65206f662074686520706f6f6c2069732061626c6520746f20636f6e66696775726520636f6d6d697373696f6e20636c61696d207065726d697373696f6e732e4901546869732064657465726d696e6573207768696368206163636f756e74732061726520616c6c6f77656420746f20636c61696d2074686520706f6f6c27732070656e64696e6720636f6d6d697373696f6e2e002c2320417267756d656e7473003d012a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c2e204d757374206265207369676e65642062792074686520706f6f6c277320726f6f74206163636f756e742e01012a2060706f6f6c5f696460202d20546865206964656e746966696572206f662074686520706f6f6c20746f20736574207065726d697373696f6e7320666f722eb9012a20607065726d697373696f6e60202d204f7074696f6e616c20636f6d6d697373696f6e20636c61696d207065726d697373696f6e20636f6e66696775726174696f6e2e204966204e6f6e652c2072656d6f76657320616e79206578697374696e67207065726d697373696f6e2e407365745f6c6173745f706f6f6c5f696404011c706f6f6c5f6964100118506f6f6c4964001700040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e35070c4470616c6c65745f74616e676c655f6c737414747970657324426f6e644578747261041c42616c616e6365011801042c4672656542616c616e6365040018011c42616c616e636500000000390704184f7074696f6e040454013d070108104e6f6e6500000010536f6d6504003d0700000100003d070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e0000410704184f7074696f6e0404540145070108104e6f6e6500000010536f6d6504004507000001000045070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e000049070c4470616c6c65745f74616e676c655f6c737414747970657320436f6e6669674f700404540118010c104e6f6f700000000c5365740400180104540001001852656d6f7665000200004d070c4470616c6c65745f74616e676c655f6c737414747970657320436f6e6669674f700404540110010c104e6f6f700000000c5365740400100104540001001852656d6f76650002000051070c4470616c6c65745f74616e676c655f6c737414747970657320436f6e6669674f7004045401f8010c104e6f6f700000000c5365740400f80104540001001852656d6f76650002000055070c4470616c6c65745f74616e676c655f6c737414747970657320436f6e6669674f700404540100010c104e6f6f700000000c5365740400000104540001001852656d6f76650002000059070c3870616c6c65745f726577617264731870616c6c65741043616c6c04045400011c34636c61696d5f726577617264730401146173736574f501014441737365743c543a3a417373657449643e000104c8436c61696d207265776172647320666f72206120737065636966696320617373657420616e642072657761726420747970654c636c61696d5f726577617264735f6f7468657208010c77686f000130543a3a4163636f756e7449640001146173736574f501014441737365743c543a3a417373657449643e00022484436c61696d207265776172647320666f7220616e6f74686572206163636f756e74008c546865206469737061746368206f726967696e206d757374206265207369676e65642e002c506172616d65746572733aa42d206077686f603a20546865206163636f756e7420746f20636c61696d207265776172647320666f72a42d20606173736574603a2054686520617373657420746f20636c61696d207265776172647320666f7200b4456d697473206052657761726473436c61696d656460206576656e74207768656e207375636365737366756c2e646d616e6167655f61737365745f7265776172645f7661756c740c01207661756c745f6964100128543a3a5661756c7449640001146173736574f501014441737365743c543a3a417373657449643e000118616374696f6e8d02012c4173736574416374696f6e000344844d616e61676520617373657420696420746f207661756c7420726577617264732e003423205065726d697373696f6e7300a42a204d757374206265207369676e656420627920616e20617574686f72697a6564206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c782a20607661756c745f696460202d204944206f6620746865207661756c746c2a2060617373657460202d204944206f6620746865206173736574ac2a2060616374696f6e60202d20416374696f6e20746f20706572666f726d20284164642f52656d6f766529002023204572726f72730001012a205b604572726f723a3a4173736574416c7265616479496e5661756c74605d202d20417373657420616c72656164792065786973747320696e207661756c74f02a205b604572726f723a3a41737365744e6f74496e5661756c74605d202d20417373657420646f6573206e6f7420657869737420696e207661756c744c6372656174655f7265776172645f7661756c740801207661756c745f6964100128543a3a5661756c7449640001286e65775f636f6e6669679102019c526577617264436f6e666967466f7241737365745661756c743c42616c616e63654f663c543e3e000448e0437265617465732061206e65772072657761726420636f6e66696775726174696f6e20666f722061207370656369666963207661756c742e002c2320417267756d656e7473f82a20606f726967696e60202d204f726967696e206f66207468652063616c6c2c206d75737420706173732060466f7263654f726967696e6020636865636bb02a20607661756c745f696460202d20546865204944206f6620746865207661756c7420746f20757064617465e42a20606e65775f636f6e66696760202d20546865206e65772072657761726420636f6e66696775726174696f6e20636f6e7461696e696e673ac420202a206061707960202d20416e6e75616c2050657262696c6c616765205969656c6420666f7220746865207661756c74e020202a20606465706f7369745f63617060202d204d6178696d756d20616d6f756e7420746861742063616e206265206465706f7369746564290120202a2060696e63656e746976655f63617060202d204d6178696d756d20616d6f756e74206f6620696e63656e746976657320746861742063616e206265206469737472696275746564f420202a2060626f6f73745f6d756c7469706c69657260202d204f7074696f6e616c206d756c7469706c69657220746f20626f6f73742072657761726473002023204576656e747329012a20605661756c74526577617264436f6e6669675570646174656460202d20456d6974746564207768656e207661756c742072657761726420636f6e6669672069732075706461746564002023204572726f727305012a20604261644f726967696e60202d2049662063616c6c6572206973206e6f7420617574686f72697a6564207468726f7567682060466f7263654f726967696e6051012a2060496e63656e74697665436170477265617465725468616e4465706f73697443617060202d20496620696e63656e74697665206361702069732067726561746572207468616e206465706f73697420636170ec2a2060426f6f73744d756c7469706c6965724d75737442654f6e6560202d20496620626f6f7374206d756c7469706c696572206973206e6f742031687570646174655f7661756c745f7265776172645f636f6e6669670801207661756c745f6964100128543a3a5661756c7449640001286e65775f636f6e6669679102019c526577617264436f6e666967466f7241737365745661756c743c42616c616e63654f663c543e3e000548d855706461746573207468652072657761726420636f6e66696775726174696f6e20666f722061207370656369666963207661756c742e002c2320417267756d656e7473f82a20606f726967696e60202d204f726967696e206f66207468652063616c6c2c206d75737420706173732060466f7263654f726967696e6020636865636bb02a20607661756c745f696460202d20546865204944206f6620746865207661756c7420746f20757064617465e42a20606e65775f636f6e66696760202d20546865206e65772072657761726420636f6e66696775726174696f6e20636f6e7461696e696e673ac420202a206061707960202d20416e6e75616c2050657262696c6c616765205969656c6420666f7220746865207661756c74e020202a20606465706f7369745f63617060202d204d6178696d756d20616d6f756e7420746861742063616e206265206465706f7369746564290120202a2060696e63656e746976655f63617060202d204d6178696d756d20616d6f756e74206f6620696e63656e746976657320746861742063616e206265206469737472696275746564f420202a2060626f6f73745f6d756c7469706c69657260202d204f7074696f6e616c206d756c7469706c69657220746f20626f6f73742072657761726473002023204576656e747329012a20605661756c74526577617264436f6e6669675570646174656460202d20456d6974746564207768656e207661756c742072657761726420636f6e6669672069732075706461746564002023204572726f727305012a20604261644f726967696e60202d2049662063616c6c6572206973206e6f7420617574686f72697a6564207468726f7567682060466f7263654f726967696e6051012a2060496e63656e74697665436170477265617465725468616e4465706f73697443617060202d20496620696e63656e74697665206361702069732067726561746572207468616e206465706f73697420636170ec2a2060426f6f73744d756c7469706c6965724d75737442654f6e6560202d20496620626f6f7374206d756c7469706c696572206973206e6f7420314c7570646174655f64656361795f636f6e66696708013073746172745f706572696f64300144426c6f636b4e756d626572466f723c543e00011072617465f8011c50657262696c6c000604785570646174652074686520646563617920636f6e66696775726174696f6e447570646174655f6170795f626c6f636b73040118626c6f636b73300144426c6f636b4e756d626572466f723c543e000704d055706461746520746865206e756d626572206f6620626c6f636b73207573656420666f72204150592063616c63756c6174696f6e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e5d070c2c70616c6c65745f7375646f1870616c6c6574144572726f720404540001042c526571756972655375646f0000048053656e646572206d75737420626520746865205375646f206163636f756e742e04684572726f7220666f7220746865205375646f2070616c6c65742e61070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540134045300000400c50101185665633c543e000065070c3470616c6c65745f61737365747314747970657330417373657444657461696c730c1c42616c616e63650118244163636f756e7449640100384465706f73697442616c616e63650118003001146f776e65720001244163636f756e7449640001186973737565720001244163636f756e74496400011461646d696e0001244163636f756e74496400011c667265657a65720001244163636f756e744964000118737570706c7918011c42616c616e636500011c6465706f7369741801384465706f73697442616c616e636500012c6d696e5f62616c616e636518011c42616c616e636500013469735f73756666696369656e74200110626f6f6c0001206163636f756e747310010c75333200012c73756666696369656e747310010c753332000124617070726f76616c7310010c7533320001187374617475736907012c4173736574537461747573000069070c3470616c6c65745f6173736574731474797065732c417373657453746174757300010c104c6976650000001846726f7a656e0001002844657374726f79696e67000200006d070000040818000071070c3470616c6c65745f6173736574731474797065733041737365744163636f756e74101c42616c616e63650118384465706f73697442616c616e636501181445787472610184244163636f756e74496401000010011c62616c616e636518011c42616c616e6365000118737461747573750701344163636f756e74537461747573000118726561736f6e790701a84578697374656e6365526561736f6e3c4465706f73697442616c616e63652c204163636f756e7449643e00011465787472618401144578747261000075070c3470616c6c65745f617373657473147479706573344163636f756e7453746174757300010c184c69717569640000001846726f7a656e0001001c426c6f636b65640002000079070c3470616c6c65745f6173736574731474797065733c4578697374656e6365526561736f6e081c42616c616e63650118244163636f756e7449640100011420436f6e73756d65720000002853756666696369656e740001002c4465706f73697448656c64040018011c42616c616e63650002003c4465706f736974526566756e6465640003002c4465706f73697446726f6d08000001244163636f756e744964000018011c42616c616e6365000400007d070000040c1800000081070c3470616c6c65745f61737365747314747970657320417070726f76616c081c42616c616e63650118384465706f73697442616c616e6365011800080118616d6f756e7418011c42616c616e636500011c6465706f7369741801384465706f73697442616c616e6365000085070c3470616c6c65745f6173736574731474797065733441737365744d6574616461746108384465706f73697442616c616e6365011834426f756e646564537472696e670189070014011c6465706f7369741801384465706f73697442616c616e63650001106e616d6589070134426f756e646564537472696e6700011873796d626f6c89070134426f756e646564537472696e67000120646563696d616c73080108753800012469735f66726f7a656e200110626f6f6c000089070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e00008d070c3470616c6c65745f6173736574731870616c6c6574144572726f720804540004490001542842616c616e63654c6f7700000415014163636f756e742062616c616e6365206d7573742062652067726561746572207468616e206f7220657175616c20746f20746865207472616e7366657220616d6f756e742e244e6f4163636f756e7400010490546865206163636f756e7420746f20616c74657220646f6573206e6f742065786973742e304e6f5065726d697373696f6e000204e8546865207369676e696e67206163636f756e7420686173206e6f207065726d697373696f6e20746f20646f20746865206f7065726174696f6e2e1c556e6b6e6f776e0003047854686520676976656e20617373657420494420697320756e6b6e6f776e2e1846726f7a656e00040474546865206f726967696e206163636f756e742069732066726f7a656e2e14496e5573650005047854686520617373657420494420697320616c72656164792074616b656e2e284261645769746e6573730006046c496e76616c6964207769746e657373206461746120676976656e2e384d696e42616c616e63655a65726f0007048c4d696e696d756d2062616c616e63652073686f756c64206265206e6f6e2d7a65726f2e4c556e617661696c61626c65436f6e73756d657200080c5901556e61626c6520746f20696e6372656d656e742074686520636f6e73756d6572207265666572656e636520636f756e74657273206f6e20746865206163636f756e742e20456974686572206e6f2070726f76696465724d017265666572656e63652065786973747320746f20616c6c6f772061206e6f6e2d7a65726f2062616c616e6365206f662061206e6f6e2d73656c662d73756666696369656e742061737365742c206f72206f6e65f06665776572207468656e20746865206d6178696d756d206e756d626572206f6620636f6e73756d65727320686173206265656e20726561636865642e2c4261644d657461646174610009045c496e76616c6964206d6574616461746120676976656e2e28556e617070726f766564000a04c44e6f20617070726f76616c20657869737473207468617420776f756c6420616c6c6f7720746865207472616e736665722e20576f756c64446965000b04350154686520736f75726365206163636f756e7420776f756c64206e6f74207375727669766520746865207472616e7366657220616e64206974206e6565647320746f207374617920616c6976652e34416c7265616479457869737473000c04845468652061737365742d6163636f756e7420616c7265616479206578697374732e244e6f4465706f736974000d04d45468652061737365742d6163636f756e7420646f65736e2774206861766520616e206173736f636961746564206465706f7369742e24576f756c644275726e000e04c4546865206f7065726174696f6e20776f756c6420726573756c7420696e2066756e6473206265696e67206275726e65642e244c6976654173736574000f0859015468652061737365742069732061206c69766520617373657420616e64206973206163746976656c79206265696e6720757365642e20557375616c6c7920656d697420666f72206f7065726174696f6e7320737563681d016173206073746172745f64657374726f796020776869636820726571756972652074686520617373657420746f20626520696e20612064657374726f79696e672073746174652e3041737365744e6f744c697665001004c8546865206173736574206973206e6f74206c6976652c20616e64206c696b656c79206265696e672064657374726f7965642e3c496e636f7272656374537461747573001104b054686520617373657420737461747573206973206e6f7420746865206578706563746564207374617475732e244e6f7446726f7a656e001204d85468652061737365742073686f756c642062652066726f7a656e206265666f72652074686520676976656e206f7065726174696f6e2e3843616c6c6261636b4661696c65640013048443616c6c6261636b20616374696f6e20726573756c74656420696e206572726f722842616441737365744964001404c8546865206173736574204944206d75737420626520657175616c20746f20746865205b604e65787441737365744964605d2e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e91070c3470616c6c65745f6173736574731870616c6c6574144572726f720804540004490001542842616c616e63654c6f7700000415014163636f756e742062616c616e6365206d7573742062652067726561746572207468616e206f7220657175616c20746f20746865207472616e7366657220616d6f756e742e244e6f4163636f756e7400010490546865206163636f756e7420746f20616c74657220646f6573206e6f742065786973742e304e6f5065726d697373696f6e000204e8546865207369676e696e67206163636f756e7420686173206e6f207065726d697373696f6e20746f20646f20746865206f7065726174696f6e2e1c556e6b6e6f776e0003047854686520676976656e20617373657420494420697320756e6b6e6f776e2e1846726f7a656e00040474546865206f726967696e206163636f756e742069732066726f7a656e2e14496e5573650005047854686520617373657420494420697320616c72656164792074616b656e2e284261645769746e6573730006046c496e76616c6964207769746e657373206461746120676976656e2e384d696e42616c616e63655a65726f0007048c4d696e696d756d2062616c616e63652073686f756c64206265206e6f6e2d7a65726f2e4c556e617661696c61626c65436f6e73756d657200080c5901556e61626c6520746f20696e6372656d656e742074686520636f6e73756d6572207265666572656e636520636f756e74657273206f6e20746865206163636f756e742e20456974686572206e6f2070726f76696465724d017265666572656e63652065786973747320746f20616c6c6f772061206e6f6e2d7a65726f2062616c616e6365206f662061206e6f6e2d73656c662d73756666696369656e742061737365742c206f72206f6e65f06665776572207468656e20746865206d6178696d756d206e756d626572206f6620636f6e73756d65727320686173206265656e20726561636865642e2c4261644d657461646174610009045c496e76616c6964206d6574616461746120676976656e2e28556e617070726f766564000a04c44e6f20617070726f76616c20657869737473207468617420776f756c6420616c6c6f7720746865207472616e736665722e20576f756c64446965000b04350154686520736f75726365206163636f756e7420776f756c64206e6f74207375727669766520746865207472616e7366657220616e64206974206e6565647320746f207374617920616c6976652e34416c7265616479457869737473000c04845468652061737365742d6163636f756e7420616c7265616479206578697374732e244e6f4465706f736974000d04d45468652061737365742d6163636f756e7420646f65736e2774206861766520616e206173736f636961746564206465706f7369742e24576f756c644275726e000e04c4546865206f7065726174696f6e20776f756c6420726573756c7420696e2066756e6473206265696e67206275726e65642e244c6976654173736574000f0859015468652061737365742069732061206c69766520617373657420616e64206973206163746976656c79206265696e6720757365642e20557375616c6c7920656d697420666f72206f7065726174696f6e7320737563681d016173206073746172745f64657374726f796020776869636820726571756972652074686520617373657420746f20626520696e20612064657374726f79696e672073746174652e3041737365744e6f744c697665001004c8546865206173736574206973206e6f74206c6976652c20616e64206c696b656c79206265696e672064657374726f7965642e3c496e636f7272656374537461747573001104b054686520617373657420737461747573206973206e6f7420746865206578706563746564207374617475732e244e6f7446726f7a656e001204d85468652061737365742073686f756c642062652066726f7a656e206265666f72652074686520676976656e206f7065726174696f6e2e3843616c6c6261636b4661696c65640013048443616c6c6261636b20616374696f6e20726573756c74656420696e206572726f722842616441737365744964001404c8546865206173736574204944206d75737420626520657175616c20746f20746865205b604e65787441737365744964605d2e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e95070c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e646564566563080454019907045300000400a10701185665633c543e000099070c3c70616c6c65745f62616c616e6365731474797065732c42616c616e63654c6f636b041c42616c616e63650118000c01086964f10201384c6f636b4964656e746966696572000118616d6f756e7418011c42616c616e636500011c726561736f6e739d07011c526561736f6e7300009d070c3c70616c6c65745f62616c616e6365731474797065731c526561736f6e7300010c0c466565000000104d6973630001000c416c6c00020000a107000002990700a5070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401a907045300000400ad0701185665633c543e0000a9070c3c70616c6c65745f62616c616e6365731474797065732c52657365727665446174610844526573657276654964656e74696669657201f1021c42616c616e63650118000801086964f1020144526573657276654964656e746966696572000118616d6f756e7418011c42616c616e63650000ad07000002a90700b1070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401b507045300000400c10701185665633c543e0000b50714346672616d655f737570706f72741874726169747318746f6b656e73106d697363204964416d6f756e740808496401b9071c42616c616e63650118000801086964b90701084964000118616d6f756e7418011c42616c616e63650000b907085874616e676c655f746573746e65745f72756e74696d654452756e74696d65486f6c64526561736f6e00010420507265696d6167650400bd07016c70616c6c65745f707265696d6167653a3a486f6c64526561736f6e001a0000bd070c3c70616c6c65745f707265696d6167651870616c6c657428486f6c64526561736f6e00010420507265696d61676500000000c107000002b50700c5070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401c907045300000400d90701185665633c543e0000c90714346672616d655f737570706f72741874726169747318746f6b656e73106d697363204964416d6f756e740808496401cd071c42616c616e63650118000801086964cd0701084964000118616d6f756e7418011c42616c616e63650000cd07085874616e676c655f746573746e65745f72756e74696d654c52756e74696d65467265657a65526561736f6e0001083c4e6f6d696e6174696f6e506f6f6c730400d107019470616c6c65745f6e6f6d696e6174696f6e5f706f6f6c733a3a467265657a65526561736f6e0018000c4c73740400d507017c70616c6c65745f74616e676c655f6c73743a3a467265657a65526561736f6e00340000d1070c5c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c731870616c6c657430467265657a65526561736f6e00010438506f6f6c4d696e42616c616e636500000000d5070c4470616c6c65745f74616e676c655f6c73741870616c6c657430467265657a65526561736f6e00010438506f6f6c4d696e42616c616e636500000000d907000002c90700dd070c3c70616c6c65745f62616c616e6365731870616c6c6574144572726f720804540004490001303856657374696e6742616c616e63650000049c56657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c75652e544c69717569646974795265737472696374696f6e73000104c84163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c2e4c496e73756666696369656e7442616c616e63650002047842616c616e636520746f6f206c6f7720746f2073656e642076616c75652e484578697374656e7469616c4465706f736974000304ec56616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f7369742e34457870656e646162696c697479000404905472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e742e5c4578697374696e6756657374696e675363686564756c65000504cc412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742e2c446561644163636f756e740006048c42656e6566696369617279206163636f756e74206d757374207072652d65786973742e3c546f6f4d616e795265736572766573000704b84e756d626572206f66206e616d65642072657365727665732065786365656420604d61785265736572766573602e30546f6f4d616e79486f6c6473000804f84e756d626572206f6620686f6c647320657863656564206056617269616e74436f756e744f663c543a3a52756e74696d65486f6c64526561736f6e3e602e38546f6f4d616e79467265657a6573000904984e756d626572206f6620667265657a65732065786365656420604d6178467265657a6573602e4c49737375616e63654465616374697661746564000a0401015468652069737375616e63652063616e6e6f74206265206d6f6469666965642073696e636520697420697320616c72656164792064656163746976617465642e2444656c74615a65726f000b04645468652064656c74612063616e6e6f74206265207a65726f2e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ee1070c3473705f61726974686d657469632c66697865645f706f696e742446697865645531323800000400180110753132380000e507086870616c6c65745f7472616e73616374696f6e5f7061796d656e742052656c6561736573000108245631416e6369656e7400000008563200010000e9070c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401ed07045300000400f10701185665633c543e0000ed070000040825033000f107000002ed0700f5070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540104045300000400f90701185665633c543e0000f9070000020400fd0704184f7074696f6e0404540101080108104e6f6e6500000010536f6d6504000108000001000001080c4473705f636f6e73656e7375735f626162651c646967657374732450726544696765737400010c1c5072696d6172790400050801405072696d617279507265446967657374000100385365636f6e64617279506c61696e04000d08015c5365636f6e64617279506c61696e507265446967657374000200305365636f6e646172795652460400110801545365636f6e646172795652465072654469676573740003000005080c4473705f636f6e73656e7375735f626162651c64696765737473405072696d61727950726544696765737400000c013c617574686f726974795f696e64657810015473757065723a3a417574686f72697479496e646578000110736c6f7429030110536c6f740001347672665f7369676e6174757265090801305672665369676e617475726500000908101c73705f636f72651c737232353531390c767266305672665369676e617475726500000801287072655f6f75747075740401305672665072654f757470757400011470726f6f665503012056726650726f6f6600000d080c4473705f636f6e73656e7375735f626162651c646967657374735c5365636f6e64617279506c61696e507265446967657374000008013c617574686f726974795f696e64657810015473757065723a3a417574686f72697479496e646578000110736c6f7429030110536c6f74000011080c4473705f636f6e73656e7375735f626162651c64696765737473545365636f6e6461727956524650726544696765737400000c013c617574686f726974795f696e64657810015473757065723a3a417574686f72697479496e646578000110736c6f7429030110536c6f740001347672665f7369676e6174757265090801305672665369676e617475726500001508084473705f636f6e73656e7375735f62616265584261626545706f6368436f6e66696775726174696f6e00000801046335030128287536342c2075363429000134616c6c6f7765645f736c6f747339030130416c6c6f776564536c6f7473000019080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454013d01045300000400a50201185665633c543e00001d080c2c70616c6c65745f626162651870616c6c6574144572726f7204045400011060496e76616c696445717569766f636174696f6e50726f6f660000043101416e2065717569766f636174696f6e2070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e60496e76616c69644b65794f776e65727368697050726f6f66000104310141206b6579206f776e6572736869702070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e584475706c69636174654f6666656e63655265706f727400020415014120676976656e2065717569766f636174696f6e207265706f72742069732076616c69642062757420616c72656164792070726576696f75736c79207265706f727465642e50496e76616c6964436f6e66696775726174696f6e0003048c5375626d697474656420636f6e66696775726174696f6e20697320696e76616c69642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e2108083870616c6c65745f6772616e6470612c53746f726564537461746504044e01300110104c6976650000003050656e64696e6750617573650801307363686564756c65645f61743001044e00011464656c61793001044e000100185061757365640002003450656e64696e67526573756d650801307363686564756c65645f61743001044e00011464656c61793001044e000300002508083870616c6c65745f6772616e6470614c53746f72656450656e64696e674368616e676508044e0130144c696d697400001001307363686564756c65645f61743001044e00011464656c61793001044e0001406e6578745f617574686f7269746965732908016c426f756e646564417574686f726974794c6973743c4c696d69743e000118666f72636564c50401244f7074696f6e3c4e3e000029080c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401a8045300000400a401185665633c543e00002d080c3870616c6c65745f6772616e6470611870616c6c6574144572726f7204045400011c2c50617573654661696c65640000080501417474656d707420746f207369676e616c204752414e445041207061757365207768656e2074686520617574686f72697479207365742069736e2774206c697665a42865697468657220706175736564206f7220616c72656164792070656e64696e67207061757365292e30526573756d654661696c65640001081101417474656d707420746f207369676e616c204752414e44504120726573756d65207768656e2074686520617574686f72697479207365742069736e277420706175736564a028656974686572206c697665206f7220616c72656164792070656e64696e6720726573756d65292e344368616e676550656e64696e67000204e8417474656d707420746f207369676e616c204752414e445041206368616e67652077697468206f6e6520616c72656164792070656e64696e672e1c546f6f536f6f6e000304bc43616e6e6f74207369676e616c20666f72636564206368616e676520736f20736f6f6e206166746572206c6173742e60496e76616c69644b65794f776e65727368697050726f6f66000404310141206b6579206f776e6572736869702070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e60496e76616c696445717569766f636174696f6e50726f6f660005043101416e2065717569766f636174696f6e2070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e584475706c69636174654f6666656e63655265706f727400060415014120676976656e2065717569766f636174696f6e207265706f72742069732076616c69642062757420616c72656164792070726576696f75736c79207265706f727465642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e31080000040c0018200035080c3870616c6c65745f696e64696365731870616c6c6574144572726f720404540001142c4e6f7441737369676e65640000048c54686520696e64657820776173206e6f7420616c72656164792061737369676e65642e204e6f744f776e6572000104a454686520696e6465782069732061737369676e656420746f20616e6f74686572206163636f756e742e14496e5573650002047054686520696e64657820776173206e6f7420617661696c61626c652e2c4e6f745472616e73666572000304c854686520736f7572636520616e642064657374696e6174696f6e206163636f756e747320617265206964656e746963616c2e245065726d616e656e74000404d054686520696e646578206973207065726d616e656e7420616e64206d6179206e6f742062652066726565642f6368616e6765642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e39080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454013d08045300000400410801185665633c543e00003d080000040c107503000041080000023d0800450800000408a104180049080c4070616c6c65745f64656d6f6372616379147479706573385265666572656e64756d496e666f0c2c426c6f636b4e756d62657201302050726f706f73616c0175031c42616c616e6365011801081c4f6e676f696e6704004d0801c05265666572656e64756d5374617475733c426c6f636b4e756d6265722c2050726f706f73616c2c2042616c616e63653e0000002046696e6973686564080120617070726f766564200110626f6f6c00010c656e6430012c426c6f636b4e756d626572000100004d080c4070616c6c65745f64656d6f6372616379147479706573405265666572656e64756d5374617475730c2c426c6f636b4e756d62657201302050726f706f73616c0175031c42616c616e636501180014010c656e6430012c426c6f636b4e756d62657200012070726f706f73616c7503012050726f706f73616c0001247468726573686f6c64b80134566f74655468726573686f6c6400011464656c617930012c426c6f636b4e756d62657200011474616c6c795108013854616c6c793c42616c616e63653e000051080c4070616c6c65745f64656d6f63726163791474797065731454616c6c79041c42616c616e63650118000c01106179657318011c42616c616e63650001106e61797318011c42616c616e636500011c7475726e6f757418011c42616c616e6365000055080c4070616c6c65745f64656d6f637261637910766f746518566f74696e67101c42616c616e63650118244163636f756e74496401002c426c6f636b4e756d6265720130204d6178566f746573000108184469726563740c0114766f746573590801f4426f756e6465645665633c285265666572656e64756d496e6465782c204163636f756e74566f74653c42616c616e63653e292c204d6178566f7465733e00012c64656c65676174696f6e736508015044656c65676174696f6e733c42616c616e63653e0001147072696f726908017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e0000002844656c65676174696e6714011c62616c616e636518011c42616c616e63650001187461726765740001244163636f756e744964000128636f6e76696374696f6e81030128436f6e76696374696f6e00012c64656c65676174696f6e736508015044656c65676174696f6e733c42616c616e63653e0001147072696f726908017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e0001000059080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454015d08045300000400610801185665633c543e00005d080000040810bc0061080000025d080065080c4070616c6c65745f64656d6f63726163791474797065732c44656c65676174696f6e73041c42616c616e6365011800080114766f74657318011c42616c616e636500011c6361706974616c18011c42616c616e6365000069080c4070616c6c65745f64656d6f637261637910766f7465245072696f724c6f636b082c426c6f636b4e756d62657201301c42616c616e6365011800080030012c426c6f636b4e756d626572000018011c42616c616e636500006d08000004087503b80071080000040830a1040075080c4070616c6c65745f64656d6f63726163791870616c6c6574144572726f720404540001602056616c75654c6f770000043456616c756520746f6f206c6f773c50726f706f73616c4d697373696e670001045c50726f706f73616c20646f6573206e6f742065786973743c416c726561647943616e63656c65640002049443616e6e6f742063616e63656c207468652073616d652070726f706f73616c207477696365444475706c696361746550726f706f73616c0003045450726f706f73616c20616c7265616479206d6164654c50726f706f73616c426c61636b6c69737465640004046850726f706f73616c207374696c6c20626c61636b6c6973746564444e6f7453696d706c654d616a6f72697479000504a84e6578742065787465726e616c2070726f706f73616c206e6f742073696d706c65206d616a6f726974792c496e76616c69644861736800060430496e76616c69642068617368284e6f50726f706f73616c000704504e6f2065787465726e616c2070726f706f73616c34416c72656164795665746f6564000804984964656e74697479206d6179206e6f74207665746f20612070726f706f73616c207477696365445265666572656e64756d496e76616c696400090484566f746520676976656e20666f7220696e76616c6964207265666572656e64756d2c4e6f6e6557616974696e67000a04504e6f2070726f706f73616c732077616974696e67204e6f74566f746572000b04c454686520676976656e206163636f756e7420646964206e6f7420766f7465206f6e20746865207265666572656e64756d2e304e6f5065726d697373696f6e000c04c8546865206163746f7220686173206e6f207065726d697373696f6e20746f20636f6e647563742074686520616374696f6e2e44416c726561647944656c65676174696e67000d0488546865206163636f756e7420697320616c72656164792064656c65676174696e672e44496e73756666696369656e7446756e6473000e04fc546f6f206869676820612062616c616e6365207761732070726f7669646564207468617420746865206163636f756e742063616e6e6f74206166666f72642e344e6f7444656c65676174696e67000f04a0546865206163636f756e74206973206e6f742063757272656e746c792064656c65676174696e672e28566f74657345786973740010085501546865206163636f756e742063757272656e746c792068617320766f74657320617474616368656420746f20697420616e6420746865206f7065726174696f6e2063616e6e6f74207375636365656420756e74696ce87468657365206172652072656d6f7665642c20656974686572207468726f7567682060756e766f746560206f722060726561705f766f7465602e44496e7374616e744e6f74416c6c6f776564001104d854686520696e7374616e74207265666572656e64756d206f726967696e2069732063757272656e746c7920646973616c6c6f7765642e204e6f6e73656e73650012049444656c65676174696f6e20746f206f6e6573656c66206d616b6573206e6f2073656e73652e3c57726f6e675570706572426f756e6400130450496e76616c696420757070657220626f756e642e3c4d6178566f74657352656163686564001404804d6178696d756d206e756d626572206f6620766f74657320726561636865642e1c546f6f4d616e79001504804d6178696d756d206e756d626572206f66206974656d7320726561636865642e3c566f74696e67506572696f644c6f7700160454566f74696e6720706572696f6420746f6f206c6f7740507265696d6167654e6f7445786973740017047054686520707265696d61676520646f6573206e6f742065786973742e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e79080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540134045300000400c50101185665633c543e00007d08084470616c6c65745f636f6c6c65637469766514566f74657308244163636f756e74496401002c426c6f636b4e756d626572013000140114696e64657810013450726f706f73616c496e6465780001247468726573686f6c6410012c4d656d626572436f756e7400011061796573490201385665633c4163636f756e7449643e0001106e617973490201385665633c4163636f756e7449643e00010c656e6430012c426c6f636b4e756d626572000081080c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f7208045400044900012c244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e545072696d654163636f756e744e6f744d656d626572000a04745072696d65206163636f756e74206973206e6f742061206d656d626572048054686520604572726f726020656e756d206f6620746869732070616c6c65742e85080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454019103045300000400890801185665633c543e000089080000029103008d08083870616c6c65745f76657374696e672052656c65617365730001080856300000000856310001000091080c3870616c6c65745f76657374696e671870616c6c6574144572726f72040454000114284e6f7456657374696e6700000484546865206163636f756e7420676976656e206973206e6f742076657374696e672e5441744d617856657374696e675363686564756c65730001082501546865206163636f756e7420616c72656164792068617320604d617856657374696e675363686564756c65736020636f756e74206f66207363686564756c657320616e642074687573510163616e6e6f742061646420616e6f74686572206f6e652e20436f6e7369646572206d657267696e67206578697374696e67207363686564756c657320696e206f7264657220746f2061646420616e6f746865722e24416d6f756e744c6f770002040501416d6f756e74206265696e67207472616e7366657272656420697320746f6f206c6f7720746f2063726561746520612076657374696e67207363686564756c652e605363686564756c65496e6465784f75744f66426f756e6473000304d0416e20696e64657820776173206f7574206f6620626f756e6473206f66207468652076657374696e67207363686564756c65732e54496e76616c69645363686564756c65506172616d730004040d014661696c656420746f206372656174652061206e6577207363686564756c65206265636175736520736f6d6520706172616d657465722077617320696e76616c69642e04744572726f7220666f72207468652076657374696e672070616c6c65742e95080000029908009908086470616c6c65745f656c656374696f6e735f70687261676d656e2853656174486f6c64657208244163636f756e74496401001c42616c616e63650118000c010c77686f0001244163636f756e7449640001147374616b6518011c42616c616e636500011c6465706f73697418011c42616c616e636500009d08086470616c6c65745f656c656374696f6e735f70687261676d656e14566f74657208244163636f756e74496401001c42616c616e63650118000c0114766f746573490201385665633c4163636f756e7449643e0001147374616b6518011c42616c616e636500011c6465706f73697418011c42616c616e63650000a1080c6470616c6c65745f656c656374696f6e735f70687261676d656e1870616c6c6574144572726f7204045400014430556e61626c65546f566f7465000004c043616e6e6f7420766f7465207768656e206e6f2063616e64696461746573206f72206d656d626572732065786973742e1c4e6f566f746573000104944d75737420766f746520666f72206174206c65617374206f6e652063616e6469646174652e30546f6f4d616e79566f7465730002048443616e6e6f7420766f7465206d6f7265207468616e2063616e646964617465732e504d6178696d756d566f74657345786365656465640003049843616e6e6f7420766f7465206d6f7265207468616e206d6178696d756d20616c6c6f7765642e284c6f7742616c616e6365000404c443616e6e6f7420766f74652077697468207374616b65206c657373207468616e206d696e696d756d2062616c616e63652e3c556e61626c65546f506179426f6e6400050478566f7465722063616e206e6f742070617920766f74696e6720626f6e642e2c4d7573744265566f746572000604404d757374206265206120766f7465722e4c4475706c69636174656443616e646964617465000704804475706c6963617465642063616e646964617465207375626d697373696f6e2e44546f6f4d616e7943616e6469646174657300080498546f6f206d616e792063616e646964617465732068617665206265656e20637265617465642e304d656d6265725375626d6974000904884d656d6265722063616e6e6f742072652d7375626d69742063616e6469646163792e3852756e6e657255705375626d6974000a048852756e6e65722063616e6e6f742072652d7375626d69742063616e6469646163792e68496e73756666696369656e7443616e64696461746546756e6473000b049443616e64696461746520646f6573206e6f74206861766520656e6f7567682066756e64732e244e6f744d656d626572000c04344e6f742061206d656d6265722e48496e76616c69645769746e65737344617461000d04e05468652070726f766964656420636f756e74206f66206e756d626572206f662063616e6469646174657320697320696e636f72726563742e40496e76616c6964566f7465436f756e74000e04cc5468652070726f766964656420636f756e74206f66206e756d626572206f6620766f74657320697320696e636f72726563742e44496e76616c696452656e6f756e63696e67000f04fc5468652072656e6f756e63696e67206f726967696e2070726573656e74656420612077726f6e67206052656e6f756e63696e676020706172616d657465722e48496e76616c69645265706c6163656d656e74001004fc50726564696374696f6e20726567617264696e67207265706c6163656d656e74206166746572206d656d6265722072656d6f76616c2069732077726f6e672e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ea508089070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f7068617365345265616479536f6c7574696f6e08244163636f756e74496400284d617857696e6e65727300000c0120737570706f727473a9080198426f756e646564537570706f7274733c4163636f756e7449642c204d617857696e6e6572733e00011473636f7265e40134456c656374696f6e53636f726500011c636f6d70757465e0013c456c656374696f6e436f6d707574650000a9080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454017d04045300000400790401185665633c543e0000ad08089070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f706861736534526f756e64536e617073686f7408244163636f756e7449640100304461746150726f766964657201b10800080118766f74657273b90801445665633c4461746150726f76696465723e00011c74617267657473490201385665633c4163636f756e7449643e0000b1080000040c0030b50800b5080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400490201185665633c543e0000b908000002b10800bd080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401c108045300000400c50801185665633c543e0000c1080000040ce4301000c508000002c10800c9080c9070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f7068617365187369676e6564405369676e65645375626d697373696f6e0c244163636f756e74496401001c42616c616e6365011820536f6c7574696f6e01a5030010010c77686f0001244163636f756e74496400011c6465706f73697418011c42616c616e63650001307261775f736f6c7574696f6ea1030154526177536f6c7574696f6e3c536f6c7574696f6e3e00012063616c6c5f66656518011c42616c616e63650000cd080c9070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f70686173651870616c6c6574144572726f7204045400013c6850726544697370617463684561726c795375626d697373696f6e000004645375626d697373696f6e2077617320746f6f206561726c792e6c507265446973706174636857726f6e6757696e6e6572436f756e740001048857726f6e67206e756d626572206f662077696e6e6572732070726573656e7465642e6450726544697370617463685765616b5375626d697373696f6e000204905375626d697373696f6e2077617320746f6f207765616b2c2073636f72652d776973652e3c5369676e6564517565756546756c6c0003044901546865207175657565207761732066756c6c2c20616e642074686520736f6c7574696f6e20776173206e6f7420626574746572207468616e20616e79206f6620746865206578697374696e67206f6e65732e585369676e656443616e6e6f745061794465706f73697400040494546865206f726967696e206661696c656420746f2070617920746865206465706f7369742e505369676e6564496e76616c69645769746e657373000504a05769746e657373206461746120746f20646973706174636861626c6520697320696e76616c69642e4c5369676e6564546f6f4d756368576569676874000604b8546865207369676e6564207375626d697373696f6e20636f6e73756d657320746f6f206d756368207765696768743c4f637743616c6c57726f6e67457261000704984f4357207375626d697474656420736f6c7574696f6e20666f722077726f6e6720726f756e645c4d697373696e67536e617073686f744d65746164617461000804a8536e617073686f74206d657461646174612073686f756c6420657869737420627574206469646e27742e58496e76616c69645375626d697373696f6e496e646578000904d06053656c663a3a696e736572745f7375626d697373696f6e602072657475726e656420616e20696e76616c696420696e6465782e3843616c6c4e6f74416c6c6f776564000a04985468652063616c6c206973206e6f7420616c6c6f776564206174207468697320706f696e742e3846616c6c6261636b4661696c6564000b044c5468652066616c6c6261636b206661696c65642c426f756e644e6f744d6574000c0448536f6d6520626f756e64206e6f74206d657438546f6f4d616e7957696e6e657273000d049c5375626d697474656420736f6c7574696f6e2068617320746f6f206d616e792077696e6e657273645072654469737061746368446966666572656e74526f756e64000e04b85375626d697373696f6e2077617320707265706172656420666f72206120646966666572656e7420726f756e642e040d014572726f72206f66207468652070616c6c657420746861742063616e2062652072657475726e656420696e20726573706f6e736520746f20646973706174636865732ed108083870616c6c65745f7374616b696e67345374616b696e674c656467657204045400001401147374617368000130543a3a4163636f756e744964000114746f74616c7101013042616c616e63654f663c543e0001186163746976657101013042616c616e63654f663c543e000124756e6c6f636b696e67ad0401f0426f756e6465645665633c556e6c6f636b4368756e6b3c42616c616e63654f663c543e3e2c20543a3a4d6178556e6c6f636b696e674368756e6b733e0001586c65676163795f636c61696d65645f72657761726473d5080194426f756e6465645665633c457261496e6465782c20543a3a486973746f727944657074683e0000d5080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401100453000004008d0401185665633c543e0000d908083870616c6c65745f7374616b696e672c4e6f6d696e6174696f6e7304045400000c011c74617267657473b50801b4426f756e6465645665633c543a3a4163636f756e7449642c204d61784e6f6d696e6174696f6e734f663c543e3e0001307375626d69747465645f696e100120457261496e64657800012873757070726573736564200110626f6f6c0000dd08083870616c6c65745f7374616b696e6734416374697665457261496e666f0000080114696e646578100120457261496e6465780001147374617274c504012c4f7074696f6e3c7536343e0000e10800000408100000e508082873705f7374616b696e675450616765644578706f737572654d65746164617461041c42616c616e6365011800100114746f74616c7101011c42616c616e636500010c6f776e7101011c42616c616e636500013c6e6f6d696e61746f725f636f756e7410010c753332000128706167655f636f756e74100110506167650000e9080000040c10001000ed08082873705f7374616b696e67304578706f737572655061676508244163636f756e74496401001c42616c616e6365011800080128706167655f746f74616c7101011c42616c616e63650001186f7468657273750101ac5665633c496e646976696475616c4578706f737572653c4163636f756e7449642c2042616c616e63653e3e0000f108083870616c6c65745f7374616b696e673c457261526577617264506f696e747304244163636f756e744964010000080114746f74616c10012c526577617264506f696e74000128696e646976696475616cf508018042547265654d61703c4163636f756e7449642c20526577617264506f696e743e0000f508042042547265654d617008044b010004560110000400f908000000f908000002fd0800fd080000040800100001090000020509000509083870616c6c65745f7374616b696e6738556e6170706c696564536c61736808244163636f756e74496401001c42616c616e636501180014012476616c696461746f720001244163636f756e74496400010c6f776e18011c42616c616e63650001186f7468657273d401645665633c284163636f756e7449642c2042616c616e6365293e0001247265706f7274657273490201385665633c4163636f756e7449643e0001187061796f757418011c42616c616e6365000009090000020d09000d0900000408101000110900000408f8180015090c3870616c6c65745f7374616b696e6720736c617368696e6734536c617368696e675370616e7300001001287370616e5f696e6465781001245370616e496e6465780001286c6173745f7374617274100120457261496e6465780001486c6173745f6e6f6e7a65726f5f736c617368100120457261496e6465780001147072696f728d0401345665633c457261496e6465783e000019090c3870616c6c65745f7374616b696e6720736c617368696e67285370616e5265636f7264041c42616c616e636501180008011c736c617368656418011c42616c616e6365000120706169645f6f757418011c42616c616e636500001d09103870616c6c65745f7374616b696e671870616c6c65741870616c6c6574144572726f7204045400017c344e6f74436f6e74726f6c6c6572000004644e6f74206120636f6e74726f6c6c6572206163636f756e742e204e6f745374617368000104504e6f742061207374617368206163636f756e742e34416c7265616479426f6e64656400020460537461736820697320616c726561647920626f6e6465642e34416c726561647950616972656400030474436f6e74726f6c6c657220697320616c7265616479207061697265642e30456d7074795461726765747300040460546172676574732063616e6e6f7420626520656d7074792e384475706c6963617465496e646578000504404475706c696361746520696e6465782e44496e76616c6964536c617368496e64657800060484536c617368207265636f726420696e646578206f7574206f6620626f756e64732e40496e73756666696369656e74426f6e6400070c590143616e6e6f74206861766520612076616c696461746f72206f72206e6f6d696e61746f7220726f6c652c20776974682076616c7565206c657373207468616e20746865206d696e696d756d20646566696e65642062793d01676f7665726e616e6365202873656520604d696e56616c696461746f72426f6e646020616e6420604d696e4e6f6d696e61746f72426f6e6460292e20496620756e626f6e64696e67206973207468651501696e74656e74696f6e2c20606368696c6c6020666972737420746f2072656d6f7665206f6e65277320726f6c652061732076616c696461746f722f6e6f6d696e61746f722e304e6f4d6f72654368756e6b730008049043616e206e6f74207363686564756c65206d6f726520756e6c6f636b206368756e6b732e344e6f556e6c6f636b4368756e6b000904a043616e206e6f74207265626f6e6420776974686f757420756e6c6f636b696e67206368756e6b732e3046756e646564546172676574000a04c8417474656d7074696e6720746f2074617267657420612073746173682074686174207374696c6c206861732066756e64732e48496e76616c6964457261546f526577617264000b0458496e76616c69642065726120746f207265776172642e68496e76616c69644e756d6265724f664e6f6d696e6174696f6e73000c0478496e76616c6964206e756d626572206f66206e6f6d696e6174696f6e732e484e6f74536f72746564416e64556e69717565000d04804974656d7320617265206e6f7420736f7274656420616e6420756e697175652e38416c7265616479436c61696d6564000e0409015265776172647320666f72207468697320657261206861766520616c7265616479206265656e20636c61696d656420666f7220746869732076616c696461746f722e2c496e76616c696450616765000f04844e6f206e6f6d696e61746f7273206578697374206f6e207468697320706167652e54496e636f7272656374486973746f72794465707468001004c0496e636f72726563742070726576696f757320686973746f727920646570746820696e7075742070726f76696465642e58496e636f7272656374536c617368696e675370616e73001104b0496e636f7272656374206e756d626572206f6620736c617368696e67207370616e732070726f76696465642e2042616453746174650012043901496e7465726e616c20737461746520686173206265636f6d6520736f6d65686f7720636f7272757074656420616e6420746865206f7065726174696f6e2063616e6e6f7420636f6e74696e75652e38546f6f4d616e795461726765747300130494546f6f206d616e79206e6f6d696e6174696f6e207461726765747320737570706c6965642e244261645461726765740014043d0141206e6f6d696e6174696f6e207461726765742077617320737570706c69656420746861742077617320626c6f636b6564206f72206f7468657277697365206e6f7420612076616c696461746f722e4043616e6e6f744368696c6c4f74686572001504550154686520757365722068617320656e6f75676820626f6e6420616e6420746875732063616e6e6f74206265206368696c6c656420666f72636566756c6c7920627920616e2065787465726e616c20706572736f6e2e44546f6f4d616e794e6f6d696e61746f72730016084d0154686572652061726520746f6f206d616e79206e6f6d696e61746f727320696e207468652073797374656d2e20476f7665726e616e6365206e6565647320746f2061646a75737420746865207374616b696e67b473657474696e677320746f206b656570207468696e6773207361666520666f72207468652072756e74696d652e44546f6f4d616e7956616c696461746f7273001708550154686572652061726520746f6f206d616e792076616c696461746f722063616e6469646174657320696e207468652073797374656d2e20476f7665726e616e6365206e6565647320746f2061646a75737420746865d47374616b696e672073657474696e677320746f206b656570207468696e6773207361666520666f72207468652072756e74696d652e40436f6d6d697373696f6e546f6f4c6f77001804e0436f6d6d697373696f6e20697320746f6f206c6f772e204d757374206265206174206c6561737420604d696e436f6d6d697373696f6e602e2c426f756e644e6f744d657400190458536f6d6520626f756e64206973206e6f74206d65742e50436f6e74726f6c6c657244657072656361746564001a04010155736564207768656e20617474656d7074696e6720746f20757365206465707265636174656420636f6e74726f6c6c6572206163636f756e74206c6f6769632e4c43616e6e6f74526573746f72654c6564676572001b045843616e6e6f742072657365742061206c65646765722e6c52657761726444657374696e6174696f6e52657374726963746564001c04ac50726f7669646564207265776172642064657374696e6174696f6e206973206e6f7420616c6c6f7765642e384e6f74456e6f75676846756e6473001d049c4e6f7420656e6f7567682066756e647320617661696c61626c6520746f2077697468647261772e5c5669727475616c5374616b65724e6f74416c6c6f776564001e04a84f7065726174696f6e206e6f7420616c6c6f77656420666f72207669727475616c207374616b6572732e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e210900000225090025090000040800bd04002909000004082d0938002d090c1c73705f636f72651863727970746f244b65795479706549640000040048011c5b75383b20345d000031090c3870616c6c65745f73657373696f6e1870616c6c6574144572726f7204045400011430496e76616c696450726f6f6600000460496e76616c6964206f776e6572736869702070726f6f662e5c4e6f4173736f63696174656456616c696461746f7249640001049c4e6f206173736f6369617465642076616c696461746f7220494420666f72206163636f756e742e344475706c6963617465644b65790002046452656769737465726564206475706c6963617465206b65792e184e6f4b657973000304a44e6f206b65797320617265206173736f63696174656420776974682074686973206163636f756e742e244e6f4163636f756e7400040419014b65792073657474696e67206163636f756e74206973206e6f74206c6976652c20736f206974277320696d706f737369626c6520746f206173736f6369617465206b6579732e04744572726f7220666f72207468652073657373696f6e2070616c6c65742e3509000004083410003909083c70616c6c65745f74726561737572792050726f706f73616c08244163636f756e74496401001c42616c616e636501180010012070726f706f7365720001244163636f756e74496400011476616c756518011c42616c616e636500012c62656e65666963696172790001244163636f756e744964000110626f6e6418011c42616c616e636500003d090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401100453000004008d0401185665633c543e00004109083c70616c6c65745f74726561737572792c5370656e64537461747573142441737365744b696e64018430417373657442616c616e636501182c42656e656669636961727901002c426c6f636b4e756d6265720130245061796d656e74496401840018012861737365745f6b696e6484012441737365744b696e64000118616d6f756e74180130417373657442616c616e636500012c62656e656669636961727900012c42656e656669636961727900012876616c69645f66726f6d30012c426c6f636b4e756d6265720001246578706972655f617430012c426c6f636b4e756d6265720001187374617475734509015c5061796d656e7453746174653c5061796d656e7449643e00004509083c70616c6c65745f7472656173757279305061796d656e745374617465040849640184010c1c50656e64696e6700000024417474656d7074656404010869648401084964000100184661696c656400020000490908346672616d655f737570706f72742050616c6c6574496400000400f102011c5b75383b20385d00004d090c3c70616c6c65745f74726561737572791870616c6c6574144572726f7208045400044900012c30496e76616c6964496e646578000004ac4e6f2070726f706f73616c2c20626f756e7479206f72207370656e64206174207468617420696e6465782e40546f6f4d616e79417070726f76616c7300010480546f6f206d616e7920617070726f76616c7320696e207468652071756575652e58496e73756666696369656e745065726d697373696f6e0002084501546865207370656e64206f726967696e2069732076616c6964206275742074686520616d6f756e7420697420697320616c6c6f77656420746f207370656e64206973206c6f776572207468616e207468654c616d6f756e7420746f206265207370656e742e4c50726f706f73616c4e6f74417070726f7665640003047c50726f706f73616c20686173206e6f74206265656e20617070726f7665642e584661696c6564546f436f6e7665727442616c616e636500040451015468652062616c616e6365206f6620746865206173736574206b696e64206973206e6f7420636f6e7665727469626c6520746f207468652062616c616e6365206f6620746865206e61746976652061737365742e305370656e6445787069726564000504b0546865207370656e6420686173206578706972656420616e642063616e6e6f7420626520636c61696d65642e2c4561726c795061796f7574000604a4546865207370656e64206973206e6f742079657420656c696769626c6520666f72207061796f75742e40416c7265616479417474656d707465640007049c546865207061796d656e742068617320616c7265616479206265656e20617474656d707465642e2c5061796f75744572726f72000804cc54686572652077617320736f6d65206973737565207769746820746865206d656368616e69736d206f66207061796d656e742e304e6f74417474656d70746564000904a4546865207061796f757420776173206e6f742079657420617474656d707465642f636c61696d65642e30496e636f6e636c7573697665000a04c4546865207061796d656e7420686173206e656974686572206661696c6564206e6f7220737563636565646564207965742e04784572726f7220666f72207468652074726561737572792070616c6c65742e5109083c70616c6c65745f626f756e7469657318426f756e74790c244163636f756e74496401001c42616c616e636501182c426c6f636b4e756d62657201300018012070726f706f7365720001244163636f756e74496400011476616c756518011c42616c616e636500010c66656518011c42616c616e636500013c63757261746f725f6465706f73697418011c42616c616e6365000110626f6e6418011c42616c616e636500011873746174757355090190426f756e74795374617475733c4163636f756e7449642c20426c6f636b4e756d6265723e00005509083c70616c6c65745f626f756e7469657330426f756e747953746174757308244163636f756e74496401002c426c6f636b4e756d626572013001182050726f706f73656400000020417070726f7665640001001846756e6465640002003c43757261746f7250726f706f73656404011c63757261746f720001244163636f756e7449640003001841637469766508011c63757261746f720001244163636f756e7449640001287570646174655f64756530012c426c6f636b4e756d6265720004003450656e64696e675061796f75740c011c63757261746f720001244163636f756e74496400012c62656e65666963696172790001244163636f756e744964000124756e6c6f636b5f617430012c426c6f636b4e756d6265720005000059090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e00005d090c3c70616c6c65745f626f756e746965731870616c6c6574144572726f7208045400044900012c70496e73756666696369656e7450726f706f7365727342616c616e63650000047850726f706f73657227732062616c616e636520697320746f6f206c6f772e30496e76616c6964496e646578000104904e6f2070726f706f73616c206f7220626f756e7479206174207468617420696e6465782e30526561736f6e546f6f4269670002048454686520726561736f6e20676976656e206973206a75737420746f6f206269672e40556e65787065637465645374617475730003048054686520626f756e74792073746174757320697320756e65787065637465642e385265717569726543757261746f720004045c5265717569726520626f756e74792063757261746f722e30496e76616c696456616c756500050454496e76616c696420626f756e74792076616c75652e28496e76616c69644665650006044c496e76616c696420626f756e7479206665652e3450656e64696e675061796f75740007086c4120626f756e7479207061796f75742069732070656e64696e672ef8546f2063616e63656c2074686520626f756e74792c20796f75206d75737420756e61737369676e20616e6420736c617368207468652063757261746f722e245072656d6174757265000804450154686520626f756e746965732063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e504861734163746976654368696c64426f756e7479000904050154686520626f756e74792063616e6e6f7420626520636c6f73656420626563617573652069742068617320616374697665206368696c6420626f756e746965732e34546f6f4d616e79517565756564000a0498546f6f206d616e7920617070726f76616c732061726520616c7265616479207175657565642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e6109085470616c6c65745f6368696c645f626f756e746965732c4368696c64426f756e74790c244163636f756e74496401001c42616c616e636501182c426c6f636b4e756d626572013000140134706172656e745f626f756e747910012c426f756e7479496e64657800011476616c756518011c42616c616e636500010c66656518011c42616c616e636500013c63757261746f725f6465706f73697418011c42616c616e6365000118737461747573650901a44368696c64426f756e74795374617475733c4163636f756e7449642c20426c6f636b4e756d6265723e00006509085470616c6c65745f6368696c645f626f756e74696573444368696c64426f756e747953746174757308244163636f756e74496401002c426c6f636b4e756d626572013001101441646465640000003c43757261746f7250726f706f73656404011c63757261746f720001244163636f756e7449640001001841637469766504011c63757261746f720001244163636f756e7449640002003450656e64696e675061796f75740c011c63757261746f720001244163636f756e74496400012c62656e65666963696172790001244163636f756e744964000124756e6c6f636b5f617430012c426c6f636b4e756d6265720003000069090c5470616c6c65745f6368696c645f626f756e746965731870616c6c6574144572726f7204045400010c54506172656e74426f756e74794e6f74416374697665000004a454686520706172656e7420626f756e7479206973206e6f7420696e206163746976652073746174652e64496e73756666696369656e74426f756e747942616c616e6365000104e454686520626f756e74792062616c616e6365206973206e6f7420656e6f75676820746f20616464206e6577206368696c642d626f756e74792e50546f6f4d616e794368696c64426f756e746965730002040d014e756d626572206f66206368696c6420626f756e746965732065786365656473206c696d697420604d61784163746976654368696c64426f756e7479436f756e74602e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e6d090c4070616c6c65745f626167735f6c697374106c697374104e6f646508045400044900001401086964000130543a3a4163636f756e744964000110707265768801504f7074696f6e3c543a3a4163636f756e7449643e0001106e6578748801504f7074696f6e3c543a3a4163636f756e7449643e0001246261675f7570706572300120543a3a53636f726500011473636f7265300120543a3a53636f7265000071090c4070616c6c65745f626167735f6c697374106c6973740c4261670804540004490000080110686561648801504f7074696f6e3c543a3a4163636f756e7449643e0001107461696c8801504f7074696f6e3c543a3a4163636f756e7449643e000075090c4070616c6c65745f626167735f6c6973741870616c6c6574144572726f72080454000449000104104c6973740400790901244c6973744572726f72000004b441206572726f7220696e20746865206c69737420696e7465726661636520696d706c656d656e746174696f6e2e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e79090c4070616c6c65745f626167735f6c697374106c697374244c6973744572726f72000110244475706c6963617465000000284e6f7448656176696572000100304e6f74496e53616d65426167000200304e6f64654e6f74466f756e64000300007d09085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7328506f6f6c4d656d626572040454000010011c706f6f6c5f6964100118506f6f6c4964000118706f696e747318013042616c616e63654f663c543e0001706c6173745f7265636f726465645f7265776172645f636f756e746572e1070140543a3a526577617264436f756e746572000138756e626f6e64696e675f65726173810901e0426f756e64656442547265654d61703c457261496e6465782c2042616c616e63654f663c543e2c20543a3a4d6178556e626f6e64696e673e000081090c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b0110045601180453000004008509013842547265654d61703c4b2c20563e00008509042042547265654d617008044b011004560118000400890900000089090000028d09008d09000004081018009109085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c733c426f6e646564506f6f6c496e6e65720404540000140128636f6d6d697373696f6e95090134436f6d6d697373696f6e3c543e0001386d656d6265725f636f756e74657210010c753332000118706f696e747318013042616c616e63654f663c543e000114726f6c6573a109015c506f6f6c526f6c65733c543a3a4163636f756e7449643e000114737461746521010124506f6f6c537461746500009509085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7328436f6d6d697373696f6e040454000014011c63757272656e742501017c4f7074696f6e3c2850657262696c6c2c20543a3a4163636f756e744964293e00010c6d61789909013c4f7074696f6e3c50657262696c6c3e00012c6368616e67655f726174659d0901bc4f7074696f6e3c436f6d6d697373696f6e4368616e6765526174653c426c6f636b4e756d626572466f723c543e3e3e0001347468726f74746c655f66726f6dc50401644f7074696f6e3c426c6f636b4e756d626572466f723c543e3e000140636c61696d5f7065726d697373696f6e310101bc4f7074696f6e3c436f6d6d697373696f6e436c61696d5065726d697373696f6e3c543a3a4163636f756e7449643e3e0000990904184f7074696f6e04045401f80108104e6f6e6500000010536f6d650400f800000100009d0904184f7074696f6e040454012d010108104e6f6e6500000010536f6d6504002d010000010000a109085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7324506f6f6c526f6c657304244163636f756e7449640100001001246465706f7369746f720001244163636f756e744964000110726f6f748801444f7074696f6e3c4163636f756e7449643e0001246e6f6d696e61746f728801444f7074696f6e3c4163636f756e7449643e00011c626f756e6365728801444f7074696f6e3c4163636f756e7449643e0000a509085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7328526577617264506f6f6c04045400001401706c6173745f7265636f726465645f7265776172645f636f756e746572e1070140543a3a526577617264436f756e74657200016c6c6173745f7265636f726465645f746f74616c5f7061796f75747318013042616c616e63654f663c543e000154746f74616c5f726577617264735f636c61696d656418013042616c616e63654f663c543e000160746f74616c5f636f6d6d697373696f6e5f70656e64696e6718013042616c616e63654f663c543e000160746f74616c5f636f6d6d697373696f6e5f636c61696d656418013042616c616e63654f663c543e0000a909085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7320537562506f6f6c7304045400000801186e6f5f657261ad090134556e626f6e64506f6f6c3c543e000120776974685f657261b109010101426f756e64656442547265654d61703c457261496e6465782c20556e626f6e64506f6f6c3c543e2c20546f74616c556e626f6e64696e67506f6f6c733c543e3e0000ad09085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7328556e626f6e64506f6f6c0404540000080118706f696e747318013042616c616e63654f663c543e00011c62616c616e636518013042616c616e63654f663c543e0000b1090c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b0110045601ad09045300000400b509013842547265654d61703c4b2c20563e0000b509042042547265654d617008044b0110045601ad09000400b909000000b909000002bd0900bd090000040810ad0900c1090c5c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c731870616c6c6574144572726f7204045400019430506f6f6c4e6f74466f756e6400000488412028626f6e6465642920706f6f6c20696420646f6573206e6f742065786973742e48506f6f6c4d656d6265724e6f74466f756e640001046c416e206163636f756e74206973206e6f742061206d656d6265722e48526577617264506f6f6c4e6f74466f756e640002042101412072657761726420706f6f6c20646f6573206e6f742065786973742e20496e20616c6c206361736573207468697320697320612073797374656d206c6f676963206572726f722e40537562506f6f6c734e6f74466f756e6400030468412073756220706f6f6c20646f6573206e6f742065786973742e644163636f756e7442656c6f6e6773546f4f74686572506f6f6c0004084d01416e206163636f756e7420697320616c72656164792064656c65676174696e6720696e20616e6f7468657220706f6f6c2e20416e206163636f756e74206d6179206f6e6c792062656c6f6e6720746f206f6e653c706f6f6c20617420612074696d652e3846756c6c79556e626f6e64696e670005083d01546865206d656d6265722069732066756c6c7920756e626f6e6465642028616e6420746875732063616e6e6f74206163636573732074686520626f6e64656420616e642072657761726420706f6f6ca8616e796d6f726520746f2c20666f72206578616d706c652c20636f6c6c6563742072657761726473292e444d6178556e626f6e64696e674c696d69740006040901546865206d656d6265722063616e6e6f7420756e626f6e642066757274686572206368756e6b732064756520746f207265616368696e6720746865206c696d69742e4443616e6e6f745769746864726177416e790007044d014e6f6e65206f66207468652066756e64732063616e2062652077697468647261776e2079657420626563617573652074686520626f6e64696e67206475726174696f6e20686173206e6f74207061737365642e444d696e696d756d426f6e644e6f744d6574000814290154686520616d6f756e7420646f6573206e6f74206d65657420746865206d696e696d756d20626f6e6420746f20656974686572206a6f696e206f7220637265617465206120706f6f6c2e005501546865206465706f7369746f722063616e206e6576657220756e626f6e6420746f20612076616c7565206c657373207468616e206050616c6c65743a3a6465706f7369746f725f6d696e5f626f6e64602e205468655d0163616c6c657220646f6573206e6f742068617665206e6f6d696e6174696e67207065726d697373696f6e7320666f722074686520706f6f6c2e204d656d626572732063616e206e6576657220756e626f6e6420746f20616876616c75652062656c6f7720604d696e4a6f696e426f6e64602e304f766572666c6f775269736b0009042101546865207472616e73616374696f6e20636f756c64206e6f742062652065786563757465642064756520746f206f766572666c6f77207269736b20666f722074686520706f6f6c2e344e6f7444657374726f79696e67000a085d014120706f6f6c206d75737420626520696e205b60506f6f6c53746174653a3a44657374726f79696e67605d20696e206f7264657220666f7220746865206465706f7369746f7220746f20756e626f6e64206f7220666f72b86f74686572206d656d6265727320746f206265207065726d697373696f6e6c6573736c7920756e626f6e6465642e304e6f744e6f6d696e61746f72000b04f45468652063616c6c657220646f6573206e6f742068617665206e6f6d696e6174696e67207065726d697373696f6e7320666f722074686520706f6f6c2e544e6f744b69636b65724f7244657374726f79696e67000c043d01456974686572206129207468652063616c6c65722063616e6e6f74206d616b6520612076616c6964206b69636b206f722062292074686520706f6f6c206973206e6f742064657374726f79696e672e1c4e6f744f70656e000d047054686520706f6f6c206973206e6f74206f70656e20746f206a6f696e204d6178506f6f6c73000e04845468652073797374656d206973206d61786564206f7574206f6e20706f6f6c732e384d6178506f6f6c4d656d62657273000f049c546f6f206d616e79206d656d6265727320696e2074686520706f6f6c206f722073797374656d2e4443616e4e6f744368616e676553746174650010048854686520706f6f6c732073746174652063616e6e6f74206265206368616e6765642e54446f65734e6f74486176655065726d697373696f6e001104b85468652063616c6c657220646f6573206e6f742068617665206164657175617465207065726d697373696f6e732e544d65746164617461457863656564734d61784c656e001204ac4d657461646174612065786365656473205b60436f6e6669673a3a4d61784d657461646174614c656e605d24446566656e736976650400c5090138446566656e736976654572726f720013083101536f6d65206572726f72206f6363757272656420746861742073686f756c64206e657665722068617070656e2e20546869732073686f756c64206265207265706f7274656420746f20746865306d61696e7461696e6572732e9c5061727469616c556e626f6e644e6f74416c6c6f7765645065726d697373696f6e6c6573736c79001404bc5061727469616c20756e626f6e64696e67206e6f7720616c6c6f776564207065726d697373696f6e6c6573736c792e5c4d6178436f6d6d697373696f6e526573747269637465640015041d0154686520706f6f6c2773206d617820636f6d6d697373696f6e2063616e6e6f742062652073657420686967686572207468616e20746865206578697374696e672076616c75652e60436f6d6d697373696f6e457863656564734d6178696d756d001604ec54686520737570706c69656420636f6d6d697373696f6e206578636565647320746865206d617820616c6c6f77656420636f6d6d697373696f6e2e78436f6d6d697373696f6e45786365656473476c6f62616c4d6178696d756d001704e854686520737570706c69656420636f6d6d697373696f6e206578636565647320676c6f62616c206d6178696d756d20636f6d6d697373696f6e2e64436f6d6d697373696f6e4368616e67655468726f74746c656400180409014e6f7420656e6f75676820626c6f636b732068617665207375727061737365642073696e636520746865206c61737420636f6d6d697373696f6e207570646174652e78436f6d6d697373696f6e4368616e6765526174654e6f74416c6c6f7765640019040101546865207375626d6974746564206368616e67657320746f20636f6d6d697373696f6e206368616e6765207261746520617265206e6f7420616c6c6f7765642e4c4e6f50656e64696e67436f6d6d697373696f6e001a04a05468657265206973206e6f2070656e64696e6720636f6d6d697373696f6e20746f20636c61696d2e584e6f436f6d6d697373696f6e43757272656e74536574001b048c4e6f20636f6d6d697373696f6e2063757272656e7420686173206265656e207365742e2c506f6f6c4964496e557365001c0464506f6f6c2069642063757272656e746c7920696e207573652e34496e76616c6964506f6f6c4964001d049c506f6f6c2069642070726f7669646564206973206e6f7420636f72726563742f757361626c652e4c426f6e64457874726152657374726963746564001e04fc426f6e64696e67206578747261206973207265737472696374656420746f207468652065786163742070656e64696e672072657761726420616d6f756e742e3c4e6f7468696e67546f41646a757374001f04b04e6f20696d62616c616e636520696e20746865204544206465706f73697420666f722074686520706f6f6c2e384e6f7468696e67546f536c617368002004cc4e6f20736c6173682070656e64696e6720746861742063616e206265206170706c69656420746f20746865206d656d6265722e2c536c617368546f6f4c6f77002104a854686520736c61736820616d6f756e7420697320746f6f206c6f7720746f206265206170706c6965642e3c416c72656164794d69677261746564002204150154686520706f6f6c206f72206d656d6265722064656c65676174696f6e2068617320616c7265616479206d6967726174656420746f2064656c6567617465207374616b652e2c4e6f744d69677261746564002304150154686520706f6f6c206f72206d656d6265722064656c65676174696f6e20686173206e6f74206d696772617465642079657420746f2064656c6567617465207374616b652e304e6f74537570706f72746564002404f0546869732063616c6c206973206e6f7420616c6c6f77656420696e207468652063757272656e74207374617465206f66207468652070616c6c65742e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ec5090c5c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c731870616c6c657438446566656e736976654572726f7200011c684e6f74456e6f7567685370616365496e556e626f6e64506f6f6c00000030506f6f6c4e6f74466f756e6400010048526577617264506f6f6c4e6f74466f756e6400020040537562506f6f6c734e6f74466f756e6400030070426f6e64656453746173684b696c6c65645072656d61747572656c790004005444656c65676174696f6e556e737570706f727465640005003c536c6173684e6f744170706c69656400060000c9090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401cd09045300000400d50901185665633c543e0000cd0904184f7074696f6e04045401d1090108104e6f6e6500000010536f6d650400d1090000010000d109084070616c6c65745f7363686564756c6572245363686564756c656414104e616d6501041043616c6c0175032c426c6f636b4e756d62657201303450616c6c6574734f726967696e01b505244163636f756e7449640100001401206d617962655f6964410101304f7074696f6e3c4e616d653e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c7503011043616c6c0001386d617962655f706572696f646963f50401944f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d6265723e3e0001186f726967696eb505013450616c6c6574734f726967696e0000d509000002cd0900d909084070616c6c65745f7363686564756c65722c5265747279436f6e6669670418506572696f640130000c0134746f74616c5f72657472696573080108753800012472656d61696e696e670801087538000118706572696f64300118506572696f640000dd090c4070616c6c65745f7363686564756c65721870616c6c6574144572726f72040454000114404661696c6564546f5363686564756c65000004644661696c656420746f207363686564756c6520612063616c6c204e6f74466f756e640001047c43616e6e6f742066696e6420746865207363686564756c65642063616c6c2e5c546172676574426c6f636b4e756d626572496e50617374000204a4476976656e2074617267657420626c6f636b206e756d62657220697320696e2074686520706173742e4852657363686564756c654e6f4368616e6765000304f052657363686564756c65206661696c6564206265636175736520697420646f6573206e6f74206368616e6765207363686564756c65642074696d652e144e616d6564000404d0417474656d707420746f207573652061206e6f6e2d6e616d65642066756e6374696f6e206f6e2061206e616d6564207461736b2e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ee109083c70616c6c65745f707265696d616765404f6c645265717565737453746174757308244163636f756e74496401001c42616c616e6365011801082c556e72657175657374656408011c6465706f736974d80150284163636f756e7449642c2042616c616e63652900010c6c656e10010c753332000000245265717565737465640c011c6465706f736974e50901704f7074696f6e3c284163636f756e7449642c2042616c616e6365293e000114636f756e7410010c75333200010c6c656e9502012c4f7074696f6e3c7533323e00010000e50904184f7074696f6e04045401d80108104e6f6e6500000010536f6d650400d80000010000e909083c70616c6c65745f707265696d616765345265717565737453746174757308244163636f756e7449640100185469636b6574018401082c556e7265717565737465640801187469636b6574ed09014c284163636f756e7449642c205469636b65742900010c6c656e10010c753332000000245265717565737465640c01306d617962655f7469636b6574f109016c4f7074696f6e3c284163636f756e7449642c205469636b6574293e000114636f756e7410010c7533320001246d617962655f6c656e9502012c4f7074696f6e3c7533323e00010000ed0900000408008400f10904184f7074696f6e04045401ed090108104e6f6e6500000010536f6d650400ed090000010000f5090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e0000f9090c3c70616c6c65745f707265696d6167651870616c6c6574144572726f7204045400012418546f6f426967000004a0507265696d61676520697320746f6f206c6172676520746f2073746f7265206f6e2d636861696e2e30416c72656164794e6f746564000104a4507265696d6167652068617320616c7265616479206265656e206e6f746564206f6e2d636861696e2e344e6f74417574686f72697a6564000204c85468652075736572206973206e6f7420617574686f72697a656420746f20706572666f726d207468697320616374696f6e2e204e6f744e6f746564000304fc54686520707265696d6167652063616e6e6f742062652072656d6f7665642073696e636520697420686173206e6f7420796574206265656e206e6f7465642e2452657175657374656400040409014120707265696d616765206d6179206e6f742062652072656d6f766564207768656e20746865726520617265206f75747374616e64696e672072657175657374732e304e6f745265717565737465640005042d0154686520707265696d61676520726571756573742063616e6e6f742062652072656d6f7665642073696e6365206e6f206f75747374616e64696e672072657175657374732065786973742e1c546f6f4d616e7900060455014d6f7265207468616e20604d41585f484153485f555047524144455f42554c4b5f434f554e54602068617368657320776572652072657175657374656420746f206265207570677261646564206174206f6e63652e18546f6f466577000704e4546f6f206665772068617368657320776572652072657175657374656420746f2062652075706772616465642028692e652e207a65726f292e184e6f436f737400080459014e6f207469636b65742077697468206120636f7374207761732072657475726e6564206279205b60436f6e6669673a3a436f6e73696465726174696f6e605d20746f2073746f72652074686520707265696d6167652e048054686520604572726f726020656e756d206f6620746869732070616c6c65742efd090c2873705f7374616b696e671c6f6666656e6365384f6666656e636544657461696c7308205265706f727465720100204f6666656e646572016901000801206f6666656e646572690101204f6666656e6465720001247265706f7274657273490201345665633c5265706f727465723e0000010a000004084d013800050a0c3c70616c6c65745f74785f70617573651870616c6c6574144572726f720404540001102049735061757365640000044c5468652063616c6c206973207061757365642e284973556e706175736564000104545468652063616c6c20697320756e7061757365642e28556e7061757361626c65000204b45468652063616c6c2069732077686974656c697374656420616e642063616e6e6f74206265207061757365642e204e6f74466f756e64000300048054686520604572726f726020656e756d206f6620746869732070616c6c65742e090a0c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e6465645665630804540161010453000004000d0a01185665633c543e00000d0a000002610100110a0c4070616c6c65745f696d5f6f6e6c696e651870616c6c6574144572726f7204045400010828496e76616c69644b6579000004604e6f6e206578697374656e74207075626c6963206b65792e4c4475706c696361746564486561727462656174000104544475706c696361746564206865617274626561742e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e150a00000408190a290a00190a0c3c70616c6c65745f6964656e7469747914747970657330526567697374726174696f6e0c1c42616c616e63650118344d61784a756467656d656e747300304964656e74697479496e666f011105000c01286a756467656d656e74731d0a01fc426f756e6465645665633c28526567697374726172496e6465782c204a756467656d656e743c42616c616e63653e292c204d61784a756467656d656e74733e00011c6465706f73697418011c42616c616e6365000110696e666f110501304964656e74697479496e666f00001d0a0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401210a045300000400250a01185665633c543e0000210a0000040810a10500250a000002210a00290a04184f7074696f6e0404540181010108104e6f6e6500000010536f6d650400810100000100002d0a0000040818310a00310a0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400490201185665633c543e0000350a0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401390a045300000400410a01185665633c543e0000390a04184f7074696f6e040454013d0a0108104e6f6e6500000010536f6d6504003d0a00000100003d0a0c3c70616c6c65745f6964656e7469747914747970657334526567697374726172496e666f0c1c42616c616e63650118244163636f756e74496401001c49644669656c640130000c011c6163636f756e740001244163636f756e74496400010c66656518011c42616c616e63650001186669656c647330011c49644669656c640000410a000002390a00450a0c3c70616c6c65745f6964656e746974791474797065734c417574686f7269747950726f70657274696573041853756666697801490a00080118737566666978490a0118537566666978000128616c6c6f636174696f6e100128416c6c6f636174696f6e0000490a0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e00004d0a00000408003000510a0c3c70616c6c65745f6964656e746974791870616c6c6574144572726f7204045400016848546f6f4d616e795375624163636f756e74730000045c546f6f206d616e7920737562732d6163636f756e74732e204e6f74466f756e64000104504163636f756e742069736e277420666f756e642e204e6f744e616d6564000204504163636f756e742069736e2774206e616d65642e28456d707479496e64657800030430456d70747920696e6465782e284665654368616e6765640004043c466565206973206368616e6765642e284e6f4964656e74697479000504484e6f206964656e7469747920666f756e642e3c537469636b794a756467656d656e7400060444537469636b79206a756467656d656e742e384a756467656d656e74476976656e000704404a756467656d656e7420676976656e2e40496e76616c69644a756467656d656e7400080448496e76616c6964206a756467656d656e742e30496e76616c6964496e6465780009045454686520696e64657820697320696e76616c69642e34496e76616c6964546172676574000a04585468652074617267657420697320696e76616c69642e44546f6f4d616e7952656769737472617273000b04e84d6178696d756d20616d6f756e74206f66207265676973747261727320726561636865642e2043616e6e6f742061646420616e79206d6f72652e38416c7265616479436c61696d6564000c04704163636f756e7420494420697320616c7265616479206e616d65642e184e6f74537562000d047053656e646572206973206e6f742061207375622d6163636f756e742e204e6f744f776e6564000e04885375622d6163636f756e742069736e2774206f776e65642062792073656e6465722e744a756467656d656e74466f72446966666572656e744964656e74697479000f04d05468652070726f7669646564206a756467656d656e742077617320666f72206120646966666572656e74206964656e746974792e584a756467656d656e745061796d656e744661696c6564001004f84572726f722074686174206f6363757273207768656e20746865726520697320616e20697373756520706179696e6720666f72206a756467656d656e742e34496e76616c6964537566666978001104805468652070726f76696465642073756666697820697320746f6f206c6f6e672e504e6f74557365726e616d65417574686f72697479001204e05468652073656e64657220646f6573206e6f742068617665207065726d697373696f6e20746f206973737565206120757365726e616d652e304e6f416c6c6f636174696f6e001304c454686520617574686f726974792063616e6e6f7420616c6c6f6361746520616e79206d6f726520757365726e616d65732e40496e76616c69645369676e6174757265001404a8546865207369676e6174757265206f6e206120757365726e616d6520776173206e6f742076616c69642e4452657175697265735369676e6174757265001504090153657474696e67207468697320757365726e616d652072657175697265732061207369676e61747572652c20627574206e6f6e65207761732070726f76696465642e3c496e76616c6964557365726e616d65001604b054686520757365726e616d6520646f6573206e6f74206d6565742074686520726571756972656d656e74732e34557365726e616d6554616b656e0017047854686520757365726e616d6520697320616c72656164792074616b656e2e284e6f557365726e616d65001804985468652072657175657374656420757365726e616d6520646f6573206e6f742065786973742e284e6f74457870697265640019042d0154686520757365726e616d652063616e6e6f7420626520666f72636566756c6c792072656d6f76656420626563617573652069742063616e207374696c6c2062652061636365707465642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e550a0c3870616c6c65745f7574696c6974791870616c6c6574144572726f7204045400010430546f6f4d616e7943616c6c730000045c546f6f206d616e792063616c6c7320626174636865642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e590a000004080004005d0a083c70616c6c65745f6d756c7469736967204d756c7469736967102c426c6f636b4e756d62657201301c42616c616e63650118244163636f756e7449640100304d6178417070726f76616c7300001001107768656e8d01015854696d65706f696e743c426c6f636b4e756d6265723e00011c6465706f73697418011c42616c616e63650001246465706f7369746f720001244163636f756e744964000124617070726f76616c73a104018c426f756e6465645665633c4163636f756e7449642c204d6178417070726f76616c733e0000610a0c3c70616c6c65745f6d756c74697369671870616c6c6574144572726f72040454000138404d696e696d756d5468726573686f6c640000047c5468726573686f6c64206d7573742062652032206f7220677265617465722e3c416c7265616479417070726f766564000104ac43616c6c20697320616c726561647920617070726f7665642062792074686973207369676e61746f72792e444e6f417070726f76616c734e65656465640002049c43616c6c20646f65736e2774206e65656420616e7920286d6f72652920617070726f76616c732e44546f6f4665775369676e61746f72696573000304a854686572652061726520746f6f20666577207369676e61746f7269657320696e20746865206c6973742e48546f6f4d616e795369676e61746f72696573000404ac54686572652061726520746f6f206d616e79207369676e61746f7269657320696e20746865206c6973742e545369676e61746f726965734f75744f664f726465720005040d01546865207369676e61746f7269657320776572652070726f7669646564206f7574206f66206f726465723b20746865792073686f756c64206265206f7264657265642e4c53656e646572496e5369676e61746f726965730006040d015468652073656e6465722077617320636f6e7461696e656420696e20746865206f74686572207369676e61746f726965733b2069742073686f756c646e27742062652e204e6f74466f756e64000704dc4d756c7469736967206f7065726174696f6e206e6f7420666f756e64207768656e20617474656d7074696e6720746f2063616e63656c2e204e6f744f776e65720008042d014f6e6c7920746865206163636f756e742074686174206f726967696e616c6c79206372656174656420746865206d756c74697369672069732061626c6520746f2063616e63656c2069742e2c4e6f54696d65706f696e740009041d014e6f2074696d65706f696e742077617320676976656e2c2079657420746865206d756c7469736967206f7065726174696f6e20697320616c726561647920756e6465727761792e3857726f6e6754696d65706f696e74000a042d014120646966666572656e742074696d65706f696e742077617320676976656e20746f20746865206d756c7469736967206f7065726174696f6e207468617420697320756e6465727761792e4c556e657870656374656454696d65706f696e74000b04f4412074696d65706f696e742077617320676976656e2c20796574206e6f206d756c7469736967206f7065726174696f6e20697320756e6465727761792e3c4d6178576569676874546f6f4c6f77000c04d0546865206d6178696d756d2077656967687420696e666f726d6174696f6e2070726f76696465642077617320746f6f206c6f772e34416c726561647953746f726564000d04a0546865206461746120746f2062652073746f72656420697320616c72656164792073746f7265642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e650a000002690a00690a0000040cd1056d0a7d0a006d0a081866705f727063445472616e73616374696f6e53746174757300001c01407472616e73616374696f6e5f68617368340110483235360001447472616e73616374696f6e5f696e64657810010c75333200011066726f6d9501011c41646472657373000108746f4d06013c4f7074696f6e3c416464726573733e000140636f6e74726163745f616464726573734d06013c4f7074696f6e3c416464726573733e0001106c6f6773710a01205665633c4c6f673e0001286c6f67735f626c6f6f6d750a0114426c6f6f6d0000710a000002c10100750a0820657468626c6f6f6d14426c6f6f6d00000400790a01405b75383b20424c4f4f4d5f53495a455d0000790a0000030001000008007d0a0c20657468657265756d1c726563656970742452656365697074563300010c184c65676163790400810a014445495036353852656365697074446174610000001c454950323933300400810a01484549503239333052656365697074446174610001001c454950313535390400810a014845495031353539526563656970744461746100020000810a0c20657468657265756d1c72656365697074444549503635385265636569707444617461000010012c7374617475735f636f64650801087538000120757365645f676173cd010110553235360001286c6f67735f626c6f6f6d750a0114426c6f6f6d0001106c6f6773710a01205665633c4c6f673e0000850a0c20657468657265756d14626c6f636b14426c6f636b04045401d105000c0118686561646572890a01184865616465720001307472616e73616374696f6e73910a01185665633c543e0001186f6d6d657273950a012c5665633c4865616465723e0000890a0c20657468657265756d186865616465721848656164657200003c012c706172656e745f686173683401104832353600012c6f6d6d6572735f686173683401104832353600012c62656e6566696369617279950101104831363000012873746174655f726f6f74340110483235360001447472616e73616374696f6e735f726f6f743401104832353600013472656365697074735f726f6f74340110483235360001286c6f67735f626c6f6f6d750a0114426c6f6f6d000128646966666963756c7479cd010110553235360001186e756d626572cd010110553235360001246761735f6c696d6974cd010110553235360001206761735f75736564cd0101105532353600012474696d657374616d7030010c75363400012865787472615f6461746138011442797465730001206d69785f68617368340110483235360001146e6f6e63658d0a010c48363400008d0a0c38657468657265756d5f747970657310686173680c48363400000400f102011c5b75383b20385d0000910a000002d10500950a000002890a00990a0000027d0a009d0a0000026d0a00a10a0c3c70616c6c65745f657468657265756d1870616c6c6574144572726f7204045400010840496e76616c69645369676e6174757265000004545369676e617475726520697320696e76616c69642e305072654c6f67457869737473000104d85072652d6c6f672069732070726573656e742c207468657265666f7265207472616e73616374206973206e6f7420616c6c6f7765642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ea50a082870616c6c65745f65766d30436f64654d65746164617461000008011073697a6530010c75363400011068617368340110483235360000a90a0000040895013400ad0a0c2870616c6c65745f65766d1870616c6c6574144572726f720404540001342842616c616e63654c6f77000004904e6f7420656e6f7567682062616c616e636520746f20706572666f726d20616374696f6e2c4665654f766572666c6f770001048043616c63756c6174696e6720746f74616c20666565206f766572666c6f7765643c5061796d656e744f766572666c6f770002049043616c63756c6174696e6720746f74616c207061796d656e74206f766572666c6f7765643857697468647261774661696c65640003044c576974686472617720666565206661696c6564384761735072696365546f6f4c6f770004045447617320707269636520697320746f6f206c6f772e30496e76616c69644e6f6e6365000504404e6f6e636520697320696e76616c6964384761734c696d6974546f6f4c6f7700060454476173206c696d697420697320746f6f206c6f772e3c4761734c696d6974546f6f4869676800070458476173206c696d697420697320746f6f20686967682e38496e76616c6964436861696e49640008046054686520636861696e20696420697320696e76616c69642e40496e76616c69645369676e617475726500090464746865207369676e617475726520697320696e76616c69642e285265656e7472616e6379000a043845564d207265656e7472616e6379685472616e73616374696f6e4d757374436f6d6546726f6d454f41000b04244549502d333630372c24556e646566696e6564000c0440556e646566696e6564206572726f722e048054686520604572726f726020656e756d206f6620746869732070616c6c65742eb10a0c6470616c6c65745f686f746669785f73756666696369656e74731870616c6c6574144572726f720404540001045c4d617841646472657373436f756e744578636565646564000004784d6178696d756d206164647265737320636f756e74206578636565646564048054686520604572726f726020656e756d206f6620746869732070616c6c65742eb50a0000040830dd0100b90a0c5470616c6c65745f61697264726f705f636c61696d731870616c6c6574144572726f7204045400012060496e76616c6964457468657265756d5369676e61747572650000046c496e76616c696420457468657265756d207369676e61747572652e58496e76616c69644e61746976655369676e617475726500010488496e76616c6964204e617469766520287372323535313929207369676e617475726550496e76616c69644e61746976654163636f756e740002047c496e76616c6964204e6174697665206163636f756e74206465636f64696e67405369676e65724861734e6f436c61696d00030478457468657265756d206164647265737320686173206e6f20636c61696d2e4053656e6465724861734e6f436c61696d000404b04163636f756e742049442073656e64696e67207472616e73616374696f6e20686173206e6f20636c61696d2e30506f74556e646572666c6f77000508490154686572652773206e6f7420656e6f75676820696e2074686520706f7420746f20706179206f757420736f6d6520756e76657374656420616d6f756e742e2047656e6572616c6c7920696d706c6965732061306c6f676963206572726f722e40496e76616c696453746174656d656e740006049041206e65656465642073746174656d656e7420776173206e6f7420696e636c756465642e4c56657374656442616c616e6365457869737473000704a4546865206163636f756e7420616c7265616479206861732061207665737465642062616c616e63652e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ebd0a00000408c10a1800c10a0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401c50a045300000400c90a01185665633c543e0000c50a083070616c6c65745f70726f78793c50726f7879446566696e6974696f6e0c244163636f756e74496401002450726f78795479706501e9012c426c6f636b4e756d6265720130000c012064656c65676174650001244163636f756e74496400012870726f78795f74797065e901012450726f78795479706500011464656c617930012c426c6f636b4e756d6265720000c90a000002c50a00cd0a00000408d10a1800d10a0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401d50a045300000400d90a01185665633c543e0000d50a083070616c6c65745f70726f787930416e6e6f756e63656d656e740c244163636f756e7449640100104861736801342c426c6f636b4e756d6265720130000c01107265616c0001244163636f756e74496400012463616c6c5f686173683401104861736800011868656967687430012c426c6f636b4e756d6265720000d90a000002d50a00dd0a0c3070616c6c65745f70726f78791870616c6c6574144572726f720404540001201c546f6f4d616e79000004210154686572652061726520746f6f206d616e792070726f786965732072656769737465726564206f7220746f6f206d616e7920616e6e6f756e63656d656e74732070656e64696e672e204e6f74466f756e640001047450726f787920726567697374726174696f6e206e6f7420666f756e642e204e6f7450726f7879000204cc53656e646572206973206e6f7420612070726f7879206f6620746865206163636f756e7420746f2062652070726f786965642e2c556e70726f787961626c650003042101412063616c6c20776869636820697320696e636f6d70617469626c652077697468207468652070726f7879207479706527732066696c7465722077617320617474656d707465642e244475706c69636174650004046c4163636f756e7420697320616c726561647920612070726f78792e304e6f5065726d697373696f6e000504150143616c6c206d6179206e6f74206265206d6164652062792070726f78792062656361757365206974206d617920657363616c617465206974732070726976696c656765732e2c556e616e6e6f756e636564000604d0416e6e6f756e63656d656e742c206966206d61646520617420616c6c2c20776173206d61646520746f6f20726563656e746c792e2c4e6f53656c6650726f78790007046443616e6e6f74206164642073656c662061732070726f78792e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ee10a107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e147479706573206f70657261746f72404f70657261746f724d6574616461746114244163636f756e74496401001c42616c616e636501181c417373657449640118384d617844656c65676174696f6e7301e50a344d6178426c75657072696e747301e90a001801147374616b6518011c42616c616e636500014064656c65676174696f6e5f636f756e7410010c75333200011c72657175657374ed0a01a04f7074696f6e3c4f70657261746f72426f6e644c657373526571756573743c42616c616e63653e3e00012c64656c65676174696f6e73f50a011901426f756e6465645665633c44656c656761746f72426f6e643c4163636f756e7449642c2042616c616e63652c20417373657449643e2c204d617844656c65676174696f6e733e000118737461747573010b01384f70657261746f72537461747573000134626c75657072696e745f696473050b0178426f756e6465645665633c7533322c204d6178426c75657072696e74733e0000e50a085874616e676c655f746573746e65745f72756e74696d65384d617844656c65676174696f6e7300000000e90a085874616e676c655f746573746e65745f72756e74696d65544d61784f70657261746f72426c75657072696e747300000000ed0a04184f7074696f6e04045401f10a0108104e6f6e6500000010536f6d650400f10a0000010000f10a107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e147479706573206f70657261746f725c4f70657261746f72426f6e644c65737352657175657374041c42616c616e6365011800080118616d6f756e7418011c42616c616e6365000130726571756573745f74696d65100128526f756e64496e6465780000f50a0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401f90a045300000400fd0a01185665633c543e0000f90a107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e147479706573206f70657261746f723444656c656761746f72426f6e640c244163636f756e74496401001c42616c616e636501181c417373657449640118000c012464656c656761746f720001244163636f756e744964000118616d6f756e7418011c42616c616e63650001146173736574f501013841737365743c417373657449643e0000fd0a000002f90a00010b107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e147479706573206f70657261746f72384f70657261746f7253746174757300010c1841637469766500000020496e6163746976650001001c4c656176696e670400100128526f756e64496e64657800020000050b0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401100453000004008d0401185665633c543e0000090b107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e147479706573206f70657261746f72404f70657261746f72536e617073686f7410244163636f756e74496401001c42616c616e636501181c417373657449640118384d617844656c65676174696f6e7301e50a000801147374616b6518011c42616c616e636500012c64656c65676174696f6e73f50a011901426f756e6465645665633c44656c656761746f72426f6e643c4163636f756e7449642c2042616c616e63652c20417373657449643e2c204d617844656c65676174696f6e733e00000d0b107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e1474797065732464656c656761746f724444656c656761746f724d6574616461746124244163636f756e74496401001c42616c616e636501181c4173736574496401184c4d61785769746864726177526571756573747301110b384d617844656c65676174696f6e7301e50a484d6178556e7374616b65526571756573747301150b344d6178426c75657072696e74730155062c426c6f636b4e756d6265720130204d61784c6f636b7301e50a001401206465706f73697473190b01050142547265654d61703c41737365743c417373657449643e2c204465706f7369743c42616c616e63652c20426c6f636b4e756d6265722c204d61784c6f636b733e3e00014477697468647261775f7265717565737473390b010901426f756e6465645665633c5769746864726177526571756573743c417373657449642c2042616c616e63653e2c204d6178576974686472617752657175657374733e00012c64656c65676174696f6e73450b016901426f756e6465645665633c426f6e64496e666f44656c656761746f723c4163636f756e7449642c2042616c616e63652c20417373657449642c204d6178426c75657072696e74733e0a2c204d617844656c65676174696f6e733e00016864656c656761746f725f756e7374616b655f7265717565737473510b016d01426f756e6465645665633c426f6e644c657373526571756573743c4163636f756e7449642c20417373657449642c2042616c616e63652c204d6178426c75657072696e74733e2c0a4d6178556e7374616b6552657175657374733e0001187374617475735d0b013c44656c656761746f725374617475730000110b085874616e676c655f746573746e65745f72756e74696d654c4d61785769746864726177526571756573747300000000150b085874616e676c655f746573746e65745f72756e74696d65484d6178556e7374616b65526571756573747300000000190b042042547265654d617008044b01f5010456011d0b000400310b0000001d0b107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e1474797065732464656c656761746f721c4465706f7369740c1c42616c616e636501182c426c6f636b4e756d6265720130204d61784c6f636b7301e50a000c0118616d6f756e7418011c42616c616e636500014064656c6567617465645f616d6f756e7418011c42616c616e63650001146c6f636b73210b01f04f7074696f6e3c426f756e6465645665633c4c6f636b496e666f3c42616c616e63652c20426c6f636b4e756d6265723e2c204d61784c6f636b733e3e0000210b04184f7074696f6e04045401250b0108104e6f6e6500000010536f6d650400250b0000010000250b0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401290b0453000004002d0b01185665633c543e0000290b104474616e676c655f7072696d6974697665731474797065731c72657761726473204c6f636b496e666f081c42616c616e636501182c426c6f636b4e756d6265720130000c0118616d6f756e7418011c42616c616e636500013c6c6f636b5f6d756c7469706c6965729d0201384c6f636b4d756c7469706c6965720001306578706972795f626c6f636b30012c426c6f636b4e756d62657200002d0b000002290b00310b000002350b00350b00000408f5011d0b00390b0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454013d0b045300000400410b01185665633c543e00003d0b107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e1474797065732464656c656761746f723c576974686472617752657175657374081c4173736574496401181c42616c616e63650118000c01146173736574f501013841737365743c417373657449643e000118616d6f756e7418011c42616c616e636500013c7265717565737465645f726f756e64100128526f756e64496e6465780000410b0000023d0b00450b0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401490b0453000004004d0b01185665633c543e0000490b107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e1474797065732464656c656761746f7244426f6e64496e666f44656c656761746f7210244163636f756e74496401001c42616c616e636501181c417373657449640118344d6178426c75657072696e7473015506001401206f70657261746f720001244163636f756e744964000118616d6f756e7418011c42616c616e63650001146173736574f501013841737365743c417373657449643e00014c626c75657072696e745f73656c656374696f6e510601a844656c656761746f72426c75657072696e7453656c656374696f6e3c4d6178426c75657072696e74733e00013469735f6e6f6d696e6174696f6e200110626f6f6c00004d0b000002490b00510b0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401550b045300000400590b01185665633c543e0000550b107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e1474797065732464656c656761746f723c426f6e644c6573735265717565737410244163636f756e74496401001c4173736574496401181c42616c616e63650118344d6178426c75657072696e7473015506001801206f70657261746f720001244163636f756e7449640001146173736574f501013841737365743c417373657449643e000118616d6f756e7418011c42616c616e636500013c7265717565737465645f726f756e64100128526f756e64496e64657800014c626c75657072696e745f73656c656374696f6e510601a844656c656761746f72426c75657072696e7453656c656374696f6e3c4d6178426c75657072696e74733e00013469735f6e6f6d696e6174696f6e200110626f6f6c0000590b000002550b005d0b107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e1474797065732464656c656761746f723c44656c656761746f7253746174757300010818416374697665000000404c656176696e675363686564756c65640400100128526f756e64496e64657800010000610b0c7470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e1870616c6c6574144572726f720404540001e03c416c72656164794f70657261746f720000048c546865206163636f756e7420697320616c726561647920616e206f70657261746f722e28426f6e64546f6f4c6f7700010470546865207374616b6520616d6f756e7420697320746f6f206c6f772e34496e76616c6964416d6f756e7400020444416d6f756e7420697320696e76616c6964344e6f74416e4f70657261746f720003047c546865206163636f756e74206973206e6f7420616e206f70657261746f722e2843616e6e6f744578697400040460546865206163636f756e742063616e6e6f7420657869742e38416c72656164794c656176696e6700050480546865206f70657261746f7220697320616c7265616479206c656176696e672e484e6f744c656176696e674f70657261746f72000604a8546865206163636f756e74206973206e6f74206c656176696e6720617320616e206f70657261746f722e584c656176696e67526f756e644e6f7452656163686564000704644c656176696e6720726f756e64206e6f7420726561636865644c4e6f5363686564756c6564426f6e644c657373000804985468657265206973206e6f207363686564756c656420756e7374616b6520726571756573742e6c426f6e644c657373526571756573744e6f745361746973666965640009049454686520756e7374616b652072657175657374206973206e6f74207361746973666965642e444e6f744163746976654f70657261746f72000a046c546865206f70657261746f72206973206e6f74206163746976652e484e6f744f66666c696e654f70657261746f72000b0470546865206f70657261746f72206973206e6f74206f66666c696e652e40416c726561647944656c656761746f72000c048c546865206163636f756e7420697320616c726561647920612064656c656761746f722e304e6f7444656c656761746f72000d047c546865206163636f756e74206973206e6f7420612064656c656761746f722e70576974686472617752657175657374416c7265616479457869737473000e048841207769746864726177207265717565737420616c7265616479206578697374732e4c496e73756666696369656e7442616c616e6365000f0494546865206163636f756e742068617320696e73756666696369656e742062616c616e63652e444e6f576974686472617752657175657374001004745468657265206973206e6f20776974686472617720726571756573742e444e6f426f6e644c65737352657175657374001104705468657265206973206e6f20756e7374616b6520726571756573742e40426f6e644c6573734e6f7452656164790012048454686520756e7374616b652072657175657374206973206e6f742072656164792e70426f6e644c65737352657175657374416c7265616479457869737473001304844120756e7374616b65207265717565737420616c7265616479206578697374732e6041637469766553657276696365735573696e674173736574001404a854686572652061726520616374697665207365727669636573207573696e67207468652061737365742e484e6f41637469766544656c65676174696f6e001504785468657265206973206e6f74206163746976652064656c65676174696f6e4c41737365744e6f7457686974656c697374656400160470546865206173736574206973206e6f742077686974656c6973746564344e6f74417574686f72697a6564001704cc546865206f726967696e206973206e6f7420617574686f72697a656420746f20706572666f726d207468697320616374696f6e544d6178426c75657072696e74734578636565646564001804944d6178696d756d206e756d626572206f6620626c75657072696e74732065786365656465643441737365744e6f74466f756e6400190464546865206173736574204944206973206e6f7420666f756e646c426c75657072696e74416c726561647957686974656c6973746564001a049c54686520626c75657072696e7420494420697320616c72656164792077686974656c6973746564484e6f57697468647261775265717565737473001b04684e6f20776974686472617720726571756573747320666f756e64644e6f4d61746368696e67776974686472617752657175657374001c04884e6f206d61746368696e67207769746864726177207265716573747320666f756e644c4173736574416c7265616479496e5661756c74001d0498417373657420616c72656164792065786973747320696e206120726577617264207661756c743c41737365744e6f74496e5661756c74001e047c4173736574206e6f7420666f756e6420696e20726577617264207661756c74345661756c744e6f74466f756e64001f047c54686520726577617264207661756c7420646f6573206e6f74206578697374504475706c6963617465426c75657072696e74496400200415014572726f722072657475726e6564207768656e20747279696e6720746f20616464206120626c75657072696e74204944207468617420616c7265616479206578697374732e4c426c75657072696e7449644e6f74466f756e640021041d014572726f722072657475726e6564207768656e20747279696e6720746f2072656d6f7665206120626c75657072696e74204944207468617420646f65736e27742065786973742e384e6f74496e46697865644d6f64650022043d014572726f722072657475726e6564207768656e20747279696e6720746f206164642f72656d6f766520626c75657072696e7420494473207768696c65206e6f7420696e204669786564206d6f64652e584d617844656c65676174696f6e73457863656564656400230409014572726f722072657475726e6564207768656e20746865206d6178696d756d206e756d626572206f662064656c65676174696f6e732069732065786365656465642e684d6178556e7374616b65526571756573747345786365656465640024041d014572726f722072657475726e6564207768656e20746865206d6178696d756d206e756d626572206f6620756e7374616b652072657175657374732069732065786365656465642e6c4d617857697468647261775265717565737473457863656564656400250421014572726f722072657475726e6564207768656e20746865206d6178696d756d206e756d626572206f662077697468647261772072657175657374732069732065786365656465642e3c4465706f7369744f766572666c6f770026045c4465706f73697420616d6f756e74206f766572666c6f7754556e7374616b65416d6f756e74546f6f4c6172676500270444556e7374616b6520756e646572666c6f77345374616b654f766572666c6f770028046c4f766572666c6f77207768696c6520616464696e67207374616b6568496e73756666696369656e745374616b6552656d61696e696e6700290478556e646572666c6f77207768696c65207265647563696e67207374616b6544415059457863656564734d6178696d756d002a04b04150592065786365656473206d6178696d756d20616c6c6f776564206279207468652065787472696e7369633c43617043616e6e6f7442655a65726f002b04484361702063616e6e6f74206265207a65726f5443617045786365656473546f74616c537570706c79002c0484436170206578636565647320746f74616c20737570706c79206f662061737365746c50656e64696e67556e7374616b6552657175657374457869737473002d0494416e20756e7374616b65207265717565737420697320616c72656164792070656e64696e6750426c75657072696e744e6f7453656c6563746564002e047454686520626c75657072696e74206973206e6f742073656c65637465644c45524332305472616e736665724661696c6564002f04544572633230207472616e73666572206661696c65643045564d416269456e636f64650030044045564d20656e636f6465206572726f723045564d4162694465636f64650031044045564d206465636f6465206572726f72344c6f636b56696f6c6174696f6e0032046443616e6e6f7420756e7374616b652077697468206c6f636b73644465706f73697445786365656473436170466f7241737365740033046041626f7665206465706f7369742063617073207365747570304f766572666c6f775269736b003404484f766572666c6f772066726f6d206d6174684c4173736574436f6e6669674e6f74466f756e640035047454686520617373657420636f6e666967206973206e6f7420666f756e648443616e6e6f74476f4f66666c696e655769746841637469766553657276696365730036049843616e6e6f7420676f206f66666c696e65207769746820616374697665207365727669636573304e6f744e6f6d696e61746f72003704cc4e6f742061206e6f6d696e61746f722028666f72206e61746976652072657374616b696e6720262064656c65676174696f6e2904744572726f727320656d6974746564206279207468652070616c6c65742e650b0000040800650600690b000004083000006d0b104474616e676c655f7072696d6974697665732073657276696365731c7365727669636538536572766963655265717565737410044300244163636f756e74496401002c426c6f636b4e756d62657201301c41737365744964011800200124626c75657072696e7430012c426c75657072696e7449640001146f776e65720001244163636f756e74496400015473656375726974795f726571756972656d656e74734d02011501426f756e6465645665633c41737365745365637572697479526571756972656d656e743c417373657449643e2c20433a3a4d6178417373657473506572536572766963653e00010c74746c30012c426c6f636b4e756d62657200011061726773710b01b4426f756e6465645665633c4669656c643c432c204163636f756e7449643e2c20433a3a4d61784669656c64733e0001447065726d69747465645f63616c6c657273750b01b4426f756e6465645665633c4163636f756e7449642c20433a3a4d61785065726d697474656443616c6c6572733e0001746f70657261746f72735f776974685f617070726f76616c5f7374617465790b012d01426f756e6465645665633c284163636f756e7449642c20417070726f76616c53746174653c417373657449643e292c20433a3a0a4d61784f70657261746f7273506572536572766963653e0001406d656d626572736869705f6d6f64656c2507013c4d656d626572736869704d6f64656c0000710b0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454010d02045300000400090201185665633c543e0000750b0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400490201185665633c543e0000790b0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454017d0b045300000400850b01185665633c543e00007d0b0000040800810b00810b104474616e676c655f7072696d69746976657320736572766963657314747970657334417070726f76616c5374617465041c417373657449640118010c1c50656e64696e6700000020417070726f76656404015073656375726974795f636f6d6d69746d656e74736d0201945665633c41737365745365637572697479436f6d6d69746d656e743c417373657449643e3e0001002052656a656374656400020000850b0000027d0b00890b104474616e676c655f7072696d6974697665732073657276696365731c736572766963651c5365727669636510044300244163636f756e74496401002c426c6f636b4e756d62657201301c41737365744964011800200108696430010c753634000124626c75657072696e7430012c426c75657072696e7449640001146f776e65720001244163636f756e7449640001746f70657261746f725f73656375726974795f636f6d6d69746d656e74735d0201c84f70657261746f725365637572697479436f6d6d69746d656e74733c4163636f756e7449642c20417373657449642c20433e00015473656375726974795f726571756972656d656e74734d02011501426f756e6465645665633c41737365745365637572697479526571756972656d656e743c417373657449643e2c20433a3a4d6178417373657473506572536572766963653e0001447065726d69747465645f63616c6c657273750b01b4426f756e6465645665633c4163636f756e7449642c20433a3a4d61785065726d697474656443616c6c6572733e00010c74746c30012c426c6f636b4e756d6265720001406d656d626572736869705f6d6f64656c2507013c4d656d626572736869704d6f64656c00008d0b0c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f7365743c426f756e64656442547265655365740804540130045300000400910b012c42547265655365743c543e0000910b0420425472656553657404045401300004005d06000000950b104474616e676c655f7072696d697469766573207365727669636573106a6f62731c4a6f6243616c6c08044300244163636f756e7449640100000c0128736572766963655f696430010c75363400010c6a6f62080108753800011061726773710b01b4426f756e6465645665633c4669656c643c432c204163636f756e7449643e2c20433a3a4d61784669656c64733e0000990b104474616e676c655f7072696d697469766573207365727669636573106a6f6273344a6f6243616c6c526573756c7408044300244163636f756e7449640100000c0128736572766963655f696430010c75363400011c63616c6c5f696430010c753634000118726573756c74710b01b4426f756e6465645665633c4669656c643c432c204163636f756e7449643e2c20433a3a4d61784669656c64733e00009d0b104474616e676c655f7072696d69746976657320736572766963657314747970657338556e6170706c696564536c61736804244163636f756e74496401000014010c657261100120457261496e646578000130626c75657072696e745f696430010c753634000128736572766963655f696430010c7536340001206f70657261746f720001244163636f756e744964000134736c6173685f70657263656e745502011c50657263656e740000a10b0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454019501045300000400110601185665633c543e0000a50b104474616e676c655f7072696d6974697665732073657276696365731474797065733c4f70657261746f7250726f66696c6504044300000801207365727669636573a90b01bc426f756e64656442547265655365743c7536342c20433a3a4d617853657276696365735065724f70657261746f723e000128626c75657072696e7473ad0b01c4426f756e64656442547265655365743c7536342c20433a3a4d6178426c75657072696e74735065724f70657261746f723e0000a90b0c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f7365743c426f756e64656442547265655365740804540130045300000400910b012c42547265655365743c543e0000ad0b0c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f7365743c426f756e64656442547265655365740804540130045300000400910b012c42547265655365743c543e0000b10b104474616e676c655f7072696d6974697665732073657276696365731c736572766963655453746167696e67536572766963655061796d656e740c244163636f756e74496401001c4173736574496401181c42616c616e6365011800100128726571756573745f696430010c753634000124726566756e645f746fb50b01484163636f756e743c4163636f756e7449643e0001146173736574f501013841737365743c417373657449643e000118616d6f756e7418011c42616c616e63650000b50b0c4474616e676c655f7072696d6974697665731474797065731c4163636f756e7404244163636f756e7449640100010808496404000001244163636f756e7449640000001c4164647265737304009501013473705f636f72653a3a4831363000010000b90b0c3c70616c6c65745f7365727669636573186d6f64756c65144572726f720404540001210144426c75657072696e744e6f74466f756e6400000490546865207365727669636520626c75657072696e7420776173206e6f7420666f756e642e70426c75657072696e744372656174696f6e496e74657272757074656400010488426c75657072696e74206372656174696f6e20697320696e7465727275707465642e44416c726561647952656769737465726564000204bc5468652063616c6c657220697320616c726561647920726567697374657265642061732061206f70657261746f722e304475706c69636174654b6579000304fc5468652063616c6c6572206973207265676973746572696e6720776974682061206b6579207468617420697320616c7265616479207265676973746572656460496e76616c6964526567697374726174696f6e496e707574000404ec5468652063616c6c657220646f6573206e6f7420686176652074686520726571756972656d656e747320746f2062652061206f70657261746f722e584e6f74416c6c6f776564546f556e7265676973746572000504a8546865204f70657261746f72206973206e6f7420616c6c6f77656420746f20756e72656769737465722e784e6f74416c6c6f776564546f557064617465507269636554617267657473000604e8546865204f70657261746f72206973206e6f7420616c6c6f77656420746f2075706461746520746865697220707269636520746172676574732e4c496e76616c696452657175657374496e707574000704fc5468652063616c6c657220646f6573206e6f7420686176652074686520726571756972656d656e747320746f2072657175657374206120736572766963652e4c496e76616c69644a6f6243616c6c496e707574000804e05468652063616c6c657220646f6573206e6f7420686176652074686520726571756972656d656e747320746f2063616c6c2061206a6f622e40496e76616c69644a6f62526573756c74000904a85468652063616c6c65722070726f766964656420616e20696e76616c6964206a6f6220726573756c742e344e6f7452656769737465726564000a04ac5468652063616c6c6572206973206e6f7420726567697374657265642061732061206f70657261746f722e4c417070726f76616c496e746572727570746564000b0480417070726f76616c2050726f6365737320697320696e7465727275707465642e5052656a656374696f6e496e746572727570746564000c048452656a656374696f6e2050726f6365737320697320696e7465727275707465642e5853657276696365526571756573744e6f74466f756e64000d04885468652073657276696365207265717565737420776173206e6f7420666f756e642e8053657276696365496e697469616c697a6174696f6e496e746572727570746564000e048c5365727669636520496e697469616c697a6174696f6e20696e7465727275707465642e3c536572766963654e6f74466f756e64000f0468546865207365727669636520776173206e6f7420666f756e642e585465726d696e6174696f6e496e746572727570746564001004bc546865207465726d696e6174696f6e206f662074686520736572766963652077617320696e7465727275707465642e2454797065436865636b0400bd0b013854797065436865636b4572726f72001104fc416e206572726f72206f63637572726564207768696c65207479706520636865636b696e67207468652070726f766964656420696e70757420696e7075742e6c4d61785065726d697474656443616c6c65727345786365656465640012041901546865206d6178696d756d206e756d626572206f66207065726d69747465642063616c6c65727320706572207365727669636520686173206265656e2065786365656465642e6c4d61785365727669636550726f7669646572734578636565646564001304f8546865206d6178696d756d206e756d626572206f66206f70657261746f727320706572207365727669636520686173206265656e2065786365656465642e684d61785365727669636573506572557365724578636565646564001404e8546865206d6178696d756d206e756d626572206f6620736572766963657320706572207573657220686173206265656e2065786365656465642e444d61784669656c64734578636565646564001504ec546865206d6178696d756d206e756d626572206f66206669656c647320706572207265717565737420686173206265656e2065786365656465642e50417070726f76616c4e6f74526571756573746564001604f054686520617070726f76616c206973206e6f742072657175657374656420666f7220746865206f70657261746f7220287468652063616c6c6572292e544a6f62446566696e6974696f6e4e6f74466f756e6400170cb054686520726571756573746564206a6f6220646566696e6974696f6e20646f6573206e6f742065786973742e590154686973206572726f722069732072657475726e6564207768656e2074686520726571756573746564206a6f6220646566696e6974696f6e20646f6573206e6f7420657869737420696e20746865207365727669636528626c75657072696e742e60536572766963654f724a6f6243616c6c4e6f74466f756e64001804c4456974686572207468652073657276696365206f7220746865206a6f622063616c6c20776173206e6f7420666f756e642e544a6f6243616c6c526573756c744e6f74466f756e64001904a454686520726573756c74206f6620746865206a6f622063616c6c20776173206e6f7420666f756e642e3045564d416269456e636f6465001a04b4416e206572726f72206f63637572726564207768696c6520656e636f64696e67207468652045564d204142492e3045564d4162694465636f6465001b04b4416e206572726f72206f63637572726564207768696c65206465636f64696e67207468652045564d204142492e5c4f70657261746f7250726f66696c654e6f74466f756e64001c046c4f70657261746f722070726f66696c65206e6f7420666f756e642e784d617853657276696365735065724f70657261746f724578636565646564001d04c04d6178696d756d206e756d626572206f6620736572766963657320706572206f70657261746f7220726561636865642e804d6178426c75657072696e74735065724f70657261746f724578636565646564001e0401014d6178696d756d206e756d626572206f6620626c75657072696e7473207265676973746572656420627920746865206f70657261746f7220726561636865642e444f70657261746f724e6f74416374697665001f045901546865206f70657261746f72206973206e6f74206163746976652c20656e73757265206f70657261746f72207374617475732069732041435449564520696e206d756c74692d61737365742d64656c65676174696f6e444475706c69636174654f70657261746f72002004804475706c6963617465206f70657261746f7220726567697374726174696f6e2e40546f6f4d616e794f70657261746f7273002104f8546f6f206d616e79206f70657261746f72732070726f766964656420666f722074686520736572766963652773206d656d62657273686970206d6f64656c3c546f6f4665774f70657261746f7273002204f4546f6f20666577206f70657261746f72732070726f766964656420666f722074686520736572766963652773206d656d62657273686970206d6f64656c404e6f41737365747350726f76696465640023040d014e6f206173736574732070726f766964656420666f722074686520736572766963652c206174206c65617374206f6e652061737365742069732072657175697265642e384475706c69636174654173736574002404644475706c6963617465206173736574732070726f76696465646c4d6178417373657473506572536572766963654578636565646564002504ec546865206d6178696d756d206e756d626572206f662061737365747320706572207365727669636520686173206265656e2065786365656465642e644e617469766541737365744578706f73757265546f6f4c6f77002604804e6174697665206173736574206578706f7375726520697320746f6f206c6f77344e6f4e61746976654173736574002704644e6174697665206173736574206973206e6f7420666f756e644c4f6666656e6465724e6f744f70657261746f72002804984f6666656e646572206973206e6f7420612072656769737465726564206f70657261746f722e644f6666656e6465724e6f744163746976654f70657261746f720029048c4f6666656e646572206973206e6f7420616e20616374697665206f70657261746f722e404e6f536c617368696e674f726967696e002a042101546865205365727669636520426c75657072696e7420646964206e6f742072657475726e206120736c617368696e67206f726967696e20666f72207468697320736572766963652e3c4e6f446973707574654f726967696e002b041d01546865205365727669636520426c75657072696e7420646964206e6f742072657475726e20612064697370757465206f726967696e20666f72207468697320736572766963652e58556e6170706c696564536c6173684e6f74466f756e64002c048854686520556e6170706c69656420536c61736820617265206e6f7420666f756e642eb44d6173746572426c75657072696e74536572766963654d616e616765725265766973696f6e4e6f74466f756e64002d04110154686520537570706c696564204d617374657220426c75657072696e742053657276696365204d616e61676572205265766973696f6e206973206e6f7420666f756e642e604475706c69636174654d656d626572736869704d6f64656c002e04684475706c6963617465206d656d62657273686970206d6f64656cc04d61784d6173746572426c75657072696e74536572766963654d616e6167657256657273696f6e734578636565646564002f0415014d6178696d756d206e756d626572206f66204d617374657220426c75657072696e742053657276696365204d616e61676572207265766973696f6e7320726561636865642e4c45524332305472616e736665724661696c656400300468546865204552433230207472616e73666572206661696c65642e404d697373696e6745564d4f726967696e003104a44d697373696e672045564d204f726967696e20666f72207468652045564d20657865637574696f6e2e48457870656374656445564d41646472657373003204a8457870656374656420746865206163636f756e7420746f20626520616e2045564d20616464726573732e4445787065637465644163636f756e744964003304a4457870656374656420746865206163636f756e7420746f20626520616e206163636f756e742049442e404f6e526571756573744661696c757265003404505265717565737420686f6f6b206661696c757265504f6e5265676973746572486f6f6b4661696c656400350454526567697374657220686f6f6b206661696c757265404f6e417070726f76654661696c75726500360490417070726f76652073657276696365207265717565737420686f6f6b206661696c7572653c4f6e52656a6563744661696c7572650037048c52656a6563742073657276696365207265717565737420686f6f6b206661696c757265444f6e53657276696365496e6974486f6f6b003804445365727669636520696e697420686f6f6b68556e737570706f727465644d656d626572736869704d6f64656c003904ac4d656d62657273686970206d6f64656c206e6f7420737570706f7274656420627920626c75657072696e747444796e616d69634d656d626572736869704e6f74537570706f72746564003a04ac5365727669636520646f6573206e6f7420737570706f72742064796e616d6963206d656d62657273686970304a6f696e52656a6563746564003b04ac43616e6e6f74206a6f696e2073657276696365202d2072656a656374656420627920626c75657072696e74344c6561766552656a6563746564003c04b043616e6e6f74206c656176652073657276696365202d2072656a656374656420627920626c75657072696e744c4d61784f70657261746f727352656163686564003d04644d6178696d756d206f70657261746f72732072656163686564404f6e43616e4a6f696e4661696c757265003e045443616e206a6f696e20686f6f6b206661696c757265444f6e43616e4c656176654661696c757265003f045843616e206c6561766520686f6f6b206661696c757265544f6e4f70657261746f724a6f696e4661696c757265004004684f70657261746f72206a6f696e20686f6f6b206661696c757265584f6e4f70657261746f724c656176654661696c7572650041046c4f70657261746f72206c6561766520686f6f6b206661696c75726534416c72656164794a6f696e6564004204d84f70657261746f722069732061206d656d626572206f722068617320616c7265616479206a6f696e6564207468652073657276696365344e6f74416e4f70657261746f72004304a043616c6c6572206973206e6f7420616e206f70657261746f72206f6620746865207365727669636558496e76616c6964536c61736850657263656e7461676500440460496e76616c696420736c6173682070657263656e7461676528496e76616c69644b6579004504a8496e76616c6964206b657920287a65726f2062797465204543445341206b65792070726f76696465642968496e76616c69645365637572697479436f6d6d69746d656e747300460470496e76616c696420736563757269747920636f6d6d69746d656e74736c496e76616c69645365637572697479526571756972656d656e747300470474496e76616c696420536563757269747920526571756972656d656e7473048054686520604572726f726020656e756d206f6620746869732070616c6c65742ebd0b104474616e676c655f7072696d6974697665732073657276696365731474797065733854797065436865636b4572726f7200010c50417267756d656e74547970654d69736d617463680c0114696e64657808010875380001206578706563746564110201244669656c645479706500011861637475616c110201244669656c6454797065000000484e6f74456e6f756768417267756d656e74730801206578706563746564080108753800011861637475616c080108753800010048526573756c74547970654d69736d617463680c0114696e64657808010875380001206578706563746564110201244669656c645479706500011861637475616c110201244669656c645479706500020000c10b104470616c6c65745f74616e676c655f6c73741474797065732c626f6e6465645f706f6f6c3c426f6e646564506f6f6c496e6e65720404540000100128636f6d6d697373696f6ec50b0134436f6d6d697373696f6e3c543e000114726f6c6573cd0b015c506f6f6c526f6c65733c543a3a4163636f756e7449643e000114737461746579020124506f6f6c53746174650001206d65746164617461d10b013c506f6f6c4d657461646174613c543e0000c50b104470616c6c65745f74616e676c655f6c737414747970657328636f6d6d697373696f6e28436f6d6d697373696f6e040454000014011c63757272656e742501017c4f7074696f6e3c2850657262696c6c2c20543a3a4163636f756e744964293e00010c6d61789909013c4f7074696f6e3c50657262696c6c3e00012c6368616e67655f72617465c90b01bc4f7074696f6e3c436f6d6d697373696f6e4368616e6765526174653c426c6f636b4e756d626572466f723c543e3e3e0001347468726f74746c655f66726f6dc50401644f7074696f6e3c426c6f636b4e756d626572466f723c543e3e000140636c61696d5f7065726d697373696f6e810201bc4f7074696f6e3c436f6d6d697373696f6e436c61696d5065726d697373696f6e3c543a3a4163636f756e7449643e3e0000c90b04184f7074696f6e040454017d020108104e6f6e6500000010536f6d6504007d020000010000cd0b104470616c6c65745f74616e676c655f6c737414747970657314706f6f6c7324506f6f6c526f6c657304244163636f756e7449640100001001246465706f7369746f720001244163636f756e744964000110726f6f748801444f7074696f6e3c4163636f756e7449643e0001246e6f6d696e61746f728801444f7074696f6e3c4163636f756e7449643e00011c626f756e6365728801444f7074696f6e3c4163636f756e7449643e0000d10b104470616c6c65745f74616e676c655f6c73741474797065732c626f6e6465645f706f6f6c30506f6f6c4d6574616461746104045400000801106e616d65390701a04f7074696f6e3c426f756e6465645665633c75382c20543a3a4d61784e616d654c656e6774683e3e00011069636f6e410701a04f7074696f6e3c426f756e6465645665633c75382c20543a3a4d617849636f6e4c656e6774683e3e0000d50b104470616c6c65745f74616e676c655f6c7374147479706573247375625f706f6f6c7328526577617264506f6f6c04045400001401706c6173745f7265636f726465645f7265776172645f636f756e746572e1070140543a3a526577617264436f756e74657200016c6c6173745f7265636f726465645f746f74616c5f7061796f75747318013042616c616e63654f663c543e000154746f74616c5f726577617264735f636c61696d656418013042616c616e63654f663c543e000160746f74616c5f636f6d6d697373696f6e5f70656e64696e6718013042616c616e63654f663c543e000160746f74616c5f636f6d6d697373696f6e5f636c61696d656418013042616c616e63654f663c543e0000d90b104470616c6c65745f74616e676c655f6c7374147479706573247375625f706f6f6c7320537562506f6f6c7304045400000801186e6f5f657261dd0b0134556e626f6e64506f6f6c3c543e000120776974685f657261e10b010101426f756e64656442547265654d61703c457261496e6465782c20556e626f6e64506f6f6c3c543e2c20546f74616c556e626f6e64696e67506f6f6c733c543e3e0000dd0b104470616c6c65745f74616e676c655f6c7374147479706573247375625f706f6f6c7328556e626f6e64506f6f6c0404540000080118706f696e747318013042616c616e63654f663c543e00011c62616c616e636518013042616c616e63654f663c543e0000e10b0c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b0110045601dd0b045300000400e50b013842547265654d61703c4b2c20563e0000e50b042042547265654d617008044b0110045601dd0b000400e90b000000e90b000002ed0b00ed0b0000040810dd0b00f10b0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e0000f50b104470616c6c65745f74616e676c655f6c737414747970657314706f6f6c7328506f6f6c4d656d6265720404540000040138756e626f6e64696e675f65726173f90b010901426f756e64656442547265654d61703c457261496e6465782c2028506f6f6c49642c2042616c616e63654f663c543e292c20543a3a4d6178556e626f6e64696e673e0000f90b0c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b01100456018d09045300000400fd0b013842547265654d61703c4b2c20563e0000fd0b042042547265654d617008044b01100456018d09000400010c000000010c000002050c00050c00000408108d0900090c0c4470616c6c65745f74616e676c655f6c73741474797065733c436c61696d5065726d697373696f6e000110305065726d697373696f6e6564000000585065726d697373696f6e6c657373436f6d706f756e64000100585065726d697373696f6e6c6573735769746864726177000200445065726d697373696f6e6c657373416c6c000300000d0c0c4470616c6c65745f74616e676c655f6c73741870616c6c6574144572726f7204045400018430506f6f6c4e6f74466f756e6400000488412028626f6e6465642920706f6f6c20696420646f6573206e6f742065786973742e48506f6f6c4d656d6265724e6f74466f756e640001046c416e206163636f756e74206973206e6f742061206d656d6265722e48526577617264506f6f6c4e6f74466f756e640002042101412072657761726420706f6f6c20646f6573206e6f742065786973742e20496e20616c6c206361736573207468697320697320612073797374656d206c6f676963206572726f722e40537562506f6f6c734e6f74466f756e6400030468412073756220706f6f6c20646f6573206e6f742065786973742e3846756c6c79556e626f6e64696e670004083d01546865206d656d6265722069732066756c6c7920756e626f6e6465642028616e6420746875732063616e6e6f74206163636573732074686520626f6e64656420616e642072657761726420706f6f6ca8616e796d6f726520746f2c20666f72206578616d706c652c20636f6c6c6563742072657761726473292e444d6178556e626f6e64696e674c696d69740005040901546865206d656d6265722063616e6e6f7420756e626f6e642066757274686572206368756e6b732064756520746f207265616368696e6720746865206c696d69742e4443616e6e6f745769746864726177416e790006044d014e6f6e65206f66207468652066756e64732063616e2062652077697468647261776e2079657420626563617573652074686520626f6e64696e67206475726174696f6e20686173206e6f74207061737365642e444d696e696d756d426f6e644e6f744d6574000714290154686520616d6f756e7420646f6573206e6f74206d65657420746865206d696e696d756d20626f6e6420746f20656974686572206a6f696e206f7220637265617465206120706f6f6c2e005501546865206465706f7369746f722063616e206e6576657220756e626f6e6420746f20612076616c7565206c657373207468616e206050616c6c65743a3a6465706f7369746f725f6d696e5f626f6e64602e205468655d0163616c6c657220646f6573206e6f742068617665206e6f6d696e6174696e67207065726d697373696f6e7320666f722074686520706f6f6c2e204d656d626572732063616e206e6576657220756e626f6e6420746f20616876616c75652062656c6f7720604d696e4a6f696e426f6e64602e304f766572666c6f775269736b0008042101546865207472616e73616374696f6e20636f756c64206e6f742062652065786563757465642064756520746f206f766572666c6f77207269736b20666f722074686520706f6f6c2e344e6f7444657374726f79696e670009085d014120706f6f6c206d75737420626520696e205b60506f6f6c53746174653a3a44657374726f79696e67605d20696e206f7264657220666f7220746865206465706f7369746f7220746f20756e626f6e64206f7220666f72b86f74686572206d656d6265727320746f206265207065726d697373696f6e6c6573736c7920756e626f6e6465642e304e6f744e6f6d696e61746f72000a04f45468652063616c6c657220646f6573206e6f742068617665206e6f6d696e6174696e67207065726d697373696f6e7320666f722074686520706f6f6c2e544e6f744b69636b65724f7244657374726f79696e67000b043d01456974686572206129207468652063616c6c65722063616e6e6f74206d616b6520612076616c6964206b69636b206f722062292074686520706f6f6c206973206e6f742064657374726f79696e672e1c4e6f744f70656e000c047054686520706f6f6c206973206e6f74206f70656e20746f206a6f696e204d6178506f6f6c73000d04845468652073797374656d206973206d61786564206f7574206f6e20706f6f6c732e384d6178506f6f6c4d656d62657273000e049c546f6f206d616e79206d656d6265727320696e2074686520706f6f6c206f722073797374656d2e4443616e4e6f744368616e67655374617465000f048854686520706f6f6c732073746174652063616e6e6f74206265206368616e6765642e54446f65734e6f74486176655065726d697373696f6e001004b85468652063616c6c657220646f6573206e6f742068617665206164657175617465207065726d697373696f6e732e544d65746164617461457863656564734d61784c656e001104ac4d657461646174612065786365656473205b60436f6e6669673a3a4d61784d657461646174614c656e605d24446566656e736976650400110c0138446566656e736976654572726f720012083101536f6d65206572726f72206f6363757272656420746861742073686f756c64206e657665722068617070656e2e20546869732073686f756c64206265207265706f7274656420746f20746865306d61696e7461696e6572732e9c5061727469616c556e626f6e644e6f74416c6c6f7765645065726d697373696f6e6c6573736c79001304bc5061727469616c20756e626f6e64696e67206e6f7720616c6c6f776564207065726d697373696f6e6c6573736c792e5c4d6178436f6d6d697373696f6e526573747269637465640014041d0154686520706f6f6c2773206d617820636f6d6d697373696f6e2063616e6e6f742062652073657420686967686572207468616e20746865206578697374696e672076616c75652e60436f6d6d697373696f6e457863656564734d6178696d756d001504ec54686520737570706c69656420636f6d6d697373696f6e206578636565647320746865206d617820616c6c6f77656420636f6d6d697373696f6e2e78436f6d6d697373696f6e45786365656473476c6f62616c4d6178696d756d001604e854686520737570706c69656420636f6d6d697373696f6e206578636565647320676c6f62616c206d6178696d756d20636f6d6d697373696f6e2e64436f6d6d697373696f6e4368616e67655468726f74746c656400170409014e6f7420656e6f75676820626c6f636b732068617665207375727061737365642073696e636520746865206c61737420636f6d6d697373696f6e207570646174652e78436f6d6d697373696f6e4368616e6765526174654e6f74416c6c6f7765640018040101546865207375626d6974746564206368616e67657320746f20636f6d6d697373696f6e206368616e6765207261746520617265206e6f7420616c6c6f7765642e4c4e6f50656e64696e67436f6d6d697373696f6e001904a05468657265206973206e6f2070656e64696e6720636f6d6d697373696f6e20746f20636c61696d2e584e6f436f6d6d697373696f6e43757272656e74536574001a048c4e6f20636f6d6d697373696f6e2063757272656e7420686173206265656e207365742e2c506f6f6c4964496e557365001b0464506f6f6c2069642063757272656e746c7920696e207573652e34496e76616c6964506f6f6c4964001c049c506f6f6c2069642070726f7669646564206973206e6f7420636f72726563742f757361626c652e4c426f6e64457874726152657374726963746564001d04fc426f6e64696e67206578747261206973207265737472696374656420746f207468652065786163742070656e64696e672072657761726420616d6f756e742e3c4e6f7468696e67546f41646a757374001e04b04e6f20696d62616c616e636520696e20746865204544206465706f73697420666f722074686520706f6f6c2e5c506f6f6c546f6b656e4372656174696f6e4661696c6564001f046c506f6f6c20746f6b656e206372656174696f6e206661696c65642e444e6f42616c616e6365546f556e626f6e64002004544e6f2062616c616e636520746f20756e626f6e642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e110c0c4470616c6c65745f74616e676c655f6c73741870616c6c657438446566656e736976654572726f72000114684e6f74456e6f7567685370616365496e556e626f6e64506f6f6c00000030506f6f6c4e6f74466f756e6400010048526577617264506f6f6c4e6f74466f756e6400020040537562506f6f6c734e6f74466f756e6400030070426f6e64656453746173684b696c6c65645072656d61747572656c7900040000150c0000040800f50100190c000004083018001d0c000002f50100210c0c3870616c6c65745f726577617264731870616c6c6574144572726f72040454000160484e6f52657761726473417661696c61626c65000004744e6f207265776172647320617661696c61626c6520746f20636c61696d68496e73756666696369656e745265776172647342616c616e6365000104b8496e73756666696369656e7420726577617264732062616c616e636520696e2070616c6c6574206163636f756e744c41737365744e6f7457686974656c6973746564000204904173736574206973206e6f742077686974656c697374656420666f7220726577617264735c4173736574416c726561647957686974656c697374656400030470417373657420697320616c72656164792077686974656c697374656428496e76616c696441505900040444496e76616c6964204150592076616c75654c4173736574416c7265616479496e5661756c7400050498417373657420616c72656164792065786973747320696e206120726577617264207661756c743c41737365744e6f74496e5661756c740006047c4173736574206e6f7420666f756e6420696e20726577617264207661756c74345661756c744e6f74466f756e640007047c54686520726577617264207661756c7420646f6573206e6f74206578697374504475706c6963617465426c75657072696e74496400080415014572726f722072657475726e6564207768656e20747279696e6720746f20616464206120626c75657072696e74204944207468617420616c7265616479206578697374732e4c426c75657072696e7449644e6f74466f756e640009041d014572726f722072657475726e6564207768656e20747279696e6720746f2072656d6f7665206120626c75657072696e74204944207468617420646f65736e27742065786973742e50526577617264436f6e6669674e6f74466f756e64000a0421014572726f722072657475726e6564207768656e207468652072657761726420636f6e66696775726174696f6e20666f7220746865207661756c74206973206e6f7420666f756e642e7443616e6e6f7443616c63756c61746550726f706f74696f6e616c417079000b049c41726974686d65746963206f7065726174696f6e2063617573656420616e206f766572666c6f777443616e6e6f7443616c63756c617465526577617264506572426c6f636b000c04e04572726f722072657475726e6564207768656e20747279696e6720746f2063616c63756c617465207265776172642070657220626c6f636b84496e63656e74697665436170477265617465725468616e4465706f736974436170000d04a4496e63656e74697665206361702069732067726561746572207468616e206465706f7369742063617060426f6f73744d756c7469706c6965724d75737442654f6e65000e0468426f6f7374206d756c7469706c696572206d7573742062652031485661756c74416c7265616479457869737473000f04505661756c7420616c72656164792065786973747380546f74616c4465706f7369744c6573735468616e496e63656e74697665436170001004a0546f74616c206465706f736974206973206c657373207468616e20696e63656e746976652063617040506f74416c726561647945786973747300110454506f74206163636f756e74206e6f7420666f756e6448506f744163636f756e744e6f74466f756e6400120454506f74206163636f756e74206e6f7420666f756e6440496e76616c6964446563617952617465001304584465636179207261746520697320746f6f206869676898496e63656e74697665436170477265617465725468616e4d6178496e63656e74697665436170001404bc496e63656e74697665206361702069732067726561746572207468616e206d617820696e63656e7469766520636170884465706f736974436170477265617465725468616e4d61784465706f736974436170001504ac4465706f736974206361702069732067726561746572207468616e206d6178206465706f736974206361708c496e63656e746976654361704c6573735468616e4d696e496e63656e74697665436170001604b0496e63656e7469766520636170206973206c657373207468616e206d696e20696e63656e74697665206361707c4465706f7369744361704c6573735468616e4d696e4465706f736974436170001704a04465706f73697420636170206973206c657373207468616e206d696e206465706f73697420636170048054686520604572726f726020656e756d206f6620746869732070616c6c65742e250c0c4466705f73656c665f636f6e7461696e65644c756e636865636b65645f65787472696e73696348556e636865636b656445787472696e736963101c416464726573730109031043616c6c010103245369676e617475726501a90514457874726101290c000400590c01250173705f72756e74696d653a3a67656e657269633a3a556e636865636b656445787472696e7369633c416464726573732c2043616c6c2c205369676e61747572652c2045787472610a3e0000290c000004242d0c310c350c390c3d0c450c490c4d0c510c002d0c10306672616d655f73797374656d28657874656e73696f6e7354636865636b5f6e6f6e5f7a65726f5f73656e64657248436865636b4e6f6e5a65726f53656e64657204045400000000310c10306672616d655f73797374656d28657874656e73696f6e7348636865636b5f737065635f76657273696f6e40436865636b5370656356657273696f6e04045400000000350c10306672616d655f73797374656d28657874656e73696f6e7340636865636b5f74785f76657273696f6e38436865636b547856657273696f6e04045400000000390c10306672616d655f73797374656d28657874656e73696f6e7334636865636b5f67656e6573697330436865636b47656e65736973040454000000003d0c10306672616d655f73797374656d28657874656e73696f6e733c636865636b5f6d6f7274616c69747938436865636b4d6f7274616c69747904045400000400410c010c4572610000410c102873705f72756e74696d651c67656e657269630c6572610c4572610001010420496d6d6f7274616c0000001c4d6f7274616c31040008000001001c4d6f7274616c32040008000002001c4d6f7274616c33040008000003001c4d6f7274616c34040008000004001c4d6f7274616c35040008000005001c4d6f7274616c36040008000006001c4d6f7274616c37040008000007001c4d6f7274616c38040008000008001c4d6f7274616c3904000800000900204d6f7274616c313004000800000a00204d6f7274616c313104000800000b00204d6f7274616c313204000800000c00204d6f7274616c313304000800000d00204d6f7274616c313404000800000e00204d6f7274616c313504000800000f00204d6f7274616c313604000800001000204d6f7274616c313704000800001100204d6f7274616c313804000800001200204d6f7274616c313904000800001300204d6f7274616c323004000800001400204d6f7274616c323104000800001500204d6f7274616c323204000800001600204d6f7274616c323304000800001700204d6f7274616c323404000800001800204d6f7274616c323504000800001900204d6f7274616c323604000800001a00204d6f7274616c323704000800001b00204d6f7274616c323804000800001c00204d6f7274616c323904000800001d00204d6f7274616c333004000800001e00204d6f7274616c333104000800001f00204d6f7274616c333204000800002000204d6f7274616c333304000800002100204d6f7274616c333404000800002200204d6f7274616c333504000800002300204d6f7274616c333604000800002400204d6f7274616c333704000800002500204d6f7274616c333804000800002600204d6f7274616c333904000800002700204d6f7274616c343004000800002800204d6f7274616c343104000800002900204d6f7274616c343204000800002a00204d6f7274616c343304000800002b00204d6f7274616c343404000800002c00204d6f7274616c343504000800002d00204d6f7274616c343604000800002e00204d6f7274616c343704000800002f00204d6f7274616c343804000800003000204d6f7274616c343904000800003100204d6f7274616c353004000800003200204d6f7274616c353104000800003300204d6f7274616c353204000800003400204d6f7274616c353304000800003500204d6f7274616c353404000800003600204d6f7274616c353504000800003700204d6f7274616c353604000800003800204d6f7274616c353704000800003900204d6f7274616c353804000800003a00204d6f7274616c353904000800003b00204d6f7274616c363004000800003c00204d6f7274616c363104000800003d00204d6f7274616c363204000800003e00204d6f7274616c363304000800003f00204d6f7274616c363404000800004000204d6f7274616c363504000800004100204d6f7274616c363604000800004200204d6f7274616c363704000800004300204d6f7274616c363804000800004400204d6f7274616c363904000800004500204d6f7274616c373004000800004600204d6f7274616c373104000800004700204d6f7274616c373204000800004800204d6f7274616c373304000800004900204d6f7274616c373404000800004a00204d6f7274616c373504000800004b00204d6f7274616c373604000800004c00204d6f7274616c373704000800004d00204d6f7274616c373804000800004e00204d6f7274616c373904000800004f00204d6f7274616c383004000800005000204d6f7274616c383104000800005100204d6f7274616c383204000800005200204d6f7274616c383304000800005300204d6f7274616c383404000800005400204d6f7274616c383504000800005500204d6f7274616c383604000800005600204d6f7274616c383704000800005700204d6f7274616c383804000800005800204d6f7274616c383904000800005900204d6f7274616c393004000800005a00204d6f7274616c393104000800005b00204d6f7274616c393204000800005c00204d6f7274616c393304000800005d00204d6f7274616c393404000800005e00204d6f7274616c393504000800005f00204d6f7274616c393604000800006000204d6f7274616c393704000800006100204d6f7274616c393804000800006200204d6f7274616c393904000800006300244d6f7274616c31303004000800006400244d6f7274616c31303104000800006500244d6f7274616c31303204000800006600244d6f7274616c31303304000800006700244d6f7274616c31303404000800006800244d6f7274616c31303504000800006900244d6f7274616c31303604000800006a00244d6f7274616c31303704000800006b00244d6f7274616c31303804000800006c00244d6f7274616c31303904000800006d00244d6f7274616c31313004000800006e00244d6f7274616c31313104000800006f00244d6f7274616c31313204000800007000244d6f7274616c31313304000800007100244d6f7274616c31313404000800007200244d6f7274616c31313504000800007300244d6f7274616c31313604000800007400244d6f7274616c31313704000800007500244d6f7274616c31313804000800007600244d6f7274616c31313904000800007700244d6f7274616c31323004000800007800244d6f7274616c31323104000800007900244d6f7274616c31323204000800007a00244d6f7274616c31323304000800007b00244d6f7274616c31323404000800007c00244d6f7274616c31323504000800007d00244d6f7274616c31323604000800007e00244d6f7274616c31323704000800007f00244d6f7274616c31323804000800008000244d6f7274616c31323904000800008100244d6f7274616c31333004000800008200244d6f7274616c31333104000800008300244d6f7274616c31333204000800008400244d6f7274616c31333304000800008500244d6f7274616c31333404000800008600244d6f7274616c31333504000800008700244d6f7274616c31333604000800008800244d6f7274616c31333704000800008900244d6f7274616c31333804000800008a00244d6f7274616c31333904000800008b00244d6f7274616c31343004000800008c00244d6f7274616c31343104000800008d00244d6f7274616c31343204000800008e00244d6f7274616c31343304000800008f00244d6f7274616c31343404000800009000244d6f7274616c31343504000800009100244d6f7274616c31343604000800009200244d6f7274616c31343704000800009300244d6f7274616c31343804000800009400244d6f7274616c31343904000800009500244d6f7274616c31353004000800009600244d6f7274616c31353104000800009700244d6f7274616c31353204000800009800244d6f7274616c31353304000800009900244d6f7274616c31353404000800009a00244d6f7274616c31353504000800009b00244d6f7274616c31353604000800009c00244d6f7274616c31353704000800009d00244d6f7274616c31353804000800009e00244d6f7274616c31353904000800009f00244d6f7274616c3136300400080000a000244d6f7274616c3136310400080000a100244d6f7274616c3136320400080000a200244d6f7274616c3136330400080000a300244d6f7274616c3136340400080000a400244d6f7274616c3136350400080000a500244d6f7274616c3136360400080000a600244d6f7274616c3136370400080000a700244d6f7274616c3136380400080000a800244d6f7274616c3136390400080000a900244d6f7274616c3137300400080000aa00244d6f7274616c3137310400080000ab00244d6f7274616c3137320400080000ac00244d6f7274616c3137330400080000ad00244d6f7274616c3137340400080000ae00244d6f7274616c3137350400080000af00244d6f7274616c3137360400080000b000244d6f7274616c3137370400080000b100244d6f7274616c3137380400080000b200244d6f7274616c3137390400080000b300244d6f7274616c3138300400080000b400244d6f7274616c3138310400080000b500244d6f7274616c3138320400080000b600244d6f7274616c3138330400080000b700244d6f7274616c3138340400080000b800244d6f7274616c3138350400080000b900244d6f7274616c3138360400080000ba00244d6f7274616c3138370400080000bb00244d6f7274616c3138380400080000bc00244d6f7274616c3138390400080000bd00244d6f7274616c3139300400080000be00244d6f7274616c3139310400080000bf00244d6f7274616c3139320400080000c000244d6f7274616c3139330400080000c100244d6f7274616c3139340400080000c200244d6f7274616c3139350400080000c300244d6f7274616c3139360400080000c400244d6f7274616c3139370400080000c500244d6f7274616c3139380400080000c600244d6f7274616c3139390400080000c700244d6f7274616c3230300400080000c800244d6f7274616c3230310400080000c900244d6f7274616c3230320400080000ca00244d6f7274616c3230330400080000cb00244d6f7274616c3230340400080000cc00244d6f7274616c3230350400080000cd00244d6f7274616c3230360400080000ce00244d6f7274616c3230370400080000cf00244d6f7274616c3230380400080000d000244d6f7274616c3230390400080000d100244d6f7274616c3231300400080000d200244d6f7274616c3231310400080000d300244d6f7274616c3231320400080000d400244d6f7274616c3231330400080000d500244d6f7274616c3231340400080000d600244d6f7274616c3231350400080000d700244d6f7274616c3231360400080000d800244d6f7274616c3231370400080000d900244d6f7274616c3231380400080000da00244d6f7274616c3231390400080000db00244d6f7274616c3232300400080000dc00244d6f7274616c3232310400080000dd00244d6f7274616c3232320400080000de00244d6f7274616c3232330400080000df00244d6f7274616c3232340400080000e000244d6f7274616c3232350400080000e100244d6f7274616c3232360400080000e200244d6f7274616c3232370400080000e300244d6f7274616c3232380400080000e400244d6f7274616c3232390400080000e500244d6f7274616c3233300400080000e600244d6f7274616c3233310400080000e700244d6f7274616c3233320400080000e800244d6f7274616c3233330400080000e900244d6f7274616c3233340400080000ea00244d6f7274616c3233350400080000eb00244d6f7274616c3233360400080000ec00244d6f7274616c3233370400080000ed00244d6f7274616c3233380400080000ee00244d6f7274616c3233390400080000ef00244d6f7274616c3234300400080000f000244d6f7274616c3234310400080000f100244d6f7274616c3234320400080000f200244d6f7274616c3234330400080000f300244d6f7274616c3234340400080000f400244d6f7274616c3234350400080000f500244d6f7274616c3234360400080000f600244d6f7274616c3234370400080000f700244d6f7274616c3234380400080000f800244d6f7274616c3234390400080000f900244d6f7274616c3235300400080000fa00244d6f7274616c3235310400080000fb00244d6f7274616c3235320400080000fc00244d6f7274616c3235330400080000fd00244d6f7274616c3235340400080000fe00244d6f7274616c3235350400080000ff0000450c10306672616d655f73797374656d28657874656e73696f6e732c636865636b5f6e6f6e636528436865636b4e6f6e636504045400000400ad020120543a3a4e6f6e63650000490c10306672616d655f73797374656d28657874656e73696f6e7330636865636b5f7765696768742c436865636b576569676874040454000000004d0c086870616c6c65745f7472616e73616374696f6e5f7061796d656e74604368617267655472616e73616374696f6e5061796d656e74040454000004007101013042616c616e63654f663c543e0000510c08746672616d655f6d657461646174615f686173685f657874656e73696f6e44436865636b4d657461646174614861736804045400000401106d6f6465550c01104d6f64650000550c08746672616d655f6d657461646174615f686173685f657874656e73696f6e104d6f64650001082044697361626c65640000001c456e61626c656400010000590c102873705f72756e74696d651c67656e657269634c756e636865636b65645f65787472696e73696348556e636865636b656445787472696e736963101c416464726573730109031043616c6c010103245369676e617475726501a90514457874726101290c000400380000005d0c085874616e676c655f746573746e65745f72756e74696d651c52756e74696d6500000000b41853797374656d011853797374656d481c4163636f756e7401010402000c4101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e3845787472696e736963436f756e74000010040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e40496e686572656e74734170706c696564010020040004a4205768657468657220616c6c20696e686572656e74732068617665206265656e206170706c6965642e2c426c6f636b576569676874010024180000000000000488205468652063757272656e742077656967687420666f722074686520626c6f636b2e40416c6c45787472696e736963734c656e000010040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b486173680101040530348000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e736963446174610101040510380400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d626572010030200000000000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801003480000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e1844696765737401003c040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301004c04001ca0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e001d01204e4f54453a20546865206974656d20697320756e626f756e6420616e642073686f756c64207468657265666f7265206e657665722062652072656164206f6e20636861696e2ed020497420636f756c64206f746865727769736520696e666c6174652074686520506f562073697a65206f66206120626c6f636b2e002d01204576656e747320686176652061206c6172676520696e2d6d656d6f72792073697a652e20426f7820746865206576656e747320746f206e6f7420676f206f75742d6f662d6d656d6f7279fc206a75737420696e206361736520736f6d656f6e65207374696c6c207265616473207468656d2066726f6d2077697468696e207468652072756e74696d652e284576656e74436f756e74010010100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f706963730101040234a5020400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e005901205468652076616c756520686173207468652074797065206028426c6f636b4e756d626572466f723c543e2c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e484c61737452756e74696d65557067726164650000a90204000455012053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e545570677261646564546f553332526566436f756e740100200400044d012054727565206966207765206861766520757067726164656420736f207468617420607479706520526566436f756e74602069732060753332602e2046616c7365202864656661756c7429206966206e6f742e605570677261646564546f547269706c65526566436f756e740100200400085d012054727565206966207765206861766520757067726164656420736f2074686174204163636f756e74496e666f20636f6e7461696e73207468726565207479706573206f662060526566436f756e74602e2046616c736548202864656661756c7429206966206e6f742e38457865637574696f6e50686173650000a102040004882054686520657865637574696f6e207068617365206f662074686520626c6f636b2e44417574686f72697a6564557067726164650000b102040004b82060536f6d6560206966206120636f6465207570677261646520686173206265656e20617574686f72697a65642e01b50201581830426c6f636b57656967687473c502f901624d186c000b00204aa9d10113ffffffffffffffff4247871900010b30f6a7a72e011366666666666666a6010b0098f73e5d0113ffffffffffffffbf0100004247871900010b307efa11a3011366666666666666e6010b00204aa9d10113ffffffffffffffff01070088526a74130000000000000040424787190000000004d020426c6f636b20262065787472696e7369637320776569676874733a20626173652076616c75657320616e64206c696d6974732e2c426c6f636b4c656e677468d5023000003c00000050000000500004a820546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e38426c6f636b48617368436f756e7430200001000000000000045501204d6178696d756d206e756d626572206f6620626c6f636b206e756d62657220746f20626c6f636b2068617368206d617070696e677320746f206b65657020286f6c64657374207072756e6564206669727374292e204462576569676874dd024040787d010000000000e1f505000000000409012054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e1c56657273696f6ee102f1033874616e676c652d746573746e65743874616e676c652d746573746e657401000000ba0400000100000044df6acb689907609b0500000037e397fc7c91f5e40200000040fe3ad401f8959a060000009bbaa777b4c15fc4010000008f5c2d0094ecd04701000000582211f65bb14b8905000000e65b00e46cedd0aa02000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000cbca25e39f14238702000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000ed99c5acb25eedf503000000bd78255d4feeea1f06000000a33d43f58731ad8402000000fbc577b9d747efd60100000001000000000484204765742074686520636861696e277320696e2d636f64652076657273696f6e2e2853533538507265666978ed01082a0014a8205468652064657369676e61746564205353353820707265666978206f66207468697320636861696e2e0039012054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e20697331012074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f662069742061737020616e206964656e746966696572206f662074686520636861696e2e01f502012454696d657374616d70012454696d657374616d70080c4e6f7701003020000000000000000004a0205468652063757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e24446964557064617465010020040010d82057686574686572207468652074696d657374616d7020686173206265656e207570646174656420696e207468697320626c6f636b2e00550120546869732076616c7565206973207570646174656420746f206074727565602075706f6e207375636365737366756c207375626d697373696f6e206f6620612074696d657374616d702062792061206e6f64652e4501204974206973207468656e20636865636b65642061742074686520656e64206f66206561636820626c6f636b20657865637574696f6e20696e2074686520606f6e5f66696e616c697a656020686f6f6b2e01f9020004344d696e696d756d506572696f643020b80b000000000000188c20546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e004d012042652061776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a20706572696f6420746861742074686520626c6f636b2070726f64756374696f6e4901206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c2067656e6572616c6c7920776f726b2077697468207468697320746f61012064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20466f72206578616d706c652c20696e2074686520417572612070616c6c65742069742077696c6c20626520646f75626c6520746869737020706572696f64206f6e2064656661756c742073657474696e67732e0002105375646f01105375646f040c4b6579000000040004842054686520604163636f756e74496460206f6620746865207375646f206b65792e01fd02017c00015d07036052616e646f6d6e657373436f6c6c656374697665466c6970016052616e646f6d6e657373436f6c6c656374697665466c6970043852616e646f6d4d6174657269616c0100610704000c610120536572696573206f6620626c6f636b20686561646572732066726f6d20746865206c61737420383120626c6f636b73207468617420616374732061732072616e646f6d2073656564206d6174657269616c2e2054686973610120697320617272616e67656420617320612072696e672062756666657220776974682060626c6f636b5f6e756d626572202520383160206265696e672074686520696e64657820696e746f20746865206056656360206f664420746865206f6c6465737420686173682e00000000041841737365747301184173736574731414417373657400010402186507040004542044657461696c73206f6620616e2061737365742e1c4163636f756e7400010802026d077107040004e42054686520686f6c64696e6773206f662061207370656369666963206163636f756e7420666f7220612073706563696669632061737365742e24417070726f76616c7300010c0202027d07810704000c590120417070726f7665642062616c616e6365207472616e73666572732e2046697273742062616c616e63652069732074686520616d6f756e7420617070726f76656420666f72207472616e736665722e205365636f6e64e82069732074686520616d6f756e74206f662060543a3a43757272656e63796020726573657276656420666f722073746f72696e6720746869732e4901204669727374206b6579206973207468652061737365742049442c207365636f6e64206b657920697320746865206f776e657220616e64207468697264206b6579206973207468652064656c65676174652e204d65746164617461010104021885075000000000000000000000000000000000000000000458204d65746164617461206f6620616e2061737365742e2c4e657874417373657449640000180400246d012054686520617373657420494420656e666f7263656420666f7220746865206e657874206173736574206372656174696f6e2c20696620616e792070726573656e742e204f74686572776973652c20746869732073746f7261676550206974656d20686173206e6f206566666563742e00650120546869732063616e2062652075736566756c20666f722073657474696e6720757020636f6e73747261696e747320666f7220494473206f6620746865206e6577206173736574732e20466f72206578616d706c652c20627969012070726f766964696e6720616e20696e697469616c205b604e65787441737365744964605d20616e64207573696e6720746865205b6063726174653a3a4175746f496e6341737365744964605d2063616c6c6261636b2c20616ee8206175746f2d696e6372656d656e74206d6f64656c2063616e206265206170706c69656420746f20616c6c206e6577206173736574204944732e0021012054686520696e697469616c206e6578742061737365742049442063616e20626520736574207573696e6720746865205b6047656e65736973436f6e666967605d206f72207468652101205b5365744e657874417373657449645d28606d6967726174696f6e3a3a6e6578745f61737365745f69643a3a5365744e657874417373657449646029206d6967726174696f6e2e010503018c1c4052656d6f76654974656d734c696d69741010e80300000c5101204d6178206e756d626572206f66206974656d7320746f2064657374726f7920706572206064657374726f795f6163636f756e74736020616e64206064657374726f795f617070726f76616c73602063616c6c2e003901204d75737420626520636f6e6669677572656420746f20726573756c7420696e2061207765696768742074686174206d616b657320656163682063616c6c2066697420696e206120626c6f636b2e3041737365744465706f73697418400000e8890423c78a000000000000000004f82054686520626173696320616d6f756e74206f662066756e64732074686174206d75737420626520726573657276656420666f7220616e2061737365742e4c41737365744163636f756e744465706f73697418400000e8890423c78a00000000000000000845012054686520616d6f756e74206f662066756e64732074686174206d75737420626520726573657276656420666f722061206e6f6e2d70726f7669646572206173736574206163636f756e7420746f20626530206d61696e7461696e65642e4c4d657461646174614465706f7369744261736518400000a24ea8b8b88b00000000000000000451012054686520626173696320616d6f756e74206f662066756e64732074686174206d757374206265207265736572766564207768656e20616464696e67206d6574616461746120746f20796f75722061737365742e584d657461646174614465706f7369745065724279746518400080c6a47e8d0300000000000000000008550120546865206164646974696f6e616c2066756e64732074686174206d75737420626520726573657276656420666f7220746865206e756d626572206f6620627974657320796f752073746f726520696e20796f757228206d657461646174612e3c417070726f76616c4465706f736974184000e40b540200000000000000000000000421012054686520616d6f756e74206f662066756e64732074686174206d757374206265207265736572766564207768656e206372656174696e672061206e657720617070726f76616c2e2c537472696e674c696d697410103200000004e020546865206d6178696d756d206c656e677468206f662061206e616d65206f722073796d626f6c2073746f726564206f6e2d636861696e2e018d070528506f6f6c4173736574730128506f6f6c4173736574731414417373657400010402186507040004542044657461696c73206f6620616e2061737365742e1c4163636f756e7400010802026d077107040004e42054686520686f6c64696e6773206f662061207370656369666963206163636f756e7420666f7220612073706563696669632061737365742e24417070726f76616c7300010c0202027d07810704000c590120417070726f7665642062616c616e6365207472616e73666572732e2046697273742062616c616e63652069732074686520616d6f756e7420617070726f76656420666f72207472616e736665722e205365636f6e64e82069732074686520616d6f756e74206f662060543a3a43757272656e63796020726573657276656420666f722073746f72696e6720746869732e4901204669727374206b6579206973207468652061737365742049442c207365636f6e64206b657920697320746865206f776e657220616e64207468697264206b6579206973207468652064656c65676174652e204d65746164617461010104021885075000000000000000000000000000000000000000000458204d65746164617461206f6620616e2061737365742e2c4e657874417373657449640000180400246d012054686520617373657420494420656e666f7263656420666f7220746865206e657874206173736574206372656174696f6e2c20696620616e792070726573656e742e204f74686572776973652c20746869732073746f7261676550206974656d20686173206e6f206566666563742e00650120546869732063616e2062652075736566756c20666f722073657474696e6720757020636f6e73747261696e747320666f7220494473206f6620746865206e6577206173736574732e20466f72206578616d706c652c20627969012070726f766964696e6720616e20696e697469616c205b604e65787441737365744964605d20616e64207573696e6720746865205b6063726174653a3a4175746f496e6341737365744964605d2063616c6c6261636b2c20616ee8206175746f2d696e6372656d656e74206d6f64656c2063616e206265206170706c69656420746f20616c6c206e6577206173736574204944732e0021012054686520696e697469616c206e6578742061737365742049442063616e20626520736574207573696e6720746865205b6047656e65736973436f6e666967605d206f72207468652101205b5365744e657874417373657449645d28606d6967726174696f6e3a3a6e6578745f61737365745f69643a3a5365744e657874417373657449646029206d6967726174696f6e2e010d0301901c4052656d6f76654974656d734c696d69741010e80300000c5101204d6178206e756d626572206f66206974656d7320746f2064657374726f7920706572206064657374726f795f6163636f756e74736020616e64206064657374726f795f617070726f76616c73602063616c6c2e003901204d75737420626520636f6e6669677572656420746f20726573756c7420696e2061207765696768742074686174206d616b657320656163682063616c6c2066697420696e206120626c6f636b2e3041737365744465706f73697418400000e8890423c78a000000000000000004f82054686520626173696320616d6f756e74206f662066756e64732074686174206d75737420626520726573657276656420666f7220616e2061737365742e4c41737365744163636f756e744465706f73697418400000e8890423c78a00000000000000000845012054686520616d6f756e74206f662066756e64732074686174206d75737420626520726573657276656420666f722061206e6f6e2d70726f7669646572206173736574206163636f756e7420746f20626530206d61696e7461696e65642e4c4d657461646174614465706f7369744261736518400000a24ea8b8b88b00000000000000000451012054686520626173696320616d6f756e74206f662066756e64732074686174206d757374206265207265736572766564207768656e20616464696e67206d6574616461746120746f20796f75722061737365742e584d657461646174614465706f7369745065724279746518400080c6a47e8d0300000000000000000008550120546865206164646974696f6e616c2066756e64732074686174206d75737420626520726573657276656420666f7220746865206e756d626572206f6620627974657320796f752073746f726520696e20796f757228206d657461646174612e3c417070726f76616c4465706f736974184000e40b540200000000000000000000000421012054686520616d6f756e74206f662066756e64732074686174206d757374206265207265736572766564207768656e206372656174696e672061206e657720617070726f76616c2e2c537472696e674c696d697410103200000004e020546865206d6178696d756d206c656e677468206f662061206e616d65206f722073796d626f6c2073746f726564206f6e2d636861696e2e019107362042616c616e636573012042616c616e6365731c34546f74616c49737375616e6365010018400000000000000000000000000000000004982054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e40496e61637469766549737375616e636501001840000000000000000000000000000000000409012054686520746f74616c20756e697473206f66206f75747374616e64696e672064656163746976617465642062616c616e636520696e207468652073797374656d2e1c4163636f756e74010104020014010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080600901205468652042616c616e6365732070616c6c6574206578616d706c65206f662073746f72696e67207468652062616c616e6365206f6620616e206163636f756e742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b19022020202074797065204163636f756e7453746f7265203d2053746f726167654d61705368696d3c53656c663a3a4163636f756e743c52756e74696d653e2c206672616d655f73797374656d3a3a50726f76696465723c52756e74696d653e2c204163636f756e7449642c2053656c663a3a4163636f756e74446174613c42616c616e63653e3e0c20207d102060606000150120596f752063616e20616c736f2073746f7265207468652062616c616e6365206f6620616e206163636f756e7420696e20746865206053797374656d602070616c6c65742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b7420202074797065204163636f756e7453746f7265203d2053797374656d0c20207d102060606000510120427574207468697320636f6d657320776974682074726164656f6666732c2073746f72696e67206163636f756e742062616c616e63657320696e207468652073797374656d2070616c6c65742073746f7265736d0120606672616d655f73797374656d60206461746120616c6f6e677369646520746865206163636f756e74206461746120636f6e747261727920746f2073746f72696e67206163636f756e742062616c616e63657320696e207468652901206042616c616e636573602070616c6c65742c20776869636820757365732061206053746f726167654d61706020746f2073746f72652062616c616e6365732064617461206f6e6c792e4101204e4f54453a2054686973206973206f6e6c79207573656420696e207468652063617365207468617420746869732070616c6c6574206973207573656420746f2073746f72652062616c616e6365732e144c6f636b7301010402009507040010b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e00ad0120557365206f66206c6f636b73206973206465707265636174656420696e206661766f7572206f6620667265657a65732e20536565206068747470733a2f2f6769746875622e636f6d2f706172697479746563682f7375627374726174652f70756c6c2f31323935312f602052657365727665730101040200a50704000ca4204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e00b10120557365206f66207265736572766573206973206465707265636174656420696e206661766f7572206f6620686f6c64732e20536565206068747470733a2f2f6769746875622e636f6d2f706172697479746563682f7375627374726174652f70756c6c2f31323935312f6014486f6c64730101040200b1070400046c20486f6c6473206f6e206163636f756e742062616c616e6365732e1c467265657a65730101040200c5070400048820467265657a65206c6f636b73206f6e206163636f756e742062616c616e6365732e011103019410484578697374656e7469616c4465706f736974184000e40b5402000000000000000000000020410120546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e204d5553542042452047524541544552205448414e205a45524f2100590120496620796f75202a7265616c6c792a206e65656420697420746f206265207a65726f2c20796f752063616e20656e61626c652074686520666561747572652060696e7365637572655f7a65726f5f65646020666f72610120746869732070616c6c65742e20486f77657665722c20796f7520646f20736f20617420796f7572206f776e207269736b3a20746869732077696c6c206f70656e2075702061206d616a6f7220446f5320766563746f722e590120496e206361736520796f752068617665206d756c7469706c6520736f7572636573206f662070726f7669646572207265666572656e6365732c20796f75206d617920616c736f2067657420756e65787065637465648c206265686176696f757220696620796f7520736574207468697320746f207a65726f2e00f020426f74746f6d206c696e653a20446f20796f757273656c662061206661766f757220616e64206d616b65206974206174206c65617374206f6e6521204d61784c6f636b7310103200000010f420546865206d6178696d756d206e756d626572206f66206c6f636b7320746861742073686f756c64206578697374206f6e20616e206163636f756e742edc204e6f74207374726963746c7920656e666f726365642c20627574207573656420666f722077656967687420657374696d6174696f6e2e00ad0120557365206f66206c6f636b73206973206465707265636174656420696e206661766f7572206f6620667265657a65732e20536565206068747470733a2f2f6769746875622e636f6d2f706172697479746563682f7375627374726174652f70756c6c2f31323935312f602c4d617852657365727665731010320000000c0d0120546865206d6178696d756d206e756d626572206f66206e616d656420726573657276657320746861742063616e206578697374206f6e20616e206163636f756e742e00b10120557365206f66207265736572766573206973206465707265636174656420696e206661766f7572206f6620686f6c64732e20536565206068747470733a2f2f6769746875622e636f6d2f706172697479746563682f7375627374726174652f70756c6c2f31323935312f60284d6178467265657a657310103200000004610120546865206d6178696d756d206e756d626572206f6620696e646976696475616c20667265657a65206c6f636b7320746861742063616e206578697374206f6e20616e206163636f756e7420617420616e792074696d652e01dd0706485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7408444e6578744665654d756c7469706c6965720100e10740000064a7b3b6e00d0000000000000000003853746f7261676556657273696f6e0100e50704000000019c04604f7065726174696f6e616c4665654d756c7469706c696572080405545901204120666565206d756c7469706c69657220666f7220604f7065726174696f6e616c602065787472696e7369637320746f20636f6d7075746520227669727475616c207469702220746f20626f6f73742074686569722c20607072696f726974796000510120546869732076616c7565206973206d756c7469706c69656420627920746865206066696e616c5f6665656020746f206f627461696e206120227669727475616c20746970222074686174206973206c61746572f420616464656420746f20612074697020636f6d706f6e656e7420696e20726567756c617220607072696f72697479602063616c63756c6174696f6e732e4d01204974206d65616e732074686174206120604e6f726d616c60207472616e73616374696f6e2063616e2066726f6e742d72756e20612073696d696c61726c792d73697a656420604f7065726174696f6e616c6041012065787472696e736963202877697468206e6f20746970292c20627920696e636c7564696e672061207469702076616c75652067726561746572207468616e20746865207669727475616c207469702e003c20606060727573742c69676e6f726540202f2f20466f7220604e6f726d616c608c206c6574207072696f72697479203d207072696f726974795f63616c6328746970293b0054202f2f20466f7220604f7065726174696f6e616c601101206c6574207669727475616c5f746970203d2028696e636c7573696f6e5f666565202b2074697029202a204f7065726174696f6e616c4665654d756c7469706c6965723bc4206c6574207072696f72697479203d207072696f726974795f63616c6328746970202b207669727475616c5f746970293b1020606060005101204e6f746520746861742073696e636520776520757365206066696e616c5f6665656020746865206d756c7469706c696572206170706c69657320616c736f20746f2074686520726567756c61722060746970605d012073656e74207769746820746865207472616e73616374696f6e2e20536f2c206e6f74206f6e6c7920646f657320746865207472616e73616374696f6e206765742061207072696f726974792062756d702062617365646101206f6e207468652060696e636c7573696f6e5f666565602c2062757420776520616c736f20616d706c6966792074686520696d70616374206f662074697073206170706c69656420746f20604f7065726174696f6e616c6038207472616e73616374696f6e732e000728417574686f72736869700128417574686f72736869700418417574686f720000000400046420417574686f72206f662063757272656e7420626c6f636b2e00000000081042616265011042616265442845706f6368496e64657801003020000000000000000004542043757272656e742065706f636820696e6465782e2c417574686f7269746965730100e9070400046c2043757272656e742065706f636820617574686f7269746965732e2c47656e65736973536c6f740100290320000000000000000008f82054686520736c6f74206174207768696368207468652066697273742065706f63682061637475616c6c7920737461727465642e205468697320697320309020756e74696c2074686520666972737420626c6f636b206f662074686520636861696e2e2c43757272656e74536c6f740100290320000000000000000004542043757272656e7420736c6f74206e756d6265722e2852616e646f6d6e65737301000480000000000000000000000000000000000000000000000000000000000000000028b8205468652065706f63682072616e646f6d6e65737320666f7220746865202a63757272656e742a2065706f63682e002c20232053656375726974790005012054686973204d555354204e4f54206265207573656420666f722067616d626c696e672c2061732069742063616e20626520696e666c75656e6365642062792061f8206d616c6963696f75732076616c696461746f7220696e207468652073686f7274207465726d2e204974204d4159206265207573656420696e206d616e7915012063727970746f677261706869632070726f746f636f6c732c20686f77657665722c20736f206c6f6e67206173206f6e652072656d656d6265727320746861742074686973150120286c696b652065766572797468696e6720656c7365206f6e2d636861696e29206974206973207075626c69632e20466f72206578616d706c652c2069742063616e206265050120757365642077686572652061206e756d626572206973206e656564656420746861742063616e6e6f742068617665206265656e2063686f73656e20627920616e0d01206164766572736172792c20666f7220707572706f7365732073756368206173207075626c69632d636f696e207a65726f2d6b6e6f776c656467652070726f6f66732e6050656e64696e6745706f6368436f6e6669674368616e67650000310304000461012050656e64696e672065706f636820636f6e66696775726174696f6e206368616e676520746861742077696c6c206265206170706c696564207768656e20746865206e6578742065706f636820697320656e61637465642e384e65787452616e646f6d6e657373010004800000000000000000000000000000000000000000000000000000000000000000045c204e6578742065706f63682072616e646f6d6e6573732e3c4e657874417574686f7269746965730100e90704000460204e6578742065706f636820617574686f7269746965732e305365676d656e74496e6465780100101000000000247c2052616e646f6d6e65737320756e64657220636f6e737472756374696f6e2e00f8205765206d616b6520612074726164652d6f6666206265747765656e2073746f7261676520616363657373657320616e64206c697374206c656e6774682e01012057652073746f72652074686520756e6465722d636f6e737472756374696f6e2072616e646f6d6e65737320696e207365676d656e7473206f6620757020746f942060554e4445525f434f4e535452554354494f4e5f5345474d454e545f4c454e475448602e00ec204f6e63652061207365676d656e7420726561636865732074686973206c656e6774682c20776520626567696e20746865206e657874206f6e652e090120576520726573657420616c6c207365676d656e747320616e642072657475726e20746f206030602061742074686520626567696e6e696e67206f662065766572791c2065706f63682e44556e646572436f6e737472756374696f6e0101040510f50704000415012054574f582d4e4f54453a20605365676d656e74496e6465786020697320616e20696e6372656173696e6720696e74656765722c20736f2074686973206973206f6b61792e2c496e697469616c697a65640000fd0704000801012054656d706f726172792076616c75652028636c656172656420617420626c6f636b2066696e616c697a6174696f6e292077686963682069732060536f6d65601d01206966207065722d626c6f636b20696e697469616c697a6174696f6e2068617320616c7265616479206265656e2063616c6c656420666f722063757272656e7420626c6f636b2e4c417574686f7256726652616e646f6d6e6573730100410104001015012054686973206669656c642073686f756c6420616c7761797320626520706f70756c6174656420647572696e6720626c6f636b2070726f63657373696e6720756e6c6573731901207365636f6e6461727920706c61696e20736c6f74732061726520656e61626c65642028776869636820646f6e277420636f6e7461696e206120565246206f7574707574292e0049012049742069732073657420696e20606f6e5f66696e616c697a65602c206265666f72652069742077696c6c20636f6e7461696e207468652076616c75652066726f6d20746865206c61737420626c6f636b2e2845706f63685374617274010035034000000000000000000000000000000000145d012054686520626c6f636b206e756d62657273207768656e20746865206c61737420616e642063757272656e742065706f6368206861766520737461727465642c20726573706563746976656c7920604e2d316020616e641420604e602e4901204e4f54453a20576520747261636b207468697320697320696e206f7264657220746f20616e6e6f746174652074686520626c6f636b206e756d626572207768656e206120676976656e20706f6f6c206f66590120656e74726f7079207761732066697865642028692e652e20697420776173206b6e6f776e20746f20636861696e206f6273657276657273292e2053696e63652065706f6368732061726520646566696e656420696e590120736c6f74732c207768696368206d617920626520736b69707065642c2074686520626c6f636b206e756d62657273206d6179206e6f74206c696e6520757020776974682074686520736c6f74206e756d626572732e204c6174656e65737301003020000000000000000014d820486f77206c617465207468652063757272656e7420626c6f636b20697320636f6d706172656420746f2069747320706172656e742e001501205468697320656e74727920697320706f70756c617465642061732070617274206f6620626c6f636b20657865637574696f6e20616e6420697320636c65616e65642075701101206f6e20626c6f636b2066696e616c697a6174696f6e2e205175657279696e6720746869732073746f7261676520656e747279206f757473696465206f6620626c6f636bb020657865637574696f6e20636f6e746578742073686f756c6420616c77617973207969656c64207a65726f2e2c45706f6368436f6e6669670000150804000861012054686520636f6e66696775726174696f6e20666f72207468652063757272656e742065706f63682e2053686f756c64206e6576657220626520604e6f6e656020617320697420697320696e697469616c697a656420696e242067656e657369732e3c4e65787445706f6368436f6e666967000015080400082d012054686520636f6e66696775726174696f6e20666f7220746865206e6578742065706f63682c20604e6f6e65602069662074686520636f6e6669672077696c6c206e6f74206368616e6765e82028796f752063616e2066616c6c6261636b20746f206045706f6368436f6e6669676020696e737465616420696e20746861742063617365292e34536b697070656445706f6368730100190804002029012041206c697374206f6620746865206c6173742031303020736b69707065642065706f63687320616e642074686520636f72726573706f6e64696e672073657373696f6e20696e64657870207768656e207468652065706f63682077617320736b69707065642e0031012054686973206973206f6e6c79207573656420666f722076616c69646174696e672065717569766f636174696f6e2070726f6f66732e20416e2065717569766f636174696f6e2070726f6f663501206d75737420636f6e7461696e732061206b65792d6f776e6572736869702070726f6f6620666f72206120676976656e2073657373696f6e2c207468657265666f7265207765206e656564206139012077617920746f2074696520746f6765746865722073657373696f6e7320616e642065706f636820696e64696365732c20692e652e207765206e65656420746f2076616c69646174652074686174290120612076616c696461746f722077617320746865206f776e6572206f66206120676976656e206b6579206f6e206120676976656e2073657373696f6e2c20616e64207768617420746865b0206163746976652065706f636820696e6465782077617320647572696e6720746861742073657373696f6e2e01190300103445706f63684475726174696f6e3020b0040000000000000cec2054686520616d6f756e74206f662074696d652c20696e20736c6f74732c207468617420656163682065706f63682073686f756c64206c6173742e1901204e4f54453a2043757272656e746c79206974206973206e6f7420706f737369626c6520746f206368616e6765207468652065706f6368206475726174696f6e20616674657221012074686520636861696e2068617320737461727465642e20417474656d7074696e6720746f20646f20736f2077696c6c20627269636b20626c6f636b2070726f64756374696f6e2e444578706563746564426c6f636b54696d653020701700000000000014050120546865206578706563746564206176657261676520626c6f636b2074696d6520617420776869636820424142452073686f756c64206265206372656174696e67110120626c6f636b732e2053696e636520424142452069732070726f626162696c6973746963206974206973206e6f74207472697669616c20746f20666967757265206f75740501207768617420746865206578706563746564206176657261676520626c6f636b2074696d652073686f756c64206265206261736564206f6e2074686520736c6f740901206475726174696f6e20616e642074686520736563757269747920706172616d657465722060636020287768657265206031202d20636020726570726573656e7473a0207468652070726f626162696c697479206f66206120736c6f74206265696e6720656d707479292e384d6178417574686f7269746965731010e80300000488204d6178206e756d626572206f6620617574686f72697469657320616c6c6f776564344d61784e6f6d696e61746f727310100001000004d420546865206d6178696d756d206e756d626572206f66206e6f6d696e61746f727320666f7220656163682076616c696461746f722e011d08091c4772616e647061011c4772616e6470611c1453746174650100210804000490205374617465206f66207468652063757272656e7420617574686f72697479207365742e3450656e64696e674368616e676500002508040004c42050656e64696e67206368616e67653a20287369676e616c65642061742c207363686564756c6564206368616e6765292e284e657874466f72636564000030040004bc206e65787420626c6f636b206e756d6265722077686572652077652063616e20666f7263652061206368616e67652e1c5374616c6c6564000035030400049020607472756560206966207765206172652063757272656e746c79207374616c6c65642e3043757272656e745365744964010030200000000000000000085d0120546865206e756d626572206f66206368616e6765732028626f746820696e207465726d73206f66206b65797320616e6420756e6465726c79696e672065636f6e6f6d696320726573706f6e736962696c697469657329c420696e20746865202273657422206f66204772616e6470612076616c696461746f72732066726f6d2067656e657369732e30536574496453657373696f6e00010405301004002859012041206d617070696e672066726f6d206772616e6470612073657420494420746f2074686520696e646578206f6620746865202a6d6f737420726563656e742a2073657373696f6e20666f722077686963682069747368206d656d62657273207765726520726573706f6e7369626c652e0045012054686973206973206f6e6c79207573656420666f722076616c69646174696e672065717569766f636174696f6e2070726f6f66732e20416e2065717569766f636174696f6e2070726f6f66206d7573744d0120636f6e7461696e732061206b65792d6f776e6572736869702070726f6f6620666f72206120676976656e2073657373696f6e2c207468657265666f7265207765206e65656420612077617920746f20746965450120746f6765746865722073657373696f6e7320616e64204752414e44504120736574206964732c20692e652e207765206e65656420746f2076616c6964617465207468617420612076616c696461746f7241012077617320746865206f776e6572206f66206120676976656e206b6579206f6e206120676976656e2073657373696f6e2c20616e642077686174207468652061637469766520736574204944207761735420647572696e6720746861742073657373696f6e2e00b82054574f582d4e4f54453a2060536574496460206973206e6f7420756e646572207573657220636f6e74726f6c2e2c417574686f7269746965730100290804000484205468652063757272656e74206c697374206f6620617574686f7269746965732e013d0301a00c384d6178417574686f7269746965731010e8030000045c204d617820417574686f72697469657320696e20757365344d61784e6f6d696e61746f727310100001000004d420546865206d6178696d756d206e756d626572206f66206e6f6d696e61746f727320666f7220656163682076616c696461746f722e584d6178536574496453657373696f6e456e74726965733020000000000000000018390120546865206d6178696d756d206e756d626572206f6620656e747269657320746f206b65657020696e207468652073657420696420746f2073657373696f6e20696e646578206d617070696e672e0031012053696e6365207468652060536574496453657373696f6e60206d6170206973206f6e6c79207573656420666f722076616c69646174696e672065717569766f636174696f6e73207468697329012076616c75652073686f756c642072656c61746520746f2074686520626f6e64696e67206475726174696f6e206f66207768617465766572207374616b696e672073797374656d2069733501206265696e6720757365642028696620616e79292e2049662065717569766f636174696f6e2068616e646c696e67206973206e6f7420656e61626c6564207468656e20746869732076616c7565342063616e206265207a65726f2e012d080a1c496e6469636573011c496e646963657304204163636f756e7473000104021031080400048820546865206c6f6f6b75702066726f6d20696e64657820746f206163636f756e742e016d0301b0041c4465706f7369741840000064a7b3b6e00d000000000000000004ac20546865206465706f736974206e656564656420666f7220726573657276696e6720616e20696e6465782e0135080b2444656d6f6372616379012444656d6f6372616379303c5075626c696350726f70436f756e74010010100000000004f420546865206e756d626572206f6620287075626c6963292070726f706f73616c7320746861742068617665206265656e206d61646520736f206661722e2c5075626c696350726f707301003908040004050120546865207075626c69632070726f706f73616c732e20556e736f727465642e20546865207365636f6e64206974656d206973207468652070726f706f73616c2e244465706f7369744f660001040510450804000c842054686f73652077686f2068617665206c6f636b65642061206465706f7369742e00d82054574f582d4e4f54453a20536166652c20617320696e6372656173696e6720696e7465676572206b6579732061726520736166652e3c5265666572656e64756d436f756e74010010100000000004310120546865206e6578742066726565207265666572656e64756d20696e6465782c20616b6120746865206e756d626572206f66207265666572656e6461207374617274656420736f206661722e344c6f77657374556e62616b6564010010100000000008250120546865206c6f77657374207265666572656e64756d20696e64657820726570726573656e74696e6720616e20756e62616b6564207265666572656e64756d2e20457175616c20746fdc20605265666572656e64756d436f756e74602069662074686572652069736e2774206120756e62616b6564207265666572656e64756d2e405265666572656e64756d496e666f4f660001040510490804000cb420496e666f726d6174696f6e20636f6e6365726e696e6720616e7920676976656e207265666572656e64756d2e0009012054574f582d4e4f54453a205341464520617320696e646578657320617265206e6f7420756e64657220616e2061747461636b6572e280997320636f6e74726f6c2e20566f74696e674f6601010405005508e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105d0120416c6c20766f74657320666f72206120706172746963756c617220766f7465722e2057652073746f7265207468652062616c616e636520666f7220746865206e756d626572206f6620766f74657320746861742077655d012068617665207265636f726465642e20546865207365636f6e64206974656d2069732074686520746f74616c20616d6f756e74206f662064656c65676174696f6e732c20746861742077696c6c2062652061646465642e00e82054574f582d4e4f54453a205341464520617320604163636f756e7449646073206172652063727970746f2068617368657320616e797761792e544c6173745461626c656457617345787465726e616c0100200400085901205472756520696620746865206c617374207265666572656e64756d207461626c656420776173207375626d69747465642065787465726e616c6c792e2046616c7365206966206974207761732061207075626c6963282070726f706f73616c2e304e65787445787465726e616c00006d08040010590120546865207265666572656e64756d20746f206265207461626c6564207768656e6576657220697420776f756c642062652076616c696420746f207461626c6520616e2065787465726e616c2070726f706f73616c2e550120546869732068617070656e73207768656e2061207265666572656e64756d206e6565647320746f206265207461626c656420616e64206f6e65206f662074776f20636f6e646974696f6e7320617265206d65743aa4202d20604c6173745461626c656457617345787465726e616c60206973206066616c7365603b206f7268202d20605075626c696350726f70736020697320656d7074792e24426c61636b6c6973740001040634710804000851012041207265636f7264206f662077686f207665746f656420776861742e204d6170732070726f706f73616c206861736820746f206120706f737369626c65206578697374656e7420626c6f636b206e756d626572e82028756e74696c207768656e206974206d6179206e6f742062652072657375626d69747465642920616e642077686f207665746f65642069742e3443616e63656c6c6174696f6e730101040634200400042901205265636f7264206f6620616c6c2070726f706f73616c7320746861742068617665206265656e207375626a65637420746f20656d657267656e63792063616e63656c6c6174696f6e2e284d657461646174614f6600010402c434040018ec2047656e6572616c20696e666f726d6174696f6e20636f6e6365726e696e6720616e792070726f706f73616c206f72207265666572656e64756d2e490120546865206048617368602072656665727320746f2074686520707265696d616765206f66207468652060507265696d61676573602070726f76696465722077686963682063616e2062652061204a534f4e882064756d70206f7220495046532068617368206f662061204a534f4e2066696c652e00750120436f6e73696465722061206761726261676520636f6c6c656374696f6e20666f722061206d65746164617461206f662066696e6973686564207265666572656e64756d7320746f2060756e7265717565737460202872656d6f76652944206c6172676520707265696d616765732e01710301b4303c456e6163746d656e74506572696f643020c0a800000000000014e82054686520706572696f64206265747765656e20612070726f706f73616c206265696e6720617070726f76656420616e6420656e61637465642e0031012049742073686f756c642067656e6572616c6c792062652061206c6974746c65206d6f7265207468616e2074686520756e7374616b6520706572696f6420746f20656e737572652074686174510120766f74696e67207374616b657273206861766520616e206f70706f7274756e69747920746f2072656d6f7665207468656d73656c7665732066726f6d207468652073797374656d20696e207468652063617365b4207768657265207468657920617265206f6e20746865206c6f73696e672073696465206f66206120766f74652e304c61756e6368506572696f643020201c00000000000004e420486f77206f6674656e2028696e20626c6f636b7329206e6577207075626c6963207265666572656e646120617265206c61756e636865642e30566f74696e67506572696f643020c08901000000000004b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e44566f74654c6f636b696e67506572696f643020c0a8000000000000109020546865206d696e696d756d20706572696f64206f6620766f7465206c6f636b696e672e0065012049742073686f756c64206265206e6f2073686f72746572207468616e20656e6163746d656e7420706572696f6420746f20656e73757265207468617420696e207468652063617365206f6620616e20617070726f76616c2c49012074686f7365207375636365737366756c20766f7465727320617265206c6f636b656420696e746f2074686520636f6e73657175656e636573207468617420746865697220766f74657320656e7461696c2e384d696e696d756d4465706f73697418400000a0dec5adc935360000000000000004350120546865206d696e696d756d20616d6f756e7420746f20626520757365642061732061206465706f73697420666f722061207075626c6963207265666572656e64756d2070726f706f73616c2e38496e7374616e74416c6c6f7765642004010c550120496e64696361746f7220666f72207768657468657220616e20656d657267656e6379206f726967696e206973206576656e20616c6c6f77656420746f2068617070656e2e20536f6d6520636861696e73206d617961012077616e7420746f207365742074686973207065726d616e656e746c7920746f206066616c7365602c206f7468657273206d61792077616e7420746f20636f6e646974696f6e206974206f6e207468696e67732073756368a020617320616e207570677261646520686176696e672068617070656e656420726563656e746c792e5446617374547261636b566f74696e67506572696f643020807000000000000004ec204d696e696d756d20766f74696e6720706572696f6420616c6c6f77656420666f72206120666173742d747261636b207265666572656e64756d2e34436f6f6c6f6666506572696f643020c0a800000000000004610120506572696f6420696e20626c6f636b7320776865726520616e2065787465726e616c2070726f706f73616c206d6179206e6f742062652072652d7375626d6974746564206166746572206265696e67207665746f65642e204d6178566f74657310106400000010b020546865206d6178696d756d206e756d626572206f6620766f74657320666f7220616e206163636f756e742e00d420416c736f207573656420746f20636f6d70757465207765696768742c20616e206f7665726c79206269672076616c75652063616e1501206c65616420746f2065787472696e7369632077697468207665727920626967207765696768743a20736565206064656c65676174656020666f7220696e7374616e63652e304d617850726f706f73616c73101064000000040d0120546865206d6178696d756d206e756d626572206f66207075626c69632070726f706f73616c7320746861742063616e20657869737420617420616e792074696d652e2c4d61784465706f73697473101064000000041d0120546865206d6178696d756d206e756d626572206f66206465706f736974732061207075626c69632070726f706f73616c206d6179206861766520617420616e792074696d652e384d6178426c61636b6c697374656410106400000004d820546865206d6178696d756d206e756d626572206f66206974656d732077686963682063616e20626520626c61636b6c69737465642e0175080c1c436f756e63696c011c436f756e63696c182450726f706f73616c7301007908040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f6600010406340103040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e6700010406347d08040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e74010010100000000004482050726f706f73616c7320736f206661722e1c4d656d62657273010049020400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004610120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f662061627374656e74696f6e732e01890301c804444d617850726f706f73616c576569676874283c070010a5d4e813ffffffffffffff7f04250120546865206d6178696d756d20776569676874206f6620612064697370617463682063616c6c20746861742063616e2062652070726f706f73656420616e642065786563757465642e0181080d1c56657374696e67011c56657374696e67081c56657374696e6700010402008508040004d820496e666f726d6174696f6e20726567617264696e67207468652076657374696e67206f66206120676976656e206163636f756e742e3853746f7261676556657273696f6e01008d0804000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e003101204e6577206e6574776f726b732073746172742077697468206c61746573742076657273696f6e2c2061732064657465726d696e6564206279207468652067656e65736973206275696c642e018d0301cc08444d696e5665737465645472616e736665721840000010632d5ec76b050000000000000004e820546865206d696e696d756d20616d6f756e74207472616e7366657272656420746f2063616c6c20607665737465645f7472616e73666572602e4c4d617856657374696e675363686564756c657310101c000000000191080e24456c656374696f6e730124456c656374696f6e73141c4d656d626572730100950804000c74205468652063757272656e7420656c6563746564206d656d626572732e00b820496e76617269616e743a20416c7761797320736f72746564206261736564206f6e206163636f756e742069642e2452756e6e65727355700100950804001084205468652063757272656e742072657365727665642072756e6e6572732d75702e00590120496e76617269616e743a20416c7761797320736f72746564206261736564206f6e2072616e6b2028776f72736520746f2062657374292e2055706f6e2072656d6f76616c206f662061206d656d6265722c20746865bc206c6173742028692e652e205f626573745f292072756e6e65722d75702077696c6c206265207265706c616365642e2843616e646964617465730100d40400185901205468652070726573656e742063616e646964617465206c6973742e20412063757272656e74206d656d626572206f722072756e6e65722d75702063616e206e6576657220656e746572207468697320766563746f72d020616e6420697320616c7761797320696d706c696369746c7920617373756d656420746f20626520612063616e6469646174652e007c205365636f6e6420656c656d656e7420697320746865206465706f7369742e00b820496e76617269616e743a20416c7761797320736f72746564206261736564206f6e206163636f756e742069642e38456c656374696f6e526f756e647301001010000000000441012054686520746f74616c206e756d626572206f6620766f746520726f756e6473207468617420686176652068617070656e65642c206578636c7564696e6720746865207570636f6d696e67206f6e652e18566f74696e6701010405009d08840000000000000000000000000000000000000000000000000000000000000000000cb820566f74657320616e64206c6f636b6564207374616b65206f66206120706172746963756c617220766f7465722e00c42054574f582d4e4f54453a205341464520617320604163636f756e7449646020697320612063727970746f20686173682e01950301d0282050616c6c65744964f10220706872656c65637404d0204964656e74696669657220666f722074686520656c656374696f6e732d70687261676d656e2070616c6c65742773206c6f636b3443616e646964616379426f6e6418400000a0dec5adc935360000000000000004050120486f77206d7563682073686f756c64206265206c6f636b656420757020696e206f7264657220746f207375626d6974206f6e6527732063616e6469646163792e38566f74696e67426f6e64426173651840000088bbad82aa8b000000000000000010942042617365206465706f736974206173736f636961746564207769746820766f74696e672e00550120546869732073686f756c642062652073656e7369626c79206869676820746f2065636f6e6f6d6963616c6c7920656e73757265207468652070616c6c65742063616e6e6f742062652061747461636b656420627994206372656174696e67206120676967616e746963206e756d626572206f6620766f7465732e40566f74696e67426f6e64466163746f7218400000d098d4af710000000000000000000411012054686520616d6f756e74206f6620626f6e642074686174206e65656420746f206265206c6f636b656420666f72206561636820766f746520283332206279746573292e38446573697265644d656d626572731010050000000470204e756d626572206f66206d656d6265727320746f20656c6563742e404465736972656452756e6e65727355701010030000000478204e756d626572206f662072756e6e6572735f757020746f206b6565702e305465726d4475726174696f6e3020c0890100000000000c510120486f77206c6f6e6720656163682073656174206973206b6570742e205468697320646566696e657320746865206e65787420626c6f636b206e756d62657220617420776869636820616e20656c656374696f6e5d0120726f756e642077696c6c2068617070656e2e2049662073657420746f207a65726f2c206e6f20656c656374696f6e732061726520657665722074726967676572656420616e6420746865206d6f64756c652077696c6c5020626520696e2070617373697665206d6f64652e344d617843616e6469646174657310104000000018e420546865206d6178696d756d206e756d626572206f662063616e6469646174657320696e20612070687261676d656e20656c656374696f6e2e005d01205761726e696e673a205468697320696d7061637473207468652073697a65206f662074686520656c656374696f6e2077686963682069732072756e206f6e636861696e2e2043686f736520776973656c792c20616e64010120636f6e736964657220686f772069742077696c6c20696d706163742060543a3a576569676874496e666f3a3a656c656374696f6e5f70687261676d656e602e003101205768656e2074686973206c696d69742069732072656163686564206e6f206d6f72652063616e646964617465732061726520616363657074656420696e2074686520656c656374696f6e2e244d6178566f7465727310100002000018f820546865206d6178696d756d206e756d626572206f6620766f7465727320746f20616c6c6f7720696e20612070687261676d656e20656c656374696f6e2e005d01205761726e696e673a205468697320696d7061637473207468652073697a65206f662074686520656c656374696f6e2077686963682069732072756e206f6e636861696e2e2043686f736520776973656c792c20616e64010120636f6e736964657220686f772069742077696c6c20696d706163742060543a3a576569676874496e666f3a3a656c656374696f6e5f70687261676d656e602e00d8205768656e20746865206c696d6974206973207265616368656420746865206e657720766f74657273206172652069676e6f7265642e404d6178566f746573506572566f7465721010640000001090204d6178696d756d206e756d62657273206f6620766f7465732070657220766f7465722e005d01205761726e696e673a205468697320696d7061637473207468652073697a65206f662074686520656c656374696f6e2077686963682069732072756e206f6e636861696e2e2043686f736520776973656c792c20616e64010120636f6e736964657220686f772069742077696c6c20696d706163742060543a3a576569676874496e666f3a3a656c656374696f6e5f70687261676d656e602e01a1080f68456c656374696f6e50726f76696465724d756c746950686173650168456c656374696f6e50726f76696465724d756c746950686173652814526f756e64010010100100000018ac20496e7465726e616c20636f756e74657220666f7220746865206e756d626572206f6620726f756e64732e00550120546869732069732075736566756c20666f722064652d6475706c69636174696f6e206f66207472616e73616374696f6e73207375626d697474656420746f2074686520706f6f6c2c20616e642067656e6572616c6c20646961676e6f7374696373206f66207468652070616c6c65742e004d012054686973206973206d6572656c7920696e6372656d656e746564206f6e6365207065722065766572792074696d65207468617420616e20757073747265616d2060656c656374602069732063616c6c65642e3043757272656e7450686173650100e80400043c2043757272656e742070686173652e38517565756564536f6c7574696f6e0000a50804000c3d012043757272656e74206265737420736f6c7574696f6e2c207369676e6564206f7220756e7369676e65642c2071756575656420746f2062652072657475726e65642075706f6e2060656c656374602e006020416c7761797320736f727465642062792073636f72652e20536e617073686f740000ad080400107020536e617073686f742064617461206f662074686520726f756e642e005d01205468697320697320637265617465642061742074686520626567696e6e696e67206f6620746865207369676e656420706861736520616e6420636c65617265642075706f6e2063616c6c696e672060656c656374602e2901204e6f74653a20546869732073746f726167652074797065206d757374206f6e6c79206265206d757461746564207468726f756768205b60536e617073686f7457726170706572605d2e384465736972656454617267657473000010040010cc2044657369726564206e756d626572206f66207461726765747320746f20656c65637420666f72207468697320726f756e642e00a8204f6e6c7920657869737473207768656e205b60536e617073686f74605d2069732070726573656e742e2901204e6f74653a20546869732073746f726167652074797065206d757374206f6e6c79206265206d757461746564207468726f756768205b60536e617073686f7457726170706572605d2e40536e617073686f744d65746164617461000071040400109820546865206d65746164617461206f6620746865205b60526f756e64536e617073686f74605d00a8204f6e6c7920657869737473207768656e205b60536e617073686f74605d2069732070726573656e742e2901204e6f74653a20546869732073746f726167652074797065206d757374206f6e6c79206265206d757461746564207468726f756768205b60536e617073686f7457726170706572605d2e645369676e65645375626d697373696f6e4e657874496e646578010010100000000024010120546865206e65787420696e64657820746f2062652061737369676e656420746f20616e20696e636f6d696e67207369676e6564207375626d697373696f6e2e007501204576657279206163636570746564207375626d697373696f6e2069732061737369676e6564206120756e6971756520696e6465783b207468617420696e64657820697320626f756e6420746f207468617420706172746963756c61726501207375626d697373696f6e20666f7220746865206475726174696f6e206f662074686520656c656374696f6e2e204f6e20656c656374696f6e2066696e616c697a6174696f6e2c20746865206e65787420696e6465782069733020726573657420746f20302e0069012057652063616e2774206a7573742075736520605369676e65645375626d697373696f6e496e64696365732e6c656e2829602c206265636175736520746861742773206120626f756e646564207365743b20706173742069747359012063617061636974792c2069742077696c6c2073696d706c792073617475726174652e2057652063616e2774206a7573742069746572617465206f76657220605369676e65645375626d697373696f6e734d6170602cf4206265636175736520697465726174696f6e20697320736c6f772e20496e73746561642c2077652073746f7265207468652076616c756520686572652e5c5369676e65645375626d697373696f6e496e64696365730100bd080400186d01204120736f727465642c20626f756e64656420766563746f72206f6620602873636f72652c20626c6f636b5f6e756d6265722c20696e64657829602c20776865726520656163682060696e6465786020706f696e747320746f2061782076616c756520696e20605369676e65645375626d697373696f6e73602e007101205765206e65766572206e65656420746f2070726f63657373206d6f7265207468616e20612073696e676c65207369676e6564207375626d697373696f6e20617420612074696d652e205369676e6564207375626d697373696f6e7375012063616e206265207175697465206c617267652c20736f2077652772652077696c6c696e6720746f207061792074686520636f7374206f66206d756c7469706c6520646174616261736520616363657373657320746f206163636573732101207468656d206f6e6520617420612074696d6520696e7374656164206f662072656164696e6720616e64206465636f64696e6720616c6c206f66207468656d206174206f6e63652e505369676e65645375626d697373696f6e734d61700001040510c90804001c7420556e636865636b65642c207369676e656420736f6c7574696f6e732e00690120546f676574686572207769746820605375626d697373696f6e496e6469636573602c20746869732073746f726573206120626f756e64656420736574206f6620605369676e65645375626d697373696f6e7360207768696c65ec20616c6c6f77696e6720757320746f206b656570206f6e6c7920612073696e676c65206f6e6520696e206d656d6f727920617420612074696d652e0069012054776f78206e6f74653a20746865206b6579206f6620746865206d617020697320616e206175746f2d696e6372656d656e74696e6720696e6465782077686963682075736572732063616e6e6f7420696e7370656374206f72f4206166666563743b2077652073686f756c646e2774206e65656420612063727970746f67726170686963616c6c7920736563757265206861736865722e544d696e696d756d556e7472757374656453636f72650000e40400105d0120546865206d696e696d756d2073636f7265207468617420656163682027756e747275737465642720736f6c7574696f6e206d7573742061747461696e20696e206f7264657220746f20626520636f6e7369646572656428206665617369626c652e00b82043616e206265207365742076696120607365745f6d696e696d756d5f756e747275737465645f73636f7265602e019d0301dc38544265747465725369676e65645468726573686f6c64f81000000000084d0120546865206d696e696d756d20616d6f756e74206f6620696d70726f76656d656e7420746f2074686520736f6c7574696f6e2073636f7265207468617420646566696e6573206120736f6c7574696f6e2061737820226265747465722220696e20746865205369676e65642070686173652e384f6666636861696e5265706561743020050000000000000010b42054686520726570656174207468726573686f6c64206f6620746865206f6666636861696e20776f726b65722e00610120466f72206578616d706c652c20696620697420697320352c2074686174206d65616e732074686174206174206c65617374203520626c6f636b732077696c6c20656c61707365206265747765656e20617474656d7074738420746f207375626d69742074686520776f726b6572277320736f6c7574696f6e2e3c4d696e657254785072696f726974793020feffffffffffff7f04250120546865207072696f72697479206f662074686520756e7369676e6564207472616e73616374696f6e207375626d697474656420696e2074686520756e7369676e65642d7068617365505369676e65644d61785375626d697373696f6e7310100a0000001ce4204d6178696d756d206e756d626572206f66207369676e6564207375626d697373696f6e7320746861742063616e206265207175657565642e005501204974206973206265737420746f2061766f69642061646a757374696e67207468697320647572696e6720616e20656c656374696f6e2c20617320697420696d706163747320646f776e73747265616d2064617461650120737472756374757265732e20496e20706172746963756c61722c20605369676e65645375626d697373696f6e496e64696365733c543e6020697320626f756e646564206f6e20746869732076616c75652e20496620796f75f42075706461746520746869732076616c756520647572696e6720616e20656c656374696f6e2c20796f75205f6d7573745f20656e7375726520746861744d0120605369676e65645375626d697373696f6e496e64696365732e6c656e282960206973206c657373207468616e206f7220657175616c20746f20746865206e65772076616c75652e204f74686572776973652cf020617474656d70747320746f207375626d6974206e657720736f6c7574696f6e73206d617920636175736520612072756e74696d652070616e69632e3c5369676e65644d617857656967687428400bd8e2a18c2e011366666666666666a61494204d6178696d756d20776569676874206f662061207369676e656420736f6c7574696f6e2e005d01204966205b60436f6e6669673a3a4d696e6572436f6e666967605d206973206265696e6720696d706c656d656e74656420746f207375626d6974207369676e656420736f6c7574696f6e7320286f757473696465206f663d0120746869732070616c6c6574292c207468656e205b604d696e6572436f6e6669673a3a736f6c7574696f6e5f776569676874605d206973207573656420746f20636f6d7061726520616761696e73743020746869732076616c75652e405369676e65644d6178526566756e647310100300000004190120546865206d6178696d756d20616d6f756e74206f6620756e636865636b656420736f6c7574696f6e7320746f20726566756e64207468652063616c6c2066656520666f722e405369676e6564526577617264426173651840000064a7b3b6e00d0000000000000000048820426173652072657761726420666f722061207369676e656420736f6c7574696f6e445369676e65644465706f73697442797465184000008a5d78456301000000000000000004a0205065722d62797465206465706f73697420666f722061207369676e656420736f6c7574696f6e2e4c5369676e65644465706f73697457656967687418400000000000000000000000000000000004a8205065722d776569676874206465706f73697420666f722061207369676e656420736f6c7574696f6e2e284d617857696e6e6572731010e803000010350120546865206d6178696d756d206e756d626572206f662077696e6e65727320746861742063616e20626520656c656374656420627920746869732060456c656374696f6e50726f7669646572604020696d706c656d656e746174696f6e2e005101204e6f74653a2054686973206d75737420616c776179732062652067726561746572206f7220657175616c20746f2060543a3a4461746150726f76696465723a3a646573697265645f746172676574732829602e384d696e65724d61784c656e67746810100000360000384d696e65724d617857656967687428400bd8e2a18c2e011366666666666666a600544d696e65724d6178566f746573506572566f746572101010000000003c4d696e65724d617857696e6e6572731010e80300000001cd08101c5374616b696e67011c5374616b696e67ac3856616c696461746f72436f756e740100101000000000049c2054686520696465616c206e756d626572206f66206163746976652076616c696461746f72732e544d696e696d756d56616c696461746f72436f756e740100101000000000044101204d696e696d756d206e756d626572206f66207374616b696e67207061727469636970616e7473206265666f726520656d657267656e637920636f6e646974696f6e732061726520696d706f7365642e34496e76756c6e657261626c65730100490204000c590120416e792076616c696461746f72732074686174206d6179206e6576657220626520736c6173686564206f7220666f726369626c79206b69636b65642e20497427732061205665632073696e636520746865792772654d01206561737920746f20696e697469616c697a6520616e642074686520706572666f726d616e636520686974206973206d696e696d616c2028776520657870656374206e6f206d6f7265207468616e20666f7572ac20696e76756c6e657261626c65732920616e64207265737472696374656420746f20746573746e6574732e18426f6e64656400010405000004000c0101204d61702066726f6d20616c6c206c6f636b65642022737461736822206163636f756e747320746f2074686520636f6e74726f6c6c6572206163636f756e742e00d02054574f582d4e4f54453a20534146452073696e636520604163636f756e7449646020697320612073656375726520686173682e404d696e4e6f6d696e61746f72426f6e64010018400000000000000000000000000000000004210120546865206d696e696d756d2061637469766520626f6e6420746f206265636f6d6520616e64206d61696e7461696e2074686520726f6c65206f662061206e6f6d696e61746f722e404d696e56616c696461746f72426f6e64010018400000000000000000000000000000000004210120546865206d696e696d756d2061637469766520626f6e6420746f206265636f6d6520616e64206d61696e7461696e2074686520726f6c65206f6620612076616c696461746f722e484d696e696d756d4163746976655374616b65010018400000000000000000000000000000000004110120546865206d696e696d756d20616374697665206e6f6d696e61746f72207374616b65206f6620746865206c617374207375636365737366756c20656c656374696f6e2e344d696e436f6d6d697373696f6e0100f810000000000ce820546865206d696e696d756d20616d6f756e74206f6620636f6d6d697373696f6e20746861742076616c696461746f72732063616e207365742e00802049662073657420746f206030602c206e6f206c696d6974206578697374732e184c65646765720001040200d1080400104501204d61702066726f6d20616c6c2028756e6c6f636b6564292022636f6e74726f6c6c657222206163636f756e747320746f2074686520696e666f20726567617264696e6720746865207374616b696e672e007501204e6f74653a20416c6c2074686520726561647320616e64206d75746174696f6e7320746f20746869732073746f72616765202a4d5553542a20626520646f6e65207468726f75676820746865206d6574686f6473206578706f736564e8206279205b605374616b696e674c6564676572605d20746f20656e73757265206461746120616e64206c6f636b20636f6e73697374656e63792e1450617965650001040500f404000ce42057686572652074686520726577617264207061796d656e742073686f756c64206265206d6164652e204b657965642062792073746173682e00d02054574f582d4e4f54453a20534146452073696e636520604163636f756e7449646020697320612073656375726520686173682e2856616c696461746f72730101040500fc0800000c450120546865206d61702066726f6d202877616e6e616265292076616c696461746f72207374617368206b657920746f2074686520707265666572656e636573206f6620746861742076616c696461746f722e00d02054574f582d4e4f54453a20534146452073696e636520604163636f756e7449646020697320612073656375726520686173682e50436f756e746572466f7256616c696461746f7273010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d6170484d617856616c696461746f7273436f756e7400001004000c310120546865206d6178696d756d2076616c696461746f7220636f756e74206265666f72652077652073746f7020616c6c6f77696e67206e65772076616c696461746f727320746f206a6f696e2e00d0205768656e20746869732076616c7565206973206e6f74207365742c206e6f206c696d6974732061726520656e666f726365642e284e6f6d696e61746f72730001040500d90804004c750120546865206d61702066726f6d206e6f6d696e61746f72207374617368206b657920746f207468656972206e6f6d696e6174696f6e20707265666572656e6365732c206e616d656c79207468652076616c696461746f72732074686174582074686579207769736820746f20737570706f72742e003901204e6f7465207468617420746865206b657973206f6620746869732073746f72616765206d6170206d69676874206265636f6d65206e6f6e2d6465636f6461626c6520696e2063617365207468652d01206163636f756e742773205b604e6f6d696e6174696f6e7351756f74613a3a4d61784e6f6d696e6174696f6e73605d20636f6e66696775726174696f6e206973206465637265617365642e9020496e2074686973207261726520636173652c207468657365206e6f6d696e61746f7273650120617265207374696c6c206578697374656e7420696e2073746f726167652c207468656972206b657920697320636f727265637420616e64207265747269657661626c652028692e652e2060636f6e7461696e735f6b657960710120696e6469636174657320746861742074686579206578697374292c206275742074686569722076616c75652063616e6e6f74206265206465636f6465642e205468657265666f72652c20746865206e6f6e2d6465636f6461626c656d01206e6f6d696e61746f72732077696c6c206566666563746976656c79206e6f742d65786973742c20756e74696c20746865792072652d7375626d697420746865697220707265666572656e6365732073756368207468617420697401012069732077697468696e2074686520626f756e6473206f6620746865206e65776c79207365742060436f6e6669673a3a4d61784e6f6d696e6174696f6e73602e006101205468697320696d706c696573207468617420603a3a697465725f6b65797328292e636f756e7428296020616e6420603a3a6974657228292e636f756e74282960206d696768742072657475726e20646966666572656e746d012076616c75657320666f722074686973206d61702e204d6f72656f7665722c20746865206d61696e20603a3a636f756e7428296020697320616c69676e656420776974682074686520666f726d65722c206e616d656c79207468656c206e756d626572206f66206b65797320746861742065786973742e006d01204c6173746c792c20696620616e79206f6620746865206e6f6d696e61746f7273206265636f6d65206e6f6e2d6465636f6461626c652c20746865792063616e206265206368696c6c656420696d6d6564696174656c7920766961b8205b6043616c6c3a3a6368696c6c5f6f74686572605d20646973706174636861626c6520627920616e796f6e652e00d02054574f582d4e4f54453a20534146452073696e636520604163636f756e7449646020697320612073656375726520686173682e50436f756e746572466f724e6f6d696e61746f7273010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d6170385669727475616c5374616b657273000104050084040018c8205374616b6572732077686f73652066756e647320617265206d616e61676564206279206f746865722070616c6c6574732e00750120546869732070616c6c657420646f6573206e6f74206170706c7920616e79206c6f636b73206f6e207468656d2c207468657265666f7265207468657920617265206f6e6c79207669727475616c6c7920626f6e6465642e20546865796d012061726520657870656374656420746f206265206b65796c657373206163636f756e747320616e642068656e63652073686f756c64206e6f7420626520616c6c6f77656420746f206d7574617465207468656972206c65646765727101206469726563746c792076696120746869732070616c6c65742e20496e73746561642c207468657365206163636f756e747320617265206d616e61676564206279206f746865722070616c6c65747320616e64206163636573736564290120766961206c6f77206c6576656c20617069732e205765206b65657020747261636b206f66207468656d20746f20646f206d696e696d616c20696e7465677269747920636865636b732e60436f756e746572466f725669727475616c5374616b657273010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d6170484d61784e6f6d696e61746f7273436f756e7400001004000c310120546865206d6178696d756d206e6f6d696e61746f7220636f756e74206265666f72652077652073746f7020616c6c6f77696e67206e65772076616c696461746f727320746f206a6f696e2e00d0205768656e20746869732076616c7565206973206e6f74207365742c206e6f206c696d6974732061726520656e666f726365642e2843757272656e744572610000100400105c205468652063757272656e742065726120696e6465782e006501205468697320697320746865206c617465737420706c616e6e6564206572612c20646570656e64696e67206f6e20686f77207468652053657373696f6e2070616c6c657420717565756573207468652076616c696461746f7280207365742c206974206d6967687420626520616374697665206f72206e6f742e244163746976654572610000dd08040010d820546865206163746976652065726120696e666f726d6174696f6e2c20697420686f6c647320696e64657820616e642073746172742e0059012054686520616374697665206572612069732074686520657261206265696e672063757272656e746c792072657761726465642e2056616c696461746f7220736574206f66207468697320657261206d757374206265ac20657175616c20746f205b6053657373696f6e496e746572666163653a3a76616c696461746f7273605d2e5445726173537461727453657373696f6e496e6465780001040510100400105501205468652073657373696f6e20696e646578206174207768696368207468652065726120737461727420666f7220746865206c617374205b60436f6e6669673a3a486973746f72794465707468605d20657261732e006101204e6f74653a205468697320747261636b7320746865207374617274696e672073657373696f6e2028692e652e2073657373696f6e20696e646578207768656e20657261207374617274206265696e672061637469766529f020666f7220746865206572617320696e20605b43757272656e74457261202d20484953544f52595f44455054482c2043757272656e744572615d602e2c457261735374616b6572730101080505e1086d010c0000002078204578706f73757265206f662076616c696461746f72206174206572612e0061012054686973206973206b65796564206669727374206279207468652065726120696e64657820746f20616c6c6f772062756c6b2064656c6574696f6e20616e64207468656e20746865207374617368206163636f756e742e00cc2049732069742072656d6f766564206166746572205b60436f6e6669673a3a486973746f72794465707468605d20657261732e4101204966207374616b657273206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e20656d707479206578706f737572652069732072657475726e65642e002901204e6f74653a20446570726563617465642073696e6365207631342e205573652060457261496e666f6020696e737465616420746f20776f726b2077697468206578706f73757265732e4c457261735374616b6572734f766572766965770001080505e108e508040030b82053756d6d617279206f662076616c696461746f72206578706f73757265206174206120676976656e206572612e007101205468697320636f6e7461696e732074686520746f74616c207374616b6520696e20737570706f7274206f66207468652076616c696461746f7220616e64207468656972206f776e207374616b652e20496e206164646974696f6e2c75012069742063616e20616c736f206265207573656420746f2067657420746865206e756d626572206f66206e6f6d696e61746f7273206261636b696e6720746869732076616c696461746f7220616e6420746865206e756d626572206f666901206578706f73757265207061676573207468657920617265206469766964656420696e746f2e20546865207061676520636f756e742069732075736566756c20746f2064657465726d696e6520746865206e756d626572206f66ac207061676573206f6620726577617264732074686174206e6565647320746f20626520636c61696d65642e0061012054686973206973206b65796564206669727374206279207468652065726120696e64657820746f20616c6c6f772062756c6b2064656c6574696f6e20616e64207468656e20746865207374617368206163636f756e742eac2053686f756c64206f6e6c79206265206163636573736564207468726f7567682060457261496e666f602e00cc2049732069742072656d6f766564206166746572205b60436f6e6669673a3a486973746f72794465707468605d20657261732e4101204966207374616b657273206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e20656d707479206f766572766965772069732072657475726e65642e48457261735374616b657273436c69707065640101080505e1086d010c000000409820436c6970706564204578706f73757265206f662076616c696461746f72206174206572612e006501204e6f74653a205468697320697320646570726563617465642c2073686f756c64206265207573656420617320726561642d6f6e6c7920616e642077696c6c2062652072656d6f76656420696e20746865206675747572652e3101204e657720604578706f737572656073206172652073746f72656420696e2061207061676564206d616e6e657220696e2060457261735374616b65727350616765646020696e73746561642e00590120546869732069732073696d696c617220746f205b60457261735374616b657273605d20627574206e756d626572206f66206e6f6d696e61746f7273206578706f736564206973207265647563656420746f20746865a82060543a3a4d61784578706f737572655061676553697a65602062696767657374207374616b6572732e1d0120284e6f74653a20746865206669656c642060746f74616c6020616e6420606f776e60206f6620746865206578706f737572652072656d61696e7320756e6368616e676564292ef42054686973206973207573656420746f206c696d69742074686520692f6f20636f737420666f7220746865206e6f6d696e61746f72207061796f75742e005d012054686973206973206b657965642066697374206279207468652065726120696e64657820746f20616c6c6f772062756c6b2064656c6574696f6e20616e64207468656e20746865207374617368206163636f756e742e00cc2049742069732072656d6f766564206166746572205b60436f6e6669673a3a486973746f72794465707468605d20657261732e4101204966207374616b657273206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e20656d707479206578706f737572652069732072657475726e65642e002901204e6f74653a20446570726563617465642073696e6365207631342e205573652060457261496e666f6020696e737465616420746f20776f726b2077697468206578706f73757265732e40457261735374616b657273506167656400010c050505e908ed08040018c020506167696e61746564206578706f73757265206f6620612076616c696461746f7220617420676976656e206572612e0071012054686973206973206b65796564206669727374206279207468652065726120696e64657820746f20616c6c6f772062756c6b2064656c6574696f6e2c207468656e207374617368206163636f756e7420616e642066696e616c6c79d42074686520706167652e2053686f756c64206f6e6c79206265206163636573736564207468726f7567682060457261496e666f602e00d4205468697320697320636c6561726564206166746572205b60436f6e6669673a3a486973746f72794465707468605d20657261732e38436c61696d6564526577617264730101080505e1088d04040018dc20486973746f7279206f6620636c61696d656420706167656420726577617264732062792065726120616e642076616c696461746f722e0069012054686973206973206b657965642062792065726120616e642076616c696461746f72207374617368207768696368206d61707320746f2074686520736574206f66207061676520696e6465786573207768696368206861766538206265656e20636c61696d65642e00cc2049742069732072656d6f766564206166746572205b60436f6e6669673a3a486973746f72794465707468605d20657261732e484572617356616c696461746f7250726566730101080505e108fc0800001411012053696d696c617220746f2060457261735374616b657273602c207468697320686f6c64732074686520707265666572656e636573206f662076616c696461746f72732e0061012054686973206973206b65796564206669727374206279207468652065726120696e64657820746f20616c6c6f772062756c6b2064656c6574696f6e20616e64207468656e20746865207374617368206163636f756e742e00cc2049732069742072656d6f766564206166746572205b60436f6e6669673a3a486973746f72794465707468605d20657261732e4c4572617356616c696461746f7252657761726400010405101804000c2d012054686520746f74616c2076616c696461746f7220657261207061796f757420666f7220746865206c617374205b60436f6e6669673a3a486973746f72794465707468605d20657261732e0021012045726173207468617420686176656e27742066696e697368656420796574206f7220686173206265656e2072656d6f76656420646f65736e27742068617665207265776172642e4045726173526577617264506f696e74730101040510f10814000000000008d0205265776172647320666f7220746865206c617374205b60436f6e6669673a3a486973746f72794465707468605d20657261732e250120496620726577617264206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e2030207265776172642069732072657475726e65642e3845726173546f74616c5374616b6501010405101840000000000000000000000000000000000811012054686520746f74616c20616d6f756e74207374616b656420666f7220746865206c617374205b60436f6e6669673a3a486973746f72794465707468605d20657261732e1d0120496620746f74616c206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e2030207374616b652069732072657475726e65642e20466f7263654572610100050104000454204d6f6465206f662065726120666f7263696e672e404d61785374616b6564526577617264730000550204000c1901204d6178696d756d207374616b656420726577617264732c20692e652e207468652070657263656e74616765206f66207468652065726120696e666c6174696f6e20746861746c206973207573656420666f72207374616b6520726577617264732eac20536565205b457261207061796f75745d282e2f696e6465782e68746d6c236572612d7061796f7574292e4c536c6173685265776172644672616374696f6e0100f810000000000cf8205468652070657263656e74616765206f662074686520736c617368207468617420697320646973747269627574656420746f207265706f72746572732e00e4205468652072657374206f662074686520736c61736865642076616c75652069732068616e646c6564206279207468652060536c617368602e4c43616e63656c6564536c6173685061796f757401001840000000000000000000000000000000000815012054686520616d6f756e74206f662063757272656e637920676976656e20746f207265706f7274657273206f66206120736c617368206576656e7420776869636820776173ec2063616e63656c65642062792065787472616f7264696e6172792063697263756d7374616e6365732028652e672e20676f7665726e616e6365292e40556e6170706c696564536c617368657301010405100109040004c420416c6c20756e6170706c69656420736c61736865732074686174206172652071756575656420666f72206c617465722e28426f6e646564457261730100090904001025012041206d617070696e672066726f6d207374696c6c2d626f6e646564206572617320746f207468652066697273742073657373696f6e20696e646578206f662074686174206572612e00c8204d75737420636f6e7461696e7320696e666f726d6174696f6e20666f72206572617320666f72207468652072616e67653abc20605b6163746976655f657261202d20626f756e64696e675f6475726174696f6e3b206163746976655f6572615d604c56616c696461746f72536c617368496e4572610001080505e1081109040008450120416c6c20736c617368696e67206576656e7473206f6e2076616c696461746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682070726f706f7274696f6e7020616e6420736c6173682076616c7565206f6620746865206572612e4c4e6f6d696e61746f72536c617368496e4572610001080505e10818040004610120416c6c20736c617368696e67206576656e7473206f6e206e6f6d696e61746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682076616c7565206f6620746865206572612e34536c617368696e675370616e73000104050015090400048c20536c617368696e67207370616e7320666f72207374617368206163636f756e74732e245370616e536c61736801010405fd081909800000000000000000000000000000000000000000000000000000000000000000083d01205265636f72647320696e666f726d6174696f6e2061626f757420746865206d6178696d756d20736c617368206f6620612073746173682077697468696e206120736c617368696e67207370616e2cb82061732077656c6c20617320686f77206d7563682072657761726420686173206265656e2070616964206f75742e5443757272656e74506c616e6e656453657373696f6e01001010000000000ce820546865206c61737420706c616e6e65642073657373696f6e207363686564756c6564206279207468652073657373696f6e2070616c6c65742e0071012054686973206973206261736963616c6c7920696e2073796e632077697468207468652063616c6c20746f205b6070616c6c65745f73657373696f6e3a3a53657373696f6e4d616e616765723a3a6e65775f73657373696f6e605d2e4844697361626c656456616c696461746f727301008d0404001c750120496e6469636573206f662076616c696461746f727320746861742068617665206f6666656e64656420696e2074686520616374697665206572612e20546865206f6666656e64657273206172652064697361626c656420666f72206169012077686f6c65206572612e20466f72207468697320726561736f6e207468657920617265206b6570742068657265202d206f6e6c79207374616b696e672070616c6c6574206b6e6f77732061626f757420657261732e20546865550120696d706c656d656e746f72206f66205b6044697361626c696e675374726174656779605d20646566696e657320696620612076616c696461746f722073686f756c642062652064697361626c65642077686963686d0120696d706c696369746c79206d65616e7320746861742074686520696d706c656d656e746f7220616c736f20636f6e74726f6c7320746865206d6178206e756d626572206f662064697361626c65642076616c696461746f72732e006d01205468652076656320697320616c77617973206b65707420736f7274656420736f20746861742077652063616e2066696e642077686574686572206120676976656e2076616c696461746f72206861732070726576696f75736c7978206f6666656e646564207573696e672062696e617279207365617263682e384368696c6c5468726573686f6c640000550204000c510120546865207468726573686f6c6420666f72207768656e2075736572732063616e2073746172742063616c6c696e6720606368696c6c5f6f746865726020666f72206f746865722076616c696461746f7273202f5901206e6f6d696e61746f72732e20546865207468726573686f6c6420697320636f6d706172656420746f207468652061637475616c206e756d626572206f662076616c696461746f7273202f206e6f6d696e61746f72732901202860436f756e74466f722a602920696e207468652073797374656d20636f6d706172656420746f2074686520636f6e66696775726564206d61782028604d61782a436f756e7460292e01850401f01830486973746f72794465707468101050000000508c204e756d626572206f66206572617320746f206b65657020696e20686973746f72792e00e820466f6c6c6f77696e6720696e666f726d6174696f6e206973206b65707420666f72206572617320696e20605b63757272656e745f657261202d090120486973746f727944657074682c2063757272656e745f6572615d603a2060457261735374616b657273602c2060457261735374616b657273436c6970706564602c050120604572617356616c696461746f725072656673602c20604572617356616c696461746f72526577617264602c206045726173526577617264506f696e7473602c4501206045726173546f74616c5374616b65602c206045726173537461727453657373696f6e496e646578602c2060436c61696d656452657761726473602c2060457261735374616b6572735061676564602c5c2060457261735374616b6572734f76657276696577602e00e4204d757374206265206d6f7265207468616e20746865206e756d626572206f6620657261732064656c617965642062792073657373696f6e2ef820492e652e2061637469766520657261206d75737420616c7761797320626520696e20686973746f72792e20492e652e20606163746976655f657261203ec42063757272656e745f657261202d20686973746f72795f646570746860206d7573742062652067756172616e746565642e001101204966206d6967726174696e6720616e206578697374696e672070616c6c65742066726f6d2073746f726167652076616c756520746f20636f6e6669672076616c75652cec20746869732073686f756c642062652073657420746f2073616d652076616c7565206f72206772656174657220617320696e2073746f726167652e001501204e6f74653a2060486973746f727944657074686020697320757365642061732074686520757070657220626f756e6420666f72207468652060426f756e646564566563602d01206974656d20605374616b696e674c65646765722e6c65676163795f636c61696d65645f72657761726473602e2053657474696e6720746869732076616c7565206c6f776572207468616ed820746865206578697374696e672076616c75652063616e206c65616420746f20696e636f6e73697374656e6369657320696e20746865150120605374616b696e674c65646765726020616e642077696c6c206e65656420746f2062652068616e646c65642070726f7065726c7920696e2061206d6967726174696f6e2ef020546865207465737420607265647563696e675f686973746f72795f64657074685f616272757074602073686f77732074686973206566666563742e3853657373696f6e735065724572611010030000000470204e756d626572206f662073657373696f6e7320706572206572612e3c426f6e64696e674475726174696f6e10100e00000004e4204e756d626572206f6620657261732074686174207374616b65642066756e6473206d7573742072656d61696e20626f6e64656420666f722e48536c61736844656665724475726174696f6e10100a000000100101204e756d626572206f662065726173207468617420736c6173686573206172652064656665727265642062792c20616674657220636f6d7075746174696f6e2e000d0120546869732073686f756c64206265206c657373207468616e2074686520626f6e64696e67206475726174696f6e2e2053657420746f203020696620736c617368657315012073686f756c64206265206170706c69656420696d6d6564696174656c792c20776974686f7574206f70706f7274756e69747920666f7220696e74657276656e74696f6e2e4c4d61784578706f737572655061676553697a651010400000002cb020546865206d6178696d756d2073697a65206f6620656163682060543a3a4578706f7375726550616765602e00290120416e20604578706f737572655061676560206973207765616b6c7920626f756e64656420746f2061206d6178696d756d206f6620604d61784578706f737572655061676553697a656030206e6f6d696e61746f72732e00210120466f72206f6c646572206e6f6e2d7061676564206578706f737572652c206120726577617264207061796f757420776173207265737472696374656420746f2074686520746f70210120604d61784578706f737572655061676553697a6560206e6f6d696e61746f72732e205468697320697320746f206c696d69742074686520692f6f20636f737420666f722074686548206e6f6d696e61746f72207061796f75742e005901204e6f74653a20604d61784578706f737572655061676553697a6560206973207573656420746f20626f756e642060436c61696d6564526577617264736020616e6420697320756e7361666520746f207265647563659020776974686f75742068616e646c696e6720697420696e2061206d6967726174696f6e2e484d6178556e6c6f636b696e674368756e6b7310102000000028050120546865206d6178696d756d206e756d626572206f662060756e6c6f636b696e6760206368756e6b732061205b605374616b696e674c6564676572605d2063616e090120686176652e204566666563746976656c792064657465726d696e657320686f77206d616e7920756e6971756520657261732061207374616b6572206d61792062653820756e626f6e64696e6720696e2e00f8204e6f74653a20604d6178556e6c6f636b696e674368756e6b736020697320757365642061732074686520757070657220626f756e6420666f722074686501012060426f756e64656456656360206974656d20605374616b696e674c65646765722e756e6c6f636b696e67602e2053657474696e6720746869732076616c75650501206c6f776572207468616e20746865206578697374696e672076616c75652063616e206c65616420746f20696e636f6e73697374656e6369657320696e20746865090120605374616b696e674c65646765726020616e642077696c6c206e65656420746f2062652068616e646c65642070726f7065726c7920696e20612072756e74696d650501206d6967726174696f6e2e20546865207465737420607265647563696e675f6d61785f756e6c6f636b696e675f6368756e6b735f616272757074602073686f7773342074686973206566666563742e011d09111c53657373696f6e011c53657373696f6e1c2856616c696461746f7273010049020400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e646578010010100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e676564010020040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b657973010021090400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f727301008d040400148020496e6469636573206f662064697361626c65642076616c696461746f72732e003d01205468652076656320697320616c77617973206b65707420736f7274656420736f20746861742077652063616e2066696e642077686574686572206120676976656e2076616c696461746f722069733d012064697361626c6564207573696e672062696e617279207365617263682e204974206765747320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e73642061206e657720736574206f66206964656e7469746965732e204e6578744b6579730001040500bd040400049c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e204b65794f776e657200010405290900040004090120546865206f776e6572206f662061206b65792e20546865206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e01b904010901000131091228486973746f726963616c0128486973746f726963616c0848486973746f726963616c53657373696f6e73000104051035090400045d01204d617070696e672066726f6d20686973746f726963616c2073657373696f6e20696e646963657320746f2073657373696f6e2d6461746120726f6f74206861736820616e642076616c696461746f7220636f756e742e2c53746f72656452616e676500000d09040004e4205468652072616e6765206f6620686973746f726963616c2073657373696f6e732077652073746f72652e205b66697273742c206c61737429000000001320547265617375727901205472656173757279183450726f706f73616c436f756e74010010100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c73000104051039090400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e2c4465616374697661746564010018400000000000000000000000000000000004f02054686520616d6f756e7420776869636820686173206265656e207265706f7274656420617320696e61637469766520746f2043757272656e63792e24417070726f76616c7301003d09040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e285370656e64436f756e74010010100000000004a42054686520636f756e74206f66207370656e647320746861742068617665206265656e206d6164652e185370656e647300010405104109040004d0205370656e647320746861742068617665206265656e20617070726f76656420616e64206265696e672070726f6365737365642e01c104010d01142c5370656e64506572696f6430204038000000000000048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726ed50110000000000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e2050616c6c6574496449092070792f74727372790419012054686520747265617375727927732070616c6c65742069642c207573656420666f72206465726976696e672069747320736f7665726569676e206163636f756e742049442e304d6178417070726f76616c731010640000000c150120546865206d6178696d756d206e756d626572206f6620617070726f76616c7320746861742063616e207761697420696e20746865207370656e64696e672071756575652e004d01204e4f54453a205468697320706172616d6574657220697320616c736f20757365642077697468696e2074686520426f756e746965732050616c6c657420657874656e73696f6e20696620656e61626c65642e305061796f7574506572696f6430200a000000000000000419012054686520706572696f6420647572696e6720776869636820616e20617070726f766564207472656173757279207370656e642068617320746f20626520636c61696d65642e014d091420426f756e746965730120426f756e74696573102c426f756e7479436f756e74010010100000000004c0204e756d626572206f6620626f756e74792070726f706f73616c7320746861742068617665206265656e206d6164652e20426f756e74696573000104051051090400047820426f756e7469657320746861742068617665206265656e206d6164652e48426f756e74794465736372697074696f6e73000104051059090400048020546865206465736372697074696f6e206f66206561636820626f756e74792e3c426f756e7479417070726f76616c7301003d09040004ec20426f756e747920696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f74207965742066756e6465642e01c9040111012444426f756e74794465706f736974426173651840000064a7b3b6e00d000000000000000004e82054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120626f756e74792070726f706f73616c2e60426f756e74794465706f7369745061796f757444656c617930204038000000000000045901205468652064656c617920706572696f6420666f72207768696368206120626f756e74792062656e6566696369617279206e65656420746f2077616974206265666f726520636c61696d20746865207061796f75742e48426f756e7479557064617465506572696f6430208013030000000000046c20426f756e7479206475726174696f6e20696e20626c6f636b732e6043757261746f724465706f7369744d756c7469706c696572d5011020a10700101901205468652063757261746f72206465706f7369742069732063616c63756c6174656420617320612070657263656e74616765206f66207468652063757261746f72206665652e0039012054686973206465706f73697420686173206f7074696f6e616c20757070657220616e64206c6f77657220626f756e64732077697468206043757261746f724465706f7369744d61786020616e6454206043757261746f724465706f7369744d696e602e4443757261746f724465706f7369744d6178a5044401000010632d5ec76b0500000000000000044901204d6178696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e4443757261746f724465706f7369744d696ea5044401000064a7b3b6e00d0000000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e48426f756e747956616c75654d696e696d756d18400000f4448291634500000000000000000470204d696e696d756d2076616c756520666f72206120626f756e74792e48446174614465706f73697450657242797465184000008a5d7845630100000000000000000461012054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e2074686520746970207265706f727420726561736f6e206f7220626f756e7479206465736372697074696f6e2e4c4d6178696d756d526561736f6e4c656e67746810102c0100000c88204d6178696d756d2061636365707461626c6520726561736f6e206c656e6774682e0065012042656e63686d61726b7320646570656e64206f6e20746869732076616c75652c206265207375726520746f2075706461746520776569676874732066696c65207768656e206368616e67696e6720746869732076616c7565015d0915344368696c64426f756e7469657301344368696c64426f756e7469657314404368696c64426f756e7479436f756e7401001010000000000480204e756d626572206f6620746f74616c206368696c6420626f756e746965732e4c506172656e744368696c64426f756e74696573010104051010100000000008b0204e756d626572206f66206368696c6420626f756e746965732070657220706172656e7420626f756e74792ee0204d6170206f6620706172656e7420626f756e747920696e64657820746f206e756d626572206f66206368696c6420626f756e746965732e344368696c64426f756e7469657300010805050d09610904000494204368696c6420626f756e7469657320746861742068617665206265656e2061646465642e5c4368696c64426f756e74794465736372697074696f6e73000104051059090400049820546865206465736372697074696f6e206f662065616368206368696c642d626f756e74792e4c4368696c6472656e43757261746f72466565730101040510184000000000000000000000000000000000040101205468652063756d756c6174697665206368696c642d626f756e74792063757261746f722066656520666f72206561636820706172656e7420626f756e74792e01cd0401150108644d61784163746976654368696c64426f756e7479436f756e74101005000000041d01204d6178696d756d206e756d626572206f66206368696c6420626f756e7469657320746861742063616e20626520616464656420746f206120706172656e7420626f756e74792e5c4368696c64426f756e747956616c75654d696e696d756d1840000064a7b3b6e00d00000000000000000488204d696e696d756d2076616c756520666f722061206368696c642d626f756e74792e0169091620426167734c6973740120426167734c6973740c244c6973744e6f64657300010405006d0904000c8020412073696e676c65206e6f64652c2077697468696e20736f6d65206261672e000501204e6f6465732073746f7265206c696e6b7320666f727761726420616e64206261636b2077697468696e207468656972207265737065637469766520626167732e4c436f756e746572466f724c6973744e6f646573010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d6170204c697374426167730001040530710904000c642041206261672073746f72656420696e2073746f726167652e0019012053746f7265732061206042616760207374727563742c2077686963682073746f726573206865616420616e64207461696c20706f696e7465727320746f20697473656c662e01d10401190104344261675468726573686f6c64735d060919210300407a10f35a00006a70ccd4a96000009ef3397fbc660000a907ccd5306d00003d9a67fb0c740000a9bfa275577b0000a6fdf73217830000034f5d91538b0000132445651494000078081001629d00000302f63c45a70000392e6f7fc7b10000f59c23c6f2bc00004ae76aafd1c80000598a64846fd50000129fb243d8e200003f22e1ac18f1000033a4844c3e000100e2e51b895710010076a2c0b0732101006789b407a3330100793ed8d7f646010078131b81815b01000c1cf38a567101004437eeb68a8801009eb56d1434a10100335e9f156abb010067c3c7a545d701003218f340e1f40100de0b230d59140200699c11f5ca350200ad50a2c4565902009ae41c471e7f0200d0244e6745a70200f984ad51f2d10200ace7a7984dff0200a118325b822f0300ffa4c76dbe620300580bfd8532990300a9afce6812d30300109ad81b95100400d9caa519f551040038df488970970400bee1727949e10400cc73401fc62f0500b304f91831830500828bffb4d9db05001235383d143a0600a5b42a473a9e060036662d09ab080700f73aeab4cb790700b87e93d707f20700ffec23c0d1710800b84b0beca2f90800c9dcae7afc89090091752ba867230a0064f1cd4f76c60a003609be76c3730b0078655fdff32b0c00a407f5a5b6ef0c0052f61be7c5bf0d00da71bb70e79c0e000de9127eed870f001477987fb7811000ebee65ef328b11001269fe325ca5120033f8428b3fd113008ba57a13fa0f15001b2b60d0ba6216000d1d37d0c3ca17006c64fa5c6b4919002622c7411de01a00045bb9245c901c00233d83f6c25b1e00c8771c79064420003013fddef64a2200aa8b6e848172240082c096c4b2bc260016a3faebb72b29008296524ae1c12b00a636a865a4812e00d0e2d4509e6d31009c0a9a2796883400e4faafb27fd53700e6e64d367e573b000e4bd66de7113f0088b17db746084300b07def72603e470034de249635b84b00d48bd57b077a5000d0bd20ef5b885500b8f0467801e85a0010f88aee139e60003892925301b066009c95e4fc8e236d00b4126d10dffe730028b43e5976487b00a08a1c7a42078300b09ab083a0428b002846b2f463029400c861a42ade4e9d0050d23d4ae630a700805101a7e1b1b10038e501b2ccdbbc002016527844b9c800388924ba9055d50070ca35a4aebce200805fb1355cfbf0008035685d241f0001a0c3dcd96b361001d07862e87e50210160e852d09f7d330190662c5816cf460110274c3340575b01804be277a22971013082b92dfc5a880180d276075a01a101b0f511592b34bb014031745f580cd701802f6cee59a4f40140ff799b521814026075607d2986350260fde999a60d590200e5e71c91d07e02c0df2575cff2a602a07fd975899ad102a067009d4cf0fe0220dc29a1321f2f0320ff526b0a5562038088caa383c29803e05683fb5c9bd203401dd75d9516100400317e39a06e5104c0b071129de1960480b48c9192b1e00480e8124aad242f05c007ca7082858205007c13c45623db0540836fe869523906c0700f81466c9d0640f09c5017d00707c0e624b301e37807c0332ac78510f10780074ca1e4ca700800d5a9eb8c8bf80800a849588ed3880900804254142c220a80a25170e826c50a00e8d5fafc5e720b801df64e00792a0c80d4fe64f923ee0c006dd038ee19be0d001e90a494209b0e0010bf570e0a860f00da6a9db0b57f1000bf64afd810891100bb5b60cd17a31200f963f3aed6ce1300d5f004766a0d1500e099770202601600103d663bdfc71700de3e2d4158461900ecdbadb2d8dc1a0045c70007e38c1c00b8bde0fc11581e00ba5c2a211a402000407de46dcb462200dea55b03136e2400aaf1f3fcfcb7260014226f63b62629006492803e8fbc2b008486a6c7fc7b2e002cf05fc09b673100da63f7ed32823400f0b13fbdb5ce3700f291c41047503b00422a1a3c3c0a3f002c24212f20004300ac9342d4b6354700cc6ed7a400af4b00c4d022773e70500020017d89f57d5500f86387cef3dc5a008c4c7f7e54926000206207f284a36600cc1e05cb49166d00b42a7a70c4f07300d43a90e278397b0038f461ec53f78200a07264b9b1318b0048c9b3d464f09300007fe998bd3b9d0010058f17921ca70000dfaf7f469cb100e80c880bd6c4bc0058bdcb7ddca0c80038d18d37a03bd50030d55bf01ca1e200704ac01a0fdef0ffffffffffffffffacd020546865206c697374206f66207468726573686f6c64732073657061726174696e672074686520766172696f757320626167732e00490120496473206172652073657061726174656420696e746f20756e736f727465642062616773206163636f7264696e6720746f2074686569722073636f72652e205468697320737065636966696573207468656101207468726573686f6c64732073657061726174696e672074686520626167732e20416e20696427732062616720697320746865206c6172676573742062616720666f722077686963682074686520696427732073636f7265b8206973206c657373207468616e206f7220657175616c20746f20697473207570706572207468726573686f6c642e006501205768656e20696473206172652069746572617465642c2068696768657220626167732061726520697465726174656420636f6d706c6574656c79206265666f7265206c6f77657220626167732e2054686973206d65616e735901207468617420697465726174696f6e206973205f73656d692d736f727465645f3a20696473206f66206869676865722073636f72652074656e6420746f20636f6d65206265666f726520696473206f66206c6f7765722d012073636f72652c206275742070656572206964732077697468696e206120706172746963756c6172206261672061726520736f7274656420696e20696e73657274696f6e206f726465722e006820232045787072657373696e672074686520636f6e7374616e74004d01205468697320636f6e7374616e74206d75737420626520736f7274656420696e207374726963746c7920696e6372656173696e67206f726465722e204475706c6963617465206974656d7320617265206e6f742c207065726d69747465642e00410120546865726520697320616e20696d706c696564207570706572206c696d6974206f66206053636f72653a3a4d4158603b20746861742076616c756520646f6573206e6f74206e65656420746f2062652101207370656369666965642077697468696e20746865206261672e20466f7220616e792074776f207468726573686f6c64206c697374732c206966206f6e6520656e647320776974683101206053636f72653a3a4d4158602c20746865206f74686572206f6e6520646f6573206e6f742c20616e64207468657920617265206f746865727769736520657175616c2c207468652074776f7c206c697374732077696c6c20626568617665206964656e746963616c6c792e003820232043616c63756c6174696f6e005501204974206973207265636f6d6d656e64656420746f2067656e65726174652074686520736574206f66207468726573686f6c647320696e20612067656f6d6574726963207365726965732c2073756368207468617441012074686572652065786973747320736f6d6520636f6e7374616e7420726174696f2073756368207468617420607468726573686f6c645b6b202b20315d203d3d20287468726573686f6c645b6b5d202ad020636f6e7374616e745f726174696f292e6d6178287468726573686f6c645b6b5d202b2031296020666f7220616c6c20606b602e005901205468652068656c7065727320696e2074686520602f7574696c732f6672616d652f67656e65726174652d6261677360206d6f64756c652063616e2073696d706c69667920746869732063616c63756c6174696f6e2e002c2023204578616d706c6573005101202d20496620604261675468726573686f6c64733a3a67657428292e69735f656d7074792829602c207468656e20616c6c20696473206172652070757420696e746f207468652073616d65206261672c20616e64b0202020697465726174696f6e206973207374726963746c7920696e20696e73657274696f6e206f726465722e6101202d20496620604261675468726573686f6c64733a3a67657428292e6c656e2829203d3d203634602c20616e6420746865207468726573686f6c6473206172652064657465726d696e6564206163636f7264696e6720746f11012020207468652070726f63656475726520676976656e2061626f76652c207468656e2074686520636f6e7374616e7420726174696f20697320657175616c20746f20322e6501202d20496620604261675468726573686f6c64733a3a67657428292e6c656e2829203d3d20323030602c20616e6420746865207468726573686f6c6473206172652064657465726d696e6564206163636f7264696e6720746f59012020207468652070726f63656475726520676976656e2061626f76652c207468656e2074686520636f6e7374616e7420726174696f20697320617070726f78696d6174656c7920657175616c20746f20312e3234382e6101202d20496620746865207468726573686f6c64206c69737420626567696e7320605b312c20322c20332c202e2e2e5d602c207468656e20616e20696420776974682073636f72652030206f7220312077696c6c2066616c6cf0202020696e746f2062616720302c20616e20696420776974682073636f726520322077696c6c2066616c6c20696e746f2062616720312c206574632e00302023204d6967726174696f6e00610120496e20746865206576656e7420746861742074686973206c6973742065766572206368616e6765732c206120636f7079206f6620746865206f6c642062616773206c697374206d7573742062652072657461696e65642e5d012057697468207468617420604c6973743a3a6d696772617465602063616e2062652063616c6c65642c2077686963682077696c6c20706572666f726d2074686520617070726f707269617465206d6967726174696f6e2e017509173c4e6f6d696e6174696f6e506f6f6c73013c4e6f6d696e6174696f6e506f6f6c735440546f74616c56616c75654c6f636b65640100184000000000000000000000000000000000148c205468652073756d206f662066756e6473206163726f737320616c6c20706f6f6c732e0071012054686973206d69676874206265206c6f77657220627574206e6576657220686967686572207468616e207468652073756d206f662060746f74616c5f62616c616e636560206f6620616c6c205b60506f6f6c4d656d62657273605d590120626563617573652063616c6c696e672060706f6f6c5f77697468647261775f756e626f6e64656460206d696768742064656372656173652074686520746f74616c207374616b65206f662074686520706f6f6c277329012060626f6e6465645f6163636f756e746020776974686f75742061646a757374696e67207468652070616c6c65742d696e7465726e616c2060556e626f6e64696e67506f6f6c6027732e2c4d696e4a6f696e426f6e640100184000000000000000000000000000000000049c204d696e696d756d20616d6f756e7420746f20626f6e6420746f206a6f696e206120706f6f6c2e344d696e437265617465426f6e6401001840000000000000000000000000000000001ca0204d696e696d756d20626f6e6420726571756972656420746f20637265617465206120706f6f6c2e00650120546869732069732074686520616d6f756e74207468617420746865206465706f7369746f72206d7573742070757420617320746865697220696e697469616c207374616b6520696e2074686520706f6f6c2c20617320616e8820696e6469636174696f6e206f662022736b696e20696e207468652067616d65222e0069012054686973206973207468652076616c756520746861742077696c6c20616c7761797320657869737420696e20746865207374616b696e67206c6564676572206f662074686520706f6f6c20626f6e646564206163636f756e7480207768696c6520616c6c206f74686572206163636f756e7473206c656176652e204d6178506f6f6c730000100400086901204d6178696d756d206e756d626572206f66206e6f6d696e6174696f6e20706f6f6c7320746861742063616e2065786973742e20496620604e6f6e65602c207468656e20616e20756e626f756e646564206e756d626572206f664420706f6f6c732063616e2065786973742e384d6178506f6f6c4d656d626572730000100400084901204d6178696d756d206e756d626572206f66206d656d6265727320746861742063616e20657869737420696e207468652073797374656d2e20496620604e6f6e65602c207468656e2074686520636f756e74b8206d656d6265727320617265206e6f7420626f756e64206f6e20612073797374656d20776964652062617369732e544d6178506f6f6c4d656d62657273506572506f6f6c0000100400084101204d6178696d756d206e756d626572206f66206d656d626572732074686174206d61792062656c6f6e6720746f20706f6f6c2e20496620604e6f6e65602c207468656e2074686520636f756e74206f66a8206d656d62657273206973206e6f7420626f756e64206f6e20612070657220706f6f6c2062617369732e4c476c6f62616c4d6178436f6d6d697373696f6e0000f804000c690120546865206d6178696d756d20636f6d6d697373696f6e20746861742063616e2062652063686172676564206279206120706f6f6c2e2055736564206f6e20636f6d6d697373696f6e207061796f75747320746f20626f756e64250120706f6f6c20636f6d6d697373696f6e73207468617420617265203e2060476c6f62616c4d6178436f6d6d697373696f6e602c206e65636573736172792069662061206675747572650d012060476c6f62616c4d6178436f6d6d697373696f6e60206973206c6f776572207468616e20736f6d652063757272656e7420706f6f6c20636f6d6d697373696f6e732e2c506f6f6c4d656d6265727300010405007d0904000c4020416374697665206d656d626572732e00d02054574f582d4e4f54453a20534146452073696e636520604163636f756e7449646020697320612073656375726520686173682e54436f756e746572466f72506f6f6c4d656d62657273010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61702c426f6e646564506f6f6c7300010405109109040004682053746f7261676520666f7220626f6e64656420706f6f6c732e54436f756e746572466f72426f6e646564506f6f6c73010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61702c526577617264506f6f6c730001040510a50904000875012052657761726420706f6f6c732e2054686973206973207768657265207468657265207265776172647320666f72206561636820706f6f6c20616363756d756c6174652e205768656e2061206d656d62657273207061796f7574206973590120636c61696d65642c207468652062616c616e636520636f6d6573206f7574206f66207468652072657761726420706f6f6c2e204b657965642062792074686520626f6e64656420706f6f6c73206163636f756e742e54436f756e746572466f72526577617264506f6f6c73010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61703c537562506f6f6c7353746f726167650001040510a90904000819012047726f757073206f6620756e626f6e64696e6720706f6f6c732e20456163682067726f7570206f6620756e626f6e64696e6720706f6f6c732062656c6f6e677320746f2061290120626f6e64656420706f6f6c2c2068656e636520746865206e616d65207375622d706f6f6c732e204b657965642062792074686520626f6e64656420706f6f6c73206163636f756e742e64436f756e746572466f72537562506f6f6c7353746f72616765010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d6170204d65746164617461010104051059010400045c204d6574616461746120666f722074686520706f6f6c2e48436f756e746572466f724d65746164617461010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d6170284c617374506f6f6c4964010010100000000004d0204576657220696e6372656173696e67206e756d626572206f6620616c6c20706f6f6c73206372656174656420736f206661722e4c52657665727365506f6f6c49644c6f6f6b7570000104050010040010dc20412072657665727365206c6f6f6b75702066726f6d2074686520706f6f6c2773206163636f756e7420696420746f206974732069642e0075012054686973206973206f6e6c79207573656420666f7220736c617368696e6720616e64206f6e206175746f6d61746963207769746864726177207570646174652e20496e20616c6c206f7468657220696e7374616e6365732c20746865250120706f6f6c20696420697320757365642c20616e6420746865206163636f756e7473206172652064657465726d696e6973746963616c6c7920646572697665642066726f6d2069742e74436f756e746572466f7252657665727365506f6f6c49644c6f6f6b7570010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617040436c61696d5065726d697373696f6e730101040500ed040402040101204d61702066726f6d206120706f6f6c206d656d626572206163636f756e7420746f207468656972206f7074656420636c61696d207065726d697373696f6e2e01d504011d010c2050616c6c6574496449092070792f6e6f706c73048420546865206e6f6d696e6174696f6e20706f6f6c27732070616c6c65742069642e484d6178506f696e7473546f42616c616e636508040a301d0120546865206d6178696d756d20706f6f6c20706f696e74732d746f2d62616c616e636520726174696f207468617420616e20606f70656e6020706f6f6c2063616e20686176652e005501205468697320697320696d706f7274616e7420696e20746865206576656e7420736c617368696e672074616b657320706c61636520616e642074686520706f6f6c277320706f696e74732d746f2d62616c616e63657c20726174696f206265636f6d65732064697370726f706f7274696f6e616c2e006501204d6f72656f7665722c20746869732072656c6174657320746f207468652060526577617264436f756e7465726020747970652061732077656c6c2c206173207468652061726974686d65746963206f7065726174696f6e7355012061726520612066756e6374696f6e206f66206e756d626572206f6620706f696e74732c20616e642062792073657474696e6720746869732076616c756520746f20652e672e2031302c20796f7520656e73757265650120746861742074686520746f74616c206e756d626572206f6620706f696e747320696e207468652073797374656d20617265206174206d6f73742031302074696d65732074686520746f74616c5f69737375616e6365206f669c2074686520636861696e2c20696e20746865206162736f6c75746520776f72736520636173652e00490120466f7220612076616c7565206f662031302c20746865207468726573686f6c6420776f756c64206265206120706f6f6c20706f696e74732d746f2d62616c616e636520726174696f206f662031303a312e310120537563682061207363656e6172696f20776f756c6420616c736f20626520746865206571756976616c656e74206f662074686520706f6f6c206265696e672039302520736c61736865642e304d6178556e626f6e64696e67101008000000043d0120546865206d6178696d756d206e756d626572206f662073696d756c74616e656f757320756e626f6e64696e67206368756e6b7320746861742063616e20657869737420706572206d656d6265722e01c10918245363686564756c657201245363686564756c6572103c496e636f6d706c65746553696e6365000030040000184167656e64610101040530c9090400044d01204974656d7320746f2062652065786563757465642c20696e64657865642062792074686520626c6f636b206e756d626572207468617420746865792073686f756c64206265206578656375746564206f6e2e1c52657472696573000104023d01d909040004210120526574727920636f6e66696775726174696f6e7320666f72206974656d7320746f2062652065786563757465642c20696e6465786564206279207461736b20616464726573732e184c6f6f6b757000010405043d01040010f8204c6f6f6b75702066726f6d2061206e616d6520746f2074686520626c6f636b206e756d62657220616e6420696e646578206f6620746865207461736b2e00590120466f72207633202d3e207634207468652070726576696f75736c7920756e626f756e646564206964656e7469746965732061726520426c616b65322d3235362068617368656420746f20666f726d2074686520763430206964656e7469746965732e01f10401390108344d6178696d756d57656967687428400b00806e87740113cccccccccccccccc04290120546865206d6178696d756d207765696768742074686174206d6179206265207363686564756c65642070657220626c6f636b20666f7220616e7920646973706174636861626c65732e504d61785363686564756c6564506572426c6f636b101000020000141d0120546865206d6178696d756d206e756d626572206f66207363686564756c65642063616c6c7320696e2074686520717565756520666f7220612073696e676c6520626c6f636b2e0018204e4f54453a5101202b20446570656e64656e742070616c6c657473272062656e63686d61726b73206d696768742072657175697265206120686967686572206c696d697420666f72207468652073657474696e672e205365742061c420686967686572206c696d697420756e646572206072756e74696d652d62656e63686d61726b736020666561747572652e01dd091920507265696d6167650120507265696d6167650c24537461747573466f720001040634e1090400049020546865207265717565737420737461747573206f66206120676976656e20686173682e4052657175657374537461747573466f720001040634e9090400049020546865207265717565737420737461747573206f66206120676976656e20686173682e2c507265696d616765466f72000104063509f50904000001f9040145010001f9091a204f6666656e63657301204f6666656e636573081c5265706f7274730001040534fd09040004490120546865207072696d61727920737472756374757265207468617420686f6c647320616c6c206f6666656e6365207265636f726473206b65796564206279207265706f7274206964656e746966696572732e58436f6e63757272656e745265706f727473496e6465780101080505010ac5010400042901204120766563746f72206f66207265706f727473206f66207468652073616d65206b696e6420746861742068617070656e6564206174207468652073616d652074696d6520736c6f742e0001490100001b1c54785061757365011c54785061757365042c50617573656443616c6c7300010402550184040004b42054686520736574206f662063616c6c73207468617420617265206578706c696369746c79207061757365642e01fd0401510104284d61784e616d654c656e1010000100000c2501204d6178696d756d206c656e67746820666f722070616c6c6574206e616d6520616e642063616c6c206e616d65205343414c4520656e636f64656420737472696e67206e616d65732e00a820544f4f204c4f4e47204e414d45532057494c4c2042452054524541544544204153205041555345442e01050a1c20496d4f6e6c696e650120496d4f6e6c696e65103848656172746265617441667465720100302000000000000000002c1d012054686520626c6f636b206e756d6265722061667465722077686963682069742773206f6b20746f2073656e64206865617274626561747320696e207468652063757272656e74242073657373696f6e2e0025012041742074686520626567696e6e696e67206f6620656163682073657373696f6e20776520736574207468697320746f20612076616c756520746861742073686f756c642066616c6c350120726f7567686c7920696e20746865206d6964646c65206f66207468652073657373696f6e206475726174696f6e2e20546865206964656120697320746f206669727374207761697420666f721901207468652076616c696461746f727320746f2070726f64756365206120626c6f636b20696e207468652063757272656e742073657373696f6e2c20736f207468617420746865a820686561727462656174206c61746572206f6e2077696c6c206e6f74206265206e65636573736172792e00390120546869732076616c75652077696c6c206f6e6c79206265207573656420617320612066616c6c6261636b206966207765206661696c20746f2067657420612070726f7065722073657373696f6e2d012070726f677265737320657374696d6174652066726f6d20604e65787453657373696f6e526f746174696f6e602c2061732074686f736520657374696d617465732073686f756c642062650101206d6f7265206163637572617465207468656e207468652076616c75652077652063616c63756c61746520666f7220604865617274626561744166746572602e104b6579730100090a040004d0205468652063757272656e7420736574206f66206b6579732074686174206d61792069737375652061206865617274626561742e4852656365697665644865617274626561747300010805050d0920040004350120466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f66206053657373696f6e496e6465786020616e64206041757468496e646578602e38417574686f726564426c6f636b730101080505e10810100000000008150120466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f66206056616c696461746f7249643c543e6020746f20746865c8206e756d626572206f6620626c6f636b7320617574686f7265642062792074686520676976656e20617574686f726974792e010105015d010440556e7369676e65645072696f726974793020ffffffffffffffff10f0204120636f6e66696775726174696f6e20666f722062617365207072696f72697479206f6620756e7369676e6564207472616e73616374696f6e732e0015012054686973206973206578706f73656420736f20746861742069742063616e2062652074756e656420666f7220706172746963756c61722072756e74696d652c207768656eb4206d756c7469706c652070616c6c6574732073656e6420756e7369676e6564207472616e73616374696f6e732e01110a1d204964656e7469747901204964656e746974791c284964656e746974794f660001040500150a040010690120496e666f726d6174696f6e20746861742069732070657274696e656e7420746f206964656e746966792074686520656e7469747920626568696e6420616e206163636f756e742e204669727374206974656d20697320746865e020726567697374726174696f6e2c207365636f6e6420697320746865206163636f756e742773207072696d61727920757365726e616d652e00c02054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e1c53757065724f6600010402009d050400086101205468652073757065722d6964656e74697479206f6620616e20616c7465726e6174697665202273756222206964656e7469747920746f676574686572207769746820697473206e616d652c2077697468696e2074686174510120636f6e746578742e20496620746865206163636f756e74206973206e6f7420736f6d65206f74686572206163636f756e742773207375622d6964656e746974792c207468656e206a75737420604e6f6e65602e18537562734f6601010405002d0a44000000000000000000000000000000000014b820416c7465726e6174697665202273756222206964656e746974696573206f662074686973206163636f756e742e001d0120546865206669727374206974656d20697320746865206465706f7369742c20746865207365636f6e64206973206120766563746f72206f6620746865206163636f756e74732e00c02054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e28526567697374726172730100350a0400104d012054686520736574206f6620726567697374726172732e204e6f7420657870656374656420746f206765742076657279206269672061732063616e206f6e6c79206265206164646564207468726f7567682061a8207370656369616c206f726967696e20286c696b656c79206120636f756e63696c206d6f74696f6e292e0029012054686520696e64657820696e746f20746869732063616e206265206361737420746f2060526567697374726172496e6465786020746f2067657420612076616c69642076616c75652e4c557365726e616d65417574686f7269746965730001040500450a040004f42041206d6170206f6620746865206163636f756e74732077686f2061726520617574686f72697a656420746f206772616e7420757365726e616d65732e444163636f756e744f66557365726e616d65000104028101000400146d012052657665727365206c6f6f6b75702066726f6d2060757365726e616d656020746f2074686520604163636f756e7449646020746861742068617320726567697374657265642069742e205468652076616c75652073686f756c6465012062652061206b657920696e2074686520604964656e746974794f6660206d61702c20627574206974206d6179206e6f742069662074686520757365722068617320636c6561726564207468656972206964656e746974792e006901204d756c7469706c6520757365726e616d6573206d6179206d617020746f207468652073616d6520604163636f756e744964602c2062757420604964656e746974794f66602077696c6c206f6e6c79206d617020746f206f6e6548207072696d61727920757365726e616d652e4050656e64696e67557365726e616d65730001040281014d0a0400186d0120557365726e616d6573207468617420616e20617574686f7269747920686173206772616e7465642c20627574207468617420746865206163636f756e7420636f6e74726f6c6c657220686173206e6f7420636f6e6669726d65647101207468617420746865792077616e742069742e2055736564207072696d6172696c7920696e2063617365732077686572652074686520604163636f756e744964602063616e6e6f742070726f766964652061207369676e61747572655d012062656361757365207468657920617265206120707572652070726f78792c206d756c74697369672c206574632e20496e206f7264657220746f20636f6e6669726d2069742c20746865792073686f756c642063616c6c6c205b6043616c6c3a3a6163636570745f757365726e616d65605d2e001d01204669727374207475706c65206974656d20697320746865206163636f756e7420616e64207365636f6e642069732074686520616363657074616e636520646561646c696e652e010d05017d01203042617369634465706f736974184000008a5d78456301000000000000000004d82054686520616d6f756e742068656c64206f6e206465706f73697420666f7220612072656769737465726564206964656e746974792e2c427974654465706f736974184000008a5d784563010000000000000000041d012054686520616d6f756e742068656c64206f6e206465706f7369742070657220656e636f646564206279746520666f7220612072656769737465726564206964656e746974792e445375624163636f756e744465706f73697418400080ae2e83b0ca8a00000000000000000c65012054686520616d6f756e742068656c64206f6e206465706f73697420666f7220612072656769737465726564207375626163636f756e742e20546869732073686f756c64206163636f756e7420666f7220746865206661637465012074686174206f6e652073746f72616765206974656d27732076616c75652077696c6c20696e637265617365206279207468652073697a65206f6620616e206163636f756e742049442c20616e642074686572652077696c6c350120626520616e6f746865722074726965206974656d2077686f73652076616c7565206973207468652073697a65206f6620616e206163636f756e7420494420706c75732033322062797465732e384d61785375624163636f756e7473101064000000040d0120546865206d6178696d756d206e756d626572206f66207375622d6163636f756e747320616c6c6f77656420706572206964656e746966696564206163636f756e742e344d617852656769737472617273101014000000084d01204d6178696d756d206e756d626572206f66207265676973747261727320616c6c6f77656420696e207468652073797374656d2e204e656564656420746f20626f756e642074686520636f6d706c65786974797c206f662c20652e672e2c207570646174696e67206a756467656d656e74732e6450656e64696e67557365726e616d6545787069726174696f6e3020c08901000000000004150120546865206e756d626572206f6620626c6f636b732077697468696e207768696368206120757365726e616d65206772616e74206d7573742062652061636365707465642e3c4d61785375666669784c656e677468101007000000048020546865206d6178696d756d206c656e677468206f662061207375666669782e444d6178557365726e616d654c656e67746810102000000004610120546865206d6178696d756d206c656e677468206f66206120757365726e616d652c20696e636c7564696e67206974732073756666697820616e6420616e792073797374656d2d61646465642064656c696d69746572732e01510a1e1c5574696c6974790001ad05018501044c626174636865645f63616c6c735f6c696d69741010aa2a000004a820546865206c696d6974206f6e20746865206e756d626572206f6620626174636865642063616c6c732e01550a1f204d756c746973696701204d756c746973696704244d756c7469736967730001080502590a5d0a040004942054686520736574206f66206f70656e206d756c7469736967206f7065726174696f6e732e01c5050189010c2c4465706f7369744261736518400000242e8dc6ff8b000000000000000018590120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e672061206d756c746973696720657865637574696f6e206f7220746f842073746f726520612064697370617463682063616c6c20666f72206c617465722e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069733101206034202b2073697a656f662828426c6f636b4e756d6265722c2042616c616e63652c204163636f756e74496429296020627974657320616e642077686f7365206b65792073697a652069738020603332202b2073697a656f66284163636f756e74496429602062797465732e344465706f736974466163746f7218400000d098d4af710000000000000000000c55012054686520616d6f756e74206f662063757272656e6379206e65656465642070657220756e6974207468726573686f6c64207768656e206372656174696e672061206d756c746973696720657865637574696f6e2e00250120546869732069732068656c6420666f7220616464696e67203332206279746573206d6f726520696e746f2061207072652d6578697374696e672073746f726167652076616c75652e384d61785369676e61746f7269657310106400000004ec20546865206d6178696d756d20616d6f756e74206f66207369676e61746f7269657320616c6c6f77656420696e20746865206d756c74697369672e01610a2020457468657265756d0120457468657265756d141c50656e64696e670100650a040004d02043757272656e74206275696c64696e6720626c6f636b2773207472616e73616374696f6e7320616e642072656365697074732e3043757272656e74426c6f636b0000850a04000470205468652063757272656e7420457468657265756d20626c6f636b2e3c43757272656e7452656365697074730000990a0400047c205468652063757272656e7420457468657265756d2072656365697074732e6843757272656e745472616e73616374696f6e537461747573657300009d0a04000488205468652063757272656e74207472616e73616374696f6e2073746174757365732e24426c6f636b4861736801010405cd01348000000000000000000000000000000000000000000000000000000000000000000001cd050191010001a10a210c45564d010c45564d10304163636f756e74436f64657301010402950138040000504163636f756e74436f6465734d65746164617461000104029501a50a0400003c4163636f756e7453746f72616765730101080202a90a34800000000000000000000000000000000000000000000000000000000000000000002053756963696465640001040295018404000001f50501bd010001ad0a222845564d436861696e4964012845564d436861696e4964041c436861696e49640100302000000000000000000448205468652045564d20636861696e2049442e00000000232844796e616d6963466565012844796e616d6963466565082c4d696e47617350726963650100cd0180000000000000000000000000000000000000000000000000000000000000000000445461726765744d696e47617350726963650000cd01040000010506000000241c42617365466565011c426173654665650834426173654665655065724761730100cd018040420f00000000000000000000000000000000000000000000000000000000000028456c61737469636974790100d5011048e801000001090601c90100002544486f7466697853756666696369656e747300010d06000001b10a2618436c61696d730118436c61696d731418436c61696d7300010406dd011804000014546f74616c01001840000000000000000000000000000000000030457870697279436f6e6669670000b50a040004c82045787069727920626c6f636b20616e64206163636f756e7420746f206465706f73697420657870697265642066756e64731c56657374696e6700010406dd012d06040010782056657374696e67207363686564756c6520666f72206120636c61696d2e0d012046697273742062616c616e63652069732074686520746f74616c20616d6f756e7420746861742073686f756c642062652068656c6420666f722076657374696e672ee4205365636f6e642062616c616e636520697320686f77206d7563682073686f756c6420626520756e6c6f636b65642070657220626c6f636b2ecc2054686520626c6f636b206e756d626572206973207768656e207468652076657374696e672073686f756c642073746172742e1c5369676e696e6700010406dd013d06040004c0205468652073746174656d656e74206b696e642074686174206d757374206265207369676e65642c20696620616e792e01150601d9010418507265666978386c68436c61696d20544e547320746f20746865206163636f756e743a0001b90a271450726f7879011450726f7879081c50726f786965730101040500bd0a4400000000000000000000000000000000000845012054686520736574206f66206163636f756e742070726f786965732e204d61707320746865206163636f756e74207768696368206861732064656c65676174656420746f20746865206163636f756e7473210120776869636820617265206265696e672064656c65676174656420746f2c20746f67657468657220776974682074686520616d6f756e742068656c64206f6e206465706f7369742e34416e6e6f756e63656d656e74730101040500cd0a44000000000000000000000000000000000004ac2054686520616e6e6f756e63656d656e7473206d616465206279207468652070726f787920286b6579292e01410601e501184050726f78794465706f73697442617365184000001cb0f98ee38a000000000000000010110120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720612070726f78792e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069732501206073697a656f662842616c616e6365296020627974657320616e642077686f7365206b65792073697a65206973206073697a656f66284163636f756e74496429602062797465732e4850726f78794465706f736974466163746f7218400080963d533d7500000000000000000014bc2054686520616d6f756e74206f662063757272656e6379206e6565646564207065722070726f78792061646465642e00350120546869732069732068656c6420666f7220616464696e6720333220627974657320706c757320616e20696e7374616e6365206f66206050726f78795479706560206d6f726520696e746f20616101207072652d6578697374696e672073746f726167652076616c75652e20546875732c207768656e20636f6e6669677572696e67206050726f78794465706f736974466163746f7260206f6e652073686f756c642074616b65f420696e746f206163636f756e7420603332202b2070726f78795f747970652e656e636f646528292e6c656e282960206279746573206f6620646174612e284d617850726f7869657310102000000004f020546865206d6178696d756d20616d6f756e74206f662070726f7869657320616c6c6f77656420666f7220612073696e676c65206163636f756e742e284d617850656e64696e6710102000000004450120546865206d6178696d756d20616d6f756e74206f662074696d652d64656c6179656420616e6e6f756e63656d656e747320746861742061726520616c6c6f77656420746f2062652070656e64696e672e5c416e6e6f756e63656d656e744465706f73697442617365184000001cb0f98ee38a000000000000000010310120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720616e20616e6e6f756e63656d656e742e00490120546869732069732068656c64207768656e2061206e65772073746f72616765206974656d20686f6c64696e672061206042616c616e636560206973206372656174656420287479706963616c6c7920313620206279746573292e64416e6e6f756e63656d656e744465706f736974466163746f72184000002d7ba67aea00000000000000000010d42054686520616d6f756e74206f662063757272656e6379206e65656465642070657220616e6e6f756e63656d656e74206d6164652e00590120546869732069732068656c6420666f7220616464696e6720616e20604163636f756e744964602c2060486173686020616e642060426c6f636b4e756d6265726020287479706963616c6c79203638206279746573298c20696e746f2061207072652d6578697374696e672073746f726167652076616c75652e01dd0a2c504d756c7469417373657444656c65676174696f6e01504d756c7469417373657444656c65676174696f6e10244f70657261746f72730001040200e10a040004882053746f7261676520666f72206f70657261746f7220696e666f726d6174696f6e2e3043757272656e74526f756e640100101000000000047c2053746f7261676520666f72207468652063757272656e7420726f756e642e1c41745374616b650001080202e108090b040004050120536e617073686f74206f6620636f6c6c61746f722064656c65676174696f6e207374616b6520617420746865207374617274206f662074686520726f756e642e2844656c656761746f727300010402000d0b0400048c2053746f7261676520666f722064656c656761746f7220696e666f726d6174696f6e2e01490601f10138584d617844656c656761746f72426c75657072696e747310103200000004150120546865206d6178696d756d206e756d626572206f6620626c75657072696e747320612064656c656761746f722063616e206861766520696e204669786564206d6f64652e544d61784f70657261746f72426c75657072696e747310103200000004e820546865206d6178696d756d206e756d626572206f6620626c75657072696e747320616e206f70657261746f722063616e20737570706f72742e4c4d61785769746864726177526571756573747310100500000004f820546865206d6178696d756d206e756d626572206f6620776974686472617720726571756573747320612064656c656761746f722063616e20686176652e384d617844656c65676174696f6e7310103200000004e020546865206d6178696d756d206e756d626572206f662064656c65676174696f6e7320612064656c656761746f722063616e20686176652e484d6178556e7374616b65526571756573747310100500000004f420546865206d6178696d756d206e756d626572206f6620756e7374616b6520726571756573747320612064656c656761746f722063616e20686176652e544d696e4f70657261746f72426f6e64416d6f756e7418406400000000000000000000000000000004d820546865206d696e696d756d20616d6f756e74206f66207374616b6520726571756972656420666f7220616e206f70657261746f722e444d696e44656c6567617465416d6f756e7418400100000000000000000000000000000004d420546865206d696e696d756d20616d6f756e74206f66207374616b6520726571756972656420666f7220612064656c65676174652e30426f6e644475726174696f6e10100a00000004b020546865206475726174696f6e20666f7220776869636820746865207374616b65206973206c6f636b65642e4c4c656176654f70657261746f727344656c617910100a000000045501204e756d626572206f6620726f756e64732074686174206f70657261746f72732072656d61696e20626f6e646564206265666f726520746865206578697420726571756573742069732065786563757461626c652e544f70657261746f72426f6e644c65737344656c6179101005000000045901204e756d626572206f6620726f756e6473206f70657261746f7220726571756573747320746f2064656372656173652073656c662d7374616b65206d757374207761697420746f2062652065786563757461626c652e504c6561766544656c656761746f727344656c617910100a000000045901204e756d626572206f6620726f756e647320746861742064656c656761746f72732072656d61696e20626f6e646564206265666f726520746865206578697420726571756573742069732065786563757461626c652e5c44656c65676174696f6e426f6e644c65737344656c6179101005000000045501204e756d626572206f6620726f756e647320746861742064656c65676174696f6e20756e7374616b65207265717565737473206d7573742077616974206265666f7265206265696e672065786563757461626c652e2050616c6c65744964490920506f745374616b650464205468652070616c6c65742773206163636f756e742049442e38536c617368526563697069656e7400806d6f646c70792f747273727900000000000000000000000000000000000000000001610b2d20536572766963657301205365727669636573443c4e657874426c75657072696e74496401003020000000000000000004a820546865206e657874206672656520494420666f722061207365727669636520626c75657072696e742e504e6578745365727669636552657175657374496401003020000000000000000004a020546865206e657874206672656520494420666f722061207365727669636520726571756573742e384e657874496e7374616e6365496401003020000000000000000004a420546865206e657874206672656520494420666f722061207365727669636520496e7374616e63652e344e6578744a6f6243616c6c4964010030200000000000000000049420546865206e657874206672656520494420666f72206120736572766963652063616c6c2e5c4e657874556e6170706c696564536c617368496e646578010010100000000004a020546865206e657874206672656520494420666f72206120756e6170706c69656420736c6173682e28426c75657072696e74730001040630650b08010004bc20546865207365727669636520626c75657072696e747320616c6f6e672077697468207468656972206f776e65722e3453657276696365537461747573000108060635038408010f0805012054686520736572766963657320666f72206120706172746963756c617220626c75657072696e7420616e6420746865697220616374697665207374617475732e9420426c75657072696e74204944202d3e2053657276696365204944202d3e20616374697665244f70657261746f72730001080606690bfd0108010a08c020546865206f70657261746f727320666f722061207370656369666963207365727669636520626c75657072696e742ec420426c75657072696e74204944202d3e204f70657261746f72202d3e204f70657261746f7220507265666572656e6365733c53657276696365526571756573747300010406306d0b08010d08b420546865207365727669636520726571756573747320616c6f6e672077697468207468656972206f776e65722e782052657175657374204944202d3e2053657276696365205265717565737424496e7374616e6365730001040630890b08010f085c2054686520536572766963657320496e7374616e636573582053657276696365204944202d3e20536572766963653055736572536572766963657301010406008d0b0400085c2055736572205365727669636520496e7374616e636573782055736572204163636f756e74204944202d3e2053657276696365204944204a6f6243616c6c7300010806063503950b0801180858205468652053657276696365204a6f622043616c6c73882053657276696365204944202d3e2043616c6c204944202d3e204a6f622043616c6c284a6f62526573756c747300010806063503990b0801180874205468652053657276696365204a6f622043616c6c20526573756c7473a42053657276696365204944202d3e2043616c6c204944202d3e204a6f622043616c6c20526573756c7440556e6170706c696564536c617368657300010806060d099d0b08012c0cc420416c6c20756e6170706c69656420736c61736865732074686174206172652071756575656420666f72206c617465722e009020457261496e646578202d3e20496e646578202d3e20556e6170706c696564536c617368984d6173746572426c75657072696e74536572766963654d616e616765725265766973696f6e730100a10b04000cd420416c6c20746865204d617374657220426c75657072696e742053657276696365204d616e6167657273207265766973696f6e732e00a02057686572652074686520696e64657820697320746865207265766973696f6e206e756d6265722e404f70657261746f727350726f66696c650001040600a50b08011c005853746167696e67536572766963655061796d656e74730001040630b10b040014f420486f6c6473207468652073657276696365207061796d656e7420696e666f726d6174696f6e20666f722061207365727669636520726571756573742e3d01204f6e636520746865207365727669636520697320696e697469617465642c20746865207061796d656e74206973207472616e7366657272656420746f20746865204d42534d20616e6420746869736020696e666f726d6174696f6e2069732072656d6f7665642e0094205365727669636520526571757374204944202d3e2053657276696365205061796d656e7401610601f901604050616c6c657445766d4163636f756e7495015009df6a941ee03b1e632904e382e10862fa9cc0e308e82050616c6c65744964207573656420666f72206465726976696e6720746865204163636f756e74496420616e642045564d20616464726573732e09012054686973206163636f756e7420726563656976657320736c6173686564206173736574732075706f6e20736c617368206576656e742070726f63657373696e672e244d61784669656c647310100001000004a0204d6178696d756d206e756d626572206f66206669656c647320696e2061206a6f622063616c6c2e344d61784669656c647353697a65101000040000049c204d6178696d756d2073697a65206f662061206669656c6420696e2061206a6f622063616c6c2e444d61784d657461646174614c656e67746810100004000004a8204d6178696d756d206c656e677468206f66206d6574616461746120737472696e67206c656e6774682e444d61784a6f6273506572536572766963651010000400000490204d6178696d756d206e756d626572206f66206a6f62732070657220736572766963652e584d61784f70657261746f72735065725365727669636510100004000004a4204d6178696d756d206e756d626572206f66204f70657261746f72732070657220736572766963652e4c4d61785065726d697474656443616c6c65727310100001000004c4204d6178696d756d206e756d626572206f66207065726d69747465642063616c6c6572732070657220736572766963652e584d617853657276696365735065724f70657261746f7210100004000004a4204d6178696d756d206e756d626572206f6620736572766963657320706572206f70657261746f722e604d6178426c75657072696e74735065724f70657261746f7210100004000004ac204d6178696d756d206e756d626572206f6620626c75657072696e747320706572206f70657261746f722e484d61785365727669636573506572557365721010000400000494204d6178696d756d206e756d626572206f662073657276696365732070657220757365722e504d617842696e6172696573506572476164676574101040000000049c204d6178696d756d206e756d626572206f662062696e617269657320706572206761646765742e4c4d6178536f75726365735065724761646765741010400000000498204d6178696d756d206e756d626572206f6620736f757263657320706572206761646765742e444d61784769744f776e65724c656e677468101000040000046820476974206f776e6572206d6178696d756d206c656e6774682e404d61784769745265706f4c656e677468101000040000047c20476974207265706f7369746f7279206d6178696d756d206c656e6774682e3c4d61784769745461674c656e67746810100004000004602047697420746167206d6178696d756d206c656e6774682e4c4d617842696e6172794e616d654c656e67746810100004000004702062696e617279206e616d65206d6178696d756d206c656e6774682e444d617849706673486173684c656e67746810102e000000046820495046532068617368206d6178696d756d206c656e6774682e684d6178436f6e7461696e657252656769737472794c656e677468101000040000048c20436f6e7461696e6572207265676973747279206d6178696d756d206c656e6774682e6c4d6178436f6e7461696e6572496d6167654e616d654c656e677468101000040000049420436f6e7461696e657220696d616765206e616d65206d6178696d756d206c656e6774682e684d6178436f6e7461696e6572496d6167655461674c656e677468101000040000049020436f6e7461696e657220696d61676520746167206d6178696d756d206c656e6774682e4c4d6178417373657473506572536572766963651010400000000498204d6178696d756d206e756d626572206f66206173736574732070657220736572766963652ea04d61784d6173746572426c75657072696e74536572766963654d616e6167657256657273696f6e731010ffffffff042101204d6178696d756d206e756d626572206f662076657273696f6e73206f66204d617374657220426c75657072696e742053657276696365204d616e6167657220616c6c6f7765642e48536c61736844656665724475726174696f6e101007000000100101204e756d626572206f662065726173207468617420736c6173686573206172652064656665727265642062792c20616674657220636f6d7075746174696f6e2e000d0120546869732073686f756c64206265206c657373207468616e2074686520626f6e64696e67206475726174696f6e2e2053657420746f203020696620736c617368657315012073686f756c64206265206170706c69656420696d6d6564696174656c792c20776974686f7574206f70706f7274756e69747920666f7220696e74657276656e74696f6e2e804d696e696d756d4e61746976655365637572697479526571756972656d656e745502040a04590120546865206d696e696d756d2070657263656e74616765206f66206e617469766520746f6b656e207374616b652074686174206f70657261746f7273206d757374206578706f736520666f7220736c617368696e672e01b90b330c4c7374010c4c73744c40546f74616c56616c75654c6f636b65640100184000000000000000000000000000000000148c205468652073756d206f662066756e6473206163726f737320616c6c20706f6f6c732e0071012054686973206d69676874206265206c6f77657220627574206e6576657220686967686572207468616e207468652073756d206f662060746f74616c5f62616c616e636560206f6620616c6c205b60506f6f6c4d656d62657273605d590120626563617573652063616c6c696e672060706f6f6c5f77697468647261775f756e626f6e64656460206d696768742064656372656173652074686520746f74616c207374616b65206f662074686520706f6f6c277329012060626f6e6465645f6163636f756e746020776974686f75742061646a757374696e67207468652070616c6c65742d696e7465726e616c2060556e626f6e64696e67506f6f6c6027732e2c4d696e4a6f696e426f6e640100184000000000000000000000000000000000049c204d696e696d756d20616d6f756e7420746f20626f6e6420746f206a6f696e206120706f6f6c2e344d696e437265617465426f6e6401001840000000000000000000000000000000001ca0204d696e696d756d20626f6e6420726571756972656420746f20637265617465206120706f6f6c2e00650120546869732069732074686520616d6f756e74207468617420746865206465706f7369746f72206d7573742070757420617320746865697220696e697469616c207374616b6520696e2074686520706f6f6c2c20617320616e8820696e6469636174696f6e206f662022736b696e20696e207468652067616d65222e0069012054686973206973207468652076616c756520746861742077696c6c20616c7761797320657869737420696e20746865207374616b696e67206c6564676572206f662074686520706f6f6c20626f6e646564206163636f756e7480207768696c6520616c6c206f74686572206163636f756e7473206c656176652e204d6178506f6f6c730000100400086901204d6178696d756d206e756d626572206f66206e6f6d696e6174696f6e20706f6f6c7320746861742063616e2065786973742e20496620604e6f6e65602c207468656e20616e20756e626f756e646564206e756d626572206f664420706f6f6c732063616e2065786973742e4c476c6f62616c4d6178436f6d6d697373696f6e0000f804000c690120546865206d6178696d756d20636f6d6d697373696f6e20746861742063616e2062652063686172676564206279206120706f6f6c2e2055736564206f6e20636f6d6d697373696f6e207061796f75747320746f20626f756e64250120706f6f6c20636f6d6d697373696f6e73207468617420617265203e2060476c6f62616c4d6178436f6d6d697373696f6e602c206e65636573736172792069662061206675747572650d012060476c6f62616c4d6178436f6d6d697373696f6e60206973206c6f776572207468616e20736f6d652063757272656e7420706f6f6c20636f6d6d697373696f6e732e2c426f6e646564506f6f6c730001040510c10b040004682053746f7261676520666f7220626f6e64656420706f6f6c732e54436f756e746572466f72426f6e646564506f6f6c73010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61702c526577617264506f6f6c730001040510d50b04000875012052657761726420706f6f6c732e2054686973206973207768657265207468657265207265776172647320666f72206561636820706f6f6c20616363756d756c6174652e205768656e2061206d656d62657273207061796f7574206973590120636c61696d65642c207468652062616c616e636520636f6d6573206f757420666f207468652072657761726420706f6f6c2e204b657965642062792074686520626f6e64656420706f6f6c73206163636f756e742e54436f756e746572466f72526577617264506f6f6c73010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61703c537562506f6f6c7353746f726167650001040510d90b04000819012047726f757073206f6620756e626f6e64696e6720706f6f6c732e20456163682067726f7570206f6620756e626f6e64696e6720706f6f6c732062656c6f6e677320746f2061290120626f6e64656420706f6f6c2c2068656e636520746865206e616d65207375622d706f6f6c732e204b657965642062792074686520626f6e64656420706f6f6c73206163636f756e742e64436f756e746572466f72537562506f6f6c7353746f72616765010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d6170204d657461646174610101040510f10b0400045c204d6574616461746120666f722074686520706f6f6c2e48436f756e746572466f724d65746164617461010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d6170284c617374506f6f6c4964010010100000000004d0204576657220696e6372656173696e67206e756d626572206f6620616c6c20706f6f6c73206372656174656420736f206661722e40556e626f6e64696e674d656d626572730001040500f50b04000c4c20556e626f6e64696e67206d656d626572732e00d02054574f582d4e4f54453a20534146452073696e636520604163636f756e7449646020697320612073656375726520686173682e68436f756e746572466f72556e626f6e64696e674d656d62657273010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61704c52657665727365506f6f6c49644c6f6f6b7570000104050010040010dc20412072657665727365206c6f6f6b75702066726f6d2074686520706f6f6c2773206163636f756e7420696420746f206974732069642e0055012054686973206973206f6e6c79207573656420666f7220736c617368696e672e20496e20616c6c206f7468657220696e7374616e6365732c2074686520706f6f6c20696420697320757365642c20616e6420746865c0206163636f756e7473206172652064657465726d696e6973746963616c6c7920646572697665642066726f6d2069742e74436f756e746572466f7252657665727365506f6f6c49644c6f6f6b7570010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617040436c61696d5065726d697373696f6e730101040500090c0400040101204d61702066726f6d206120706f6f6c206d656d626572206163636f756e7420746f207468656972206f7074656420636c61696d207065726d697373696f6e2e013107017502142050616c6c6574496449092070792f746e6c7374048420546865206e6f6d696e6174696f6e20706f6f6c27732070616c6c65742069642e484d6178506f696e7473546f42616c616e636508040a301d0120546865206d6178696d756d20706f6f6c20706f696e74732d746f2d62616c616e636520726174696f207468617420616e20606f70656e6020706f6f6c2063616e20686176652e005501205468697320697320696d706f7274616e7420696e20746865206576656e7420736c617368696e672074616b657320706c61636520616e642074686520706f6f6c277320706f696e74732d746f2d62616c616e63657c20726174696f206265636f6d65732064697370726f706f7274696f6e616c2e006501204d6f72656f7665722c20746869732072656c6174657320746f207468652060526577617264436f756e7465726020747970652061732077656c6c2c206173207468652061726974686d65746963206f7065726174696f6e7355012061726520612066756e6374696f6e206f66206e756d626572206f6620706f696e74732c20616e642062792073657474696e6720746869732076616c756520746f20652e672e2031302c20796f7520656e73757265650120746861742074686520746f74616c206e756d626572206f6620706f696e747320696e207468652073797374656d20617265206174206d6f73742031302074696d65732074686520746f74616c5f69737375616e6365206f669c2074686520636861696e2c20696e20746865206162736f6c75746520776f72736520636173652e00490120466f7220612076616c7565206f662031302c20746865207468726573686f6c6420776f756c64206265206120706f6f6c20706f696e74732d746f2d62616c616e636520726174696f206f662031303a312e310120537563682061207363656e6172696f20776f756c6420616c736f20626520746865206571756976616c656e74206f662074686520706f6f6c206265696e672039302520736c61736865642e304d6178556e626f6e64696e67101020000000043d0120546865206d6178696d756d206e756d626572206f662073696d756c74616e656f757320756e626f6e64696e67206368756e6b7320746861742063616e20657869737420706572206d656d6265722e344d61784e616d654c656e677468101032000000048c20546865206d6178696d756d206c656e677468206f66206120706f6f6c206e616d652e344d617849636f6e4c656e6774681010f4010000048c20546865206d6178696d756d206c656e677468206f66206120706f6f6c2069636f6e2e010d0c341c52657761726473011c526577617264732c54546f74616c5265776172645661756c7453636f726501010402101840000000000000000000000000000000000c982053746f7265732074686520746f74616c2073636f726520666f722065616368207661756c7461012054686520646966666572656e6365206265747765656e207468697320616e6420746f74616c5f7265776172645f7661756c745f6465706f7369742069732074686174207468697320696e636c75646573206c6f636b6564ac206465706f73697473206d756c7469706c69656420627920746865206c6f636b206d756c7469706c6965725c546f74616c5265776172645661756c744465706f736974010104021018400000000000000000000000000000000004a02053746f7265732074686520746f74616c206465706f73697420666f722065616368207661756c744455736572536572766963655265776172640101080202150c18400000000000000000000000000000000004ac2053746f7265732074686520736572766963652072657761726420666f72206120676976656e20757365724455736572436c61696d65645265776172640001080202fd08190c040004ac2053746f7265732074686520736572766963652072657761726420666f72206120676976656e2075736572305265776172645661756c747300010402101d0c040004782053746f7261676520666f722074686520726577617264207661756c74735c41737365744c6f6f6b75705265776172645661756c747300010402f50110040004782053746f7261676520666f722074686520726577617264207661756c74734c526577617264436f6e66696753746f726167650001040210910204000425012053746f7261676520666f72207468652072657761726420636f6e66696775726174696f6e2c20776869636820696e636c75646573204150592c2063617020666f7220617373657473585265776172645661756c7473506f744163636f756e74000104021000040004782053746f7261676520666f722074686520726577617264207661756c747324417079426c6f636b730100302000000000000000000425012053746f7261676520666f72207468652072657761726420636f6e66696775726174696f6e2c20776869636820696e636c75646573204150592c2063617020666f72206173736574734044656361795374617274506572696f64010030200000000000000000045101204e756d626572206f6620626c6f636b73206166746572207768696368206465636179207374617274732028652e672e2c2034333230303020666f722033302064617973207769746820367320626c6f636b7329244465636179526174650100f81000000000042901205065722d626c6f636b206465636179207261746520696e20626173697320706f696e74732028312f3130303030292e20652e672e2c2031203d20302e3031252070657220626c6f636b0159070189020001210c35250c042448436865636b4e6f6e5a65726f53656e6465722d0c8440436865636b5370656356657273696f6e310c1038436865636b547856657273696f6e350c1030436865636b47656e65736973390c3438436865636b4d6f7274616c6974793d0c3428436865636b4e6f6e6365450c842c436865636b576569676874490c84604368617267655472616e73616374696f6e5061796d656e744d0c8444436865636b4d6574616461746148617368510c41015d0c","id":"1"} \ No newline at end of file +{"jsonrpc":"2.0","result":"0x6d6574610e850d000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c08306672616d655f73797374656d2c4163636f756e74496e666f08144e6f6e636501102c4163636f756e74446174610114001401146e6f6e63651001144e6f6e6365000124636f6e73756d657273100120526566436f756e7400012470726f766964657273100120526566436f756e7400012c73756666696369656e7473100120526566436f756e740001106461746114012c4163636f756e74446174610000100000050500140c3c70616c6c65745f62616c616e6365731474797065732c4163636f756e7444617461041c42616c616e63650118001001106672656518011c42616c616e6365000120726573657276656418011c42616c616e636500011866726f7a656e18011c42616c616e6365000114666c6167731c01284578747261466c61677300001800000507001c0c3c70616c6c65745f62616c616e636573147479706573284578747261466c61677300000400180110753132380000200000050000240c346672616d655f737570706f7274206469737061746368405065724469737061746368436c6173730404540128000c01186e6f726d616c2801045400012c6f7065726174696f6e616c280104540001246d616e6461746f7279280104540000280c2873705f77656967687473247765696768745f76321857656967687400000801207265665f74696d652c010c75363400012870726f6f665f73697a652c010c75363400002c000006300030000005060034083c7072696d69746976655f74797065731048323536000004000401205b75383b2033325d00003800000208003c102873705f72756e74696d651c67656e65726963186469676573741844696765737400000401106c6f677340013c5665633c4469676573744974656d3e000040000002440044102873705f72756e74696d651c67656e6572696318646967657374284469676573744974656d0001142850726552756e74696d650800480144436f6e73656e737573456e67696e654964000038011c5665633c75383e00060024436f6e73656e7375730800480144436f6e73656e737573456e67696e654964000038011c5665633c75383e000400105365616c0800480144436f6e73656e737573456e67696e654964000038011c5665633c75383e000500144f74686572040038011c5665633c75383e0000006452756e74696d65456e7669726f6e6d656e745570646174656400080000480000030400000008004c00000250005008306672616d655f73797374656d2c4576656e745265636f7264080445015404540134000c01147068617365e502011450686173650001146576656e7454010445000118746f70696373c10101185665633c543e000054085874616e676c655f746573746e65745f72756e74696d653052756e74696d654576656e740001a01853797374656d04005801706672616d655f73797374656d3a3a4576656e743c52756e74696d653e000100105375646f04007c016c70616c6c65745f7375646f3a3a4576656e743c52756e74696d653e0003001841737365747304008c01dc70616c6c65745f6173736574733a3a4576656e743c52756e74696d652c2070616c6c65745f6173736574733a3a496e7374616e6365313e0005002042616c616e636573040090017c70616c6c65745f62616c616e6365733a3a4576656e743c52756e74696d653e000600485472616e73616374696f6e5061796d656e7404009801a870616c6c65745f7472616e73616374696f6e5f7061796d656e743a3a4576656e743c52756e74696d653e0007001c4772616e64706104009c015470616c6c65745f6772616e6470613a3a4576656e74000a001c496e64696365730400ac017870616c6c65745f696e64696365733a3a4576656e743c52756e74696d653e000b002444656d6f63726163790400b0018070616c6c65745f64656d6f63726163793a3a4576656e743c52756e74696d653e000c001c436f756e63696c0400c401fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e000d001c56657374696e670400c8017870616c6c65745f76657374696e673a3a4576656e743c52756e74696d653e000e0024456c656374696f6e730400cc01a470616c6c65745f656c656374696f6e735f70687261676d656e3a3a4576656e743c52756e74696d653e000f0068456c656374696f6e50726f76696465724d756c746950686173650400d801d070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f70686173653a3a4576656e743c52756e74696d653e0010001c5374616b696e670400ec017870616c6c65745f7374616b696e673a3a4576656e743c52756e74696d653e0011001c53657373696f6e04000501015470616c6c65745f73657373696f6e3a3a4576656e7400120020547265617375727904000901017c70616c6c65745f74726561737572793a3a4576656e743c52756e74696d653e00140020426f756e7469657304000d01017c70616c6c65745f626f756e746965733a3a4576656e743c52756e74696d653e001500344368696c64426f756e7469657304001101019470616c6c65745f6368696c645f626f756e746965733a3a4576656e743c52756e74696d653e00160020426167734c69737404001501018070616c6c65745f626167735f6c6973743a3a4576656e743c52756e74696d653e0017003c4e6f6d696e6174696f6e506f6f6c7304001901019c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c733a3a4576656e743c52756e74696d653e001800245363686564756c657204003501018070616c6c65745f7363686564756c65723a3a4576656e743c52756e74696d653e00190020507265696d61676504004101017c70616c6c65745f707265696d6167653a3a4576656e743c52756e74696d653e001a00204f6666656e63657304004501015870616c6c65745f6f6666656e6365733a3a4576656e74001b001c5478506175736504004d01017c70616c6c65745f74785f70617573653a3a4576656e743c52756e74696d653e001c0020496d4f6e6c696e6504005901018070616c6c65745f696d5f6f6e6c696e653a3a4576656e743c52756e74696d653e001d00204964656e7469747904007901017c70616c6c65745f6964656e746974793a3a4576656e743c52756e74696d653e001e001c5574696c69747904008101015470616c6c65745f7574696c6974793a3a4576656e74001f00204d756c746973696704008501017c70616c6c65745f6d756c74697369673a3a4576656e743c52756e74696d653e00200020457468657265756d04008d01015870616c6c65745f657468657265756d3a3a4576656e740021000c45564d0400b901016870616c6c65745f65766d3a3a4576656e743c52756e74696d653e0022001c426173654665650400c501015870616c6c65745f626173655f6665653a3a4576656e7400250018436c61696d730400d501019470616c6c65745f61697264726f705f636c61696d733a3a4576656e743c52756e74696d653e0027001450726f78790400e101017070616c6c65745f70726f78793a3a4576656e743c52756e74696d653e002c00504d756c7469417373657444656c65676174696f6e0400ed0101b470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e3a3a4576656e743c52756e74696d653e002d002053657276696365730400f501017c70616c6c65745f73657276696365733a3a4576656e743c52756e74696d653e0033000c4c737404007102018470616c6c65745f74616e676c655f6c73743a3a4576656e743c52756e74696d653e0034001c5265776172647304008502017870616c6c65745f726577617264733a3a4576656e743c52756e74696d653e0035001049736d7004009d02016c70616c6c65745f69736d703a3a4576656e743c52756e74696d653e0037002c49736d704772616e6470610400c102017069736d705f6772616e6470613a3a4576656e743c52756e74696d653e0038002c48797065726272696467650400c902018870616c6c65745f68797065726272696467653a3a4576656e743c52756e74696d653e00390030546f6b656e476174657761790400e102019070616c6c65745f746f6b656e5f676174657761793a3a4576656e743c52756e74696d653e003a0000580c306672616d655f73797374656d1870616c6c6574144576656e7404045400011c4045787472696e7369635375636365737304013464697370617463685f696e666f5c01304469737061746368496e666f00000490416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e3c45787472696e7369634661696c656408013864697370617463685f6572726f7268013444697370617463684572726f7200013464697370617463685f696e666f5c01304469737061746368496e666f00010450416e2065787472696e736963206661696c65642e2c436f64655570646174656400020450603a636f6465602077617320757064617465642e284e65774163636f756e7404011c6163636f756e74000130543a3a4163636f756e7449640003046841206e6577206163636f756e742077617320637265617465642e344b696c6c65644163636f756e7404011c6163636f756e74000130543a3a4163636f756e74496400040458416e206163636f756e7420776173207265617065642e2052656d61726b656408011873656e646572000130543a3a4163636f756e7449640001106861736834011c543a3a48617368000504704f6e206f6e2d636861696e2072656d61726b2068617070656e65642e4455706772616465417574686f72697a6564080124636f64655f6861736834011c543a3a48617368000134636865636b5f76657273696f6e200110626f6f6c00060468416e20757067726164652077617320617574686f72697a65642e04704576656e7420666f72207468652053797374656d2070616c6c65742e5c0c346672616d655f737570706f7274206469737061746368304469737061746368496e666f00000c0118776569676874280118576569676874000114636c6173736001344469737061746368436c617373000120706179735f666565640110506179730000600c346672616d655f737570706f7274206469737061746368344469737061746368436c61737300010c184e6f726d616c0000002c4f7065726174696f6e616c000100244d616e6461746f727900020000640c346672616d655f737570706f727420646973706174636810506179730001080c596573000000084e6f0001000068082873705f72756e74696d653444697370617463684572726f72000138144f746865720000003043616e6e6f744c6f6f6b7570000100244261644f726967696e000200184d6f64756c6504006c012c4d6f64756c654572726f7200030044436f6e73756d657252656d61696e696e670004002c4e6f50726f76696465727300050040546f6f4d616e79436f6e73756d65727300060014546f6b656e0400700128546f6b656e4572726f720007002841726974686d65746963040074013c41726974686d657469634572726f72000800345472616e73616374696f6e616c04007801485472616e73616374696f6e616c4572726f7200090024457868617573746564000a0028436f7272757074696f6e000b002c556e617661696c61626c65000c0038526f6f744e6f74416c6c6f776564000d00006c082873705f72756e74696d652c4d6f64756c654572726f720000080114696e64657808010875380001146572726f7248018c5b75383b204d41585f4d4f44554c455f4552524f525f454e434f4445445f53495a455d000070082873705f72756e74696d6528546f6b656e4572726f720001284046756e6473556e617661696c61626c65000000304f6e6c7950726f76696465720001003042656c6f774d696e696d756d0002003043616e6e6f7443726561746500030030556e6b6e6f776e41737365740004001846726f7a656e0005002c556e737570706f727465640006004043616e6e6f74437265617465486f6c64000700344e6f74457870656e6461626c650008001c426c6f636b65640009000074083473705f61726974686d657469633c41726974686d657469634572726f7200010c24556e646572666c6f77000000204f766572666c6f77000100384469766973696f6e42795a65726f0002000078082873705f72756e74696d65485472616e73616374696f6e616c4572726f72000108304c696d6974526561636865640000001c4e6f4c61796572000100007c0c2c70616c6c65745f7375646f1870616c6c6574144576656e7404045400011014537564696404012c7375646f5f726573756c748001384469737061746368526573756c7404b454686520726573756c74206f66207468652063616c6c206d61646520627920746865207375646f20757365722e00047041207375646f2063616c6c206a75737420746f6f6b20706c6163652e284b65794368616e67656408010c6f6c648801504f7074696f6e3c543a3a4163636f756e7449643e04b4546865206f6c64207375646f206b657920286966206f6e65207761732070726576696f75736c7920736574292e010c6e6577000130543a3a4163636f756e7449640488546865206e6577207375646f206b657920286966206f6e652077617320736574292e010478546865207375646f206b657920686173206265656e20757064617465642e284b657952656d6f76656400020480546865206b657920776173207065726d616e656e746c792072656d6f7665642e285375646f4173446f6e6504012c7375646f5f726573756c748001384469737061746368526573756c7404b454686520726573756c74206f66207468652063616c6c206d61646520627920746865207375646f20757365722e0304c841205b7375646f5f61735d2850616c6c65743a3a7375646f5f6173292063616c6c206a75737420746f6f6b20706c6163652e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574800418526573756c740804540184044501680108084f6b040084000000000c45727204006800000100008400000400008804184f7074696f6e04045401000108104e6f6e6500000010536f6d6504000000000100008c0c3470616c6c65745f6173736574731870616c6c6574144576656e740804540004490001681c437265617465640c012061737365745f6964180128543a3a4173736574496400011c63726561746f72000130543a3a4163636f756e7449640001146f776e6572000130543a3a4163636f756e74496400000474536f6d6520617373657420636c6173732077617320637265617465642e184973737565640c012061737365745f6964180128543a3a417373657449640001146f776e6572000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500010460536f6d65206173736574732077657265206973737565642e2c5472616e7366657272656410012061737365745f6964180128543a3a4173736574496400011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500020474536f6d65206173736574732077657265207472616e736665727265642e184275726e65640c012061737365745f6964180128543a3a417373657449640001146f776e6572000130543a3a4163636f756e74496400011c62616c616e6365180128543a3a42616c616e63650003046c536f6d652061737365747320776572652064657374726f7965642e2c5465616d4368616e67656410012061737365745f6964180128543a3a41737365744964000118697373756572000130543a3a4163636f756e74496400011461646d696e000130543a3a4163636f756e74496400011c667265657a6572000130543a3a4163636f756e74496400040470546865206d616e6167656d656e74207465616d206368616e6765642e304f776e65724368616e67656408012061737365745f6964180128543a3a417373657449640001146f776e6572000130543a3a4163636f756e74496400050448546865206f776e6572206368616e6765642e1846726f7a656e08012061737365745f6964180128543a3a4173736574496400010c77686f000130543a3a4163636f756e74496400060478536f6d65206163636f756e74206077686f60207761732066726f7a656e2e1854686177656408012061737365745f6964180128543a3a4173736574496400010c77686f000130543a3a4163636f756e74496400070478536f6d65206163636f756e74206077686f6020776173207468617765642e2c417373657446726f7a656e04012061737365745f6964180128543a3a4173736574496400080484536f6d65206173736574206061737365745f696460207761732066726f7a656e2e2c417373657454686177656404012061737365745f6964180128543a3a4173736574496400090484536f6d65206173736574206061737365745f69646020776173207468617765642e444163636f756e747344657374726f7965640c012061737365745f6964180128543a3a417373657449640001486163636f756e74735f64657374726f79656410010c7533320001486163636f756e74735f72656d61696e696e6710010c753332000a04a04163636f756e747320776572652064657374726f79656420666f7220676976656e2061737365742e48417070726f76616c7344657374726f7965640c012061737365745f6964180128543a3a4173736574496400014c617070726f76616c735f64657374726f79656410010c75333200014c617070726f76616c735f72656d61696e696e6710010c753332000b04a4417070726f76616c7320776572652064657374726f79656420666f7220676976656e2061737365742e484465737472756374696f6e5374617274656404012061737365745f6964180128543a3a41737365744964000c04d0416e20617373657420636c61737320697320696e207468652070726f63657373206f66206265696e672064657374726f7965642e2444657374726f79656404012061737365745f6964180128543a3a41737365744964000d0474416e20617373657420636c617373207761732064657374726f7965642e30466f7263654372656174656408012061737365745f6964180128543a3a417373657449640001146f776e6572000130543a3a4163636f756e744964000e048c536f6d6520617373657420636c6173732077617320666f7263652d637265617465642e2c4d6574616461746153657414012061737365745f6964180128543a3a417373657449640001106e616d6538011c5665633c75383e00011873796d626f6c38011c5665633c75383e000120646563696d616c73080108753800012469735f66726f7a656e200110626f6f6c000f049c4e6577206d6574616461746120686173206265656e2073657420666f7220616e2061737365742e3c4d65746164617461436c656172656404012061737365745f6964180128543a3a417373657449640010049c4d6574616461746120686173206265656e20636c656172656420666f7220616e2061737365742e40417070726f7665645472616e7366657210012061737365745f6964180128543a3a41737365744964000118736f75726365000130543a3a4163636f756e74496400012064656c6567617465000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650011043101284164646974696f6e616c292066756e64732068617665206265656e20617070726f76656420666f72207472616e7366657220746f20612064657374696e6174696f6e206163636f756e742e44417070726f76616c43616e63656c6c65640c012061737365745f6964180128543a3a417373657449640001146f776e6572000130543a3a4163636f756e74496400012064656c6567617465000130543a3a4163636f756e744964001204f0416e20617070726f76616c20666f72206163636f756e74206064656c656761746560207761732063616e63656c6c656420627920606f776e6572602e4c5472616e73666572726564417070726f76656414012061737365745f6964180128543a3a417373657449640001146f776e6572000130543a3a4163636f756e74496400012064656c6567617465000130543a3a4163636f756e74496400012c64657374696e6174696f6e000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650013083101416e2060616d6f756e746020776173207472616e7366657272656420696e2069747320656e7469726574792066726f6d20606f776e65726020746f206064657374696e6174696f6e602062796074686520617070726f766564206064656c6567617465602e4841737365745374617475734368616e67656404012061737365745f6964180128543a3a41737365744964001404f8416e2061737365742068617320686164206974732061747472696275746573206368616e676564206279207468652060466f72636560206f726967696e2e5841737365744d696e42616c616e63654368616e67656408012061737365745f6964180128543a3a4173736574496400013c6e65775f6d696e5f62616c616e6365180128543a3a42616c616e63650015040101546865206d696e5f62616c616e6365206f6620616e20617373657420686173206265656e207570646174656420627920746865206173736574206f776e65722e1c546f75636865640c012061737365745f6964180128543a3a4173736574496400010c77686f000130543a3a4163636f756e7449640001246465706f7369746f72000130543a3a4163636f756e744964001604fc536f6d65206163636f756e74206077686f6020776173206372656174656420776974682061206465706f7369742066726f6d20606465706f7369746f72602e1c426c6f636b656408012061737365745f6964180128543a3a4173736574496400010c77686f000130543a3a4163636f756e7449640017047c536f6d65206163636f756e74206077686f602077617320626c6f636b65642e244465706f73697465640c012061737365745f6964180128543a3a4173736574496400010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365001804dc536f6d65206173736574732077657265206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e2457697468647261776e0c012061737365745f6964180128543a3a4173736574496400010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650019042101536f6d652061737365747320776572652077697468647261776e2066726f6d20746865206163636f756e742028652e672e20666f72207472616e73616374696f6e2066656573292e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574900c3c70616c6c65745f62616c616e6365731870616c6c6574144576656e740804540004490001581c456e646f77656408011c6163636f756e74000130543a3a4163636f756e744964000130667265655f62616c616e6365180128543a3a42616c616e6365000004b8416e206163636f756e74207761732063726561746564207769746820736f6d6520667265652062616c616e63652e20447573744c6f737408011c6163636f756e74000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650001083d01416e206163636f756e74207761732072656d6f7665642077686f73652062616c616e636520776173206e6f6e2d7a65726f206275742062656c6f77204578697374656e7469616c4465706f7369742c78726573756c74696e6720696e20616e206f75747269676874206c6f73732e205472616e736665720c011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650002044c5472616e73666572207375636365656465642e2842616c616e636553657408010c77686f000130543a3a4163636f756e74496400011066726565180128543a3a42616c616e636500030468412062616c616e6365207761732073657420627920726f6f742e20526573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000404e0536f6d652062616c616e63652077617320726573657276656420286d6f7665642066726f6d206672656520746f207265736572766564292e28556e726573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000504e8536f6d652062616c616e63652077617320756e726573657276656420286d6f7665642066726f6d20726573657276656420746f2066726565292e4852657365727665526570617472696174656410011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500014864657374696e6174696f6e5f7374617475739401185374617475730006084d01536f6d652062616c616e636520776173206d6f7665642066726f6d207468652072657365727665206f6620746865206669727374206163636f756e7420746f20746865207365636f6e64206163636f756e742ed846696e616c20617267756d656e7420696e64696361746573207468652064657374696e6174696f6e2062616c616e636520747970652e1c4465706f73697408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000704d8536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e20576974686472617708010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650008041d01536f6d6520616d6f756e74207761732077697468647261776e2066726f6d20746865206163636f756e742028652e672e20666f72207472616e73616374696f6e2066656573292e1c536c617368656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650009040101536f6d6520616d6f756e74207761732072656d6f7665642066726f6d20746865206163636f756e742028652e672e20666f72206d69736265686176696f72292e184d696e74656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000a049c536f6d6520616d6f756e7420776173206d696e74656420696e746f20616e206163636f756e742e184275726e656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000b049c536f6d6520616d6f756e7420776173206275726e65642066726f6d20616e206163636f756e742e2453757370656e64656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000c041501536f6d6520616d6f756e74207761732073757370656e6465642066726f6d20616e206163636f756e74202869742063616e20626520726573746f726564206c61746572292e20526573746f72656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000d04a4536f6d6520616d6f756e742077617320726573746f72656420696e746f20616e206163636f756e742e20557067726164656404010c77686f000130543a3a4163636f756e744964000e0460416e206163636f756e74207761732075706772616465642e18497373756564040118616d6f756e74180128543a3a42616c616e6365000f042d01546f74616c2069737375616e63652077617320696e637265617365642062792060616d6f756e74602c206372656174696e6720612063726564697420746f2062652062616c616e6365642e2452657363696e646564040118616d6f756e74180128543a3a42616c616e63650010042501546f74616c2069737375616e636520776173206465637265617365642062792060616d6f756e74602c206372656174696e672061206465627420746f2062652062616c616e6365642e184c6f636b656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500110460536f6d652062616c616e636520776173206c6f636b65642e20556e6c6f636b656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500120468536f6d652062616c616e63652077617320756e6c6f636b65642e1846726f7a656e08010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500130460536f6d652062616c616e6365207761732066726f7a656e2e1854686177656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500140460536f6d652062616c616e636520776173207468617765642e4c546f74616c49737375616e6365466f7263656408010c6f6c64180128543a3a42616c616e636500010c6e6577180128543a3a42616c616e6365001504ac5468652060546f74616c49737375616e6365602077617320666f72636566756c6c79206368616e6765642e047c54686520604576656e746020656e756d206f6620746869732070616c6c65749414346672616d655f737570706f72741874726169747318746f6b656e73106d6973633442616c616e6365537461747573000108104672656500000020526573657276656400010000980c6870616c6c65745f7472616e73616374696f6e5f7061796d656e741870616c6c6574144576656e74040454000104485472616e73616374696f6e466565506169640c010c77686f000130543a3a4163636f756e74496400012861637475616c5f66656518013042616c616e63654f663c543e00010c74697018013042616c616e63654f663c543e000008590141207472616e73616374696f6e20666565206061637475616c5f666565602c206f662077686963682060746970602077617320616464656420746f20746865206d696e696d756d20696e636c7573696f6e206665652c5c686173206265656e2070616964206279206077686f602e047c54686520604576656e746020656e756d206f6620746869732070616c6c65749c0c3870616c6c65745f6772616e6470611870616c6c6574144576656e7400010c384e6577417574686f726974696573040134617574686f726974795f736574a00134417574686f726974794c6973740000048c4e657720617574686f726974792073657420686173206265656e206170706c6965642e185061757365640001049843757272656e7420617574686f726974792073657420686173206265656e207061757365642e1c526573756d65640002049c43757272656e7420617574686f726974792073657420686173206265656e20726573756d65642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574a0000002a400a400000408a83000a80c5073705f636f6e73656e7375735f6772616e6470610c617070185075626c69630000040004013c656432353531393a3a5075626c69630000ac0c3870616c6c65745f696e64696365731870616c6c6574144576656e7404045400010c34496e64657841737369676e656408010c77686f000130543a3a4163636f756e744964000114696e64657810013c543a3a4163636f756e74496e6465780000047441206163636f756e7420696e646578207761732061737369676e65642e28496e6465784672656564040114696e64657810013c543a3a4163636f756e74496e646578000104bc41206163636f756e7420696e64657820686173206265656e2066726565642075702028756e61737369676e6564292e2c496e64657846726f7a656e080114696e64657810013c543a3a4163636f756e74496e64657800010c77686f000130543a3a4163636f756e744964000204e841206163636f756e7420696e64657820686173206265656e2066726f7a656e20746f206974732063757272656e74206163636f756e742049442e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574b00c4070616c6c65745f64656d6f63726163791870616c6c6574144576656e740404540001442050726f706f73656408013870726f706f73616c5f696e64657810012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000004bc41206d6f74696f6e20686173206265656e2070726f706f7365642062792061207075626c6963206163636f756e742e185461626c656408013870726f706f73616c5f696e64657810012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000104d841207075626c69632070726f706f73616c20686173206265656e207461626c656420666f72207265666572656e64756d20766f74652e3845787465726e616c5461626c656400020494416e2065787465726e616c2070726f706f73616c20686173206265656e207461626c65642e1c537461727465640801247265665f696e64657810013c5265666572656e64756d496e6465780001247468726573686f6c64b40134566f74655468726573686f6c640003045c41207265666572656e64756d2068617320626567756e2e185061737365640401247265665f696e64657810013c5265666572656e64756d496e646578000404ac412070726f706f73616c20686173206265656e20617070726f766564206279207265666572656e64756d2e244e6f745061737365640401247265665f696e64657810013c5265666572656e64756d496e646578000504ac412070726f706f73616c20686173206265656e2072656a6563746564206279207265666572656e64756d2e2443616e63656c6c65640401247265665f696e64657810013c5265666572656e64756d496e6465780006048041207265666572656e64756d20686173206265656e2063616e63656c6c65642e2444656c65676174656408010c77686f000130543a3a4163636f756e744964000118746172676574000130543a3a4163636f756e744964000704dc416e206163636f756e74206861732064656c65676174656420746865697220766f746520746f20616e6f74686572206163636f756e742e2c556e64656c65676174656404011c6163636f756e74000130543a3a4163636f756e744964000804e4416e206163636f756e74206861732063616e63656c6c656420612070726576696f75732064656c65676174696f6e206f7065726174696f6e2e185665746f65640c010c77686f000130543a3a4163636f756e74496400013470726f706f73616c5f6861736834011c543a3a48617368000114756e74696c300144426c6f636b4e756d626572466f723c543e00090494416e2065787465726e616c2070726f706f73616c20686173206265656e207665746f65642e2c426c61636b6c697374656404013470726f706f73616c5f6861736834011c543a3a48617368000a04c4412070726f706f73616c5f6861736820686173206265656e20626c61636b6c6973746564207065726d616e656e746c792e14566f7465640c0114766f746572000130543a3a4163636f756e7449640001247265665f696e64657810013c5265666572656e64756d496e646578000110766f7465b801644163636f756e74566f74653c42616c616e63654f663c543e3e000b0490416e206163636f756e742068617320766f74656420696e2061207265666572656e64756d205365636f6e6465640801207365636f6e646572000130543a3a4163636f756e74496400012870726f705f696e64657810012450726f70496e646578000c0488416e206163636f756e7420686173207365636f6e64656420612070726f706f73616c4050726f706f73616c43616e63656c656404012870726f705f696e64657810012450726f70496e646578000d0460412070726f706f73616c20676f742063616e63656c65642e2c4d657461646174615365740801146f776e6572c001344d657461646174614f776e6572043c4d65746164617461206f776e65722e01106861736834011c543a3a486173680438507265696d61676520686173682e0e04d44d6574616461746120666f7220612070726f706f73616c206f722061207265666572656e64756d20686173206265656e207365742e3c4d65746164617461436c65617265640801146f776e6572c001344d657461646174614f776e6572043c4d65746164617461206f776e65722e01106861736834011c543a3a486173680438507265696d61676520686173682e0f04e44d6574616461746120666f7220612070726f706f73616c206f722061207265666572656e64756d20686173206265656e20636c65617265642e4c4d657461646174615472616e736665727265640c0128707265765f6f776e6572c001344d657461646174614f776e6572046050726576696f7573206d65746164617461206f776e65722e01146f776e6572c001344d657461646174614f776e6572044c4e6577206d65746164617461206f776e65722e01106861736834011c543a3a486173680438507265696d61676520686173682e1004ac4d6574616461746120686173206265656e207472616e7366657272656420746f206e6577206f776e65722e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574b40c4070616c6c65745f64656d6f637261637938766f74655f7468726573686f6c6434566f74655468726573686f6c6400010c5053757065724d616a6f72697479417070726f76650000005053757065724d616a6f72697479416761696e73740001003853696d706c654d616a6f7269747900020000b80c4070616c6c65745f64656d6f637261637910766f74652c4163636f756e74566f7465041c42616c616e636501180108205374616e64617264080110766f7465bc0110566f746500011c62616c616e636518011c42616c616e63650000001453706c697408010c61796518011c42616c616e636500010c6e617918011c42616c616e636500010000bc0c4070616c6c65745f64656d6f637261637910766f746510566f74650000040008000000c00c4070616c6c65745f64656d6f6372616379147479706573344d657461646174614f776e657200010c2045787465726e616c0000002050726f706f73616c040010012450726f70496e646578000100285265666572656e64756d040010013c5265666572656e64756d496e64657800020000c40c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e64657810013450726f706f73616c496e64657800013470726f706f73616c5f6861736834011c543a3a486173680001247468726573686f6c6410012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f6861736834011c543a3a48617368000114766f746564200110626f6f6c00010c79657310012c4d656d626572436f756e740001086e6f10012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f6861736834011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f6861736834011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f6861736834011c543a3a48617368000118726573756c748001384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f6861736834011c543a3a48617368000118726573756c748001384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f6861736834011c543a3a4861736800010c79657310012c4d656d626572436f756e740001086e6f10012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574c80c3870616c6c65745f76657374696e671870616c6c6574144576656e740404540001083856657374696e675570646174656408011c6163636f756e74000130543a3a4163636f756e744964000120756e76657374656418013042616c616e63654f663c543e000008510154686520616d6f756e742076657374656420686173206265656e20757064617465642e205468697320636f756c6420696e6469636174652061206368616e676520696e2066756e647320617661696c61626c652e25015468652062616c616e636520676976656e2069732074686520616d6f756e74207768696368206973206c65667420756e7665737465642028616e642074687573206c6f636b6564292e4056657374696e67436f6d706c6574656404011c6163636f756e74000130543a3a4163636f756e7449640001049c416e205c5b6163636f756e745c5d20686173206265636f6d652066756c6c79207665737465642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574cc0c6470616c6c65745f656c656374696f6e735f70687261676d656e1870616c6c6574144576656e7404045400011c1c4e65775465726d04012c6e65775f6d656d62657273d001ec5665633c283c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a4163636f756e7449642c2042616c616e63654f663c543e293e000014450141206e6577207465726d2077697468206e65775f6d656d626572732e205468697320696e64696361746573207468617420656e6f7567682063616e64696461746573206578697374656420746f2072756e550174686520656c656374696f6e2c206e6f74207468617420656e6f756768206861766520686173206265656e20656c65637465642e2054686520696e6e65722076616c7565206d757374206265206578616d696e65644501666f72207468697320707572706f73652e204120604e65775465726d285c5b5c5d296020696e64696361746573207468617420736f6d652063616e6469646174657320676f7420746865697220626f6e645501736c617368656420616e64206e6f6e65207765726520656c65637465642c207768696c73742060456d7074795465726d60206d65616e732074686174206e6f2063616e64696461746573206578697374656420746f2c626567696e20776974682e24456d7074795465726d00010831014e6f20286f72206e6f7420656e6f756768292063616e64696461746573206578697374656420666f72207468697320726f756e642e205468697320697320646966666572656e742066726f6dc8604e65775465726d285c5b5c5d29602e2053656520746865206465736372697074696f6e206f6620604e65775465726d602e34456c656374696f6e4572726f72000204e4496e7465726e616c206572726f722068617070656e6564207768696c6520747279696e6720746f20706572666f726d20656c656374696f6e2e304d656d6265724b69636b65640401186d656d6265720001983c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a4163636f756e744964000308410141206d656d62657220686173206265656e2072656d6f7665642e20546869732073686f756c6420616c7761797320626520666f6c6c6f7765642062792065697468657220604e65775465726d60206f723060456d7074795465726d602e2452656e6f756e63656404012463616e6469646174650001983c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a4163636f756e74496400040498536f6d656f6e65206861732072656e6f756e6365642074686569722063616e6469646163792e4043616e646964617465536c617368656408012463616e6469646174650001983c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e0005103901412063616e6469646174652077617320736c617368656420627920616d6f756e742064756520746f206661696c696e6720746f206f627461696e20612073656174206173206d656d626572206f722872756e6e65722d75702e00e44e6f74652074686174206f6c64206d656d6265727320616e642072756e6e6572732d75702061726520616c736f2063616e646964617465732e4453656174486f6c646572536c617368656408012c736561745f686f6c6465720001983c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e000604350141207365617420686f6c6465722077617320736c617368656420627920616d6f756e74206279206265696e6720666f72636566756c6c792072656d6f7665642066726f6d20746865207365742e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574d0000002d400d400000408001800d80c9070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f70686173651870616c6c6574144576656e7404045400011838536f6c7574696f6e53746f7265640c011c636f6d70757465dc013c456c656374696f6e436f6d707574650001186f726967696e8801504f7074696f6e3c543a3a4163636f756e7449643e000130707265765f656a6563746564200110626f6f6c00001cb44120736f6c7574696f6e207761732073746f72656420776974682074686520676976656e20636f6d707574652e00510154686520606f726967696e6020696e6469636174657320746865206f726967696e206f662074686520736f6c7574696f6e2e20496620606f726967696e602069732060536f6d65284163636f756e74496429602c59017468652073746f72656420736f6c7574696f6e20776173207375626d697474656420696e20746865207369676e65642070686173652062792061206d696e657220776974682074686520604163636f756e744964602e25014f74686572776973652c2074686520736f6c7574696f6e207761732073746f7265642065697468657220647572696e672074686520756e7369676e6564207068617365206f722062794d0160543a3a466f7263654f726967696e602e205468652060626f6f6c6020697320607472756560207768656e20612070726576696f757320736f6c7574696f6e2077617320656a656374656420746f206d616b6548726f6f6d20666f722074686973206f6e652e44456c656374696f6e46696e616c697a656408011c636f6d70757465dc013c456c656374696f6e436f6d7075746500011473636f7265e00134456c656374696f6e53636f7265000104190154686520656c656374696f6e20686173206265656e2066696e616c697a65642c20776974682074686520676976656e20636f6d7075746174696f6e20616e642073636f72652e38456c656374696f6e4661696c656400020c4c416e20656c656374696f6e206661696c65642e0001014e6f74206d7563682063616e20626520736169642061626f757420776869636820636f6d7075746573206661696c656420696e207468652070726f636573732e20526577617264656408011c6163636f756e740001983c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a4163636f756e74496400011476616c756518013042616c616e63654f663c543e0003042501416e206163636f756e7420686173206265656e20726577617264656420666f72207468656972207369676e6564207375626d697373696f6e206265696e672066696e616c697a65642e1c536c617368656408011c6163636f756e740001983c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a4163636f756e74496400011476616c756518013042616c616e63654f663c543e0004042101416e206163636f756e7420686173206265656e20736c617368656420666f72207375626d697474696e6720616e20696e76616c6964207369676e6564207375626d697373696f6e2e4450686173655472616e736974696f6e65640c011066726f6de4016050686173653c426c6f636b4e756d626572466f723c543e3e000108746fe4016050686173653c426c6f636b4e756d626572466f723c543e3e000114726f756e6410010c753332000504b85468657265207761732061207068617365207472616e736974696f6e20696e206120676976656e20726f756e642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574dc089070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f70686173653c456c656374696f6e436f6d707574650001141c4f6e436861696e000000185369676e656400010020556e7369676e65640002002046616c6c6261636b00030024456d657267656e637900040000e0084473705f6e706f735f656c656374696f6e7334456c656374696f6e53636f726500000c01346d696e696d616c5f7374616b6518013c457874656e64656442616c616e636500012473756d5f7374616b6518013c457874656e64656442616c616e636500014473756d5f7374616b655f7371756172656418013c457874656e64656442616c616e63650000e4089070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f70686173651450686173650408426e013001100c4f6666000000185369676e656400010020556e7369676e65640400e8012828626f6f6c2c20426e2900020024456d657267656e637900030000e800000408203000ec103870616c6c65745f7374616b696e671870616c6c65741870616c6c6574144576656e740404540001481c457261506169640c01246572615f696e646578100120457261496e64657800014076616c696461746f725f7061796f757418013042616c616e63654f663c543e00012472656d61696e64657218013042616c616e63654f663c543e000008550154686520657261207061796f757420686173206265656e207365743b207468652066697273742062616c616e6365206973207468652076616c696461746f722d7061796f75743b20746865207365636f6e64206973c07468652072656d61696e6465722066726f6d20746865206d6178696d756d20616d6f756e74206f66207265776172642e2052657761726465640c01147374617368000130543a3a4163636f756e74496400011064657374f0017c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e000118616d6f756e7418013042616c616e63654f663c543e0001040d01546865206e6f6d696e61746f7220686173206265656e207265776172646564206279207468697320616d6f756e7420746f20746869732064657374696e6174696f6e2e1c536c61736865640801187374616b6572000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e0002041d0141207374616b6572202876616c696461746f72206f72206e6f6d696e61746f722920686173206265656e20736c61736865642062792074686520676976656e20616d6f756e742e34536c6173685265706f727465640c012476616c696461746f72000130543a3a4163636f756e7449640001206672616374696f6ef4011c50657262696c6c000124736c6173685f657261100120457261496e64657800030859014120736c61736820666f722074686520676976656e2076616c696461746f722c20666f722074686520676976656e2070657263656e74616765206f66207468656972207374616b652c2061742074686520676976656e54657261206173206265656e207265706f727465642e684f6c64536c617368696e675265706f727444697363617264656404013473657373696f6e5f696e64657810013053657373696f6e496e6465780004081901416e206f6c6420736c617368696e67207265706f72742066726f6d2061207072696f72206572612077617320646973636172646564206265636175736520697420636f756c64446e6f742062652070726f6365737365642e385374616b657273456c65637465640005048441206e657720736574206f66207374616b6572732077617320656c65637465642e18426f6e6465640801147374617368000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e000610d0416e206163636f756e742068617320626f6e646564207468697320616d6f756e742e205c5b73746173682c20616d6f756e745c5d004d014e4f54453a2054686973206576656e74206973206f6e6c7920656d6974746564207768656e2066756e64732061726520626f6e64656420766961206120646973706174636861626c652e204e6f7461626c792c210169742077696c6c206e6f7420626520656d697474656420666f72207374616b696e672072657761726473207768656e20746865792061726520616464656420746f207374616b652e20556e626f6e6465640801147374617368000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e00070490416e206163636f756e742068617320756e626f6e646564207468697320616d6f756e742e2457697468647261776e0801147374617368000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e0008085901416e206163636f756e74206861732063616c6c6564206077697468647261775f756e626f6e6465646020616e642072656d6f76656420756e626f6e64696e67206368756e6b7320776f727468206042616c616e6365606466726f6d2074686520756e6c6f636b696e672071756575652e184b69636b65640801246e6f6d696e61746f72000130543a3a4163636f756e7449640001147374617368000130543a3a4163636f756e744964000904b441206e6f6d696e61746f7220686173206265656e206b69636b65642066726f6d20612076616c696461746f722e545374616b696e67456c656374696f6e4661696c6564000a04ac54686520656c656374696f6e206661696c65642e204e6f206e65772065726120697320706c616e6e65642e1c4368696c6c65640401147374617368000130543a3a4163636f756e744964000b042101416e206163636f756e74206861732073746f707065642070617274696369706174696e672061732065697468657220612076616c696461746f72206f72206e6f6d696e61746f722e345061796f7574537461727465640801246572615f696e646578100120457261496e64657800013c76616c696461746f725f7374617368000130543a3a4163636f756e744964000c0498546865207374616b657273272072657761726473206172652067657474696e6720706169642e4456616c696461746f7250726566735365740801147374617368000130543a3a4163636f756e7449640001147072656673f8013856616c696461746f725072656673000d0498412076616c696461746f72206861732073657420746865697220707265666572656e6365732e68536e617073686f74566f7465727353697a65457863656564656404011073697a6510010c753332000e0468566f746572732073697a65206c696d697420726561636865642e6c536e617073686f745461726765747353697a65457863656564656404011073697a6510010c753332000f046c546172676574732073697a65206c696d697420726561636865642e20466f7263654572610401106d6f64650101011c466f7263696e670010047441206e657720666f72636520657261206d6f646520776173207365742e64436f6e74726f6c6c65724261746368446570726563617465640401206661696c7572657310010c753332001104a45265706f7274206f66206120636f6e74726f6c6c6572206261746368206465707265636174696f6e2e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574f0083870616c6c65745f7374616b696e674452657761726444657374696e6174696f6e04244163636f756e74496401000114185374616b656400000014537461736800010028436f6e74726f6c6c65720002001c4163636f756e7404000001244163636f756e744964000300104e6f6e6500040000f40c3473705f61726974686d65746963287065725f7468696e67731c50657262696c6c0000040010010c7533320000f8083870616c6c65745f7374616b696e673856616c696461746f7250726566730000080128636f6d6d697373696f6efc011c50657262696c6c00011c626c6f636b6564200110626f6f6c0000fc000006f4000101083870616c6c65745f7374616b696e671c466f7263696e67000110284e6f74466f7263696e6700000020466f7263654e657700010024466f7263654e6f6e650002002c466f726365416c776179730003000005010c3870616c6c65745f73657373696f6e1870616c6c6574144576656e74000104284e657753657373696f6e04013473657373696f6e5f696e64657810013053657373696f6e496e64657800000839014e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e74206973207468652073657373696f6e20696e6465782c206e6f74207468659c626c6f636b206e756d626572206173207468652074797065206d6967687420737567676573742e047c54686520604576656e746020656e756d206f6620746869732070616c6c657409010c3c70616c6c65745f74726561737572791870616c6c6574144576656e74080454000449000130205370656e64696e670401406275646765745f72656d61696e696e6718013c42616c616e63654f663c542c20493e000004e45765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e1c417761726465640c013870726f706f73616c5f696e64657810013450726f706f73616c496e646578000114617761726418013c42616c616e63654f663c542c20493e00011c6163636f756e74000130543a3a4163636f756e7449640001047c536f6d652066756e64732068617665206265656e20616c6c6f63617465642e144275726e7404012c6275726e745f66756e647318013c42616c616e63654f663c542c20493e00020488536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e20526f6c6c6f766572040140726f6c6c6f7665725f62616c616e636518013c42616c616e63654f663c542c20493e0003042d015370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e1c4465706f73697404011476616c756518013c42616c616e63654f663c542c20493e0004047c536f6d652066756e64732068617665206265656e206465706f73697465642e345370656e64417070726f7665640c013870726f706f73616c5f696e64657810013450726f706f73616c496e646578000118616d6f756e7418013c42616c616e63654f663c542c20493e00012c62656e6566696369617279000130543a3a4163636f756e7449640005049c41206e6577207370656e642070726f706f73616c20686173206265656e20617070726f7665642e3c55706461746564496e61637469766508012c726561637469766174656418013c42616c616e63654f663c542c20493e00012c646561637469766174656418013c42616c616e63654f663c542c20493e000604cc54686520696e6163746976652066756e6473206f66207468652070616c6c65742068617665206265656e20757064617465642e4841737365745370656e64417070726f766564180114696e6465781001285370656e64496e64657800012861737365745f6b696e64840130543a3a41737365744b696e64000118616d6f756e74180150417373657442616c616e63654f663c542c20493e00012c62656e6566696369617279000138543a3a42656e656669636961727900012876616c69645f66726f6d300144426c6f636b4e756d626572466f723c543e0001246578706972655f6174300144426c6f636b4e756d626572466f723c543e000704b441206e6577206173736574207370656e642070726f706f73616c20686173206265656e20617070726f7665642e4041737365745370656e64566f69646564040114696e6465781001285370656e64496e64657800080474416e20617070726f766564207370656e642077617320766f696465642e1050616964080114696e6465781001285370656e64496e6465780001287061796d656e745f69648401643c543a3a5061796d6173746572206173205061793e3a3a49640009044c41207061796d656e742068617070656e65642e345061796d656e744661696c6564080114696e6465781001285370656e64496e6465780001287061796d656e745f69648401643c543a3a5061796d6173746572206173205061793e3a3a4964000a049041207061796d656e74206661696c656420616e642063616e20626520726574726965642e385370656e6450726f636573736564040114696e6465781001285370656e64496e646578000b084d0141207370656e64207761732070726f63657373656420616e642072656d6f7665642066726f6d207468652073746f726167652e204974206d696768742068617665206265656e207375636365737366756c6c797070616964206f72206974206d6179206861766520657870697265642e047c54686520604576656e746020656e756d206f6620746869732070616c6c65740d010c3c70616c6c65745f626f756e746965731870616c6c6574144576656e7408045400044900012c38426f756e747950726f706f736564040114696e64657810012c426f756e7479496e646578000004504e657720626f756e74792070726f706f73616c2e38426f756e747952656a6563746564080114696e64657810012c426f756e7479496e646578000110626f6e6418013c42616c616e63654f663c542c20493e000104cc4120626f756e74792070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e48426f756e7479426563616d65416374697665040114696e64657810012c426f756e7479496e646578000204b84120626f756e74792070726f706f73616c2069732066756e64656420616e6420626563616d65206163746976652e34426f756e747941776172646564080114696e64657810012c426f756e7479496e64657800012c62656e6566696369617279000130543a3a4163636f756e744964000304944120626f756e7479206973206177617264656420746f20612062656e65666963696172792e34426f756e7479436c61696d65640c0114696e64657810012c426f756e7479496e6465780001187061796f757418013c42616c616e63654f663c542c20493e00012c62656e6566696369617279000130543a3a4163636f756e7449640004048c4120626f756e747920697320636c61696d65642062792062656e65666963696172792e38426f756e747943616e63656c6564040114696e64657810012c426f756e7479496e646578000504584120626f756e74792069732063616e63656c6c65642e38426f756e7479457874656e646564040114696e64657810012c426f756e7479496e646578000604704120626f756e74792065787069727920697320657874656e6465642e38426f756e7479417070726f766564040114696e64657810012c426f756e7479496e646578000704544120626f756e747920697320617070726f7665642e3c43757261746f7250726f706f736564080124626f756e74795f696410012c426f756e7479496e64657800011c63757261746f72000130543a3a4163636f756e744964000804744120626f756e74792063757261746f722069732070726f706f7365642e4443757261746f72556e61737369676e6564040124626f756e74795f696410012c426f756e7479496e6465780009047c4120626f756e74792063757261746f7220697320756e61737369676e65642e3c43757261746f724163636570746564080124626f756e74795f696410012c426f756e7479496e64657800011c63757261746f72000130543a3a4163636f756e744964000a04744120626f756e74792063757261746f722069732061636365707465642e047c54686520604576656e746020656e756d206f6620746869732070616c6c657411010c5470616c6c65745f6368696c645f626f756e746965731870616c6c6574144576656e74040454000110144164646564080114696e64657810012c426f756e7479496e64657800012c6368696c645f696e64657810012c426f756e7479496e6465780000046041206368696c642d626f756e74792069732061646465642e1c417761726465640c0114696e64657810012c426f756e7479496e64657800012c6368696c645f696e64657810012c426f756e7479496e64657800012c62656e6566696369617279000130543a3a4163636f756e744964000104ac41206368696c642d626f756e7479206973206177617264656420746f20612062656e65666963696172792e1c436c61696d6564100114696e64657810012c426f756e7479496e64657800012c6368696c645f696e64657810012c426f756e7479496e6465780001187061796f757418013042616c616e63654f663c543e00012c62656e6566696369617279000130543a3a4163636f756e744964000204a441206368696c642d626f756e747920697320636c61696d65642062792062656e65666963696172792e2043616e63656c6564080114696e64657810012c426f756e7479496e64657800012c6368696c645f696e64657810012c426f756e7479496e6465780003047041206368696c642d626f756e74792069732063616e63656c6c65642e047c54686520604576656e746020656e756d206f6620746869732070616c6c657415010c4070616c6c65745f626167735f6c6973741870616c6c6574144576656e740804540004490001082052656261676765640c010c77686f000130543a3a4163636f756e74496400011066726f6d300120543a3a53636f7265000108746f300120543a3a53636f7265000004a44d6f76656420616e206163636f756e742066726f6d206f6e652062616720746f20616e6f746865722e3053636f72655570646174656408010c77686f000130543a3a4163636f756e7449640001246e65775f73636f7265300120543a3a53636f7265000104d855706461746564207468652073636f7265206f6620736f6d65206163636f756e7420746f2074686520676976656e20616d6f756e742e047c54686520604576656e746020656e756d206f6620746869732070616c6c657419010c5c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c731870616c6c6574144576656e740404540001481c437265617465640801246465706f7369746f72000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c4964000004604120706f6f6c20686173206265656e20637265617465642e18426f6e6465641001186d656d626572000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c4964000118626f6e64656418013042616c616e63654f663c543e0001186a6f696e6564200110626f6f6c0001049441206d656d6265722068617320626563616d6520626f6e64656420696e206120706f6f6c2e1c506169644f75740c01186d656d626572000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c49640001187061796f757418013042616c616e63654f663c543e0002048c41207061796f757420686173206265656e206d61646520746f2061206d656d6265722e20556e626f6e6465641401186d656d626572000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c496400011c62616c616e636518013042616c616e63654f663c543e000118706f696e747318013042616c616e63654f663c543e00010c657261100120457261496e64657800032c9841206d656d6265722068617320756e626f6e6465642066726f6d20746865697220706f6f6c2e0039012d206062616c616e6365602069732074686520636f72726573706f6e64696e672062616c616e6365206f6620746865206e756d626572206f6620706f696e7473207468617420686173206265656e5501202072657175657374656420746f20626520756e626f6e646564202874686520617267756d656e74206f66207468652060756e626f6e6460207472616e73616374696f6e292066726f6d2074686520626f6e6465641c2020706f6f6c2e45012d2060706f696e74736020697320746865206e756d626572206f6620706f696e747320746861742061726520697373756564206173206120726573756c74206f66206062616c616e636560206265696e67c0646973736f6c76656420696e746f2074686520636f72726573706f6e64696e6720756e626f6e64696e6720706f6f6c2ee42d206065726160206973207468652065726120696e207768696368207468652062616c616e63652077696c6c20626520756e626f6e6465642e5501496e2074686520616273656e6365206f6620736c617368696e672c2074686573652076616c7565732077696c6c206d617463682e20496e207468652070726573656e6365206f6620736c617368696e672c207468654d016e756d626572206f6620706f696e74732074686174206172652069737375656420696e2074686520756e626f6e64696e6720706f6f6c2077696c6c206265206c657373207468616e2074686520616d6f756e746472657175657374656420746f20626520756e626f6e6465642e2457697468647261776e1001186d656d626572000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c496400011c62616c616e636518013042616c616e63654f663c543e000118706f696e747318013042616c616e63654f663c543e0004189c41206d656d626572206861732077697468647261776e2066726f6d20746865697220706f6f6c2e00210154686520676976656e206e756d626572206f662060706f696e7473602068617665206265656e20646973736f6c76656420696e2072657475726e206f66206062616c616e6365602e00590153696d696c617220746f2060556e626f6e64656460206576656e742c20696e2074686520616273656e6365206f6620736c617368696e672c2074686520726174696f206f6620706f696e7420746f2062616c616e63652877696c6c20626520312e2444657374726f79656404011c706f6f6c5f6964100118506f6f6c4964000504684120706f6f6c20686173206265656e2064657374726f7965642e3053746174654368616e67656408011c706f6f6c5f6964100118506f6f6c49640001246e65775f73746174651d010124506f6f6c53746174650006047c546865207374617465206f66206120706f6f6c20686173206368616e676564344d656d62657252656d6f76656408011c706f6f6c5f6964100118506f6f6c49640001186d656d626572000130543a3a4163636f756e74496400070c9841206d656d62657220686173206265656e2072656d6f7665642066726f6d206120706f6f6c2e0051015468652072656d6f76616c2063616e20626520766f6c756e74617279202877697468647261776e20616c6c20756e626f6e6465642066756e647329206f7220696e766f6c756e7461727920286b69636b6564292e30526f6c6573557064617465640c0110726f6f748801504f7074696f6e3c543a3a4163636f756e7449643e00011c626f756e6365728801504f7074696f6e3c543a3a4163636f756e7449643e0001246e6f6d696e61746f728801504f7074696f6e3c543a3a4163636f756e7449643e000808550154686520726f6c6573206f66206120706f6f6c2068617665206265656e207570646174656420746f2074686520676976656e206e657720726f6c65732e204e6f7465207468617420746865206465706f7369746f724463616e206e65766572206368616e67652e2c506f6f6c536c617368656408011c706f6f6c5f6964100118506f6f6c496400011c62616c616e636518013042616c616e63654f663c543e0009040d01546865206163746976652062616c616e6365206f6620706f6f6c2060706f6f6c5f69646020686173206265656e20736c617368656420746f206062616c616e6365602e50556e626f6e64696e67506f6f6c536c61736865640c011c706f6f6c5f6964100118506f6f6c496400010c657261100120457261496e64657800011c62616c616e636518013042616c616e63654f663c543e000a04250154686520756e626f6e6420706f6f6c206174206065726160206f6620706f6f6c2060706f6f6c5f69646020686173206265656e20736c617368656420746f206062616c616e6365602e54506f6f6c436f6d6d697373696f6e5570646174656408011c706f6f6c5f6964100118506f6f6c496400011c63757272656e742101017c4f7074696f6e3c2850657262696c6c2c20543a3a4163636f756e744964293e000b04b44120706f6f6c277320636f6d6d697373696f6e2073657474696e6720686173206265656e206368616e6765642e60506f6f6c4d6178436f6d6d697373696f6e5570646174656408011c706f6f6c5f6964100118506f6f6c49640001386d61785f636f6d6d697373696f6ef4011c50657262696c6c000c04d44120706f6f6c2773206d6178696d756d20636f6d6d697373696f6e2073657474696e6720686173206265656e206368616e6765642e7c506f6f6c436f6d6d697373696f6e4368616e6765526174655570646174656408011c706f6f6c5f6964100118506f6f6c496400012c6368616e67655f726174652901019c436f6d6d697373696f6e4368616e6765526174653c426c6f636b4e756d626572466f723c543e3e000d04cc4120706f6f6c277320636f6d6d697373696f6e20606368616e67655f726174656020686173206265656e206368616e6765642e90506f6f6c436f6d6d697373696f6e436c61696d5065726d697373696f6e5570646174656408011c706f6f6c5f6964100118506f6f6c49640001287065726d697373696f6e2d0101bc4f7074696f6e3c436f6d6d697373696f6e436c61696d5065726d697373696f6e3c543a3a4163636f756e7449643e3e000e04c8506f6f6c20636f6d6d697373696f6e20636c61696d207065726d697373696f6e20686173206265656e20757064617465642e54506f6f6c436f6d6d697373696f6e436c61696d656408011c706f6f6c5f6964100118506f6f6c4964000128636f6d6d697373696f6e18013042616c616e63654f663c543e000f0484506f6f6c20636f6d6d697373696f6e20686173206265656e20636c61696d65642e644d696e42616c616e63654465666963697441646a757374656408011c706f6f6c5f6964100118506f6f6c4964000118616d6f756e7418013042616c616e63654f663c543e001004c8546f70706564207570206465666963697420696e2066726f7a656e204544206f66207468652072657761726420706f6f6c2e604d696e42616c616e636545786365737341646a757374656408011c706f6f6c5f6964100118506f6f6c4964000118616d6f756e7418013042616c616e63654f663c543e001104bc436c61696d6564206578636573732066726f7a656e204544206f66206166207468652072657761726420706f6f6c2e04584576656e7473206f6620746869732070616c6c65742e1d01085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7324506f6f6c537461746500010c104f70656e0000001c426c6f636b65640001002844657374726f79696e6700020000210104184f7074696f6e0404540125010108104e6f6e6500000010536f6d65040025010000010000250100000408f400002901085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7350436f6d6d697373696f6e4368616e676552617465042c426c6f636b4e756d6265720130000801306d61785f696e637265617365f4011c50657262696c6c0001246d696e5f64656c617930012c426c6f636b4e756d62657200002d0104184f7074696f6e0404540131010108104e6f6e6500000010536f6d650400310100000100003101085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7364436f6d6d697373696f6e436c61696d5065726d697373696f6e04244163636f756e74496401000108385065726d697373696f6e6c6573730000001c4163636f756e7404000001244163636f756e7449640001000035010c4070616c6c65745f7363686564756c65721870616c6c6574144576656e74040454000124245363686564756c65640801107768656e300144426c6f636b4e756d626572466f723c543e000114696e64657810010c753332000004505363686564756c656420736f6d65207461736b2e2043616e63656c65640801107768656e300144426c6f636b4e756d626572466f723c543e000114696e64657810010c7533320001044c43616e63656c656420736f6d65207461736b2e28446973706174636865640c01107461736b390101785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e00010869643d0101404f7074696f6e3c5461736b4e616d653e000118726573756c748001384469737061746368526573756c74000204544469737061746368656420736f6d65207461736b2e2052657472795365741001107461736b390101785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e00010869643d0101404f7074696f6e3c5461736b4e616d653e000118706572696f64300144426c6f636b4e756d626572466f723c543e00011c726574726965730801087538000304a0536574206120726574727920636f6e66696775726174696f6e20666f7220736f6d65207461736b2e38526574727943616e63656c6c65640801107461736b390101785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e00010869643d0101404f7074696f6e3c5461736b4e616d653e000404ac43616e63656c206120726574727920636f6e66696775726174696f6e20666f7220736f6d65207461736b2e3c43616c6c556e617661696c61626c650801107461736b390101785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e00010869643d0101404f7074696f6e3c5461736b4e616d653e00050429015468652063616c6c20666f72207468652070726f7669646564206861736820776173206e6f7420666f756e6420736f20746865207461736b20686173206265656e2061626f727465642e38506572696f6469634661696c65640801107461736b390101785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e00010869643d0101404f7074696f6e3c5461736b4e616d653e0006043d0154686520676976656e207461736b2077617320756e61626c6520746f2062652072656e657765642073696e636520746865206167656e64612069732066756c6c206174207468617420626c6f636b2e2c52657472794661696c65640801107461736b390101785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e00010869643d0101404f7074696f6e3c5461736b4e616d653e0007085d0154686520676976656e207461736b2077617320756e61626c6520746f20626520726574726965642073696e636520746865206167656e64612069732066756c6c206174207468617420626c6f636b206f722074686572659c776173206e6f7420656e6f7567682077656967687420746f2072657363686564756c652069742e545065726d616e656e746c794f7665727765696768740801107461736b390101785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e00010869643d0101404f7074696f6e3c5461736b4e616d653e000804f054686520676976656e207461736b2063616e206e657665722062652065786563757465642073696e6365206974206973206f7665727765696768742e04304576656e747320747970652e3901000004083010003d0104184f7074696f6e04045401040108104e6f6e6500000010536f6d65040004000001000041010c3c70616c6c65745f707265696d6167651870616c6c6574144576656e7404045400010c144e6f7465640401106861736834011c543a3a48617368000004684120707265696d61676520686173206265656e206e6f7465642e245265717565737465640401106861736834011c543a3a48617368000104784120707265696d61676520686173206265656e207265717565737465642e1c436c65617265640401106861736834011c543a3a486173680002046c4120707265696d616765206861732062656e20636c65617265642e047c54686520604576656e746020656e756d206f6620746869732070616c6c657445010c3c70616c6c65745f6f6666656e6365731870616c6c6574144576656e740001041c4f6666656e63650801106b696e64490101104b696e6400012074696d65736c6f743801384f706171756554696d65536c6f7400000c5101546865726520697320616e206f6666656e6365207265706f72746564206f662074686520676976656e20606b696e64602068617070656e656420617420746865206073657373696f6e5f696e6465786020616e643501286b696e642d7370656369666963292074696d6520736c6f742e2054686973206576656e74206973206e6f74206465706f736974656420666f72206475706c696361746520736c61736865732e4c5c5b6b696e642c2074696d65736c6f745c5d2e04304576656e747320747970652e49010000031000000008004d010c3c70616c6c65745f74785f70617573651870616c6c6574144576656e740404540001082843616c6c50617573656404012466756c6c5f6e616d655101015052756e74696d6543616c6c4e616d654f663c543e000004b8546869732070616c6c65742c206f7220612073706563696669632063616c6c206973206e6f77207061757365642e3043616c6c556e70617573656404012466756c6c5f6e616d655101015052756e74696d6543616c6c4e616d654f663c543e000104c0546869732070616c6c65742c206f7220612073706563696669632063616c6c206973206e6f7720756e7061757365642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574510100000408550155010055010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e000059010c4070616c6c65745f696d5f6f6e6c696e651870616c6c6574144576656e7404045400010c444865617274626561745265636569766564040130617574686f726974795f69645d010138543a3a417574686f726974794964000004c041206e657720686561727462656174207761732072656365697665642066726f6d2060417574686f726974794964602e1c416c6c476f6f64000104d041742074686520656e64206f66207468652073657373696f6e2c206e6f206f6666656e63652077617320636f6d6d69747465642e2c536f6d654f66666c696e6504011c6f66666c696e656101016c5665633c4964656e74696669636174696f6e5475706c653c543e3e000204290141742074686520656e64206f66207468652073657373696f6e2c206174206c65617374206f6e652076616c696461746f722077617320666f756e6420746f206265206f66666c696e652e047c54686520604576656e746020656e756d206f6620746869732070616c6c65745d01104070616c6c65745f696d5f6f6e6c696e651c737232353531392c6170705f73723235353139185075626c69630000040004013c737232353531393a3a5075626c696300006101000002650100650100000408006901006901082873705f7374616b696e67204578706f7375726508244163636f756e74496401001c42616c616e63650118000c0114746f74616c6d01011c42616c616e636500010c6f776e6d01011c42616c616e63650001186f7468657273710101ac5665633c496e646976696475616c4578706f737572653c4163636f756e7449642c2042616c616e63653e3e00006d01000006180071010000027501007501082873705f7374616b696e6748496e646976696475616c4578706f7375726508244163636f756e74496401001c42616c616e636501180008010c77686f0001244163636f756e74496400011476616c75656d01011c42616c616e6365000079010c3c70616c6c65745f6964656e746974791870616c6c6574144576656e740404540001442c4964656e7469747953657404010c77686f000130543a3a4163636f756e744964000004ec41206e616d652077617320736574206f72207265736574202877686963682077696c6c2072656d6f766520616c6c206a756467656d656e7473292e3c4964656e74697479436c656172656408010c77686f000130543a3a4163636f756e74496400011c6465706f73697418013042616c616e63654f663c543e000104cc41206e616d652077617320636c65617265642c20616e642074686520676976656e2062616c616e63652072657475726e65642e384964656e746974794b696c6c656408010c77686f000130543a3a4163636f756e74496400011c6465706f73697418013042616c616e63654f663c543e000204c441206e616d65207761732072656d6f76656420616e642074686520676976656e2062616c616e636520736c61736865642e484a756467656d656e7452657175657374656408010c77686f000130543a3a4163636f756e74496400013c7265676973747261725f696e646578100138526567697374726172496e6465780003049c41206a756467656d656e74207761732061736b65642066726f6d2061207265676973747261722e504a756467656d656e74556e72657175657374656408010c77686f000130543a3a4163636f756e74496400013c7265676973747261725f696e646578100138526567697374726172496e6465780004048841206a756467656d656e74207265717565737420776173207265747261637465642e384a756467656d656e74476976656e080118746172676574000130543a3a4163636f756e74496400013c7265676973747261725f696e646578100138526567697374726172496e6465780005049441206a756467656d656e742077617320676976656e2062792061207265676973747261722e38526567697374726172416464656404013c7265676973747261725f696e646578100138526567697374726172496e646578000604584120726567697374726172207761732061646465642e405375624964656e7469747941646465640c010c737562000130543a3a4163636f756e7449640001106d61696e000130543a3a4163636f756e74496400011c6465706f73697418013042616c616e63654f663c543e000704f441207375622d6964656e746974792077617320616464656420746f20616e206964656e7469747920616e6420746865206465706f73697420706169642e485375624964656e7469747952656d6f7665640c010c737562000130543a3a4163636f756e7449640001106d61696e000130543a3a4163636f756e74496400011c6465706f73697418013042616c616e63654f663c543e000804090141207375622d6964656e74697479207761732072656d6f7665642066726f6d20616e206964656e7469747920616e6420746865206465706f7369742066726565642e485375624964656e746974795265766f6b65640c010c737562000130543a3a4163636f756e7449640001106d61696e000130543a3a4163636f756e74496400011c6465706f73697418013042616c616e63654f663c543e000908190141207375622d6964656e746974792077617320636c65617265642c20616e642074686520676976656e206465706f7369742072657061747269617465642066726f6d20746865c86d61696e206964656e74697479206163636f756e7420746f20746865207375622d6964656e74697479206163636f756e742e38417574686f726974794164646564040124617574686f72697479000130543a3a4163636f756e744964000a047c4120757365726e616d6520617574686f72697479207761732061646465642e40417574686f7269747952656d6f766564040124617574686f72697479000130543a3a4163636f756e744964000b04844120757365726e616d6520617574686f72697479207761732072656d6f7665642e2c557365726e616d6553657408010c77686f000130543a3a4163636f756e744964000120757365726e616d657d01012c557365726e616d653c543e000c04744120757365726e616d65207761732073657420666f72206077686f602e38557365726e616d655175657565640c010c77686f000130543a3a4163636f756e744964000120757365726e616d657d01012c557365726e616d653c543e00012865787069726174696f6e300144426c6f636b4e756d626572466f723c543e000d0419014120757365726e616d6520776173207175657565642c20627574206077686f60206d75737420616363657074206974207072696f7220746f206065787069726174696f6e602e48507265617070726f76616c4578706972656404011477686f7365000130543a3a4163636f756e744964000e043901412071756575656420757365726e616d6520706173736564206974732065787069726174696f6e20776974686f7574206265696e6720636c61696d656420616e64207761732072656d6f7665642e485072696d617279557365726e616d6553657408010c77686f000130543a3a4163636f756e744964000120757365726e616d657d01012c557365726e616d653c543e000f0401014120757365726e616d6520776173207365742061732061207072696d61727920616e642063616e206265206c6f6f6b65642075702066726f6d206077686f602e5c44616e676c696e67557365726e616d6552656d6f76656408010c77686f000130543a3a4163636f756e744964000120757365726e616d657d01012c557365726e616d653c543e0010085d01412064616e676c696e6720757365726e616d652028617320696e2c206120757365726e616d6520636f72726573706f6e64696e6720746f20616e206163636f756e742074686174206861732072656d6f766564206974736c6964656e746974792920686173206265656e2072656d6f7665642e047c54686520604576656e746020656e756d206f6620746869732070616c6c65747d010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e000081010c3870616c6c65745f7574696c6974791870616c6c6574144576656e74000118404261746368496e746572727570746564080114696e64657810010c7533320001146572726f7268013444697370617463684572726f7200000855014261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c2061734877656c6c20617320746865206572726f722e384261746368436f6d706c65746564000104c84261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e604261746368436f6d706c65746564576974684572726f7273000204b44261746368206f66206469737061746368657320636f6d706c657465642062757420686173206572726f72732e344974656d436f6d706c657465640003041d01412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206e6f206572726f722e284974656d4661696c65640401146572726f7268013444697370617463684572726f720004041101412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206572726f722e30446973706174636865644173040118726573756c748001384469737061746368526573756c7400050458412063616c6c2077617320646973706174636865642e047c54686520604576656e746020656e756d206f6620746869732070616c6c657485010c3c70616c6c65745f6d756c74697369671870616c6c6574144576656e740404540001102c4e65774d756c74697369670c0124617070726f76696e67000130543a3a4163636f756e7449640001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c486173680000048c41206e6577206d756c7469736967206f7065726174696f6e2068617320626567756e2e404d756c7469736967417070726f76616c100124617070726f76696e67000130543a3a4163636f756e74496400012474696d65706f696e748901017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000104c841206d756c7469736967206f7065726174696f6e20686173206265656e20617070726f76656420627920736f6d656f6e652e404d756c74697369674578656375746564140124617070726f76696e67000130543a3a4163636f756e74496400012474696d65706f696e748901017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000118726573756c748001384469737061746368526573756c740002049c41206d756c7469736967206f7065726174696f6e20686173206265656e2065786563757465642e444d756c746973696743616e63656c6c656410012863616e63656c6c696e67000130543a3a4163636f756e74496400012474696d65706f696e748901017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000304a041206d756c7469736967206f7065726174696f6e20686173206265656e2063616e63656c6c65642e047c54686520604576656e746020656e756d206f6620746869732070616c6c65748901083c70616c6c65745f6d756c74697369672454696d65706f696e74042c426c6f636b4e756d62657201300008011868656967687430012c426c6f636b4e756d626572000114696e64657810010c75333200008d010c3c70616c6c65745f657468657265756d1870616c6c6574144576656e7400010420457865637574656414011066726f6d9101011048313630000108746f91010110483136300001407472616e73616374696f6e5f686173683401104832353600012c657869745f726561736f6e9901012845786974526561736f6e00012865787472615f6461746138011c5665633c75383e000004c8416e20657468657265756d207472616e73616374696f6e20776173207375636365737366756c6c792065786563757465642e047c54686520604576656e746020656e756d206f6620746869732070616c6c65749101083c7072696d69746976655f7479706573104831363000000400950101205b75383b2032305d0000950100000314000000080099010c2065766d5f636f7265146572726f722845786974526561736f6e0001101c5375636365656404009d01012c4578697453756363656564000000144572726f720400a1010124457869744572726f72000100185265766572740400b10101284578697452657665727400020014466174616c0400b501012445786974466174616c000300009d010c2065766d5f636f7265146572726f722c457869745375636365656400010c1c53746f707065640000002052657475726e656400010020537569636964656400020000a1010c2065766d5f636f7265146572726f7224457869744572726f7200014038537461636b556e646572666c6f7700000034537461636b4f766572666c6f770001002c496e76616c69644a756d7000020030496e76616c696452616e67650003004444657369676e61746564496e76616c69640004002c43616c6c546f6f446565700005003c437265617465436f6c6c6973696f6e0006004c437265617465436f6e74726163744c696d69740007002c496e76616c6964436f64650400a50101184f70636f6465000f002c4f75744f664f6666736574000800204f75744f66476173000900244f75744f6646756e64000a002c5043556e646572666c6f77000b002c437265617465456d707479000c00144f746865720400a9010144436f773c277374617469632c207374723e000d00204d61784e6f6e6365000e0000a5010c2065766d5f636f7265186f70636f6465184f70636f64650000040008010875380000a901040c436f7704045401ad01000400ad01000000ad010000050200b1010c2065766d5f636f7265146572726f72284578697452657665727400010420526576657274656400000000b5010c2065766d5f636f7265146572726f722445786974466174616c000110304e6f74537570706f7274656400000048556e68616e646c6564496e746572727570740001004043616c6c4572726f724173466174616c0400a1010124457869744572726f72000200144f746865720400a9010144436f773c277374617469632c207374723e00030000b9010c2870616c6c65745f65766d1870616c6c6574144576656e740404540001140c4c6f6704010c6c6f67bd01010c4c6f670000047c457468657265756d206576656e74732066726f6d20636f6e7472616374732e1c4372656174656404011c616464726573739101011048313630000104b44120636f6e747261637420686173206265656e206372656174656420617420676976656e20616464726573732e34437265617465644661696c656404011c61646472657373910101104831363000020405014120636f6e74726163742077617320617474656d7074656420746f20626520637265617465642c206275742074686520657865637574696f6e206661696c65642e20457865637574656404011c616464726573739101011048313630000304f84120636f6e747261637420686173206265656e206578656375746564207375636365737366756c6c79207769746820737461746573206170706c6965642e3845786563757465644661696c656404011c61646472657373910101104831363000040465014120636f6e747261637420686173206265656e2065786563757465642077697468206572726f72732e20537461746573206172652072657665727465642077697468206f6e6c79206761732066656573206170706c6965642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574bd010c20657468657265756d0c6c6f670c4c6f6700000c011c616464726573739101011048313630000118746f70696373c10101245665633c483235363e0001106461746138011442797465730000c1010000023400c5010c3c70616c6c65745f626173655f6665651870616c6c6574144576656e7400010c404e65774261736546656550657247617304010c666565c9010110553235360000003c426173654665654f766572666c6f77000100344e6577456c6173746963697479040128656c6173746963697479d101011c5065726d696c6c000200047c54686520604576656e746020656e756d206f6620746869732070616c6c6574c901083c7072696d69746976655f7479706573105532353600000400cd0101205b7536343b20345d0000cd01000003040000003000d1010c3473705f61726974686d65746963287065725f7468696e67731c5065726d696c6c0000040010010c7533320000d5010c5470616c6c65745f61697264726f705f636c61696d731870616c6c6574144576656e740404540001041c436c61696d65640c0124726563697069656e74000130543a3a4163636f756e744964000118736f75726365d90101304d756c746941646472657373000118616d6f756e7418013042616c616e63654f663c543e0000048c536f6d656f6e6520636c61696d656420736f6d65206e617469766520746f6b656e732e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574d9010c5470616c6c65745f61697264726f705f636c61696d73147574696c73304d756c7469416464726573730001080c45564d0400dd01013c457468657265756d41646472657373000000184e6174697665040000012c4163636f756e744964333200010000dd01105470616c6c65745f61697264726f705f636c61696d73147574696c7340657468657265756d5f616464726573733c457468657265756d4164647265737300000400950101205b75383b2032305d0000e1010c3070616c6c65745f70726f78791870616c6c6574144576656e740404540001143450726f78794578656375746564040118726573756c748001384469737061746368526573756c74000004bc412070726f78792077617320657865637574656420636f72726563746c792c20776974682074686520676976656e2e2c507572654372656174656410011070757265000130543a3a4163636f756e74496400010c77686f000130543a3a4163636f756e74496400012870726f78795f74797065e5010130543a3a50726f787954797065000150646973616d626967756174696f6e5f696e646578e901010c753136000108dc412070757265206163636f756e7420686173206265656e2063726561746564206279206e65772070726f7879207769746820676976656e90646973616d626967756174696f6e20696e64657820616e642070726f787920747970652e24416e6e6f756e6365640c01107265616c000130543a3a4163636f756e74496400011470726f7879000130543a3a4163636f756e74496400012463616c6c5f6861736834013443616c6c486173684f663c543e000204e0416e20616e6e6f756e63656d656e742077617320706c6163656420746f206d616b6520612063616c6c20696e20746865206675747572652e2850726f7879416464656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065e5010130543a3a50726f78795479706500011464656c6179300144426c6f636b4e756d626572466f723c543e00030448412070726f7879207761732061646465642e3050726f787952656d6f76656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065e5010130543a3a50726f78795479706500011464656c6179300144426c6f636b4e756d626572466f723c543e00040450412070726f7879207761732072656d6f7665642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574e501085874616e676c655f746573746e65745f72756e74696d652450726f7879547970650001100c416e790000002c4e6f6e5472616e7366657200010028476f7665726e616e63650002001c5374616b696e6700030000e9010000050400ed010c7470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e1870616c6c6574144576656e74040454000168384f70657261746f724a6f696e656404010c77686f000130543a3a4163636f756e7449640000045c416e206f70657261746f7220686173206a6f696e65642e604f70657261746f724c656176696e675363686564756c656404010c77686f000130543a3a4163636f756e7449640001048c416e206f70657261746f7220686173207363686564756c656420746f206c656176652e584f70657261746f724c6561766543616e63656c6c656404010c77686f000130543a3a4163636f756e744964000204b8416e206f70657261746f72206861732063616e63656c6c6564207468656972206c6561766520726571756573742e544f70657261746f724c65617665457865637574656404010c77686f000130543a3a4163636f756e744964000304b4416e206f70657261746f7220686173206578656375746564207468656972206c6561766520726571756573742e404f70657261746f72426f6e644d6f726508010c77686f000130543a3a4163636f756e74496400013c6164646974696f6e616c5f626f6e6418013042616c616e63654f663c543e00040498416e206f70657261746f722068617320696e63726561736564207468656972207374616b652e644f70657261746f72426f6e644c6573735363686564756c656408010c77686f000130543a3a4163636f756e744964000138756e7374616b655f616d6f756e7418013042616c616e63654f663c543e000504c8416e206f70657261746f7220686173207363686564756c656420746f206465637265617365207468656972207374616b652e604f70657261746f72426f6e644c657373457865637574656404010c77686f000130543a3a4163636f756e744964000604b8416e206f70657261746f7220686173206578656375746564207468656972207374616b652064656372656173652e644f70657261746f72426f6e644c65737343616e63656c6c656404010c77686f000130543a3a4163636f756e744964000704dc416e206f70657261746f72206861732063616e63656c6c6564207468656972207374616b6520646563726561736520726571756573742e4c4f70657261746f7257656e744f66666c696e6504010c77686f000130543a3a4163636f756e74496400080474416e206f70657261746f722068617320676f6e65206f66666c696e652e484f70657261746f7257656e744f6e6c696e6504010c77686f000130543a3a4163636f756e74496400090470416e206f70657261746f722068617320676f6e65206f6e6c696e652e244465706f73697465640c010c77686f000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e0001146173736574f101014441737365743c543a3a417373657449643e000a046041206465706f73697420686173206265656e206d6164652e445363686564756c656457697468647261770c010c77686f000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e0001146173736574f101014441737365743c543a3a417373657449643e000b047c416e20776974686472617720686173206265656e207363686564756c65642e404578656375746564576974686472617704010c77686f000130543a3a4163636f756e744964000c0478416e20776974686472617720686173206265656e2065786563757465642e4443616e63656c6c6564576974686472617704010c77686f000130543a3a4163636f756e744964000d047c416e20776974686472617720686173206265656e2063616e63656c6c65642e2444656c65676174656410010c77686f000130543a3a4163636f756e7449640001206f70657261746f72000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e0001146173736574f101014441737365743c543a3a417373657449643e000e046c412064656c65676174696f6e20686173206265656e206d6164652e6444656c656761746f72556e7374616b655363686564756c656414010c77686f000130543a3a4163636f756e7449640001206f70657261746f72000130543a3a4163636f756e7449640001146173736574f101014441737365743c543a3a417373657449643e000118616d6f756e7418013042616c616e63654f663c543e0001107768656e100128526f756e64496e646578000f04bc412064656c656761746f7220756e7374616b65207265717565737420686173206265656e207363686564756c65642e6044656c656761746f72556e7374616b65457865637574656410010c77686f000130543a3a4163636f756e7449640001206f70657261746f72000130543a3a4163636f756e7449640001146173736574f101014441737365743c543a3a417373657449643e000118616d6f756e7418013042616c616e63654f663c543e001004b8412064656c656761746f7220756e7374616b65207265717565737420686173206265656e2065786563757465642e6444656c656761746f72556e7374616b6543616e63656c6c656410010c77686f000130543a3a4163636f756e7449640001206f70657261746f72000130543a3a4163636f756e7449640001146173736574f101014441737365743c543a3a417373657449643e000118616d6f756e7418013042616c616e63654f663c543e001104bc412064656c656761746f7220756e7374616b65207265717565737420686173206265656e2063616e63656c6c65642e3c4f70657261746f72536c61736865641401206f70657261746f72000130543a3a4163636f756e7449640488546865206163636f756e74207468617420686173206265656e20736c61736865642e0118616d6f756e7418013042616c616e63654f663c543e046054686520616d6f756e74206f662074686520736c6173682e0128736572766963655f696430010c7536340428536572766963652049440130626c75657072696e745f696430010c7536340430426c75657072696e74204944010c65726110010c753332042445726120696e646578120474416e204f70657261746f7220686173206265656e20736c61736865642e4044656c656761746f72536c617368656418012464656c656761746f72000130543a3a4163636f756e7449640488546865206163636f756e74207468617420686173206265656e20736c61736865642e0118616d6f756e7418013042616c616e63654f663c543e046054686520616d6f756e74206f662074686520736c6173682e01146173736574f101014441737365743c543a3a417373657449643e0460546865206173736574206265696e6720736c61736865642e0128736572766963655f696430010c7536340428536572766963652049440130626c75657072696e745f696430010c7536340430426c75657072696e74204944010c65726110010c753332042445726120696e646578130474412044656c656761746f7220686173206265656e20736c61736865642e384e6f6d696e61746564536c61736818012464656c656761746f72000130543a3a4163636f756e7449640484546865206163636f756e74207468617420686173206265656e20736c617368656401206f70657261746f72000130543a3a4163636f756e7449640498546865206f70657261746f72206173736f63696174656420776974682074686520736c6173680118616d6f756e7418013042616c616e63654f663c543e045c54686520616d6f756e74206f662074686520736c6173680128736572766963655f696430010c7536340428536572766963652049440130626c75657072696e745f696430010c7536340430426c75657072696e74204944010c65726110010c753332042445726120696e6465781404bc412044656c656761746f722773206e6f6d696e61746564207374616b6520686173206265656e20736c61736865642e2c45766d526576657274656410011066726f6d9101011048313630000108746f91010110483136300001106461746138011c5665633c75383e000118726561736f6e38011c5665633c75383e0015049445564d20657865637574696f6e2072657665727465642077697468206120726561736f6e2e4c4e6f6d696e6174696f6e44656c6567617465640c010c77686f000130543a3a4163636f756e7449640001206f70657261746f72000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e0016047c41206e6f6d696e6174696f6e20686173206265656e2064656c656761746564684e6f6d696e6174696f6e556e7374616b655363686564756c656410010c77686f000130543a3a4163636f756e7449640001206f70657261746f72000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e0001107768656e100128526f756e64496e646578001704c041206e6f6d696e6174696f6e20756e7374616b65207265717565737420686173206265656e207363686564756c65642e644e6f6d696e6174696f6e556e7374616b6545786563757465640c010c77686f000130543a3a4163636f756e7449640001206f70657261746f72000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e001804bc41206e6f6d696e6174696f6e20756e7374616b65207265717565737420686173206265656e2065786563757465642e684e6f6d696e6174696f6e556e7374616b6543616e63656c6c65640c010c77686f000130543a3a4163636f756e7449640001206f70657261746f72000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e001904c041206e6f6d696e6174696f6e20756e7374616b65207265717565737420686173206265656e2063616e63656c6c65642e04744576656e747320656d6974746564206279207468652070616c6c65742ef101104474616e676c655f7072696d697469766573207365727669636573147479706573144173736574041c417373657449640118010818437573746f6d040018011c417373657449640000001445726332300400910101104831363000010000f5010c3c70616c6c65745f7365727669636573186d6f64756c65144576656e7404045400014040426c75657072696e74437265617465640801146f776e6572000130543a3a4163636f756e74496404bc546865206163636f756e742074686174206372656174656420746865207365727669636520626c75657072696e742e0130626c75657072696e745f696430010c7536340480546865204944206f6620746865207365727669636520626c75657072696e742e0004a441206e6577207365727669636520626c75657072696e7420686173206265656e20637265617465642e3c507265526567697374726174696f6e0801206f70657261746f72000130543a3a4163636f756e74496404bc546865206163636f756e742074686174207072652d7265676973746572656420617320616e206f70657261746f722e0130626c75657072696e745f696430010c7536340480546865204944206f6620746865207365727669636520626c75657072696e742e0104dc416e206f70657261746f7220686173207072652d7265676973746572656420666f722061207365727669636520626c75657072696e742e285265676973746572656410012070726f7669646572000130543a3a4163636f756e74496404a8546865206163636f756e74207468617420726567697374657265642061732061206f70657261746f722e0130626c75657072696e745f696430010c7536340480546865204944206f6620746865207365727669636520626c75657072696e742e012c707265666572656e636573f901014c4f70657261746f72507265666572656e63657304f454686520707265666572656e63657320666f7220746865206f70657261746f7220666f72207468697320737065636966696320626c75657072696e742e0144726567697374726174696f6e5f61726773050201a05665633c4669656c643c543a3a436f6e73747261696e74732c20543a3a4163636f756e7449643e3e049054686520617267756d656e7473207573656420666f7220726567697374726174696f6e2e020490416e206e6577206f70657261746f7220686173206265656e20726567697374657265642e30556e726567697374657265640801206f70657261746f72000130543a3a4163636f756e74496404b4546865206163636f756e74207468617420756e7265676973746572656420617320616d206f70657261746f722e0130626c75657072696e745f696430010c7536340480546865204944206f6620746865207365727669636520626c75657072696e742e030488416e206f70657261746f7220686173206265656e20756e726567697374657265642e4c507269636554617267657473557064617465640c01206f70657261746f72000130543a3a4163636f756e74496404c4546865206163636f756e74207468617420757064617465642074686520617070726f76616c20707265666572656e63652e0130626c75657072696e745f696430010c7536340480546865204944206f6620746865207365727669636520626c75657072696e742e013470726963655f74617267657473010201305072696365546172676574730458546865206e657720707269636520746172676574732e0404cc546865207072696365207461726765747320666f7220616e206f70657261746f7220686173206265656e20757064617465642e40536572766963655265717565737465641801146f776e6572000130543a3a4163636f756e744964049c546865206163636f756e742074686174207265717565737465642074686520736572766963652e0128726571756573745f696430010c7536340478546865204944206f6620746865207365727669636520726571756573742e0130626c75657072696e745f696430010c7536340480546865204944206f6620746865207365727669636520626c75657072696e742e014470656e64696e675f617070726f76616c73450201445665633c543a3a4163636f756e7449643e04dc546865206c697374206f66206f70657261746f72732074686174206e65656420746f20617070726f76652074686520736572766963652e0120617070726f766564450201445665633c543a3a4163636f756e7449643e04f8546865206c697374206f66206f70657261746f72732074686174206175746f6d61746963616c6c7920617070726f7665642074686520736572766963652e015473656375726974795f726571756972656d656e74734902012d01426f756e6465645665633c41737365745365637572697479526571756972656d656e743c543a3a417373657449643e2c204d6178417373657473506572536572766963654f660a3c543e3e04e0546865206c697374206f6620617373657420736563757269747920726571756972656d656e747320666f722074686520736572766963652e05048441206e6577207365727669636520686173206265656e207265717565737465642e585365727669636552657175657374417070726f7665641401206f70657261746f72000130543a3a4163636f756e7449640498546865206163636f756e74207468617420617070726f7665642074686520736572766963652e0128726571756573745f696430010c7536340478546865204944206f6620746865207365727669636520726571756573742e0130626c75657072696e745f696430010c7536340480546865204944206f6620746865207365727669636520626c75657072696e742e014470656e64696e675f617070726f76616c73450201445665633c543a3a4163636f756e7449643e04dc546865206c697374206f66206f70657261746f72732074686174206e65656420746f20617070726f76652074686520736572766963652e0120617070726f766564450201445665633c543a3a4163636f756e7449643e04f0546865206c697374206f66206f70657261746f727320746861742061746f6d61746963616c7920617070726f7665642074686520736572766963652e060490412073657276696365207265717565737420686173206265656e20617070726f7665642e58536572766963655265717565737452656a65637465640c01206f70657261746f72000130543a3a4163636f756e7449640498546865206163636f756e7420746861742072656a65637465642074686520736572766963652e0128726571756573745f696430010c7536340478546865204944206f6620746865207365727669636520726571756573742e0130626c75657072696e745f696430010c7536340480546865204944206f6620746865207365727669636520626c75657072696e742e070490412073657276696365207265717565737420686173206265656e2072656a65637465642e4053657276696365496e697469617465641401146f776e6572000130543a3a4163636f756e7449640464546865206f776e6572206f662074686520736572766963652e0128726571756573745f696430010c75363404c0546865204944206f662074686520736572766963652072657175657374207468617420676f7420617070726f7665642e0128736572766963655f696430010c7536340458546865204944206f662074686520736572766963652e0130626c75657072696e745f696430010c7536340480546865204944206f6620746865207365727669636520626c75657072696e742e01746f70657261746f725f73656375726974795f636f6d6d69746d656e747359020115014f70657261746f725365637572697479436f6d6d69746d656e74733c543a3a4163636f756e7449642c20543a3a417373657449642c20543a3a436f6e73747261696e74733e04f4546865206c697374206f6620617373657473207468617420617265206265696e67207573656420746f207365637572652074686520736572766963652e08047441207365727669636520686173206265656e20696e697469617465642e44536572766963655465726d696e617465640c01146f776e6572000130543a3a4163636f756e7449640464546865206f776e6572206f662074686520736572766963652e0128736572766963655f696430010c7536340458546865204944206f662074686520736572766963652e0130626c75657072696e745f696430010c7536340480546865204944206f6620746865207365727669636520626c75657072696e742e09047841207365727669636520686173206265656e207465726d696e617465642e244a6f6243616c6c656414011863616c6c6572000130543a3a4163636f756e7449640480546865206163636f756e7420746861742063616c6c656420746865206a6f622e0128736572766963655f696430010c7536340458546865204944206f662074686520736572766963652e011c63616c6c5f696430010c753634044c546865204944206f66207468652063616c6c2e010c6a6f620801087538045454686520696e646578206f6620746865206a6f622e011061726773050201a05665633c4669656c643c543a3a436f6e73747261696e74732c20543a3a4163636f756e7449643e3e046454686520617267756d656e7473206f6620746865206a6f622e0a045841206a6f6220686173206265656e2063616c6c65642e484a6f62526573756c745375626d69747465641401206f70657261746f72000130543a3a4163636f756e74496404a8546865206163636f756e742074686174207375626d697474656420746865206a6f6220726573756c742e0128736572766963655f696430010c7536340458546865204944206f662074686520736572766963652e011c63616c6c5f696430010c753634044c546865204944206f66207468652063616c6c2e010c6a6f620801087538045454686520696e646578206f6620746865206a6f622e0118726573756c74050201a05665633c4669656c643c543a3a436f6e73747261696e74732c20543a3a4163636f756e7449643e3e045854686520726573756c74206f6620746865206a6f622e0b048041206a6f6220726573756c7420686173206265656e207375626d69747465642e2c45766d526576657274656410011066726f6d9101011048313630000108746f91010110483136300001106461746138011c5665633c75383e000118726561736f6e38011c5665633c75383e000c049445564d20657865637574696f6e2072657665727465642077697468206120726561736f6e2e38556e6170706c696564536c617368180114696e64657810010c753332045c54686520696e646578206f662074686520736c6173682e01206f70657261746f72000130543a3a4163636f756e74496404a0546865206163636f756e7420746861742068617320616e20756e6170706c69656420736c6173682e0128736572766963655f696430010c7536340428536572766963652049440130626c75657072696e745f696430010c7536340430426c75657072696e742049440134736c6173685f70657263656e745102011c50657263656e740434536c6173682070657263656e74010c65726110010c753332042445726120696e6465780d048c416e204f70657261746f722068617320616e20756e6170706c69656420736c6173682e38536c617368446973636172646564180114696e64657810010c753332045c54686520696e646578206f662074686520736c6173682e01206f70657261746f72000130543a3a4163636f756e74496404a0546865206163636f756e7420746861742068617320616e20756e6170706c69656420736c6173682e0128736572766963655f696430010c7536340428536572766963652049440130626c75657072696e745f696430010c7536340430426c75657072696e742049440134736c6173685f70657263656e745102011c50657263656e740434536c6173682070657263656e74010c65726110010c753332042445726120696e6465780e0484416e20556e6170706c69656420536c61736820676f74206469736361726465642e904d6173746572426c75657072696e74536572766963654d616e61676572526576697365640801207265766973696f6e10010c75333204f0546865207265766973696f6e206e756d626572206f6620746865204d617374657220426c75657072696e742053657276696365204d616e616765722e011c61646472657373910101104831363004d05468652061646472657373206f6620746865204d617374657220426c75657072696e742053657276696365204d616e616765722e0f04d8546865204d617374657220426c75657072696e742053657276696365204d616e6167657220686173206265656e20726576697365642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574f901104474616e676c655f7072696d6974697665732073657276696365731474797065734c4f70657261746f72507265666572656e636573000008010c6b6579fd0101205b75383b2036355d00013470726963655f74617267657473010201305072696365546172676574730000fd010000034100000008000102104474616e676c655f7072696d69746976657320736572766963657314747970657330507269636554617267657473000014010c63707530010c75363400010c6d656d30010c75363400012c73746f726167655f68646430010c75363400012c73746f726167655f73736430010c75363400013073746f726167655f6e766d6530010c753634000005020000020902000902104474616e676c655f7072696d697469766573207365727669636573146669656c64144669656c6408044300244163636f756e7449640100013c204f7074696f6e616c08000d0201244669656c64547970650000190201804f7074696f6e3c426f783c4669656c643c432c204163636f756e7449643e3e3e00000010426f6f6c0400200110626f6f6c0001001455696e74380400080108753800020010496e743804001d02010869380003001855696e7431360400e901010c75313600040014496e74313604002102010c6931360005001855696e743332040010010c75333200060014496e74333204002502010c6933320007001855696e743634040030010c75363400080014496e74363404002902010c69363400090018537472696e6704002d02017c426f756e646564537472696e673c433a3a4d61784669656c647353697a653e000a0014417272617908000d0201244669656c64547970650000350201c4426f756e6465645665633c4669656c643c432c204163636f756e7449643e2c20433a3a4d61784669656c647353697a653e000c00104c69737408000d0201244669656c64547970650000350201c4426f756e6465645665633c4669656c643c432c204163636f756e7449643e2c20433a3a4d61784669656c647353697a653e000d001853747275637408002d02017c426f756e646564537472696e673c433a3a4d61784669656c647353697a653e00003902016d01426f756e6465645665633c0a28426f756e646564537472696e673c433a3a4d61784669656c647353697a653e2c20426f783c4669656c643c432c204163636f756e7449643e3e292c20433a3a0a4d61784669656c647353697a653e000e00244163636f756e74496404000001244163636f756e744964006400000d02104474616e676c655f7072696d697469766573207365727669636573146669656c64244669656c645479706500014010566f696400000010426f6f6c0001001455696e743800020010496e74380003001855696e74313600040014496e7431360005001855696e74333200060014496e7433320007001855696e74363400080014496e74363400090018537472696e67000a00204f7074696f6e616c04000d020138426f783c4669656c64547970653e000c00144172726179080030010c75363400000d020138426f783c4669656c64547970653e000d00104c69737404000d020138426f783c4669656c64547970653e000e00185374727563740400110201a0426f756e6465645665633c426f783c4669656c64547970653e2c20436f6e73745533323c33323e3e000f00244163636f756e7449640064000011020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454010d02045300000400150201185665633c543e000015020000020d0200190204184f7074696f6e0404540109020108104e6f6e6500000010536f6d650400090200000100001d02000005090021020000050a0025020000050b0029020000050c002d02104474616e676c655f7072696d697469766573207365727669636573146669656c6434426f756e646564537472696e670404530000040031020144426f756e6465645665633c75382c20533e000031020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e000035020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454010902045300000400050201185665633c543e000039020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454013d02045300000400410201185665633c543e00003d02000004082d0209020041020000023d02004502000002000049020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454014d02045300000400550201185665633c543e00004d02104474616e676c655f7072696d6974697665732073657276696365731474797065736041737365745365637572697479526571756972656d656e74041c417373657449640118000c01146173736574f101013841737365743c417373657449643e0001506d696e5f6578706f737572655f70657263656e745102011c50657263656e740001506d61785f6578706f737572655f70657263656e745102011c50657263656e74000051020c3473705f61726974686d65746963287065725f7468696e67731c50657263656e74000004000801087538000055020000024d020059020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454015d020453000004006d0201185665633c543e00005d02000004080061020061020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454016502045300000400690201185665633c543e00006502104474616e676c655f7072696d6974697665732073657276696365731474797065735c41737365745365637572697479436f6d6d69746d656e74041c417373657449640118000801146173736574f101013841737365743c417373657449643e0001406578706f737572655f70657263656e745102011c50657263656e74000069020000026502006d020000025d020071020c4470616c6c65745f74616e676c655f6c73741870616c6c6574144576656e7404045400014c1c437265617465640801246465706f7369746f72000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c4964000004604120706f6f6c20686173206265656e20637265617465642e18426f6e6465641001186d656d626572000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c4964000118626f6e64656418013042616c616e63654f663c543e0001186a6f696e6564200110626f6f6c0001049441206d656d62657220686173206265636f6d6520626f6e64656420696e206120706f6f6c2e1c506169644f75740c01186d656d626572000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c49640001187061796f757418013042616c616e63654f663c543e0002048c41207061796f757420686173206265656e206d61646520746f2061206d656d6265722e20556e626f6e6465641401186d656d626572000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c496400011c62616c616e636518013042616c616e63654f663c543e000118706f696e747318013042616c616e63654f663c543e00010c657261100120457261496e64657800032c9841206d656d6265722068617320756e626f6e6465642066726f6d20746865697220706f6f6c2e0039012d206062616c616e6365602069732074686520636f72726573706f6e64696e672062616c616e6365206f6620746865206e756d626572206f6620706f696e7473207468617420686173206265656e5501202072657175657374656420746f20626520756e626f6e646564202874686520617267756d656e74206f66207468652060756e626f6e6460207472616e73616374696f6e292066726f6d2074686520626f6e6465641c2020706f6f6c2e45012d2060706f696e74736020697320746865206e756d626572206f6620706f696e747320746861742061726520697373756564206173206120726573756c74206f66206062616c616e636560206265696e67c82020646973736f6c76656420696e746f2074686520636f72726573706f6e64696e6720756e626f6e64696e6720706f6f6c2ee42d206065726160206973207468652065726120696e207768696368207468652062616c616e63652077696c6c20626520756e626f6e6465642e5501496e2074686520616273656e6365206f6620736c617368696e672c2074686573652076616c7565732077696c6c206d617463682e20496e207468652070726573656e6365206f6620736c617368696e672c207468654d016e756d626572206f6620706f696e74732074686174206172652069737375656420696e2074686520756e626f6e64696e6720706f6f6c2077696c6c206265206c657373207468616e2074686520616d6f756e746472657175657374656420746f20626520756e626f6e6465642e2457697468647261776e1001186d656d626572000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c496400011c62616c616e636518013042616c616e63654f663c543e000118706f696e747318013042616c616e63654f663c543e0004189c41206d656d626572206861732077697468647261776e2066726f6d20746865697220706f6f6c2e00250154686520676976656e206e756d626572206f662060706f696e7473602068617665206265656e20646973736f6c76656420696e2072657475726e20666f72206062616c616e6365602e00590153696d696c617220746f2060556e626f6e64656460206576656e742c20696e2074686520616273656e6365206f6620736c617368696e672c2074686520726174696f206f6620706f696e7420746f2062616c616e63652877696c6c20626520312e2444657374726f79656404011c706f6f6c5f6964100118506f6f6c4964000504684120706f6f6c20686173206265656e2064657374726f7965642e3053746174654368616e67656408011c706f6f6c5f6964100118506f6f6c49640001246e65775f737461746575020124506f6f6c53746174650006047c546865207374617465206f66206120706f6f6c20686173206368616e676564344d656d62657252656d6f76656408011c706f6f6c5f6964100118506f6f6c49640001186d656d626572000130543a3a4163636f756e74496400070c9841206d656d62657220686173206265656e2072656d6f7665642066726f6d206120706f6f6c2e0051015468652072656d6f76616c2063616e20626520766f6c756e74617279202877697468647261776e20616c6c20756e626f6e6465642066756e647329206f7220696e766f6c756e7461727920286b69636b6564292e30526f6c6573557064617465640c0110726f6f748801504f7074696f6e3c543a3a4163636f756e7449643e00011c626f756e6365728801504f7074696f6e3c543a3a4163636f756e7449643e0001246e6f6d696e61746f728801504f7074696f6e3c543a3a4163636f756e7449643e000808550154686520726f6c6573206f66206120706f6f6c2068617665206265656e207570646174656420746f2074686520676976656e206e657720726f6c65732e204e6f7465207468617420746865206465706f7369746f724463616e206e65766572206368616e67652e2c506f6f6c536c617368656408011c706f6f6c5f6964100118506f6f6c496400011c62616c616e636518013042616c616e63654f663c543e0009040d01546865206163746976652062616c616e6365206f6620706f6f6c2060706f6f6c5f69646020686173206265656e20736c617368656420746f206062616c616e6365602e50556e626f6e64696e67506f6f6c536c61736865640c011c706f6f6c5f6964100118506f6f6c496400010c657261100120457261496e64657800011c62616c616e636518013042616c616e63654f663c543e000a04250154686520756e626f6e6420706f6f6c206174206065726160206f6620706f6f6c2060706f6f6c5f69646020686173206265656e20736c617368656420746f206062616c616e6365602e54506f6f6c436f6d6d697373696f6e5570646174656408011c706f6f6c5f6964100118506f6f6c496400011c63757272656e742101017c4f7074696f6e3c2850657262696c6c2c20543a3a4163636f756e744964293e000b04b44120706f6f6c277320636f6d6d697373696f6e2073657474696e6720686173206265656e206368616e6765642e60506f6f6c4d6178436f6d6d697373696f6e5570646174656408011c706f6f6c5f6964100118506f6f6c49640001386d61785f636f6d6d697373696f6ef4011c50657262696c6c000c04d44120706f6f6c2773206d6178696d756d20636f6d6d697373696f6e2073657474696e6720686173206265656e206368616e6765642e7c506f6f6c436f6d6d697373696f6e4368616e6765526174655570646174656408011c706f6f6c5f6964100118506f6f6c496400012c6368616e67655f726174657902019c436f6d6d697373696f6e4368616e6765526174653c426c6f636b4e756d626572466f723c543e3e000d04cc4120706f6f6c277320636f6d6d697373696f6e20606368616e67655f726174656020686173206265656e206368616e6765642e90506f6f6c436f6d6d697373696f6e436c61696d5065726d697373696f6e5570646174656408011c706f6f6c5f6964100118506f6f6c49640001287065726d697373696f6e7d0201bc4f7074696f6e3c436f6d6d697373696f6e436c61696d5065726d697373696f6e3c543a3a4163636f756e7449643e3e000e04c8506f6f6c20636f6d6d697373696f6e20636c61696d207065726d697373696f6e20686173206265656e20757064617465642e54506f6f6c436f6d6d697373696f6e436c61696d656408011c706f6f6c5f6964100118506f6f6c4964000128636f6d6d697373696f6e18013042616c616e63654f663c543e000f0484506f6f6c20636f6d6d697373696f6e20686173206265656e20636c61696d65642e644d696e42616c616e63654465666963697441646a757374656408011c706f6f6c5f6964100118506f6f6c4964000118616d6f756e7418013042616c616e63654f663c543e001004c8546f70706564207570206465666963697420696e2066726f7a656e204544206f66207468652072657761726420706f6f6c2e604d696e42616c616e636545786365737341646a757374656408011c706f6f6c5f6964100118506f6f6c4964000118616d6f756e7418013042616c616e63654f663c543e001104b0436c61696d6564206578636573732066726f7a656e204544206f66207468652072657761726420706f6f6c2e444c617374506f6f6c49645570646174656404011c706f6f6c5f6964100118506f6f6c496400120468546865206c61737420506f6f6c4964206973207570646174656404584576656e7473206f6620746869732070616c6c65742e7502104470616c6c65745f74616e676c655f6c737414747970657314706f6f6c7324506f6f6c537461746500010c104f70656e0000001c426c6f636b65640001002844657374726f79696e67000200007902104470616c6c65745f74616e676c655f6c737414747970657328636f6d6d697373696f6e50436f6d6d697373696f6e4368616e676552617465042c426c6f636b4e756d6265720130000801306d61785f696e637265617365f4011c50657262696c6c0001246d696e5f64656c617930012c426c6f636b4e756d62657200007d0204184f7074696f6e0404540181020108104e6f6e6500000010536f6d650400810200000100008102104470616c6c65745f74616e676c655f6c737414747970657328636f6d6d697373696f6e64436f6d6d697373696f6e436c61696d5065726d697373696f6e04244163636f756e74496401000108385065726d697373696f6e6c6573730000001c4163636f756e7404000001244163636f756e7449640001000085020c3870616c6c65745f726577617264731870616c6c6574144576656e740404540001283852657761726473436c61696d65640c011c6163636f756e74000130543a3a4163636f756e7449640001146173736574f101014441737365743c543a3a417373657449643e000118616d6f756e7418013042616c616e63654f663c543e0000049c526577617264732068617665206265656e20636c61696d656420627920616e206163636f756e7454496e63656e74697665415059416e644361705365740c01207661756c745f6964100128543a3a5661756c74496400010c617079f4014c73705f72756e74696d653a3a50657262696c6c00010c63617018013042616c616e63654f663c543e00010419014576656e7420656d6974746564207768656e20616e20696e63656e746976652041505920616e6420636170206172652073657420666f72206120726577617264207661756c7450426c75657072696e7457686974656c6973746564040130626c75657072696e745f696430012c426c75657072696e744964000204e44576656e7420656d6974746564207768656e206120626c75657072696e742069732077686974656c697374656420666f7220726577617264734c417373657455706461746564496e5661756c740c01207661756c745f6964100128543a3a5661756c7449640001146173736574f101014441737365743c543a3a417373657449643e000118616374696f6e8902012c4173736574416374696f6e00030498417373657420686173206265656e207570646174656420746f20726577617264207661756c74605661756c74526577617264436f6e666967557064617465640801207661756c745f6964100128543a3a5661756c7449640001286e65775f636f6e6669678d02019c526577617264436f6e666967466f7241737365745661756c743c42616c616e63654f663c543e3e0004046c5661756c742072657761726420636f6e6669672075706461746564485265776172645661756c74437265617465640c01207661756c745f6964100128543a3a5661756c7449640001286e65775f636f6e6669678d02019c526577617264436f6e666967466f7241737365745661756c743c42616c616e63654f663c543e3e00012c706f745f6163636f756e74000130543a3a4163636f756e744964000504345661756c74206372656174656444546f74616c53636f7265557064617465641001207661756c745f6964100128543a3a5661756c7449640001146173736574f101014441737365743c543a3a417373657449643e00012c746f74616c5f73636f726518013042616c616e63654f663c543e00013c6c6f636b5f6d756c7469706c696572950201584f7074696f6e3c4c6f636b4d756c7469706c6965723e00060470546f74616c2073636f726520696e207661756c7420757064617465644c546f74616c4465706f736974557064617465640c01207661756c745f6964100128543a3a5661756c7449640001146173736574f101014441737365743c543a3a417373657449643e000134746f74616c5f6465706f73697418013042616c616e63654f663c543e00070478546f74616c206465706f73697420696e207661756c742075706461746564484465636179436f6e6669675570646174656408013073746172745f706572696f64300144426c6f636b4e756d626572466f723c543e00011072617465f4011c50657262696c6c0008047c446563617920636f6e66696775726174696f6e20776173207570646174656440417079426c6f636b7355706461746564040118626c6f636b73300144426c6f636b4e756d626572466f723c543e000904e4546865206e756d626572206f6620626c6f636b7320666f72204150592063616c63756c6174696f6e20686173206265656e2075706461746564047c54686520604576656e746020656e756d206f6620746869732070616c6c657489020c3870616c6c65745f726577617264731474797065732c4173736574416374696f6e0001080c4164640000001852656d6f7665000100008d020c3870616c6c65745f7265776172647314747970657364526577617264436f6e666967466f7241737365745661756c74041c42616c616e636501180010010c617079f4011c50657262696c6c000134696e63656e746976655f63617018011c42616c616e636500012c6465706f7369745f63617018011c42616c616e6365000140626f6f73745f6d756c7469706c6965729102012c4f7074696f6e3c7533323e0000910204184f7074696f6e04045401100108104e6f6e6500000010536f6d650400100000010000950204184f7074696f6e0404540199020108104e6f6e6500000010536f6d650400990200000100009902104474616e676c655f7072696d6974697665731474797065731c72657761726473384c6f636b4d756c7469706c696572000110204f6e654d6f6e74680001002454776f4d6f6e7468730002002c54687265654d6f6e746873000300245369784d6f6e746873000600009d020c2c70616c6c65745f69736d701870616c6c6574144576656e740404540001344c53746174654d616368696e655570646174656408014073746174655f6d616368696e655f6964a102013853746174654d616368696e65496404605374617465206d616368696e65206964656e74696669657201346c61746573745f68656967687430010c753634046c5374617465206d616368696e65206c61746573742068656967687400041101456d6974746564207768656e2061207374617465206d616368696e65206973207375636365737366756c6c79207570646174656420746f2061206e657720686569676874545374617465436f6d6d69746d656e745665746f6564080118686569676874a902014853746174654d616368696e6548656967687404505374617465206d616368696e652068656967687401246669736865726d616e7d010170426f756e6465645665633c75382c20436f6e73745533323c33323e3e0454726573706f6e7369626c65206669736865726d616e0104e0456d6974746564207768656e206120737461746520636f6d6d69746d656e74206973207665746f65642062792061206669736865726d616e58436f6e73656e737573436c69656e744372656174656404014c636f6e73656e7375735f636c69656e745f6964480144436f6e73656e737573436c69656e744964044c436f6e73656e73757320636c69656e742069640204c8496e646963617465732074686174206120636f6e73656e73757320636c69656e7420686173206265656e206372656174656454436f6e73656e737573436c69656e7446726f7a656e04014c636f6e73656e7375735f636c69656e745f6964480144436f6e73656e737573436c69656e744964044c436f6e73656e73757320636c69656e742069640304c8496e646963617465732074686174206120636f6e73656e73757320636c69656e7420686173206265656e206372656174656420526573706f6e7365140128646573745f636861696ea502013053746174654d616368696e6504a8436861696e2074686174207468697320726573706f6e73652077696c6c20626520726f7574656420746f0130736f757263655f636861696ea502013053746174654d616368696e650478536f7572636520436861696e20666f72207468697320726573706f6e73650134726571756573745f6e6f6e636530010c75363404c04e6f6e636520666f72207468652072657175657374207768696368207468697320726573706f6e736520697320666f720128636f6d6d69746d656e7434011048323536044c526573706f6e736520436f6d6d69746d656e7401387265715f636f6d6d69746d656e743401104832353604485265717565737420636f6d6d69746d656e7404049c416e204f7574676f696e6720526573706f6e736520686173206265656e206465706f73697465641c52657175657374100128646573745f636861696ea502013053746174654d616368696e6504a4436861696e2074686174207468697320726571756573742077696c6c20626520726f7574656420746f0130736f757263655f636861696ea502013053746174654d616368696e650460536f7572636520436861696e20666f7220726571756573740134726571756573745f6e6f6e636530010c753634043452657175657374206e6f6e63650128636f6d6d69746d656e74340110483235360428436f6d6d69746d656e74050498416e204f7574676f696e67205265717565737420686173206265656e206465706f7369746564184572726f72730401186572726f7273ad0201485665633c48616e646c696e674572726f723e045c4d6573736167652068616e646c696e67206572726f727306049c536f6d65206572726f72732068616e646c696e6720736f6d652069736d70206d6573736167657348506f73745265717565737448616e646c65640400b902015852657175657374526573706f6e736548616e646c656400070450506f737420526571756573742048616e646c65644c506f7374526573706f6e736548616e646c65640400b902015852657175657374526573706f6e736548616e646c656400080454506f737420526573706f6e73652048616e646c6564444765745265717565737448616e646c65640400b902015852657175657374526573706f6e736548616e646c65640009045047657420526573706f6e73652048616e646c656464506f73745265717565737454696d656f757448616e646c65640400bd02013854696d656f757448616e646c6564000a0470506f737420726571756573742074696d656f75742068616e646c656468506f7374526573706f6e736554696d656f757448616e646c65640400bd02013854696d656f757448616e646c6564000b0474506f737420726573706f6e73652074696d656f75742068616e646c6564604765745265717565737454696d656f757448616e646c65640400bd02013854696d656f757448616e646c6564000c046c47657420726571756573742074696d656f75742068616e646c6564043450616c6c6574204576656e7473a1020c1069736d7024636f6e73656e7375733853746174654d616368696e654964000008012073746174655f6964a502013053746174654d616368696e65000148636f6e73656e7375735f73746174655f6964480140436f6e73656e737573537461746549640000a5020c1069736d7010686f73743053746174654d616368696e650001140c45766d040010010c75333200000020506f6c6b61646f74040010010c753332000100184b7573616d61040010010c753332000200245375627374726174650400480140436f6e73656e737573537461746549640003002854656e6465726d696e740400480140436f6e73656e7375735374617465496400040000a9020c1069736d7024636f6e73656e7375734853746174654d616368696e6548656967687400000801086964a102013853746174654d616368696e65496400011868656967687430010c7536340000ad02000002b10200b1020c2c70616c6c65745f69736d70186572726f72733448616e646c696e674572726f72000004011c6d657373616765b5020178426f756e6465645665633c75382c20436f6e73745533323c313030303e3e0000b5020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e0000b9020c1069736d70186576656e74735852657175657374526573706f6e736548616e646c65640000080128636f6d6d69746d656e743401104832353600011c72656c6179657238011c5665633c75383e0000bd020c1069736d70186576656e74733854696d656f757448616e646c656400000c0128636f6d6d69746d656e7434011048323536000118736f75726365a502013053746174654d616368696e6500011064657374a502013053746174654d616368696e650000c1020c3069736d705f6772616e6470611870616c6c6574144576656e740404540001084453746174654d616368696e65416464656404013873746174655f6d616368696e6573c50201445665633c53746174654d616368696e653e0478546865207374617465206d616368696e657320696e207175657374696f6e0004ac5374617465206d616368696e65732068617665206265656e20616464656420746f2077686974656c6973744c53746174654d616368696e6552656d6f76656404013873746174655f6d616368696e6573c50201445665633c53746174654d616368696e653e0478546865207374617465206d616368696e657320696e207175657374696f6e0104cc5374617465206d616368696e65732068617665206265656e2072656d6f7665642066726f6d207468652077686974656c69737404744576656e747320656d697474656420627920746869732070616c6c6574c502000002a50200c9020c4870616c6c65745f68797065726272696467651870616c6c6574144576656e7404045400010c44486f7374506172616d735570646174656408010c6f6c64cd0201e056657273696f6e6564486f7374506172616d733c3c542061732070616c6c65745f69736d703a3a436f6e6669673e3a3a42616c616e63653e044c546865206f6c6420686f737420706172616d73010c6e6577cd0201e056657273696f6e6564486f7374506172616d733c3c542061732070616c6c65745f69736d703a3a436f6e6669673e3a3a42616c616e63653e044c546865206e657720686f737420706172616d7300041901487970657262726964676520676f7665726e616e636520686173206e6f772075706461746564206974277320686f737420706172616d73206f6e207468697320636861696e2e4c52656c6179657246656557697468647261776e080118616d6f756e7418018c3c542061732070616c6c65745f69736d703a3a436f6e6669673e3a3a42616c616e6365047454686520616d6f756e742074686174207761732077697468647261776e011c6163636f756e74000130543a3a4163636f756e7449640468546865207769746864726177616c2062656e6566696369617279010484412072656c61796572206861732077697468647261776e20736f6d6520666565736050726f746f636f6c526576656e756557697468647261776e080118616d6f756e7418018c3c542061732070616c6c65745f69736d703a3a436f6e6669673e3a3a42616c616e6365047454686520616d6f756e742074686174207761732077697468647261776e011c6163636f756e74000130543a3a4163636f756e7449640468546865207769746864726177616c2062656e65666963696172790204bc4879706572627269646765206861732077697468647261776e20697427732070726f746f636f6c20726576656e7565047c54686520604576656e746020656e756d206f6620746869732070616c6c6574cd02084870616c6c65745f68797065726272696467654c56657273696f6e6564486f7374506172616d73041c42616c616e6365011801040856310400d1020170537562737472617465486f7374506172616d733c42616c616e63653e00000000d102084870616c6c65745f68797065726272696467654c537562737472617465486f7374506172616d730404420118000c015064656661756c745f7065725f627974655f666565180104420001347065725f627974655f66656573d502016442547265654d61703c53746174654d616368696e652c20423e00015861737365745f726567697374726174696f6e5f666565180104420000d502042042547265654d617008044b01a50204560118000400d902000000d902000002dd0200dd0200000408a5021800e1020c5070616c6c65745f746f6b656e5f676174657761791870616c6c6574144576656e740404540001103c417373657454656c65706f7274656414011066726f6d000130543a3a4163636f756e7449640438536f75726365206163636f756e740108746f34011048323536048862656e6566696369617279206163636f756e74206f6e2064657374696e6174696f6e0118616d6f756e741801d83c543a3a4e617469766543757272656e63792061732043757272656e63793c543a3a4163636f756e7449643e3e3a3a42616c616e63650448416d6f756e74207472616e73666572726564011064657374a502013053746174654d616368696e65044444657374696e6174696f6e20636861696e0128636f6d6d69746d656e743401104832353604485265717565737420636f6d6d69746d656e74000470416e20617373657420686173206265656e2074656c65706f7274656434417373657452656365697665640c012c62656e6566696369617279000130543a3a4163636f756e744964048462656e6566696369617279206163636f756e74206f6e2072656c6179636861696e0118616d6f756e7418010d013c3c5420617320436f6e6669673e3a3a4e617469766543757272656e63792061732043757272656e63793c543a3a4163636f756e7449643e3e3a3a0a42616c616e63650448416d6f756e74207472616e736665727265640118736f75726365a502013053746174654d616368696e65044444657374696e6174696f6e20636861696e01041d01416e20617373657420686173206265656e20726563656976656420616e64207472616e7366657272656420746f207468652062656e65666963696172792773206163636f756e74344173736574526566756e6465640c012c62656e6566696369617279000130543a3a4163636f756e744964048462656e6566696369617279206163636f756e74206f6e2072656c6179636861696e0118616d6f756e7418010d013c3c5420617320436f6e6669673e3a3a4e617469766543757272656e63792061732043757272656e63793c543a3a4163636f756e7449643e3e3a3a0a42616c616e63650448416d6f756e74207472616e736665727265640118736f75726365a502013053746174654d616368696e65044444657374696e6174696f6e20636861696e02041d01416e20617373657420686173206265656e20726566756e64656420616e64207472616e7366657272656420746f207468652062656e65666963696172792773206163636f756e7488455243363136304173736574526567697374726174696f6e44697370617463686564040128636f6d6d69746d656e743401104832353604485265717565737420636f6d6d69746d656e740304e045524336313630206173736574206372656174696f6e2072657175657374206469737061746368656420746f20687970657262726964676504d450616c6c6574206576656e747320746861742066756e6374696f6e7320696e20746869732070616c6c65742063616e20656d69742ee50208306672616d655f73797374656d14506861736500010c384170706c7945787472696e736963040010010c7533320000003046696e616c697a6174696f6e00010038496e697469616c697a6174696f6e00020000e902000002390100ed0208306672616d655f73797374656d584c61737452756e74696d6555706772616465496e666f0000080130737065635f76657273696f6ef102014c636f6465633a3a436f6d706163743c7533323e000124737065635f6e616d65ad01016473705f72756e74696d653a3a52756e74696d65537472696e670000f1020000061000f50208306672616d655f73797374656d60436f646555706772616465417574686f72697a6174696f6e0404540000080124636f64655f6861736834011c543a3a48617368000134636865636b5f76657273696f6e200110626f6f6c0000f9020c306672616d655f73797374656d1870616c6c65741043616c6c04045400012c1872656d61726b04011872656d61726b38011c5665633c75383e00000c684d616b6520736f6d65206f6e2d636861696e2072656d61726b2e008843616e20626520657865637574656420627920657665727920606f726967696e602e387365745f686561705f7061676573040114706167657330010c753634000104f853657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e207365745f636f6465040110636f646538011c5665633c75383e0002046453657420746865206e65772072756e74696d6520636f64652e5c7365745f636f64655f776974686f75745f636865636b73040110636f646538011c5665633c75383e000310190153657420746865206e65772072756e74696d6520636f646520776974686f757420646f696e6720616e7920636865636b73206f662074686520676976656e2060636f6465602e0051014e6f746520746861742072756e74696d652075706772616465732077696c6c206e6f742072756e20696620746869732069732063616c6c656420776974682061206e6f742d696e6372656173696e6720737065632076657273696f6e212c7365745f73746f726167650401146974656d73fd0201345665633c4b657956616c75653e0004046853657420736f6d65206974656d73206f662073746f726167652e306b696c6c5f73746f726167650401106b657973050301205665633c4b65793e000504744b696c6c20736f6d65206974656d732066726f6d2073746f726167652e2c6b696c6c5f70726566697808011870726566697838010c4b657900011c7375626b65797310010c75333200061011014b696c6c20616c6c2073746f72616765206974656d7320776974682061206b657920746861742073746172747320776974682074686520676976656e207072656669782e0039012a2a4e4f54453a2a2a2057652072656c79206f6e2074686520526f6f74206f726967696e20746f2070726f7669646520757320746865206e756d626572206f66207375626b65797320756e6465723d0174686520707265666978207765206172652072656d6f76696e6720746f2061636375726174656c792063616c63756c6174652074686520776569676874206f6620746869732066756e6374696f6e2e4472656d61726b5f776974685f6576656e7404011872656d61726b38011c5665633c75383e000704a44d616b6520736f6d65206f6e2d636861696e2072656d61726b20616e6420656d6974206576656e742e44617574686f72697a655f75706772616465040124636f64655f6861736834011c543a3a486173680009106101417574686f72697a6520616e207570677261646520746f206120676976656e2060636f64655f686173686020666f72207468652072756e74696d652e205468652072756e74696d652063616e20626520737570706c696564186c617465722e007c546869732063616c6c20726571756972657320526f6f74206f726967696e2e80617574686f72697a655f757067726164655f776974686f75745f636865636b73040124636f64655f6861736834011c543a3a48617368000a206101417574686f72697a6520616e207570677261646520746f206120676976656e2060636f64655f686173686020666f72207468652072756e74696d652e205468652072756e74696d652063616e20626520737570706c696564186c617465722e005d015741524e494e473a205468697320617574686f72697a657320616e207570677261646520746861742077696c6c2074616b6520706c61636520776974686f757420616e792073616665747920636865636b732c20666f7259016578616d706c652074686174207468652073706563206e616d652072656d61696e73207468652073616d6520616e642074686174207468652076657273696f6e206e756d62657220696e637265617365732e204e6f74f07265636f6d6d656e64656420666f72206e6f726d616c207573652e205573652060617574686f72697a655f757067726164656020696e73746561642e007c546869732063616c6c20726571756972657320526f6f74206f726967696e2e606170706c795f617574686f72697a65645f75706772616465040110636f646538011c5665633c75383e000b24550150726f766964652074686520707265696d616765202872756e74696d652062696e617279292060636f64656020666f7220616e2075706772616465207468617420686173206265656e20617574686f72697a65642e00490149662074686520617574686f72697a6174696f6e20726571756972656420612076657273696f6e20636865636b2c20746869732063616c6c2077696c6c20656e73757265207468652073706563206e616d65e872656d61696e7320756e6368616e67656420616e6420746861742074686520737065632076657273696f6e2068617320696e637265617365642e005901446570656e64696e67206f6e207468652072756e74696d65277320604f6e536574436f64656020636f6e66696775726174696f6e2c20746869732066756e6374696f6e206d6179206469726563746c79206170706c791101746865206e65772060636f64656020696e207468652073616d6520626c6f636b206f7220617474656d707420746f207363686564756c652074686520757067726164652e0060416c6c206f726967696e732061726520616c6c6f7765642e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732efd020000020103000103000004083838000503000002380009030c306672616d655f73797374656d186c696d69747330426c6f636b5765696768747300000c0128626173655f626c6f636b2801185765696768740001246d61785f626c6f636b2801185765696768740001247065725f636c6173730d0301845065724469737061746368436c6173733c57656967687473506572436c6173733e00000d030c346672616d655f737570706f7274206469737061746368405065724469737061746368436c617373040454011103000c01186e6f726d616c110301045400012c6f7065726174696f6e616c11030104540001246d616e6461746f72791103010454000011030c306672616d655f73797374656d186c696d6974733c57656967687473506572436c6173730000100138626173655f65787472696e7369632801185765696768740001346d61785f65787472696e736963150301384f7074696f6e3c5765696768743e0001246d61785f746f74616c150301384f7074696f6e3c5765696768743e0001207265736572766564150301384f7074696f6e3c5765696768743e0000150304184f7074696f6e04045401280108104e6f6e6500000010536f6d65040028000001000019030c306672616d655f73797374656d186c696d6974732c426c6f636b4c656e677468000004010c6d61781d0301545065724469737061746368436c6173733c7533323e00001d030c346672616d655f737570706f7274206469737061746368405065724469737061746368436c6173730404540110000c01186e6f726d616c1001045400012c6f7065726174696f6e616c100104540001246d616e6461746f72791001045400002103082873705f776569676874733c52756e74696d65446257656967687400000801107265616430010c753634000114777269746530010c75363400002503082873705f76657273696f6e3852756e74696d6556657273696f6e0000200124737065635f6e616d65ad01013452756e74696d65537472696e67000124696d706c5f6e616d65ad01013452756e74696d65537472696e67000144617574686f72696e675f76657273696f6e10010c753332000130737065635f76657273696f6e10010c753332000130696d706c5f76657273696f6e10010c753332000110617069732903011c4170697356656300014c7472616e73616374696f6e5f76657273696f6e10010c75333200013473746174655f76657273696f6e080108753800002903040c436f77040454012d030004002d030000002d0300000231030031030000040835031000350300000308000000080039030c306672616d655f73797374656d1870616c6c6574144572726f720404540001243c496e76616c6964537065634e616d650000081101546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e685370656356657273696f6e4e65656473546f496e63726561736500010841015468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e00020cec4661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e0009014569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e4c4e6f6e44656661756c74436f6d706f73697465000304fc537569636964652063616c6c6564207768656e20746865206163636f756e7420686173206e6f6e2d64656661756c7420636f6d706f7369746520646174612e3c4e6f6e5a65726f526566436f756e74000404350154686572652069732061206e6f6e2d7a65726f207265666572656e636520636f756e742070726576656e74696e6720746865206163636f756e742066726f6d206265696e67207075726765642e3043616c6c46696c7465726564000504d0546865206f726967696e2066696c7465722070726576656e74207468652063616c6c20746f20626520646973706174636865642e6c4d756c7469426c6f636b4d6967726174696f6e734f6e676f696e67000604550141206d756c74692d626c6f636b206d6967726174696f6e206973206f6e676f696e6720616e642070726576656e7473207468652063757272656e7420636f64652066726f6d206265696e67207265706c616365642e444e6f7468696e67417574686f72697a6564000704584e6f207570677261646520617574686f72697a65642e30556e617574686f72697a656400080494546865207375626d697474656420636f6465206973206e6f7420617574686f72697a65642e046c4572726f7220666f72207468652053797374656d2070616c6c65743d030c4070616c6c65745f74696d657374616d701870616c6c65741043616c6c0404540001040c73657404010c6e6f772c0124543a3a4d6f6d656e7400004c54536574207468652063757272656e742074696d652e005501546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6ed470686173652c20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e0041015468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e7420737065636966696564206279685b60436f6e6669673a3a4d696e696d756d506572696f64605d2e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f4e6f6e655f2e0051015468697320646973706174636820636c617373206973205f4d616e6461746f72795f20746f20656e73757265206974206765747320657865637574656420696e2074686520626c6f636b2e204265206177617265510174686174206368616e67696e672074686520636f6d706c6578697479206f6620746869732063616c6c20636f756c6420726573756c742065786861757374696e6720746865207265736f757263657320696e206184626c6f636b20746f206578656375746520616e79206f746865722063616c6c732e0034232320436f6d706c657869747931012d20604f2831296020284e6f7465207468617420696d706c656d656e746174696f6e73206f6620604f6e54696d657374616d7053657460206d75737420616c736f20626520604f283129602955012d20312073746f72616765207265616420616e6420312073746f72616765206d75746174696f6e2028636f64656320604f283129602062656361757365206f6620604469645570646174653a3a74616b656020696e402020606f6e5f66696e616c697a656029d42d2031206576656e742068616e646c657220606f6e5f74696d657374616d705f736574602e204d75737420626520604f283129602e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e41030c2c70616c6c65745f7375646f1870616c6c65741043616c6c040454000114107375646f04011063616c6c4503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000004350141757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c20776974682060526f6f7460206f726967696e2e547375646f5f756e636865636b65645f77656967687408011063616c6c4503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000118776569676874280118576569676874000114350141757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c20776974682060526f6f7460206f726967696e2e2d01546869732066756e6374696f6e20646f6573206e6f7420636865636b2074686520776569676874206f66207468652063616c6c2c20616e6420696e737465616420616c6c6f777320746865b05375646f207573657220746f20737065636966792074686520776569676874206f66207468652063616c6c2e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e1c7365745f6b657904010c6e65774d0301504163636f756e7449644c6f6f6b75704f663c543e0002085d0141757468656e74696361746573207468652063757272656e74207375646f206b657920616e6420736574732074686520676976656e204163636f756e7449642028606e6577602920617320746865206e6577207375646f106b65792e1c7375646f5f617308010c77686f4d0301504163636f756e7449644c6f6f6b75704f663c543e00011063616c6c4503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0003104d0141757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c207769746820605369676e656460206f726967696e2066726f6d406120676976656e206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e2872656d6f76655f6b657900040c845065726d616e656e746c792072656d6f76657320746865207375646f206b65792e006c2a2a546869732063616e6e6f7420626520756e2d646f6e652e2a2a040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e4503085874616e676c655f746573746e65745f72756e74696d652c52756e74696d6543616c6c0001a41853797374656d0400f90201ad0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53797374656d2c2052756e74696d653e0001002454696d657374616d7004003d0301b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54696d657374616d702c2052756e74696d653e000200105375646f0400410301a50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5375646f2c2052756e74696d653e000300184173736574730400490301ad0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4173736574732c2052756e74696d653e0005002042616c616e6365730400510301b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c42616c616e6365732c2052756e74696d653e00060010426162650400590301a50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c426162652c2052756e74696d653e0009001c4772616e64706104007d0301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4772616e6470612c2052756e74696d653e000a001c496e64696365730400ad0301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c496e64696365732c2052756e74696d653e000b002444656d6f63726163790400b10301b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44656d6f63726163792c2052756e74696d653e000c001c436f756e63696c0400c90301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c436f756e63696c2c2052756e74696d653e000d001c56657374696e670400cd0301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c56657374696e672c2052756e74696d653e000e0024456c656374696f6e730400d50301b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c456c656374696f6e732c2052756e74696d653e000f0068456c656374696f6e50726f76696465724d756c746950686173650400dd0301fd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c456c656374696f6e50726f76696465724d756c746950686173652c2052756e74696d653e0010001c5374616b696e670400c50401b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5374616b696e672c2052756e74696d653e0011001c53657373696f6e0400f90401b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53657373696f6e2c2052756e74696d653e0012002054726561737572790400010501b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54726561737572792c2052756e74696d653e00140020426f756e746965730400090501b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c426f756e746965732c2052756e74696d653e001500344368696c64426f756e7469657304000d0501c90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4368696c64426f756e746965732c2052756e74696d653e00160020426167734c6973740400110501b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c426167734c6973742c2052756e74696d653e0017003c4e6f6d696e6174696f6e506f6f6c730400150501d10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4e6f6d696e6174696f6e506f6f6c732c2052756e74696d653e001800245363686564756c65720400310501b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5363686564756c65722c2052756e74696d653e00190020507265696d6167650400390501b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c507265696d6167652c2052756e74696d653e001a001c5478506175736504003d0501b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c547850617573652c2052756e74696d653e001c0020496d4f6e6c696e650400410501b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c496d4f6e6c696e652c2052756e74696d653e001d00204964656e7469747904004d0501b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4964656e746974792c2052756e74696d653e001e001c5574696c6974790400ed0501b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5574696c6974792c2052756e74696d653e001f00204d756c74697369670400050601b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4d756c74697369672c2052756e74696d653e00200020457468657265756d04000d0601b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c457468657265756d2c2052756e74696d653e0021000c45564d0400350601a10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c45564d2c2052756e74696d653e0022002844796e616d69634665650400450601bd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44796e616d69634665652c2052756e74696d653e0024001c426173654665650400490601b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c426173654665652c2052756e74696d653e00250044486f7466697853756666696369656e747304004d0601d90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c486f7466697853756666696369656e74732c2052756e74696d653e00260018436c61696d730400550601ad0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c436c61696d732c2052756e74696d653e0027001450726f78790400810601a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50726f78792c2052756e74696d653e002c00504d756c7469417373657444656c65676174696f6e0400890601e50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4d756c7469417373657444656c65676174696f6e2c2052756e74696d653e002d002053657276696365730400a10601b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53657276696365732c2052756e74696d653e0033000c4c73740400710701a10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4c73742c2052756e74696d653e0034001c526577617264730400990701b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c526577617264732c2052756e74696d653e0035001049736d7004009d0701a50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c49736d702c2052756e74696d653e0037002c49736d704772616e6470610400250801c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c49736d704772616e6470612c2052756e74696d653e00380030546f6b656e476174657761790400310801c50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546f6b656e476174657761792c2052756e74696d653e003a000049030c3470616c6c65745f6173736574731870616c6c65741043616c6c080454000449000180186372656174650c010869646d01014c543a3a41737365744964506172616d6574657200011461646d696e4d0301504163636f756e7449644c6f6f6b75704f663c543e00012c6d696e5f62616c616e6365180128543a3a42616c616e636500004ce849737375652061206e657720636c617373206f662066756e6769626c65206173736574732066726f6d2061207075626c6963206f726967696e2e00250154686973206e657720617373657420636c61737320686173206e6f2061737365747320696e697469616c6c7920616e6420697473206f776e657220697320746865206f726967696e2e006101546865206f726967696e206d75737420636f6e666f726d20746f2074686520636f6e6669677572656420604372656174654f726967696e6020616e6420686176652073756666696369656e742066756e647320667265652e00bc46756e6473206f662073656e64657220617265207265736572766564206279206041737365744465706f736974602e002c506172616d65746572733a59012d20606964603a20546865206964656e746966696572206f6620746865206e65772061737365742e2054686973206d757374206e6f742062652063757272656e746c7920696e2075736520746f206964656e746966793101616e206578697374696e672061737365742e204966205b604e65787441737365744964605d206973207365742c207468656e2074686973206d75737420626520657175616c20746f2069742e59012d206061646d696e603a205468652061646d696e206f66207468697320636c617373206f66206173736574732e205468652061646d696e2069732074686520696e697469616c2061646472657373206f6620656163689c6d656d626572206f662074686520617373657420636c61737327732061646d696e207465616d2e4d012d20606d696e5f62616c616e6365603a20546865206d696e696d756d2062616c616e6365206f662074686973206e6577206173736574207468617420616e792073696e676c65206163636f756e74206d7573743d01686176652e20496620616e206163636f756e7427732062616c616e636520697320726564756365642062656c6f7720746869732c207468656e20697420636f6c6c617073657320746f207a65726f2e0098456d69747320604372656174656460206576656e74207768656e207375636365737366756c2e00385765696768743a20604f2831296030666f7263655f63726561746510010869646d01014c543a3a41737365744964506172616d657465720001146f776e65724d0301504163636f756e7449644c6f6f6b75704f663c543e00013469735f73756666696369656e74200110626f6f6c00012c6d696e5f62616c616e63656d010128543a3a42616c616e636500014cf849737375652061206e657720636c617373206f662066756e6769626c65206173736574732066726f6d20612070726976696c65676564206f726967696e2e00b454686973206e657720617373657420636c61737320686173206e6f2061737365747320696e697469616c6c792e00a4546865206f726967696e206d75737420636f6e666f726d20746f2060466f7263654f726967696e602e009c556e6c696b652060637265617465602c206e6f2066756e6473206172652072657365727665642e0059012d20606964603a20546865206964656e746966696572206f6620746865206e65772061737365742e2054686973206d757374206e6f742062652063757272656e746c7920696e2075736520746f206964656e746966793101616e206578697374696e672061737365742e204966205b604e65787441737365744964605d206973207365742c207468656e2074686973206d75737420626520657175616c20746f2069742e59012d20606f776e6572603a20546865206f776e6572206f66207468697320636c617373206f66206173736574732e20546865206f776e6572206861732066756c6c20737570657275736572207065726d697373696f6e7325016f76657220746869732061737365742c20627574206d6179206c61746572206368616e676520616e6420636f6e66696775726520746865207065726d697373696f6e73207573696e6790607472616e736665725f6f776e6572736869706020616e6420607365745f7465616d602e4d012d20606d696e5f62616c616e6365603a20546865206d696e696d756d2062616c616e6365206f662074686973206e6577206173736574207468617420616e792073696e676c65206163636f756e74206d7573743d01686176652e20496620616e206163636f756e7427732062616c616e636520697320726564756365642062656c6f7720746869732c207468656e20697420636f6c6c617073657320746f207a65726f2e00ac456d6974732060466f7263654372656174656460206576656e74207768656e207375636365737366756c2e00385765696768743a20604f283129603473746172745f64657374726f7904010869646d01014c543a3a41737365744964506172616d6574657200022cdc5374617274207468652070726f63657373206f662064657374726f79696e6720612066756e6769626c6520617373657420636c6173732e0059016073746172745f64657374726f79602069732074686520666972737420696e206120736572696573206f662065787472696e7369637320746861742073686f756c642062652063616c6c65642c20746f20616c6c6f77786465737472756374696f6e206f6620616e20617373657420636c6173732e005101546865206f726967696e206d75737420636f6e666f726d20746f2060466f7263654f726967696e60206f72206d75737420626520605369676e65646020627920746865206173736574277320606f776e6572602e004d012d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652064657374726f7965642e2054686973206d757374206964656e7469667920616e206578697374696e6720202061737365742e00f854686520617373657420636c617373206d7573742062652066726f7a656e206265666f72652063616c6c696e67206073746172745f64657374726f79602e4064657374726f795f6163636f756e747304010869646d01014c543a3a41737365744964506172616d65746572000330cc44657374726f7920616c6c206163636f756e7473206173736f6369617465642077697468206120676976656e2061737365742e005d016064657374726f795f6163636f756e7473602073686f756c64206f6e6c792062652063616c6c6564206166746572206073746172745f64657374726f796020686173206265656e2063616c6c65642c20616e642074686584617373657420697320696e2061206044657374726f79696e67602073746174652e005d0144756520746f20776569676874207265737472696374696f6e732c20746869732066756e6374696f6e206d6179206e65656420746f2062652063616c6c6564206d756c7469706c652074696d657320746f2066756c6c79310164657374726f7920616c6c206163636f756e74732e2049742077696c6c2064657374726f79206052656d6f76654974656d734c696d697460206163636f756e747320617420612074696d652e004d012d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652064657374726f7965642e2054686973206d757374206964656e7469667920616e206578697374696e6720202061737365742e00d4456163682063616c6c20656d6974732074686520604576656e743a3a44657374726f7965644163636f756e747360206576656e742e4464657374726f795f617070726f76616c7304010869646d01014c543a3a41737365744964506172616d65746572000430610144657374726f7920616c6c20617070726f76616c73206173736f6369617465642077697468206120676976656e20617373657420757020746f20746865206d61782028543a3a52656d6f76654974656d734c696d6974292e0061016064657374726f795f617070726f76616c73602073686f756c64206f6e6c792062652063616c6c6564206166746572206073746172745f64657374726f796020686173206265656e2063616c6c65642c20616e642074686584617373657420697320696e2061206044657374726f79696e67602073746174652e005d0144756520746f20776569676874207265737472696374696f6e732c20746869732066756e6374696f6e206d6179206e65656420746f2062652063616c6c6564206d756c7469706c652074696d657320746f2066756c6c79390164657374726f7920616c6c20617070726f76616c732e2049742077696c6c2064657374726f79206052656d6f76654974656d734c696d69746020617070726f76616c7320617420612074696d652e004d012d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652064657374726f7965642e2054686973206d757374206964656e7469667920616e206578697374696e6720202061737365742e00d8456163682063616c6c20656d6974732074686520604576656e743a3a44657374726f796564417070726f76616c7360206576656e742e3866696e6973685f64657374726f7904010869646d01014c543a3a41737365744964506172616d65746572000528c4436f6d706c6574652064657374726f79696e6720617373657420616e6420756e726573657276652063757272656e63792e0055016066696e6973685f64657374726f79602073686f756c64206f6e6c792062652063616c6c6564206166746572206073746172745f64657374726f796020686173206265656e2063616c6c65642c20616e64207468655901617373657420697320696e2061206044657374726f79696e67602073746174652e20416c6c206163636f756e7473206f7220617070726f76616c732073686f756c642062652064657374726f796564206265666f72651468616e642e004d012d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652064657374726f7965642e2054686973206d757374206964656e7469667920616e206578697374696e6720202061737365742e00e045616368207375636365737366756c2063616c6c20656d6974732074686520604576656e743a3a44657374726f79656460206576656e742e106d696e740c010869646d01014c543a3a41737365744964506172616d6574657200012c62656e65666963696172794d0301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e746d010128543a3a42616c616e6365000630884d696e7420617373657473206f66206120706172746963756c617220636c6173732e003901546865206f726967696e206d757374206265205369676e656420616e64207468652073656e646572206d7573742062652074686520497373756572206f662074686520617373657420606964602e00fc2d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74206d696e7465642e0d012d206062656e6566696369617279603a20546865206163636f756e7420746f206265206372656469746564207769746820746865206d696e746564206173736574732ec42d2060616d6f756e74603a2054686520616d6f756e74206f662074686520617373657420746f206265206d696e7465642e0094456d697473206049737375656460206576656e74207768656e207375636365737366756c2e00385765696768743a20604f2831296055014d6f6465733a205072652d6578697374696e672062616c616e6365206f66206062656e6566696369617279603b204163636f756e74207072652d6578697374656e6365206f66206062656e6566696369617279602e106275726e0c010869646d01014c543a3a41737365744964506172616d6574657200010c77686f4d0301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e746d010128543a3a42616c616e636500073c4501526564756365207468652062616c616e6365206f66206077686f60206279206173206d75636820617320706f737369626c6520757020746f2060616d6f756e746020617373657473206f6620606964602e0035014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204d616e61676572206f662074686520617373657420606964602e00d04261696c73207769746820604e6f4163636f756e746020696620746865206077686f6020697320616c726561647920646561642e00fc2d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74206275726e65642ea02d206077686f603a20546865206163636f756e7420746f20626520646562697465642066726f6d2e29012d2060616d6f756e74603a20546865206d6178696d756d20616d6f756e74206279207768696368206077686f6027732062616c616e63652073686f756c6420626520726564756365642e005101456d69747320604275726e6564602077697468207468652061637475616c20616d6f756e74206275726e65642e20496620746869732074616b6573207468652062616c616e636520746f2062656c6f772074686539016d696e696d756d20666f72207468652061737365742c207468656e2074686520616d6f756e74206275726e656420697320696e6372656173656420746f2074616b6520697420746f207a65726f2e00385765696768743a20604f2831296009014d6f6465733a20506f73742d6578697374656e6365206f66206077686f603b20507265202620706f7374205a6f6d6269652d737461747573206f66206077686f602e207472616e736665720c010869646d01014c543a3a41737365744964506172616d657465720001187461726765744d0301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e746d010128543a3a42616c616e6365000848d04d6f766520736f6d65206173736574732066726f6d207468652073656e646572206163636f756e7420746f20616e6f746865722e00584f726967696e206d757374206265205369676e65642e0011012d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74207472616e736665727265642e9c2d2060746172676574603a20546865206163636f756e7420746f2062652063726564697465642e51012d2060616d6f756e74603a2054686520616d6f756e74206279207768696368207468652073656e64657227732062616c616e6365206f66206173736574732073686f756c64206265207265647563656420616e646101607461726765746027732062616c616e636520696e637265617365642e2054686520616d6f756e742061637475616c6c79207472616e73666572726564206d617920626520736c696768746c79206772656174657220696e5d017468652063617365207468617420746865207472616e7366657220776f756c64206f74686572776973652074616b65207468652073656e6465722062616c616e63652061626f7665207a65726f206275742062656c6f77bc746865206d696e696d756d2062616c616e63652e204d7573742062652067726561746572207468616e207a65726f2e006101456d69747320605472616e73666572726564602077697468207468652061637475616c20616d6f756e74207472616e736665727265642e20496620746869732074616b65732074686520736f757263652062616c616e63655d01746f2062656c6f7720746865206d696e696d756d20666f72207468652061737365742c207468656e2074686520616d6f756e74207472616e7366657272656420697320696e6372656173656420746f2074616b6520697420746f207a65726f2e00385765696768743a20604f2831296051014d6f6465733a205072652d6578697374656e6365206f662060746172676574603b20506f73742d6578697374656e6365206f662073656e6465723b204163636f756e74207072652d6578697374656e6365206f662460746172676574602e4c7472616e736665725f6b6565705f616c6976650c010869646d01014c543a3a41737365744964506172616d657465720001187461726765744d0301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e746d010128543a3a42616c616e636500094859014d6f766520736f6d65206173736574732066726f6d207468652073656e646572206163636f756e7420746f20616e6f746865722c206b656570696e67207468652073656e646572206163636f756e7420616c6976652e00584f726967696e206d757374206265205369676e65642e0011012d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74207472616e736665727265642e9c2d2060746172676574603a20546865206163636f756e7420746f2062652063726564697465642e51012d2060616d6f756e74603a2054686520616d6f756e74206279207768696368207468652073656e64657227732062616c616e6365206f66206173736574732073686f756c64206265207265647563656420616e646101607461726765746027732062616c616e636520696e637265617365642e2054686520616d6f756e742061637475616c6c79207472616e73666572726564206d617920626520736c696768746c79206772656174657220696e5d017468652063617365207468617420746865207472616e7366657220776f756c64206f74686572776973652074616b65207468652073656e6465722062616c616e63652061626f7665207a65726f206275742062656c6f77bc746865206d696e696d756d2062616c616e63652e204d7573742062652067726561746572207468616e207a65726f2e006101456d69747320605472616e73666572726564602077697468207468652061637475616c20616d6f756e74207472616e736665727265642e20496620746869732074616b65732074686520736f757263652062616c616e63655d01746f2062656c6f7720746865206d696e696d756d20666f72207468652061737365742c207468656e2074686520616d6f756e74207472616e7366657272656420697320696e6372656173656420746f2074616b6520697420746f207a65726f2e00385765696768743a20604f2831296051014d6f6465733a205072652d6578697374656e6365206f662060746172676574603b20506f73742d6578697374656e6365206f662073656e6465723b204163636f756e74207072652d6578697374656e6365206f662460746172676574602e38666f7263655f7472616e7366657210010869646d01014c543a3a41737365744964506172616d65746572000118736f757263654d0301504163636f756e7449644c6f6f6b75704f663c543e000110646573744d0301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e746d010128543a3a42616c616e6365000a4cb44d6f766520736f6d65206173736574732066726f6d206f6e65206163636f756e7420746f20616e6f746865722e002d014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c64206265207468652041646d696e206f662074686520617373657420606964602e0011012d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74207472616e736665727265642e982d2060736f75726365603a20546865206163636f756e7420746f20626520646562697465642e942d206064657374603a20546865206163636f756e7420746f2062652063726564697465642e59012d2060616d6f756e74603a2054686520616d6f756e74206279207768696368207468652060736f757263656027732062616c616e6365206f66206173736574732073686f756c64206265207265647563656420616e64590160646573746027732062616c616e636520696e637265617365642e2054686520616d6f756e742061637475616c6c79207472616e73666572726564206d617920626520736c696768746c79206772656174657220696e4d017468652063617365207468617420746865207472616e7366657220776f756c64206f74686572776973652074616b65207468652060736f75726365602062616c616e63652061626f7665207a65726f20627574d462656c6f7720746865206d696e696d756d2062616c616e63652e204d7573742062652067726561746572207468616e207a65726f2e006101456d69747320605472616e73666572726564602077697468207468652061637475616c20616d6f756e74207472616e736665727265642e20496620746869732074616b65732074686520736f757263652062616c616e63655d01746f2062656c6f7720746865206d696e696d756d20666f72207468652061737365742c207468656e2074686520616d6f756e74207472616e7366657272656420697320696e6372656173656420746f2074616b6520697420746f207a65726f2e00385765696768743a20604f2831296051014d6f6465733a205072652d6578697374656e6365206f66206064657374603b20506f73742d6578697374656e6365206f662060736f75726365603b204163636f756e74207072652d6578697374656e6365206f661c6064657374602e18667265657a6508010869646d01014c543a3a41737365744964506172616d6574657200010c77686f4d0301504163636f756e7449644c6f6f6b75704f663c543e000b305501446973616c6c6f77206675727468657220756e70726976696c65676564207472616e7366657273206f6620616e20617373657420606964602066726f6d20616e206163636f756e74206077686f602e206077686f604d016d75737420616c726561647920657869737420617320616e20656e74727920696e20604163636f756e746073206f66207468652061737365742e20496620796f752077616e7420746f20667265657a6520616ef46163636f756e74207468617420646f6573206e6f74206861766520616e20656e7472792c207573652060746f7563685f6f74686572602066697273742e0035014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c642062652074686520467265657a6572206f662074686520617373657420606964602e00c42d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652066726f7a656e2e882d206077686f603a20546865206163636f756e7420746f2062652066726f7a656e2e003c456d697473206046726f7a656e602e00385765696768743a20604f28312960107468617708010869646d01014c543a3a41737365744964506172616d6574657200010c77686f4d0301504163636f756e7449644c6f6f6b75704f663c543e000c28e8416c6c6f7720756e70726976696c65676564207472616e736665727320746f20616e642066726f6d20616e206163636f756e7420616761696e2e002d014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c64206265207468652041646d696e206f662074686520617373657420606964602e00c42d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652066726f7a656e2e902d206077686f603a20546865206163636f756e7420746f20626520756e66726f7a656e2e003c456d6974732060546861776564602e00385765696768743a20604f2831296030667265657a655f617373657404010869646d01014c543a3a41737365744964506172616d65746572000d24f0446973616c6c6f77206675727468657220756e70726976696c65676564207472616e736665727320666f722074686520617373657420636c6173732e0035014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c642062652074686520467265657a6572206f662074686520617373657420606964602e00c42d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652066726f7a656e2e003c456d697473206046726f7a656e602e00385765696768743a20604f2831296028746861775f617373657404010869646d01014c543a3a41737365744964506172616d65746572000e24c4416c6c6f7720756e70726976696c65676564207472616e736665727320666f722074686520617373657420616761696e2e002d014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c64206265207468652041646d696e206f662074686520617373657420606964602e00c42d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206265207468617765642e003c456d6974732060546861776564602e00385765696768743a20604f28312960487472616e736665725f6f776e65727368697008010869646d01014c543a3a41737365744964506172616d657465720001146f776e65724d0301504163636f756e7449644c6f6f6b75704f663c543e000f28744368616e676520746865204f776e6572206f6620616e2061737365742e002d014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f662074686520617373657420606964602e00902d20606964603a20546865206964656e746966696572206f66207468652061737365742e9c2d20606f776e6572603a20546865206e6577204f776e6572206f6620746869732061737365742e0054456d69747320604f776e65724368616e676564602e00385765696768743a20604f28312960207365745f7465616d10010869646d01014c543a3a41737365744964506172616d657465720001186973737565724d0301504163636f756e7449644c6f6f6b75704f663c543e00011461646d696e4d0301504163636f756e7449644c6f6f6b75704f663c543e00011c667265657a65724d0301504163636f756e7449644c6f6f6b75704f663c543e001030c44368616e676520746865204973737565722c2041646d696e20616e6420467265657a6572206f6620616e2061737365742e002d014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f662074686520617373657420606964602e00c42d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652066726f7a656e2ea42d2060697373756572603a20546865206e657720497373756572206f6620746869732061737365742e9c2d206061646d696e603a20546865206e65772041646d696e206f6620746869732061737365742eac2d2060667265657a6572603a20546865206e657720467265657a6572206f6620746869732061737365742e0050456d69747320605465616d4368616e676564602e00385765696768743a20604f28312960307365745f6d6574616461746110010869646d01014c543a3a41737365744964506172616d657465720001106e616d6538011c5665633c75383e00011873796d626f6c38011c5665633c75383e000120646563696d616c7308010875380011407853657420746865206d6574616461746120666f7220616e2061737365742e002d014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f662074686520617373657420606964602e00d846756e6473206f662073656e64657220617265207265736572766564206163636f7264696e6720746f2074686520666f726d756c613a5101604d657461646174614465706f73697442617365202b204d657461646174614465706f73697450657242797465202a20286e616d652e6c656e202b2073796d626f6c2e6c656e29602074616b696e6720696e746f8c6163636f756e7420616e7920616c72656164792072657365727665642066756e64732e00b82d20606964603a20546865206964656e746966696572206f662074686520617373657420746f207570646174652e4d012d20606e616d65603a20546865207573657220667269656e646c79206e616d65206f6620746869732061737365742e204c696d6974656420696e206c656e6774682062792060537472696e674c696d6974602e4d012d206073796d626f6c603a205468652065786368616e67652073796d626f6c20666f7220746869732061737365742e204c696d6974656420696e206c656e6774682062792060537472696e674c696d6974602e2d012d2060646563696d616c73603a20546865206e756d626572206f6620646563696d616c732074686973206173736574207573657320746f20726570726573656e74206f6e6520756e69742e0050456d69747320604d65746164617461536574602e00385765696768743a20604f2831296038636c6561725f6d6574616461746104010869646d01014c543a3a41737365744964506172616d6574657200122c80436c65617220746865206d6574616461746120666f7220616e2061737365742e002d014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f662074686520617373657420606964602e00a4416e79206465706f73697420697320667265656420666f7220746865206173736574206f776e65722e00b42d20606964603a20546865206964656e746966696572206f662074686520617373657420746f20636c6561722e0060456d69747320604d65746164617461436c6561726564602e00385765696768743a20604f2831296048666f7263655f7365745f6d6574616461746114010869646d01014c543a3a41737365744964506172616d657465720001106e616d6538011c5665633c75383e00011873796d626f6c38011c5665633c75383e000120646563696d616c73080108753800012469735f66726f7a656e200110626f6f6c001338b8466f72636520746865206d6574616461746120666f7220616e20617373657420746f20736f6d652076616c75652e006c4f726967696e206d75737420626520466f7263654f726967696e2e0068416e79206465706f736974206973206c65667420616c6f6e652e00b82d20606964603a20546865206964656e746966696572206f662074686520617373657420746f207570646174652e4d012d20606e616d65603a20546865207573657220667269656e646c79206e616d65206f6620746869732061737365742e204c696d6974656420696e206c656e6774682062792060537472696e674c696d6974602e4d012d206073796d626f6c603a205468652065786368616e67652073796d626f6c20666f7220746869732061737365742e204c696d6974656420696e206c656e6774682062792060537472696e674c696d6974602e2d012d2060646563696d616c73603a20546865206e756d626572206f6620646563696d616c732074686973206173736574207573657320746f20726570726573656e74206f6e6520756e69742e0050456d69747320604d65746164617461536574602e0051015765696768743a20604f284e202b20532960207768657265204e20616e6420532061726520746865206c656e677468206f6620746865206e616d6520616e642073796d626f6c20726573706563746976656c792e50666f7263655f636c6561725f6d6574616461746104010869646d01014c543a3a41737365744964506172616d6574657200142c80436c65617220746865206d6574616461746120666f7220616e2061737365742e006c4f726967696e206d75737420626520466f7263654f726967696e2e0060416e79206465706f7369742069732072657475726e65642e00b42d20606964603a20546865206964656e746966696572206f662074686520617373657420746f20636c6561722e0060456d69747320604d65746164617461436c6561726564602e00385765696768743a20604f2831296048666f7263655f61737365745f73746174757320010869646d01014c543a3a41737365744964506172616d657465720001146f776e65724d0301504163636f756e7449644c6f6f6b75704f663c543e0001186973737565724d0301504163636f756e7449644c6f6f6b75704f663c543e00011461646d696e4d0301504163636f756e7449644c6f6f6b75704f663c543e00011c667265657a65724d0301504163636f756e7449644c6f6f6b75704f663c543e00012c6d696e5f62616c616e63656d010128543a3a42616c616e636500013469735f73756666696369656e74200110626f6f6c00012469735f66726f7a656e200110626f6f6c00155898416c746572207468652061747472696275746573206f66206120676976656e2061737365742e00744f726967696e206d7573742062652060466f7263654f726967696e602e00902d20606964603a20546865206964656e746966696572206f66207468652061737365742e9c2d20606f776e6572603a20546865206e6577204f776e6572206f6620746869732061737365742ea42d2060697373756572603a20546865206e657720497373756572206f6620746869732061737365742e9c2d206061646d696e603a20546865206e65772041646d696e206f6620746869732061737365742eac2d2060667265657a6572603a20546865206e657720467265657a6572206f6620746869732061737365742e4d012d20606d696e5f62616c616e6365603a20546865206d696e696d756d2062616c616e6365206f662074686973206e6577206173736574207468617420616e792073696e676c65206163636f756e74206d7573743d01686176652e20496620616e206163636f756e7427732062616c616e636520697320726564756365642062656c6f7720746869732c207468656e20697420636f6c6c617073657320746f207a65726f2e51012d206069735f73756666696369656e74603a20576865746865722061206e6f6e2d7a65726f2062616c616e6365206f662074686973206173736574206973206465706f736974206f662073756666696369656e744d0176616c756520746f206163636f756e7420666f722074686520737461746520626c6f6174206173736f6369617465642077697468206974732062616c616e63652073746f726167652e2049662073657420746f55016074727565602c207468656e206e6f6e2d7a65726f2062616c616e636573206d61792062652073746f72656420776974686f757420612060636f6e73756d657260207265666572656e63652028616e6420746875734d01616e20454420696e207468652042616c616e6365732070616c6c6574206f7220776861746576657220656c7365206973207573656420746f20636f6e74726f6c20757365722d6163636f756e742073746174652067726f777468292e3d012d206069735f66726f7a656e603a2057686574686572207468697320617373657420636c6173732069732066726f7a656e2065786365707420666f72207065726d697373696f6e65642f61646d696e34696e737472756374696f6e732e00e8456d697473206041737365745374617475734368616e67656460207769746820746865206964656e74697479206f66207468652061737365742e00385765696768743a20604f2831296040617070726f76655f7472616e736665720c010869646d01014c543a3a41737365744964506172616d6574657200012064656c65676174654d0301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e746d010128543a3a42616c616e63650016502d01417070726f766520616e20616d6f756e74206f6620617373657420666f72207472616e7366657220627920612064656c6567617465642074686972642d7061727479206163636f756e742e00584f726967696e206d757374206265205369676e65642e004d01456e737572657320746861742060417070726f76616c4465706f7369746020776f727468206f66206043757272656e6379602069732072657365727665642066726f6d207369676e696e67206163636f756e745501666f722074686520707572706f7365206f6620686f6c64696e672074686520617070726f76616c2e20496620736f6d65206e6f6e2d7a65726f20616d6f756e74206f662061737365747320697320616c72656164794901617070726f7665642066726f6d207369676e696e67206163636f756e7420746f206064656c6567617465602c207468656e20697420697320746f70706564207570206f7220756e726573657276656420746f546d656574207468652072696768742076616c75652e0045014e4f54453a20546865207369676e696e67206163636f756e7420646f6573206e6f74206e65656420746f206f776e2060616d6f756e7460206f66206173736574732061742074686520706f696e74206f66446d616b696e6720746869732063616c6c2e00902d20606964603a20546865206964656e746966696572206f66207468652061737365742e0d012d206064656c6567617465603a20546865206163636f756e7420746f2064656c6567617465207065726d697373696f6e20746f207472616e736665722061737365742e49012d2060616d6f756e74603a2054686520616d6f756e74206f662061737365742074686174206d6179206265207472616e73666572726564206279206064656c6567617465602e204966207468657265206973e0616c726561647920616e20617070726f76616c20696e20706c6163652c207468656e207468697320616374732061646469746976656c792e0090456d6974732060417070726f7665645472616e7366657260206f6e20737563636573732e00385765696768743a20604f283129603c63616e63656c5f617070726f76616c08010869646d01014c543a3a41737365744964506172616d6574657200012064656c65676174654d0301504163636f756e7449644c6f6f6b75704f663c543e001734490143616e63656c20616c6c206f6620736f6d6520617373657420617070726f76656420666f722064656c656761746564207472616e7366657220627920612074686972642d7061727479206163636f756e742e003d014f726967696e206d757374206265205369676e656420616e64207468657265206d75737420626520616e20617070726f76616c20696e20706c616365206265747765656e207369676e657220616e642c6064656c6567617465602e004901556e726573657276657320616e79206465706f7369742070726576696f75736c792072657365727665642062792060617070726f76655f7472616e736665726020666f722074686520617070726f76616c2e00902d20606964603a20546865206964656e746966696572206f66207468652061737365742e05012d206064656c6567617465603a20546865206163636f756e742064656c656761746564207065726d697373696f6e20746f207472616e736665722061737365742e0094456d6974732060417070726f76616c43616e63656c6c656460206f6e20737563636573732e00385765696768743a20604f2831296054666f7263655f63616e63656c5f617070726f76616c0c010869646d01014c543a3a41737365744964506172616d657465720001146f776e65724d0301504163636f756e7449644c6f6f6b75704f663c543e00012064656c65676174654d0301504163636f756e7449644c6f6f6b75704f663c543e001834490143616e63656c20616c6c206f6620736f6d6520617373657420617070726f76656420666f722064656c656761746564207472616e7366657220627920612074686972642d7061727479206163636f756e742e0049014f726967696e206d7573742062652065697468657220466f7263654f726967696e206f72205369676e6564206f726967696e207769746820746865207369676e6572206265696e67207468652041646d696e686163636f756e74206f662074686520617373657420606964602e004901556e726573657276657320616e79206465706f7369742070726576696f75736c792072657365727665642062792060617070726f76655f7472616e736665726020666f722074686520617070726f76616c2e00902d20606964603a20546865206964656e746966696572206f66207468652061737365742e05012d206064656c6567617465603a20546865206163636f756e742064656c656761746564207065726d697373696f6e20746f207472616e736665722061737365742e0094456d6974732060417070726f76616c43616e63656c6c656460206f6e20737563636573732e00385765696768743a20604f28312960447472616e736665725f617070726f76656410010869646d01014c543a3a41737365744964506172616d657465720001146f776e65724d0301504163636f756e7449644c6f6f6b75704f663c543e00012c64657374696e6174696f6e4d0301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e746d010128543a3a42616c616e63650019484d015472616e7366657220736f6d652061737365742062616c616e63652066726f6d20612070726576696f75736c792064656c656761746564206163636f756e7420746f20736f6d652074686972642d7061727479206163636f756e742e0049014f726967696e206d757374206265205369676e656420616e64207468657265206d75737420626520616e20617070726f76616c20696e20706c6163652062792074686520606f776e65726020746f207468651c7369676e65722e00590149662074686520656e7469726520616d6f756e7420617070726f76656420666f72207472616e73666572206973207472616e736665727265642c207468656e20616e79206465706f7369742070726576696f75736c79b472657365727665642062792060617070726f76655f7472616e736665726020697320756e72657365727665642e00902d20606964603a20546865206964656e746966696572206f66207468652061737365742e61012d20606f776e6572603a20546865206163636f756e742077686963682070726576696f75736c7920617070726f76656420666f722061207472616e73666572206f66206174206c656173742060616d6f756e746020616e64bc66726f6d207768696368207468652061737365742062616c616e63652077696c6c2062652077697468647261776e2e61012d206064657374696e6174696f6e603a20546865206163636f756e7420746f207768696368207468652061737365742062616c616e6365206f662060616d6f756e74602077696c6c206265207472616e736665727265642eb42d2060616d6f756e74603a2054686520616d6f756e74206f662061737365747320746f207472616e736665722e009c456d69747320605472616e73666572726564417070726f76656460206f6e20737563636573732e00385765696768743a20604f2831296014746f75636804010869646d01014c543a3a41737365744964506172616d65746572001a24c043726561746520616e206173736574206163636f756e7420666f72206e6f6e2d70726f7669646572206173736574732e00c041206465706f7369742077696c6c2062652074616b656e2066726f6d20746865207369676e6572206163636f756e742e005d012d20606f726967696e603a204d757374206265205369676e65643b20746865207369676e6572206163636f756e74206d75737420686176652073756666696369656e742066756e647320666f722061206465706f736974382020746f2062652074616b656e2e09012d20606964603a20546865206964656e746966696572206f662074686520617373657420666f7220746865206163636f756e7420746f20626520637265617465642e0098456d6974732060546f756368656460206576656e74207768656e207375636365737366756c2e18726566756e6408010869646d01014c543a3a41737365744964506172616d65746572000128616c6c6f775f6275726e200110626f6f6c001b28590152657475726e20746865206465706f7369742028696620616e7929206f6620616e206173736574206163636f756e74206f72206120636f6e73756d6572207265666572656e63652028696620616e7929206f6620616e206163636f756e742e0068546865206f726967696e206d757374206265205369676e65642e003d012d20606964603a20546865206964656e746966696572206f662074686520617373657420666f72207768696368207468652063616c6c657220776f756c64206c696b6520746865206465706f7369742c2020726566756e6465642e5d012d2060616c6c6f775f6275726e603a20496620607472756560207468656e20617373657473206d61792062652064657374726f79656420696e206f7264657220746f20636f6d706c6574652074686520726566756e642e009c456d6974732060526566756e64656460206576656e74207768656e207375636365737366756c2e3c7365745f6d696e5f62616c616e636508010869646d01014c543a3a41737365744964506172616d6574657200012c6d696e5f62616c616e6365180128543a3a42616c616e6365001c30945365747320746865206d696e696d756d2062616c616e6365206f6620616e2061737365742e0021014f6e6c7920776f726b73206966207468657265206172656e277420616e79206163636f756e747320746861742061726520686f6c64696e6720746865206173736574206f72206966e0746865206e65772076616c7565206f6620606d696e5f62616c616e636560206973206c657373207468616e20746865206f6c64206f6e652e00fc4f726967696e206d757374206265205369676e656420616e64207468652073656e6465722068617320746f20626520746865204f776e6572206f66207468652c617373657420606964602e00902d20606964603a20546865206964656e746966696572206f66207468652061737365742ec02d20606d696e5f62616c616e6365603a20546865206e65772076616c7565206f6620606d696e5f62616c616e6365602e00d4456d697473206041737365744d696e42616c616e63654368616e67656460206576656e74207768656e207375636365737366756c2e2c746f7563685f6f7468657208010869646d01014c543a3a41737365744964506172616d6574657200010c77686f4d0301504163636f756e7449644c6f6f6b75704f663c543e001d288843726561746520616e206173736574206163636f756e7420666f72206077686f602e00c041206465706f7369742077696c6c2062652074616b656e2066726f6d20746865207369676e6572206163636f756e742e0061012d20606f726967696e603a204d757374206265205369676e65642062792060467265657a657260206f72206041646d696e60206f662074686520617373657420606964603b20746865207369676e6572206163636f756e74dc20206d75737420686176652073756666696369656e742066756e647320666f722061206465706f73697420746f2062652074616b656e2e09012d20606964603a20546865206964656e746966696572206f662074686520617373657420666f7220746865206163636f756e7420746f20626520637265617465642e8c2d206077686f603a20546865206163636f756e7420746f20626520637265617465642e0098456d6974732060546f756368656460206576656e74207768656e207375636365737366756c2e30726566756e645f6f7468657208010869646d01014c543a3a41737365744964506172616d6574657200010c77686f4d0301504163636f756e7449644c6f6f6b75704f663c543e001e285d0152657475726e20746865206465706f7369742028696620616e7929206f66206120746172676574206173736574206163636f756e742e2055736566756c20696620796f752061726520746865206465706f7369746f722e005d01546865206f726967696e206d757374206265205369676e656420616e642065697468657220746865206163636f756e74206f776e65722c206465706f7369746f722c206f72206173736574206041646d696e602e20496e61016f7264657220746f206275726e2061206e6f6e2d7a65726f2062616c616e6365206f66207468652061737365742c207468652063616c6c6572206d75737420626520746865206163636f756e7420616e642073686f756c64347573652060726566756e64602e0019012d20606964603a20546865206964656e746966696572206f662074686520617373657420666f7220746865206163636f756e7420686f6c64696e672061206465706f7369742e7c2d206077686f603a20546865206163636f756e7420746f20726566756e642e009c456d6974732060526566756e64656460206576656e74207768656e207375636365737366756c2e14626c6f636b08010869646d01014c543a3a41737365744964506172616d6574657200010c77686f4d0301504163636f756e7449644c6f6f6b75704f663c543e001f285901446973616c6c6f77206675727468657220756e70726976696c65676564207472616e7366657273206f6620616e206173736574206069646020746f20616e642066726f6d20616e206163636f756e74206077686f602e0035014f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c642062652074686520467265657a6572206f662074686520617373657420606964602e00b82d20606964603a20546865206964656e746966696572206f6620746865206163636f756e7427732061737365742e942d206077686f603a20546865206163636f756e7420746f20626520756e626c6f636b65642e0040456d6974732060426c6f636b6564602e00385765696768743a20604f28312960040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e4d030c2873705f72756e74696d65306d756c746961646472657373304d756c74694164647265737308244163636f756e7449640100304163636f756e74496e6465780110011408496404000001244163636f756e74496400000014496e6465780400f10201304163636f756e74496e6465780001000c526177040038011c5665633c75383e0002002441646472657373333204000401205b75383b2033325d000300244164647265737332300400950101205b75383b2032305d0004000051030c3c70616c6c65745f62616c616e6365731870616c6c65741043616c6c080454000449000124507472616e736665725f616c6c6f775f6465617468080110646573744d0301504163636f756e7449644c6f6f6b75704f663c543e00011476616c75656d010128543a3a42616c616e636500001cd45472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742e003501607472616e736665725f616c6c6f775f6465617468602077696c6c207365742074686520604672656542616c616e636560206f66207468652073656e64657220616e642072656365697665722e11014966207468652073656e6465722773206163636f756e742069732062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c74b06f6620746865207472616e736665722c20746865206163636f756e742077696c6c206265207265617065642e001501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605369676e65646020627920746865207472616e736163746f722e38666f7263655f7472616e736665720c0118736f757263654d0301504163636f756e7449644c6f6f6b75704f663c543e000110646573744d0301504163636f756e7449644c6f6f6b75704f663c543e00011476616c75656d010128543a3a42616c616e6365000208610145786163746c7920617320607472616e736665725f616c6c6f775f6465617468602c2065786365707420746865206f726967696e206d75737420626520726f6f7420616e642074686520736f75726365206163636f756e74446d6179206265207370656369666965642e4c7472616e736665725f6b6565705f616c697665080110646573744d0301504163636f756e7449644c6f6f6b75704f663c543e00011476616c75656d010128543a3a42616c616e6365000318590153616d6520617320746865205b607472616e736665725f616c6c6f775f6465617468605d2063616c6c2c206275742077697468206120636865636b207468617420746865207472616e736665722077696c6c206e6f74606b696c6c20746865206f726967696e206163636f756e742e00e8393925206f66207468652074696d6520796f752077616e74205b607472616e736665725f616c6c6f775f6465617468605d20696e73746561642e00f05b607472616e736665725f616c6c6f775f6465617468605d3a207374727563742e50616c6c65742e68746d6c236d6574686f642e7472616e73666572307472616e736665725f616c6c080110646573744d0301504163636f756e7449644c6f6f6b75704f663c543e0001286b6565705f616c697665200110626f6f6c00043c05015472616e736665722074686520656e74697265207472616e7366657261626c652062616c616e63652066726f6d207468652063616c6c6572206163636f756e742e0059014e4f54453a20546869732066756e6374696f6e206f6e6c7920617474656d70747320746f207472616e73666572205f7472616e7366657261626c655f2062616c616e6365732e2054686973206d65616e7320746861746101616e79206c6f636b65642c2072657365727665642c206f72206578697374656e7469616c206465706f7369747320287768656e20606b6565705f616c6976656020697320607472756560292c2077696c6c206e6f742062655d017472616e7366657272656420627920746869732066756e6374696f6e2e20546f20656e73757265207468617420746869732066756e6374696f6e20726573756c747320696e2061206b696c6c6564206163636f756e742c4501796f75206d69676874206e65656420746f207072657061726520746865206163636f756e742062792072656d6f76696e6720616e79207265666572656e636520636f756e746572732c2073746f72616765406465706f736974732c206574632e2e2e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205369676e65642e00a02d206064657374603a2054686520726563697069656e74206f6620746865207472616e736665722e59012d20606b6565705f616c697665603a204120626f6f6c65616e20746f2064657465726d696e652069662074686520607472616e736665725f616c6c60206f7065726174696f6e2073686f756c642073656e6420616c6c4d0120206f66207468652066756e647320746865206163636f756e74206861732c2063617573696e67207468652073656e646572206163636f756e7420746f206265206b696c6c6564202866616c7365292c206f72590120207472616e736665722065766572797468696e6720657863657074206174206c6561737420746865206578697374656e7469616c206465706f7369742c2077686963682077696c6c2067756172616e74656520746f9c20206b656570207468652073656e646572206163636f756e7420616c697665202874727565292e3c666f7263655f756e7265736572766508010c77686f4d0301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e74180128543a3a42616c616e636500050cb0556e7265736572766520736f6d652062616c616e63652066726f6d2061207573657220627920666f7263652e006c43616e206f6e6c792062652063616c6c656420627920524f4f542e40757067726164655f6163636f756e747304010c77686f450201445665633c543a3a4163636f756e7449643e0006207055706772616465206120737065636966696564206163636f756e742e00742d20606f726967696e603a204d75737420626520605369676e6564602e902d206077686f603a20546865206163636f756e7420746f2062652075706772616465642e005501546869732077696c6c20776169766520746865207472616e73616374696f6e20666565206966206174206c6561737420616c6c2062757420313025206f6620746865206163636f756e7473206e656564656420746f410162652075706772616465642e20285765206c657420736f6d65206e6f74206861766520746f206265207570677261646564206a75737420696e206f7264657220746f20616c6c6f7720666f722074686558706f73736962696c697479206f6620636875726e292e44666f7263655f7365745f62616c616e636508010c77686f4d0301504163636f756e7449644c6f6f6b75704f663c543e0001206e65775f667265656d010128543a3a42616c616e636500080cac5365742074686520726567756c61722062616c616e6365206f66206120676976656e206163636f756e742e00b0546865206469737061746368206f726967696e20666f7220746869732063616c6c2069732060726f6f74602e6c666f7263655f61646a7573745f746f74616c5f69737375616e6365080124646972656374696f6e5503014c41646a7573746d656e74446972656374696f6e00011464656c74616d010128543a3a42616c616e6365000914b841646a7573742074686520746f74616c2069737375616e636520696e20612073617475726174696e67207761792e00fc43616e206f6e6c792062652063616c6c656420627920726f6f7420616e6420616c77617973206e65656473206120706f736974697665206064656c7461602e002423204578616d706c65106275726e08011476616c75656d010128543a3a42616c616e63650001286b6565705f616c697665200110626f6f6c000a1cfc4275726e2074686520737065636966696564206c697175696420667265652062616c616e63652066726f6d20746865206f726967696e206163636f756e742e002501496620746865206f726967696e2773206163636f756e7420656e64732075702062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c7409016f6620746865206275726e20616e6420606b6565705f616c697665602069732066616c73652c20746865206163636f756e742077696c6c206265207265617065642e005101556e6c696b652073656e64696e672066756e647320746f2061205f6275726e5f20616464726573732c207768696368206d6572656c79206d616b6573207468652066756e647320696e61636365737369626c652c21017468697320606275726e60206f7065726174696f6e2077696c6c2072656475636520746f74616c2069737375616e63652062792074686520616d6f756e74205f6275726e65645f2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e55030c3c70616c6c65745f62616c616e6365731474797065734c41646a7573746d656e74446972656374696f6e00010820496e6372656173650000002044656372656173650001000059030c2c70616c6c65745f626162651870616c6c65741043616c6c04045400010c4c7265706f72745f65717569766f636174696f6e08014865717569766f636174696f6e5f70726f6f665d030190426f783c45717569766f636174696f6e50726f6f663c486561646572466f723c543e3e3e00013c6b65795f6f776e65725f70726f6f666d030140543a3a4b65794f776e657250726f6f6600001009015265706f727420617574686f726974792065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c2076657269667905017468652065717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f660d01616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e63652077696c6c306265207265706f727465642e707265706f72745f65717569766f636174696f6e5f756e7369676e656408014865717569766f636174696f6e5f70726f6f665d030190426f783c45717569766f636174696f6e50726f6f663c486561646572466f723c543e3e3e00013c6b65795f6f776e65725f70726f6f666d030140543a3a4b65794f776e657250726f6f6600012009015265706f727420617574686f726974792065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c2076657269667905017468652065717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f660d01616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e63652077696c6c306265207265706f727465642e0d01546869732065787472696e736963206d7573742062652063616c6c656420756e7369676e656420616e642069742069732065787065637465642074686174206f6e6c791501626c6f636b20617574686f72732077696c6c2063616c6c206974202876616c69646174656420696e206056616c6964617465556e7369676e656460292c2061732073756368150169662074686520626c6f636b20617574686f7220697320646566696e65642069742077696c6c20626520646566696e6564206173207468652065717569766f636174696f6e247265706f727465722e48706c616e5f636f6e6669675f6368616e6765040118636f6e666967710301504e657874436f6e66696744657363726970746f720002105d01506c616e20616e2065706f636820636f6e666967206368616e67652e205468652065706f636820636f6e666967206368616e6765206973207265636f7264656420616e642077696c6c20626520656e6163746564206f6e5101746865206e6578742063616c6c20746f2060656e6163745f65706f63685f6368616e6765602e2054686520636f6e6669672077696c6c20626520616374697661746564206f6e652065706f63682061667465722e59014d756c7469706c652063616c6c7320746f2074686973206d6574686f642077696c6c207265706c61636520616e79206578697374696e6720706c616e6e656420636f6e666967206368616e6765207468617420686164546e6f74206265656e20656e6163746564207965742e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e5d03084873705f636f6e73656e7375735f736c6f74734445717569766f636174696f6e50726f6f660818486561646572016103084964016503001001206f6666656e646572650301084964000110736c6f7469030110536c6f7400013066697273745f686561646572610301184865616465720001347365636f6e645f6865616465726103011848656164657200006103102873705f72756e74696d651c67656e65726963186865616465721848656164657208184e756d62657201301048617368000014012c706172656e745f68617368340130486173683a3a4f75747075740001186e756d6265722c01184e756d62657200012873746174655f726f6f74340130486173683a3a4f757470757400013c65787472696e736963735f726f6f74340130486173683a3a4f75747075740001186469676573743c0118446967657374000065030c4473705f636f6e73656e7375735f626162650c617070185075626c69630000040004013c737232353531393a3a5075626c696300006903084873705f636f6e73656e7375735f736c6f747310536c6f740000040030010c75363400006d03082873705f73657373696f6e3c4d656d6265727368697050726f6f6600000c011c73657373696f6e10013053657373696f6e496e646578000128747269655f6e6f646573050301305665633c5665633c75383e3e00013c76616c696461746f725f636f756e7410013856616c696461746f72436f756e74000071030c4473705f636f6e73656e7375735f626162651c64696765737473504e657874436f6e66696744657363726970746f720001040856310801046375030128287536342c2075363429000134616c6c6f7765645f736c6f747379030130416c6c6f776564536c6f7473000100007503000004083030007903084473705f636f6e73656e7375735f6261626530416c6c6f776564536c6f747300010c305072696d617279536c6f7473000000745072696d617279416e645365636f6e64617279506c61696e536c6f74730001006c5072696d617279416e645365636f6e64617279565246536c6f7473000200007d030c3870616c6c65745f6772616e6470611870616c6c65741043616c6c04045400010c4c7265706f72745f65717569766f636174696f6e08014865717569766f636174696f6e5f70726f6f66810301c8426f783c45717569766f636174696f6e50726f6f663c543a3a486173682c20426c6f636b4e756d626572466f723c543e3e3e00013c6b65795f6f776e65725f70726f6f66a9030140543a3a4b65794f776e657250726f6f6600001009015265706f727420766f7465722065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c2076657269667920746865f465717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f66f8616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e63654477696c6c206265207265706f727465642e707265706f72745f65717569766f636174696f6e5f756e7369676e656408014865717569766f636174696f6e5f70726f6f66810301c8426f783c45717569766f636174696f6e50726f6f663c543a3a486173682c20426c6f636b4e756d626572466f723c543e3e3e00013c6b65795f6f776e65725f70726f6f66a9030140543a3a4b65794f776e657250726f6f6600012409015265706f727420766f7465722065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c2076657269667920746865f465717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f66f8616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e63654477696c6c206265207265706f727465642e000d01546869732065787472696e736963206d7573742062652063616c6c656420756e7369676e656420616e642069742069732065787065637465642074686174206f6e6c791501626c6f636b20617574686f72732077696c6c2063616c6c206974202876616c69646174656420696e206056616c6964617465556e7369676e656460292c2061732073756368150169662074686520626c6f636b20617574686f7220697320646566696e65642069742077696c6c20626520646566696e6564206173207468652065717569766f636174696f6e247265706f727465722e306e6f74655f7374616c6c656408011464656c6179300144426c6f636b4e756d626572466f723c543e00016c626573745f66696e616c697a65645f626c6f636b5f6e756d626572300144426c6f636b4e756d626572466f723c543e0002303d014e6f74652074686174207468652063757272656e7420617574686f7269747920736574206f6620746865204752414e4450412066696e616c6974792067616467657420686173207374616c6c65642e006101546869732077696c6c2074726967676572206120666f7263656420617574686f7269747920736574206368616e67652061742074686520626567696e6e696e67206f6620746865206e6578742073657373696f6e2c20746f6101626520656e6163746564206064656c61796020626c6f636b7320616674657220746861742e20546865206064656c6179602073686f756c64206265206869676820656e6f75676820746f20736166656c7920617373756d654901746861742074686520626c6f636b207369676e616c6c696e672074686520666f72636564206368616e67652077696c6c206e6f742062652072652d6f7267656420652e672e203130303020626c6f636b732e5d0154686520626c6f636b2070726f64756374696f6e207261746520287768696368206d617920626520736c6f77656420646f776e2062656361757365206f662066696e616c697479206c616767696e67292073686f756c64510162652074616b656e20696e746f206163636f756e74207768656e2063686f6f73696e6720746865206064656c6179602e20546865204752414e44504120766f74657273206261736564206f6e20746865206e65775501617574686f726974792077696c6c20737461727420766f74696e67206f6e20746f70206f662060626573745f66696e616c697a65645f626c6f636b5f6e756d6265726020666f72206e65772066696e616c697a65644d01626c6f636b732e2060626573745f66696e616c697a65645f626c6f636b5f6e756d626572602073686f756c64206265207468652068696768657374206f6620746865206c61746573742066696e616c697a6564c4626c6f636b206f6620616c6c2076616c696461746f7273206f6620746865206e657720617574686f72697479207365742e00584f6e6c792063616c6c61626c6520627920726f6f742e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e8103085073705f636f6e73656e7375735f6772616e6470614445717569766f636174696f6e50726f6f660804480134044e0130000801187365745f6964300114536574496400013065717569766f636174696f6e8503014845717569766f636174696f6e3c482c204e3e00008503085073705f636f6e73656e7375735f6772616e6470613045717569766f636174696f6e0804480134044e013001081c507265766f74650400890301890166696e616c6974795f6772616e6470613a3a45717569766f636174696f6e3c417574686f7269747949642c2066696e616c6974795f6772616e6470613a3a507265766f74653c0a482c204e3e2c20417574686f726974795369676e61747572652c3e00000024507265636f6d6d697404009d0301910166696e616c6974795f6772616e6470613a3a45717569766f636174696f6e3c417574686f7269747949642c2066696e616c6974795f6772616e6470613a3a507265636f6d6d69740a3c482c204e3e2c20417574686f726974795369676e61747572652c3e000100008903084066696e616c6974795f6772616e6470613045717569766f636174696f6e0c08496401a80456018d03045301910300100130726f756e645f6e756d62657230010c7536340001206964656e74697479a80108496400011466697273749903011828562c2053290001187365636f6e649903011828562c20532900008d03084066696e616c6974795f6772616e6470611c507265766f74650804480134044e01300008012c7461726765745f68617368340104480001347461726765745f6e756d6265723001044e000091030c5073705f636f6e73656e7375735f6772616e6470610c617070245369676e61747572650000040095030148656432353531393a3a5369676e6174757265000095030000034000000008009903000004088d039103009d03084066696e616c6974795f6772616e6470613045717569766f636174696f6e0c08496401a8045601a103045301910300100130726f756e645f6e756d62657230010c7536340001206964656e74697479a8010849640001146669727374a503011828562c2053290001187365636f6e64a503011828562c2053290000a103084066696e616c6974795f6772616e64706124507265636f6d6d69740804480134044e01300008012c7461726765745f68617368340104480001347461726765745f6e756d6265723001044e0000a50300000408a103910300a903081c73705f636f726510566f696400010000ad030c3870616c6c65745f696e64696365731870616c6c65741043616c6c04045400011414636c61696d040114696e64657810013c543a3a4163636f756e74496e6465780000309841737369676e20616e2070726576696f75736c7920756e61737369676e656420696e6465782e00dc5061796d656e743a20604465706f736974602069732072657365727665642066726f6d207468652073656e646572206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00f02d2060696e646578603a2074686520696e64657820746f20626520636c61696d65642e2054686973206d757374206e6f7420626520696e207573652e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e0034232320436f6d706c6578697479242d20604f283129602e207472616e7366657208010c6e65774d0301504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e6465780001305d0141737369676e20616e20696e64657820616c7265616479206f776e6564206279207468652073656e64657220746f20616e6f74686572206163636f756e742e205468652062616c616e6365207265736572766174696f6eb86973206566666563746976656c79207472616e7366657272656420746f20746865206e6577206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0025012d2060696e646578603a2074686520696e64657820746f2062652072652d61737369676e65642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e5d012d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e0034232320436f6d706c6578697479242d20604f283129602e1066726565040114696e64657810013c543a3a4163636f756e74496e646578000230944672656520757020616e20696e646578206f776e6564206279207468652073656e6465722e005d015061796d656e743a20416e792070726576696f7573206465706f73697420706c6163656420666f722074686520696e64657820697320756e726573657276656420696e207468652073656e646572206163636f756e742e005501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206f776e2074686520696e6465782e000d012d2060696e646578603a2074686520696e64657820746f2062652066726565642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e0084456d6974732060496e646578467265656460206966207375636365737366756c2e0034232320436f6d706c6578697479242d20604f283129602e38666f7263655f7472616e736665720c010c6e65774d0301504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e646578000118667265657a65200110626f6f6c0003345501466f72636520616e20696e64657820746f20616e206163636f756e742e205468697320646f65736e277420726571756972652061206465706f7369742e2049662074686520696e64657820697320616c7265616479e868656c642c207468656e20616e79206465706f736974206973207265696d62757273656420746f206974732063757272656e74206f776e65722e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00a42d2060696e646578603a2074686520696e64657820746f206265202872652d2961737369676e65642e5d012d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e41012d2060667265657a65603a2069662073657420746f206074727565602c2077696c6c20667265657a652074686520696e64657820736f2069742063616e6e6f74206265207472616e736665727265642e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e0034232320436f6d706c6578697479242d20604f283129602e18667265657a65040114696e64657810013c543a3a4163636f756e74496e6465780004304101467265657a6520616e20696e64657820736f2069742077696c6c20616c7761797320706f696e7420746f207468652073656e646572206163636f756e742e205468697320636f6e73756d657320746865206465706f7369742e005901546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206861766520616c6e6f6e2d66726f7a656e206163636f756e742060696e646578602e00ac2d2060696e646578603a2074686520696e64657820746f2062652066726f7a656e20696e20706c6163652e0088456d6974732060496e64657846726f7a656e60206966207375636365737366756c2e0034232320436f6d706c6578697479242d20604f283129602e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732eb1030c4070616c6c65745f64656d6f63726163791870616c6c65741043616c6c04045400014c1c70726f706f736508012070726f706f73616cb5030140426f756e64656443616c6c4f663c543e00011476616c75656d01013042616c616e63654f663c543e0000249c50726f706f736520612073656e73697469766520616374696f6e20746f2062652074616b656e2e001501546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737480686176652066756e647320746f20636f76657220746865206465706f7369742e00d42d206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20707265696d6167652e15012d206076616c7565603a2054686520616d6f756e74206f66206465706f73697420286d757374206265206174206c6561737420604d696e696d756d4465706f73697460292e0044456d697473206050726f706f736564602e187365636f6e6404012070726f706f73616cf102012450726f70496e646578000118b45369676e616c732061677265656d656e742077697468206120706172746963756c61722070726f706f73616c2e000101546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e64657211016d75737420686176652066756e647320746f20636f76657220746865206465706f7369742c20657175616c20746f20746865206f726967696e616c206465706f7369742e00c82d206070726f706f73616c603a2054686520696e646578206f66207468652070726f706f73616c20746f207365636f6e642e10766f74650801247265665f696e646578f102013c5265666572656e64756d496e646578000110766f7465b801644163636f756e74566f74653c42616c616e63654f663c543e3e00021c3101566f746520696e2061207265666572656e64756d2e2049662060766f74652e69735f6179652829602c2074686520766f746520697320746f20656e616374207468652070726f706f73616c3bb86f7468657277697365206974206973206120766f746520746f206b65657020746865207374617475732071756f2e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00dc2d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f20766f746520666f722e842d2060766f7465603a2054686520766f746520636f6e66696775726174696f6e2e40656d657267656e63795f63616e63656c0401247265665f696e64657810013c5265666572656e64756d496e6465780003204d015363686564756c6520616e20656d657267656e63792063616e63656c6c6174696f6e206f662061207265666572656e64756d2e2043616e6e6f742068617070656e20747769636520746f207468652073616d652c7265666572656e64756d2e00f8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c6c6174696f6e4f726967696e602e00d02d607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e003c5765696768743a20604f283129602e4065787465726e616c5f70726f706f736504012070726f706f73616cb5030140426f756e64656443616c6c4f663c543e0004182d015363686564756c652061207265666572656e64756d20746f206265207461626c6564206f6e6365206974206973206c6567616c20746f207363686564756c6520616e2065787465726e616c2c7265666572656e64756d2e00e8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206045787465726e616c4f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e6465787465726e616c5f70726f706f73655f6d616a6f7269747904012070726f706f73616cb5030140426f756e64656443616c6c4f663c543e00052c55015363686564756c652061206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f207363686564756c655c616e2065787465726e616c207265666572656e64756d2e00ec546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c4d616a6f726974794f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004901556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c6163652061987072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e00385765696768743a20604f283129606065787465726e616c5f70726f706f73655f64656661756c7404012070726f706f73616cb5030140426f756e64656443616c6c4f663c543e00062c45015363686564756c652061206e656761746976652d7475726e6f75742d62696173207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f807363686564756c6520616e2065787465726e616c207265666572656e64756d2e00e8546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c44656661756c744f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004901556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c6163652061987072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e00385765696768743a20604f2831296028666173745f747261636b0c013470726f706f73616c5f6861736834011c543a3a48617368000134766f74696e675f706572696f64300144426c6f636b4e756d626572466f723c543e00011464656c6179300144426c6f636b4e756d626572466f723c543e0007404d015363686564756c65207468652063757272656e746c792065787465726e616c6c792d70726f706f736564206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c65646101696d6d6564696174656c792e204966207468657265206973206e6f2065787465726e616c6c792d70726f706f736564207265666572656e64756d2063757272656e746c792c206f72206966207468657265206973206f6e65e8627574206974206973206e6f742061206d616a6f726974792d63617272696573207265666572656e64756d207468656e206974206661696c732e00d0546865206469737061746368206f6620746869732063616c6c206d757374206265206046617374547261636b4f726967696e602e00f42d206070726f706f73616c5f68617368603a205468652068617368206f66207468652063757272656e742065787465726e616c2070726f706f73616c2e5d012d2060766f74696e675f706572696f64603a2054686520706572696f64207468617420697320616c6c6f77656420666f7220766f74696e67206f6e20746869732070726f706f73616c2e20496e6372656173656420746f88094d75737420626520616c776179732067726561746572207468616e207a65726f2e350109466f72206046617374547261636b4f726967696e60206d75737420626520657175616c206f722067726561746572207468616e206046617374547261636b566f74696e67506572696f64602e51012d206064656c6179603a20546865206e756d626572206f6620626c6f636b20616674657220766f74696e672068617320656e64656420696e20617070726f76616c20616e6420746869732073686f756c64206265b82020656e61637465642e205468697320646f65736e277420686176652061206d696e696d756d20616d6f756e742e0040456d697473206053746172746564602e00385765696768743a20604f28312960347665746f5f65787465726e616c04013470726f706f73616c5f6861736834011c543a3a48617368000824b85665746f20616e6420626c61636b6c697374207468652065787465726e616c2070726f706f73616c20686173682e00d8546865206469737061746368206f726967696e206f6620746869732063616c6c206d75737420626520605665746f4f726967696e602e002d012d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c20746f207665746f20616e6420626c61636b6c6973742e003c456d69747320605665746f6564602e00fc5765696768743a20604f2856202b206c6f6728562929602077686572652056206973206e756d626572206f6620606578697374696e67207665746f657273604463616e63656c5f7265666572656e64756d0401247265665f696e646578f102013c5265666572656e64756d496e64657800091c5052656d6f76652061207265666572656e64756d2e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e00d42d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e004423205765696768743a20604f283129602e2064656c65676174650c0108746f4d0301504163636f756e7449644c6f6f6b75704f663c543e000128636f6e76696374696f6ec1030128436f6e76696374696f6e00011c62616c616e636518013042616c616e63654f663c543e000a50390144656c65676174652074686520766f74696e6720706f77657220287769746820736f6d6520676976656e20636f6e76696374696f6e29206f66207468652073656e64696e67206163636f756e742e0055015468652062616c616e63652064656c656761746564206973206c6f636b656420666f72206173206c6f6e6720617320697427732064656c6567617465642c20616e64207468657265616674657220666f7220746865c874696d6520617070726f70726961746520666f722074686520636f6e76696374696f6e2773206c6f636b20706572696f642e005d01546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e696e67206163636f756e74206d757374206569746865723a7420202d2062652064656c65676174696e6720616c72656164793b206f72590120202d2068617665206e6f20766f74696e67206163746976697479202869662074686572652069732c207468656e2069742077696c6c206e65656420746f2062652072656d6f7665642f636f6e736f6c69646174656494202020207468726f7567682060726561705f766f746560206f722060756e766f746560292e0045012d2060746f603a20546865206163636f756e742077686f736520766f74696e6720746865206074617267657460206163636f756e74277320766f74696e6720706f7765722077696c6c20666f6c6c6f772e55012d2060636f6e76696374696f6e603a2054686520636f6e76696374696f6e20746861742077696c6c20626520617474616368656420746f207468652064656c65676174656420766f7465732e205768656e20746865410120206163636f756e7420697320756e64656c6567617465642c207468652066756e64732077696c6c206265206c6f636b656420666f722074686520636f72726573706f6e64696e6720706572696f642e61012d206062616c616e6365603a2054686520616d6f756e74206f6620746865206163636f756e7427732062616c616e636520746f206265207573656420696e2064656c65676174696e672e2054686973206d757374206e6f74b420206265206d6f7265207468616e20746865206163636f756e7427732063757272656e742062616c616e63652e0048456d697473206044656c656761746564602e003d015765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173c82020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e28756e64656c6567617465000b30cc556e64656c65676174652074686520766f74696e6720706f776572206f66207468652073656e64696e67206163636f756e742e005d01546f6b656e73206d617920626520756e6c6f636b656420666f6c6c6f77696e67206f6e636520616e20616d6f756e74206f662074696d6520636f6e73697374656e74207769746820746865206c6f636b20706572696f64dc6f662074686520636f6e76696374696f6e2077697468207768696368207468652064656c65676174696f6e20776173206973737565642e004501546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062655463757272656e746c792064656c65676174696e672e0050456d6974732060556e64656c656761746564602e003d015765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173c82020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e58636c6561725f7075626c69635f70726f706f73616c73000c1470436c6561727320616c6c207075626c69632070726f706f73616c732e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e003c5765696768743a20604f283129602e18756e6c6f636b0401187461726765744d0301504163636f756e7449644c6f6f6b75704f663c543e000d1ca0556e6c6f636b20746f6b656e732074686174206861766520616e2065787069726564206c6f636b2e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00b82d2060746172676574603a20546865206163636f756e7420746f2072656d6f766520746865206c6f636b206f6e2e00bc5765696768743a20604f2852296020776974682052206e756d626572206f6620766f7465206f66207461726765742e2c72656d6f76655f766f7465040114696e64657810013c5265666572656e64756d496e646578000e6c7c52656d6f7665206120766f746520666f722061207265666572656e64756d2e000c49663a882d20746865207265666572656e64756d207761732063616e63656c6c65642c206f727c2d20746865207265666572656e64756d206973206f6e676f696e672c206f72902d20746865207265666572656e64756d2068617320656e64656420737563682074686174fc20202d2074686520766f7465206f6620746865206163636f756e742077617320696e206f70706f736974696f6e20746f2074686520726573756c743b206f72d420202d20746865726520776173206e6f20636f6e76696374696f6e20746f20746865206163636f756e74277320766f74653b206f728420202d20746865206163636f756e74206d61646520612073706c697420766f74655d012e2e2e7468656e2074686520766f74652069732072656d6f76656420636c65616e6c7920616e64206120666f6c6c6f77696e672063616c6c20746f2060756e6c6f636b60206d617920726573756c7420696e206d6f72655866756e6473206265696e6720617661696c61626c652e00a849662c20686f77657665722c20746865207265666572656e64756d2068617320656e64656420616e643aec2d2069742066696e697368656420636f72726573706f6e64696e6720746f2074686520766f7465206f6620746865206163636f756e742c20616e64dc2d20746865206163636f756e74206d6164652061207374616e6461726420766f7465207769746820636f6e76696374696f6e2c20616e64bc2d20746865206c6f636b20706572696f64206f662074686520636f6e76696374696f6e206973206e6f74206f76657259012e2e2e7468656e20746865206c6f636b2077696c6c206265206167677265676174656420696e746f20746865206f766572616c6c206163636f756e742773206c6f636b2c207768696368206d617920696e766f6c766559012a6f7665726c6f636b696e672a20287768657265207468652074776f206c6f636b732061726520636f6d62696e656420696e746f20612073696e676c65206c6f636b207468617420697320746865206d6178696d756de46f6620626f74682074686520616d6f756e74206c6f636b656420616e64207468652074696d65206973206974206c6f636b656420666f72292e004901546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e6572206d7573742068617665206120766f7465887265676973746572656420666f72207265666572656e64756d2060696e646578602e00f42d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e0055015765696768743a20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2ed820205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652e4472656d6f76655f6f746865725f766f74650801187461726765744d0301504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c5265666572656e64756d496e646578000f3c7c52656d6f7665206120766f746520666f722061207265666572656e64756d2e004d0149662074686520607461726765746020697320657175616c20746f20746865207369676e65722c207468656e20746869732066756e6374696f6e2069732065786163746c79206571756976616c656e7420746f2d016072656d6f76655f766f7465602e204966206e6f7420657175616c20746f20746865207369676e65722c207468656e2074686520766f7465206d757374206861766520657870697265642c5501656974686572206265636175736520746865207265666572656e64756d207761732063616e63656c6c65642c20626563617573652074686520766f746572206c6f737420746865207265666572656e64756d206f7298626563617573652074686520636f6e76696374696f6e20706572696f64206973206f7665722e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e004d012d2060746172676574603a20546865206163636f756e74206f662074686520766f746520746f2062652072656d6f7665643b2074686973206163636f756e74206d757374206861766520766f74656420666f725420207265666572656e64756d2060696e646578602ef42d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e0055015765696768743a20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2ed820205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652e24626c61636b6c69737408013470726f706f73616c5f6861736834011c543a3a4861736800013c6d617962655f7265665f696e6465789102015c4f7074696f6e3c5265666572656e64756d496e6465783e00103c45015065726d616e656e746c7920706c61636520612070726f706f73616c20696e746f2074686520626c61636b6c6973742e20546869732070726576656e74732069742066726f6d2065766572206265696e673c70726f706f73656420616761696e2e00510149662063616c6c6564206f6e206120717565756564207075626c6963206f722065787465726e616c2070726f706f73616c2c207468656e20746869732077696c6c20726573756c7420696e206974206265696e67510172656d6f7665642e2049662074686520607265665f696e6465786020737570706c69656420697320616e20616374697665207265666572656e64756d2077697468207468652070726f706f73616c20686173682c687468656e2069742077696c6c2062652063616e63656c6c65642e00ec546865206469737061746368206f726967696e206f6620746869732063616c6c206d7573742062652060426c61636b6c6973744f726967696e602e00f82d206070726f706f73616c5f68617368603a205468652070726f706f73616c206861736820746f20626c61636b6c697374207065726d616e656e746c792e45012d20607265665f696e646578603a20416e206f6e676f696e67207265666572656e64756d2077686f73652068617368206973206070726f706f73616c5f68617368602c2077686963682077696c6c2062652863616e63656c6c65642e0041015765696768743a20604f28702960202874686f756768206173207468697320697320616e20686967682d70726976696c6567652064697370617463682c20776520617373756d65206974206861732061502020726561736f6e61626c652076616c7565292e3c63616e63656c5f70726f706f73616c04012870726f705f696e646578f102012450726f70496e64657800111c4852656d6f766520612070726f706f73616c2e000101546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c50726f706f73616c4f726967696e602e00d02d206070726f705f696e646578603a2054686520696e646578206f66207468652070726f706f73616c20746f2063616e63656c2e00e45765696768743a20604f28702960207768657265206070203d205075626c696350726f70733a3a3c543e3a3a6465636f64655f6c656e282960307365745f6d657461646174610801146f776e6572c001344d657461646174614f776e65720001286d617962655f68617368c503013c4f7074696f6e3c543a3a486173683e00123cd8536574206f7220636c6561722061206d65746164617461206f6620612070726f706f73616c206f722061207265666572656e64756d2e002c506172616d65746572733acc2d20606f726967696e603a204d75737420636f72726573706f6e6420746f2074686520604d657461646174614f776e6572602e3d01202020202d206045787465726e616c4f726967696e6020666f7220616e2065787465726e616c2070726f706f73616c207769746820746865206053757065724d616a6f72697479417070726f766560402020202020207468726573686f6c642e5901202020202d206045787465726e616c44656661756c744f726967696e6020666f7220616e2065787465726e616c2070726f706f73616c207769746820746865206053757065724d616a6f72697479416761696e737460402020202020207468726573686f6c642e4501202020202d206045787465726e616c4d616a6f726974794f726967696e6020666f7220616e2065787465726e616c2070726f706f73616c207769746820746865206053696d706c654d616a6f7269747960402020202020207468726573686f6c642ec8202020202d20605369676e65646020627920612063726561746f7220666f722061207075626c69632070726f706f73616c2ef4202020202d20605369676e65646020746f20636c6561722061206d6574616461746120666f7220612066696e6973686564207265666572656e64756d2ee4202020202d2060526f6f746020746f207365742061206d6574616461746120666f7220616e206f6e676f696e67207265666572656e64756d2eb42d20606f776e6572603a20616e206964656e746966696572206f662061206d65746164617461206f776e65722e51012d20606d617962655f68617368603a205468652068617368206f6620616e206f6e2d636861696e2073746f72656420707265696d6167652e20604e6f6e656020746f20636c6561722061206d657461646174612e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732eb50310346672616d655f737570706f72741874726169747324707265696d616765731c426f756e646564080454014503044801b903010c184c656761637904011068617368340124483a3a4f757470757400000018496e6c696e650400bd030134426f756e646564496e6c696e65000100184c6f6f6b757008011068617368340124483a3a4f757470757400010c6c656e10010c75333200020000b9030c2873705f72756e74696d65187472616974732c426c616b6554776f32353600000000bd030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e0000c1030c4070616c6c65745f64656d6f637261637928636f6e76696374696f6e28436f6e76696374696f6e00011c104e6f6e65000000204c6f636b65643178000100204c6f636b65643278000200204c6f636b65643378000300204c6f636b65643478000400204c6f636b65643578000500204c6f636b6564367800060000c50304184f7074696f6e04045401340108104e6f6e6500000010536f6d650400340000010000c9030c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c0804540004490001182c7365745f6d656d626572730c012c6e65775f6d656d62657273450201445665633c543a3a4163636f756e7449643e0001147072696d658801504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e7410012c4d656d626572436f756e74000060805365742074686520636f6c6c6563746976652773206d656d626572736869702e0045012d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee02d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e59012d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652e205573656420666f7250202077656967687420657374696d6174696f6e2e00d4546865206469737061746368206f6620746869732063616c6c206d75737420626520605365744d656d626572734f726967696e602e0051014e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c2062757421012020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002823205741524e494e473a005901546865206070616c6c65742d636f6c6c656374697665602063616e20616c736f206265206d616e61676564206279206c6f676963206f757473696465206f66207468652070616c6c6574207468726f75676820746865b8696d706c656d656e746174696f6e206f6620746865207472616974205b604368616e67654d656d62657273605d2e5501416e792063616c6c20746f20607365745f6d656d6265727360206d757374206265206361726566756c207468617420746865206d656d6265722073657420646f65736e277420676574206f7574206f662073796e63a477697468206f74686572206c6f676963206d616e6167696e6720746865206d656d626572207365742e0038232320436f6d706c65786974793a502d20604f284d50202b204e29602077686572653ae020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299820202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e646564291c6578656375746508012070726f706f73616c4503017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64f102010c753332000124f0446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00a84f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e0038232320436f6d706c65786974793a5c2d20604f2842202b204d202b205029602077686572653ad82d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429882d20604d60206d656d626572732d636f756e742028636f64652d626f756e64656429a82d2060506020636f6d706c6578697479206f66206469737061746368696e67206070726f706f73616c601c70726f706f73650c01247468726573686f6c64f102012c4d656d626572436f756e7400012070726f706f73616c4503017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64f102010c753332000238f84164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e00845265717569726573207468652073656e64657220746f206265206d656d6265722e004101607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c20326029546f722070757420757020666f7220766f74696e672e0034232320436f6d706c6578697479ac2d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c420202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af4202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029fc202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d2032602910766f74650c012070726f706f73616c34011c543a3a48617368000114696e646578f102013450726f706f73616c496e64657800011c617070726f7665200110626f6f6c000324f041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e008c5265717569726573207468652073656e64657220746f2062652061206d656d6265722e0049015472616e73616374696f6e20666565732077696c6c2062652077616976656420696620746865206d656d62657220697320766f74696e67206f6e20616e7920706172746963756c61722070726f706f73616c5101666f72207468652066697273742074696d6520616e64207468652063616c6c206973207375636365737366756c2e2053756273657175656e7420766f7465206368616e6765732077696c6c206368617267652061106665652e34232320436f6d706c657869747909012d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564294c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f6861736834011c543a3a486173680005285901446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e741873746174652e00884d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e002c506172616d65746572733a1d012a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e0034232320436f6d706c6578697479ac4f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c7314636c6f736510013470726f706f73616c5f6861736834011c543a3a48617368000114696e646578f102013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e642801185765696768740001306c656e6774685f626f756e64f102010c7533320006604d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e0034232320436f6d706c6578697479742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ecd030c3870616c6c65745f76657374696e671870616c6c65741043616c6c0404540001181076657374000024b8556e6c6f636b20616e79207665737465642066756e6473206f66207468652073656e646572206163636f756e742e005d01546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652066756e6473207374696c6c646c6f636b656420756e64657220746869732070616c6c65742e00d0456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e0034232320436f6d706c6578697479242d20604f283129602e28766573745f6f746865720401187461726765744d0301504163636f756e7449644c6f6f6b75704f663c543e00012cb8556e6c6f636b20616e79207665737465642066756e6473206f662061206074617267657460206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0051012d2060746172676574603a20546865206163636f756e742077686f7365207665737465642066756e64732073686f756c6420626520756e6c6f636b65642e204d75737420686176652066756e6473207374696c6c646c6f636b656420756e64657220746869732070616c6c65742e00d0456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e0034232320436f6d706c6578697479242d20604f283129602e3c7665737465645f7472616e736665720801187461726765744d0301504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65d10301b056657374696e67496e666f3c42616c616e63654f663c543e2c20426c6f636b4e756d626572466f723c543e3e00023464437265617465206120766573746564207472616e736665722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00cc2d2060746172676574603a20546865206163636f756e7420726563656976696e6720746865207665737465642066756e64732ef02d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e005c456d697473206056657374696e6743726561746564602e00fc4e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b2e0034232320436f6d706c6578697479242d20604f283129602e54666f7263655f7665737465645f7472616e736665720c0118736f757263654d0301504163636f756e7449644c6f6f6b75704f663c543e0001187461726765744d0301504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65d10301b056657374696e67496e666f3c42616c616e63654f663c543e2c20426c6f636b4e756d626572466f723c543e3e00033860466f726365206120766573746564207472616e736665722e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00e82d2060736f75726365603a20546865206163636f756e742077686f73652066756e64732073686f756c64206265207472616e736665727265642e11012d2060746172676574603a20546865206163636f756e7420746861742073686f756c64206265207472616e7366657272656420746865207665737465642066756e64732ef02d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e005c456d697473206056657374696e6743726561746564602e00fc4e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b2e0034232320436f6d706c6578697479242d20604f283129602e3c6d657267655f7363686564756c657308013c7363686564756c65315f696e64657810010c75333200013c7363686564756c65325f696e64657810010c7533320004545d014d657267652074776f2076657374696e67207363686564756c657320746f6765746865722c206372656174696e672061206e65772076657374696e67207363686564756c65207468617420756e6c6f636b73206f7665725501746865206869676865737420706f737369626c6520737461727420616e6420656e6420626c6f636b732e20496620626f7468207363686564756c6573206861766520616c7265616479207374617274656420746865590163757272656e7420626c6f636b2077696c6c206265207573656420617320746865207363686564756c652073746172743b207769746820746865206361766561742074686174206966206f6e65207363686564756c655d0169732066696e6973686564206279207468652063757272656e7420626c6f636b2c20746865206f746865722077696c6c206265207472656174656420617320746865206e6577206d6572676564207363686564756c652c2c756e6d6f6469666965642e00f84e4f54453a20496620607363686564756c65315f696e646578203d3d207363686564756c65325f696e6465786020746869732069732061206e6f2d6f702e41014e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b207072696f7220746f206d657267696e672e61014e4f54453a20496620626f7468207363686564756c6573206861766520656e646564206279207468652063757272656e7420626c6f636b2c206e6f206e6577207363686564756c652077696c6c206265206372656174656464616e6420626f74682077696c6c2062652072656d6f7665642e006c4d6572676564207363686564756c6520617474726962757465733a35012d20607374617274696e675f626c6f636b603a20604d4158287363686564756c65312e7374617274696e675f626c6f636b2c207363686564756c6564322e7374617274696e675f626c6f636b2c48202063757272656e745f626c6f636b29602e21012d2060656e64696e675f626c6f636b603a20604d4158287363686564756c65312e656e64696e675f626c6f636b2c207363686564756c65322e656e64696e675f626c6f636b29602e59012d20606c6f636b6564603a20607363686564756c65312e6c6f636b65645f61742863757272656e745f626c6f636b29202b207363686564756c65322e6c6f636b65645f61742863757272656e745f626c6f636b29602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00e82d20607363686564756c65315f696e646578603a20696e646578206f6620746865206669727374207363686564756c6520746f206d657267652eec2d20607363686564756c65325f696e646578603a20696e646578206f6620746865207365636f6e64207363686564756c6520746f206d657267652e74666f7263655f72656d6f76655f76657374696e675f7363686564756c650801187461726765744d03018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263650001387363686564756c655f696e64657810010c7533320005187c466f7263652072656d6f766520612076657374696e67207363686564756c6500c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00c82d2060746172676574603a20416e206163636f756e7420746861742068617320612076657374696e67207363686564756c6515012d20607363686564756c655f696e646578603a205468652076657374696e67207363686564756c6520696e64657820746861742073686f756c642062652072656d6f766564040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ed1030c3870616c6c65745f76657374696e673076657374696e675f696e666f2c56657374696e67496e666f081c42616c616e636501182c426c6f636b4e756d6265720130000c01186c6f636b656418011c42616c616e63650001247065725f626c6f636b18011c42616c616e63650001387374617274696e675f626c6f636b30012c426c6f636b4e756d6265720000d5030c6470616c6c65745f656c656374696f6e735f70687261676d656e1870616c6c65741043616c6c04045400011810766f7465080114766f746573450201445665633c543a3a4163636f756e7449643e00011476616c75656d01013042616c616e63654f663c543e00004c5901566f746520666f72206120736574206f662063616e6469646174657320666f7220746865207570636f6d696e6720726f756e64206f6620656c656374696f6e2e20546869732063616e2062652063616c6c656420746fe07365742074686520696e697469616c20766f7465732c206f722075706461746520616c7265616479206578697374696e6720766f7465732e005d0155706f6e20696e697469616c20766f74696e672c206076616c75656020756e697473206f66206077686f6027732062616c616e6365206973206c6f636b656420616e642061206465706f73697420616d6f756e742069734d0172657365727665642e20546865206465706f736974206973206261736564206f6e20746865206e756d626572206f6620766f74657320616e642063616e2062652075706461746564206f7665722074696d652e004c5468652060766f746573602073686f756c643a4420202d206e6f7420626520656d7074792e550120202d206265206c657373207468616e20746865206e756d626572206f6620706f737369626c652063616e646964617465732e204e6f7465207468617420616c6c2063757272656e74206d656d6265727320616e6411012020202072756e6e6572732d75702061726520616c736f206175746f6d61746963616c6c792063616e6469646174657320666f7220746865206e65787420726f756e642e0049014966206076616c756560206973206d6f7265207468616e206077686f60277320667265652062616c616e63652c207468656e20746865206d6178696d756d206f66207468652074776f20697320757365642e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e65642e002c232323205761726e696e6700550149742069732074686520726573706f6e736962696c697479206f66207468652063616c6c657220746f202a2a4e4f542a2a20706c61636520616c6c206f662074686569722062616c616e636520696e746f20746865a86c6f636b20616e64206b65657020736f6d6520666f722066757274686572206f7065726174696f6e732e3072656d6f76655f766f7465720001146c52656d6f766520606f726967696e60206173206120766f7465722e00b8546869732072656d6f76657320746865206c6f636b20616e642072657475726e7320746865206465706f7369742e00fc546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e656420616e64206265206120766f7465722e407375626d69745f63616e64696461637904013c63616e6469646174655f636f756e74f102010c75333200023c11015375626d6974206f6e6573656c6620666f722063616e6469646163792e204120666978656420616d6f756e74206f66206465706f736974206973207265636f726465642e005d01416c6c2063616e64696461746573206172652077697065642061742074686520656e64206f6620746865207465726d2e205468657920656974686572206265636f6d652061206d656d6265722f72756e6e65722d75702ccc6f72206c65617665207468652073797374656d207768696c65207468656972206465706f73697420697320736c61736865642e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e65642e002c232323205761726e696e67005d014576656e20696620612063616e64696461746520656e6473207570206265696e672061206d656d6265722c2074686579206d7573742063616c6c205b6043616c6c3a3a72656e6f756e63655f63616e646964616379605d5901746f20676574207468656972206465706f736974206261636b2e204c6f73696e67207468652073706f7420696e20616e20656c656374696f6e2077696c6c20616c77617973206c65616420746f206120736c6173682e000901546865206e756d626572206f662063757272656e742063616e64696461746573206d7573742062652070726f7669646564206173207769746e65737320646174612e34232320436f6d706c6578697479a44f2843202b206c6f672843292920776865726520432069732063616e6469646174655f636f756e742e4872656e6f756e63655f63616e64696461637904012872656e6f756e63696e67d903012852656e6f756e63696e670003504d0152656e6f756e6365206f6e65277320696e74656e74696f6e20746f20626520612063616e64696461746520666f7220746865206e65787420656c656374696f6e20726f756e642e203320706f74656e7469616c3c6f7574636f6d65732065786973743a0049012d20606f726967696e6020697320612063616e64696461746520616e64206e6f7420656c656374656420696e20616e79207365742e20496e207468697320636173652c20746865206465706f736974206973f02020756e72657365727665642c2072657475726e656420616e64206f726967696e2069732072656d6f76656420617320612063616e6469646174652e61012d20606f726967696e6020697320612063757272656e742072756e6e65722d75702e20496e207468697320636173652c20746865206465706f73697420697320756e72657365727665642c2072657475726e656420616e648c20206f726967696e2069732072656d6f76656420617320612072756e6e65722d75702e55012d20606f726967696e6020697320612063757272656e74206d656d6265722e20496e207468697320636173652c20746865206465706f73697420697320756e726573657276656420616e64206f726967696e2069735501202072656d6f7665642061732061206d656d6265722c20636f6e73657175656e746c79206e6f74206265696e6720612063616e64696461746520666f7220746865206e65787420726f756e6420616e796d6f72652e6101202053696d696c617220746f205b6072656d6f76655f6d656d626572605d2853656c663a3a72656d6f76655f6d656d626572292c206966207265706c6163656d656e742072756e6e657273206578697374732c20746865795901202061726520696d6d6564696174656c7920757365642e20496620746865207072696d652069732072656e6f756e63696e672c207468656e206e6f207072696d652077696c6c20657869737420756e74696c207468653420206e65787420726f756e642e004501546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e65642c20616e642068617665206f6e65206f66207468652061626f766520726f6c65732ee05468652074797065206f662072656e6f756e63696e67206d7573742062652070726f7669646564206173207769746e65737320646174612e0034232320436f6d706c6578697479dc20202d2052656e6f756e63696e673a3a43616e64696461746528636f756e74293a204f28636f756e74202b206c6f6728636f756e7429297020202d2052656e6f756e63696e673a3a4d656d6265723a204f2831297820202d2052656e6f756e63696e673a3a52756e6e657255703a204f2831293472656d6f76655f6d656d6265720c010c77686f4d0301504163636f756e7449644c6f6f6b75704f663c543e000128736c6173685f626f6e64200110626f6f6c000138726572756e5f656c656374696f6e200110626f6f6c000440590152656d6f7665206120706172746963756c6172206d656d6265722066726f6d20746865207365742e20546869732069732065666665637469766520696d6d6564696174656c7920616e642074686520626f6e64206f667c746865206f7574676f696e67206d656d62657220697320736c61736865642e005501496620612072756e6e65722d757020697320617661696c61626c652c207468656e2074686520626573742072756e6e65722d75702077696c6c2062652072656d6f76656420616e64207265706c616365732074686555016f7574676f696e67206d656d6265722e204f74686572776973652c2069662060726572756e5f656c656374696f6e60206973206074727565602c2061206e65772070687261676d656e20656c656374696f6e2069737c737461727465642c20656c73652c206e6f7468696e672068617070656e732e00590149662060736c6173685f626f6e64602069732073657420746f20747275652c2074686520626f6e64206f6620746865206d656d626572206265696e672072656d6f76656420697320736c61736865642e20456c73652c3c69742069732072657475726e65642e00b8546865206469737061746368206f726967696e206f6620746869732063616c6c206d75737420626520726f6f742e0041014e6f74652074686174207468697320646f6573206e6f7420616666656374207468652064657369676e6174656420626c6f636b206e756d626572206f6620746865206e65787420656c656374696f6e2e0034232320436f6d706c657869747905012d20436865636b2064657461696c73206f662072656d6f76655f616e645f7265706c6163655f6d656d626572282920616e6420646f5f70687261676d656e28292e50636c65616e5f646566756e63745f766f746572730801286e756d5f766f7465727310010c75333200012c6e756d5f646566756e637410010c7533320005244501436c65616e20616c6c20766f746572732077686f2061726520646566756e63742028692e652e207468657920646f206e6f7420736572766520616e7920707572706f736520617420616c6c292e20546865ac6465706f736974206f66207468652072656d6f76656420766f74657273206172652072657475726e65642e0001015468697320697320616e20726f6f742066756e6374696f6e20746f2062652075736564206f6e6c7920666f7220636c65616e696e67207468652073746174652e00b8546865206469737061746368206f726967696e206f6620746869732063616c6c206d75737420626520726f6f742e0034232320436f6d706c65786974798c2d20436865636b2069735f646566756e63745f766f74657228292064657461696c732e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ed903086470616c6c65745f656c656374696f6e735f70687261676d656e2852656e6f756e63696e6700010c184d656d6265720000002052756e6e657255700001002443616e6469646174650400f102010c75333200020000dd030c9070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f70686173651870616c6c65741043616c6c0404540001143c7375626d69745f756e7369676e65640801307261775f736f6c7574696f6ee10301b0426f783c526177536f6c7574696f6e3c536f6c7574696f6e4f663c543a3a4d696e6572436f6e6669673e3e3e00011c7769746e657373b1040158536f6c7574696f6e4f72536e617073686f7453697a65000038a45375626d6974206120736f6c7574696f6e20666f722074686520756e7369676e65642070686173652e00c8546865206469737061746368206f726967696e20666f20746869732063616c6c206d757374206265205f5f6e6f6e655f5f2e003d0154686973207375626d697373696f6e20697320636865636b6564206f6e2074686520666c792e204d6f72656f7665722c207468697320756e7369676e656420736f6c7574696f6e206973206f6e6c79550176616c696461746564207768656e207375626d697474656420746f2074686520706f6f6c2066726f6d20746865202a2a6c6f63616c2a2a206e6f64652e204566666563746976656c792c2074686973206d65616e735d0174686174206f6e6c79206163746976652076616c696461746f72732063616e207375626d69742074686973207472616e73616374696f6e207768656e20617574686f72696e67206120626c6f636b202873696d696c617240746f20616e20696e686572656e74292e005901546f2070726576656e7420616e7920696e636f727265637420736f6c7574696f6e2028616e642074687573207761737465642074696d652f776569676874292c2074686973207472616e73616374696f6e2077696c6c4d0170616e69632069662074686520736f6c7574696f6e207375626d6974746564206279207468652076616c696461746f7220697320696e76616c696420696e20616e79207761792c206566666563746976656c799c70757474696e6720746865697220617574686f72696e6720726577617264206174207269736b2e00e04e6f206465706f736974206f7220726577617264206973206173736f63696174656420776974682074686973207375626d697373696f6e2e6c7365745f6d696e696d756d5f756e747275737465645f73636f72650401406d617962655f6e6578745f73636f7265b50401544f7074696f6e3c456c656374696f6e53636f72653e000114b05365742061206e65772076616c756520666f7220604d696e696d756d556e7472757374656453636f7265602e00d84469737061746368206f726967696e206d75737420626520616c69676e656420776974682060543a3a466f7263654f726967696e602e00f05468697320636865636b2063616e206265207475726e6564206f66662062792073657474696e67207468652076616c756520746f20604e6f6e65602e747365745f656d657267656e63795f656c656374696f6e5f726573756c74040120737570706f727473b9040158537570706f7274733c543a3a4163636f756e7449643e0002205901536574206120736f6c7574696f6e20696e207468652071756575652c20746f2062652068616e646564206f757420746f2074686520636c69656e74206f6620746869732070616c6c657420696e20746865206e6578748863616c6c20746f2060456c656374696f6e50726f76696465723a3a656c656374602e004501546869732063616e206f6e6c79206265207365742062792060543a3a466f7263654f726967696e602c20616e64206f6e6c79207768656e207468652070686173652069732060456d657267656e6379602e00610154686520736f6c7574696f6e206973206e6f7420636865636b656420666f7220616e7920666561736962696c69747920616e6420697320617373756d656420746f206265207472757374776f727468792c20617320616e795101666561736962696c69747920636865636b20697473656c662063616e20696e207072696e6369706c652063617573652074686520656c656374696f6e2070726f6365737320746f206661696c202864756520746f686d656d6f72792f77656967687420636f6e73747261696e73292e187375626d69740401307261775f736f6c7574696f6ee10301b0426f783c526177536f6c7574696f6e3c536f6c7574696f6e4f663c543a3a4d696e6572436f6e6669673e3e3e0003249c5375626d6974206120736f6c7574696f6e20666f7220746865207369676e65642070686173652e00d0546865206469737061746368206f726967696e20666f20746869732063616c6c206d757374206265205f5f7369676e65645f5f2e005d0154686520736f6c7574696f6e20697320706f74656e7469616c6c79207175657565642c206261736564206f6e2074686520636c61696d65642073636f726520616e642070726f6365737365642061742074686520656e64506f6620746865207369676e65642070686173652e005d0141206465706f73697420697320726573657276656420616e64207265636f7264656420666f722074686520736f6c7574696f6e2e204261736564206f6e20746865206f7574636f6d652c2074686520736f6c7574696f6e15016d696768742062652072657761726465642c20736c61736865642c206f722067657420616c6c206f7220612070617274206f6620746865206465706f736974206261636b2e4c676f7665726e616e63655f66616c6c6261636b0801406d617962655f6d61785f766f746572739102012c4f7074696f6e3c7533323e0001446d617962655f6d61785f746172676574739102012c4f7074696f6e3c7533323e00041080547269676765722074686520676f7665726e616e63652066616c6c6261636b2e004901546869732063616e206f6e6c792062652063616c6c6564207768656e205b6050686173653a3a456d657267656e6379605d20697320656e61626c65642c20617320616e20616c7465726e617469766520746fc063616c6c696e67205b6043616c6c3a3a7365745f656d657267656e63795f656c656374696f6e5f726573756c74605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ee103089070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f70686173652c526177536f6c7574696f6e04045301e503000c0120736f6c7574696f6ee50301045300011473636f7265e00134456c656374696f6e53636f7265000114726f756e6410010c7533320000e503085874616e676c655f746573746e65745f72756e74696d65384e706f73536f6c7574696f6e31360000400118766f74657331e90300000118766f74657332f50300000118766f74657333090400000118766f74657334150400000118766f74657335210400000118766f746573362d0400000118766f74657337390400000118766f74657338450400000118766f7465733951040000011c766f74657331305d040000011c766f746573313169040000011c766f746573313275040000011c766f746573313381040000011c766f74657331348d040000011c766f746573313599040000011c766f7465733136a504000000e903000002ed0300ed0300000408f102f10300f103000006e90100f503000002f90300f9030000040cf102fd03f10300fd0300000408f103010400010400000605040005040c3473705f61726974686d65746963287065725f7468696e67731850657255313600000400e901010c753136000009040000020d04000d040000040cf1021104f10300110400000302000000fd0300150400000219040019040000040cf1021d04f103001d0400000303000000fd0300210400000225040025040000040cf1022904f10300290400000304000000fd03002d0400000231040031040000040cf1023504f10300350400000305000000fd030039040000023d04003d040000040cf1024104f10300410400000306000000fd0300450400000249040049040000040cf1024d04f103004d0400000307000000fd0300510400000255040055040000040cf1025904f10300590400000308000000fd03005d0400000261040061040000040cf1026504f10300650400000309000000fd030069040000026d04006d040000040cf1027104f1030071040000030a000000fd0300750400000279040079040000040cf1027d04f103007d040000030b000000fd0300810400000285040085040000040cf1028904f1030089040000030c000000fd03008d0400000291040091040000040cf1029504f1030095040000030d000000fd030099040000029d04009d040000040cf102a104f10300a1040000030e000000fd0300a504000002a90400a9040000040cf102ad04f10300ad040000030f000000fd0300b104089070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f706861736558536f6c7574696f6e4f72536e617073686f7453697a650000080118766f74657273f102010c75333200011c74617267657473f102010c7533320000b50404184f7074696f6e04045401e00108104e6f6e6500000010536f6d650400e00000010000b904000002bd0400bd040000040800c10400c104084473705f6e706f735f656c656374696f6e731c537570706f727404244163636f756e744964010000080114746f74616c18013c457874656e64656442616c616e6365000118766f74657273d001845665633c284163636f756e7449642c20457874656e64656442616c616e6365293e0000c504103870616c6c65745f7374616b696e671870616c6c65741870616c6c65741043616c6c04045400017810626f6e6408011476616c75656d01013042616c616e63654f663c543e0001147061796565f0017c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e000040610154616b6520746865206f726967696e206163636f756e74206173206120737461736820616e64206c6f636b207570206076616c756560206f66206974732062616c616e63652e2060636f6e74726f6c6c6572602077696c6c80626520746865206163636f756e74207468617420636f6e74726f6c732069742e002d016076616c756560206d757374206265206d6f7265207468616e2074686520606d696e696d756d5f62616c616e636560207370656369666965642062792060543a3a43757272656e6379602e002101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20627920746865207374617368206163636f756e742e003c456d6974732060426f6e646564602e34232320436f6d706c6578697479d02d20496e646570656e64656e74206f662074686520617267756d656e74732e204d6f64657261746520636f6d706c65786974792e1c2d204f2831292e642d20546872656520657874726120444220656e74726965732e004d014e4f54453a2054776f206f66207468652073746f726167652077726974657320286053656c663a3a626f6e646564602c206053656c663a3a7061796565602920617265205f6e657665725f20636c65616e65645901756e6c6573732074686520606f726967696e602066616c6c732062656c6f77205f6578697374656e7469616c206465706f7369745f20286f7220657175616c20746f20302920616e6420676574732072656d6f76656420617320647573742e28626f6e645f65787472610401386d61785f6164646974696f6e616c6d01013042616c616e63654f663c543e000138610141646420736f6d6520657874726120616d6f756e742074686174206861766520617070656172656420696e207468652073746173682060667265655f62616c616e63656020696e746f207468652062616c616e636520757030666f72207374616b696e672e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f206279207468652073746173682c206e6f742074686520636f6e74726f6c6c65722e004d01557365207468697320696620746865726520617265206164646974696f6e616c2066756e647320696e20796f7572207374617368206163636f756e74207468617420796f75207769736820746f20626f6e642e5501556e6c696b65205b60626f6e64605d2853656c663a3a626f6e6429206f72205b60756e626f6e64605d2853656c663a3a756e626f6e642920746869732066756e6374696f6e20646f6573206e6f7420696d706f7365bc616e79206c696d69746174696f6e206f6e2074686520616d6f756e7420746861742063616e2062652061646465642e003c456d6974732060426f6e646564602e0034232320436f6d706c6578697479e42d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e1c2d204f2831292e18756e626f6e6404011476616c75656d01013042616c616e63654f663c543e00024c51015363686564756c65206120706f7274696f6e206f662074686520737461736820746f20626520756e6c6f636b656420726561647920666f72207472616e73666572206f75742061667465722074686520626f6e64fc706572696f6420656e64732e2049662074686973206c656176657320616e20616d6f756e74206163746976656c7920626f6e646564206c657373207468616e2101543a3a43757272656e63793a3a6d696e696d756d5f62616c616e636528292c207468656e20697420697320696e6372656173656420746f207468652066756c6c20616d6f756e742e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0045014f6e63652074686520756e6c6f636b20706572696f6420697320646f6e652c20796f752063616e2063616c6c206077697468647261775f756e626f6e6465646020746f2061637475616c6c79206d6f7665bc7468652066756e6473206f7574206f66206d616e6167656d656e7420726561647920666f72207472616e736665722e0031014e6f206d6f7265207468616e2061206c696d69746564206e756d626572206f6620756e6c6f636b696e67206368756e6b73202873656520604d6178556e6c6f636b696e674368756e6b736029410163616e20636f2d657869737473206174207468652073616d652074696d652e20496620746865726520617265206e6f20756e6c6f636b696e67206368756e6b7320736c6f747320617661696c61626c6545015b6043616c6c3a3a77697468647261775f756e626f6e646564605d2069732063616c6c656420746f2072656d6f766520736f6d65206f6620746865206368756e6b732028696620706f737369626c65292e00390149662061207573657220656e636f756e74657273207468652060496e73756666696369656e74426f6e6460206572726f72207768656e2063616c6c696e6720746869732065787472696e7369632c1901746865792073686f756c642063616c6c20606368696c6c6020666972737420696e206f7264657220746f206672656520757020746865697220626f6e6465642066756e64732e0044456d6974732060556e626f6e646564602e009453656520616c736f205b6043616c6c3a3a77697468647261775f756e626f6e646564605d2e4477697468647261775f756e626f6e6465640401486e756d5f736c617368696e675f7370616e7310010c75333200035c290152656d6f766520616e7920756e6c6f636b6564206368756e6b732066726f6d207468652060756e6c6f636b696e67602071756575652066726f6d206f7572206d616e6167656d656e742e0055015468697320657373656e7469616c6c7920667265657320757020746861742062616c616e636520746f206265207573656420627920746865207374617368206163636f756e7420746f20646f2077686174657665722469742077616e74732e001501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722e0048456d697473206057697468647261776e602e006853656520616c736f205b6043616c6c3a3a756e626f6e64605d2e0034232320506172616d65746572730051012d20606e756d5f736c617368696e675f7370616e736020696e6469636174657320746865206e756d626572206f66206d6574616461746120736c617368696e67207370616e7320746f20636c656172207768656e5501746869732063616c6c20726573756c747320696e206120636f6d706c6574652072656d6f76616c206f6620616c6c2074686520646174612072656c6174656420746f20746865207374617368206163636f756e742e3d01496e207468697320636173652c2074686520606e756d5f736c617368696e675f7370616e7360206d757374206265206c6172676572206f7220657175616c20746f20746865206e756d626572206f665d01736c617368696e67207370616e73206173736f636961746564207769746820746865207374617368206163636f756e7420696e20746865205b60536c617368696e675370616e73605d2073746f7261676520747970652c25016f7468657277697365207468652063616c6c2077696c6c206661696c2e205468652063616c6c20776569676874206973206469726563746c792070726f706f7274696f6e616c20746f54606e756d5f736c617368696e675f7370616e73602e0034232320436f6d706c6578697479d84f285329207768657265205320697320746865206e756d626572206f6620736c617368696e67207370616e7320746f2072656d6f766509014e4f54453a2057656967687420616e6e6f746174696f6e20697320746865206b696c6c207363656e6172696f2c20776520726566756e64206f74686572776973652e2076616c69646174650401147072656673f8013856616c696461746f725072656673000414e44465636c617265207468652064657369726520746f2076616c696461746520666f7220746865206f726967696e20636f6e74726f6c6c65722e00d8456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e206e6f6d696e61746504011c74617267657473c90401645665633c4163636f756e7449644c6f6f6b75704f663c543e3e0005280d014465636c617265207468652064657369726520746f206e6f6d696e6174652060746172676574736020666f7220746865206f726967696e20636f6e74726f6c6c65722e00d8456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0034232320436f6d706c65786974792d012d20546865207472616e73616374696f6e277320636f6d706c65786974792069732070726f706f7274696f6e616c20746f207468652073697a65206f662060746172676574736020284e29050177686963682069732063617070656420617420436f6d7061637441737369676e6d656e74733a3a4c494d49542028543a3a4d61784e6f6d696e6174696f6e73292ed42d20426f74682074686520726561647320616e642077726974657320666f6c6c6f7720612073696d696c6172207061747465726e2e146368696c6c000628c44465636c617265206e6f2064657369726520746f206569746865722076616c6964617465206f72206e6f6d696e6174652e00d8456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0034232320436f6d706c6578697479e42d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e502d20436f6e7461696e73206f6e6520726561642ec42d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e247365745f70617965650401147061796565f0017c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e000730b42852652d2973657420746865207061796d656e742074617267657420666f72206120636f6e74726f6c6c65722e005101456666656374732077696c6c2062652066656c7420696e7374616e746c792028617320736f6f6e20617320746869732066756e6374696f6e20697320636f6d706c65746564207375636365737366756c6c79292e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0034232320436f6d706c6578697479182d204f283129e42d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e942d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec42d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e242d2d2d2d2d2d2d2d2d387365745f636f6e74726f6c6c657200083845012852652d29736574732074686520636f6e74726f6c6c6572206f66206120737461736820746f2074686520737461736820697473656c662e20546869732066756e6374696f6e2070726576696f75736c794d01616363657074656420612060636f6e74726f6c6c65726020617267756d656e7420746f207365742074686520636f6e74726f6c6c657220746f20616e206163636f756e74206f74686572207468616e207468655901737461736820697473656c662e20546869732066756e6374696f6e616c69747920686173206e6f77206265656e2072656d6f7665642c206e6f77206f6e6c792073657474696e672074686520636f6e74726f6c6c65728c746f207468652073746173682c206966206974206973206e6f7420616c72656164792e005101456666656374732077696c6c2062652066656c7420696e7374616e746c792028617320736f6f6e20617320746869732066756e6374696f6e20697320636f6d706c65746564207375636365737366756c6c79292e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f206279207468652073746173682c206e6f742074686520636f6e74726f6c6c65722e0034232320436f6d706c6578697479104f283129e42d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e942d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec42d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e4c7365745f76616c696461746f725f636f756e7404010c6e6577f102010c75333200091890536574732074686520696465616c206e756d626572206f662076616c696461746f72732e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0034232320436f6d706c6578697479104f28312960696e6372656173655f76616c696461746f725f636f756e740401286164646974696f6e616cf102010c753332000a1ce8496e6372656d656e74732074686520696465616c206e756d626572206f662076616c696461746f727320757020746f206d6178696d756d206f668c60456c656374696f6e50726f7669646572426173653a3a4d617857696e6e657273602e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0034232320436f6d706c65786974799853616d65206173205b6053656c663a3a7365745f76616c696461746f725f636f756e74605d2e547363616c655f76616c696461746f725f636f756e74040118666163746f725102011c50657263656e74000b1c11015363616c652075702074686520696465616c206e756d626572206f662076616c696461746f7273206279206120666163746f7220757020746f206d6178696d756d206f668c60456c656374696f6e50726f7669646572426173653a3a4d617857696e6e657273602e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0034232320436f6d706c65786974799853616d65206173205b6053656c663a3a7365745f76616c696461746f725f636f756e74605d2e34666f7263655f6e6f5f65726173000c34ac466f72636520746865726520746f206265206e6f206e6577206572617320696e646566696e6974656c792e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e002423205761726e696e6700190154686520656c656374696f6e2070726f6365737320737461727473206d756c7469706c6520626c6f636b73206265666f72652074686520656e64206f6620746865206572612e3901546875732074686520656c656374696f6e2070726f63657373206d6179206265206f6e676f696e67207768656e20746869732069732063616c6c65642e20496e2074686973206361736520746865dc656c656374696f6e2077696c6c20636f6e74696e756520756e74696c20746865206e65787420657261206973207472696767657265642e0034232320436f6d706c65786974793c2d204e6f20617267756d656e74732e382d205765696768743a204f28312934666f7263655f6e65775f657261000d384901466f72636520746865726520746f2062652061206e6577206572612061742074686520656e64206f6620746865206e6578742073657373696f6e2e20416674657220746869732c2069742077696c6c2062659c726573657420746f206e6f726d616c20286e6f6e2d666f7263656429206265686176696f75722e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e002423205761726e696e6700190154686520656c656374696f6e2070726f6365737320737461727473206d756c7469706c6520626c6f636b73206265666f72652074686520656e64206f6620746865206572612e4901496620746869732069732063616c6c6564206a757374206265666f72652061206e657720657261206973207472696767657265642c2074686520656c656374696f6e2070726f63657373206d6179206e6f748c6861766520656e6f75676820626c6f636b7320746f20676574206120726573756c742e0034232320436f6d706c65786974793c2d204e6f20617267756d656e74732e382d205765696768743a204f283129447365745f696e76756c6e657261626c6573040134696e76756c6e657261626c6573450201445665633c543a3a4163636f756e7449643e000e0cc8536574207468652076616c696461746f72732077686f2063616e6e6f7420626520736c61736865642028696620616e79292e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e34666f7263655f756e7374616b650801147374617368000130543a3a4163636f756e7449640001486e756d5f736c617368696e675f7370616e7310010c753332000f200901466f72636520612063757272656e74207374616b657220746f206265636f6d6520636f6d706c6574656c7920756e7374616b65642c20696d6d6564696174656c792e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0034232320506172616d65746572730045012d20606e756d5f736c617368696e675f7370616e73603a20526566657220746f20636f6d6d656e7473206f6e205b6043616c6c3a3a77697468647261775f756e626f6e646564605d20666f72206d6f72652064657461696c732e50666f7263655f6e65775f6572615f616c776179730010240101466f72636520746865726520746f2062652061206e6577206572612061742074686520656e64206f662073657373696f6e7320696e646566696e6974656c792e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e002423205761726e696e6700190154686520656c656374696f6e2070726f6365737320737461727473206d756c7469706c6520626c6f636b73206265666f72652074686520656e64206f6620746865206572612e4901496620746869732069732063616c6c6564206a757374206265666f72652061206e657720657261206973207472696767657265642c2074686520656c656374696f6e2070726f63657373206d6179206e6f748c6861766520656e6f75676820626c6f636b7320746f20676574206120726573756c742e5463616e63656c5f64656665727265645f736c61736808010c657261100120457261496e646578000134736c6173685f696e6469636573cd0401205665633c7533323e0011149443616e63656c20656e6163746d656e74206f66206120646566657272656420736c6173682e009843616e2062652063616c6c6564206279207468652060543a3a41646d696e4f726967696e602e000101506172616d65746572733a2065726120616e6420696e6469636573206f662074686520736c617368657320666f7220746861742065726120746f206b696c6c2e387061796f75745f7374616b65727308013c76616c696461746f725f7374617368000130543a3a4163636f756e74496400010c657261100120457261496e6465780012341901506179206f7574206e6578742070616765206f6620746865207374616b65727320626568696e6420612076616c696461746f7220666f722074686520676976656e206572612e00e82d206076616c696461746f725f73746173686020697320746865207374617368206163636f756e74206f66207468652076616c696461746f722e31012d206065726160206d617920626520616e7920657261206265747765656e20605b63757272656e745f657261202d20686973746f72795f64657074683b2063757272656e745f6572615d602e005501546865206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e20416e79206163636f756e742063616e2063616c6c20746869732066756e6374696f6e2c206576656e206966746974206973206e6f74206f6e65206f6620746865207374616b6572732e00490154686520726577617264207061796f757420636f756c6420626520706167656420696e20636173652074686572652061726520746f6f206d616e79206e6f6d696e61746f7273206261636b696e67207468655d016076616c696461746f725f7374617368602e20546869732063616c6c2077696c6c207061796f757420756e7061696420706167657320696e20616e20617363656e64696e67206f726465722e20546f20636c61696d2061b4737065636966696320706167652c2075736520607061796f75745f7374616b6572735f62795f70616765602e6000f0496620616c6c2070616765732061726520636c61696d65642c2069742072657475726e7320616e206572726f722060496e76616c696450616765602e187265626f6e6404011476616c75656d01013042616c616e63654f663c543e00131cdc5265626f6e64206120706f7274696f6e206f6620746865207374617368207363686564756c656420746f20626520756e6c6f636b65642e00d4546865206469737061746368206f726967696e206d757374206265207369676e65642062792074686520636f6e74726f6c6c65722e0034232320436f6d706c6578697479d02d2054696d6520636f6d706c65786974793a204f284c292c207768657265204c20697320756e6c6f636b696e67206368756e6b73882d20426f756e64656420627920604d6178556e6c6f636b696e674368756e6b73602e28726561705f73746173680801147374617368000130543a3a4163636f756e7449640001486e756d5f736c617368696e675f7370616e7310010c7533320014485d0152656d6f766520616c6c2064617461207374727563747572657320636f6e6365726e696e672061207374616b65722f7374617368206f6e636520697420697320617420612073746174652077686572652069742063616e0501626520636f6e736964657265642060647573746020696e20746865207374616b696e672073797374656d2e2054686520726571756972656d656e7473206172653a000501312e207468652060746f74616c5f62616c616e636560206f66207468652073746173682069732062656c6f77206578697374656e7469616c206465706f7369742e1101322e206f722c2074686520606c65646765722e746f74616c60206f66207468652073746173682069732062656c6f77206578697374656e7469616c206465706f7369742e6101332e206f722c206578697374656e7469616c206465706f736974206973207a65726f20616e64206569746865722060746f74616c5f62616c616e636560206f7220606c65646765722e746f74616c60206973207a65726f2e00550154686520666f726d65722063616e2068617070656e20696e206361736573206c696b65206120736c6173683b20746865206c6174746572207768656e20612066756c6c7920756e626f6e646564206163636f756e7409016973207374696c6c20726563656976696e67207374616b696e67207265776172647320696e206052657761726444657374696e6174696f6e3a3a5374616b6564602e00310149742063616e2062652063616c6c656420627920616e796f6e652c206173206c6f6e672061732060737461736860206d65657473207468652061626f766520726571756972656d656e74732e00dc526566756e647320746865207472616e73616374696f6e20666565732075706f6e207375636365737366756c20657865637574696f6e2e0034232320506172616d65746572730045012d20606e756d5f736c617368696e675f7370616e73603a20526566657220746f20636f6d6d656e7473206f6e205b6043616c6c3a3a77697468647261775f756e626f6e646564605d20666f72206d6f72652064657461696c732e106b69636b04010c77686fc90401645665633c4163636f756e7449644c6f6f6b75704f663c543e3e00152ce052656d6f76652074686520676976656e206e6f6d696e6174696f6e732066726f6d207468652063616c6c696e672076616c696461746f722e00d8456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e004d012d206077686f603a2041206c697374206f66206e6f6d696e61746f72207374617368206163636f756e74732077686f20617265206e6f6d696e6174696e6720746869732076616c696461746f72207768696368c0202073686f756c64206e6f206c6f6e676572206265206e6f6d696e6174696e6720746869732076616c696461746f722e0055014e6f74653a204d616b696e6720746869732063616c6c206f6e6c79206d616b65732073656e736520696620796f7520666972737420736574207468652076616c696461746f7220707265666572656e63657320746f78626c6f636b20616e792066757274686572206e6f6d696e6174696f6e732e4c7365745f7374616b696e675f636f6e666967731c01486d696e5f6e6f6d696e61746f725f626f6e64d1040158436f6e6669674f703c42616c616e63654f663c543e3e0001486d696e5f76616c696461746f725f626f6e64d1040158436f6e6669674f703c42616c616e63654f663c543e3e00014c6d61785f6e6f6d696e61746f725f636f756e74d5040134436f6e6669674f703c7533323e00014c6d61785f76616c696461746f725f636f756e74d5040134436f6e6669674f703c7533323e00013c6368696c6c5f7468726573686f6c64d9040144436f6e6669674f703c50657263656e743e0001386d696e5f636f6d6d697373696f6edd040144436f6e6669674f703c50657262696c6c3e0001486d61785f7374616b65645f72657761726473d9040144436f6e6669674f703c50657263656e743e001644ac5570646174652074686520766172696f7573207374616b696e6720636f6e66696775726174696f6e73202e0025012a20606d696e5f6e6f6d696e61746f725f626f6e64603a20546865206d696e696d756d2061637469766520626f6e64206e656564656420746f2062652061206e6f6d696e61746f722e25012a20606d696e5f76616c696461746f725f626f6e64603a20546865206d696e696d756d2061637469766520626f6e64206e656564656420746f20626520612076616c696461746f722e55012a20606d61785f6e6f6d696e61746f725f636f756e74603a20546865206d6178206e756d626572206f662075736572732077686f2063616e2062652061206e6f6d696e61746f72206174206f6e63652e205768656e98202073657420746f20604e6f6e65602c206e6f206c696d697420697320656e666f726365642e55012a20606d61785f76616c696461746f725f636f756e74603a20546865206d6178206e756d626572206f662075736572732077686f2063616e20626520612076616c696461746f72206174206f6e63652e205768656e98202073657420746f20604e6f6e65602c206e6f206c696d697420697320656e666f726365642e59012a20606368696c6c5f7468726573686f6c64603a2054686520726174696f206f6620606d61785f6e6f6d696e61746f725f636f756e7460206f7220606d61785f76616c696461746f725f636f756e74602077686963681901202073686f756c642062652066696c6c656420696e206f7264657220666f722074686520606368696c6c5f6f7468657260207472616e73616374696f6e20746f20776f726b2e61012a20606d696e5f636f6d6d697373696f6e603a20546865206d696e696d756d20616d6f756e74206f6620636f6d6d697373696f6e207468617420656163682076616c696461746f7273206d757374206d61696e7461696e2e550120205468697320697320636865636b6564206f6e6c792075706f6e2063616c6c696e67206076616c6964617465602e204578697374696e672076616c696461746f727320617265206e6f742061666665637465642e00c452756e74696d654f726967696e206d75737420626520526f6f7420746f2063616c6c20746869732066756e6374696f6e2e0035014e4f54453a204578697374696e67206e6f6d696e61746f727320616e642076616c696461746f72732077696c6c206e6f742062652061666665637465642062792074686973207570646174652e1101746f206b69636b2070656f706c6520756e64657220746865206e6577206c696d6974732c20606368696c6c5f6f74686572602073686f756c642062652063616c6c65642e2c6368696c6c5f6f746865720401147374617368000130543a3a4163636f756e74496400176841014465636c61726520612060636f6e74726f6c6c65726020746f2073746f702070617274696369706174696e672061732065697468657220612076616c696461746f72206f72206e6f6d696e61746f722e00d8456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e004101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2c206275742063616e2062652063616c6c656420627920616e796f6e652e0059014966207468652063616c6c6572206973207468652073616d652061732074686520636f6e74726f6c6c6572206265696e672074617267657465642c207468656e206e6f206675727468657220636865636b7320617265d8656e666f726365642c20616e6420746869732066756e6374696f6e2062656861766573206a757374206c696b6520606368696c6c602e005d014966207468652063616c6c657220697320646966666572656e74207468616e2074686520636f6e74726f6c6c6572206265696e672074617267657465642c2074686520666f6c6c6f77696e6720636f6e646974696f6e73306d757374206265206d65743a001d012a2060636f6e74726f6c6c657260206d7573742062656c6f6e6720746f2061206e6f6d696e61746f722077686f20686173206265636f6d65206e6f6e2d6465636f6461626c652c000c4f723a003d012a204120604368696c6c5468726573686f6c6460206d7573742062652073657420616e6420636865636b656420776869636820646566696e657320686f7720636c6f736520746f20746865206d6178550120206e6f6d696e61746f7273206f722076616c696461746f7273207765206d757374207265616368206265666f72652075736572732063616e207374617274206368696c6c696e67206f6e652d616e6f746865722e59012a204120604d61784e6f6d696e61746f72436f756e746020616e6420604d617856616c696461746f72436f756e7460206d75737420626520736574207768696368206973207573656420746f2064657465726d696e65902020686f7720636c6f73652077652061726520746f20746865207468726573686f6c642e5d012a204120604d696e4e6f6d696e61746f72426f6e646020616e6420604d696e56616c696461746f72426f6e6460206d7573742062652073657420616e6420636865636b65642c2077686963682064657465726d696e65735101202069662074686973206973206120706572736f6e20746861742073686f756c64206265206368696c6c6564206265636175736520746865792068617665206e6f74206d657420746865207468726573686f6c64402020626f6e642072657175697265642e005501546869732063616e2062652068656c7066756c20696620626f6e6420726571756972656d656e74732061726520757064617465642c20616e64207765206e65656420746f2072656d6f7665206f6c642075736572739877686f20646f206e6f74207361746973667920746865736520726571756972656d656e74732e68666f7263655f6170706c795f6d696e5f636f6d6d697373696f6e04013c76616c696461746f725f7374617368000130543a3a4163636f756e74496400180c4501466f72636520612076616c696461746f7220746f2068617665206174206c6561737420746865206d696e696d756d20636f6d6d697373696f6e2e20546869732077696c6c206e6f74206166666563742061610176616c696461746f722077686f20616c726561647920686173206120636f6d6d697373696f6e2067726561746572207468616e206f7220657175616c20746f20746865206d696e696d756d2e20416e79206163636f756e743863616e2063616c6c20746869732e487365745f6d696e5f636f6d6d697373696f6e04010c6e6577f4011c50657262696c6c00191025015365747320746865206d696e696d756d20616d6f756e74206f6620636f6d6d697373696f6e207468617420656163682076616c696461746f7273206d757374206d61696e7461696e2e005901546869732063616c6c20686173206c6f7765722070726976696c65676520726571756972656d656e7473207468616e20607365745f7374616b696e675f636f6e6669676020616e642063616e2062652063616c6c6564cc6279207468652060543a3a41646d696e4f726967696e602e20526f6f742063616e20616c776179732063616c6c20746869732e587061796f75745f7374616b6572735f62795f706167650c013c76616c696461746f725f7374617368000130543a3a4163636f756e74496400010c657261100120457261496e6465780001107061676510011050616765001a443101506179206f757420612070616765206f6620746865207374616b65727320626568696e6420612076616c696461746f7220666f722074686520676976656e2065726120616e6420706167652e00e82d206076616c696461746f725f73746173686020697320746865207374617368206163636f756e74206f66207468652076616c696461746f722e31012d206065726160206d617920626520616e7920657261206265747765656e20605b63757272656e745f657261202d20686973746f72795f64657074683b2063757272656e745f6572615d602e31012d2060706167656020697320746865207061676520696e646578206f66206e6f6d696e61746f727320746f20706179206f757420776974682076616c7565206265747765656e203020616e64b02020606e756d5f6e6f6d696e61746f7273202f20543a3a4d61784578706f737572655061676553697a65602e005501546865206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e20416e79206163636f756e742063616e2063616c6c20746869732066756e6374696f6e2c206576656e206966746974206973206e6f74206f6e65206f6620746865207374616b6572732e003d01496620612076616c696461746f7220686173206d6f7265207468616e205b60436f6e6669673a3a4d61784578706f737572655061676553697a65605d206e6f6d696e61746f7273206261636b696e6729017468656d2c207468656e20746865206c697374206f66206e6f6d696e61746f72732069732070616765642c207769746820656163682070616765206265696e672063617070656420617455015b60436f6e6669673a3a4d61784578706f737572655061676553697a65602e5d20496620612076616c696461746f7220686173206d6f7265207468616e206f6e652070616765206f66206e6f6d696e61746f72732c49017468652063616c6c206e6565647320746f206265206d61646520666f72206561636820706167652073657061726174656c7920696e206f7264657220666f7220616c6c20746865206e6f6d696e61746f727355016261636b696e6720612076616c696461746f7220746f207265636569766520746865207265776172642e20546865206e6f6d696e61746f727320617265206e6f7420736f72746564206163726f73732070616765736101616e6420736f2069742073686f756c64206e6f7420626520617373756d6564207468652068696768657374207374616b657220776f756c64206265206f6e2074686520746f706d6f7374207061676520616e642076696365490176657273612e204966207265776172647320617265206e6f7420636c61696d656420696e205b60436f6e6669673a3a486973746f72794465707468605d20657261732c207468657920617265206c6f73742e307570646174655f7061796565040128636f6e74726f6c6c6572000130543a3a4163636f756e744964001b18e04d6967726174657320616e206163636f756e742773206052657761726444657374696e6174696f6e3a3a436f6e74726f6c6c65726020746fa46052657761726444657374696e6174696f6e3a3a4163636f756e7428636f6e74726f6c6c657229602e005101456666656374732077696c6c2062652066656c7420696e7374616e746c792028617320736f6f6e20617320746869732066756e6374696f6e20697320636f6d706c65746564207375636365737366756c6c79292e003101546869732077696c6c20776169766520746865207472616e73616374696f6e20666565206966207468652060706179656560206973207375636365737366756c6c79206d696772617465642e686465707265636174655f636f6e74726f6c6c65725f626174636804012c636f6e74726f6c6c657273e10401f4426f756e6465645665633c543a3a4163636f756e7449642c20543a3a4d6178436f6e74726f6c6c657273496e4465707265636174696f6e42617463683e001c1c5d01557064617465732061206261746368206f6620636f6e74726f6c6c6572206163636f756e747320746f20746865697220636f72726573706f6e64696e67207374617368206163636f756e7420696620746865792061726561016e6f74207468652073616d652e2049676e6f72657320616e7920636f6e74726f6c6c6572206163636f756e7473207468617420646f206e6f742065786973742c20616e6420646f6573206e6f74206f706572617465206966b874686520737461736820616e6420636f6e74726f6c6c65722061726520616c7265616479207468652073616d652e005101456666656374732077696c6c2062652066656c7420696e7374616e746c792028617320736f6f6e20617320746869732066756e6374696f6e20697320636f6d706c65746564207375636365737366756c6c79292e00b4546865206469737061746368206f726967696e206d7573742062652060543a3a41646d696e4f726967696e602e38726573746f72655f6c65646765721001147374617368000130543a3a4163636f756e7449640001406d617962655f636f6e74726f6c6c65728801504f7074696f6e3c543a3a4163636f756e7449643e00012c6d617962655f746f74616ce50401504f7074696f6e3c42616c616e63654f663c543e3e00013c6d617962655f756e6c6f636b696e67e9040115014f7074696f6e3c426f756e6465645665633c556e6c6f636b4368756e6b3c42616c616e63654f663c543e3e2c20543a3a0a4d6178556e6c6f636b696e674368756e6b733e3e001d2c0501526573746f72657320746865207374617465206f662061206c656467657220776869636820697320696e20616e20696e636f6e73697374656e742073746174652e00dc54686520726571756972656d656e747320746f20726573746f72652061206c6564676572206172652074686520666f6c6c6f77696e673a642a2054686520737461736820697320626f6e6465643b206f720d012a20546865207374617368206973206e6f7420626f6e64656420627574206974206861732061207374616b696e67206c6f636b206c65667420626568696e643b206f7225012a204966207468652073746173682068617320616e206173736f636961746564206c656467657220616e642069747320737461746520697320696e636f6e73697374656e743b206f721d012a20496620746865206c6564676572206973206e6f7420636f72727570746564202a6275742a20697473207374616b696e67206c6f636b206973206f7574206f662073796e632e00610154686520606d617962655f2a6020696e70757420706172616d65746572732077696c6c206f76657277726974652074686520636f72726573706f6e64696e67206461746120616e64206d65746164617461206f662074686559016c6564676572206173736f6369617465642077697468207468652073746173682e2049662074686520696e70757420706172616d657465727320617265206e6f74207365742c20746865206c65646765722077696c6c9062652072657365742076616c7565732066726f6d206f6e2d636861696e2073746174652e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ec9040000024d0300cd040000021000d104103870616c6c65745f7374616b696e671870616c6c65741870616c6c657420436f6e6669674f700404540118010c104e6f6f700000000c5365740400180104540001001852656d6f766500020000d504103870616c6c65745f7374616b696e671870616c6c65741870616c6c657420436f6e6669674f700404540110010c104e6f6f700000000c5365740400100104540001001852656d6f766500020000d904103870616c6c65745f7374616b696e671870616c6c65741870616c6c657420436f6e6669674f70040454015102010c104e6f6f700000000c536574040051020104540001001852656d6f766500020000dd04103870616c6c65745f7374616b696e671870616c6c65741870616c6c657420436f6e6669674f7004045401f4010c104e6f6f700000000c5365740400f40104540001001852656d6f766500020000e1040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400450201185665633c543e0000e50404184f7074696f6e04045401180108104e6f6e6500000010536f6d650400180000010000e90404184f7074696f6e04045401ed040108104e6f6e6500000010536f6d650400ed040000010000ed040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401f104045300000400f50401185665633c543e0000f104083870616c6c65745f7374616b696e672c556e6c6f636b4368756e6b041c42616c616e636501180008011476616c75656d01011c42616c616e636500010c657261f1020120457261496e6465780000f504000002f10400f9040c3870616c6c65745f73657373696f6e1870616c6c65741043616c6c040454000108207365745f6b6579730801106b657973fd04011c543a3a4b65797300011470726f6f6638011c5665633c75383e000024e453657473207468652073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c657220746f20606b657973602e1d01416c6c6f777320616e206163636f756e7420746f20736574206974732073657373696f6e206b6579207072696f7220746f206265636f6d696e6720612076616c696461746f722ec05468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d0546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e0034232320436f6d706c657869747959012d20604f283129602e2041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468206f662060543a3a4b6579733a3a6b65795f69647328296020776869636820697320202066697865642e2870757267655f6b657973000130c852656d6f76657320616e792073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c65722e00c05468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e005501546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265205369676e656420616e6420746865206163636f756e74206d757374206265206569746865722062655d01636f6e7665727469626c6520746f20612076616c696461746f72204944207573696e672074686520636861696e2773207479706963616c2061646472657373696e672073797374656d20287468697320757375616c6c7951016d65616e73206265696e67206120636f6e74726f6c6c6572206163636f756e7429206f72206469726563746c7920636f6e7665727469626c6520696e746f20612076616c696461746f722049442028776869636894757375616c6c79206d65616e73206265696e672061207374617368206163636f756e74292e0034232320436f6d706c65786974793d012d20604f2831296020696e206e756d626572206f66206b65792074797065732e2041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468206f6698202060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732efd040c5874616e676c655f746573746e65745f72756e74696d65186f70617175652c53657373696f6e4b65797300000c011062616265650301c43c42616265206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c696300011c6772616e647061a801d03c4772616e647061206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c6963000124696d5f6f6e6c696e655d0101d43c496d4f6e6c696e65206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c6963000001050c3c70616c6c65745f74726561737572791870616c6c65741043616c6c0804540004490001182c7370656e645f6c6f63616c080118616d6f756e746d01013c42616c616e63654f663c542c20493e00012c62656e65666963696172794d0301504163636f756e7449644c6f6f6b75704f663c543e000344b850726f706f736520616e6420617070726f76652061207370656e64206f662074726561737572792066756e64732e00482323204469737061746368204f726967696e0045014d757374206265205b60436f6e6669673a3a5370656e644f726967696e605d207769746820746865206053756363657373602076616c7565206265696e67206174206c656173742060616d6f756e74602e002c2323232044657461696c7345014e4f54453a20466f72207265636f72642d6b656570696e6720707572706f7365732c207468652070726f706f736572206973206465656d656420746f206265206571756976616c656e7420746f207468653062656e65666963696172792e003823232320506172616d657465727341012d2060616d6f756e74603a2054686520616d6f756e7420746f206265207472616e736665727265642066726f6d2074686520747265617375727920746f20746865206062656e6566696369617279602ee82d206062656e6566696369617279603a205468652064657374696e6174696f6e206163636f756e7420666f7220746865207472616e736665722e00242323204576656e747300b4456d697473205b604576656e743a3a5370656e64417070726f766564605d206966207375636365737366756c2e3c72656d6f76655f617070726f76616c04012c70726f706f73616c5f6964f102013450726f706f73616c496e6465780004542d01466f72636520612070726576696f75736c7920617070726f7665642070726f706f73616c20746f2062652072656d6f7665642066726f6d2074686520617070726f76616c2071756575652e00482323204469737061746368204f726967696e00844d757374206265205b60436f6e6669673a3a52656a6563744f726967696e605d2e002823232044657461696c7300c0546865206f726967696e616c206465706f7369742077696c6c206e6f206c6f6e6765722062652072657475726e65642e003823232320506172616d6574657273a02d206070726f706f73616c5f6964603a2054686520696e646578206f6620612070726f706f73616c003823232320436f6d706c6578697479ac2d204f2841292077686572652060416020697320746865206e756d626572206f6620617070726f76616c730028232323204572726f727345012d205b604572726f723a3a50726f706f73616c4e6f74417070726f766564605d3a20546865206070726f706f73616c5f69646020737570706c69656420776173206e6f7420666f756e6420696e2074686551012020617070726f76616c2071756575652c20692e652e2c207468652070726f706f73616c20686173206e6f74206265656e20617070726f7665642e205468697320636f756c6420616c736f206d65616e207468655901202070726f706f73616c20646f6573206e6f7420657869737420616c746f6765746865722c2074687573207468657265206973206e6f2077617920697420776f756c642068617665206265656e20617070726f766564542020696e2074686520666972737420706c6163652e147370656e6410012861737365745f6b696e64840144426f783c543a3a41737365744b696e643e000118616d6f756e746d010150417373657442616c616e63654f663c542c20493e00012c62656e6566696369617279000178426f783c42656e65666963696172794c6f6f6b75704f663c542c20493e3e00012876616c69645f66726f6d050501644f7074696f6e3c426c6f636b4e756d626572466f723c543e3e000568b850726f706f736520616e6420617070726f76652061207370656e64206f662074726561737572792066756e64732e00482323204469737061746368204f726967696e001d014d757374206265205b60436f6e6669673a3a5370656e644f726967696e605d207769746820746865206053756363657373602076616c7565206265696e67206174206c65617374550160616d6f756e7460206f66206061737365745f6b696e646020696e20746865206e61746976652061737365742e2054686520616d6f756e74206f66206061737365745f6b696e646020697320636f6e766572746564d4666f7220617373657274696f6e207573696e6720746865205b60436f6e6669673a3a42616c616e6365436f6e766572746572605d2e002823232044657461696c7300490143726561746520616e20617070726f766564207370656e6420666f72207472616e7366657272696e6720612073706563696669632060616d6f756e7460206f66206061737365745f6b696e646020746f2061610164657369676e617465642062656e65666963696172792e20546865207370656e64206d75737420626520636c61696d6564207573696e672074686520607061796f75746020646973706174636861626c652077697468696e74746865205b60436f6e6669673a3a5061796f7574506572696f64605d2e003823232320506172616d657465727315012d206061737365745f6b696e64603a20416e20696e64696361746f72206f662074686520737065636966696320617373657420636c61737320746f206265207370656e742e41012d2060616d6f756e74603a2054686520616d6f756e7420746f206265207472616e736665727265642066726f6d2074686520747265617375727920746f20746865206062656e6566696369617279602eb82d206062656e6566696369617279603a205468652062656e6566696369617279206f6620746865207370656e642e55012d206076616c69645f66726f6d603a2054686520626c6f636b206e756d6265722066726f6d20776869636820746865207370656e642063616e20626520636c61696d65642e2049742063616e20726566657220746f1901202074686520706173742069662074686520726573756c74696e67207370656e6420686173206e6f74207965742065787069726564206163636f7264696e6720746f20746865450120205b60436f6e6669673a3a5061796f7574506572696f64605d2e20496620604e6f6e65602c20746865207370656e642063616e20626520636c61696d656420696d6d6564696174656c792061667465722c2020617070726f76616c2e00242323204576656e747300c8456d697473205b604576656e743a3a41737365745370656e64417070726f766564605d206966207375636365737366756c2e187061796f7574040114696e6465781001285370656e64496e64657800064c38436c61696d2061207370656e642e00482323204469737061746368204f726967696e00384d757374206265207369676e6564002823232044657461696c730055015370656e6473206d75737420626520636c61696d65642077697468696e20736f6d652074656d706f72616c20626f756e64732e2041207370656e64206d617920626520636c61696d65642077697468696e206f6e65d45b60436f6e6669673a3a5061796f7574506572696f64605d2066726f6d20746865206076616c69645f66726f6d6020626c6f636b2e5501496e2063617365206f662061207061796f7574206661696c7572652c20746865207370656e6420737461747573206d75737420626520757064617465642077697468207468652060636865636b5f73746174757360dc646973706174636861626c65206265666f7265207265747279696e672077697468207468652063757272656e742066756e6374696f6e2e003823232320506172616d65746572736c2d2060696e646578603a20546865207370656e6420696e6465782e00242323204576656e74730090456d697473205b604576656e743a3a50616964605d206966207375636365737366756c2e30636865636b5f737461747573040114696e6465781001285370656e64496e64657800074c2901436865636b2074686520737461747573206f6620746865207370656e6420616e642072656d6f76652069742066726f6d207468652073746f726167652069662070726f6365737365642e00482323204469737061746368204f726967696e003c4d757374206265207369676e65642e002823232044657461696c730001015468652073746174757320636865636b20697320612070726572657175697369746520666f72207265747279696e672061206661696c6564207061796f75742e490149662061207370656e64206861732065697468657220737563636565646564206f7220657870697265642c2069742069732072656d6f7665642066726f6d207468652073746f726167652062792074686973ec66756e6374696f6e2e20496e207375636820696e7374616e6365732c207472616e73616374696f6e20666565732061726520726566756e6465642e003823232320506172616d65746572736c2d2060696e646578603a20546865207370656e6420696e6465782e00242323204576656e747300f8456d697473205b604576656e743a3a5061796d656e744661696c6564605d20696620746865207370656e64207061796f757420686173206661696c65642e0101456d697473205b604576656e743a3a5370656e6450726f636573736564605d20696620746865207370656e64207061796f75742068617320737563636565642e28766f69645f7370656e64040114696e6465781001285370656e64496e6465780008407c566f69642070726576696f75736c7920617070726f766564207370656e642e00482323204469737061746368204f726967696e00844d757374206265205b60436f6e6669673a3a52656a6563744f726967696e605d2e002823232044657461696c73001d0141207370656e6420766f6964206973206f6e6c7920706f737369626c6520696620746865207061796f757420686173206e6f74206265656e20617474656d70746564207965742e003823232320506172616d65746572736c2d2060696e646578603a20546865207370656e6420696e6465782e00242323204576656e747300c0456d697473205b604576656e743a3a41737365745370656e64566f69646564605d206966207375636365737366756c2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e050504184f7074696f6e04045401300108104e6f6e6500000010536f6d65040030000001000009050c3c70616c6c65745f626f756e746965731870616c6c65741043616c6c0804540004490001243870726f706f73655f626f756e747908011476616c75656d01013c42616c616e63654f663c542c20493e00012c6465736372697074696f6e38011c5665633c75383e0000305450726f706f73652061206e657720626f756e74792e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0051015061796d656e743a20605469705265706f72744465706f73697442617365602077696c6c2062652072657365727665642066726f6d20746865206f726967696e206163636f756e742c2061732077656c6c206173510160446174614465706f736974506572427974656020666f722065616368206279746520696e2060726561736f6e602e2049742077696c6c20626520756e72657365727665642075706f6e20617070726f76616c2c646f7220736c6173686564207768656e2072656a65637465642e00f82d206063757261746f72603a205468652063757261746f72206163636f756e742077686f6d2077696c6c206d616e616765207468697320626f756e74792e642d2060666565603a205468652063757261746f72206665652e25012d206076616c7565603a2054686520746f74616c207061796d656e7420616d6f756e74206f66207468697320626f756e74792c2063757261746f722066656520696e636c756465642ec02d20606465736372697074696f6e603a20546865206465736372697074696f6e206f66207468697320626f756e74792e38617070726f76655f626f756e7479040124626f756e74795f6964f102012c426f756e7479496e64657800011c5d01417070726f7665206120626f756e74792070726f706f73616c2e2041742061206c617465722074696d652c2074686520626f756e74792077696c6c2062652066756e64656420616e64206265636f6d6520616374697665a8616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5370656e644f726967696e602e0034232320436f6d706c65786974791c2d204f2831292e3c70726f706f73655f63757261746f720c0124626f756e74795f6964f102012c426f756e7479496e64657800011c63757261746f724d0301504163636f756e7449644c6f6f6b75704f663c543e00010c6665656d01013c42616c616e63654f663c542c20493e0002189450726f706f736520612063757261746f7220746f20612066756e64656420626f756e74792e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5370656e644f726967696e602e0034232320436f6d706c65786974791c2d204f2831292e40756e61737369676e5f63757261746f72040124626f756e74795f6964f102012c426f756e7479496e6465780003447c556e61737369676e2063757261746f722066726f6d206120626f756e74792e001d01546869732066756e6374696f6e2063616e206f6e6c792062652063616c6c656420627920746865206052656a6563744f726967696e602061207369676e6564206f726967696e2e003d01496620746869732066756e6374696f6e2069732063616c6c656420627920746865206052656a6563744f726967696e602c20776520617373756d652074686174207468652063757261746f7220697331016d616c6963696f7573206f7220696e6163746976652e204173206120726573756c742c2077652077696c6c20736c617368207468652063757261746f72207768656e20706f737369626c652e006101496620746865206f726967696e206973207468652063757261746f722c2077652074616b6520746869732061732061207369676e20746865792061726520756e61626c6520746f20646f207468656972206a6f6220616e645d01746865792077696c6c696e676c7920676976652075702e20576520636f756c6420736c617368207468656d2c2062757420666f72206e6f7720776520616c6c6f77207468656d20746f207265636f76657220746865697235016465706f73697420616e64206578697420776974686f75742069737375652e20285765206d61792077616e7420746f206368616e67652074686973206966206974206973206162757365642e29005d0146696e616c6c792c20746865206f726967696e2063616e20626520616e796f6e6520696620616e64206f6e6c79206966207468652063757261746f722069732022696e616374697665222e205468697320616c6c6f77736101616e796f6e6520696e2074686520636f6d6d756e69747920746f2063616c6c206f7574207468617420612063757261746f72206973206e6f7420646f696e67207468656972206475652064696c6967656e63652c20616e64390177652073686f756c64207069636b2061206e65772063757261746f722e20496e20746869732063617365207468652063757261746f722073686f756c6420616c736f20626520736c61736865642e0034232320436f6d706c65786974791c2d204f2831292e386163636570745f63757261746f72040124626f756e74795f6964f102012c426f756e7479496e64657800041c94416363657074207468652063757261746f7220726f6c6520666f72206120626f756e74792e290141206465706f7369742077696c6c2062652072657365727665642066726f6d2063757261746f7220616e6420726566756e642075706f6e207375636365737366756c207061796f75742e00904d6179206f6e6c792062652063616c6c65642066726f6d207468652063757261746f722e0034232320436f6d706c65786974791c2d204f2831292e3061776172645f626f756e7479080124626f756e74795f6964f102012c426f756e7479496e64657800012c62656e65666963696172794d0301504163636f756e7449644c6f6f6b75704f663c543e0005285901417761726420626f756e747920746f20612062656e6566696369617279206163636f756e742e205468652062656e65666963696172792077696c6c2062652061626c6520746f20636c61696d207468652066756e647338616674657220612064656c61792e001501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265207468652063757261746f72206f66207468697320626f756e74792e00882d2060626f756e74795f6964603a20426f756e747920494420746f2061776172642e19012d206062656e6566696369617279603a205468652062656e6566696369617279206163636f756e742077686f6d2077696c6c207265636569766520746865207061796f75742e0034232320436f6d706c65786974791c2d204f2831292e30636c61696d5f626f756e7479040124626f756e74795f6964f102012c426f756e7479496e646578000620ec436c61696d20746865207061796f75742066726f6d20616e206177617264656420626f756e7479206166746572207061796f75742064656c61792e002501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265207468652062656e6566696369617279206f66207468697320626f756e74792e00882d2060626f756e74795f6964603a20426f756e747920494420746f20636c61696d2e0034232320436f6d706c65786974791c2d204f2831292e30636c6f73655f626f756e7479040124626f756e74795f6964f102012c426f756e7479496e646578000724390143616e63656c20612070726f706f736564206f722061637469766520626f756e74792e20416c6c207468652066756e64732077696c6c2062652073656e7420746f20747265617375727920616e64cc7468652063757261746f72206465706f7369742077696c6c20626520756e726573657276656420696620706f737369626c652e00c84f6e6c792060543a3a52656a6563744f726967696e602069732061626c6520746f2063616e63656c206120626f756e74792e008c2d2060626f756e74795f6964603a20426f756e747920494420746f2063616e63656c2e0034232320436f6d706c65786974791c2d204f2831292e50657874656e645f626f756e74795f657870697279080124626f756e74795f6964f102012c426f756e7479496e64657800011872656d61726b38011c5665633c75383e000824ac457874656e6420746865206578706972792074696d65206f6620616e2061637469766520626f756e74792e001501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265207468652063757261746f72206f66207468697320626f756e74792e008c2d2060626f756e74795f6964603a20426f756e747920494420746f20657874656e642e8c2d206072656d61726b603a206164646974696f6e616c20696e666f726d6174696f6e2e0034232320436f6d706c65786974791c2d204f2831292e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e0d050c5470616c6c65745f6368696c645f626f756e746965731870616c6c65741043616c6c04045400011c406164645f6368696c645f626f756e74790c0140706172656e745f626f756e74795f6964f102012c426f756e7479496e64657800011476616c75656d01013042616c616e63654f663c543e00012c6465736372697074696f6e38011c5665633c75383e00004c5c4164642061206e6577206368696c642d626f756e74792e00fc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265207468652063757261746f72206f6620706172656e74dc626f756e747920616e642074686520706172656e7420626f756e7479206d75737420626520696e2022616374697665222073746174652e0005014368696c642d626f756e74792067657473206164646564207375636365737366756c6c7920262066756e642067657473207472616e736665727265642066726f6d0901706172656e7420626f756e747920746f206368696c642d626f756e7479206163636f756e742c20696620706172656e7420626f756e74792068617320656e6f7567686c66756e64732c20656c7365207468652063616c6c206661696c732e000d01557070657220626f756e6420746f206d6178696d756d206e756d626572206f662061637469766520206368696c6420626f756e7469657320746861742063616e206265a8616464656420617265206d616e61676564207669612072756e74696d6520747261697420636f6e666967985b60436f6e6669673a3a4d61784163746976654368696c64426f756e7479436f756e74605d2e0001014966207468652063616c6c20697320737563636573732c2074686520737461747573206f66206368696c642d626f756e7479206973207570646174656420746f20224164646564222e004d012d2060706172656e745f626f756e74795f6964603a20496e646578206f6620706172656e7420626f756e747920666f72207768696368206368696c642d626f756e7479206973206265696e672061646465642eb02d206076616c7565603a2056616c756520666f7220657865637574696e67207468652070726f706f73616c2edc2d20606465736372697074696f6e603a2054657874206465736372697074696f6e20666f7220746865206368696c642d626f756e74792e3c70726f706f73655f63757261746f72100140706172656e745f626f756e74795f6964f102012c426f756e7479496e64657800013c6368696c645f626f756e74795f6964f102012c426f756e7479496e64657800011c63757261746f724d0301504163636f756e7449644c6f6f6b75704f663c543e00010c6665656d01013042616c616e63654f663c543e00013ca050726f706f73652063757261746f7220666f722066756e646564206368696c642d626f756e74792e000d01546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652063757261746f72206f6620706172656e7420626f756e74792e001101506172656e7420626f756e7479206d75737420626520696e206163746976652073746174652c20666f722074686973206368696c642d626f756e74792063616c6c20746f14776f726b2e000d014368696c642d626f756e7479206d75737420626520696e20224164646564222073746174652c20666f722070726f63657373696e67207468652063616c6c2e20416e6405017374617465206f66206368696c642d626f756e7479206973206d6f76656420746f202243757261746f7250726f706f73656422206f6e207375636365737366756c4063616c6c20636f6d706c6574696f6e2e00b42d2060706172656e745f626f756e74795f6964603a20496e646578206f6620706172656e7420626f756e74792eac2d20606368696c645f626f756e74795f6964603a20496e646578206f66206368696c6420626f756e74792eb42d206063757261746f72603a2041646472657373206f66206368696c642d626f756e74792063757261746f722eec2d2060666565603a207061796d656e742066656520746f206368696c642d626f756e74792063757261746f7220666f7220657865637574696f6e2e386163636570745f63757261746f72080140706172656e745f626f756e74795f6964f102012c426f756e7479496e64657800013c6368696c645f626f756e74795f6964f102012c426f756e7479496e64657800024cb4416363657074207468652063757261746f7220726f6c6520666f7220746865206368696c642d626f756e74792e00f4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265207468652063757261746f72206f662074686973346368696c642d626f756e74792e00ec41206465706f7369742077696c6c2062652072657365727665642066726f6d207468652063757261746f7220616e6420726566756e642075706f6e887375636365737366756c207061796f7574206f722063616e63656c6c6174696f6e2e00f846656520666f722063757261746f722069732064656475637465642066726f6d2063757261746f7220666565206f6620706172656e7420626f756e74792e001101506172656e7420626f756e7479206d75737420626520696e206163746976652073746174652c20666f722074686973206368696c642d626f756e74792063616c6c20746f14776f726b2e000d014368696c642d626f756e7479206d75737420626520696e202243757261746f7250726f706f736564222073746174652c20666f722070726f63657373696e6720746865090163616c6c2e20416e64207374617465206f66206368696c642d626f756e7479206973206d6f76656420746f202241637469766522206f6e207375636365737366756c4063616c6c20636f6d706c6574696f6e2e00b42d2060706172656e745f626f756e74795f6964603a20496e646578206f6620706172656e7420626f756e74792eac2d20606368696c645f626f756e74795f6964603a20496e646578206f66206368696c6420626f756e74792e40756e61737369676e5f63757261746f72080140706172656e745f626f756e74795f6964f102012c426f756e7479496e64657800013c6368696c645f626f756e74795f6964f102012c426f756e7479496e64657800038894556e61737369676e2063757261746f722066726f6d2061206368696c642d626f756e74792e000901546865206469737061746368206f726967696e20666f7220746869732063616c6c2063616e20626520656974686572206052656a6563744f726967696e602c206f72dc7468652063757261746f72206f662074686520706172656e7420626f756e74792c206f7220616e79207369676e6564206f726967696e2e00f8466f7220746865206f726967696e206f74686572207468616e20543a3a52656a6563744f726967696e20616e6420746865206368696c642d626f756e7479010163757261746f722c20706172656e7420626f756e7479206d75737420626520696e206163746976652073746174652c20666f7220746869732063616c6c20746f0901776f726b2e20576520616c6c6f77206368696c642d626f756e74792063757261746f7220616e6420543a3a52656a6563744f726967696e20746f2065786563757465c8746869732063616c6c20697272657370656374697665206f662074686520706172656e7420626f756e74792073746174652e00dc496620746869732066756e6374696f6e2069732063616c6c656420627920746865206052656a6563744f726967696e60206f72207468650501706172656e7420626f756e74792063757261746f722c20776520617373756d65207468617420746865206368696c642d626f756e74792063757261746f722069730d016d616c6963696f7573206f7220696e6163746976652e204173206120726573756c742c206368696c642d626f756e74792063757261746f72206465706f73697420697320736c61736865642e000501496620746865206f726967696e20697320746865206368696c642d626f756e74792063757261746f722c2077652074616b6520746869732061732061207369676e09017468617420746865792061726520756e61626c6520746f20646f207468656972206a6f622c20616e64206172652077696c6c696e676c7920676976696e672075702e0901576520636f756c6420736c61736820746865206465706f7369742c2062757420666f72206e6f7720776520616c6c6f77207468656d20746f20756e7265736572766511017468656972206465706f73697420616e64206578697420776974686f75742069737375652e20285765206d61792077616e7420746f206368616e67652074686973206966386974206973206162757365642e2900050146696e616c6c792c20746865206f726967696e2063616e20626520616e796f6e652069666620746865206368696c642d626f756e74792063757261746f72206973090122696e616374697665222e204578706972792075706461746520647565206f6620706172656e7420626f756e7479206973207573656420746f20657374696d6174659c696e616374697665207374617465206f66206368696c642d626f756e74792063757261746f722e000d015468697320616c6c6f777320616e796f6e6520696e2074686520636f6d6d756e69747920746f2063616c6c206f757420746861742061206368696c642d626f756e7479090163757261746f72206973206e6f7420646f696e67207468656972206475652064696c6967656e63652c20616e642077652073686f756c64207069636b2061206e6577f86f6e652e20496e2074686973206361736520746865206368696c642d626f756e74792063757261746f72206465706f73697420697320736c61736865642e0001015374617465206f66206368696c642d626f756e7479206973206d6f76656420746f204164646564207374617465206f6e207375636365737366756c2063616c6c2c636f6d706c6574696f6e2e00b42d2060706172656e745f626f756e74795f6964603a20496e646578206f6620706172656e7420626f756e74792eac2d20606368696c645f626f756e74795f6964603a20496e646578206f66206368696c6420626f756e74792e4861776172645f6368696c645f626f756e74790c0140706172656e745f626f756e74795f6964f102012c426f756e7479496e64657800013c6368696c645f626f756e74795f6964f102012c426f756e7479496e64657800012c62656e65666963696172794d0301504163636f756e7449644c6f6f6b75704f663c543e000444904177617264206368696c642d626f756e747920746f20612062656e65666963696172792e00f85468652062656e65666963696172792077696c6c2062652061626c6520746f20636c61696d207468652066756e647320616674657220612064656c61792e00fc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652074686520706172656e742063757261746f72206f727463757261746f72206f662074686973206368696c642d626f756e74792e001101506172656e7420626f756e7479206d75737420626520696e206163746976652073746174652c20666f722074686973206368696c642d626f756e74792063616c6c20746f14776f726b2e0009014368696c642d626f756e7479206d75737420626520696e206163746976652073746174652c20666f722070726f63657373696e67207468652063616c6c2e20416e6411017374617465206f66206368696c642d626f756e7479206973206d6f76656420746f202250656e64696e675061796f757422206f6e207375636365737366756c2063616c6c2c636f6d706c6574696f6e2e00b42d2060706172656e745f626f756e74795f6964603a20496e646578206f6620706172656e7420626f756e74792eac2d20606368696c645f626f756e74795f6964603a20496e646578206f66206368696c6420626f756e74792e942d206062656e6566696369617279603a2042656e6566696369617279206163636f756e742e48636c61696d5f6368696c645f626f756e7479080140706172656e745f626f756e74795f6964f102012c426f756e7479496e64657800013c6368696c645f626f756e74795f6964f102012c426f756e7479496e6465780005400501436c61696d20746865207061796f75742066726f6d20616e2061776172646564206368696c642d626f756e7479206166746572207061796f75742064656c61792e00ec546865206469737061746368206f726967696e20666f7220746869732063616c6c206d617920626520616e79207369676e6564206f726967696e2e00050143616c6c20776f726b7320696e646570656e64656e74206f6620706172656e7420626f756e74792073746174652c204e6f206e65656420666f7220706172656e7474626f756e747920746f20626520696e206163746976652073746174652e0011015468652042656e65666963696172792069732070616964206f757420776974682061677265656420626f756e74792076616c75652e2043757261746f7220666565206973947061696420262063757261746f72206465706f73697420697320756e72657365727665642e0005014368696c642d626f756e7479206d75737420626520696e202250656e64696e675061796f7574222073746174652c20666f722070726f63657373696e6720746865fc63616c6c2e20416e6420696e7374616e6365206f66206368696c642d626f756e74792069732072656d6f7665642066726f6d20746865207374617465206f6e6c7375636365737366756c2063616c6c20636f6d706c6574696f6e2e00b42d2060706172656e745f626f756e74795f6964603a20496e646578206f6620706172656e7420626f756e74792eac2d20606368696c645f626f756e74795f6964603a20496e646578206f66206368696c6420626f756e74792e48636c6f73655f6368696c645f626f756e7479080140706172656e745f626f756e74795f6964f102012c426f756e7479496e64657800013c6368696c645f626f756e74795f6964f102012c426f756e7479496e646578000658110143616e63656c20612070726f706f736564206f7220616374697665206368696c642d626f756e74792e204368696c642d626f756e7479206163636f756e742066756e64730901617265207472616e7366657272656420746f20706172656e7420626f756e7479206163636f756e742e20546865206368696c642d626f756e74792063757261746f72986465706f736974206d617920626520756e726573657276656420696620706f737369626c652e000901546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652065697468657220706172656e742063757261746f72206f724860543a3a52656a6563744f726967696e602e00f0496620746865207374617465206f66206368696c642d626f756e74792069732060416374697665602c2063757261746f72206465706f7369742069732c756e72657365727665642e00f4496620746865207374617465206f66206368696c642d626f756e7479206973206050656e64696e675061796f7574602c2063616c6c206661696c7320267872657475726e73206050656e64696e675061796f757460206572726f722e000d01466f7220746865206f726967696e206f74686572207468616e20543a3a52656a6563744f726967696e2c20706172656e7420626f756e7479206d75737420626520696ef06163746976652073746174652c20666f722074686973206368696c642d626f756e74792063616c6c20746f20776f726b2e20466f72206f726967696e90543a3a52656a6563744f726967696e20657865637574696f6e20697320666f726365642e000101496e7374616e6365206f66206368696c642d626f756e74792069732072656d6f7665642066726f6d20746865207374617465206f6e207375636365737366756c4063616c6c20636f6d706c6574696f6e2e00b42d2060706172656e745f626f756e74795f6964603a20496e646578206f6620706172656e7420626f756e74792eac2d20606368696c645f626f756e74795f6964603a20496e646578206f66206368696c6420626f756e74792e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e11050c4070616c6c65745f626167735f6c6973741870616c6c65741043616c6c08045400044900010c1472656261670401286469736c6f63617465644d0301504163636f756e7449644c6f6f6b75704f663c543e00002859014465636c617265207468617420736f6d6520606469736c6f636174656460206163636f756e74206861732c207468726f7567682072657761726473206f722070656e616c746965732c2073756666696369656e746c7951016368616e676564206974732073636f726520746861742069742073686f756c642070726f7065726c792066616c6c20696e746f206120646966666572656e7420626167207468616e206974732063757272656e74106f6e652e001d01416e796f6e652063616e2063616c6c20746869732066756e6374696f6e2061626f757420616e7920706f74656e7469616c6c79206469736c6f6361746564206163636f756e742e00490157696c6c20616c7761797320757064617465207468652073746f7265642073636f7265206f6620606469736c6f63617465646020746f2074686520636f72726563742073636f72652c206261736564206f6e406053636f726550726f7669646572602e00d4496620606469736c6f63617465646020646f6573206e6f74206578697374732c2069742072657475726e7320616e206572726f722e3c7075745f696e5f66726f6e745f6f6604011c6c6967687465724d0301504163636f756e7449644c6f6f6b75704f663c543e000128d04d6f7665207468652063616c6c65722773204964206469726563746c7920696e2066726f6e74206f6620606c696768746572602e005901546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642063616e206f6e6c792062652063616c6c656420627920746865204964206f663501746865206163636f756e7420676f696e6720696e2066726f6e74206f6620606c696768746572602e2046656520697320706179656420627920746865206f726967696e20756e64657220616c6c3863697263756d7374616e6365732e00384f6e6c7920776f726b732069663a00942d20626f7468206e6f646573206172652077697468696e207468652073616d65206261672cd02d20616e6420606f726967696e602068617320612067726561746572206053636f726560207468616e20606c696768746572602e547075745f696e5f66726f6e745f6f665f6f7468657208011c686561766965724d0301504163636f756e7449644c6f6f6b75704f663c543e00011c6c6967687465724d0301504163636f756e7449644c6f6f6b75704f663c543e00020c110153616d65206173205b6050616c6c65743a3a7075745f696e5f66726f6e745f6f66605d2c206275742069742063616e2062652063616c6c656420627920616e796f6e652e00c8466565206973207061696420627920746865206f726967696e20756e64657220616c6c2063697263756d7374616e6365732e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e15050c5c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c731870616c6c65741043616c6c040454000168106a6f696e080118616d6f756e746d01013042616c616e63654f663c543e00011c706f6f6c5f6964100118506f6f6c496400002845015374616b652066756e64732077697468206120706f6f6c2e2054686520616d6f756e7420746f20626f6e64206973207472616e736665727265642066726f6d20746865206d656d62657220746f20746865dc706f6f6c73206163636f756e7420616e6420696d6d6564696174656c7920696e637265617365732074686520706f6f6c7320626f6e642e001823204e6f746500cc2a20416e206163636f756e742063616e206f6e6c792062652061206d656d626572206f6620612073696e676c6520706f6f6c2ed82a20416e206163636f756e742063616e6e6f74206a6f696e207468652073616d6520706f6f6c206d756c7469706c652074696d65732e41012a20546869732063616c6c2077696c6c202a6e6f742a206475737420746865206d656d626572206163636f756e742c20736f20746865206d656d626572206d7573742068617665206174206c65617374c82020606578697374656e7469616c206465706f736974202b20616d6f756e746020696e207468656972206163636f756e742ed02a204f6e6c79206120706f6f6c2077697468205b60506f6f6c53746174653a3a4f70656e605d2063616e206265206a6f696e656428626f6e645f657874726104011465787472611905015c426f6e6445787472613c42616c616e63654f663c543e3e00011c4501426f6e642060657874726160206d6f72652066756e64732066726f6d20606f726967696e6020696e746f2074686520706f6f6c20746f207768696368207468657920616c72656164792062656c6f6e672e0049014164646974696f6e616c2066756e64732063616e20636f6d652066726f6d206569746865722074686520667265652062616c616e6365206f6620746865206163636f756e742c206f662066726f6d207468659c616363756d756c6174656420726577617264732c20736565205b60426f6e644578747261605d2e003d01426f6e64696e672065787472612066756e647320696d706c69657320616e206175746f6d61746963207061796f7574206f6620616c6c2070656e64696e6720726577617264732061732077656c6c2e09015365652060626f6e645f65787472615f6f746865726020746f20626f6e642070656e64696e672072657761726473206f6620606f7468657260206d656d626572732e30636c61696d5f7061796f757400022055014120626f6e646564206d656d6265722063616e20757365207468697320746f20636c61696d207468656972207061796f7574206261736564206f6e20746865207265776172647320746861742074686520706f6f6c610168617320616363756d756c617465642073696e6365207468656972206c61737420636c61696d6564207061796f757420284f522073696e6365206a6f696e696e6720696620746869732069732074686569722066697273743d0174696d6520636c61696d696e672072657761726473292e20546865207061796f75742077696c6c206265207472616e7366657272656420746f20746865206d656d6265722773206163636f756e742e004901546865206d656d6265722077696c6c206561726e20726577617264732070726f2072617461206261736564206f6e20746865206d656d62657273207374616b65207673207468652073756d206f6620746865d06d656d6265727320696e2074686520706f6f6c73207374616b652e205265776172647320646f206e6f742022657870697265222e0041015365652060636c61696d5f7061796f75745f6f746865726020746f20636c61696d2072657761726473206f6e20626568616c66206f6620736f6d6520606f746865726020706f6f6c206d656d6265722e18756e626f6e640801386d656d6265725f6163636f756e744d0301504163636f756e7449644c6f6f6b75704f663c543e000140756e626f6e64696e675f706f696e74736d01013042616c616e63654f663c543e00037c4501556e626f6e6420757020746f2060756e626f6e64696e675f706f696e747360206f662074686520606d656d6265725f6163636f756e746027732066756e64732066726f6d2074686520706f6f6c2e2049744501696d706c696369746c7920636f6c6c65637473207468652072657761726473206f6e65206c6173742074696d652c2073696e6365206e6f7420646f696e6720736f20776f756c64206d65616e20736f6d656c7265776172647320776f756c6420626520666f726665697465642e004d01556e646572206365727461696e20636f6e646974696f6e732c20746869732063616c6c2063616e2062652064697370617463686564207065726d697373696f6e6c6573736c792028692e652e20627920616e79246163636f756e74292e00ac2320436f6e646974696f6e7320666f722061207065726d697373696f6e6c6573732064697370617463682e005d012a2054686520706f6f6c20697320626c6f636b656420616e64207468652063616c6c6572206973206569746865722074686520726f6f74206f7220626f756e6365722e205468697320697320726566657265656420746f30202061732061206b69636b2ef42a2054686520706f6f6c2069732064657374726f79696e6720616e6420746865206d656d626572206973206e6f7420746865206465706f7369746f722e55012a2054686520706f6f6c2069732064657374726f79696e672c20746865206d656d62657220697320746865206465706f7369746f7220616e64206e6f206f74686572206d656d626572732061726520696e207468651c2020706f6f6c2e001101232320436f6e646974696f6e7320666f72207065726d697373696f6e65642064697370617463682028692e652e207468652063616c6c657220697320616c736f2074686548606d656d6265725f6163636f756e7460293a00882a205468652063616c6c6572206973206e6f7420746865206465706f7369746f722e55012a205468652063616c6c657220697320746865206465706f7369746f722c2074686520706f6f6c2069732064657374726f79696e6720616e64206e6f206f74686572206d656d626572732061726520696e207468651c2020706f6f6c2e001823204e6f7465001d0149662074686572652061726520746f6f206d616e7920756e6c6f636b696e67206368756e6b7320746f20756e626f6e6420776974682074686520706f6f6c206163636f756e742c51015b6043616c6c3a3a706f6f6c5f77697468647261775f756e626f6e646564605d2063616e2062652063616c6c656420746f2074727920616e64206d696e696d697a6520756e6c6f636b696e67206368756e6b732e5901546865205b605374616b696e67496e746572666163653a3a756e626f6e64605d2077696c6c20696d706c696369746c792063616c6c205b6043616c6c3a3a706f6f6c5f77697468647261775f756e626f6e646564605d5501746f2074727920746f2066726565206368756e6b73206966206e6563657373617279202869652e20696620756e626f756e64207761732063616c6c656420616e64206e6f20756e6c6f636b696e67206368756e6b73610161726520617661696c61626c65292e20486f77657665722c206974206d6179206e6f7420626520706f737369626c6520746f2072656c65617365207468652063757272656e7420756e6c6f636b696e67206368756e6b732c5d01696e20776869636820636173652c2074686520726573756c74206f6620746869732063616c6c2077696c6c206c696b656c792062652074686520604e6f4d6f72654368756e6b7360206572726f722066726f6d207468653c7374616b696e672073797374656d2e58706f6f6c5f77697468647261775f756e626f6e64656408011c706f6f6c5f6964100118506f6f6c49640001486e756d5f736c617368696e675f7370616e7310010c753332000418550143616c6c206077697468647261775f756e626f6e6465646020666f722074686520706f6f6c73206163636f756e742e20546869732063616c6c2063616e206265206d61646520627920616e79206163636f756e742e004101546869732069732075736566756c2069662074686572652061726520746f6f206d616e7920756e6c6f636b696e67206368756e6b7320746f2063616c6c2060756e626f6e64602c20616e6420736f6d65610163616e20626520636c6561726564206279207769746864726177696e672e20496e2074686520636173652074686572652061726520746f6f206d616e7920756e6c6f636b696e67206368756e6b732c2074686520757365725101776f756c642070726f6261626c792073656520616e206572726f72206c696b6520604e6f4d6f72654368756e6b736020656d69747465642066726f6d20746865207374616b696e672073797374656d207768656e5c7468657920617474656d707420746f20756e626f6e642e4477697468647261775f756e626f6e6465640801386d656d6265725f6163636f756e744d0301504163636f756e7449644c6f6f6b75704f663c543e0001486e756d5f736c617368696e675f7370616e7310010c7533320005585501576974686472617720756e626f6e6465642066756e64732066726f6d20606d656d6265725f6163636f756e74602e204966206e6f20626f6e6465642066756e64732063616e20626520756e626f6e6465642c20616e486572726f722069732072657475726e65642e004d01556e646572206365727461696e20636f6e646974696f6e732c20746869732063616c6c2063616e2062652064697370617463686564207065726d697373696f6e6c6573736c792028692e652e20627920616e79246163636f756e74292e00a82320436f6e646974696f6e7320666f722061207065726d697373696f6e6c6573732064697370617463680009012a2054686520706f6f6c20697320696e2064657374726f79206d6f646520616e642074686520746172676574206973206e6f7420746865206465706f7369746f722e31012a205468652074617267657420697320746865206465706f7369746f7220616e6420746865792061726520746865206f6e6c79206d656d62657220696e207468652073756220706f6f6c732e0d012a2054686520706f6f6c20697320626c6f636b656420616e64207468652063616c6c6572206973206569746865722074686520726f6f74206f7220626f756e6365722e00982320436f6e646974696f6e7320666f72207065726d697373696f6e656420646973706174636800e82a205468652063616c6c6572206973207468652074617267657420616e64207468657920617265206e6f7420746865206465706f7369746f722e001823204e6f746500f42d204966207468652074617267657420697320746865206465706f7369746f722c2074686520706f6f6c2077696c6c2062652064657374726f7965642e61012d2049662074686520706f6f6c2068617320616e792070656e64696e6720736c6173682c20776520616c736f2074727920746f20736c61736820746865206d656d626572206265666f7265206c657474696e67207468656d5d0177697468647261772e20546869732063616c63756c6174696f6e206164647320736f6d6520776569676874206f7665726865616420616e64206973206f6e6c7920646566656e736976652e20496e207265616c6974792c5501706f6f6c20736c6173686573206d7573742068617665206265656e20616c7265616479206170706c69656420766961207065726d697373696f6e6c657373205b6043616c6c3a3a6170706c795f736c617368605d2e18637265617465100118616d6f756e746d01013042616c616e63654f663c543e000110726f6f744d0301504163636f756e7449644c6f6f6b75704f663c543e0001246e6f6d696e61746f724d0301504163636f756e7449644c6f6f6b75704f663c543e00011c626f756e6365724d0301504163636f756e7449644c6f6f6b75704f663c543e000644744372656174652061206e65772064656c65676174696f6e20706f6f6c2e002c2320417267756d656e74730055012a2060616d6f756e7460202d2054686520616d6f756e74206f662066756e647320746f2064656c656761746520746f2074686520706f6f6c2e205468697320616c736f2061637473206f66206120736f7274206f664d0120206465706f7369742073696e63652074686520706f6f6c732063726561746f722063616e6e6f742066756c6c7920756e626f6e642066756e647320756e74696c2074686520706f6f6c206973206265696e6730202064657374726f7965642e51012a2060696e64657860202d204120646973616d626967756174696f6e20696e64657820666f72206372656174696e6720746865206163636f756e742e204c696b656c79206f6e6c792075736566756c207768656ec020206372656174696e67206d756c7469706c6520706f6f6c7320696e207468652073616d652065787472696e7369632ed42a2060726f6f7460202d20546865206163636f756e7420746f20736574206173205b60506f6f6c526f6c65733a3a726f6f74605d2e0d012a20606e6f6d696e61746f7260202d20546865206163636f756e7420746f2073657420617320746865205b60506f6f6c526f6c65733a3a6e6f6d696e61746f72605d2efc2a2060626f756e63657260202d20546865206163636f756e7420746f2073657420617320746865205b60506f6f6c526f6c65733a3a626f756e636572605d2e001823204e6f7465006101496e206164646974696f6e20746f2060616d6f756e74602c207468652063616c6c65722077696c6c207472616e7366657220746865206578697374656e7469616c206465706f7369743b20736f207468652063616c6c65720d016e656564732061742068617665206174206c656173742060616d6f756e74202b206578697374656e7469616c5f6465706f73697460207472616e7366657261626c652e4c6372656174655f776974685f706f6f6c5f6964140118616d6f756e746d01013042616c616e63654f663c543e000110726f6f744d0301504163636f756e7449644c6f6f6b75704f663c543e0001246e6f6d696e61746f724d0301504163636f756e7449644c6f6f6b75704f663c543e00011c626f756e6365724d0301504163636f756e7449644c6f6f6b75704f663c543e00011c706f6f6c5f6964100118506f6f6c4964000718ec4372656174652061206e65772064656c65676174696f6e20706f6f6c207769746820612070726576696f75736c79207573656420706f6f6c206964002c2320417267756d656e7473009873616d6520617320606372656174656020776974682074686520696e636c7573696f6e206f66782a2060706f6f6c5f696460202d2060412076616c696420506f6f6c49642e206e6f6d696e61746508011c706f6f6c5f6964100118506f6f6c496400012876616c696461746f7273450201445665633c543a3a4163636f756e7449643e0008307c4e6f6d696e617465206f6e20626568616c66206f662074686520706f6f6c2e004501546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e65642062792074686520706f6f6c206e6f6d696e61746f72206f722074686520706f6f6c28726f6f7420726f6c652e00490154686973206469726563746c7920666f7277617264207468652063616c6c20746f20746865207374616b696e672070616c6c65742c206f6e20626568616c66206f662074686520706f6f6c20626f6e646564206163636f756e742e001823204e6f7465005d01496e206164646974696f6e20746f20612060726f6f7460206f7220606e6f6d696e61746f726020726f6c65206f6620606f726967696e602c20706f6f6c2773206465706f7369746f72206e6565647320746f2068617665f86174206c6561737420606465706f7369746f725f6d696e5f626f6e646020696e2074686520706f6f6c20746f207374617274206e6f6d696e6174696e672e247365745f737461746508011c706f6f6c5f6964100118506f6f6c496400011473746174651d010124506f6f6c5374617465000928745365742061206e657720737461746520666f722074686520706f6f6c2e0055014966206120706f6f6c20697320616c726561647920696e20746865206044657374726f79696e67602073746174652c207468656e20756e646572206e6f20636f6e646974696f6e2063616e20697473207374617465346368616e676520616761696e2e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206569746865723a00dc312e207369676e65642062792074686520626f756e6365722c206f722074686520726f6f7420726f6c65206f662074686520706f6f6c2c5d01322e2069662074686520706f6f6c20636f6e646974696f6e7320746f206265206f70656e20617265204e4f54206d6574202861732064657363726962656420627920606f6b5f746f5f62655f6f70656e60292c20616e6439012020207468656e20746865207374617465206f662074686520706f6f6c2063616e206265207065726d697373696f6e6c6573736c79206368616e67656420746f206044657374726f79696e67602e307365745f6d6574616461746108011c706f6f6c5f6964100118506f6f6c49640001206d6574616461746138011c5665633c75383e000a10805365742061206e6577206d6574616461746120666f722074686520706f6f6c2e005d01546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e65642062792074686520626f756e6365722c206f722074686520726f6f7420726f6c65206f662074686514706f6f6c2e2c7365745f636f6e666967731801346d696e5f6a6f696e5f626f6e641d050158436f6e6669674f703c42616c616e63654f663c543e3e00013c6d696e5f6372656174655f626f6e641d050158436f6e6669674f703c42616c616e63654f663c543e3e0001246d61785f706f6f6c7321050134436f6e6669674f703c7533323e00012c6d61785f6d656d6265727321050134436f6e6669674f703c7533323e0001506d61785f6d656d626572735f7065725f706f6f6c21050134436f6e6669674f703c7533323e000154676c6f62616c5f6d61785f636f6d6d697373696f6e25050144436f6e6669674f703c50657262696c6c3e000b2c410155706461746520636f6e66696775726174696f6e7320666f7220746865206e6f6d696e6174696f6e20706f6f6c732e20546865206f726967696e20666f7220746869732063616c6c206d757374206265605b60436f6e6669673a3a41646d696e4f726967696e605d2e002c2320417267756d656e747300a02a20606d696e5f6a6f696e5f626f6e6460202d20536574205b604d696e4a6f696e426f6e64605d2eb02a20606d696e5f6372656174655f626f6e6460202d20536574205b604d696e437265617465426f6e64605d2e842a20606d61785f706f6f6c7360202d20536574205b604d6178506f6f6c73605d2ea42a20606d61785f6d656d6265727360202d20536574205b604d6178506f6f6c4d656d62657273605d2ee42a20606d61785f6d656d626572735f7065725f706f6f6c60202d20536574205b604d6178506f6f6c4d656d62657273506572506f6f6c605d2ee02a2060676c6f62616c5f6d61785f636f6d6d697373696f6e60202d20536574205b60476c6f62616c4d6178436f6d6d697373696f6e605d2e307570646174655f726f6c657310011c706f6f6c5f6964100118506f6f6c49640001206e65775f726f6f7429050158436f6e6669674f703c543a3a4163636f756e7449643e0001346e65775f6e6f6d696e61746f7229050158436f6e6669674f703c543a3a4163636f756e7449643e00012c6e65775f626f756e63657229050158436f6e6669674f703c543a3a4163636f756e7449643e000c1c745570646174652074686520726f6c6573206f662074686520706f6f6c2e003d0154686520726f6f7420697320746865206f6e6c7920656e7469747920746861742063616e206368616e676520616e79206f662074686520726f6c65732c20696e636c7564696e6720697473656c662cb86578636c7564696e6720746865206465706f7369746f722c2077686f2063616e206e65766572206368616e67652e005101497420656d69747320616e206576656e742c206e6f74696679696e6720554973206f662074686520726f6c65206368616e67652e2054686973206576656e742069732071756974652072656c6576616e7420746f1d016d6f737420706f6f6c206d656d6265727320616e6420746865792073686f756c6420626520696e666f726d6564206f66206368616e67657320746f20706f6f6c20726f6c65732e146368696c6c04011c706f6f6c5f6964100118506f6f6c4964000d40704368696c6c206f6e20626568616c66206f662074686520706f6f6c2e004101546865206469737061746368206f726967696e206f6620746869732063616c6c2063616e206265207369676e65642062792074686520706f6f6c206e6f6d696e61746f72206f722074686520706f6f6ca0726f6f7420726f6c652c2073616d65206173205b6050616c6c65743a3a6e6f6d696e617465605d2e004d01556e646572206365727461696e20636f6e646974696f6e732c20746869732063616c6c2063616e2062652064697370617463686564207065726d697373696f6e6c6573736c792028692e652e20627920616e79246163636f756e74292e00ac2320436f6e646974696f6e7320666f722061207065726d697373696f6e6c6573732064697370617463683a59012a205768656e20706f6f6c206465706f7369746f7220686173206c657373207468616e20604d696e4e6f6d696e61746f72426f6e6460207374616b65642c206f74686572776973652020706f6f6c206d656d626572735c202061726520756e61626c6520746f20756e626f6e642e009c2320436f6e646974696f6e7320666f72207065726d697373696f6e65642064697370617463683ad82a205468652063616c6c6572206861732061206e6f6d696e61746f72206f7220726f6f7420726f6c65206f662074686520706f6f6c2e490154686973206469726563746c7920666f7277617264207468652063616c6c20746f20746865207374616b696e672070616c6c65742c206f6e20626568616c66206f662074686520706f6f6c20626f6e646564206163636f756e742e40626f6e645f65787472615f6f746865720801186d656d6265724d0301504163636f756e7449644c6f6f6b75704f663c543e00011465787472611905015c426f6e6445787472613c42616c616e63654f663c543e3e000e245501606f726967696e6020626f6e64732066756e64732066726f6d206065787472616020666f7220736f6d6520706f6f6c206d656d62657220606d656d6265726020696e746f207468656972207265737065637469766518706f6f6c732e004901606f726967696e602063616e20626f6e642065787472612066756e64732066726f6d20667265652062616c616e6365206f722070656e64696e672072657761726473207768656e20606f726967696e203d3d1c6f74686572602e004501496e207468652063617365206f6620606f726967696e20213d206f74686572602c20606f726967696e602063616e206f6e6c7920626f6e642065787472612070656e64696e672072657761726473206f661501606f7468657260206d656d6265727320617373756d696e67207365745f636c61696d5f7065726d697373696f6e20666f722074686520676976656e206d656d626572206973c0605065726d697373696f6e6c657373436f6d706f756e6460206f7220605065726d697373696f6e6c657373416c6c602e507365745f636c61696d5f7065726d697373696f6e0401287065726d697373696f6e2d05013c436c61696d5065726d697373696f6e000f1c4901416c6c6f7773206120706f6f6c206d656d62657220746f20736574206120636c61696d207065726d697373696f6e20746f20616c6c6f77206f7220646973616c6c6f77207065726d697373696f6e6c65737360626f6e64696e6720616e64207769746864726177696e672e002c2320417267756d656e747300782a20606f726967696e60202d204d656d626572206f66206120706f6f6c2eb82a20607065726d697373696f6e60202d20546865207065726d697373696f6e20746f206265206170706c6965642e48636c61696d5f7061796f75745f6f746865720401146f74686572000130543a3a4163636f756e7449640010100101606f726967696e602063616e20636c61696d207061796f757473206f6e20736f6d6520706f6f6c206d656d62657220606f7468657260277320626568616c662e005501506f6f6c206d656d62657220606f7468657260206d7573742068617665206120605065726d697373696f6e6c657373576974686472617760206f7220605065726d697373696f6e6c657373416c6c6020636c61696da87065726d697373696f6e20666f7220746869732063616c6c20746f206265207375636365737366756c2e387365745f636f6d6d697373696f6e08011c706f6f6c5f6964100118506f6f6c49640001386e65775f636f6d6d697373696f6e2101017c4f7074696f6e3c2850657262696c6c2c20543a3a4163636f756e744964293e001114745365742074686520636f6d6d697373696f6e206f66206120706f6f6c2e5501426f7468206120636f6d6d697373696f6e2070657263656e7461676520616e64206120636f6d6d697373696f6e207061796565206d7573742062652070726f766964656420696e20746865206063757272656e74605d017475706c652e2057686572652061206063757272656e7460206f6620604e6f6e65602069732070726f76696465642c20616e792063757272656e7420636f6d6d697373696f6e2077696c6c2062652072656d6f7665642e004d012d204966206120604e6f6e656020697320737570706c69656420746f20606e65775f636f6d6d697373696f6e602c206578697374696e6720636f6d6d697373696f6e2077696c6c2062652072656d6f7665642e487365745f636f6d6d697373696f6e5f6d617808011c706f6f6c5f6964100118506f6f6c49640001386d61785f636f6d6d697373696f6ef4011c50657262696c6c0012149453657420746865206d6178696d756d20636f6d6d697373696f6e206f66206120706f6f6c2e0039012d20496e697469616c206d61782063616e2062652073657420746f20616e79206050657262696c6c602c20616e64206f6e6c7920736d616c6c65722076616c75657320746865726561667465722e35012d2043757272656e7420636f6d6d697373696f6e2077696c6c206265206c6f776572656420696e20746865206576656e7420697420697320686967686572207468616e2061206e6577206d6178342020636f6d6d697373696f6e2e687365745f636f6d6d697373696f6e5f6368616e67655f7261746508011c706f6f6c5f6964100118506f6f6c496400012c6368616e67655f726174652901019c436f6d6d697373696f6e4368616e6765526174653c426c6f636b4e756d626572466f723c543e3e001310a85365742074686520636f6d6d697373696f6e206368616e6765207261746520666f72206120706f6f6c2e003d01496e697469616c206368616e67652072617465206973206e6f7420626f756e6465642c20776865726561732073756273657175656e7420757064617465732063616e206f6e6c79206265206d6f7265747265737472696374697665207468616e207468652063757272656e742e40636c61696d5f636f6d6d697373696f6e04011c706f6f6c5f6964100118506f6f6c496400141464436c61696d2070656e64696e6720636f6d6d697373696f6e2e005d01546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e6564206279207468652060726f6f746020726f6c65206f662074686520706f6f6c2e2050656e64696e675d01636f6d6d697373696f6e2069732070616964206f757420616e6420616464656420746f20746f74616c20636c61696d656420636f6d6d697373696f6e602e20546f74616c2070656e64696e6720636f6d6d697373696f6e78697320726573657420746f207a65726f2e207468652063757272656e742e4c61646a7573745f706f6f6c5f6465706f73697404011c706f6f6c5f6964100118506f6f6c496400151cec546f70207570207468652064656669636974206f7220776974686472617720746865206578636573732045442066726f6d2074686520706f6f6c2e0051015768656e206120706f6f6c20697320637265617465642c2074686520706f6f6c206465706f7369746f72207472616e736665727320454420746f2074686520726577617264206163636f756e74206f66207468655501706f6f6c2e204544206973207375626a65637420746f206368616e676520616e64206f7665722074696d652c20746865206465706f73697420696e2074686520726577617264206163636f756e74206d61792062655101696e73756666696369656e7420746f20636f766572207468652045442064656669636974206f662074686520706f6f6c206f7220766963652d76657273612077686572652074686572652069732065786365737331016465706f73697420746f2074686520706f6f6c2e20546869732063616c6c20616c6c6f777320616e796f6e6520746f2061646a75737420746865204544206465706f736974206f6620746865f4706f6f6c2062792065697468657220746f7070696e67207570207468652064656669636974206f7220636c61696d696e6720746865206578636573732e7c7365745f636f6d6d697373696f6e5f636c61696d5f7065726d697373696f6e08011c706f6f6c5f6964100118506f6f6c49640001287065726d697373696f6e2d0101bc4f7074696f6e3c436f6d6d697373696f6e436c61696d5065726d697373696f6e3c543a3a4163636f756e7449643e3e001610cc536574206f722072656d6f7665206120706f6f6c277320636f6d6d697373696f6e20636c61696d207065726d697373696f6e2e00610144657465726d696e65732077686f2063616e20636c61696d2074686520706f6f6c27732070656e64696e6720636f6d6d697373696f6e2e204f6e6c79207468652060526f6f746020726f6c65206f662074686520706f6f6cc869732061626c6520746f20636f6e66696775726520636f6d6d697373696f6e20636c61696d207065726d697373696f6e732e2c6170706c795f736c6173680401386d656d6265725f6163636f756e744d0301504163636f756e7449644c6f6f6b75704f663c543e001724884170706c7920612070656e64696e6720736c617368206f6e2061206d656d6265722e0025014661696c7320756e6c657373205b6063726174653a3a70616c6c65743a3a436f6e6669673a3a5374616b6541646170746572605d206973206f6620737472617465677920747970653aa45b60616461707465723a3a5374616b655374726174656779547970653a3a44656c6567617465605d2e005d015468652070656e64696e6720736c61736820616d6f756e74206f6620746865206d656d626572206d75737420626520657175616c206f72206d6f7265207468616e20604578697374656e7469616c4465706f736974602e5101546869732063616c6c2063616e2062652064697370617463686564207065726d697373696f6e6c6573736c792028692e652e20627920616e79206163636f756e74292e2049662074686520657865637574696f6e49016973207375636365737366756c2c2066656520697320726566756e64656420616e642063616c6c6572206d6179206265207265776172646564207769746820612070617274206f662074686520736c6173680d016261736564206f6e20746865205b6063726174653a3a70616c6c65743a3a436f6e6669673a3a5374616b6541646170746572605d20636f6e66696775726174696f6e2e486d6967726174655f64656c65676174696f6e0401386d656d6265725f6163636f756e744d0301504163636f756e7449644c6f6f6b75704f663c543e0018241d014d696772617465732064656c6567617465642066756e64732066726f6d2074686520706f6f6c206163636f756e7420746f2074686520606d656d6265725f6163636f756e74602e0025014661696c7320756e6c657373205b6063726174653a3a70616c6c65743a3a436f6e6669673a3a5374616b6541646170746572605d206973206f6620737472617465677920747970653aa45b60616461707465723a3a5374616b655374726174656779547970653a3a44656c6567617465605d2e002901546869732069732061207065726d697373696f6e2d6c6573732063616c6c20616e6420726566756e647320616e792066656520696620636c61696d206973207375636365737366756c2e005d0149662074686520706f6f6c20686173206d6967726174656420746f2064656c65676174696f6e206261736564207374616b696e672c20746865207374616b656420746f6b656e73206f6620706f6f6c206d656d62657273290163616e206265206d6f76656420616e642068656c6420696e207468656972206f776e206163636f756e742e20536565205b60616461707465723a3a44656c65676174655374616b65605d786d6967726174655f706f6f6c5f746f5f64656c65676174655f7374616b6504011c706f6f6c5f6964100118506f6f6c4964001924f44d69677261746520706f6f6c2066726f6d205b60616461707465723a3a5374616b655374726174656779547970653a3a5472616e73666572605d20746fa45b60616461707465723a3a5374616b655374726174656779547970653a3a44656c6567617465605d2e0025014661696c7320756e6c657373205b6063726174653a3a70616c6c65743a3a436f6e6669673a3a5374616b6541646170746572605d206973206f6620737472617465677920747970653aa45b60616461707465723a3a5374616b655374726174656779547970653a3a44656c6567617465605d2e004101546869732063616c6c2063616e2062652064697370617463686564207065726d697373696f6e6c6573736c792c20616e6420726566756e647320616e7920666565206966207375636365737366756c2e00490149662074686520706f6f6c2068617320616c7265616479206d6967726174656420746f2064656c65676174696f6e206261736564207374616b696e672c20746869732063616c6c2077696c6c206661696c2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e1905085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7324426f6e644578747261041c42616c616e6365011801082c4672656542616c616e6365040018011c42616c616e63650000001c52657761726473000100001d05085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7320436f6e6669674f700404540118010c104e6f6f700000000c5365740400180104540001001852656d6f7665000200002105085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7320436f6e6669674f700404540110010c104e6f6f700000000c5365740400100104540001001852656d6f7665000200002505085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7320436f6e6669674f7004045401f4010c104e6f6f700000000c5365740400f40104540001001852656d6f7665000200002905085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7320436f6e6669674f700404540100010c104e6f6f700000000c5365740400000104540001001852656d6f7665000200002d05085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c733c436c61696d5065726d697373696f6e000110305065726d697373696f6e6564000000585065726d697373696f6e6c657373436f6d706f756e64000100585065726d697373696f6e6c6573735769746864726177000200445065726d697373696f6e6c657373416c6c0003000031050c4070616c6c65745f7363686564756c65721870616c6c65741043616c6c040454000128207363686564756c651001107768656e300144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f646963350501ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c4503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000470416e6f6e796d6f75736c79207363686564756c652061207461736b2e1863616e63656c0801107768656e300144426c6f636b4e756d626572466f723c543e000114696e64657810010c7533320001049443616e63656c20616e20616e6f6e796d6f75736c79207363686564756c6564207461736b2e387363686564756c655f6e616d656414010869640401205461736b4e616d650001107768656e300144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f646963350501ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c4503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000204585363686564756c652061206e616d6564207461736b2e3063616e63656c5f6e616d656404010869640401205461736b4e616d650003047843616e63656c2061206e616d6564207363686564756c6564207461736b2e387363686564756c655f61667465721001146166746572300144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f646963350501ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c4503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000404a8416e6f6e796d6f75736c79207363686564756c652061207461736b20616674657220612064656c61792e507363686564756c655f6e616d65645f616674657214010869640401205461736b4e616d650001146166746572300144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f646963350501ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c4503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000504905363686564756c652061206e616d6564207461736b20616674657220612064656c61792e247365745f72657472790c01107461736b390101785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e00011c726574726965730801087538000118706572696f64300144426c6f636b4e756d626572466f723c543e0006305901536574206120726574727920636f6e66696775726174696f6e20666f722061207461736b20736f20746861742c20696e206361736520697473207363686564756c65642072756e206661696c732c2069742077696c6c5501626520726574726965642061667465722060706572696f646020626c6f636b732c20666f72206120746f74616c20616d6f756e74206f66206072657472696573602072657472696573206f7220756e74696c2069742473756363656564732e0055015461736b73207768696368206e65656420746f206265207363686564756c656420666f72206120726574727920617265207374696c6c207375626a65637420746f20776569676874206d65746572696e6720616e6451016167656e64612073706163652c2073616d65206173206120726567756c6172207461736b2e204966206120706572696f646963207461736b206661696c732c2069742077696c6c206265207363686564756c6564906e6f726d616c6c79207768696c6520746865207461736b206973207265747279696e672e0051015461736b73207363686564756c6564206173206120726573756c74206f66206120726574727920666f72206120706572696f646963207461736b2061726520756e6e616d65642c206e6f6e2d706572696f6469633d01636c6f6e6573206f6620746865206f726967696e616c207461736b2e20546865697220726574727920636f6e66696775726174696f6e2077696c6c20626520646572697665642066726f6d207468654d016f726967696e616c207461736b277320636f6e66696775726174696f6e2c206275742077696c6c20686176652061206c6f7765722076616c756520666f72206072656d61696e696e6760207468616e20746865646f726967696e616c2060746f74616c5f72657472696573602e3c7365745f72657472795f6e616d65640c010869640401205461736b4e616d6500011c726574726965730801087538000118706572696f64300144426c6f636b4e756d626572466f723c543e0007305d01536574206120726574727920636f6e66696775726174696f6e20666f722061206e616d6564207461736b20736f20746861742c20696e206361736520697473207363686564756c65642072756e206661696c732c2069745d0177696c6c20626520726574726965642061667465722060706572696f646020626c6f636b732c20666f72206120746f74616c20616d6f756e74206f66206072657472696573602072657472696573206f7220756e74696c3069742073756363656564732e0055015461736b73207768696368206e65656420746f206265207363686564756c656420666f72206120726574727920617265207374696c6c207375626a65637420746f20776569676874206d65746572696e6720616e6451016167656e64612073706163652c2073616d65206173206120726567756c6172207461736b2e204966206120706572696f646963207461736b206661696c732c2069742077696c6c206265207363686564756c6564906e6f726d616c6c79207768696c6520746865207461736b206973207265747279696e672e0051015461736b73207363686564756c6564206173206120726573756c74206f66206120726574727920666f72206120706572696f646963207461736b2061726520756e6e616d65642c206e6f6e2d706572696f6469633d01636c6f6e6573206f6620746865206f726967696e616c207461736b2e20546865697220726574727920636f6e66696775726174696f6e2077696c6c20626520646572697665642066726f6d207468654d016f726967696e616c207461736b277320636f6e66696775726174696f6e2c206275742077696c6c20686176652061206c6f7765722076616c756520666f72206072656d61696e696e6760207468616e20746865646f726967696e616c2060746f74616c5f72657472696573602e3063616e63656c5f72657472790401107461736b390101785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e000804a852656d6f7665732074686520726574727920636f6e66696775726174696f6e206f662061207461736b2e4863616e63656c5f72657472795f6e616d656404010869640401205461736b4e616d65000904bc43616e63656c2074686520726574727920636f6e66696775726174696f6e206f662061206e616d6564207461736b2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e350504184f7074696f6e0404540139010108104e6f6e6500000010536f6d6504003901000001000039050c3c70616c6c65745f707265696d6167651870616c6c65741043616c6c040454000114346e6f74655f707265696d616765040114627974657338011c5665633c75383e000010745265676973746572206120707265696d616765206f6e2d636861696e2e00550149662074686520707265696d616765207761732070726576696f75736c79207265717565737465642c206e6f2066656573206f72206465706f73697473206172652074616b656e20666f722070726f766964696e67550174686520707265696d6167652e204f74686572776973652c2061206465706f7369742069732074616b656e2070726f706f7274696f6e616c20746f207468652073697a65206f662074686520707265696d6167652e3c756e6e6f74655f707265696d6167650401106861736834011c543a3a48617368000118dc436c65617220616e20756e72657175657374656420707265696d6167652066726f6d207468652072756e74696d652073746f726167652e00fc496620606c656e602069732070726f76696465642c207468656e2069742077696c6c2062652061206d7563682063686561706572206f7065726174696f6e2e0001012d206068617368603a205468652068617368206f662074686520707265696d61676520746f2062652072656d6f7665642066726f6d207468652073746f72652eb82d20606c656e603a20546865206c656e677468206f662074686520707265696d616765206f66206068617368602e40726571756573745f707265696d6167650401106861736834011c543a3a48617368000210410152657175657374206120707265696d6167652062652075706c6f6164656420746f2074686520636861696e20776974686f757420706179696e6720616e792066656573206f72206465706f736974732e00550149662074686520707265696d6167652072657175657374732068617320616c7265616479206265656e2070726f7669646564206f6e2d636861696e2c20776520756e7265736572766520616e79206465706f7369743901612075736572206d6179206861766520706169642c20616e642074616b652074686520636f6e74726f6c206f662074686520707265696d616765206f7574206f662074686569722068616e64732e48756e726571756573745f707265696d6167650401106861736834011c543a3a4861736800030cbc436c65617220612070726576696f75736c79206d616465207265717565737420666f72206120707265696d6167652e002d014e4f54453a2054484953204d555354204e4f542042452043414c4c4544204f4e20606861736860204d4f52452054494d4553205448414e2060726571756573745f707265696d616765602e38656e737572655f75706461746564040118686173686573c10101305665633c543a3a486173683e00040cc4456e7375726520746861742074686520612062756c6b206f66207072652d696d616765732069732075706772616465642e003d015468652063616c6c65722070617973206e6f20666565206966206174206c6561737420393025206f66207072652d696d616765732077657265207375636365737366756c6c7920757064617465642e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e3d050c3c70616c6c65745f74785f70617573651870616c6c65741043616c6c04045400010814706175736504012466756c6c5f6e616d655101015052756e74696d6543616c6c4e616d654f663c543e00001034506175736520612063616c6c2e00b843616e206f6e6c792062652063616c6c6564206279205b60436f6e6669673a3a50617573654f726967696e605d2ec0456d69747320616e205b604576656e743a3a43616c6c506175736564605d206576656e74206f6e20737563636573732e1c756e70617573650401146964656e745101015052756e74696d6543616c6c4e616d654f663c543e00011040556e2d706175736520612063616c6c2e00c043616e206f6e6c792062652063616c6c6564206279205b60436f6e6669673a3a556e70617573654f726967696e605d2ec8456d69747320616e205b604576656e743a3a43616c6c556e706175736564605d206576656e74206f6e20737563636573732e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e41050c4070616c6c65745f696d5f6f6e6c696e651870616c6c65741043616c6c04045400010424686561727462656174080124686561727462656174450501704865617274626561743c426c6f636b4e756d626572466f723c543e3e0001247369676e6174757265490501bc3c543a3a417574686f7269747949642061732052756e74696d654170705075626c69633e3a3a5369676e617475726500000c38232320436f6d706c65786974793afc2d20604f284b2960207768657265204b206973206c656e677468206f6620604b6579736020286865617274626561742e76616c696461746f72735f6c656e298820202d20604f284b29603a206465636f64696e67206f66206c656e67746820604b60040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e4505084070616c6c65745f696d5f6f6e6c696e6524486561727462656174042c426c6f636b4e756d626572013000100130626c6f636b5f6e756d62657230012c426c6f636b4e756d62657200013473657373696f6e5f696e64657810013053657373696f6e496e64657800013c617574686f726974795f696e64657810012441757468496e64657800013876616c696461746f72735f6c656e10010c75333200004905104070616c6c65745f696d5f6f6e6c696e651c737232353531392c6170705f73723235353139245369676e61747572650000040095030148737232353531393a3a5369676e617475726500004d050c3c70616c6c65745f6964656e746974791870616c6c65741043616c6c040454000158346164645f72656769737472617204011c6163636f756e744d0301504163636f756e7449644c6f6f6b75704f663c543e00001c7841646420612072656769737472617220746f207468652073797374656d2e00fc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060543a3a5265676973747261724f726967696e602e00a82d20606163636f756e74603a20746865206163636f756e74206f6620746865207265676973747261722e0094456d6974732060526567697374726172416464656460206966207375636365737366756c2e307365745f6964656e74697479040110696e666f5105016c426f783c543a3a4964656e74697479496e666f726d6174696f6e3e000128290153657420616e206163636f756e742773206964656e7469747920696e666f726d6174696f6e20616e6420726573657276652074686520617070726f707269617465206465706f7369742e005501496620746865206163636f756e7420616c726561647920686173206964656e7469747920696e666f726d6174696f6e2c20746865206465706f7369742069732074616b656e2061732070617274207061796d656e7450666f7220746865206e6577206465706f7369742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e008c2d2060696e666f603a20546865206964656e7469747920696e666f726d6174696f6e2e0088456d69747320604964656e7469747953657460206966207375636365737366756c2e207365745f7375627304011073756273d90501645665633c28543a3a4163636f756e7449642c2044617461293e0002248c53657420746865207375622d6163636f756e7473206f66207468652073656e6465722e0055015061796d656e743a20416e79206167677265676174652062616c616e63652072657365727665642062792070726576696f757320607365745f73756273602063616c6c732077696c6c2062652072657475726e65642d01616e6420616e20616d6f756e7420605375624163636f756e744465706f736974602077696c6c20626520726573657276656420666f722065616368206974656d20696e206073756273602e006101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206861766520612072656769737465726564246964656e746974792e00b02d206073756273603a20546865206964656e74697479277320286e657729207375622d6163636f756e74732e38636c6561725f6964656e746974790003203901436c65617220616e206163636f756e742773206964656e7469747920696e666f20616e6420616c6c207375622d6163636f756e747320616e642072657475726e20616c6c206465706f736974732e00ec5061796d656e743a20416c6c2072657365727665642062616c616e636573206f6e20746865206163636f756e74206172652072657475726e65642e006101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206861766520612072656769737465726564246964656e746974792e0098456d69747320604964656e74697479436c656172656460206966207375636365737366756c2e44726571756573745f6a756467656d656e740801247265675f696e646578f1020138526567697374726172496e64657800011c6d61785f6665656d01013042616c616e63654f663c543e00044094526571756573742061206a756467656d656e742066726f6d2061207265676973747261722e0055015061796d656e743a204174206d6f737420606d61785f666565602077696c6c20626520726573657276656420666f72207061796d656e7420746f2074686520726567697374726172206966206a756467656d656e7418676976656e2e003501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206861766520615072656769737465726564206964656e746974792e001d012d20607265675f696e646578603a2054686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973207265717565737465642e55012d20606d61785f666565603a20546865206d6178696d756d206665652074686174206d617920626520706169642e20546869732073686f756c64206a757374206265206175746f2d706f70756c617465642061733a00306060606e6f636f6d70696c65b853656c663a3a7265676973747261727328292e676574287265675f696e646578292e756e7772617028292e6665650c60606000a4456d69747320604a756467656d656e7452657175657374656460206966207375636365737366756c2e3863616e63656c5f726571756573740401247265675f696e646578100138526567697374726172496e6465780005286843616e63656c20612070726576696f757320726571756573742e00f85061796d656e743a20412070726576696f75736c79207265736572766564206465706f7369742069732072657475726e6564206f6e20737563636573732e003501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206861766520615072656769737465726564206964656e746974792e0045012d20607265675f696e646578603a2054686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973206e6f206c6f6e676572207265717565737465642e00ac456d69747320604a756467656d656e74556e72657175657374656460206966207375636365737366756c2e1c7365745f666565080114696e646578f1020138526567697374726172496e64657800010c6665656d01013042616c616e63654f663c543e00061c1901536574207468652066656520726571756972656420666f722061206a756467656d656e7420746f206265207265717565737465642066726f6d2061207265676973747261722e005501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a06f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f42d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e542d2060666565603a20746865206e6577206665652e387365745f6163636f756e745f6964080114696e646578f1020138526567697374726172496e64657800010c6e65774d0301504163636f756e7449644c6f6f6b75704f663c543e00071cbc4368616e676520746865206163636f756e74206173736f63696174656420776974682061207265676973747261722e005501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a06f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f42d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e702d20606e6577603a20746865206e6577206163636f756e742049442e287365745f6669656c6473080114696e646578f1020138526567697374726172496e6465780001186669656c6473300129013c543a3a4964656e74697479496e666f726d6174696f6e206173204964656e74697479496e666f726d6174696f6e50726f76696465723e3a3a0a4669656c64734964656e74696669657200081ca853657420746865206669656c6420696e666f726d6174696f6e20666f722061207265676973747261722e005501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a06f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f42d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e0d012d20606669656c6473603a20746865206669656c64732074686174207468652072656769737472617220636f6e6365726e73207468656d73656c76657320776974682e4470726f766964655f6a756467656d656e741001247265675f696e646578f1020138526567697374726172496e6465780001187461726765744d0301504163636f756e7449644c6f6f6b75704f663c543e0001246a756467656d656e74e105015c4a756467656d656e743c42616c616e63654f663c543e3e0001206964656e7469747934011c543a3a4861736800093cb850726f766964652061206a756467656d656e7420666f7220616e206163636f756e742773206964656e746974792e005501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74b06f6620746865207265676973747261722077686f736520696e64657820697320607265675f696e646578602e0021012d20607265675f696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973206265696e67206d6164652e55012d2060746172676574603a20746865206163636f756e742077686f7365206964656e7469747920746865206a756467656d656e742069732075706f6e2e2054686973206d75737420626520616e206163636f756e747420207769746820612072656769737465726564206964656e746974792e49012d20606a756467656d656e74603a20746865206a756467656d656e74206f662074686520726567697374726172206f6620696e64657820607265675f696e646578602061626f75742060746172676574602e5d012d20606964656e74697479603a205468652068617368206f6620746865205b604964656e74697479496e666f726d6174696f6e50726f7669646572605d20666f72207468617420746865206a756467656d656e742069732c202070726f76696465642e00b04e6f74653a204a756467656d656e747320646f206e6f74206170706c7920746f206120757365726e616d652e0094456d69747320604a756467656d656e74476976656e60206966207375636365737366756c2e346b696c6c5f6964656e746974790401187461726765744d0301504163636f756e7449644c6f6f6b75704f663c543e000a30410152656d6f766520616e206163636f756e742773206964656e7469747920616e64207375622d6163636f756e7420696e666f726d6174696f6e20616e6420736c61736820746865206465706f736974732e0061015061796d656e743a2052657365727665642062616c616e6365732066726f6d20607365745f737562736020616e6420607365745f6964656e74697479602061726520736c617368656420616e642068616e646c6564206279450160536c617368602e20566572696669636174696f6e2072657175657374206465706f7369747320617265206e6f742072657475726e65643b20746865792073686f756c642062652063616e63656c6c6564806d616e75616c6c79207573696e67206063616e63656c5f72657175657374602e00f8546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206d617463682060543a3a466f7263654f726967696e602e0055012d2060746172676574603a20746865206163636f756e742077686f7365206964656e7469747920746865206a756467656d656e742069732075706f6e2e2054686973206d75737420626520616e206163636f756e747420207769746820612072656769737465726564206964656e746974792e0094456d69747320604964656e746974794b696c6c656460206966207375636365737366756c2e1c6164645f73756208010c7375624d0301504163636f756e7449644c6f6f6b75704f663c543e000110646174615d05011044617461000b1cac4164642074686520676976656e206163636f756e7420746f207468652073656e646572277320737562732e005d015061796d656e743a2042616c616e636520726573657276656420627920612070726576696f757320607365745f73756273602063616c6c20666f72206f6e65207375622077696c6c20626520726570617472696174656438746f207468652073656e6465722e006101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061207265676973746572656458737562206964656e74697479206f662060737562602e2872656e616d655f73756208010c7375624d0301504163636f756e7449644c6f6f6b75704f663c543e000110646174615d05011044617461000c10cc416c74657220746865206173736f636961746564206e616d65206f662074686520676976656e207375622d6163636f756e742e006101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061207265676973746572656458737562206964656e74697479206f662060737562602e2872656d6f76655f73756204010c7375624d0301504163636f756e7449644c6f6f6b75704f663c543e000d1cc052656d6f76652074686520676976656e206163636f756e742066726f6d207468652073656e646572277320737562732e005d015061796d656e743a2042616c616e636520726573657276656420627920612070726576696f757320607365745f73756273602063616c6c20666f72206f6e65207375622077696c6c20626520726570617472696174656438746f207468652073656e6465722e006101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061207265676973746572656458737562206964656e74697479206f662060737562602e20717569745f737562000e288c52656d6f7665207468652073656e6465722061732061207375622d6163636f756e742e005d015061796d656e743a2042616c616e636520726573657276656420627920612070726576696f757320607365745f73756273602063616c6c20666f72206f6e65207375622077696c6c206265207265706174726961746564b4746f207468652073656e64657220282a6e6f742a20746865206f726967696e616c206465706f7369746f72292e006101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d7573742068617665206120726567697374657265643c73757065722d6964656e746974792e0045014e4f54453a20546869732073686f756c64206e6f74206e6f726d616c6c7920626520757365642c206275742069732070726f766964656420696e207468652063617365207468617420746865206e6f6e2d1101636f6e74726f6c6c6572206f6620616e206163636f756e74206973206d616c6963696f75736c7920726567697374657265642061732061207375622d6163636f756e742e586164645f757365726e616d655f617574686f726974790c0124617574686f726974794d0301504163636f756e7449644c6f6f6b75704f663c543e00011873756666697838011c5665633c75383e000128616c6c6f636174696f6e10010c753332000f10550141646420616e20604163636f756e744964602077697468207065726d697373696f6e20746f206772616e7420757365726e616d65732077697468206120676976656e20607375666669786020617070656e6465642e00590154686520617574686f726974792063616e206772616e7420757020746f2060616c6c6f636174696f6e6020757365726e616d65732e20546f20746f7020757020746865697220616c6c6f636174696f6e2c2074686579490173686f756c64206a75737420697373756520286f7220726571756573742076696120676f7665726e616e6365292061206e657720606164645f757365726e616d655f617574686f72697479602063616c6c2e6472656d6f76655f757365726e616d655f617574686f72697479040124617574686f726974794d0301504163636f756e7449644c6f6f6b75704f663c543e001004c452656d6f76652060617574686f72697479602066726f6d2074686520757365726e616d6520617574686f7269746965732e407365745f757365726e616d655f666f720c010c77686f4d0301504163636f756e7449644c6f6f6b75704f663c543e000120757365726e616d6538011c5665633c75383e0001247369676e6174757265e50501704f7074696f6e3c543a3a4f6666636861696e5369676e61747572653e0011240d015365742074686520757365726e616d6520666f72206077686f602e204d7573742062652063616c6c6564206279206120757365726e616d6520617574686f726974792e00550154686520617574686f72697479206d757374206861766520616e2060616c6c6f636174696f6e602e2055736572732063616e20656974686572207072652d7369676e20746865697220757365726e616d6573206f7248616363657074207468656d206c617465722e003c557365726e616d6573206d7573743ad820202d204f6e6c7920636f6e7461696e206c6f776572636173652041534349492063686172616374657273206f72206469676974732e350120202d205768656e20636f6d62696e656420776974682074686520737566666978206f66207468652069737375696e6720617574686f72697479206265205f6c657373207468616e5f207468656020202020604d6178557365726e616d654c656e677468602e3c6163636570745f757365726e616d65040120757365726e616d657d01012c557365726e616d653c543e0012084d01416363657074206120676976656e20757365726e616d65207468617420616e2060617574686f7269747960206772616e7465642e205468652063616c6c206d75737420696e636c756465207468652066756c6c88757365726e616d652c20617320696e2060757365726e616d652e737566666978602e5c72656d6f76655f657870697265645f617070726f76616c040120757365726e616d657d01012c557365726e616d653c543e00130c610152656d6f766520616e206578706972656420757365726e616d6520617070726f76616c2e2054686520757365726e616d652077617320617070726f76656420627920616e20617574686f7269747920627574206e657665725501616363657074656420627920746865207573657220616e64206d757374206e6f77206265206265796f6e64206974732065787069726174696f6e2e205468652063616c6c206d75737420696e636c756465207468659c66756c6c20757365726e616d652c20617320696e2060757365726e616d652e737566666978602e507365745f7072696d6172795f757365726e616d65040120757365726e616d657d01012c557365726e616d653c543e0014043101536574206120676976656e20757365726e616d6520617320746865207072696d6172792e2054686520757365726e616d652073686f756c6420696e636c75646520746865207375666669782e6072656d6f76655f64616e676c696e675f757365726e616d65040120757365726e616d657d01012c557365726e616d653c543e001508550152656d6f7665206120757365726e616d65207468617420636f72726573706f6e647320746f20616e206163636f756e742077697468206e6f206964656e746974792e20457869737473207768656e20612075736572c067657473206120757365726e616d6520627574207468656e2063616c6c732060636c6561725f6964656e74697479602e04704964656e746974792070616c6c6574206465636c61726174696f6e2e51050c3c70616c6c65745f6964656e74697479186c6567616379304964656e74697479496e666f04284669656c644c696d697400002401286164646974696f6e616c55050190426f756e6465645665633c28446174612c2044617461292c204669656c644c696d69743e00011c646973706c61795d050110446174610001146c6567616c5d0501104461746100010c7765625d0501104461746100011072696f745d05011044617461000114656d61696c5d0501104461746100013c7067705f66696e6765727072696e74d50501404f7074696f6e3c5b75383b2032305d3e000114696d6167655d0501104461746100011c747769747465725d05011044617461000055050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454015905045300000400d10501185665633c543e00005905000004085d055d05005d050c3c70616c6c65745f6964656e746974791474797065731044617461000198104e6f6e65000000105261773004006105000001001052617731040065050000020010526177320400690500000300105261773304006d050000040010526177340400480000050010526177350400710500000600105261773604007505000007001052617737040079050000080010526177380400350300000900105261773904007d0500000a001452617731300400810500000b001452617731310400850500000c001452617731320400890500000d0014526177313304008d0500000e001452617731340400910500000f0014526177313504009505000010001452617731360400490100001100145261773137040099050000120014526177313804009d05000013001452617731390400a1050000140014526177323004009501000015001452617732310400a505000016001452617732320400a905000017001452617732330400ad05000018001452617732340400b105000019001452617732350400b50500001a001452617732360400b90500001b001452617732370400bd0500001c001452617732380400c10500001d001452617732390400c50500001e001452617733300400c90500001f001452617733310400cd0500002000145261773332040004000021002c426c616b6554776f323536040004000022001853686132353604000400002300244b656363616b323536040004000024002c536861546872656532353604000400002500006105000003000000000800650500000301000000080069050000030200000008006d050000030300000008007105000003050000000800750500000306000000080079050000030700000008007d0500000309000000080081050000030a000000080085050000030b000000080089050000030c00000008008d050000030d000000080091050000030e000000080095050000030f000000080099050000031100000008009d05000003120000000800a105000003130000000800a505000003150000000800a905000003160000000800ad05000003170000000800b105000003180000000800b505000003190000000800b9050000031a0000000800bd050000031b0000000800c1050000031c0000000800c5050000031d0000000800c9050000031e0000000800cd050000031f0000000800d105000002590500d50504184f7074696f6e0404540195010108104e6f6e6500000010536f6d65040095010000010000d905000002dd0500dd0500000408005d0500e1050c3c70616c6c65745f6964656e74697479147479706573244a756467656d656e74041c42616c616e63650118011c1c556e6b6e6f776e0000001c46656550616964040018011c42616c616e636500010028526561736f6e61626c65000200244b6e6f776e476f6f64000300244f75744f6644617465000400284c6f775175616c697479000500244572726f6e656f757300060000e50504184f7074696f6e04045401e9050108104e6f6e6500000010536f6d650400e9050000010000e905082873705f72756e74696d65384d756c74695369676e617475726500010c1c45643235353139040095030148656432353531393a3a5369676e61747572650000001c53723235353139040095030148737232353531393a3a5369676e61747572650001001445636473610400fd01014065636473613a3a5369676e617475726500020000ed050c3870616c6c65745f7574696c6974791870616c6c65741043616c6c04045400011814626174636804011463616c6c73f105017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0000487c53656e642061206261746368206f662064697370617463682063616c6c732e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e0055014966206f726967696e20697320726f6f74207468656e207468652063616c6c7320617265206469737061746368656420776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e0034232320436f6d706c6578697479d02d204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e005501546869732077696c6c2072657475726e20604f6b6020696e20616c6c2063697263756d7374616e6365732e20546f2064657465726d696e65207468652073756363657373206f66207468652062617463682c20616e31016576656e74206973206465706f73697465642e20496620612063616c6c206661696c656420616e64207468652062617463682077617320696e7465727275707465642c207468656e207468655501604261746368496e74657272757074656460206576656e74206973206465706f73697465642c20616c6f6e67207769746820746865206e756d626572206f66207375636365737366756c2063616c6c73206d6164654d01616e6420746865206572726f72206f6620746865206661696c65642063616c6c2e20496620616c6c2077657265207375636365737366756c2c207468656e2074686520604261746368436f6d706c65746564604c6576656e74206973206465706f73697465642e3461735f64657269766174697665080114696e646578e901010c75313600011063616c6c4503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000134dc53656e6420612063616c6c207468726f75676820616e20696e64657865642070736575646f6e796d206f66207468652073656e6465722e00550146696c7465722066726f6d206f726967696e206172652070617373656420616c6f6e672e205468652063616c6c2077696c6c2062652064697370617463686564207769746820616e206f726967696e207768696368bc757365207468652073616d652066696c74657220617320746865206f726967696e206f6620746869732063616c6c2e0045014e4f54453a20496620796f75206e65656420746f20656e73757265207468617420616e79206163636f756e742d62617365642066696c746572696e67206973206e6f7420686f6e6f7265642028692e652e61016265636175736520796f7520657870656374206070726f78796020746f2068617665206265656e2075736564207072696f7220696e207468652063616c6c20737461636b20616e6420796f7520646f206e6f742077616e7451017468652063616c6c207265737472696374696f6e7320746f206170706c7920746f20616e79207375622d6163636f756e7473292c207468656e20757365206061735f6d756c74695f7468726573686f6c645f31607c696e20746865204d756c74697369672070616c6c657420696e73746561642e00f44e4f54453a205072696f7220746f2076657273696f6e202a31322c2074686973207761732063616c6c6564206061735f6c696d697465645f737562602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e2462617463685f616c6c04011463616c6c73f105017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000234ec53656e642061206261746368206f662064697370617463682063616c6c7320616e642061746f6d6963616c6c792065786563757465207468656d2e21015468652077686f6c65207472616e73616374696f6e2077696c6c20726f6c6c6261636b20616e64206661696c20696620616e79206f66207468652063616c6c73206661696c65642e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e0055014966206f726967696e20697320726f6f74207468656e207468652063616c6c7320617265206469737061746368656420776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e0034232320436f6d706c6578697479d02d204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c64697370617463685f617308012461735f6f726967696ef5050154426f783c543a3a50616c6c6574734f726967696e3e00011063616c6c4503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000318c84469737061746368657320612066756e6374696f6e2063616c6c207769746820612070726f7669646564206f726967696e2e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e0034232320436f6d706c65786974791c2d204f2831292e2c666f7263655f626174636804011463616c6c73f105017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0004347c53656e642061206261746368206f662064697370617463682063616c6c732ed4556e6c696b6520606261746368602c20697420616c6c6f7773206572726f727320616e6420776f6e277420696e746572727570742e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e004d014966206f726967696e20697320726f6f74207468656e207468652063616c6c732061726520646973706174636820776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e0034232320436f6d706c6578697479d02d204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c776974685f77656967687408011063616c6c4503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000118776569676874280118576569676874000518c4446973706174636820612066756e6374696f6e2063616c6c2077697468206120737065636966696564207765696768742e002d01546869732066756e6374696f6e20646f6573206e6f7420636865636b2074686520776569676874206f66207468652063616c6c2c20616e6420696e737465616420616c6c6f777320746865b8526f6f74206f726967696e20746f20737065636966792074686520776569676874206f66207468652063616c6c2e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ef105000002450300f505085874616e676c655f746573746e65745f72756e74696d65304f726967696e43616c6c657200010c1873797374656d0400f90501746672616d655f73797374656d3a3a4f726967696e3c52756e74696d653e0001001c436f756e63696c0400fd0501010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e000d0020457468657265756d04000106015c70616c6c65745f657468657265756d3a3a4f726967696e00210000f9050c346672616d655f737570706f7274206469737061746368245261774f726967696e04244163636f756e7449640100010c10526f6f74000000185369676e656404000001244163636f756e744964000100104e6f6e6500020000fd05084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d62657273080010012c4d656d626572436f756e74000010012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d000200000106083c70616c6c65745f657468657265756d245261774f726967696e0001044c457468657265756d5472616e73616374696f6e040091010110483136300000000005060c3c70616c6c65745f6d756c74697369671870616c6c65741043616c6c0404540001105061735f6d756c74695f7468726573686f6c645f310801446f746865725f7369676e61746f72696573450201445665633c543a3a4163636f756e7449643e00011063616c6c4503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0000305101496d6d6564696174656c792064697370617463682061206d756c74692d7369676e61747572652063616c6c207573696e6720612073696e676c6520617070726f76616c2066726f6d207468652063616c6c65722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003d012d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f206172652070617274206f662074686501016d756c74692d7369676e61747572652c2062757420646f206e6f7420706172746963697061746520696e2074686520617070726f76616c2070726f636573732e882d206063616c6c603a205468652063616c6c20746f2062652065786563757465642e00b8526573756c74206973206571756976616c656e7420746f20746865206469737061746368656420726573756c742e0034232320436f6d706c657869747919014f285a202b204329207768657265205a20697320746865206c656e677468206f66207468652063616c6c20616e6420432069747320657865637574696f6e207765696768742e2061735f6d756c74691401247468726573686f6c64e901010c7531360001446f746865725f7369676e61746f72696573450201445665633c543a3a4163636f756e7449643e00013c6d617962655f74696d65706f696e74090601904f7074696f6e3c54696d65706f696e743c426c6f636b4e756d626572466f723c543e3e3e00011063616c6c4503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0001286d61785f77656967687428011857656967687400019c5501526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966f8617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e00b049662074686572652061726520656e6f7567682c207468656e206469737061746368207468652063616c6c2e002d015061796d656e743a20604465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c75733d01607468726573686f6c64602074696d657320604465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f723469732063616e63656c6c65642e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0055012d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e41012d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f766520746869736c64697370617463682e204d6179206e6f7420626520656d7074792e59012d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e20496620697420697351016e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d47472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2e882d206063616c6c603a205468652063616c6c20746f2062652065786563757465642e001d014e4f54453a20556e6c6573732074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2067656e6572616c6c792077616e7420746f20757365190160617070726f76655f61735f6d756c74696020696e73746561642c2073696e6365206974206f6e6c7920726571756972657320612068617368206f66207468652063616c6c2e005901526573756c74206973206571756976616c656e7420746f20746865206469737061746368656420726573756c7420696620607468726573686f6c64602069732065786163746c79206031602e204f746865727769736555016f6e20737563636573732c20726573756c7420697320604f6b6020616e642074686520726573756c742066726f6d2074686520696e746572696f722063616c6c2c206966206974207761732065786563757465642cdc6d617920626520666f756e6420696e20746865206465706f736974656420604d756c7469736967457865637574656460206576656e742e0034232320436f6d706c6578697479502d20604f2853202b205a202b2043616c6c29602ecc2d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e3d012d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f66450120207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2e21012d204f6e652063616c6c20656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285a296020776865726520605a602069732074782d6c656e2ebc2d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed42d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292ef82d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e302d204f6e65206576656e742e6c2d2054686520776569676874206f6620746865206063616c6c602e4d012d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061206465706f7369741901202074616b656e20666f7220697473206c69666574696d65206f6620604465706f73697442617365202b207468726573686f6c64202a204465706f736974466163746f72602e40617070726f76655f61735f6d756c74691401247468726573686f6c64e901010c7531360001446f746865725f7369676e61746f72696573450201445665633c543a3a4163636f756e7449643e00013c6d617962655f74696d65706f696e74090601904f7074696f6e3c54696d65706f696e743c426c6f636b4e756d626572466f723c543e3e3e00012463616c6c5f686173680401205b75383b2033325d0001286d61785f7765696768742801185765696768740002785501526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966f8617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e002d015061796d656e743a20604465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c75733d01607468726573686f6c64602074696d657320604465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f723469732063616e63656c6c65642e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0055012d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e41012d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f766520746869736c64697370617463682e204d6179206e6f7420626520656d7074792e59012d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e20496620697420697351016e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d47472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2ecc2d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e0035014e4f54453a2049662074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2077616e7420746f20757365206061735f6d756c74696020696e73746561642e0034232320436f6d706c6578697479242d20604f285329602ecc2d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e3d012d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f66450120207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ebc2d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed42d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292ef82d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e302d204f6e65206576656e742e4d012d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061206465706f7369741901202074616b656e20666f7220697473206c69666574696d65206f6620604465706f73697442617365202b207468726573686f6c64202a204465706f736974466163746f72602e3c63616e63656c5f61735f6d756c74691001247468726573686f6c64e901010c7531360001446f746865725f7369676e61746f72696573450201445665633c543a3a4163636f756e7449643e00012474696d65706f696e748901017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e00012463616c6c5f686173680401205b75383b2033325d000354550143616e63656c2061207072652d6578697374696e672c206f6e2d676f696e67206d756c7469736967207472616e73616374696f6e2e20416e79206465706f7369742072657365727665642070726576696f75736c79c4666f722074686973206f7065726174696f6e2077696c6c20626520756e7265736572766564206f6e20737563636573732e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0055012d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e41012d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f766520746869736c64697370617463682e204d6179206e6f7420626520656d7074792e5d012d206074696d65706f696e74603a205468652074696d65706f696e742028626c6f636b206e756d62657220616e64207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c787472616e73616374696f6e20666f7220746869732064697370617463682ecc2d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e0034232320436f6d706c6578697479242d20604f285329602ecc2d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e3d012d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f66450120207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ebc2d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602e302d204f6e65206576656e742e842d20492f4f3a2031207265616420604f285329602c206f6e652072656d6f76652e702d2053746f726167653a2072656d6f766573206f6e65206974656d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e090604184f7074696f6e0404540189010108104e6f6e6500000010536f6d650400890100000100000d060c3c70616c6c65745f657468657265756d1870616c6c65741043616c6c040454000104207472616e7361637404012c7472616e73616374696f6e1106012c5472616e73616374696f6e000004845472616e7361637420616e20457468657265756d207472616e73616374696f6e2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e11060c20657468657265756d2c7472616e73616374696f6e345472616e73616374696f6e563200010c184c65676163790400150601444c65676163795472616e73616374696f6e0000001c45495032393330040025060148454950323933305472616e73616374696f6e0001001c45495031353539040031060148454950313535395472616e73616374696f6e0002000015060c20657468657265756d2c7472616e73616374696f6e444c65676163795472616e73616374696f6e00001c01146e6f6e6365c9010110553235360001246761735f7072696365c9010110553235360001246761735f6c696d6974c901011055323536000118616374696f6e190601445472616e73616374696f6e416374696f6e00011476616c7565c901011055323536000114696e70757438011442797465730001247369676e61747572651d0601505472616e73616374696f6e5369676e6174757265000019060c20657468657265756d2c7472616e73616374696f6e445472616e73616374696f6e416374696f6e0001081043616c6c0400910101104831363000000018437265617465000100001d060c20657468657265756d2c7472616e73616374696f6e505472616e73616374696f6e5369676e617475726500000c010476210601545472616e73616374696f6e5265636f76657279496400010472340110483235360001047334011048323536000021060c20657468657265756d2c7472616e73616374696f6e545472616e73616374696f6e5265636f7665727949640000040030010c753634000025060c20657468657265756d2c7472616e73616374696f6e48454950323933305472616e73616374696f6e00002c0120636861696e5f696430010c7536340001146e6f6e6365c9010110553235360001246761735f7072696365c9010110553235360001246761735f6c696d6974c901011055323536000118616374696f6e190601445472616e73616374696f6e416374696f6e00011476616c7565c901011055323536000114696e707574380114427974657300012c6163636573735f6c697374290601284163636573734c6973740001306f64645f795f706172697479200110626f6f6c00010472340110483235360001047334011048323536000029060000022d06002d060c20657468657265756d2c7472616e73616374696f6e384163636573734c6973744974656d000008011c616464726573739101011c4164647265737300013073746f726167655f6b657973c10101245665633c483235363e000031060c20657468657265756d2c7472616e73616374696f6e48454950313535395472616e73616374696f6e0000300120636861696e5f696430010c7536340001146e6f6e6365c9010110553235360001606d61785f7072696f726974795f6665655f7065725f676173c90101105532353600013c6d61785f6665655f7065725f676173c9010110553235360001246761735f6c696d6974c901011055323536000118616374696f6e190601445472616e73616374696f6e416374696f6e00011476616c7565c901011055323536000114696e707574380114427974657300012c6163636573735f6c697374290601284163636573734c6973740001306f64645f795f706172697479200110626f6f6c00010472340110483235360001047334011048323536000035060c2870616c6c65745f65766d1870616c6c65741043616c6c04045400011020776974686472617708011c61646472657373910101104831363000011476616c756518013042616c616e63654f663c543e000004e057697468647261772062616c616e63652066726f6d2045564d20696e746f2063757272656e63792f62616c616e6365732070616c6c65742e1063616c6c240118736f7572636591010110483136300001187461726765749101011048313630000114696e70757438011c5665633c75383e00011476616c7565c9010110553235360001246761735f6c696d697430010c75363400013c6d61785f6665655f7065725f676173c9010110553235360001606d61785f7072696f726974795f6665655f7065725f676173390601304f7074696f6e3c553235363e0001146e6f6e6365390601304f7074696f6e3c553235363e00012c6163636573735f6c6973743d0601585665633c28483136302c205665633c483235363e293e0001045d01497373756520616e2045564d2063616c6c206f7065726174696f6e2e20546869732069732073696d696c617220746f2061206d6573736167652063616c6c207472616e73616374696f6e20696e20457468657265756d2e18637265617465200118736f757263659101011048313630000110696e697438011c5665633c75383e00011476616c7565c9010110553235360001246761735f6c696d697430010c75363400013c6d61785f6665655f7065725f676173c9010110553235360001606d61785f7072696f726974795f6665655f7065725f676173390601304f7074696f6e3c553235363e0001146e6f6e6365390601304f7074696f6e3c553235363e00012c6163636573735f6c6973743d0601585665633c28483136302c205665633c483235363e293e0002085101497373756520616e2045564d20637265617465206f7065726174696f6e2e20546869732069732073696d696c617220746f206120636f6e7472616374206372656174696f6e207472616e73616374696f6e20696e24457468657265756d2e1c63726561746532240118736f757263659101011048313630000110696e697438011c5665633c75383e00011073616c743401104832353600011476616c7565c9010110553235360001246761735f6c696d697430010c75363400013c6d61785f6665655f7065725f676173c9010110553235360001606d61785f7072696f726974795f6665655f7065725f676173390601304f7074696f6e3c553235363e0001146e6f6e6365390601304f7074696f6e3c553235363e00012c6163636573735f6c6973743d0601585665633c28483136302c205665633c483235363e293e0003047c497373756520616e2045564d2063726561746532206f7065726174696f6e2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e390604184f7074696f6e04045401c9010108104e6f6e6500000010536f6d650400c90100000100003d060000024106004106000004089101c1010045060c4870616c6c65745f64796e616d69635f6665651870616c6c65741043616c6c040454000104646e6f74655f6d696e5f6761735f70726963655f746172676574040118746172676574c901011055323536000000040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e49060c3c70616c6c65745f626173655f6665651870616c6c65741043616c6c040454000108507365745f626173655f6665655f7065725f67617304010c666565c901011055323536000000387365745f656c6173746963697479040128656c6173746963697479d101011c5065726d696c6c000100040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e4d060c6470616c6c65745f686f746669785f73756666696369656e74731870616c6c65741043616c6c04045400010478686f746669785f696e635f6163636f756e745f73756666696369656e7473040124616464726573736573510601245665633c483136303e0000100502496e6372656d656e74206073756666696369656e74736020666f72206578697374696e67206163636f756e747320686176696e672061206e6f6e7a65726f20606e6f6e63656020627574207a65726f206073756666696369656e7473602c2060636f6e73756d6572736020616e64206070726f766964657273602076616c75652e2d0154686973207374617465207761732063617573656420627920612070726576696f75732062756720696e2045564d20637265617465206163636f756e7420646973706174636861626c652e006501416e79206163636f756e747320696e2074686520696e707574206c697374206e6f742073617469736679696e67207468652061626f766520636f6e646974696f6e2077696c6c2072656d61696e20756e61666665637465642e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e510600000291010055060c5470616c6c65745f61697264726f705f636c61696d731870616c6c65741043616c6c04045400011814636c61696d0c011064657374590601504f7074696f6e3c4d756c7469416464726573733e0001187369676e6572590601504f7074696f6e3c4d756c7469416464726573733e0001247369676e61747572655d0601544d756c7469416464726573735369676e6174757265000060904d616b65206120636c61696d20746f20636f6c6c65637420796f757220746f6b656e732e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f4e6f6e655f2e0050556e7369676e65642056616c69646174696f6e3a0501412063616c6c20746f20636c61696d206973206465656d65642076616c696420696620746865207369676e61747572652070726f7669646564206d6174636865737c746865206578706563746564207369676e6564206d657373616765206f663a00683e20457468657265756d205369676e6564204d6573736167653a943e2028636f6e666967757265642070726566697820737472696e672928616464726573732900a4616e6420606164647265737360206d6174636865732074686520606465737460206163636f756e742e002c506172616d65746572733ad82d206064657374603a205468652064657374696e6174696f6e206163636f756e7420746f207061796f75742074686520636c61696d2e5d012d2060657468657265756d5f7369676e6174757265603a20546865207369676e6174757265206f6620616e20657468657265756d207369676e6564206d657373616765206d61746368696e672074686520666f726d61744820206465736372696265642061626f76652e00203c7765696768743efc54686520776569676874206f6620746869732063616c6c20697320696e76617269616e74206f7665722074686520696e70757420706172616d65746572732ee057656967687420696e636c75646573206c6f67696320746f2076616c696461746520756e7369676e65642060636c61696d602063616c6c2e0058546f74616c20436f6d706c65786974793a204f283129243c2f7765696768743e286d696e745f636c61696d10010c77686fd90101304d756c74694164647265737300011476616c756518013042616c616e63654f663c543e00014076657374696e675f7363686564756c6569060179014f7074696f6e3c426f756e6465645665633c0a2842616c616e63654f663c543e2c2042616c616e63654f663c543e2c20426c6f636b4e756d626572466f723c543e292c20543a3a0a4d617856657374696e675363686564756c65733e2c3e00012473746174656d656e74790601544f7074696f6e3c53746174656d656e744b696e643e00013ca84d696e742061206e657720636c61696d20746f20636f6c6c656374206e617469766520746f6b656e732e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e002c506172616d65746572733af02d206077686f603a2054686520457468657265756d206164647265737320616c6c6f77656420746f20636f6c6c656374207468697320636c61696d2ef02d206076616c7565603a20546865206e756d626572206f66206e617469766520746f6b656e7320746861742077696c6c20626520636c61696d65642e2d012d206076657374696e675f7363686564756c65603a20416e206f7074696f6e616c2076657374696e67207363686564756c6520666f72207468657365206e617469766520746f6b656e732e00203c7765696768743efc54686520776569676874206f6620746869732063616c6c20697320696e76617269616e74206f7665722074686520696e70757420706172616d65746572732e1d01576520617373756d6520776f7273742063617365207468617420626f74682076657374696e6720616e642073746174656d656e74206973206265696e6720696e7365727465642e0058546f74616c20436f6d706c65786974793a204f283129243c2f7765696768743e30636c61696d5f61747465737410011064657374590601504f7074696f6e3c4d756c7469416464726573733e0001187369676e6572590601504f7074696f6e3c4d756c7469416464726573733e0001247369676e61747572655d0601544d756c7469416464726573735369676e617475726500012473746174656d656e7438011c5665633c75383e00026c09014d616b65206120636c61696d20746f20636f6c6c65637420796f7572206e617469766520746f6b656e73206279207369676e696e6720612073746174656d656e742e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f4e6f6e655f2e0050556e7369676e65642056616c69646174696f6e3a2901412063616c6c20746f2060636c61696d5f61747465737460206973206465656d65642076616c696420696620746865207369676e61747572652070726f7669646564206d6174636865737c746865206578706563746564207369676e6564206d657373616765206f663a00683e20457468657265756d205369676e6564204d6573736167653ac03e2028636f6e666967757265642070726566697820737472696e67292861646472657373292873746174656d656e7429004901616e6420606164647265737360206d6174636865732074686520606465737460206163636f756e743b20746865206073746174656d656e7460206d757374206d617463682074686174207768696368206973c06578706563746564206163636f7264696e6720746f20796f757220707572636861736520617272616e67656d656e742e002c506172616d65746572733ad82d206064657374603a205468652064657374696e6174696f6e206163636f756e7420746f207061796f75742074686520636c61696d2e5d012d2060657468657265756d5f7369676e6174757265603a20546865207369676e6174757265206f6620616e20657468657265756d207369676e6564206d657373616765206d61746368696e672074686520666f726d61744820206465736372696265642061626f76652e39012d206073746174656d656e74603a20546865206964656e74697479206f66207468652073746174656d656e74207768696368206973206265696e6720617474657374656420746f20696e207468653020207369676e61747572652e00203c7765696768743efc54686520776569676874206f6620746869732063616c6c20697320696e76617269616e74206f7665722074686520696e70757420706172616d65746572732efc57656967687420696e636c75646573206c6f67696320746f2076616c696461746520756e7369676e65642060636c61696d5f617474657374602063616c6c2e0058546f74616c20436f6d706c65786974793a204f283129243c2f7765696768743e286d6f76655f636c61696d08010c6f6c64d90101304d756c74694164647265737300010c6e6577d90101304d756c7469416464726573730004005c666f7263655f7365745f6578706972795f636f6e6669670801306578706972795f626c6f636b300144426c6f636b4e756d626572466f723c543e00011064657374d90101304d756c74694164647265737300050878536574207468652076616c756520666f7220657870697279636f6e6669678443616e206f6e6c792062652063616c6c656420627920466f7263654f726967696e30636c61696d5f7369676e656404011064657374590601504f7074696f6e3c4d756c7469416464726573733e00060460436c61696d2066726f6d207369676e6564206f726967696e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e590604184f7074696f6e04045401d9010108104e6f6e6500000010536f6d650400d90100000100005d060c5470616c6c65745f61697264726f705f636c61696d73147574696c73544d756c7469416464726573735369676e61747572650001080c45564d04006106013845636473615369676e6174757265000000184e6174697665040065060140537232353531395369676e6174757265000100006106105470616c6c65745f61697264726f705f636c61696d73147574696c7340657468657265756d5f616464726573733845636473615369676e617475726500000400fd0101205b75383b2036355d000065060c5470616c6c65745f61697264726f705f636c61696d73147574696c7340537232353531395369676e617475726500000400950301245369676e61747572650000690604184f7074696f6e040454016d060108104e6f6e6500000010536f6d6504006d0600000100006d060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454017106045300000400750601185665633c543e000071060000040c181830007506000002710600790604184f7074696f6e040454017d060108104e6f6e6500000010536f6d6504007d0600000100007d06085470616c6c65745f61697264726f705f636c61696d733453746174656d656e744b696e640001081c526567756c617200000010536166650001000081060c3070616c6c65745f70726f78791870616c6c65741043616c6c0404540001281470726f78790c01107265616c4d0301504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f74797065850601504f7074696f6e3c543a3a50726f7879547970653e00011063616c6c4503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0000244d0144697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f726973656420666f72207468726f75676830606164645f70726f7879602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e61012d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed02d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e246164645f70726f78790c012064656c65676174654d0301504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065e5010130543a3a50726f78795479706500011464656c6179300144426c6f636b4e756d626572466f723c543e0001244501526567697374657220612070726f7879206163636f756e7420666f72207468652073656e64657220746861742069732061626c6520746f206d616b652063616c6c73206f6e2069747320626568616c662e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a11012d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f206d616b6520612070726f78792efc2d206070726f78795f74797065603a20546865207065726d697373696f6e7320616c6c6f77656420666f7220746869732070726f7879206163636f756e742e4d012d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c79206265147a65726f2e3072656d6f76655f70726f78790c012064656c65676174654d0301504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065e5010130543a3a50726f78795479706500011464656c6179300144426c6f636b4e756d626572466f723c543e00021ca8556e726567697374657220612070726f7879206163636f756e7420666f72207468652073656e6465722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a25012d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f2072656d6f766520617320612070726f78792e41012d206070726f78795f74797065603a20546865207065726d697373696f6e732063757272656e746c7920656e61626c656420666f72207468652072656d6f7665642070726f7879206163636f756e742e3872656d6f76655f70726f78696573000318b4556e726567697374657220616c6c2070726f7879206163636f756e747320666f72207468652073656e6465722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0041015741524e494e473a2054686973206d61792062652063616c6c6564206f6e206163636f756e74732063726561746564206279206070757265602c20686f776576657220696620646f6e652c207468656e590174686520756e726573657276656420666565732077696c6c20626520696e61636365737369626c652e202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a2c6372656174655f707572650c012870726f78795f74797065e5010130543a3a50726f78795479706500011464656c6179300144426c6f636b4e756d626572466f723c543e000114696e646578e901010c7531360004483901537061776e2061206672657368206e6577206163636f756e7420746861742069732067756172616e7465656420746f206265206f746865727769736520696e61636365737369626c652c20616e64fc696e697469616c697a65206974207769746820612070726f7879206f66206070726f78795f747970656020666f7220606f726967696e602073656e6465722e006c5265717569726573206120605369676e656460206f726967696e2e0051012d206070726f78795f74797065603a205468652074797065206f66207468652070726f78792074686174207468652073656e6465722077696c6c2062652072656769737465726564206173206f766572207468654d016e6577206163636f756e742e20546869732077696c6c20616c6d6f737420616c7761797320626520746865206d6f7374207065726d697373697665206050726f7879547970656020706f737369626c6520746f78616c6c6f7720666f72206d6178696d756d20666c65786962696c6974792e51012d2060696e646578603a204120646973616d626967756174696f6e20696e6465782c20696e206361736520746869732069732063616c6c6564206d756c7469706c652074696d657320696e207468652073616d655d017472616e73616374696f6e2028652e672e207769746820607574696c6974793a3a626174636860292e20556e6c65737320796f75277265207573696e67206062617463686020796f752070726f6261626c79206a7573744077616e7420746f20757365206030602e4d012d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c79206265147a65726f2e0051014661696c73207769746820604475706c69636174656020696620746869732068617320616c7265616479206265656e2063616c6c656420696e2074686973207472616e73616374696f6e2c2066726f6d207468659873616d652073656e6465722c2077697468207468652073616d6520706172616d65746572732e00e44661696c732069662074686572652061726520696e73756666696369656e742066756e647320746f2070617920666f72206465706f7369742e246b696c6c5f7075726514011c737061776e65724d0301504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065e5010130543a3a50726f787954797065000114696e646578e901010c7531360001186865696768742c0144426c6f636b4e756d626572466f723c543e0001246578745f696e646578f102010c753332000540a052656d6f76657320612070726576696f75736c7920737061776e656420707572652070726f78792e0049015741524e494e473a202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a20416e792066756e64732068656c6420696e2069742077696c6c20626534696e61636365737369626c652e0059015265717569726573206120605369676e656460206f726967696e2c20616e64207468652073656e646572206163636f756e74206d7573742068617665206265656e206372656174656420627920612063616c6c20746f94607075726560207769746820636f72726573706f6e64696e6720706172616d65746572732e0039012d2060737061776e6572603a20546865206163636f756e742074686174206f726967696e616c6c792063616c6c65642060707572656020746f206372656174652074686973206163636f756e742e39012d2060696e646578603a2054686520646973616d626967756174696f6e20696e646578206f726967696e616c6c792070617373656420746f206070757265602e2050726f6261626c79206030602eec2d206070726f78795f74797065603a205468652070726f78792074797065206f726967696e616c6c792070617373656420746f206070757265602e29012d2060686569676874603a2054686520686569676874206f662074686520636861696e207768656e207468652063616c6c20746f20607075726560207761732070726f6365737365642e35012d20606578745f696e646578603a205468652065787472696e73696320696e64657820696e207768696368207468652063616c6c20746f20607075726560207761732070726f6365737365642e0035014661696c73207769746820604e6f5065726d697373696f6e6020696e2063617365207468652063616c6c6572206973206e6f7420612070726576696f75736c7920637265617465642070757265dc6163636f756e742077686f7365206070757265602063616c6c2068617320636f72726573706f6e64696e6720706172616d65746572732e20616e6e6f756e63650801107265616c4d0301504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f6861736834013443616c6c486173684f663c543e00063c05015075626c697368207468652068617368206f6620612070726f78792d63616c6c20746861742077696c6c206265206d61646520696e20746865206675747572652e005d0154686973206d7573742062652063616c6c656420736f6d65206e756d626572206f6620626c6f636b73206265666f72652074686520636f72726573706f6e64696e67206070726f78796020697320617474656d7074656425016966207468652064656c6179206173736f6369617465642077697468207468652070726f78792072656c6174696f6e736869702069732067726561746572207468616e207a65726f2e0011014e6f206d6f7265207468616e20604d617850656e64696e676020616e6e6f756e63656d656e7473206d6179206265206d61646520617420616e79206f6e652074696d652e000901546869732077696c6c2074616b652061206465706f736974206f662060416e6e6f756e63656d656e744465706f736974466163746f72602061732077656c6c206173190160416e6e6f756e63656d656e744465706f736974426173656020696620746865726520617265206e6f206f746865722070656e64696e6720616e6e6f756e63656d656e74732e002501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420612070726f7879206f6620607265616c602e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e15012d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e4c72656d6f76655f616e6e6f756e63656d656e740801107265616c4d0301504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f6861736834013443616c6c486173684f663c543e0007287052656d6f7665206120676976656e20616e6e6f756e63656d656e742e0059014d61792062652063616c6c656420627920612070726f7879206163636f756e7420746f2072656d6f766520612063616c6c20746865792070726576696f75736c7920616e6e6f756e63656420616e642072657475726e30746865206465706f7369742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e15012d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e4c72656a6563745f616e6e6f756e63656d656e7408012064656c65676174654d0301504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f6861736834013443616c6c486173684f663c543e000828b052656d6f76652074686520676976656e20616e6e6f756e63656d656e74206f6620612064656c65676174652e0061014d61792062652063616c6c6564206279206120746172676574202870726f7869656429206163636f756e7420746f2072656d6f766520612063616c6c2074686174206f6e65206f662074686569722064656c6567617465732501286064656c656761746560292068617320616e6e6f756e63656420746865792077616e7420746f20657865637574652e20546865206465706f7369742069732072657475726e65642e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733af42d206064656c6567617465603a20546865206163636f756e7420746861742070726576696f75736c7920616e6e6f756e636564207468652063616c6c2ebc2d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652e3c70726f78795f616e6e6f756e63656410012064656c65676174654d0301504163636f756e7449644c6f6f6b75704f663c543e0001107265616c4d0301504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f74797065850601504f7074696f6e3c543a3a50726f7879547970653e00011063616c6c4503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00092c4d0144697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f72697a656420666f72207468726f75676830606164645f70726f7879602e00a852656d6f76657320616e7920636f72726573706f6e64696e6720616e6e6f756e63656d656e742873292e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e61012d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed02d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e850604184f7074696f6e04045401e5010108104e6f6e6500000010536f6d650400e501000001000089060c7470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e1870616c6c65741043616c6c040454000160386a6f696e5f6f70657261746f727304012c626f6e645f616d6f756e7418013042616c616e63654f663c543e00003c3501416c6c6f777320616e206163636f756e7420746f206a6f696e20617320616e206f70657261746f72206279207374616b696e672074686520726571756972656420626f6e6420616d6f756e742e003423205065726d697373696f6e7300cc2a204d757374206265207369676e656420627920746865206163636f756e74206a6f696e696e67206173206f70657261746f72002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6cc82a2060626f6e645f616d6f756e7460202d20416d6f756e7420746f207374616b65206173206f70657261746f7220626f6e64002023204572726f72730029012a205b604572726f723a3a4465706f7369744f766572666c6f77605d202d20426f6e6420616d6f756e7420776f756c64206f766572666c6f77206465706f73697420747261636b696e6719012a205b604572726f723a3a5374616b654f766572666c6f77605d202d20426f6e6420616d6f756e7420776f756c64206f766572666c6f77207374616b6520747261636b696e67607363686564756c655f6c656176655f6f70657261746f7273000138a85363686564756c657320616e206f70657261746f7220746f206c65617665207468652073797374656d2e003423205065726d697373696f6e7300a02a204d757374206265207369676e656420627920746865206f70657261746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c002023204572726f7273000d012a205b604572726f723a3a4e6f744f70657261746f72605d202d204163636f756e74206973206e6f74207265676973746572656420617320616e206f70657261746f7265012a205b604572726f723a3a50656e64696e67556e7374616b6552657175657374457869737473605d202d204f70657261746f7220616c72656164792068617320612070656e64696e6720756e7374616b6520726571756573745863616e63656c5f6c656176655f6f70657261746f7273000238a843616e63656c732061207363686564756c6564206c6561766520666f7220616e206f70657261746f722e003423205065726d697373696f6e7300a02a204d757374206265207369676e656420627920746865206f70657261746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c002023204572726f7273000d012a205b604572726f723a3a4e6f744f70657261746f72605d202d204163636f756e74206973206e6f74207265676973746572656420617320616e206f70657261746f721d012a205b604572726f723a3a4e6f556e7374616b6552657175657374457869737473605d202d204e6f2070656e64696e6720756e7374616b652072657175657374206578697374735c657865637574655f6c656176655f6f70657261746f727300033cac45786563757465732061207363686564756c6564206c6561766520666f7220616e206f70657261746f722e003423205065726d697373696f6e7300a02a204d757374206265207369676e656420627920746865206f70657261746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c002023204572726f7273000d012a205b604572726f723a3a4e6f744f70657261746f72605d202d204163636f756e74206973206e6f74207265676973746572656420617320616e206f70657261746f721d012a205b604572726f723a3a4e6f556e7374616b6552657175657374457869737473605d202d204e6f2070656e64696e6720756e7374616b6520726571756573742065786973747325012a205b604572726f723a3a556e7374616b65506572696f644e6f74456c6170736564605d202d20556e7374616b6520706572696f6420686173206e6f7420656c617073656420796574486f70657261746f725f626f6e645f6d6f726504013c6164646974696f6e616c5f626f6e6418013042616c616e63654f663c543e00043cac416c6c6f777320616e206f70657261746f7220746f20696e637265617365207468656972207374616b652e003423205065726d697373696f6e7300a02a204d757374206265207369676e656420627920746865206f70657261746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6cc02a20606164646974696f6e616c5f626f6e6460202d204164646974696f6e616c20616d6f756e7420746f207374616b65002023204572726f7273000d012a205b604572726f723a3a4e6f744f70657261746f72605d202d204163636f756e74206973206e6f74207265676973746572656420617320616e206f70657261746f7229012a205b604572726f723a3a5374616b654f766572666c6f77605d202d204164646974696f6e616c20626f6e6420776f756c64206f766572666c6f77207374616b6520747261636b696e67647363686564756c655f6f70657261746f725f756e7374616b65040138756e7374616b655f616d6f756e7418013042616c616e63654f663c543e000540b85363686564756c657320616e206f70657261746f7220746f206465637265617365207468656972207374616b652e003423205065726d697373696f6e7300a02a204d757374206265207369676e656420627920746865206f70657261746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c982a2060756e7374616b655f616d6f756e7460202d20416d6f756e7420746f20756e7374616b65002023204572726f7273000d012a205b604572726f723a3a4e6f744f70657261746f72605d202d204163636f756e74206973206e6f74207265676973746572656420617320616e206f70657261746f7265012a205b604572726f723a3a50656e64696e67556e7374616b6552657175657374457869737473605d202d204f70657261746f7220616c72656164792068617320612070656e64696e6720756e7374616b65207265717565737435012a205b604572726f723a3a496e73756666696369656e7442616c616e6365605d202d204f70657261746f722068617320696e73756666696369656e74207374616b6520746f20756e7374616b6560657865637574655f6f70657261746f725f756e7374616b6500063cd045786563757465732061207363686564756c6564207374616b6520646563726561736520666f7220616e206f70657261746f722e003423205065726d697373696f6e7300a02a204d757374206265207369676e656420627920746865206f70657261746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c002023204572726f7273000d012a205b604572726f723a3a4e6f744f70657261746f72605d202d204163636f756e74206973206e6f74207265676973746572656420617320616e206f70657261746f721d012a205b604572726f723a3a4e6f556e7374616b6552657175657374457869737473605d202d204e6f2070656e64696e6720756e7374616b6520726571756573742065786973747325012a205b604572726f723a3a556e7374616b65506572696f644e6f74456c6170736564605d202d20556e7374616b6520706572696f6420686173206e6f7420656c6170736564207965745c63616e63656c5f6f70657261746f725f756e7374616b65000738cc43616e63656c732061207363686564756c6564207374616b6520646563726561736520666f7220616e206f70657261746f722e003423205065726d697373696f6e7300a02a204d757374206265207369676e656420627920746865206f70657261746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c002023204572726f7273000d012a205b604572726f723a3a4e6f744f70657261746f72605d202d204163636f756e74206973206e6f74207265676973746572656420617320616e206f70657261746f721d012a205b604572726f723a3a4e6f556e7374616b6552657175657374457869737473605d202d204e6f2070656e64696e6720756e7374616b6520726571756573742065786973747328676f5f6f66666c696e6500084484416c6c6f777320616e206f70657261746f7220746f20676f206f66666c696e652e00e44265696e67206f66666c696e65206d65616e7320746865206f70657261746f722073686f756c64206e6f742062652061626c6520746f2062655c72657175657374656420666f722073657276696365732e003423205065726d697373696f6e7300a02a204d757374206265207369676e656420627920746865206f70657261746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c002023204572726f7273000d012a205b604572726f723a3a4e6f744f70657261746f72605d202d204163636f756e74206973206e6f74207265676973746572656420617320616e206f70657261746f72e42a205b604572726f723a3a416c72656164794f66666c696e65605d202d204f70657261746f7220697320616c7265616479206f66666c696e6524676f5f6f6e6c696e6500093880416c6c6f777320616e206f70657261746f7220746f20676f206f6e6c696e652e003423205065726d697373696f6e7300a02a204d757374206265207369676e656420627920746865206f70657261746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c002023204572726f7273000d012a205b604572726f723a3a4e6f744f70657261746f72605d202d204163636f756e74206973206e6f74207265676973746572656420617320616e206f70657261746f72dc2a205b604572726f723a3a416c72656164794f6e6c696e65605d202d204f70657261746f7220697320616c7265616479206f6e6c696e651c6465706f7369741001146173736574f101014441737365743c543a3a417373657449643e000118616d6f756e7418013042616c616e63654f663c543e00012c65766d5f616464726573738d0601304f7074696f6e3c483136303e00013c6c6f636b5f6d756c7469706c696572950201584f7074696f6e3c4c6f636b4d756c7469706c6965723e000a4488416c6c6f77732061207573657220746f206465706f73697420616e2061737365742e003423205065726d697373696f6e7300a42a204d757374206265207369676e656420627920746865206465706f7369746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c7c2a2060617373657460202d204173736574206f6e20746f206465706f736974782a2060616d6f756e7460202d20416d6f756e7420746f206465706f736974982a206065766d5f6164647265737360202d204f7074696f6e616c2045564d2061646472657373002023204572726f727300f82a205b604572726f723a3a4465706f7369744f766572666c6f77605d202d204465706f73697420776f756c64206f766572666c6f7720747261636b696e67c82a205b604572726f723a3a496e76616c69644173736574605d202d204173736574206973206e6f7420737570706f72746564447363686564756c655f77697468647261770801146173736574f101014441737365743c543a3a417373657449643e000118616d6f756e7418013042616c616e63654f663c543e000b40745363686564756c6573206120776974686472617720726571756573742e003423205065726d697373696f6e7300a82a204d757374206265207369676e6564206279207468652077697468647261776572206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c802a2060617373657460202d204173736574206f6e20746f2077697468647261777c2a2060616d6f756e7460202d20416d6f756e7420746f207769746864726177002023204572726f7273000d012a205b604572726f723a3a496e73756666696369656e7442616c616e6365605d202d20496e73756666696369656e742062616c616e636520746f2077697468647261772d012a205b604572726f723a3a50656e64696e67576974686472617752657175657374457869737473605d202d2050656e64696e6720776974686472617720726571756573742065786973747340657865637574655f776974686472617704012c65766d5f616464726573738d0601304f7074696f6e3c483136303e000c3c9845786563757465732061207363686564756c656420776974686472617720726571756573742e003423205065726d697373696f6e7300a82a204d757374206265207369676e6564206279207468652077697468647261776572206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c982a206065766d5f6164647265737360202d204f7074696f6e616c2045564d2061646472657373002023204572726f72730025012a205b604572726f723a3a4e6f576974686472617752657175657374457869737473605d202d204e6f2070656e64696e672077697468647261772072657175657374206578697374731d012a205b604572726f723a3a5769746864726177506572696f644e6f74456c6170736564605d202d20576974686472617720706572696f6420686173206e6f7420656c61707365643c63616e63656c5f77697468647261770801146173736574f101014441737365743c543a3a417373657449643e000118616d6f756e7418013042616c616e63654f663c543e000d3c9443616e63656c732061207363686564756c656420776974686472617720726571756573742e003423205065726d697373696f6e7300a82a204d757374206265207369676e6564206279207468652077697468647261776572206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6ca42a2060617373657460202d204173736574206f6e207769746864726177616c20746f2063616e63656cbc2a2060616d6f756e7460202d20416d6f756e74206f6620746865207769746864726177616c20746f2063616e63656c002023204572726f72730025012a205b604572726f723a3a4e6f576974686472617752657175657374457869737473605d202d204e6f2070656e64696e672077697468647261772072657175657374206578697374732064656c65676174651001206f70657261746f72000130543a3a4163636f756e7449640001146173736574f101014441737365743c543a3a417373657449643e000118616d6f756e7418013042616c616e63654f663c543e00014c626c75657072696e745f73656c656374696f6e910601d844656c656761746f72426c75657072696e7453656c656374696f6e3c543a3a4d617844656c656761746f72426c75657072696e74733e000e4cfc416c6c6f77732061207573657220746f2064656c656761746520616e20616d6f756e74206f6620616e20617373657420746f20616e206f70657261746f722e003423205065726d697373696f6e7300a42a204d757374206265207369676e6564206279207468652064656c656761746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c982a20606f70657261746f7260202d204f70657261746f7220746f2064656c656761746520746f8c2a2060617373657460202d204944206f6620617373657420746f2064656c65676174657c2a2060616d6f756e7460202d20416d6f756e7420746f2064656c6567617465d82a2060626c75657072696e745f73656c656374696f6e60202d20426c75657072696e742073656c656374696f6e207374726174656779002023204572726f727300f02a205b604572726f723a3a4e6f744f70657261746f72605d202d20546172676574206163636f756e74206973206e6f7420616e206f70657261746f720d012a205b604572726f723a3a496e73756666696369656e7442616c616e6365605d202d20496e73756666696369656e742062616c616e636520746f2064656c656761746509012a205b604572726f723a3a4d617844656c65676174696f6e734578636565646564605d202d20576f756c6420657863656564206d61782064656c65676174696f6e73687363686564756c655f64656c656761746f725f756e7374616b650c01206f70657261746f72000130543a3a4163636f756e7449640001146173736574f101014441737365743c543a3a417373657449643e000118616d6f756e7418013042616c616e63654f663c543e000f48c85363686564756c65732061207265717565737420746f2072656475636520612064656c656761746f722773207374616b652e003423205065726d697373696f6e7300a42a204d757374206265207369676e6564206279207468652064656c656761746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c9c2a20606f70657261746f7260202d204f70657261746f7220746f20756e7374616b652066726f6d882a2060617373657460202d204944206f6620617373657420746f20756e7374616b65782a2060616d6f756e7460202d20416d6f756e7420746f20756e7374616b65002023204572726f727300d82a205b604572726f723a3a4e6f7444656c656761746f72605d202d204163636f756e74206973206e6f7420612064656c656761746f7221012a205b604572726f723a3a496e73756666696369656e7444656c65676174696f6e605d202d20496e73756666696369656e742064656c65676174696f6e20746f20756e7374616b6525012a205b604572726f723a3a50656e64696e67556e7374616b6552657175657374457869737473605d202d2050656e64696e6720756e7374616b6520726571756573742065786973747364657865637574655f64656c656761746f725f756e7374616b6500103cec45786563757465732061207363686564756c6564207265717565737420746f2072656475636520612064656c656761746f722773207374616b652e003423205065726d697373696f6e7300a42a204d757374206265207369676e6564206279207468652064656c656761746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c002023204572726f727300d82a205b604572726f723a3a4e6f7444656c656761746f72605d202d204163636f756e74206973206e6f7420612064656c656761746f721d012a205b604572726f723a3a4e6f556e7374616b6552657175657374457869737473605d202d204e6f2070656e64696e6720756e7374616b6520726571756573742065786973747315012a205b604572726f723a3a556e7374616b65506572696f644e6f74456c6170736564605d202d20556e7374616b6520706572696f6420686173206e6f7420656c61707365646063616e63656c5f64656c656761746f725f756e7374616b650c01206f70657261746f72000130543a3a4163636f756e7449640001146173736574f101014441737365743c543a3a417373657449643e000118616d6f756e7418013042616c616e63654f663c543e001144e843616e63656c732061207363686564756c6564207265717565737420746f2072656475636520612064656c656761746f722773207374616b652e003423205065726d697373696f6e7300a42a204d757374206265207369676e6564206279207468652064656c656761746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6cb82a20606f70657261746f7260202d204f70657261746f7220746f2063616e63656c20756e7374616b652066726f6da42a2060617373657460202d204944206f6620617373657420756e7374616b6520746f2063616e63656ca02a2060616d6f756e7460202d20416d6f756e74206f6620756e7374616b6520746f2063616e63656c002023204572726f727300d82a205b604572726f723a3a4e6f7444656c656761746f72605d202d204163636f756e74206973206e6f7420612064656c656761746f721d012a205b604572726f723a3a4e6f556e7374616b6552657175657374457869737473605d202d204e6f2070656e64696e6720756e7374616b652072657175657374206578697374734c64656c65676174655f6e6f6d696e6174696f6e0c01206f70657261746f72000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e00014c626c75657072696e745f73656c656374696f6e910601d844656c656761746f72426c75657072696e7453656c656374696f6e3c543a3a4d617844656c656761746f72426c75657072696e74733e00123ca844656c656761746573206e6f6d696e6174656420746f6b656e7320746f20616e206f70657261746f722e002c2320417267756d656e74737c2a20606f726967696e60202d204f726967696e206f66207468652063616c6ca82a20606f70657261746f7260202d20546865206f70657261746f7220746f2064656c656761746520746fcc2a2060616d6f756e7460202d20416d6f756e74206f66206e6f6d696e6174656420746f6b656e7320746f2064656c656761746539012a2060626c75657072696e745f73656c656374696f6e60202d20537472617465677920666f722073656c656374696e6720776869636820626c75657072696e747320746f20776f726b2077697468002023204572726f7273b42a20604e6f7444656c656761746f7260202d204163636f756e74206973206e6f7420612064656c656761746f72c82a20604e6f744e6f6d696e61746f7260202d204163636f756e7420686173206e6f206e6f6d696e6174656420746f6b656e73fc2a2060496e73756666696369656e7442616c616e636560202d204e6f7420656e6f756768206e6f6d696e6174656420746f6b656e7320617661696c61626c6515012a20604d617844656c65676174696f6e73457863656564656460202d20576f756c6420657863656564206d6178696d756d20616c6c6f7765642064656c65676174696f6e73e82a20604f766572666c6f775269736b60202d2041726974686d65746963206f766572666c6f7720647572696e672063616c63756c6174696f6e73b02a2060496e76616c6964416d6f756e7460202d20416d6f756e7420737065636966696564206973207a65726f6c7363686564756c655f6e6f6d696e6174696f6e5f756e7374616b650c01206f70657261746f72000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e00014c626c75657072696e745f73656c656374696f6e910601d844656c656761746f72426c75657072696e7453656c656374696f6e3c543a3a4d617844656c656761746f72426c75657072696e74733e001338e05363686564756c657320616e20756e7374616b65207265717565737420666f72206e6f6d696e6174696f6e2064656c65676174696f6e732e002c2320417267756d656e74737c2a20606f726967696e60202d204f726967696e206f66207468652063616c6cac2a20606f70657261746f7260202d20546865206f70657261746f7220746f20756e7374616b652066726f6dc82a2060616d6f756e7460202d20416d6f756e74206f66206e6f6d696e6174656420746f6b656e7320746f20756e7374616b6521012a2060626c75657072696e745f73656c656374696f6e60202d2054686520626c75657072696e742073656c656374696f6e20746f2075736520616674657220756e7374616b696e67002023204572726f7273b42a20604e6f7444656c656761746f7260202d204163636f756e74206973206e6f7420612064656c656761746f72f82a20604e6f41637469766544656c65676174696f6e60202d204e6f20616374697665206e6f6d696e6174696f6e2064656c65676174696f6e20666f756e64fc2a2060496e73756666696369656e7442616c616e636560202d20547279696e6720746f20756e7374616b65206d6f7265207468616e2064656c65676174656409012a20604d6178556e7374616b655265717565737473457863656564656460202d20546f6f206d616e792070656e64696e6720756e7374616b65207265717565737473b02a2060496e76616c6964416d6f756e7460202d20416d6f756e7420737065636966696564206973207a65726f68657865637574655f6e6f6d696e6174696f6e5f756e7374616b650401206f70657261746f72000130543a3a4163636f756e744964001430010145786563757465732061207363686564756c656420756e7374616b65207265717565737420666f72206e6f6d696e6174696f6e2064656c65676174696f6e732e002c2320417267756d656e74737c2a20606f726967696e60202d204f726967696e206f66207468652063616c6ccc2a20606f70657261746f7260202d20546865206f70657261746f7220746f206578656375746520756e7374616b652066726f6d002023204572726f7273b42a20604e6f7444656c656761746f7260202d204163636f756e74206973206e6f7420612064656c656761746f72e42a20604e6f426f6e644c6573735265717565737460202d204e6f206d61746368696e6720756e7374616b65207265717565737420666f756e64f82a2060426f6e644c6573734e6f74526561647960202d20556e7374616b652072657175657374206e6f7420726561647920666f7220657865637574696f6ef82a20604e6f41637469766544656c65676174696f6e60202d204e6f20616374697665206e6f6d696e6174696f6e2064656c65676174696f6e20666f756e64f02a2060496e73756666696369656e7442616c616e636560202d20496e73756666696369656e742062616c616e636520666f7220756e7374616b696e676463616e63656c5f6e6f6d696e6174696f6e5f756e7374616b650401206f70657261746f72000130543a3a4163636f756e744964001524fc43616e63656c732061207363686564756c656420756e7374616b65207265717565737420666f72206e6f6d696e6174696f6e2064656c65676174696f6e732e002c2320417267756d656e74737c2a20606f726967696e60202d204f726967696e206f66207468652063616c6cec2a20606f70657261746f7260202d20546865206f70657261746f722077686f736520756e7374616b65207265717565737420746f2063616e63656c002023204572726f7273b42a20604e6f7444656c656761746f7260202d204163636f756e74206973206e6f7420612064656c656761746f72e42a20604e6f426f6e644c6573735265717565737460202d204e6f206d61746368696e6720756e7374616b65207265717565737420666f756e64406164645f626c75657072696e745f6964040130626c75657072696e745f696430012c426c75657072696e744964001644bc41646473206120626c75657072696e7420494420746f20612064656c656761746f7227732073656c656374696f6e2e003423205065726d697373696f6e7300a42a204d757374206265207369676e6564206279207468652064656c656761746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6ca42a2060626c75657072696e745f696460202d204944206f6620626c75657072696e7420746f20616464002023204572726f727300d82a205b604572726f723a3a4e6f7444656c656761746f72605d202d204163636f756e74206973206e6f7420612064656c656761746f72fc2a205b604572726f723a3a4475706c6963617465426c75657072696e744964605d202d20426c75657072696e7420494420616c72656164792065786973747301012a205b604572726f723a3a4d6178426c75657072696e74734578636565646564605d202d20576f756c6420657863656564206d617820626c75657072696e74730d012a205b604572726f723a3a4e6f74496e46697865644d6f6465605d202d204e6f7420696e20666978656420626c75657072696e742073656c656374696f6e206d6f64654c72656d6f76655f626c75657072696e745f6964040130626c75657072696e745f696430012c426c75657072696e744964001740d052656d6f766573206120626c75657072696e742049442066726f6d20612064656c656761746f7227732073656c656374696f6e2e003423205065726d697373696f6e7300a42a204d757374206265207369676e6564206279207468652064656c656761746f72206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6cb02a2060626c75657072696e745f696460202d204944206f6620626c75657072696e7420746f2072656d6f7665002023204572726f727300d82a205b604572726f723a3a4e6f7444656c656761746f72605d202d204163636f756e74206973206e6f7420612064656c656761746f72e42a205b604572726f723a3a426c75657072696e7449644e6f74466f756e64605d202d20426c75657072696e74204944206e6f7420666f756e640d012a205b604572726f723a3a4e6f74496e46697865644d6f6465605d202d204e6f7420696e20666978656420626c75657072696e742073656c656374696f6e206d6f646504c85468652063616c6c61626c652066756e6374696f6e73202865787472696e7369637329206f66207468652070616c6c65742e8d0604184f7074696f6e0404540191010108104e6f6e6500000010536f6d650400910100000100009106107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e1474797065732464656c656761746f726c44656c656761746f72426c75657072696e7453656c656374696f6e04344d6178426c75657072696e74730195060108144669786564040099060198426f756e6465645665633c426c75657072696e7449642c204d6178426c75657072696e74733e0000000c416c6c000100009506085874616e676c655f746573746e65745f72756e74696d65584d617844656c656761746f72426c75657072696e74730000000099060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401300453000004009d0601185665633c543e00009d060000023000a1060c3c70616c6c65745f7365727669636573186d6f64756c651043616c6c040454000140406372656174655f626c75657072696e74040124626c75657072696e74a506018053657276696365426c75657072696e743c543a3a436f6e73747261696e74733e0000707c4372656174652061206e6577207365727669636520626c75657072696e742e00810141205365727669636520426c75657072696e7420697320612074656d706c61746520666f722061207365727669636520746861742063616e20626520696e7374616e7469617465642062792075736572732e2054686520626c75657072696e749101646566696e6573207468652073657276696365277320636f6e73747261696e74732c20726571756972656d656e747320616e64206265686176696f722c20696e636c7564696e6720746865206d617374657220626c75657072696e742073657276696365606d616e61676572207265766973696f6e20746f207573652e003423205065726d697373696f6e730019012a20546865206f726967696e206d757374206265207369676e656420627920746865206163636f756e7420746861742077696c6c206f776e2074686520626c75657072696e74002c2320417267756d656e74730065012a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c2c206d757374206265207369676e656420627920746865206163636f756e74206372656174696e672074686520626c75657072696e74c42a2060626c75657072696e7460202d20546865207365727669636520626c75657072696e7420636f6e7461696e696e673aa020202d205365727669636520636f6e73747261696e747320616e6420726571756972656d656e7473090120202d204d617374657220626c75657072696e742073657276696365206d616e61676572207265766973696f6e20284c6174657374206f7220537065636966696329d020202d2054656d706c61746520636f6e66696775726174696f6e20666f72207365727669636520696e7374616e74696174696f6e002023204572726f727300b42a205b604572726f723a3a4261644f726967696e605d202d204f726967696e206973206e6f74207369676e65648d012a205b604572726f723a3a4d6173746572426c75657072696e74536572766963654d616e616765725265766973696f6e4e6f74466f756e64605d202d20537065636966696564204d42534d207265766973696f6e20646f6573206e6f7420657869737459012a205b604572726f723a3a426c75657072696e744372656174696f6e496e746572727570746564605d202d20426c75657072696e74206372656174696f6e20697320696e74657272757074656420627920686f6f6b730024232052657475726e7300850152657475726e73206120604469737061746368526573756c7457697468506f7374496e666f60207768696368206f6e207375636365737320656d6974732061205b604576656e743a3a426c75657072696e7443726561746564605d206576656e7498636f6e7461696e696e6720746865206f776e657220616e6420626c75657072696e742049442e307072655f7265676973746572040130626c75657072696e745f69642c010c75363400017801015072652d7265676973746572207468652063616c6c657220617320616e206f70657261746f7220666f72206120737065636966696320626c75657072696e742e008901546869732066756e6374696f6e20616c6c6f777320616e206163636f756e7420746f207369676e616c20696e74656e7420746f206265636f6d6520616e206f70657261746f7220666f72206120626c75657072696e7420627920656d697474696e677101612060507265526567697374726174696f6e60206576656e742e20546865206f70657261746f72206e6f64652063616e206c697374656e20666f722074686973206576656e7420746f206578656375746520616e7920637573746f6db0726567697374726174696f6e206c6f67696320646566696e656420696e2074686520626c75657072696e742e0071015072652d726567697374726174696f6e20697320746865206669727374207374657020696e20746865206f70657261746f7220726567697374726174696f6e20666c6f772e204166746572207072652d7265676973746572696e672c91016f70657261746f7273206d75737420636f6d706c657465207468652066756c6c20726567697374726174696f6e2070726f636573732062792063616c6c696e6720607265676973746572282960207769746820746865697220707265666572656e6365736c616e6420726567697374726174696f6e20617267756d656e74732e002c2320417267756d656e74730079012a20606f726967696e3a204f726967696e466f723c543e60202d20546865206f726967696e206f66207468652063616c6c2e204d757374206265207369676e656420627920746865206163636f756e7420746861742077616e747320746f5420206265636f6d6520616e206f70657261746f722e7d012a2060626c75657072696e745f69643a2075363460202d20546865206964656e746966696572206f6620746865207365727669636520626c75657072696e7420746f207072652d726567697374657220666f722e204d7573742072656665726c2020746f20616e206578697374696e6720626c75657072696e742e003423205065726d697373696f6e7300982a205468652063616c6c6572206d7573742062652061207369676e6564206163636f756e742e002023204576656e7473005d012a205b604576656e743a3a507265526567697374726174696f6e605d202d20456d6974746564207768656e207072652d726567697374726174696f6e206973207375636365737366756c2c20636f6e7461696e696e673a350120202d20606f70657261746f723a20543a3a4163636f756e74496460202d20546865206163636f756e74204944206f6620746865207072652d7265676973746572696e67206f70657261746f72290120202d2060626c75657072696e745f69643a2075363460202d20546865204944206f662074686520626c75657072696e74206265696e67207072652d7265676973746572656420666f72002023204572726f727300cc2a205b604572726f723a3a4261644f726967696e605d202d20546865206f726967696e20776173206e6f74207369676e65642e207265676973746572100130626c75657072696e745f69642c012c426c75657072696e74496400012c707265666572656e636573f901014c4f70657261746f72507265666572656e636573000144726567697374726174696f6e5f61726773050201a05665633c4669656c643c543a3a436f6e73747261696e74732c20543a3a4163636f756e7449643e3e00011476616c75656d01013042616c616e63654f663c543e00026cf05265676973746572207468652063616c6c657220617320616e206f70657261746f7220666f72206120737065636966696320626c75657072696e742e007501546869732066756e6374696f6e20616c6c6f777320616e206163636f756e7420746f20726567697374657220617320616e206f70657261746f7220666f72206120626c75657072696e742062792070726f766964696e672074686569727d017365727669636520707265666572656e6365732c20726567697374726174696f6e20617267756d656e74732c20616e64207374616b696e672074686520726571756972656420746f6b656e732e20546865206f70657261746f72206d757374790162652061637469766520696e207468652064656c65676174696f6e2073797374656d20616e64206d6179207265717569726520617070726f76616c206265666f726520616363657074696e6720736572766963652072657175657374732e003423205065726d697373696f6e7300942a205468652063616c6c6572206d7573742062652061207369676e6564206163636f756e7401012a205468652063616c6c6572206d75737420626520616e20616374697665206f70657261746f7220696e207468652064656c65676174696f6e2073797374656df82a205468652063616c6c6572206d757374206e6f7420616c7265616479206265207265676973746572656420666f72207468697320626c75657072696e74002c2320417267756d656e747300d02a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c2e204d757374206265207369676e65642e29012a2060626c75657072696e745f696460202d20546865206964656e746966696572206f6620746865207365727669636520626c75657072696e7420746f20726567697374657220666f7219012a2060707265666572656e63657360202d20546865206f70657261746f722773207365727669636520707265666572656e63657320616e6420636f6e66696775726174696f6e21012a2060726567697374726174696f6e5f6172677360202d20526567697374726174696f6e20617267756d656e74732072657175697265642062792074686520626c75657072696e74d82a206076616c756560202d20416d6f756e74206f6620746f6b656e7320746f207374616b6520666f7220726567697374726174696f6e002023204572726f72730069012a205b604572726f723a3a4f70657261746f724e6f74416374697665605d202d2043616c6c6572206973206e6f7420616e20616374697665206f70657261746f7220696e207468652064656c65676174696f6e2073797374656d41012a205b604572726f723a3a416c726561647952656769737465726564605d202d2043616c6c657220697320616c7265616479207265676973746572656420666f72207468697320626c75657072696e7411012a205b604572726f723a3a54797065436865636b605d202d20526567697374726174696f6e20617267756d656e7473206661696c6564207479706520636865636b696e674d012a205b604572726f723a3a496e76616c6964526567697374726174696f6e496e707574605d202d20526567697374726174696f6e20686f6f6b2072656a65637465642074686520726567697374726174696f6e65012a205b604572726f723a3a4d6178536572766963657350657250726f76696465724578636565646564605d202d204f70657261746f72206861732072656163686564206d6178696d756d207365727669636573206c696d697428756e7265676973746572040130626c75657072696e745f69642c010c7536340003500501556e726567697374657273206120736572766963652070726f76696465722066726f6d2061207370656369666963207365727669636520626c75657072696e742e000d0143616e206f6e6c792062652063616c6c656420696620746865206e6f207365727669636573206172652061637469766520666f722074686520626c75657072696e742e1101416674657220756e7265676973746572696e672c207468652070726f76696465722077696c6c206e6f206c6f6e6765722072656365697665206e657720736572766963657c61737369676e6d656e747320666f72207468697320626c75657072696e742e002c2320417267756d656e747300d02a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c2e204d757374206265207369676e65642e39012a2060626c75657072696e745f696460202d20546865206964656e746966696572206f6620746865207365727669636520626c75657072696e7420746f20756e72656769737465722066726f6d2e003423205065726d697373696f6e7300c42a204d757374206265207369676e65642062792061207265676973746572656420736572766963652070726f7669646572002023204572726f72730031012a205b604572726f723a3a4e6f7452656769737465726564605d202d205468652063616c6c6572206973206e6f74207265676973746572656420666f72207468697320626c75657072696e7431012a205b604572726f723a3a4e6f74416c6c6f776564546f556e7265676973746572605d202d20556e726567697374726174696f6e2069732063757272656e746c79207265737472696374656401012a205b604572726f723a3a426c75657072696e744e6f74466f756e64605d202d2054686520626c75657072696e745f696420646f6573206e6f74206578697374507570646174655f70726963655f74617267657473080130626c75657072696e745f69642c010c75363400013470726963655f746172676574730102013050726963655461726765747300045021015570646174657320746865207072696365207461726765747320666f7220612072656769737465726564206f70657261746f722773207365727669636520626c75657072696e742e008901416c6c6f777320616e206f70657261746f7220746f206d6f64696679207468656972207072696365207461726765747320666f72206120737065636966696320626c75657072696e74207468657920617265207265676973746572656420666f722e2d01546865206f70657261746f72206d75737420616c7265616479206265207265676973746572656420666f722074686520626c75657072696e7420746f20757064617465207072696365732e002c2320417267756d656e74730049012a20606f726967696e3a204f726967696e466f723c543e60202d20546865206f726967696e206f66207468652063616c6c2e204d757374206265207369676e656420627920746865206f70657261746f722e51012a2060626c75657072696e745f69643a2075363460202d20546865206964656e746966696572206f662074686520626c75657072696e7420746f20757064617465207072696365207461726765747320666f722e45012a206070726963655f746172676574733a2050726963655461726765747360202d20546865206e6577207072696365207461726765747320746f2073657420666f722074686520626c75657072696e742e003423205065726d697373696f6e7300f42a204d757374206265207369676e656420627920612072656769737465726564206f70657261746f7220666f72207468697320626c75657072696e742e002023204572726f72730035012a205b604572726f723a3a4e6f7452656769737465726564605d202d205468652063616c6c6572206973206e6f74207265676973746572656420666f72207468697320626c75657072696e742e71012a205b604572726f723a3a4e6f74416c6c6f776564546f557064617465507269636554617267657473605d202d205072696365207461726765742075706461746573206172652063757272656e746c7920726573747269637465642e05012a205b604572726f723a3a426c75657072696e744e6f74466f756e64605d202d2054686520626c75657072696e745f696420646f6573206e6f742065786973742e1c7265717565737428012865766d5f6f726967696e8d0601304f7074696f6e3c483136303e000130626c75657072696e745f69642c010c7536340001447065726d69747465645f63616c6c657273450201445665633c543a3a4163636f756e7449643e0001246f70657261746f7273450201445665633c543a3a4163636f756e7449643e000130726571756573745f61726773050201a05665633c4669656c643c543a3a436f6e73747261696e74732c20543a3a4163636f756e7449643e3e00016c61737365745f73656375726974795f726571756972656d656e7473550201a45665633c41737365745365637572697479526571756972656d656e743c543a3a417373657449643e3e00010c74746c2c0144426c6f636b4e756d626572466f723c543e0001347061796d656e745f6173736574f101014441737365743c543a3a417373657449643e00011476616c75656d01013042616c616e63654f663c543e0001406d656d626572736869705f6d6f64656c6507013c4d656d626572736869704d6f64656c0005700101526571756573742061206e65772073657276696365207573696e67206120626c75657072696e7420616e6420737065636966696564206f70657261746f72732e002c2320417267756d656e74730009012a20606f726967696e3a204f726967696e466f723c543e60202d20546865206f726967696e206f66207468652063616c6c2e204d757374206265207369676e65642e1d012a206065766d5f6f726967696e3a204f7074696f6e3c483136303e60202d204f7074696f6e616c2045564d206164647265737320666f72204552433230207061796d656e74732efc2a2060626c75657072696e745f69643a2075363460202d20546865206964656e746966696572206f662074686520626c75657072696e7420746f207573652ebd012a20607065726d69747465645f63616c6c6572733a205665633c543a3a4163636f756e7449643e60202d204163636f756e747320616c6c6f77656420746f2063616c6c2074686520736572766963652e20496620656d7074792c206f6e6c79206f776e65722063616e2063616c6c2e3d012a20606f70657261746f72733a205665633c543a3a4163636f756e7449643e60202d204c697374206f66206f70657261746f727320746861742077696c6c2072756e2074686520736572766963652e81012a2060726571756573745f617267733a205665633c4669656c643c543a3a436f6e73747261696e74732c20543a3a4163636f756e7449643e3e60202d20426c75657072696e7420696e697469616c697a6174696f6e20617267756d656e74732ef82a20606173736574733a205665633c543a3a417373657449643e60202d2052657175697265642061737365747320666f722074686520736572766963652e31012a206074746c3a20426c6f636b4e756d626572466f723c543e60202d2054696d652d746f2d6c69766520696e20626c6f636b7320666f7220746865207365727669636520726571756573742e61012a20607061796d656e745f61737365743a2041737365743c543a3a417373657449643e60202d204173736574207573656420666f72207061796d656e7420286e61746976652c20637573746f6d206f72204552433230292ee42a206076616c75653a2042616c616e63654f663c543e60202d205061796d656e7420616d6f756e7420666f722074686520736572766963652e003423205065726d697373696f6e730039012a204d757374206265207369676e656420627920616e206163636f756e7420776974682073756666696369656e742062616c616e636520746f2070617920666f722074686520736572766963652e31012a20466f72204552433230207061796d656e74732c207468652045564d206f726967696e206d757374206d61746368207468652063616c6c65722773206d6170706564206163636f756e742e002023204572726f72730021012a205b604572726f723a3a54797065436865636b605d202d205265717565737420617267756d656e7473206661696c20626c75657072696e74207479706520636865636b696e672ee42a205b604572726f723a3a4e6f41737365747350726f7669646564605d202d204e6f206173736574732077657265207370656369666965642e5d012a205b604572726f723a3a4d697373696e6745564d4f726967696e605d202d2045564d206f726967696e20726571756972656420627574206e6f742070726f766964656420666f72204552433230207061796d656e742efc2a205b604572726f723a3a45524332305472616e736665724661696c6564605d202d20455243323020746f6b656e207472616e73666572206661696c65642e41012a205b604572726f723a3a4e6f7452656769737465726564605d202d204f6e65206f72206d6f7265206f70657261746f7273206e6f74207265676973746572656420666f7220626c75657072696e742e05012a205b604572726f723a3a426c75657072696e744e6f74466f756e64605d202d2054686520626c75657072696e745f696420646f6573206e6f742065786973742e1c617070726f7665080128726571756573745f69642c010c75363400015073656375726974795f636f6d6d69746d656e7473690201a05665633c41737365745365637572697479436f6d6d69746d656e743c543a3a417373657449643e3e00064c8101417070726f76652061207365727669636520726571756573742c20616c6c6f77696e6720697420746f20626520696e69746961746564206f6e636520616c6c20726571756972656420617070726f76616c73206172652072656365697665642e003423205065726d697373696f6e730001012a2043616c6c6572206d75737420626520612072656769737465726564206f70657261746f7220666f7220746865207365727669636520626c75657072696e74fc2a2043616c6c6572206d75737420626520696e207468652070656e64696e6720617070726f76616c73206c69737420666f7220746869732072657175657374002c2320417267756d656e747300f42a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c2c206d7573742062652061207369676e6564206163636f756e74e42a2060726571756573745f696460202d20546865204944206f66207468652073657276696365207265717565737420746f20617070726f766521012a20606e61746976655f6578706f737572655f70657263656e7460202d2050657263656e74616765206f66206e617469766520746f6b656e207374616b6520746f206578706f736509012a206061737365745f6578706f7375726560202d20566563746f72206f662061737365742d7370656369666963206578706f7375726520636f6d6d69746d656e7473002023204572726f7273003d012a205b604572726f723a3a417070726f76616c4e6f74526571756573746564605d202d2043616c6c6572206973206e6f7420696e207468652070656e64696e6720617070726f76616c73206c69737429012a205b604572726f723a3a417070726f76616c496e746572727570746564605d202d20417070726f76616c207761732072656a656374656420627920626c75657072696e7420686f6f6b55012a205b604572726f723a3a496e76616c696452657175657374496e707574605d202d204173736574206578706f7375726520636f6d6d69746d656e747320646f6e2774206d65657420726571756972656d656e74731872656a656374040128726571756573745f69642c010c753634000750d052656a6563742061207365727669636520726571756573742c2070726576656e74696e672069747320696e6974696174696f6e2e006101546865207365727669636520726571756573742077696c6c2072656d61696e20696e207468652073797374656d20627574206d61726b65642061732072656a65637465642e20546865207265717565737465722077696c6cb86e65656420746f20757064617465207468652073657276696365207265717565737420746f2070726f636565642e003423205065726d697373696f6e730055012a2043616c6c6572206d75737420626520612072656769737465726564206f70657261746f7220666f722074686520626c75657072696e74206173736f63696174656420776974682074686973207265717565737419012a2043616c6c6572206d757374206265206f6e65206f6620746865206f70657261746f727320726571756972656420746f20617070726f766520746869732072657175657374002c2320417267756d656e747300f42a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c2c206d7573742062652061207369676e6564206163636f756e74e02a2060726571756573745f696460202d20546865204944206f66207468652073657276696365207265717565737420746f2072656a656374002023204572726f7273009d012a205b604572726f723a3a417070726f76616c4e6f74526571756573746564605d202d2043616c6c6572206973206e6f74206f6e65206f6620746865206f70657261746f727320726571756972656420746f20617070726f76652074686973207265717565737499012a205b604572726f723a3a45787065637465644163636f756e744964605d202d204661696c656420746f20636f6e7665727420726566756e64206164647265737320746f206163636f756e74204944207768656e20726566756e64696e67207061796d656e743d012a205b604572726f723a3a52656a656374696f6e496e746572727570746564605d202d2052656a656374696f6e2077617320696e74657272757074656420627920626c75657072696e7420686f6f6b247465726d696e617465040128736572766963655f69642c010c753634000844985465726d696e6174657320612072756e6e696e67207365727669636520696e7374616e63652e003423205065726d697373696f6e7300942a204d757374206265207369676e6564206279207468652073657276696365206f776e6572002c2320417267756d656e7473008c2a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6cec2a2060736572766963655f696460202d20546865206964656e746966696572206f6620746865207365727669636520746f207465726d696e617465002023204572726f727300f02a205b604572726f723a3a536572766963654e6f74466f756e64605d202d2054686520736572766963655f696420646f6573206e6f74206578697374f02a205b604572726f723a3a4e6f7452656769737465726564605d202d2053657276696365206f70657261746f72206e6f74207265676973746572656449012a205b604572726f723a3a5465726d696e6174696f6e496e746572727570746564605d202d2053657276696365207465726d696e6174696f6e2077617320696e74657272757074656420627920686f6f6b7301012a205b6044697370617463684572726f723a3a4261644f726967696e605d202d2043616c6c6572206973206e6f74207468652073657276696365206f776e65721063616c6c0c0128736572766963655f69642c010c75363400010c6a6f6269070108753800011061726773050201a05665633c4669656c643c543a3a436f6e73747261696e74732c20543a3a4163636f756e7449643e3e000954d843616c6c2061206a6f6220696e2074686520736572766963652077697468207468652070726f766964656420617267756d656e74732e003423205065726d697373696f6e7300ec2a204d757374206265207369676e6564206279207468652073657276696365206f776e6572206f722061207065726d69747465642063616c6c6572002c2320417267756d656e7473008c2a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c9c2a2060736572766963655f696460202d205468652073657276696365206964656e7469666965727c2a20606a6f6260202d20546865206a6f6220696e64657820746f2063616c6cac2a20606172677360202d2054686520617267756d656e747320746f207061737320746f20746865206a6f62002023204572726f727300f02a205b604572726f723a3a536572766963654e6f74466f756e64605d202d2054686520736572766963655f696420646f6573206e6f74206578697374f42a205b604572726f723a3a4a6f62446566696e6974696f6e4e6f74466f756e64605d202d20546865206a6f6220696e64657820697320696e76616c6964f02a205b604572726f723a3a4d61784669656c64734578636565646564605d202d20546f6f206d616e7920617267756d656e74732070726f7669646564d42a205b604572726f723a3a54797065436865636b605d202d20417267756d656e7473206661696c207479706520636865636b696e6705012a205b604572726f723a3a496e76616c69644a6f6243616c6c496e707574605d202d204a6f622063616c6c207761732072656a656374656420627920686f6f6b7321012a205b6044697370617463684572726f723a3a4261644f726967696e605d202d2043616c6c6572206973206e6f74206f776e6572206f72207065726d69747465642063616c6c6572347375626d69745f726573756c740c0128736572766963655f69642c010c75363400011c63616c6c5f69642c010c753634000118726573756c74050201a05665633c4669656c643c543a3a436f6e73747261696e74732c20543a3a4163636f756e7449643e3e000a54b05375626d6974206120726573756c7420666f7220612070726576696f75736c792063616c6c6564206a6f622e002c2320417267756d656e747300882a2060736572766963655f696460202d204944206f66207468652073657276696365802a206063616c6c5f696460202d204944206f6620746865206a6f622063616c6c902a2060726573756c7460202d20566563746f72206f6620726573756c74206669656c6473003423205065726d697373696f6e7300ac2a2043616c6c6572206d75737420626520616e206f70657261746f72206f66207468652073657276696365002023204572726f727300f02a205b604572726f723a3a536572766963654e6f74466f756e64605d202d2054686520736572766963655f696420646f6573206e6f74206578697374e42a205b604572726f723a3a4a6f6243616c6c4e6f74466f756e64605d202d205468652063616c6c5f696420646f6573206e6f74206578697374f42a205b604572726f723a3a4a6f62446566696e6974696f6e4e6f74466f756e64605d202d20546865206a6f6220696e64657820697320696e76616c696401012a205b604572726f723a3a4d61784669656c64734578636565646564605d202d20546f6f206d616e7920726573756c74206669656c64732070726f7669646564e42a205b604572726f723a3a54797065436865636b605d202d20526573756c74206669656c6473206661696c207479706520636865636b696e6701012a205b604572726f723a3a496e76616c69644a6f62526573756c74605d202d204a6f6220726573756c74207761732072656a656374656420627920686f6f6b73e82a205b6044697370617463684572726f723a3a4261644f726967696e605d202d2043616c6c6572206973206e6f7420616e206f70657261746f7214736c6173680c01206f6666656e646572000130543a3a4163636f756e744964000128736572766963655f69642c010c753634000134736c6173685f70657263656e746d07011c50657263656e74000b604501536c61736820616e206f70657261746f722773207374616b6520666f7220612073657276696365206279207363686564756c696e67206120646566657272656420736c617368696e6720616374696f6e2e009901546869732066756e6374696f6e207363686564756c6573206120646566657272656420736c617368696e6720616374696f6e20616761696e737420616e206f70657261746f722773207374616b6520666f72206120737065636966696320736572766963652e7d0154686520736c617368206973206e6f74206170706c69656420696d6d6564696174656c792c20627574207261746865722071756575656420746f20626520657865637574656420627920616e6f7468657220656e74697479206c617465722e003423205065726d697373696f6e730061012a205468652063616c6c6572206d75737420626520616e20617574686f72697a656420536c617368204f726967696e20666f72207468652074617267657420736572766963652c2061732064657465726d696e65642062797d0120206071756572795f736c617368696e675f6f726967696e602e204966206e6f20736c617368696e67206f726967696e206973207365742c206f72207468652063616c6c657220646f6573206e6f74206d617463682c207468652063616c6c30202077696c6c206661696c2e002c2320417267756d656e74730049012a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c2e204d757374206265207369676e656420627920616e20617574686f72697a656420536c617368204f726967696e2ef02a20606f6666656e64657260202d20546865206163636f756e74204944206f6620746865206f70657261746f7220746f20626520736c61736865642e1d012a2060736572766963655f696460202d20546865204944206f6620746865207365727669636520666f7220776869636820746f20736c61736820746865206f70657261746f722e89012a2060736c6173685f70657263656e7460202d205468652070657263656e74616765206f6620746865206f70657261746f722773206578706f736564207374616b6520746f20736c6173682c2061732061206050657263656e74602076616c75652e002023204572726f72730001012a20604e6f536c617368696e674f726967696e60202d204e6f20736c617368696e67206f726967696e2069732073657420666f72207468652073657276696365f02a20604261644f726967696e60202d2043616c6c6572206973206e6f742074686520617574686f72697a656420736c617368696e67206f726967696e31012a20604f6666656e6465724e6f744f70657261746f7260202d20546172676574206163636f756e74206973206e6f7420616e206f70657261746f7220666f72207468697320736572766963651d012a20604f6666656e6465724e6f744163746976654f70657261746f7260202d20546172676574206f70657261746f72206973206e6f742063757272656e746c79206163746976651c6469737075746508010c657261f102010c753332000114696e646578f102010c753332000c4cd8446973707574657320616e642072656d6f76657320616e205b556e6170706c696564536c6173685d2066726f6d2073746f726167652e001d0154686520736c6173682077696c6c206e6f74206265206170706c696564206f6e636520646973707574656420616e64206973207065726d616e656e746c792072656d6f7665642e003423205065726d697373696f6e7300f82a2043616c6c6572206d7573742062652074686520617574686f72697a65642064697370757465206f726967696e20666f72207468652073657276696365002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6cbc2a206065726160202d2045726120636f6e7461696e696e672074686520736c61736820746f20646973707574652020b42a2060696e64657860202d20496e646578206f662074686520736c6173682077697468696e2074686520657261002023204572726f72730015012a205b4572726f723a3a4e6f446973707574654f726967696e5d202d205365727669636520686173206e6f2064697370757465206f726967696e20636f6e6669677572656429012a205b44697370617463684572726f723a3a4261644f726967696e5d202d2043616c6c6572206973206e6f742074686520617574686f72697a65642064697370757465206f726967696e009c7570646174655f6d61737465725f626c75657072696e745f736572766963655f6d616e6167657204011c616464726573739101011048313630000d3819015570646174657320746865204d617374657220426c75657072696e742053657276696365204d616e6167657220627920616464696e672061206e6577207265766973696f6e2e003423205065726d697373696f6e730035012a2043616c6c6572206d75737420626520616e20617574686f72697a6564204d617374657220426c75657072696e742053657276696365204d616e6167657220557064617465204f726967696e002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6ca02a20606164647265737360202d204e6577206d616e61676572206164647265737320746f20616464002023204572726f72730085012a205b4572726f723a3a4d61784d6173746572426c75657072696e74536572766963654d616e6167657256657273696f6e7345786365656465645d202d204d6178696d756d206e756d626572206f66207265766973696f6e732072656163686564306a6f696e5f7365727669636508012c696e7374616e63655f696430010c75363400015073656375726974795f636f6d6d69746d656e7473690201a05665633c41737365745365637572697479436f6d6d69746d656e743c543a3a417373657449643e3e000f04984a6f696e2061207365727669636520696e7374616e636520617320616e206f70657261746f72346c656176655f7365727669636504012c696e7374616e63655f696430010c7536340010049c4c656176652061207365727669636520696e7374616e636520617320616e206f70657261746f72040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ea506104474616e676c655f7072696d6974697665732073657276696365731c736572766963654053657276696365426c75657072696e7404044300002001206d65746164617461a9060148536572766963654d657461646174613c433e0001106a6f6273b90601c8426f756e6465645665633c4a6f62446566696e6974696f6e3c433e2c20433a3a4d61784a6f6273506572536572766963653e00014c726567697374726174696f6e5f706172616d73c506018c426f756e6465645665633c4669656c64547970652c20433a3a4d61784669656c64733e000138726571756573745f706172616d73c506018c426f756e6465645665633c4669656c64547970652c20433a3a4d61784669656c64733e00011c6d616e61676572d106015c426c75657072696e74536572766963654d616e6167657200015c6d61737465725f6d616e616765725f7265766973696f6ed50601944d6173746572426c75657072696e74536572766963654d616e616765725265766973696f6e000118676164676574d90601244761646765743c433e00016c737570706f727465645f6d656d626572736869705f6d6f64656c73590701b0426f756e6465645665633c4d656d626572736869704d6f64656c547970652c20436f6e73745533323c323e3e0000a906104474616e676c655f7072696d6974697665732073657276696365731c736572766963653c536572766963654d6574616461746104044300002001106e616d65ad06018c426f756e646564537472696e673c433a3a4d61784d657461646174614c656e6774683e00012c6465736372697074696f6eb50601ac4f7074696f6e3c426f756e646564537472696e673c433a3a4d61784d657461646174614c656e6774683e3e000118617574686f72b50601ac4f7074696f6e3c426f756e646564537472696e673c433a3a4d61784d657461646174614c656e6774683e3e00012063617465676f7279b50601ac4f7074696f6e3c426f756e646564537472696e673c433a3a4d61784d657461646174614c656e6774683e3e00013c636f64655f7265706f7369746f7279b50601ac4f7074696f6e3c426f756e646564537472696e673c433a3a4d61784d657461646174614c656e6774683e3e0001106c6f676fb50601ac4f7074696f6e3c426f756e646564537472696e673c433a3a4d61784d657461646174614c656e6774683e3e00011c77656273697465b50601ac4f7074696f6e3c426f756e646564537472696e673c433a3a4d61784d657461646174614c656e6774683e3e00011c6c6963656e7365b50601ac4f7074696f6e3c426f756e646564537472696e673c433a3a4d61784d657461646174614c656e6774683e3e0000ad06104474616e676c655f7072696d697469766573207365727669636573146669656c6434426f756e646564537472696e6704045300000400b1060144426f756e6465645665633c75382c20533e0000b1060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e0000b50604184f7074696f6e04045401ad060108104e6f6e6500000010536f6d650400ad060000010000b9060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401bd06045300000400cd0601185665633c543e0000bd06104474616e676c655f7072696d697469766573207365727669636573106a6f6273344a6f62446566696e6974696f6e04044300000c01206d65746164617461c10601384a6f624d657461646174613c433e000118706172616d73c506018c426f756e6465645665633c4669656c64547970652c20433a3a4d61784669656c64733e000118726573756c74c506018c426f756e6465645665633c4669656c64547970652c20433a3a4d61784669656c64733e0000c106104474616e676c655f7072696d697469766573207365727669636573106a6f62732c4a6f624d6574616461746104044300000801106e616d65ad06018c426f756e646564537472696e673c433a3a4d61784d657461646174614c656e6774683e00012c6465736372697074696f6eb50601ac4f7074696f6e3c426f756e646564537472696e673c433a3a4d61784d657461646174614c656e6774683e3e0000c5060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454010d02045300000400c90601185665633c543e0000c9060000020d0200cd06000002bd0600d106104474616e676c655f7072696d6974697665732073657276696365731c736572766963655c426c75657072696e74536572766963654d616e616765720001040c45766d0400910101104831363000000000d506104474616e676c655f7072696d6974697665732073657276696365731c73657276696365944d6173746572426c75657072696e74536572766963654d616e616765725265766973696f6e000108184c6174657374000000205370656369666963040010010c75333200010000d906104474616e676c655f7072696d697469766573207365727669636573186761646765741847616467657404044300010c105761736d0400dd0601345761736d4761646765743c433e000000184e617469766504005107013c4e61746976654761646765743c433e00010024436f6e7461696e6572040055070148436f6e7461696e65724761646765743c433e00020000dd06104474616e676c655f7072696d69746976657320736572766963657318676164676574285761736d476164676574040443000008011c72756e74696d65e106012c5761736d52756e74696d6500011c736f7572636573e50601cc426f756e6465645665633c476164676574536f757263653c433e2c20433a3a4d6178536f75726365735065724761646765743e0000e106104474616e676c655f7072696d697469766573207365727669636573186761646765742c5761736d52756e74696d65000108205761736d74696d65000000185761736d657200010000e5060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401e9060453000004004d0701185665633c543e0000e906104474616e676c655f7072696d6974697665732073657276696365731867616467657430476164676574536f75726365040443000004011c66657463686572ed060158476164676574536f75726365466574636865723c433e0000ed06104474616e676c655f7072696d697469766573207365727669636573186761646765744c476164676574536f757263654665746368657204044300011010495046530400f1060190426f756e6465645665633c75382c20433a3a4d617849706673486173684c656e6774683e000000184769746875620400f5060140476974687562466574636865723c433e00010038436f6e7461696e6572496d61676504002d07015c496d6167655265676973747279466574636865723c433e0002001c54657374696e6704004907013854657374466574636865723c433e00030000f1060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e0000f506104474616e676c655f7072696d69746976657320736572766963657318676164676574344769746875624665746368657204044300001001146f776e6572f906018c426f756e646564537472696e673c433a3a4d61784769744f776e65724c656e6774683e0001107265706f01070188426f756e646564537472696e673c433a3a4d61784769745265706f4c656e6774683e00010c74616709070184426f756e646564537472696e673c433a3a4d61784769745461674c656e6774683e00012062696e6172696573110701d0426f756e6465645665633c47616467657442696e6172793c433e2c20433a3a4d617842696e61726965735065724761646765743e0000f906104474616e676c655f7072696d697469766573207365727669636573146669656c6434426f756e646564537472696e6704045300000400fd060144426f756e6465645665633c75382c20533e0000fd060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e00000107104474616e676c655f7072696d697469766573207365727669636573146669656c6434426f756e646564537472696e670404530000040005070144426f756e6465645665633c75382c20533e000005070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e00000907104474616e676c655f7072696d697469766573207365727669636573146669656c6434426f756e646564537472696e67040453000004000d070144426f756e6465645665633c75382c20533e00000d070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e000011070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454011507045300000400290701185665633c543e00001507104474616e676c655f7072696d697469766573207365727669636573186761646765743047616467657442696e617279040443000010011061726368190701304172636869746563747572650001086f731d07013c4f7065726174696e6753797374656d0001106e616d6521070194426f756e646564537472696e673c433a3a4d617842696e6172794e616d654c656e6774683e0001187368613235360401205b75383b2033325d00001907104474616e676c655f7072696d6974697665732073657276696365731867616467657430417263686974656374757265000128105761736d000000185761736d36340001001057617369000200185761736936340003000c416d6400040014416d6436340005000c41726d0006001441726d36340007001452697363560008001c52697363563634000900001d07104474616e676c655f7072696d697469766573207365727669636573186761646765743c4f7065726174696e6753797374656d0001141c556e6b6e6f776e000000144c696e75780001001c57696e646f7773000200144d61634f530003000c425344000400002107104474616e676c655f7072696d697469766573207365727669636573146669656c6434426f756e646564537472696e670404530000040025070144426f756e6465645665633c75382c20533e000025070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e000029070000021507002d07104474616e676c655f7072696d6974697665732073657276696365731867616467657450496d61676552656769737472794665746368657204044300000c01207265676973747279310701b0426f756e646564537472696e673c433a3a4d6178436f6e7461696e657252656769737472794c656e6774683e000114696d616765390701b4426f756e646564537472696e673c433a3a4d6178436f6e7461696e6572496d6167654e616d654c656e6774683e00010c746167410701b0426f756e646564537472696e673c433a3a4d6178436f6e7461696e6572496d6167655461674c656e6774683e00003107104474616e676c655f7072696d697469766573207365727669636573146669656c6434426f756e646564537472696e670404530000040035070144426f756e6465645665633c75382c20533e000035070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e00003907104474616e676c655f7072696d697469766573207365727669636573146669656c6434426f756e646564537472696e67040453000004003d070144426f756e6465645665633c75382c20533e00003d070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e00004107104474616e676c655f7072696d697469766573207365727669636573146669656c6434426f756e646564537472696e670404530000040045070144426f756e6465645665633c75382c20533e000045070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e00004907104474616e676c655f7072696d697469766573207365727669636573186761646765742c546573744665746368657204044300000c0134636172676f5f7061636b61676521070194426f756e646564537472696e673c433a3a4d617842696e6172794e616d654c656e6774683e000124636172676f5f62696e21070194426f756e646564537472696e673c433a3a4d617842696e6172794e616d654c656e6774683e000124626173655f70617468ad06018c426f756e646564537472696e673c433a3a4d61784d657461646174614c656e6774683e00004d07000002e906005107104474616e676c655f7072696d69746976657320736572766963657318676164676574304e6174697665476164676574040443000004011c736f7572636573e50601cc426f756e6465645665633c476164676574536f757263653c433e2c20433a3a4d6178536f75726365735065724761646765743e00005507104474616e676c655f7072696d697469766573207365727669636573186761646765743c436f6e7461696e6572476164676574040443000004011c736f7572636573e50601cc426f756e6465645665633c476164676574536f757263653c433e2c20433a3a4d6178536f75726365735065724761646765743e000059070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454015d07045300000400610701185665633c543e00005d07104474616e676c655f7072696d6974697665732073657276696365731474797065734c4d656d626572736869704d6f64656c547970650001081446697865640000001c44796e616d69630001000061070000025d07006507104474616e676c655f7072696d6974697665732073657276696365731474797065733c4d656d626572736869704d6f64656c0001081446697865640401346d696e5f6f70657261746f727310010c7533320000001c44796e616d69630801346d696e5f6f70657261746f727310010c7533320001346d61785f6f70657261746f72739102012c4f7074696f6e3c7533323e00010000690700000608006d0700000651020071070c4470616c6c65745f74616e676c655f6c73741870616c6c65741043616c6c040454000154106a6f696e080118616d6f756e746d01013042616c616e63654f663c543e00011c706f6f6c5f6964100118506f6f6c49640000585d015374616b65732066756e64732077697468206120706f6f6c206279207472616e7366657272696e672074686520626f6e64656420616d6f756e742066726f6d206d656d62657220746f20706f6f6c206163636f756e742e003423205065726d697373696f6e7300402a204d757374206265207369676e6564002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c702a2060616d6f756e7460202d20416d6f756e7420746f207374616b65702a2060706f6f6c5f696460202d2054617267657420706f6f6c204944002023204572726f727300e82a205b604572726f723a3a4d696e696d756d426f6e644e6f744d6574605d202d20416d6f756e742062656c6f77206d696e696d756d20626f6e64bc2a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d20506f6f6c20646f6573206e6f74206578697374cc2a205b604572726f723a3a446566656e736976654572726f72605d202d2052657761726420706f6f6c206e6f7420666f756e64001823204e6f746500f02a204d656d626572206d757374206861766520606578697374656e7469616c206465706f736974202b20616d6f756e746020696e206163636f756e74ac2a20506f6f6c206d75737420626520696e205b60506f6f6c53746174653a3a4f70656e605d20737461746528626f6e645f657874726108011c706f6f6c5f6964100118506f6f6c496400011465787472617507015c426f6e6445787472613c42616c616e63654f663c543e3e00016cd4426f6e64206164646974696f6e616c2066756e647320696e746f20616e206578697374696e6720706f6f6c20706f736974696f6e2e0029014164646974696f6e616c2066756e64732063616e20636f6d652066726f6d2065697468657220667265652062616c616e6365206f7220616363756d756c6174656420726577617264732eac4175746f6d61746963616c6c792070617973206f757420616c6c2070656e64696e6720726577617264732e002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c702a2060706f6f6c5f696460202d2054617267657420706f6f6c204944c42a2060657874726160202d20536f7572636520616e6420616d6f756e74206f66206164646974696f6e616c2066756e6473003423205065726d697373696f6e7300402a204d757374206265207369676e6564c02a204d7573742068617665207065726d697373696f6e20746f20626f6e64206578747261206966206e6f742073656c66002023204572726f727300bc2a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d20506f6f6c20646f6573206e6f74206578697374f02a205b604572726f723a3a446f65734e6f74486176655065726d697373696f6e605d202d2043616c6c6572206c61636b73207065726d697373696f6ecc2a205b604572726f723a3a446566656e736976654572726f72605d202d2052657761726420706f6f6c206e6f7420666f756e64001823204e6f74650031012a2054686973207472616e73616374696f6e207072696f726974697a657320726561646162696c69747920616e6420636f72726563746e657373206f766572206f7074696d697a6174696f6eec2a204d756c7469706c652073746f726167652072656164732f7772697465732061726520706572666f726d656420746f20726575736520636f646505012a205365652060626f6e645f65787472615f6f746865726020746f20626f6e642070656e64696e672072657761726473206f66206f74686572206d656d6265727318756e626f6e640c01386d656d6265725f6163636f756e744d0301504163636f756e7449644c6f6f6b75704f663c543e00011c706f6f6c5f6964100118506f6f6c4964000140756e626f6e64696e675f706f696e74736d01013042616c616e63654f663c543e0003743101556e626f6e6420706f696e74732066726f6d2061206d656d626572277320706f6f6c20706f736974696f6e2c20636f6c6c656374696e6720616e792070656e64696e6720726577617264732e002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6cac2a20606d656d6265725f6163636f756e7460202d204163636f756e7420746f20756e626f6e642066726f6d702a2060706f6f6c5f696460202d2054617267657420706f6f6c204944c42a2060756e626f6e64696e675f706f696e747360202d20416d6f756e74206f6620706f696e747320746f20756e626f6e64003423205065726d697373696f6e7300502a205065726d697373696f6e6c6573732069663ad420202d20506f6f6c20697320626c6f636b656420616e642063616c6c657220697320726f6f742f626f756e63657220286b69636b29c820202d20506f6f6c2069732064657374726f79696e6720616e64206d656d626572206973206e6f74206465706f7369746f72f820202d20506f6f6c2069732064657374726f79696e672c206d656d626572206973206465706f7369746f722c20616e6420706f6f6c20697320656d707479a82a205065726d697373696f6e6564202863616c6c6572206d757374206265206d656d626572292069663a6c20202d2043616c6c6572206973206e6f74206465706f7369746f72f820202d2043616c6c6572206973206465706f7369746f722c20706f6f6c2069732064657374726f79696e672c20616e6420706f6f6c20697320656d707479002023204572726f727300bc2a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d20506f6f6c20646f6573206e6f74206578697374fc2a205b604572726f723a3a4e6f42616c616e6365546f556e626f6e64605d202d204d656d6265722068617320696e73756666696369656e7420706f696e7473f42a205b604572726f723a3a446566656e736976654572726f72605d202d204e6f7420656e6f75676820737061636520696e20756e626f6e6420706f6f6c001823204e6f74656d014966206e6f20756e6c6f636b696e67206368756e6b732061726520617661696c61626c652c205b6043616c6c3a3a706f6f6c5f77697468647261775f756e626f6e646564605d2063616e2062652063616c6c65642066697273742e6501546865207374616b696e6720696e746572666163652077696c6c20617474656d70742074686973206175746f6d61746963616c6c7920627574206d6179207374696c6c2072657475726e20604e6f4d6f72654368756e6b7360746966206368756e6b732063616e6e6f742062652072656c65617365642e58706f6f6c5f77697468647261775f756e626f6e64656408011c706f6f6c5f6964100118506f6f6c49640001486e756d5f736c617368696e675f7370616e7310010c75333200044ce457697468647261777320756e626f6e6465642066756e64732066726f6d2074686520706f6f6c2773207374616b696e67206163636f756e742e00390155736566756c20666f7220636c656172696e6720756e6c6f636b696e67206368756e6b73207768656e2074686572652061726520746f6f206d616e7920746f2063616c6c2060756e626f6e64602edc50726576656e747320604e6f4d6f72654368756e6b7360206572726f72732066726f6d20746865207374616b696e672073797374656d2e003423205065726d697373696f6e7300782a2043616e206265207369676e656420627920616e79206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c742a2060706f6f6c5f696460202d20506f6f6c206964656e746966696572e82a20606e756d5f736c617368696e675f7370616e7360202d204e756d626572206f6620736c617368696e67207370616e7320746f20636865636b002023204572726f727300bc2a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d20506f6f6c20646f6573206e6f74206578697374e02a205b604572726f723a3a4e6f7444657374726f79696e67605d202d20506f6f6c20697320696e2064657374726f79696e672073746174654477697468647261775f756e626f6e6465640c01386d656d6265725f6163636f756e744d0301504163636f756e7449644c6f6f6b75704f663c543e00011c706f6f6c5f6964100118506f6f6c49640001486e756d5f736c617368696e675f7370616e7310010c753332000564b8576974686472617720756e626f6e6465642066756e64732066726f6d2061206d656d626572206163636f756e742e003423205065726d697373696f6e7300502a205065726d697373696f6e6c6573732069663adc20202d20506f6f6c20697320696e2064657374726f79206d6f646520616e6420746172676574206973206e6f74206465706f7369746f72d020202d20546172676574206973206465706f7369746f7220616e64206f6e6c79206d656d62657220696e2073756220706f6f6c73b820202d20506f6f6c20697320626c6f636b656420616e642063616c6c657220697320726f6f742f626f756e636572d02a205065726d697373696f6e65642069662063616c6c65722069732074617267657420616e64206e6f74206465706f7369746f72002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6cb42a20606d656d6265725f6163636f756e7460202d204163636f756e7420746f2077697468647261772066726f6d742a2060706f6f6c5f696460202d20506f6f6c206964656e746966696572c42a20606e756d5f736c617368696e675f7370616e7360202d204e756d626572206f6620736c617368696e67207370616e73002023204572726f727300e82a205b604572726f723a3a506f6f6c4d656d6265724e6f74466f756e64605d202d204d656d626572206163636f756e74206e6f7420666f756e64bc2a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d20506f6f6c20646f6573206e6f74206578697374cc2a205b604572726f723a3a537562506f6f6c734e6f74466f756e64605d202d2053756220706f6f6c73206e6f7420666f756e64f02a205b604572726f723a3a43616e6e6f745769746864726177416e79605d202d204e6f20756e626f6e6465642066756e647320617661696c61626c6500bc496620746172676574206973206465706f7369746f722c20706f6f6c2077696c6c2062652064657374726f7965642e18637265617465180118616d6f756e746d01013042616c616e63654f663c543e000110726f6f744d0301504163636f756e7449644c6f6f6b75704f663c543e0001246e6f6d696e61746f724d0301504163636f756e7449644c6f6f6b75704f663c543e00011c626f756e6365724d0301504163636f756e7449644c6f6f6b75704f663c543e0001106e616d65790701a04f7074696f6e3c426f756e6465645665633c75382c20543a3a4d61784e616d654c656e6774683e3e00011069636f6e810701a04f7074696f6e3c426f756e6465645665633c75382c20543a3a4d617849636f6e4c656e6774683e3e00065c744372656174652061206e65772064656c65676174696f6e20706f6f6c2e003423205065726d697373696f6e730019012a204d757374206265207369676e656420627920746865206163636f756e7420746861742077696c6c206265636f6d652074686520696e697469616c206465706f7369746f72002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6cac2a2060616d6f756e7460202d20416d6f756e7420746f2064656c656761746520746f2074686520706f6f6c982a2060726f6f7460202d204163636f756e7420746f2073657420617320706f6f6c20726f6f74c02a20606e6f6d696e61746f7260202d204163636f756e7420746f2073657420617320706f6f6c206e6f6d696e61746f72b02a2060626f756e63657260202d204163636f756e7420746f2073657420617320706f6f6c20626f756e636572ec2a20606e616d6560202d204f7074696f6e616c20706f6f6c206e616d6520626f756e6465642062792060543a3a4d61784e616d654c656e67746860ec2a206069636f6e60202d204f7074696f6e616c20706f6f6c2069636f6e20626f756e6465642062792060543a3a4d617849636f6e4c656e67746860002023204572726f727300f02a205b604572726f723a3a4f766572666c6f775269736b605d202d20506f6f6c20494420696e6372656d656e7420776f756c64206f766572666c6f77001823204e6f7465000d0143616c6c6572206d75737420686176652060616d6f756e74202b206578697374656e7469616c5f6465706f73697460207472616e7366657261626c652066756e64732e4c6372656174655f776974685f706f6f6c5f69641c0118616d6f756e746d01013042616c616e63654f663c543e000110726f6f744d0301504163636f756e7449644c6f6f6b75704f663c543e0001246e6f6d696e61746f724d0301504163636f756e7449644c6f6f6b75704f663c543e00011c626f756e6365724d0301504163636f756e7449644c6f6f6b75704f663c543e00011c706f6f6c5f6964100118506f6f6c49640001106e616d65790701a04f7074696f6e3c426f756e6465645665633c75382c20543a3a4d61784e616d654c656e6774683e3e00011069636f6e810701a04f7074696f6e3c426f756e6465645665633c75382c20543a3a4d617849636f6e4c656e6774683e3e000764f04372656174652061206e65772064656c65676174696f6e20706f6f6c207769746820612070726576696f75736c79207573656420706f6f6c2049442e003423205065726d697373696f6e7300f82a204d757374206265207369676e656420627920746865206163636f756e7420746861742077696c6c206265636f6d6520746865206465706f7369746f72002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6cac2a2060616d6f756e7460202d20416d6f756e7420746f2064656c656761746520746f2074686520706f6f6c982a2060726f6f7460202d204163636f756e7420746f2073657420617320706f6f6c20726f6f74c02a20606e6f6d696e61746f7260202d204163636f756e7420746f2073657420617320706f6f6c206e6f6d696e61746f72b02a2060626f756e63657260202d204163636f756e7420746f2073657420617320706f6f6c20626f756e636572782a2060706f6f6c5f696460202d20506f6f6c20494420746f207265757365742a20606e616d6560202d204f7074696f6e616c20706f6f6c206e616d65742a206069636f6e60202d204f7074696f6e616c20706f6f6c2069636f6e002023204572726f727300d02a205b604572726f723a3a506f6f6c4964496e557365605d202d20506f6f6c20494420697320616c726561647920696e2075736505012a205b604572726f723a3a496e76616c6964506f6f6c4964605d202d20506f6f6c2049442069732067726561746572207468616e206c61737420706f6f6c204944001823204e6f7465000d0143616c6c6572206d75737420686176652060616d6f756e74202b206578697374656e7469616c5f6465706f73697460207472616e7366657261626c652066756e64732e206e6f6d696e61746508011c706f6f6c5f6964100118506f6f6c496400012876616c696461746f7273450201445665633c543a3a4163636f756e7449643e000850a84e6f6d696e6174652076616c696461746f7273206f6e20626568616c66206f662074686520706f6f6c2e003423205065726d697373696f6e7300d42a20506f6f6c206e6f6d696e61746f72206f7220726f6f7420726f6c652063616e206e6f6d696e6174652076616c696461746f7273002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c742a2060706f6f6c5f696460202d20506f6f6c206964656e746966696572dc2a206076616c696461746f727360202d204c697374206f662076616c696461746f72206163636f756e747320746f206e6f6d696e617465002023204572726f727300bc2a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d20506f6f6c20646f6573206e6f74206578697374f82a205b604572726f723a3a4e6f744e6f6d696e61746f72605d202d2043616c6c6572206c61636b73206e6f6d696e61746f72207065726d697373696f6e73001823204e6f7465001d01466f727761726473206e6f6d696e6174696f6e2063616c6c20746f207374616b696e672070616c6c6574207573696e6720706f6f6c277320626f6e646564206163636f756e742e247365745f737461746508011c706f6f6c5f6964100118506f6f6c4964000114737461746575020124506f6f6c537461746500095c59015570646174657320746865207374617465206f66206120706f6f6c2e204f6e6365206120706f6f6c20697320696e206044657374726f79696e67602073746174652c206974732073746174652063616e6e6f74206265986368616e67656420616761696e20756e64657220616e792063697263756d7374616e6365732e003423205065726d697373696f6e7300b42a20506f6f6c20626f756e636572206f7220726f6f7420726f6c652063616e2073657420616e7920737461746551012a20416e79206163636f756e742063616e2073657420737461746520746f206044657374726f79696e676020696620706f6f6c206661696c7320606f6b5f746f5f62655f6f70656e6020636f6e646974696f6e73002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c742a2060706f6f6c5f696460202d20506f6f6c206964656e746966696572702a2060737461746560202d204e657720737461746520746f20736574002023204572726f727300bc2a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d20506f6f6c20646f6573206e6f7420657869737461012a205b604572726f723a3a43616e4e6f744368616e67655374617465605d202d20506f6f6c20697320696e2064657374726f79696e67207374617465206f722063616c6c6572206c61636b73207065726d697373696f6e73001823204e6f74650055015374617465206368616e676573206172652076616c696461746564207468726f75676820606f6b5f746f5f62655f6f70656e6020776869636820636865636b7320706f6f6c2070726f70657274696573206c696b658c636f6d6d697373696f6e2c206d656d62657220636f756e7420616e6420726f6c65732e307365745f6d6574616461746108011c706f6f6c5f6964100118506f6f6c49640001206d6574616461746138011c5665633c75383e000a44985570646174657320746865206d6574616461746120666f72206120676976656e20706f6f6c2e003423205065726d697373696f6e7300c42a204d7573742062652063616c6c65642062792074686520706f6f6c20626f756e636572206f7220726f6f7420726f6c65002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c742a2060706f6f6c5f696460202d20506f6f6c206964656e746966696572882a20606d6574616461746160202d204e6577206d6574616461746120746f20736574002023204572726f727300bc2a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d20506f6f6c20646f6573206e6f7420657869737431012a205b604572726f723a3a4d65746164617461457863656564734d61784c656e605d202d204d65746164617461206c656e6774682065786365656473206d6178696d756d20616c6c6f77656419012a205b604572726f723a3a446f65734e6f74486176655065726d697373696f6e605d202d2043616c6c6572206c61636b73207265717569726564207065726d697373696f6e732c7365745f636f6e666967731001346d696e5f6a6f696e5f626f6e6489070158436f6e6669674f703c42616c616e63654f663c543e3e00013c6d696e5f6372656174655f626f6e6489070158436f6e6669674f703c42616c616e63654f663c543e3e0001246d61785f706f6f6c738d070134436f6e6669674f703c7533323e000154676c6f62616c5f6d61785f636f6d6d697373696f6e91070144436f6e6669674f703c50657262696c6c3e000b440501557064617465732074686520676c6f62616c20636f6e66696775726174696f6e20706172616d657465727320666f72206e6f6d696e6174696f6e20706f6f6c732e003423205065726d697373696f6e7300602a204d7573742062652063616c6c656420627920526f6f74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c11012a20606d696e5f6a6f696e5f626f6e6460202d20436f6e666967206f7065726174696f6e20666f72206d696e696d756d20626f6e6420746f206a6f696e206120706f6f6c29012a20606d696e5f6372656174655f626f6e6460202d20436f6e666967206f7065726174696f6e20666f72206d696e696d756d20626f6e6420746f20637265617465206120706f6f6c2020f02a20606d61785f706f6f6c7360202d20436f6e666967206f7065726174696f6e20666f72206d6178696d756d206e756d626572206f6620706f6f6c7329012a2060676c6f62616c5f6d61785f636f6d6d697373696f6e60202d20436f6e666967206f7065726174696f6e20666f72206d6178696d756d20676c6f62616c20636f6d6d697373696f6e002023204572726f727300cc2a205b6044697370617463684572726f723a3a4261644f726967696e605d202d2043616c6c6572206973206e6f7420526f6f74307570646174655f726f6c657310011c706f6f6c5f6964100118506f6f6c49640001206e65775f726f6f7495070158436f6e6669674f703c543a3a4163636f756e7449643e0001346e65775f6e6f6d696e61746f7295070158436f6e6669674f703c543a3a4163636f756e7449643e00012c6e65775f626f756e63657295070158436f6e6669674f703c543a3a4163636f756e7449643e000c546c5570646174652074686520726f6c6573206f66206120706f6f6c2e0085015570646174657320726f6f742c206e6f6d696e61746f7220616e6420626f756e63657220726f6c657320666f72206120676976656e20706f6f6c2e20546865206465706f7369746f7220726f6c652063616e6e6f74206265206368616e6765642ec8456d69747320612060526f6c65735570646174656460206576656e74206f6e207375636365737366756c207570646174652e003423205065726d697373696f6e7300882a204f726967696e206d75737420626520526f6f74206f7220706f6f6c20726f6f74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c742a2060706f6f6c5f696460202d20506f6f6c206964656e746966696572a82a20606e65775f726f6f7460202d204e657720726f6f7420726f6c6520636f6e66696775726174696f6ed82a20606e65775f6e6f6d696e61746f7260202d204e6577206e6f6d696e61746f7220726f6c6520636f6e66696775726174696f6e2020c02a20606e65775f626f756e63657260202d204e657720626f756e63657220726f6c6520636f6e66696775726174696f6e002023204572726f727300bc2a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d20506f6f6c20646f6573206e6f7420657869737411012a205b604572726f723a3a446f65734e6f74486176655065726d697373696f6e605d202d204f726967696e20646f6573206e6f742068617665207065726d697373696f6e146368696c6c04011c706f6f6c5f6964100118506f6f6c4964000d3c25014368696c6c206f6e20626568616c66206f662074686520706f6f6c20627920666f7277617264696e67207468652063616c6c20746f20746865207374616b696e672070616c6c65742e003423205065726d697373696f6e7300d82a204f726967696e206d757374206265207369676e656420627920706f6f6c206e6f6d696e61746f72206f7220726f6f7420726f6c65002c2320417267756d656e7473008c2a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c742a2060706f6f6c5f696460202d20506f6f6c206964656e746966696572002023204572726f727300bc2a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d20506f6f6c20646f6573206e6f74206578697374f82a205b604572726f723a3a4e6f744e6f6d696e61746f72605d202d204f726967696e206c61636b73206e6f6d696e6174696f6e207065726d697373696f6e40626f6e645f65787472615f6f746865720c01186d656d6265724d0301504163636f756e7449644c6f6f6b75704f663c543e00011c706f6f6c5f6964100118506f6f6c496400011465787472617507015c426f6e6445787472613c42616c616e63654f663c543e3e000e500d01426f6e64206164646974696f6e616c2066756e647320666f72206120706f6f6c206d656d62657220696e746f207468656972207265737065637469766520706f6f6c2e003423205065726d697373696f6e730041012a204f726967696e206d757374206d61746368206d656d626572206163636f756e7420666f7220626f6e64696e672066726f6d20667265652062616c616e63652f70656e64696e6720726577617264733d012a20416e79206f726967696e2063616e20626f6e642066726f6d2070656e64696e672072657761726473206966206d656d6265722068617320605065726d697373696f6e6c657373416c6c60206f72b02020605065726d697373696f6e6c657373436f6d706f756e646020636c61696d207065726d697373696f6e73002c2320417267756d656e7473008c2a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6cb02a20606d656d62657260202d20506f6f6c206d656d626572206163636f756e7420746f20626f6e6420666f72742a2060706f6f6c5f696460202d20506f6f6c206964656e746966696572fc2a2060657874726160202d20416d6f756e7420746f20626f6e642066726f6d20667265652062616c616e6365206f722070656e64696e672072657761726473002023204572726f727300bc2a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d20506f6f6c20646f6573206e6f7420657869737405012a205b604572726f723a3a506f6f6c4d656d6265724e6f74466f756e64605d202d204163636f756e74206973206e6f742061206d656d626572206f6620706f6f6c19012a205b604572726f723a3a4e6f5065726d697373696f6e605d202d204f726967696e206c61636b73207065726d697373696f6e20746f20626f6e6420666f72206d656d626572387365745f636f6d6d697373696f6e08011c706f6f6c5f6964100118506f6f6c49640001386e65775f636f6d6d697373696f6e2101017c4f7074696f6e3c2850657262696c6c2c20543a3a4163636f756e744964293e001140dc536574206f722072656d6f76652074686520636f6d6d697373696f6e207261746520616e6420706179656520666f72206120706f6f6c2e003423205065726d697373696f6e730001012a2043616c6c6572206d757374206861766520636f6d6d697373696f6e206d616e6167656d656e74207065726d697373696f6e20666f722074686520706f6f6c002c2320417267756d656e7473008c2a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c842a2060706f6f6c5f696460202d2054686520706f6f6c206964656e74696669657265012a20606e65775f636f6d6d697373696f6e60202d204f7074696f6e616c20636f6d6d697373696f6e207261746520616e642070617965652e204e6f6e652072656d6f766573206578697374696e6720636f6d6d697373696f6e002023204572726f727300d82a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d2054686520706f6f6c5f696420646f6573206e6f7420657869737449012a205b604572726f723a3a446f65734e6f74486176655065726d697373696f6e605d202d2043616c6c6572206c61636b7320636f6d6d697373696f6e206d616e6167656d656e74207065726d697373696f6e487365745f636f6d6d697373696f6e5f6d617808011c706f6f6c5f6964100118506f6f6c49640001386d61785f636f6d6d697373696f6ef4011c50657262696c6c001244690153657420746865206d6178696d756d20636f6d6d697373696f6e207261746520666f72206120706f6f6c2e20496e697469616c206d61782063616e2062652073657420746f20616e792076616c75652c2077697468206f6e6c7955016c6f7765722076616c75657320616c6c6f77656420746865726561667465722e2043757272656e7420636f6d6d697373696f6e2077696c6c20626520726564756365642069662061626f7665206e6577206d61782e003423205065726d697373696f6e730001012a2043616c6c6572206d757374206861766520636f6d6d697373696f6e206d616e6167656d656e74207065726d697373696f6e20666f722074686520706f6f6c002c2320417267756d656e7473008c2a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c842a2060706f6f6c5f696460202d2054686520706f6f6c206964656e746966696572d02a20606d61785f636f6d6d697373696f6e60202d20546865206e6577206d6178696d756d20636f6d6d697373696f6e2072617465002023204572726f727300d82a205b604572726f723a3a506f6f6c4e6f74466f756e64605d202d2054686520706f6f6c5f696420646f6573206e6f7420657869737449012a205b604572726f723a3a446f65734e6f74486176655065726d697373696f6e605d202d2043616c6c6572206c61636b7320636f6d6d697373696f6e206d616e6167656d656e74207065726d697373696f6e687365745f636f6d6d697373696f6e5f6368616e67655f7261746508011c706f6f6c5f6964100118506f6f6c496400012c6368616e67655f726174657902019c436f6d6d697373696f6e4368616e6765526174653c426c6f636b4e756d626572466f723c543e3e001328a85365742074686520636f6d6d697373696f6e206368616e6765207261746520666f72206120706f6f6c2e003d01496e697469616c206368616e67652072617465206973206e6f7420626f756e6465642c20776865726561732073756273657175656e7420757064617465732063616e206f6e6c79206265206d6f7265747265737472696374697665207468616e207468652063757272656e742e002c2320417267756d656e747300a1012a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c2e204d757374206265207369676e656420627920616e206163636f756e74207769746820636f6d6d697373696f6e206d616e6167656d656e74207065726d697373696f6e2e2d012a2060706f6f6c5f696460202d20546865206964656e746966696572206f662074686520706f6f6c20746f2073657420636f6d6d697373696f6e206368616e6765207261746520666f722efc2a20606368616e67655f7261746560202d20546865206e657720636f6d6d697373696f6e206368616e6765207261746520636f6e66696775726174696f6e2e40636c61696d5f636f6d6d697373696f6e04011c706f6f6c5f6964100118506f6f6c496400142890436c61696d2070656e64696e6720636f6d6d697373696f6e20666f72206120706f6f6c2e007d01546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e656420627920616e206163636f756e74207769746820636f6d6d697373696f6e20636c61696d207065726d697373696f6e2e790150656e64696e6720636f6d6d697373696f6e2069732070616964206f757420616e6420616464656420746f20746f74616c20636c61696d656420636f6d6d697373696f6e2e20546f74616c2070656e64696e6720636f6d6d697373696f6e44697320726573657420746f207a65726f2e002c2320417267756d656e7473008d012a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c2e204d757374206265207369676e656420627920616e206163636f756e74207769746820636f6d6d697373696f6e20636c61696d207065726d697373696f6e2e09012a2060706f6f6c5f696460202d20546865206964656e746966696572206f662074686520706f6f6c20746f20636c61696d20636f6d6d697373696f6e2066726f6d2e4c61646a7573745f706f6f6c5f6465706f73697404011c706f6f6c5f6964100118506f6f6c4964001530ec546f70207570207468652064656669636974206f7220776974686472617720746865206578636573732045442066726f6d2074686520706f6f6c2e0051015768656e206120706f6f6c20697320637265617465642c2074686520706f6f6c206465706f7369746f72207472616e736665727320454420746f2074686520726577617264206163636f756e74206f66207468655501706f6f6c2e204544206973207375626a65637420746f206368616e676520616e64206f7665722074696d652c20746865206465706f73697420696e2074686520726577617264206163636f756e74206d61792062655101696e73756666696369656e7420746f20636f766572207468652045442064656669636974206f662074686520706f6f6c206f7220766963652d76657273612077686572652074686572652069732065786365737331016465706f73697420746f2074686520706f6f6c2e20546869732063616c6c20616c6c6f777320616e796f6e6520746f2061646a75737420746865204544206465706f736974206f6620746865f4706f6f6c2062792065697468657220746f7070696e67207570207468652064656669636974206f7220636c61696d696e6720746865206578636573732e002c2320417267756d656e747300d02a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c2e204d757374206265207369676e65642e0d012a2060706f6f6c5f696460202d20546865206964656e746966696572206f662074686520706f6f6c20746f2061646a75737420746865206465706f73697420666f722e7c7365745f636f6d6d697373696f6e5f636c61696d5f7065726d697373696f6e08011c706f6f6c5f6964100118506f6f6c49640001287065726d697373696f6e7d0201bc4f7074696f6e3c436f6d6d697373696f6e436c61696d5065726d697373696f6e3c543a3a4163636f756e7449643e3e001628cc536574206f722072656d6f7665206120706f6f6c277320636f6d6d697373696f6e20636c61696d207065726d697373696f6e2e004d014f6e6c79207468652060526f6f746020726f6c65206f662074686520706f6f6c2069732061626c6520746f20636f6e66696775726520636f6d6d697373696f6e20636c61696d207065726d697373696f6e732e4901546869732064657465726d696e6573207768696368206163636f756e74732061726520616c6c6f77656420746f20636c61696d2074686520706f6f6c27732070656e64696e6720636f6d6d697373696f6e2e002c2320417267756d656e7473003d012a20606f726967696e60202d20546865206f726967696e206f66207468652063616c6c2e204d757374206265207369676e65642062792074686520706f6f6c277320726f6f74206163636f756e742e01012a2060706f6f6c5f696460202d20546865206964656e746966696572206f662074686520706f6f6c20746f20736574207065726d697373696f6e7320666f722eb9012a20607065726d697373696f6e60202d204f7074696f6e616c20636f6d6d697373696f6e20636c61696d207065726d697373696f6e20636f6e66696775726174696f6e2e204966204e6f6e652c2072656d6f76657320616e79206578697374696e67207065726d697373696f6e2e407365745f6c6173745f706f6f6c5f696404011c706f6f6c5f6964100118506f6f6c4964001700040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e75070c4470616c6c65745f74616e676c655f6c737414747970657324426f6e644578747261041c42616c616e6365011801042c4672656542616c616e6365040018011c42616c616e636500000000790704184f7074696f6e040454017d070108104e6f6e6500000010536f6d6504007d0700000100007d070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e0000810704184f7074696f6e0404540185070108104e6f6e6500000010536f6d6504008507000001000085070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e000089070c4470616c6c65745f74616e676c655f6c737414747970657320436f6e6669674f700404540118010c104e6f6f700000000c5365740400180104540001001852656d6f7665000200008d070c4470616c6c65745f74616e676c655f6c737414747970657320436f6e6669674f700404540110010c104e6f6f700000000c5365740400100104540001001852656d6f76650002000091070c4470616c6c65745f74616e676c655f6c737414747970657320436f6e6669674f7004045401f4010c104e6f6f700000000c5365740400f40104540001001852656d6f76650002000095070c4470616c6c65745f74616e676c655f6c737414747970657320436f6e6669674f700404540100010c104e6f6f700000000c5365740400000104540001001852656d6f76650002000099070c3870616c6c65745f726577617264731870616c6c65741043616c6c04045400011c34636c61696d5f726577617264730401146173736574f101014441737365743c543a3a417373657449643e000104c8436c61696d207265776172647320666f72206120737065636966696320617373657420616e642072657761726420747970654c636c61696d5f726577617264735f6f7468657208010c77686f000130543a3a4163636f756e7449640001146173736574f101014441737365743c543a3a417373657449643e00022484436c61696d207265776172647320666f7220616e6f74686572206163636f756e74008c546865206469737061746368206f726967696e206d757374206265207369676e65642e002c506172616d65746572733aa42d206077686f603a20546865206163636f756e7420746f20636c61696d207265776172647320666f72a42d20606173736574603a2054686520617373657420746f20636c61696d207265776172647320666f7200b4456d697473206052657761726473436c61696d656460206576656e74207768656e207375636365737366756c2e646d616e6167655f61737365745f7265776172645f7661756c740c01207661756c745f6964100128543a3a5661756c7449640001146173736574f101014441737365743c543a3a417373657449643e000118616374696f6e8902012c4173736574416374696f6e000344844d616e61676520617373657420696420746f207661756c7420726577617264732e003423205065726d697373696f6e7300a42a204d757374206265207369676e656420627920616e20617574686f72697a6564206163636f756e74002c2320417267756d656e7473007c2a20606f726967696e60202d204f726967696e206f66207468652063616c6c782a20607661756c745f696460202d204944206f6620746865207661756c746c2a2060617373657460202d204944206f6620746865206173736574ac2a2060616374696f6e60202d20416374696f6e20746f20706572666f726d20284164642f52656d6f766529002023204572726f72730001012a205b604572726f723a3a4173736574416c7265616479496e5661756c74605d202d20417373657420616c72656164792065786973747320696e207661756c74f02a205b604572726f723a3a41737365744e6f74496e5661756c74605d202d20417373657420646f6573206e6f7420657869737420696e207661756c744c6372656174655f7265776172645f7661756c740801207661756c745f6964100128543a3a5661756c7449640001286e65775f636f6e6669678d02019c526577617264436f6e666967466f7241737365745661756c743c42616c616e63654f663c543e3e000448e0437265617465732061206e65772072657761726420636f6e66696775726174696f6e20666f722061207370656369666963207661756c742e002c2320417267756d656e7473f82a20606f726967696e60202d204f726967696e206f66207468652063616c6c2c206d75737420706173732060466f7263654f726967696e6020636865636bb02a20607661756c745f696460202d20546865204944206f6620746865207661756c7420746f20757064617465e42a20606e65775f636f6e66696760202d20546865206e65772072657761726420636f6e66696775726174696f6e20636f6e7461696e696e673ac420202a206061707960202d20416e6e75616c2050657262696c6c616765205969656c6420666f7220746865207661756c74e020202a20606465706f7369745f63617060202d204d6178696d756d20616d6f756e7420746861742063616e206265206465706f7369746564290120202a2060696e63656e746976655f63617060202d204d6178696d756d20616d6f756e74206f6620696e63656e746976657320746861742063616e206265206469737472696275746564f420202a2060626f6f73745f6d756c7469706c69657260202d204f7074696f6e616c206d756c7469706c69657220746f20626f6f73742072657761726473002023204576656e747329012a20605661756c74526577617264436f6e6669675570646174656460202d20456d6974746564207768656e207661756c742072657761726420636f6e6669672069732075706461746564002023204572726f727305012a20604261644f726967696e60202d2049662063616c6c6572206973206e6f7420617574686f72697a6564207468726f7567682060466f7263654f726967696e6051012a2060496e63656e74697665436170477265617465725468616e4465706f73697443617060202d20496620696e63656e74697665206361702069732067726561746572207468616e206465706f73697420636170ec2a2060426f6f73744d756c7469706c6965724d75737442654f6e6560202d20496620626f6f7374206d756c7469706c696572206973206e6f742031687570646174655f7661756c745f7265776172645f636f6e6669670801207661756c745f6964100128543a3a5661756c7449640001286e65775f636f6e6669678d02019c526577617264436f6e666967466f7241737365745661756c743c42616c616e63654f663c543e3e000548d855706461746573207468652072657761726420636f6e66696775726174696f6e20666f722061207370656369666963207661756c742e002c2320417267756d656e7473f82a20606f726967696e60202d204f726967696e206f66207468652063616c6c2c206d75737420706173732060466f7263654f726967696e6020636865636bb02a20607661756c745f696460202d20546865204944206f6620746865207661756c7420746f20757064617465e42a20606e65775f636f6e66696760202d20546865206e65772072657761726420636f6e66696775726174696f6e20636f6e7461696e696e673ac420202a206061707960202d20416e6e75616c2050657262696c6c616765205969656c6420666f7220746865207661756c74e020202a20606465706f7369745f63617060202d204d6178696d756d20616d6f756e7420746861742063616e206265206465706f7369746564290120202a2060696e63656e746976655f63617060202d204d6178696d756d20616d6f756e74206f6620696e63656e746976657320746861742063616e206265206469737472696275746564f420202a2060626f6f73745f6d756c7469706c69657260202d204f7074696f6e616c206d756c7469706c69657220746f20626f6f73742072657761726473002023204576656e747329012a20605661756c74526577617264436f6e6669675570646174656460202d20456d6974746564207768656e207661756c742072657761726420636f6e6669672069732075706461746564002023204572726f727305012a20604261644f726967696e60202d2049662063616c6c6572206973206e6f7420617574686f72697a6564207468726f7567682060466f7263654f726967696e6051012a2060496e63656e74697665436170477265617465725468616e4465706f73697443617060202d20496620696e63656e74697665206361702069732067726561746572207468616e206465706f73697420636170ec2a2060426f6f73744d756c7469706c6965724d75737442654f6e6560202d20496620626f6f7374206d756c7469706c696572206973206e6f7420314c7570646174655f64656361795f636f6e66696708013073746172745f706572696f64300144426c6f636b4e756d626572466f723c543e00011072617465f4011c50657262696c6c000604785570646174652074686520646563617920636f6e66696775726174696f6e447570646174655f6170795f626c6f636b73040118626c6f636b73300144426c6f636b4e756d626572466f723c543e000704d055706461746520746865206e756d626572206f6620626c6f636b73207573656420666f72204150592063616c63756c6174696f6e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e9d070c2c70616c6c65745f69736d701870616c6c65741043616c6c0404540001103c68616e646c655f756e7369676e65640401206d65737361676573a10701305665633c4d6573736167653e000028590145786563757465207468652070726f7669646564206261746368206f662049534d50206d657373616765732c20746869732077696c6c2073686f72742d6369726375697420616e642072657665727420696620616e795d016f66207468652070726f7669646564206d657373616765732061726520696e76616c69642e205468697320697320616e20756e7369676e65642065787472696e7369632074686174207065726d69747320616e796f6e655501657865637574652049534d50206d6573736167657320666f7220667265652c2070726f7669646564207468657920686176652076616c69642070726f6f667320616e6420746865206d657373616765732068617665786e6f74206265656e2070726576696f75736c792070726f6365737365642e00e8546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520616e20756e7369676e6564206f6e652e00c02d20606d65737361676573603a20746865206d6573736167657320746f2068616e646c65206f722070726f636573732e002d01456d69747320646966666572656e74206d657373616765206576656e7473206261736564206f6e20746865204d657373616765207265636569766564206966207375636365737366756c2e5c6372656174655f636f6e73656e7375735f636c69656e7404011c6d657373616765f9070150437265617465436f6e73656e737573537461746500021c5501437265617465206120636f6e73656e73757320636c69656e742c207573696e672061207375626a6563746976656c792063686f73656e20636f6e73656e7375732073746174652e20546869732063616e20616c736f39016265207573656420746f206f766572777269746520616e206578697374696e6720636f6e73656e7375732073746174652e20546865206469737061746368206f726967696e20666f7220746869737863616c6c206d7573742062652060543a3a41646d696e4f726967696e602e00b42d20606d657373616765603a205b60437265617465436f6e73656e7375735374617465605d207374727563742e00d8456d697473205b604576656e743a3a436f6e73656e737573436c69656e7443726561746564605d206966207375636365737366756c2e587570646174655f636f6e73656e7375735f737461746504011c6d65737361676519080150557064617465436f6e73656e73757353746174650003101d014d6f646966792074686520756e626f6e64696e6720706572696f6420616e64206368616c6c656e676520706572696f6420666f72206120636f6e73656e7375732073746174652eec546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060543a3a41646d696e4f726967696e602e00ac2d20606d657373616765603a2060557064617465436f6e73656e737573537461746560207374727563742e3066756e645f6d65737361676504011c6d6573736167651d08017446756e644d657373616765506172616d733c543a3a42616c616e63653e0004106101416464206d6f72652066756e647320746f2061206d657373616765202872657175657374206f7220726573706f6e73652920746f206265207573656420666f722064656c697665727920616e6420657865637574696f6e2e00550153686f756c64206e6f742062652063616c6c6564206f6e2061206d657373616765207468617420686173206265656e20636f6d706c65746564202864656c697665726564206f722074696d65642d6f7574292061738474686f73652066756e64732077696c6c206265206c6f737420666f72657665722e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ea107000002a50700a5070c1069736d70246d6573736167696e671c4d65737361676500011424436f6e73656e7375730400a9070140436f6e73656e7375734d65737361676500000028467261756450726f6f660400ad070144467261756450726f6f664d6573736167650001001c526571756573740400b1070138526571756573744d65737361676500020020526573706f6e73650400c107013c526573706f6e73654d6573736167650003001c54696d656f75740400f107013854696d656f75744d65737361676500040000a9070c1069736d70246d6573736167696e6740436f6e73656e7375734d65737361676500000c013c636f6e73656e7375735f70726f6f6638011c5665633c75383e000148636f6e73656e7375735f73746174655f6964480140436f6e73656e737573537461746549640001187369676e657238011c5665633c75383e0000ad070c1069736d70246d6573736167696e6744467261756450726f6f664d65737361676500000c011c70726f6f665f3138011c5665633c75383e00011c70726f6f665f3238011c5665633c75383e000148636f6e73656e7375735f73746174655f6964480140436f6e73656e737573537461746549640000b1070c1069736d70246d6573736167696e6738526571756573744d65737361676500000c01207265717565737473b50701405665633c506f7374526571756573743e00011470726f6f66bd07011450726f6f660001187369676e657238011c5665633c75383e0000b507000002b90700b9070c1069736d7018726f757465722c506f73745265717565737400001c0118736f75726365a502013053746174654d616368696e6500011064657374a502013053746174654d616368696e650001146e6f6e636530010c75363400011066726f6d38011c5665633c75383e000108746f38011c5665633c75383e00014474696d656f75745f74696d657374616d7030010c753634000110626f647938011c5665633c75383e0000bd070c1069736d70246d6573736167696e671450726f6f660000080118686569676874a902014853746174654d616368696e6548656967687400011470726f6f6638011c5665633c75383e0000c1070c1069736d70246d6573736167696e673c526573706f6e73654d65737361676500000c0120646174616772616dc507013c52657175657374526573706f6e736500011470726f6f66bd07011450726f6f660001187369676e657238011c5665633c75383e0000c5070c1069736d7018726f757465723c52657175657374526573706f6e73650001081c526571756573740400c90701305665633c526571756573743e00000020526573706f6e73650400d50701345665633c526573706f6e73653e00010000c907000002cd0700cd070c1069736d7018726f757465721c5265717565737400010810506f73740400b907012c506f7374526571756573740000000c4765740400d10701284765745265717565737400010000d1070c1069736d7018726f7574657228476574526571756573740000200118736f75726365a502013053746174654d616368696e6500011064657374a502013053746174654d616368696e650001146e6f6e636530010c75363400011066726f6d38011c5665633c75383e0001106b657973050301305665633c5665633c75383e3e00011868656967687430010c75363400011c636f6e7465787438011c5665633c75383e00014474696d656f75745f74696d657374616d7030010c7536340000d507000002d90700d9070c1069736d7018726f7574657220526573706f6e736500010810506f73740400dd070130506f7374526573706f6e73650000000c4765740400e107012c476574526573706f6e736500010000dd070c1069736d7018726f7574657230506f7374526573706f6e736500000c0110706f7374b907012c506f737452657175657374000120726573706f6e736538011c5665633c75383e00014474696d656f75745f74696d657374616d7030010c7536340000e1070c1069736d7018726f757465722c476574526573706f6e7365000008010c676574d10701284765745265717565737400011876616c756573e50701445665633c53746f7261676556616c75653e0000e507000002e90700e9070c1069736d7018726f757465723053746f7261676556616c7565000008010c6b657938011c5665633c75383e00011476616c7565ed07013c4f7074696f6e3c5665633c75383e3e0000ed0704184f7074696f6e04045401380108104e6f6e6500000010536f6d650400380000010000f1070c1069736d70246d6573736167696e673854696d656f75744d65737361676500010c10506f73740801207265717565737473c90701305665633c526571756573743e00013474696d656f75745f70726f6f66bd07011450726f6f6600000030506f7374526573706f6e7365080124726573706f6e736573f50701445665633c506f7374526573706f6e73653e00013474696d656f75745f70726f6f66bd07011450726f6f660001000c4765740401207265717565737473c90701305665633c526571756573743e00020000f507000002dd0700f9070c1069736d70246d6573736167696e6750437265617465436f6e73656e7375735374617465000018013c636f6e73656e7375735f737461746538011c5665633c75383e00014c636f6e73656e7375735f636c69656e745f6964480144436f6e73656e737573436c69656e744964000148636f6e73656e7375735f73746174655f6964480140436f6e73656e73757353746174654964000140756e626f6e64696e675f706572696f6430010c7536340001446368616c6c656e67655f706572696f6473fd07016c42547265654d61703c53746174654d616368696e652c207536343e00016473746174655f6d616368696e655f636f6d6d69746d656e7473090801b05665633c2853746174654d616368696e6549642c205374617465436f6d6d69746d656e74486569676874293e0000fd07042042547265654d617008044b01a5020456013000040001080000000108000002050800050800000408a502300009080000020d08000d0800000408a10211080011080c1069736d70246d6573736167696e67545374617465436f6d6d69746d656e744865696768740000080128636f6d6d69746d656e741508013c5374617465436f6d6d69746d656e7400011868656967687430010c753634000015080c1069736d7024636f6e73656e7375733c5374617465436f6d6d69746d656e7400000c012474696d657374616d7030010c7536340001306f7665726c61795f726f6f74c50301304f7074696f6e3c483235363e00012873746174655f726f6f7434011048323536000019080c2c70616c6c65745f69736d70147574696c7350557064617465436f6e73656e737573537461746500000c0148636f6e73656e7375735f73746174655f6964480140436f6e73656e73757353746174654964000140756e626f6e64696e675f706572696f640505012c4f7074696f6e3c7536343e0001446368616c6c656e67655f706572696f6473fd07016c42547265654d61703c53746174654d616368696e652c207536343e00001d080c2c70616c6c65745f69736d70147574696c734446756e644d657373616765506172616d73041c42616c616e6365011800080128636f6d6d69746d656e74210801444d657373616765436f6d6d69746d656e74000118616d6f756e7418011c42616c616e6365000021080c2c70616c6c65745f69736d70147574696c73444d657373616765436f6d6d69746d656e740001081c5265717565737404003401104832353600000020526573706f6e73650400340110483235360001000025080c3069736d705f6772616e6470611870616c6c65741043616c6c040454000108486164645f73746174655f6d616368696e65730401486e65775f73746174655f6d616368696e6573290801505665633c41646453746174654d616368696e653e000004010141646420736f6d652061207374617465206d616368696e6520746f20746865206c697374206f6620737570706f72746564207374617465206d616368696e65735472656d6f76655f73746174655f6d616368696e657304013873746174655f6d616368696e6573c50201445665633c53746174654d616368696e653e000104010152656d6f76652061207374617465206d616368696e652066726f6d20746865206c697374206f6620737570706f72746564207374617465206d616368696e6573040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e29080000022d08002d08083069736d705f6772616e6470613c41646453746174654d616368696e65000008013473746174655f6d616368696e65a502013053746174654d616368696e65000134736c6f745f6475726174696f6e30010c753634000031080c5070616c6c65745f746f6b656e5f676174657761791870616c6c65741043616c6c0404540001142074656c65706f7274040118706172616d73350801790154656c65706f7274506172616d733c417373657449643c543e2c3c3c5420617320436f6e6669673e3a3a4e617469766543757272656e63792061730a43757272656e63793c543a3a4163636f756e7449643e3e3a3a42616c616e63652c3e0000087054656c65706f7274732061207265676973746572656420617373657431016c6f636b732074686520617373657420616e6420646973706174636865732061207265717565737420746f20746f6b656e2067617465776179206f6e207468652064657374696e6174696f6e6c7365745f746f6b656e5f676174657761795f6164647265737365730401246164647265737365733908017c42547265654d61703c53746174654d616368696e652c205665633c75383e3e000104c85365742074686520746f6b656e2067617465776179206164647265737320666f722073706563696669656420636861696e73506372656174655f657263363136305f61737365740401146173736574450801744173736574526567697374726174696f6e3c417373657449643c543e3e00021429015265676973746572732061206d756c74692d636861696e20455243363136302061737365742e205468652061737365742073686f756c64206e6f7420616c72656164792065786973742e0059015468697320776f726b73206279206469737061746368696e672061207265717565737420746f2074686520546f6b656e47617465776179206d6f64756c65206f6e20656163682072657175657374656420636861696e50746f20637265617465207468652061737365742e0101606e6174697665602073686f756c6420626520747275652069662074686973206173736574206f726967696e617465732066726f6d207468697320636861696e507570646174655f657263363136305f617373657404011461737365745d08014847617465776179417373657455706461746500031029015265676973746572732061206d756c74692d636861696e20455243363136302061737365742e205468652061737365742073686f756c64206e6f7420616c72656164792065786973742e0059015468697320776f726b73206279206469737061746368696e672061207265717565737420746f2074686520546f6b656e47617465776179206d6f64756c65206f6e20656163682072657175657374656420636861696e50746f20637265617465207468652061737365742e587570646174655f61737365745f707265636973696f6e0401187570646174657108016c507265636973696f6e5570646174653c417373657449643c543e3e000404a85570646174652074686520707265636973696f6e20666f7220616e206578697374696e67206173736574040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e35080c5070616c6c65745f746f6b656e5f676174657761791474797065733854656c65706f7274506172616d73081c4173736574496401181c42616c616e636501180024012061737365745f696418011c4173736574496400012c64657374696e6174696f6ea502013053746174654d616368696e65000124726563657069656e7434011048323536000118616d6f756e7418011c42616c616e636500011c74696d656f757430010c753634000134746f6b656e5f6761746577617938011c5665633c75383e00012c72656c617965725f66656518011c42616c616e636500012463616c6c5f64617461ed07013c4f7074696f6e3c5665633c75383e3e00011872656465656d200110626f6f6c00003908042042547265654d617008044b01a502045601380004003d080000003d08000002410800410800000408a502380045080c5070616c6c65745f746f6b656e5f67617465776179147479706573444173736574526567697374726174696f6e041c417373657449640118001001206c6f63616c5f696418011c4173736574496400010c726567490801c8746f6b656e5f676174657761795f7072696d6974697665733a3a476174657761794173736574526567697374726174696f6e0001186e6174697665200110626f6f6c000124707265636973696f6e5108016842547265654d61703c53746174654d616368696e652c2075383e000049080860746f6b656e5f676174657761795f7072696d69746976657360476174657761794173736574526567697374726174696f6e00001001106e616d657d070170426f756e6465645665633c75382c20436f6e73745533323c35303e3e00011873796d626f6c4d080170426f756e6465645665633c75382c20436f6e73745533323c32303e3e000118636861696e73c50201445665633c53746174654d616368696e653e00013c6d696e696d756d5f62616c616e6365e50401304f7074696f6e3c753132383e00004d080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e00005108042042547265654d617008044b01a5020456010800040055080000005508000002590800590800000408a50208005d080860746f6b656e5f676174657761795f7072696d69746976657348476174657761794173736574557064617465000010012061737365745f6964340110483235360001286164645f636861696e736108019c426f756e6465645665633c53746174654d616368696e652c20436f6e73745533323c3130303e3e00013472656d6f76655f636861696e736108019c426f756e6465645665633c53746174654d616368696e652c20436f6e73745533323c3130303e3e0001286e65775f61646d696e73650801bc426f756e6465645665633c2853746174654d616368696e652c2048313630292c20436f6e73745533323c3130303e3e000061080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401a502045300000400c50201185665633c543e000065080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540169080453000004006d0801185665633c543e0000690800000408a5029101006d0800000269080071080c5070616c6c65745f746f6b656e5f676174657761791474797065733c507265636973696f6e557064617465041c4173736574496401180008012061737365745f696418011c41737365744964000128707265636973696f6e735108016842547265654d61703c53746174654d616368696e652c2075383e000075080c2c70616c6c65745f7375646f1870616c6c6574144572726f720404540001042c526571756972655375646f0000048053656e646572206d75737420626520746865205375646f206163636f756e742e04684572726f7220666f7220746865205375646f2070616c6c65742e79080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540134045300000400c10101185665633c543e00007d080c3470616c6c65745f61737365747314747970657330417373657444657461696c730c1c42616c616e63650118244163636f756e7449640100384465706f73697442616c616e63650118003001146f776e65720001244163636f756e7449640001186973737565720001244163636f756e74496400011461646d696e0001244163636f756e74496400011c667265657a65720001244163636f756e744964000118737570706c7918011c42616c616e636500011c6465706f7369741801384465706f73697442616c616e636500012c6d696e5f62616c616e636518011c42616c616e636500013469735f73756666696369656e74200110626f6f6c0001206163636f756e747310010c75333200012c73756666696369656e747310010c753332000124617070726f76616c7310010c7533320001187374617475738108012c4173736574537461747573000081080c3470616c6c65745f6173736574731474797065732c417373657453746174757300010c104c6976650000001846726f7a656e0001002844657374726f79696e670002000085080000040818000089080c3470616c6c65745f6173736574731474797065733041737365744163636f756e74101c42616c616e63650118384465706f73697442616c616e636501181445787472610184244163636f756e74496401000010011c62616c616e636518011c42616c616e63650001187374617475738d0801344163636f756e74537461747573000118726561736f6e910801a84578697374656e6365526561736f6e3c4465706f73697442616c616e63652c204163636f756e7449643e0001146578747261840114457874726100008d080c3470616c6c65745f617373657473147479706573344163636f756e7453746174757300010c184c69717569640000001846726f7a656e0001001c426c6f636b65640002000091080c3470616c6c65745f6173736574731474797065733c4578697374656e6365526561736f6e081c42616c616e63650118244163636f756e7449640100011420436f6e73756d65720000002853756666696369656e740001002c4465706f73697448656c64040018011c42616c616e63650002003c4465706f736974526566756e6465640003002c4465706f73697446726f6d08000001244163636f756e744964000018011c42616c616e63650004000095080000040c1800000099080c3470616c6c65745f61737365747314747970657320417070726f76616c081c42616c616e63650118384465706f73697442616c616e6365011800080118616d6f756e7418011c42616c616e636500011c6465706f7369741801384465706f73697442616c616e636500009d080c3470616c6c65745f6173736574731474797065733441737365744d6574616461746108384465706f73697442616c616e6365011834426f756e646564537472696e6701a1080014011c6465706f7369741801384465706f73697442616c616e63650001106e616d65a1080134426f756e646564537472696e6700011873796d626f6ca1080134426f756e646564537472696e67000120646563696d616c73080108753800012469735f66726f7a656e200110626f6f6c0000a1080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e0000a5080c3470616c6c65745f6173736574731870616c6c6574144572726f720804540004490001542842616c616e63654c6f7700000415014163636f756e742062616c616e6365206d7573742062652067726561746572207468616e206f7220657175616c20746f20746865207472616e7366657220616d6f756e742e244e6f4163636f756e7400010490546865206163636f756e7420746f20616c74657220646f6573206e6f742065786973742e304e6f5065726d697373696f6e000204e8546865207369676e696e67206163636f756e7420686173206e6f207065726d697373696f6e20746f20646f20746865206f7065726174696f6e2e1c556e6b6e6f776e0003047854686520676976656e20617373657420494420697320756e6b6e6f776e2e1846726f7a656e00040474546865206f726967696e206163636f756e742069732066726f7a656e2e14496e5573650005047854686520617373657420494420697320616c72656164792074616b656e2e284261645769746e6573730006046c496e76616c6964207769746e657373206461746120676976656e2e384d696e42616c616e63655a65726f0007048c4d696e696d756d2062616c616e63652073686f756c64206265206e6f6e2d7a65726f2e4c556e617661696c61626c65436f6e73756d657200080c5901556e61626c6520746f20696e6372656d656e742074686520636f6e73756d6572207265666572656e636520636f756e74657273206f6e20746865206163636f756e742e20456974686572206e6f2070726f76696465724d017265666572656e63652065786973747320746f20616c6c6f772061206e6f6e2d7a65726f2062616c616e6365206f662061206e6f6e2d73656c662d73756666696369656e742061737365742c206f72206f6e65f06665776572207468656e20746865206d6178696d756d206e756d626572206f6620636f6e73756d65727320686173206265656e20726561636865642e2c4261644d657461646174610009045c496e76616c6964206d6574616461746120676976656e2e28556e617070726f766564000a04c44e6f20617070726f76616c20657869737473207468617420776f756c6420616c6c6f7720746865207472616e736665722e20576f756c64446965000b04350154686520736f75726365206163636f756e7420776f756c64206e6f74207375727669766520746865207472616e7366657220616e64206974206e6565647320746f207374617920616c6976652e34416c7265616479457869737473000c04845468652061737365742d6163636f756e7420616c7265616479206578697374732e244e6f4465706f736974000d04d45468652061737365742d6163636f756e7420646f65736e2774206861766520616e206173736f636961746564206465706f7369742e24576f756c644275726e000e04c4546865206f7065726174696f6e20776f756c6420726573756c7420696e2066756e6473206265696e67206275726e65642e244c6976654173736574000f0859015468652061737365742069732061206c69766520617373657420616e64206973206163746976656c79206265696e6720757365642e20557375616c6c7920656d697420666f72206f7065726174696f6e7320737563681d016173206073746172745f64657374726f796020776869636820726571756972652074686520617373657420746f20626520696e20612064657374726f79696e672073746174652e3041737365744e6f744c697665001004c8546865206173736574206973206e6f74206c6976652c20616e64206c696b656c79206265696e672064657374726f7965642e3c496e636f7272656374537461747573001104b054686520617373657420737461747573206973206e6f7420746865206578706563746564207374617475732e244e6f7446726f7a656e001204d85468652061737365742073686f756c642062652066726f7a656e206265666f72652074686520676976656e206f7065726174696f6e2e3843616c6c6261636b4661696c65640013048443616c6c6261636b20616374696f6e20726573756c74656420696e206572726f722842616441737365744964001404c8546865206173736574204944206d75737420626520657175616c20746f20746865205b604e65787441737365744964605d2e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ea9080c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401ad08045300000400b50801185665633c543e0000ad080c3c70616c6c65745f62616c616e6365731474797065732c42616c616e63654c6f636b041c42616c616e63650118000c01086964350301384c6f636b4964656e746966696572000118616d6f756e7418011c42616c616e636500011c726561736f6e73b108011c526561736f6e730000b1080c3c70616c6c65745f62616c616e6365731474797065731c526561736f6e7300010c0c466565000000104d6973630001000c416c6c00020000b508000002ad0800b9080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401bd08045300000400c10801185665633c543e0000bd080c3c70616c6c65745f62616c616e6365731474797065732c52657365727665446174610844526573657276654964656e7469666965720135031c42616c616e6365011800080108696435030144526573657276654964656e746966696572000118616d6f756e7418011c42616c616e63650000c108000002bd0800c5080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401c908045300000400d50801185665633c543e0000c90814346672616d655f737570706f72741874726169747318746f6b656e73106d697363204964416d6f756e740808496401cd081c42616c616e63650118000801086964cd0801084964000118616d6f756e7418011c42616c616e63650000cd08085874616e676c655f746573746e65745f72756e74696d654452756e74696d65486f6c64526561736f6e00010420507265696d6167650400d108016c70616c6c65745f707265696d6167653a3a486f6c64526561736f6e001a0000d1080c3c70616c6c65745f707265696d6167651870616c6c657428486f6c64526561736f6e00010420507265696d61676500000000d508000002c90800d9080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401dd08045300000400ed0801185665633c543e0000dd0814346672616d655f737570706f72741874726169747318746f6b656e73106d697363204964416d6f756e740808496401e1081c42616c616e63650118000801086964e10801084964000118616d6f756e7418011c42616c616e63650000e108085874616e676c655f746573746e65745f72756e74696d654c52756e74696d65467265657a65526561736f6e0001083c4e6f6d696e6174696f6e506f6f6c730400e508019470616c6c65745f6e6f6d696e6174696f6e5f706f6f6c733a3a467265657a65526561736f6e0018000c4c73740400e908017c70616c6c65745f74616e676c655f6c73743a3a467265657a65526561736f6e00340000e5080c5c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c731870616c6c657430467265657a65526561736f6e00010438506f6f6c4d696e42616c616e636500000000e9080c4470616c6c65745f74616e676c655f6c73741870616c6c657430467265657a65526561736f6e00010438506f6f6c4d696e42616c616e636500000000ed08000002dd0800f1080c3c70616c6c65745f62616c616e6365731870616c6c6574144572726f720804540004490001303856657374696e6742616c616e63650000049c56657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c75652e544c69717569646974795265737472696374696f6e73000104c84163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c2e4c496e73756666696369656e7442616c616e63650002047842616c616e636520746f6f206c6f7720746f2073656e642076616c75652e484578697374656e7469616c4465706f736974000304ec56616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f7369742e34457870656e646162696c697479000404905472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e742e5c4578697374696e6756657374696e675363686564756c65000504cc412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742e2c446561644163636f756e740006048c42656e6566696369617279206163636f756e74206d757374207072652d65786973742e3c546f6f4d616e795265736572766573000704b84e756d626572206f66206e616d65642072657365727665732065786365656420604d61785265736572766573602e30546f6f4d616e79486f6c6473000804f84e756d626572206f6620686f6c647320657863656564206056617269616e74436f756e744f663c543a3a52756e74696d65486f6c64526561736f6e3e602e38546f6f4d616e79467265657a6573000904984e756d626572206f6620667265657a65732065786365656420604d6178467265657a6573602e4c49737375616e63654465616374697661746564000a0401015468652069737375616e63652063616e6e6f74206265206d6f6469666965642073696e636520697420697320616c72656164792064656163746976617465642e2444656c74615a65726f000b04645468652064656c74612063616e6e6f74206265207a65726f2e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ef5080c3473705f61726974686d657469632c66697865645f706f696e742446697865645531323800000400180110753132380000f908086870616c6c65745f7472616e73616374696f6e5f7061796d656e742052656c6561736573000108245631416e6369656e7400000008563200010000fd080c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e646564566563080454010109045300000400050901185665633c543e000001090000040865033000050900000201090009090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401040453000004000d0901185665633c543e00000d090000020400110904184f7074696f6e0404540115090108104e6f6e6500000010536f6d6504001509000001000015090c4473705f636f6e73656e7375735f626162651c646967657374732450726544696765737400010c1c5072696d6172790400190901405072696d617279507265446967657374000100385365636f6e64617279506c61696e04002109015c5365636f6e64617279506c61696e507265446967657374000200305365636f6e646172795652460400250901545365636f6e646172795652465072654469676573740003000019090c4473705f636f6e73656e7375735f626162651c64696765737473405072696d61727950726544696765737400000c013c617574686f726974795f696e64657810015473757065723a3a417574686f72697479496e646578000110736c6f7469030110536c6f740001347672665f7369676e61747572651d0901305672665369676e617475726500001d09101c73705f636f72651c737232353531390c767266305672665369676e617475726500000801287072655f6f75747075740401305672665072654f757470757400011470726f6f669503012056726650726f6f66000021090c4473705f636f6e73656e7375735f626162651c646967657374735c5365636f6e64617279506c61696e507265446967657374000008013c617574686f726974795f696e64657810015473757065723a3a417574686f72697479496e646578000110736c6f7469030110536c6f74000025090c4473705f636f6e73656e7375735f626162651c64696765737473545365636f6e6461727956524650726544696765737400000c013c617574686f726974795f696e64657810015473757065723a3a417574686f72697479496e646578000110736c6f7469030110536c6f740001347672665f7369676e61747572651d0901305672665369676e617475726500002909084473705f636f6e73656e7375735f62616265584261626545706f6368436f6e66696775726174696f6e00000801046375030128287536342c2075363429000134616c6c6f7765645f736c6f747379030130416c6c6f776564536c6f747300002d090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454013901045300000400e90201185665633c543e000031090c2c70616c6c65745f626162651870616c6c6574144572726f7204045400011060496e76616c696445717569766f636174696f6e50726f6f660000043101416e2065717569766f636174696f6e2070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e60496e76616c69644b65794f776e65727368697050726f6f66000104310141206b6579206f776e6572736869702070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e584475706c69636174654f6666656e63655265706f727400020415014120676976656e2065717569766f636174696f6e207265706f72742069732076616c69642062757420616c72656164792070726576696f75736c79207265706f727465642e50496e76616c6964436f6e66696775726174696f6e0003048c5375626d697474656420636f6e66696775726174696f6e20697320696e76616c69642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e3509083870616c6c65745f6772616e6470612c53746f726564537461746504044e01300110104c6976650000003050656e64696e6750617573650801307363686564756c65645f61743001044e00011464656c61793001044e000100185061757365640002003450656e64696e67526573756d650801307363686564756c65645f61743001044e00011464656c61793001044e000300003909083870616c6c65745f6772616e6470614c53746f72656450656e64696e674368616e676508044e0130144c696d697400001001307363686564756c65645f61743001044e00011464656c61793001044e0001406e6578745f617574686f7269746965733d09016c426f756e646564417574686f726974794c6973743c4c696d69743e000118666f72636564050501244f7074696f6e3c4e3e00003d090c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401a4045300000400a001185665633c543e000041090c3870616c6c65745f6772616e6470611870616c6c6574144572726f7204045400011c2c50617573654661696c65640000080501417474656d707420746f207369676e616c204752414e445041207061757365207768656e2074686520617574686f72697479207365742069736e2774206c697665a42865697468657220706175736564206f7220616c72656164792070656e64696e67207061757365292e30526573756d654661696c65640001081101417474656d707420746f207369676e616c204752414e44504120726573756d65207768656e2074686520617574686f72697479207365742069736e277420706175736564a028656974686572206c697665206f7220616c72656164792070656e64696e6720726573756d65292e344368616e676550656e64696e67000204e8417474656d707420746f207369676e616c204752414e445041206368616e67652077697468206f6e6520616c72656164792070656e64696e672e1c546f6f536f6f6e000304bc43616e6e6f74207369676e616c20666f72636564206368616e676520736f20736f6f6e206166746572206c6173742e60496e76616c69644b65794f776e65727368697050726f6f66000404310141206b6579206f776e6572736869702070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e60496e76616c696445717569766f636174696f6e50726f6f660005043101416e2065717569766f636174696f6e2070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e584475706c69636174654f6666656e63655265706f727400060415014120676976656e2065717569766f636174696f6e207265706f72742069732076616c69642062757420616c72656164792070726576696f75736c79207265706f727465642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e45090000040c0018200049090c3870616c6c65745f696e64696365731870616c6c6574144572726f720404540001142c4e6f7441737369676e65640000048c54686520696e64657820776173206e6f7420616c72656164792061737369676e65642e204e6f744f776e6572000104a454686520696e6465782069732061737369676e656420746f20616e6f74686572206163636f756e742e14496e5573650002047054686520696e64657820776173206e6f7420617661696c61626c652e2c4e6f745472616e73666572000304c854686520736f7572636520616e642064657374696e6174696f6e206163636f756e747320617265206964656e746963616c2e245065726d616e656e74000404d054686520696e646578206973207065726d616e656e7420616e64206d6179206e6f742062652066726565642f6368616e6765642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e4d090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454015109045300000400550901185665633c543e000051090000040c10b50300005509000002510900590900000408e10418005d090c4070616c6c65745f64656d6f6372616379147479706573385265666572656e64756d496e666f0c2c426c6f636b4e756d62657201302050726f706f73616c01b5031c42616c616e6365011801081c4f6e676f696e670400610901c05265666572656e64756d5374617475733c426c6f636b4e756d6265722c2050726f706f73616c2c2042616c616e63653e0000002046696e6973686564080120617070726f766564200110626f6f6c00010c656e6430012c426c6f636b4e756d6265720001000061090c4070616c6c65745f64656d6f6372616379147479706573405265666572656e64756d5374617475730c2c426c6f636b4e756d62657201302050726f706f73616c01b5031c42616c616e636501180014010c656e6430012c426c6f636b4e756d62657200012070726f706f73616cb503012050726f706f73616c0001247468726573686f6c64b40134566f74655468726573686f6c6400011464656c617930012c426c6f636b4e756d62657200011474616c6c796509013854616c6c793c42616c616e63653e000065090c4070616c6c65745f64656d6f63726163791474797065731454616c6c79041c42616c616e63650118000c01106179657318011c42616c616e63650001106e61797318011c42616c616e636500011c7475726e6f757418011c42616c616e6365000069090c4070616c6c65745f64656d6f637261637910766f746518566f74696e67101c42616c616e63650118244163636f756e74496401002c426c6f636b4e756d6265720130204d6178566f746573000108184469726563740c0114766f7465736d0901f4426f756e6465645665633c285265666572656e64756d496e6465782c204163636f756e74566f74653c42616c616e63653e292c204d6178566f7465733e00012c64656c65676174696f6e737909015044656c65676174696f6e733c42616c616e63653e0001147072696f727d09017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e0000002844656c65676174696e6714011c62616c616e636518011c42616c616e63650001187461726765740001244163636f756e744964000128636f6e76696374696f6ec1030128436f6e76696374696f6e00012c64656c65676174696f6e737909015044656c65676174696f6e733c42616c616e63653e0001147072696f727d09017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e000100006d090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454017109045300000400750901185665633c543e000071090000040810b800750900000271090079090c4070616c6c65745f64656d6f63726163791474797065732c44656c65676174696f6e73041c42616c616e6365011800080114766f74657318011c42616c616e636500011c6361706974616c18011c42616c616e636500007d090c4070616c6c65745f64656d6f637261637910766f7465245072696f724c6f636b082c426c6f636b4e756d62657201301c42616c616e6365011800080030012c426c6f636b4e756d626572000018011c42616c616e63650000810900000408b503b40085090000040830e1040089090c4070616c6c65745f64656d6f63726163791870616c6c6574144572726f720404540001602056616c75654c6f770000043456616c756520746f6f206c6f773c50726f706f73616c4d697373696e670001045c50726f706f73616c20646f6573206e6f742065786973743c416c726561647943616e63656c65640002049443616e6e6f742063616e63656c207468652073616d652070726f706f73616c207477696365444475706c696361746550726f706f73616c0003045450726f706f73616c20616c7265616479206d6164654c50726f706f73616c426c61636b6c69737465640004046850726f706f73616c207374696c6c20626c61636b6c6973746564444e6f7453696d706c654d616a6f72697479000504a84e6578742065787465726e616c2070726f706f73616c206e6f742073696d706c65206d616a6f726974792c496e76616c69644861736800060430496e76616c69642068617368284e6f50726f706f73616c000704504e6f2065787465726e616c2070726f706f73616c34416c72656164795665746f6564000804984964656e74697479206d6179206e6f74207665746f20612070726f706f73616c207477696365445265666572656e64756d496e76616c696400090484566f746520676976656e20666f7220696e76616c6964207265666572656e64756d2c4e6f6e6557616974696e67000a04504e6f2070726f706f73616c732077616974696e67204e6f74566f746572000b04c454686520676976656e206163636f756e7420646964206e6f7420766f7465206f6e20746865207265666572656e64756d2e304e6f5065726d697373696f6e000c04c8546865206163746f7220686173206e6f207065726d697373696f6e20746f20636f6e647563742074686520616374696f6e2e44416c726561647944656c65676174696e67000d0488546865206163636f756e7420697320616c72656164792064656c65676174696e672e44496e73756666696369656e7446756e6473000e04fc546f6f206869676820612062616c616e6365207761732070726f7669646564207468617420746865206163636f756e742063616e6e6f74206166666f72642e344e6f7444656c65676174696e67000f04a0546865206163636f756e74206973206e6f742063757272656e746c792064656c65676174696e672e28566f74657345786973740010085501546865206163636f756e742063757272656e746c792068617320766f74657320617474616368656420746f20697420616e6420746865206f7065726174696f6e2063616e6e6f74207375636365656420756e74696ce87468657365206172652072656d6f7665642c20656974686572207468726f7567682060756e766f746560206f722060726561705f766f7465602e44496e7374616e744e6f74416c6c6f776564001104d854686520696e7374616e74207265666572656e64756d206f726967696e2069732063757272656e746c7920646973616c6c6f7765642e204e6f6e73656e73650012049444656c65676174696f6e20746f206f6e6573656c66206d616b6573206e6f2073656e73652e3c57726f6e675570706572426f756e6400130450496e76616c696420757070657220626f756e642e3c4d6178566f74657352656163686564001404804d6178696d756d206e756d626572206f6620766f74657320726561636865642e1c546f6f4d616e79001504804d6178696d756d206e756d626572206f66206974656d7320726561636865642e3c566f74696e67506572696f644c6f7700160454566f74696e6720706572696f6420746f6f206c6f7740507265696d6167654e6f7445786973740017047054686520707265696d61676520646f6573206e6f742065786973742e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e8d090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540134045300000400c10101185665633c543e00009109084470616c6c65745f636f6c6c65637469766514566f74657308244163636f756e74496401002c426c6f636b4e756d626572013000140114696e64657810013450726f706f73616c496e6465780001247468726573686f6c6410012c4d656d626572436f756e7400011061796573450201385665633c4163636f756e7449643e0001106e617973450201385665633c4163636f756e7449643e00010c656e6430012c426c6f636b4e756d626572000095090c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f7208045400044900012c244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e545072696d654163636f756e744e6f744d656d626572000a04745072696d65206163636f756e74206973206e6f742061206d656d626572048054686520604572726f726020656e756d206f6620746869732070616c6c65742e99090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401d1030453000004009d0901185665633c543e00009d09000002d10300a109083870616c6c65745f76657374696e672052656c656173657300010808563000000008563100010000a5090c3870616c6c65745f76657374696e671870616c6c6574144572726f72040454000114284e6f7456657374696e6700000484546865206163636f756e7420676976656e206973206e6f742076657374696e672e5441744d617856657374696e675363686564756c65730001082501546865206163636f756e7420616c72656164792068617320604d617856657374696e675363686564756c65736020636f756e74206f66207363686564756c657320616e642074687573510163616e6e6f742061646420616e6f74686572206f6e652e20436f6e7369646572206d657267696e67206578697374696e67207363686564756c657320696e206f7264657220746f2061646420616e6f746865722e24416d6f756e744c6f770002040501416d6f756e74206265696e67207472616e7366657272656420697320746f6f206c6f7720746f2063726561746520612076657374696e67207363686564756c652e605363686564756c65496e6465784f75744f66426f756e6473000304d0416e20696e64657820776173206f7574206f6620626f756e6473206f66207468652076657374696e67207363686564756c65732e54496e76616c69645363686564756c65506172616d730004040d014661696c656420746f206372656174652061206e6577207363686564756c65206265636175736520736f6d6520706172616d657465722077617320696e76616c69642e04744572726f7220666f72207468652076657374696e672070616c6c65742ea909000002ad0900ad09086470616c6c65745f656c656374696f6e735f70687261676d656e2853656174486f6c64657208244163636f756e74496401001c42616c616e63650118000c010c77686f0001244163636f756e7449640001147374616b6518011c42616c616e636500011c6465706f73697418011c42616c616e63650000b109086470616c6c65745f656c656374696f6e735f70687261676d656e14566f74657208244163636f756e74496401001c42616c616e63650118000c0114766f746573450201385665633c4163636f756e7449643e0001147374616b6518011c42616c616e636500011c6465706f73697418011c42616c616e63650000b5090c6470616c6c65745f656c656374696f6e735f70687261676d656e1870616c6c6574144572726f7204045400014430556e61626c65546f566f7465000004c043616e6e6f7420766f7465207768656e206e6f2063616e64696461746573206f72206d656d626572732065786973742e1c4e6f566f746573000104944d75737420766f746520666f72206174206c65617374206f6e652063616e6469646174652e30546f6f4d616e79566f7465730002048443616e6e6f7420766f7465206d6f7265207468616e2063616e646964617465732e504d6178696d756d566f74657345786365656465640003049843616e6e6f7420766f7465206d6f7265207468616e206d6178696d756d20616c6c6f7765642e284c6f7742616c616e6365000404c443616e6e6f7420766f74652077697468207374616b65206c657373207468616e206d696e696d756d2062616c616e63652e3c556e61626c65546f506179426f6e6400050478566f7465722063616e206e6f742070617920766f74696e6720626f6e642e2c4d7573744265566f746572000604404d757374206265206120766f7465722e4c4475706c69636174656443616e646964617465000704804475706c6963617465642063616e646964617465207375626d697373696f6e2e44546f6f4d616e7943616e6469646174657300080498546f6f206d616e792063616e646964617465732068617665206265656e20637265617465642e304d656d6265725375626d6974000904884d656d6265722063616e6e6f742072652d7375626d69742063616e6469646163792e3852756e6e657255705375626d6974000a048852756e6e65722063616e6e6f742072652d7375626d69742063616e6469646163792e68496e73756666696369656e7443616e64696461746546756e6473000b049443616e64696461746520646f6573206e6f74206861766520656e6f7567682066756e64732e244e6f744d656d626572000c04344e6f742061206d656d6265722e48496e76616c69645769746e65737344617461000d04e05468652070726f766964656420636f756e74206f66206e756d626572206f662063616e6469646174657320697320696e636f72726563742e40496e76616c6964566f7465436f756e74000e04cc5468652070726f766964656420636f756e74206f66206e756d626572206f6620766f74657320697320696e636f72726563742e44496e76616c696452656e6f756e63696e67000f04fc5468652072656e6f756e63696e67206f726967696e2070726573656e74656420612077726f6e67206052656e6f756e63696e676020706172616d657465722e48496e76616c69645265706c6163656d656e74001004fc50726564696374696f6e20726567617264696e67207265706c6163656d656e74206166746572206d656d6265722072656d6f76616c2069732077726f6e672e048054686520604572726f726020656e756d206f6620746869732070616c6c65742eb909089070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f7068617365345265616479536f6c7574696f6e08244163636f756e74496400284d617857696e6e65727300000c0120737570706f727473bd090198426f756e646564537570706f7274733c4163636f756e7449642c204d617857696e6e6572733e00011473636f7265e00134456c656374696f6e53636f726500011c636f6d70757465dc013c456c656374696f6e436f6d707574650000bd090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401bd04045300000400b90401185665633c543e0000c109089070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f706861736534526f756e64536e617073686f7408244163636f756e7449640100304461746150726f766964657201c50900080118766f74657273cd0901445665633c4461746150726f76696465723e00011c74617267657473450201385665633c4163636f756e7449643e0000c5090000040c0030c90900c9090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400450201185665633c543e0000cd09000002c50900d1090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401d509045300000400d90901185665633c543e0000d5090000040ce0301000d909000002d50900dd090c9070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f7068617365187369676e6564405369676e65645375626d697373696f6e0c244163636f756e74496401001c42616c616e6365011820536f6c7574696f6e01e5030010010c77686f0001244163636f756e74496400011c6465706f73697418011c42616c616e63650001307261775f736f6c7574696f6ee1030154526177536f6c7574696f6e3c536f6c7574696f6e3e00012063616c6c5f66656518011c42616c616e63650000e1090c9070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f70686173651870616c6c6574144572726f7204045400013c6850726544697370617463684561726c795375626d697373696f6e000004645375626d697373696f6e2077617320746f6f206561726c792e6c507265446973706174636857726f6e6757696e6e6572436f756e740001048857726f6e67206e756d626572206f662077696e6e6572732070726573656e7465642e6450726544697370617463685765616b5375626d697373696f6e000204905375626d697373696f6e2077617320746f6f207765616b2c2073636f72652d776973652e3c5369676e6564517565756546756c6c0003044901546865207175657565207761732066756c6c2c20616e642074686520736f6c7574696f6e20776173206e6f7420626574746572207468616e20616e79206f6620746865206578697374696e67206f6e65732e585369676e656443616e6e6f745061794465706f73697400040494546865206f726967696e206661696c656420746f2070617920746865206465706f7369742e505369676e6564496e76616c69645769746e657373000504a05769746e657373206461746120746f20646973706174636861626c6520697320696e76616c69642e4c5369676e6564546f6f4d756368576569676874000604b8546865207369676e6564207375626d697373696f6e20636f6e73756d657320746f6f206d756368207765696768743c4f637743616c6c57726f6e67457261000704984f4357207375626d697474656420736f6c7574696f6e20666f722077726f6e6720726f756e645c4d697373696e67536e617073686f744d65746164617461000804a8536e617073686f74206d657461646174612073686f756c6420657869737420627574206469646e27742e58496e76616c69645375626d697373696f6e496e646578000904d06053656c663a3a696e736572745f7375626d697373696f6e602072657475726e656420616e20696e76616c696420696e6465782e3843616c6c4e6f74416c6c6f776564000a04985468652063616c6c206973206e6f7420616c6c6f776564206174207468697320706f696e742e3846616c6c6261636b4661696c6564000b044c5468652066616c6c6261636b206661696c65642c426f756e644e6f744d6574000c0448536f6d6520626f756e64206e6f74206d657438546f6f4d616e7957696e6e657273000d049c5375626d697474656420736f6c7574696f6e2068617320746f6f206d616e792077696e6e657273645072654469737061746368446966666572656e74526f756e64000e04b85375626d697373696f6e2077617320707265706172656420666f72206120646966666572656e7420726f756e642e040d014572726f72206f66207468652070616c6c657420746861742063616e2062652072657475726e656420696e20726573706f6e736520746f20646973706174636865732ee509083870616c6c65745f7374616b696e67345374616b696e674c656467657204045400001401147374617368000130543a3a4163636f756e744964000114746f74616c6d01013042616c616e63654f663c543e0001186163746976656d01013042616c616e63654f663c543e000124756e6c6f636b696e67ed0401f0426f756e6465645665633c556e6c6f636b4368756e6b3c42616c616e63654f663c543e3e2c20543a3a4d6178556e6c6f636b696e674368756e6b733e0001586c65676163795f636c61696d65645f72657761726473e9090194426f756e6465645665633c457261496e6465782c20543a3a486973746f727944657074683e0000e9090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540110045300000400cd0401185665633c543e0000ed09083870616c6c65745f7374616b696e672c4e6f6d696e6174696f6e7304045400000c011c74617267657473c90901b4426f756e6465645665633c543a3a4163636f756e7449642c204d61784e6f6d696e6174696f6e734f663c543e3e0001307375626d69747465645f696e100120457261496e64657800012873757070726573736564200110626f6f6c0000f109083870616c6c65745f7374616b696e6734416374697665457261496e666f0000080114696e646578100120457261496e64657800011473746172740505012c4f7074696f6e3c7536343e0000f50900000408100000f909082873705f7374616b696e675450616765644578706f737572654d65746164617461041c42616c616e6365011800100114746f74616c6d01011c42616c616e636500010c6f776e6d01011c42616c616e636500013c6e6f6d696e61746f725f636f756e7410010c753332000128706167655f636f756e74100110506167650000fd090000040c10001000010a082873705f7374616b696e67304578706f737572655061676508244163636f756e74496401001c42616c616e6365011800080128706167655f746f74616c6d01011c42616c616e63650001186f7468657273710101ac5665633c496e646976696475616c4578706f737572653c4163636f756e7449642c2042616c616e63653e3e0000050a083870616c6c65745f7374616b696e673c457261526577617264506f696e747304244163636f756e744964010000080114746f74616c10012c526577617264506f696e74000128696e646976696475616c090a018042547265654d61703c4163636f756e7449642c20526577617264506f696e743e0000090a042042547265654d617008044b0100045601100004000d0a0000000d0a000002110a00110a00000408001000150a000002190a00190a083870616c6c65745f7374616b696e6738556e6170706c696564536c61736808244163636f756e74496401001c42616c616e636501180014012476616c696461746f720001244163636f756e74496400010c6f776e18011c42616c616e63650001186f7468657273d001645665633c284163636f756e7449642c2042616c616e6365293e0001247265706f7274657273450201385665633c4163636f756e7449643e0001187061796f757418011c42616c616e636500001d0a000002210a00210a00000408101000250a00000408f41800290a0c3870616c6c65745f7374616b696e6720736c617368696e6734536c617368696e675370616e7300001001287370616e5f696e6465781001245370616e496e6465780001286c6173745f7374617274100120457261496e6465780001486c6173745f6e6f6e7a65726f5f736c617368100120457261496e6465780001147072696f72cd0401345665633c457261496e6465783e00002d0a0c3870616c6c65745f7374616b696e6720736c617368696e67285370616e5265636f7264041c42616c616e636501180008011c736c617368656418011c42616c616e6365000120706169645f6f757418011c42616c616e63650000310a103870616c6c65745f7374616b696e671870616c6c65741870616c6c6574144572726f7204045400017c344e6f74436f6e74726f6c6c6572000004644e6f74206120636f6e74726f6c6c6572206163636f756e742e204e6f745374617368000104504e6f742061207374617368206163636f756e742e34416c7265616479426f6e64656400020460537461736820697320616c726561647920626f6e6465642e34416c726561647950616972656400030474436f6e74726f6c6c657220697320616c7265616479207061697265642e30456d7074795461726765747300040460546172676574732063616e6e6f7420626520656d7074792e384475706c6963617465496e646578000504404475706c696361746520696e6465782e44496e76616c6964536c617368496e64657800060484536c617368207265636f726420696e646578206f7574206f6620626f756e64732e40496e73756666696369656e74426f6e6400070c590143616e6e6f74206861766520612076616c696461746f72206f72206e6f6d696e61746f7220726f6c652c20776974682076616c7565206c657373207468616e20746865206d696e696d756d20646566696e65642062793d01676f7665726e616e6365202873656520604d696e56616c696461746f72426f6e646020616e6420604d696e4e6f6d696e61746f72426f6e6460292e20496620756e626f6e64696e67206973207468651501696e74656e74696f6e2c20606368696c6c6020666972737420746f2072656d6f7665206f6e65277320726f6c652061732076616c696461746f722f6e6f6d696e61746f722e304e6f4d6f72654368756e6b730008049043616e206e6f74207363686564756c65206d6f726520756e6c6f636b206368756e6b732e344e6f556e6c6f636b4368756e6b000904a043616e206e6f74207265626f6e6420776974686f757420756e6c6f636b696e67206368756e6b732e3046756e646564546172676574000a04c8417474656d7074696e6720746f2074617267657420612073746173682074686174207374696c6c206861732066756e64732e48496e76616c6964457261546f526577617264000b0458496e76616c69642065726120746f207265776172642e68496e76616c69644e756d6265724f664e6f6d696e6174696f6e73000c0478496e76616c6964206e756d626572206f66206e6f6d696e6174696f6e732e484e6f74536f72746564416e64556e69717565000d04804974656d7320617265206e6f7420736f7274656420616e6420756e697175652e38416c7265616479436c61696d6564000e0409015265776172647320666f72207468697320657261206861766520616c7265616479206265656e20636c61696d656420666f7220746869732076616c696461746f722e2c496e76616c696450616765000f04844e6f206e6f6d696e61746f7273206578697374206f6e207468697320706167652e54496e636f7272656374486973746f72794465707468001004c0496e636f72726563742070726576696f757320686973746f727920646570746820696e7075742070726f76696465642e58496e636f7272656374536c617368696e675370616e73001104b0496e636f7272656374206e756d626572206f6620736c617368696e67207370616e732070726f76696465642e2042616453746174650012043901496e7465726e616c20737461746520686173206265636f6d6520736f6d65686f7720636f7272757074656420616e6420746865206f7065726174696f6e2063616e6e6f7420636f6e74696e75652e38546f6f4d616e795461726765747300130494546f6f206d616e79206e6f6d696e6174696f6e207461726765747320737570706c6965642e244261645461726765740014043d0141206e6f6d696e6174696f6e207461726765742077617320737570706c69656420746861742077617320626c6f636b6564206f72206f7468657277697365206e6f7420612076616c696461746f722e4043616e6e6f744368696c6c4f74686572001504550154686520757365722068617320656e6f75676820626f6e6420616e6420746875732063616e6e6f74206265206368696c6c656420666f72636566756c6c7920627920616e2065787465726e616c20706572736f6e2e44546f6f4d616e794e6f6d696e61746f72730016084d0154686572652061726520746f6f206d616e79206e6f6d696e61746f727320696e207468652073797374656d2e20476f7665726e616e6365206e6565647320746f2061646a75737420746865207374616b696e67b473657474696e677320746f206b656570207468696e6773207361666520666f72207468652072756e74696d652e44546f6f4d616e7956616c696461746f7273001708550154686572652061726520746f6f206d616e792076616c696461746f722063616e6469646174657320696e207468652073797374656d2e20476f7665726e616e6365206e6565647320746f2061646a75737420746865d47374616b696e672073657474696e677320746f206b656570207468696e6773207361666520666f72207468652072756e74696d652e40436f6d6d697373696f6e546f6f4c6f77001804e0436f6d6d697373696f6e20697320746f6f206c6f772e204d757374206265206174206c6561737420604d696e436f6d6d697373696f6e602e2c426f756e644e6f744d657400190458536f6d6520626f756e64206973206e6f74206d65742e50436f6e74726f6c6c657244657072656361746564001a04010155736564207768656e20617474656d7074696e6720746f20757365206465707265636174656420636f6e74726f6c6c6572206163636f756e74206c6f6769632e4c43616e6e6f74526573746f72654c6564676572001b045843616e6e6f742072657365742061206c65646765722e6c52657761726444657374696e6174696f6e52657374726963746564001c04ac50726f7669646564207265776172642064657374696e6174696f6e206973206e6f7420616c6c6f7765642e384e6f74456e6f75676846756e6473001d049c4e6f7420656e6f7567682066756e647320617661696c61626c6520746f2077697468647261772e5c5669727475616c5374616b65724e6f74416c6c6f776564001e04a84f7065726174696f6e206e6f7420616c6c6f77656420666f72207669727475616c207374616b6572732e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e350a000002390a00390a0000040800fd04003d0a00000408410a3800410a0c1c73705f636f72651863727970746f244b65795479706549640000040048011c5b75383b20345d0000450a0c3870616c6c65745f73657373696f6e1870616c6c6574144572726f7204045400011430496e76616c696450726f6f6600000460496e76616c6964206f776e6572736869702070726f6f662e5c4e6f4173736f63696174656456616c696461746f7249640001049c4e6f206173736f6369617465642076616c696461746f7220494420666f72206163636f756e742e344475706c6963617465644b65790002046452656769737465726564206475706c6963617465206b65792e184e6f4b657973000304a44e6f206b65797320617265206173736f63696174656420776974682074686973206163636f756e742e244e6f4163636f756e7400040419014b65792073657474696e67206163636f756e74206973206e6f74206c6976652c20736f206974277320696d706f737369626c6520746f206173736f6369617465206b6579732e04744572726f7220666f72207468652073657373696f6e2070616c6c65742e490a000004083410004d0a083c70616c6c65745f74726561737572792050726f706f73616c08244163636f756e74496401001c42616c616e636501180010012070726f706f7365720001244163636f756e74496400011476616c756518011c42616c616e636500012c62656e65666963696172790001244163636f756e744964000110626f6e6418011c42616c616e63650000510a0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540110045300000400cd0401185665633c543e0000550a083c70616c6c65745f74726561737572792c5370656e64537461747573142441737365744b696e64018430417373657442616c616e636501182c42656e656669636961727901002c426c6f636b4e756d6265720130245061796d656e74496401840018012861737365745f6b696e6484012441737365744b696e64000118616d6f756e74180130417373657442616c616e636500012c62656e656669636961727900012c42656e656669636961727900012876616c69645f66726f6d30012c426c6f636b4e756d6265720001246578706972655f617430012c426c6f636b4e756d626572000118737461747573590a015c5061796d656e7453746174653c5061796d656e7449643e0000590a083c70616c6c65745f7472656173757279305061796d656e745374617465040849640184010c1c50656e64696e6700000024417474656d7074656404010869648401084964000100184661696c6564000200005d0a08346672616d655f737570706f72742050616c6c65744964000004003503011c5b75383b20385d0000610a0c3c70616c6c65745f74726561737572791870616c6c6574144572726f7208045400044900012c30496e76616c6964496e646578000004ac4e6f2070726f706f73616c2c20626f756e7479206f72207370656e64206174207468617420696e6465782e40546f6f4d616e79417070726f76616c7300010480546f6f206d616e7920617070726f76616c7320696e207468652071756575652e58496e73756666696369656e745065726d697373696f6e0002084501546865207370656e64206f726967696e2069732076616c6964206275742074686520616d6f756e7420697420697320616c6c6f77656420746f207370656e64206973206c6f776572207468616e207468654c616d6f756e7420746f206265207370656e742e4c50726f706f73616c4e6f74417070726f7665640003047c50726f706f73616c20686173206e6f74206265656e20617070726f7665642e584661696c6564546f436f6e7665727442616c616e636500040451015468652062616c616e6365206f6620746865206173736574206b696e64206973206e6f7420636f6e7665727469626c6520746f207468652062616c616e6365206f6620746865206e61746976652061737365742e305370656e6445787069726564000504b0546865207370656e6420686173206578706972656420616e642063616e6e6f7420626520636c61696d65642e2c4561726c795061796f7574000604a4546865207370656e64206973206e6f742079657420656c696769626c6520666f72207061796f75742e40416c7265616479417474656d707465640007049c546865207061796d656e742068617320616c7265616479206265656e20617474656d707465642e2c5061796f75744572726f72000804cc54686572652077617320736f6d65206973737565207769746820746865206d656368616e69736d206f66207061796d656e742e304e6f74417474656d70746564000904a4546865207061796f757420776173206e6f742079657420617474656d707465642f636c61696d65642e30496e636f6e636c7573697665000a04c4546865207061796d656e7420686173206e656974686572206661696c6564206e6f7220737563636565646564207965742e04784572726f7220666f72207468652074726561737572792070616c6c65742e650a083c70616c6c65745f626f756e7469657318426f756e74790c244163636f756e74496401001c42616c616e636501182c426c6f636b4e756d62657201300018012070726f706f7365720001244163636f756e74496400011476616c756518011c42616c616e636500010c66656518011c42616c616e636500013c63757261746f725f6465706f73697418011c42616c616e6365000110626f6e6418011c42616c616e6365000118737461747573690a0190426f756e74795374617475733c4163636f756e7449642c20426c6f636b4e756d6265723e0000690a083c70616c6c65745f626f756e7469657330426f756e747953746174757308244163636f756e74496401002c426c6f636b4e756d626572013001182050726f706f73656400000020417070726f7665640001001846756e6465640002003c43757261746f7250726f706f73656404011c63757261746f720001244163636f756e7449640003001841637469766508011c63757261746f720001244163636f756e7449640001287570646174655f64756530012c426c6f636b4e756d6265720004003450656e64696e675061796f75740c011c63757261746f720001244163636f756e74496400012c62656e65666963696172790001244163636f756e744964000124756e6c6f636b5f617430012c426c6f636b4e756d626572000500006d0a0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e0000710a0c3c70616c6c65745f626f756e746965731870616c6c6574144572726f7208045400044900012c70496e73756666696369656e7450726f706f7365727342616c616e63650000047850726f706f73657227732062616c616e636520697320746f6f206c6f772e30496e76616c6964496e646578000104904e6f2070726f706f73616c206f7220626f756e7479206174207468617420696e6465782e30526561736f6e546f6f4269670002048454686520726561736f6e20676976656e206973206a75737420746f6f206269672e40556e65787065637465645374617475730003048054686520626f756e74792073746174757320697320756e65787065637465642e385265717569726543757261746f720004045c5265717569726520626f756e74792063757261746f722e30496e76616c696456616c756500050454496e76616c696420626f756e74792076616c75652e28496e76616c69644665650006044c496e76616c696420626f756e7479206665652e3450656e64696e675061796f75740007086c4120626f756e7479207061796f75742069732070656e64696e672ef8546f2063616e63656c2074686520626f756e74792c20796f75206d75737420756e61737369676e20616e6420736c617368207468652063757261746f722e245072656d6174757265000804450154686520626f756e746965732063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e504861734163746976654368696c64426f756e7479000904050154686520626f756e74792063616e6e6f7420626520636c6f73656420626563617573652069742068617320616374697665206368696c6420626f756e746965732e34546f6f4d616e79517565756564000a0498546f6f206d616e7920617070726f76616c732061726520616c7265616479207175657565642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e750a085470616c6c65745f6368696c645f626f756e746965732c4368696c64426f756e74790c244163636f756e74496401001c42616c616e636501182c426c6f636b4e756d626572013000140134706172656e745f626f756e747910012c426f756e7479496e64657800011476616c756518011c42616c616e636500010c66656518011c42616c616e636500013c63757261746f725f6465706f73697418011c42616c616e6365000118737461747573790a01a44368696c64426f756e74795374617475733c4163636f756e7449642c20426c6f636b4e756d6265723e0000790a085470616c6c65745f6368696c645f626f756e74696573444368696c64426f756e747953746174757308244163636f756e74496401002c426c6f636b4e756d626572013001101441646465640000003c43757261746f7250726f706f73656404011c63757261746f720001244163636f756e7449640001001841637469766504011c63757261746f720001244163636f756e7449640002003450656e64696e675061796f75740c011c63757261746f720001244163636f756e74496400012c62656e65666963696172790001244163636f756e744964000124756e6c6f636b5f617430012c426c6f636b4e756d626572000300007d0a0c5470616c6c65745f6368696c645f626f756e746965731870616c6c6574144572726f7204045400010c54506172656e74426f756e74794e6f74416374697665000004a454686520706172656e7420626f756e7479206973206e6f7420696e206163746976652073746174652e64496e73756666696369656e74426f756e747942616c616e6365000104e454686520626f756e74792062616c616e6365206973206e6f7420656e6f75676820746f20616464206e6577206368696c642d626f756e74792e50546f6f4d616e794368696c64426f756e746965730002040d014e756d626572206f66206368696c6420626f756e746965732065786365656473206c696d697420604d61784163746976654368696c64426f756e7479436f756e74602e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e810a0c4070616c6c65745f626167735f6c697374106c697374104e6f646508045400044900001401086964000130543a3a4163636f756e744964000110707265768801504f7074696f6e3c543a3a4163636f756e7449643e0001106e6578748801504f7074696f6e3c543a3a4163636f756e7449643e0001246261675f7570706572300120543a3a53636f726500011473636f7265300120543a3a53636f72650000850a0c4070616c6c65745f626167735f6c697374106c6973740c4261670804540004490000080110686561648801504f7074696f6e3c543a3a4163636f756e7449643e0001107461696c8801504f7074696f6e3c543a3a4163636f756e7449643e0000890a0c4070616c6c65745f626167735f6c6973741870616c6c6574144572726f72080454000449000104104c69737404008d0a01244c6973744572726f72000004b441206572726f7220696e20746865206c69737420696e7465726661636520696d706c656d656e746174696f6e2e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e8d0a0c4070616c6c65745f626167735f6c697374106c697374244c6973744572726f72000110244475706c6963617465000000284e6f7448656176696572000100304e6f74496e53616d65426167000200304e6f64654e6f74466f756e6400030000910a085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7328506f6f6c4d656d626572040454000010011c706f6f6c5f6964100118506f6f6c4964000118706f696e747318013042616c616e63654f663c543e0001706c6173745f7265636f726465645f7265776172645f636f756e746572f5080140543a3a526577617264436f756e746572000138756e626f6e64696e675f65726173950a01e0426f756e64656442547265654d61703c457261496e6465782c2042616c616e63654f663c543e2c20543a3a4d6178556e626f6e64696e673e0000950a0c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b011004560118045300000400990a013842547265654d61703c4b2c20563e0000990a042042547265654d617008044b0110045601180004009d0a0000009d0a000002a10a00a10a00000408101800a50a085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c733c426f6e646564506f6f6c496e6e65720404540000140128636f6d6d697373696f6ea90a0134436f6d6d697373696f6e3c543e0001386d656d6265725f636f756e74657210010c753332000118706f696e747318013042616c616e63654f663c543e000114726f6c6573b50a015c506f6f6c526f6c65733c543a3a4163636f756e7449643e00011473746174651d010124506f6f6c53746174650000a90a085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7328436f6d6d697373696f6e040454000014011c63757272656e742101017c4f7074696f6e3c2850657262696c6c2c20543a3a4163636f756e744964293e00010c6d6178ad0a013c4f7074696f6e3c50657262696c6c3e00012c6368616e67655f72617465b10a01bc4f7074696f6e3c436f6d6d697373696f6e4368616e6765526174653c426c6f636b4e756d626572466f723c543e3e3e0001347468726f74746c655f66726f6d050501644f7074696f6e3c426c6f636b4e756d626572466f723c543e3e000140636c61696d5f7065726d697373696f6e2d0101bc4f7074696f6e3c436f6d6d697373696f6e436c61696d5065726d697373696f6e3c543a3a4163636f756e7449643e3e0000ad0a04184f7074696f6e04045401f40108104e6f6e6500000010536f6d650400f40000010000b10a04184f7074696f6e0404540129010108104e6f6e6500000010536f6d65040029010000010000b50a085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7324506f6f6c526f6c657304244163636f756e7449640100001001246465706f7369746f720001244163636f756e744964000110726f6f748801444f7074696f6e3c4163636f756e7449643e0001246e6f6d696e61746f728801444f7074696f6e3c4163636f756e7449643e00011c626f756e6365728801444f7074696f6e3c4163636f756e7449643e0000b90a085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7328526577617264506f6f6c04045400001401706c6173745f7265636f726465645f7265776172645f636f756e746572f5080140543a3a526577617264436f756e74657200016c6c6173745f7265636f726465645f746f74616c5f7061796f75747318013042616c616e63654f663c543e000154746f74616c5f726577617264735f636c61696d656418013042616c616e63654f663c543e000160746f74616c5f636f6d6d697373696f6e5f70656e64696e6718013042616c616e63654f663c543e000160746f74616c5f636f6d6d697373696f6e5f636c61696d656418013042616c616e63654f663c543e0000bd0a085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7320537562506f6f6c7304045400000801186e6f5f657261c10a0134556e626f6e64506f6f6c3c543e000120776974685f657261c50a010101426f756e64656442547265654d61703c457261496e6465782c20556e626f6e64506f6f6c3c543e2c20546f74616c556e626f6e64696e67506f6f6c733c543e3e0000c10a085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7328556e626f6e64506f6f6c0404540000080118706f696e747318013042616c616e63654f663c543e00011c62616c616e636518013042616c616e63654f663c543e0000c50a0c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b0110045601c10a045300000400c90a013842547265654d61703c4b2c20563e0000c90a042042547265654d617008044b0110045601c10a000400cd0a000000cd0a000002d10a00d10a0000040810c10a00d50a0c5c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c731870616c6c6574144572726f7204045400019430506f6f6c4e6f74466f756e6400000488412028626f6e6465642920706f6f6c20696420646f6573206e6f742065786973742e48506f6f6c4d656d6265724e6f74466f756e640001046c416e206163636f756e74206973206e6f742061206d656d6265722e48526577617264506f6f6c4e6f74466f756e640002042101412072657761726420706f6f6c20646f6573206e6f742065786973742e20496e20616c6c206361736573207468697320697320612073797374656d206c6f676963206572726f722e40537562506f6f6c734e6f74466f756e6400030468412073756220706f6f6c20646f6573206e6f742065786973742e644163636f756e7442656c6f6e6773546f4f74686572506f6f6c0004084d01416e206163636f756e7420697320616c72656164792064656c65676174696e6720696e20616e6f7468657220706f6f6c2e20416e206163636f756e74206d6179206f6e6c792062656c6f6e6720746f206f6e653c706f6f6c20617420612074696d652e3846756c6c79556e626f6e64696e670005083d01546865206d656d6265722069732066756c6c7920756e626f6e6465642028616e6420746875732063616e6e6f74206163636573732074686520626f6e64656420616e642072657761726420706f6f6ca8616e796d6f726520746f2c20666f72206578616d706c652c20636f6c6c6563742072657761726473292e444d6178556e626f6e64696e674c696d69740006040901546865206d656d6265722063616e6e6f7420756e626f6e642066757274686572206368756e6b732064756520746f207265616368696e6720746865206c696d69742e4443616e6e6f745769746864726177416e790007044d014e6f6e65206f66207468652066756e64732063616e2062652077697468647261776e2079657420626563617573652074686520626f6e64696e67206475726174696f6e20686173206e6f74207061737365642e444d696e696d756d426f6e644e6f744d6574000814290154686520616d6f756e7420646f6573206e6f74206d65657420746865206d696e696d756d20626f6e6420746f20656974686572206a6f696e206f7220637265617465206120706f6f6c2e005501546865206465706f7369746f722063616e206e6576657220756e626f6e6420746f20612076616c7565206c657373207468616e206050616c6c65743a3a6465706f7369746f725f6d696e5f626f6e64602e205468655d0163616c6c657220646f6573206e6f742068617665206e6f6d696e6174696e67207065726d697373696f6e7320666f722074686520706f6f6c2e204d656d626572732063616e206e6576657220756e626f6e6420746f20616876616c75652062656c6f7720604d696e4a6f696e426f6e64602e304f766572666c6f775269736b0009042101546865207472616e73616374696f6e20636f756c64206e6f742062652065786563757465642064756520746f206f766572666c6f77207269736b20666f722074686520706f6f6c2e344e6f7444657374726f79696e67000a085d014120706f6f6c206d75737420626520696e205b60506f6f6c53746174653a3a44657374726f79696e67605d20696e206f7264657220666f7220746865206465706f7369746f7220746f20756e626f6e64206f7220666f72b86f74686572206d656d6265727320746f206265207065726d697373696f6e6c6573736c7920756e626f6e6465642e304e6f744e6f6d696e61746f72000b04f45468652063616c6c657220646f6573206e6f742068617665206e6f6d696e6174696e67207065726d697373696f6e7320666f722074686520706f6f6c2e544e6f744b69636b65724f7244657374726f79696e67000c043d01456974686572206129207468652063616c6c65722063616e6e6f74206d616b6520612076616c6964206b69636b206f722062292074686520706f6f6c206973206e6f742064657374726f79696e672e1c4e6f744f70656e000d047054686520706f6f6c206973206e6f74206f70656e20746f206a6f696e204d6178506f6f6c73000e04845468652073797374656d206973206d61786564206f7574206f6e20706f6f6c732e384d6178506f6f6c4d656d62657273000f049c546f6f206d616e79206d656d6265727320696e2074686520706f6f6c206f722073797374656d2e4443616e4e6f744368616e676553746174650010048854686520706f6f6c732073746174652063616e6e6f74206265206368616e6765642e54446f65734e6f74486176655065726d697373696f6e001104b85468652063616c6c657220646f6573206e6f742068617665206164657175617465207065726d697373696f6e732e544d65746164617461457863656564734d61784c656e001204ac4d657461646174612065786365656473205b60436f6e6669673a3a4d61784d657461646174614c656e605d24446566656e736976650400d90a0138446566656e736976654572726f720013083101536f6d65206572726f72206f6363757272656420746861742073686f756c64206e657665722068617070656e2e20546869732073686f756c64206265207265706f7274656420746f20746865306d61696e7461696e6572732e9c5061727469616c556e626f6e644e6f74416c6c6f7765645065726d697373696f6e6c6573736c79001404bc5061727469616c20756e626f6e64696e67206e6f7720616c6c6f776564207065726d697373696f6e6c6573736c792e5c4d6178436f6d6d697373696f6e526573747269637465640015041d0154686520706f6f6c2773206d617820636f6d6d697373696f6e2063616e6e6f742062652073657420686967686572207468616e20746865206578697374696e672076616c75652e60436f6d6d697373696f6e457863656564734d6178696d756d001604ec54686520737570706c69656420636f6d6d697373696f6e206578636565647320746865206d617820616c6c6f77656420636f6d6d697373696f6e2e78436f6d6d697373696f6e45786365656473476c6f62616c4d6178696d756d001704e854686520737570706c69656420636f6d6d697373696f6e206578636565647320676c6f62616c206d6178696d756d20636f6d6d697373696f6e2e64436f6d6d697373696f6e4368616e67655468726f74746c656400180409014e6f7420656e6f75676820626c6f636b732068617665207375727061737365642073696e636520746865206c61737420636f6d6d697373696f6e207570646174652e78436f6d6d697373696f6e4368616e6765526174654e6f74416c6c6f7765640019040101546865207375626d6974746564206368616e67657320746f20636f6d6d697373696f6e206368616e6765207261746520617265206e6f7420616c6c6f7765642e4c4e6f50656e64696e67436f6d6d697373696f6e001a04a05468657265206973206e6f2070656e64696e6720636f6d6d697373696f6e20746f20636c61696d2e584e6f436f6d6d697373696f6e43757272656e74536574001b048c4e6f20636f6d6d697373696f6e2063757272656e7420686173206265656e207365742e2c506f6f6c4964496e557365001c0464506f6f6c2069642063757272656e746c7920696e207573652e34496e76616c6964506f6f6c4964001d049c506f6f6c2069642070726f7669646564206973206e6f7420636f72726563742f757361626c652e4c426f6e64457874726152657374726963746564001e04fc426f6e64696e67206578747261206973207265737472696374656420746f207468652065786163742070656e64696e672072657761726420616d6f756e742e3c4e6f7468696e67546f41646a757374001f04b04e6f20696d62616c616e636520696e20746865204544206465706f73697420666f722074686520706f6f6c2e384e6f7468696e67546f536c617368002004cc4e6f20736c6173682070656e64696e6720746861742063616e206265206170706c69656420746f20746865206d656d6265722e2c536c617368546f6f4c6f77002104a854686520736c61736820616d6f756e7420697320746f6f206c6f7720746f206265206170706c6965642e3c416c72656164794d69677261746564002204150154686520706f6f6c206f72206d656d6265722064656c65676174696f6e2068617320616c7265616479206d6967726174656420746f2064656c6567617465207374616b652e2c4e6f744d69677261746564002304150154686520706f6f6c206f72206d656d6265722064656c65676174696f6e20686173206e6f74206d696772617465642079657420746f2064656c6567617465207374616b652e304e6f74537570706f72746564002404f0546869732063616c6c206973206e6f7420616c6c6f77656420696e207468652063757272656e74207374617465206f66207468652070616c6c65742e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ed90a0c5c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c731870616c6c657438446566656e736976654572726f7200011c684e6f74456e6f7567685370616365496e556e626f6e64506f6f6c00000030506f6f6c4e6f74466f756e6400010048526577617264506f6f6c4e6f74466f756e6400020040537562506f6f6c734e6f74466f756e6400030070426f6e64656453746173684b696c6c65645072656d61747572656c790004005444656c65676174696f6e556e737570706f727465640005003c536c6173684e6f744170706c69656400060000dd0a0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401e10a045300000400e90a01185665633c543e0000e10a04184f7074696f6e04045401e50a0108104e6f6e6500000010536f6d650400e50a0000010000e50a084070616c6c65745f7363686564756c6572245363686564756c656414104e616d6501041043616c6c01b5032c426c6f636b4e756d62657201303450616c6c6574734f726967696e01f505244163636f756e7449640100001401206d617962655f69643d0101304f7074696f6e3c4e616d653e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6cb503011043616c6c0001386d617962655f706572696f646963350501944f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d6265723e3e0001186f726967696ef505013450616c6c6574734f726967696e0000e90a000002e10a00ed0a084070616c6c65745f7363686564756c65722c5265747279436f6e6669670418506572696f640130000c0134746f74616c5f72657472696573080108753800012472656d61696e696e670801087538000118706572696f64300118506572696f640000f10a0c4070616c6c65745f7363686564756c65721870616c6c6574144572726f72040454000114404661696c6564546f5363686564756c65000004644661696c656420746f207363686564756c6520612063616c6c204e6f74466f756e640001047c43616e6e6f742066696e6420746865207363686564756c65642063616c6c2e5c546172676574426c6f636b4e756d626572496e50617374000204a4476976656e2074617267657420626c6f636b206e756d62657220697320696e2074686520706173742e4852657363686564756c654e6f4368616e6765000304f052657363686564756c65206661696c6564206265636175736520697420646f6573206e6f74206368616e6765207363686564756c65642074696d652e144e616d6564000404d0417474656d707420746f207573652061206e6f6e2d6e616d65642066756e6374696f6e206f6e2061206e616d6564207461736b2e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ef50a083c70616c6c65745f707265696d616765404f6c645265717565737453746174757308244163636f756e74496401001c42616c616e6365011801082c556e72657175657374656408011c6465706f736974d40150284163636f756e7449642c2042616c616e63652900010c6c656e10010c753332000000245265717565737465640c011c6465706f736974f90a01704f7074696f6e3c284163636f756e7449642c2042616c616e6365293e000114636f756e7410010c75333200010c6c656e9102012c4f7074696f6e3c7533323e00010000f90a04184f7074696f6e04045401d40108104e6f6e6500000010536f6d650400d40000010000fd0a083c70616c6c65745f707265696d616765345265717565737453746174757308244163636f756e7449640100185469636b6574018401082c556e7265717565737465640801187469636b6574010b014c284163636f756e7449642c205469636b65742900010c6c656e10010c753332000000245265717565737465640c01306d617962655f7469636b6574050b016c4f7074696f6e3c284163636f756e7449642c205469636b6574293e000114636f756e7410010c7533320001246d617962655f6c656e9102012c4f7074696f6e3c7533323e00010000010b00000408008400050b04184f7074696f6e04045401010b0108104e6f6e6500000010536f6d650400010b0000010000090b0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e00000d0b0c3c70616c6c65745f707265696d6167651870616c6c6574144572726f7204045400012418546f6f426967000004a0507265696d61676520697320746f6f206c6172676520746f2073746f7265206f6e2d636861696e2e30416c72656164794e6f746564000104a4507265696d6167652068617320616c7265616479206265656e206e6f746564206f6e2d636861696e2e344e6f74417574686f72697a6564000204c85468652075736572206973206e6f7420617574686f72697a656420746f20706572666f726d207468697320616374696f6e2e204e6f744e6f746564000304fc54686520707265696d6167652063616e6e6f742062652072656d6f7665642073696e636520697420686173206e6f7420796574206265656e206e6f7465642e2452657175657374656400040409014120707265696d616765206d6179206e6f742062652072656d6f766564207768656e20746865726520617265206f75747374616e64696e672072657175657374732e304e6f745265717565737465640005042d0154686520707265696d61676520726571756573742063616e6e6f742062652072656d6f7665642073696e6365206e6f206f75747374616e64696e672072657175657374732065786973742e1c546f6f4d616e7900060455014d6f7265207468616e20604d41585f484153485f555047524144455f42554c4b5f434f554e54602068617368657320776572652072657175657374656420746f206265207570677261646564206174206f6e63652e18546f6f466577000704e4546f6f206665772068617368657320776572652072657175657374656420746f2062652075706772616465642028692e652e207a65726f292e184e6f436f737400080459014e6f207469636b65742077697468206120636f7374207761732072657475726e6564206279205b60436f6e6669673a3a436f6e73696465726174696f6e605d20746f2073746f72652074686520707265696d6167652e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e110b0c2873705f7374616b696e671c6f6666656e6365384f6666656e636544657461696c7308205265706f727465720100204f6666656e646572016501000801206f6666656e646572650101204f6666656e6465720001247265706f7274657273450201345665633c5265706f727465723e0000150b0000040849013800190b0c3c70616c6c65745f74785f70617573651870616c6c6574144572726f720404540001102049735061757365640000044c5468652063616c6c206973207061757365642e284973556e706175736564000104545468652063616c6c20697320756e7061757365642e28556e7061757361626c65000204b45468652063616c6c2069732077686974656c697374656420616e642063616e6e6f74206265207061757365642e204e6f74466f756e64000300048054686520604572726f726020656e756d206f6620746869732070616c6c65742e1d0b0c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e646564566563080454015d01045300000400210b01185665633c543e0000210b0000025d0100250b0c4070616c6c65745f696d5f6f6e6c696e651870616c6c6574144572726f7204045400010828496e76616c69644b6579000004604e6f6e206578697374656e74207075626c6963206b65792e4c4475706c696361746564486561727462656174000104544475706c696361746564206865617274626561742e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e290b000004082d0b3d0b002d0b0c3c70616c6c65745f6964656e7469747914747970657330526567697374726174696f6e0c1c42616c616e63650118344d61784a756467656d656e747300304964656e74697479496e666f015105000c01286a756467656d656e7473310b01fc426f756e6465645665633c28526567697374726172496e6465782c204a756467656d656e743c42616c616e63653e292c204d61784a756467656d656e74733e00011c6465706f73697418011c42616c616e6365000110696e666f510501304964656e74697479496e666f0000310b0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401350b045300000400390b01185665633c543e0000350b0000040810e10500390b000002350b003d0b04184f7074696f6e040454017d010108104e6f6e6500000010536f6d6504007d010000010000410b0000040818450b00450b0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400450201185665633c543e0000490b0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454014d0b045300000400550b01185665633c543e00004d0b04184f7074696f6e04045401510b0108104e6f6e6500000010536f6d650400510b0000010000510b0c3c70616c6c65745f6964656e7469747914747970657334526567697374726172496e666f0c1c42616c616e63650118244163636f756e74496401001c49644669656c640130000c011c6163636f756e740001244163636f756e74496400010c66656518011c42616c616e63650001186669656c647330011c49644669656c640000550b0000024d0b00590b0c3c70616c6c65745f6964656e746974791474797065734c417574686f7269747950726f706572746965730418537566666978015d0b000801187375666669785d0b0118537566666978000128616c6c6f636174696f6e100128416c6c6f636174696f6e00005d0b0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e0000610b00000408003000650b0c3c70616c6c65745f6964656e746974791870616c6c6574144572726f7204045400016848546f6f4d616e795375624163636f756e74730000045c546f6f206d616e7920737562732d6163636f756e74732e204e6f74466f756e64000104504163636f756e742069736e277420666f756e642e204e6f744e616d6564000204504163636f756e742069736e2774206e616d65642e28456d707479496e64657800030430456d70747920696e6465782e284665654368616e6765640004043c466565206973206368616e6765642e284e6f4964656e74697479000504484e6f206964656e7469747920666f756e642e3c537469636b794a756467656d656e7400060444537469636b79206a756467656d656e742e384a756467656d656e74476976656e000704404a756467656d656e7420676976656e2e40496e76616c69644a756467656d656e7400080448496e76616c6964206a756467656d656e742e30496e76616c6964496e6465780009045454686520696e64657820697320696e76616c69642e34496e76616c6964546172676574000a04585468652074617267657420697320696e76616c69642e44546f6f4d616e7952656769737472617273000b04e84d6178696d756d20616d6f756e74206f66207265676973747261727320726561636865642e2043616e6e6f742061646420616e79206d6f72652e38416c7265616479436c61696d6564000c04704163636f756e7420494420697320616c7265616479206e616d65642e184e6f74537562000d047053656e646572206973206e6f742061207375622d6163636f756e742e204e6f744f776e6564000e04885375622d6163636f756e742069736e2774206f776e65642062792073656e6465722e744a756467656d656e74466f72446966666572656e744964656e74697479000f04d05468652070726f7669646564206a756467656d656e742077617320666f72206120646966666572656e74206964656e746974792e584a756467656d656e745061796d656e744661696c6564001004f84572726f722074686174206f6363757273207768656e20746865726520697320616e20697373756520706179696e6720666f72206a756467656d656e742e34496e76616c6964537566666978001104805468652070726f76696465642073756666697820697320746f6f206c6f6e672e504e6f74557365726e616d65417574686f72697479001204e05468652073656e64657220646f6573206e6f742068617665207065726d697373696f6e20746f206973737565206120757365726e616d652e304e6f416c6c6f636174696f6e001304c454686520617574686f726974792063616e6e6f7420616c6c6f6361746520616e79206d6f726520757365726e616d65732e40496e76616c69645369676e6174757265001404a8546865207369676e6174757265206f6e206120757365726e616d6520776173206e6f742076616c69642e4452657175697265735369676e6174757265001504090153657474696e67207468697320757365726e616d652072657175697265732061207369676e61747572652c20627574206e6f6e65207761732070726f76696465642e3c496e76616c6964557365726e616d65001604b054686520757365726e616d6520646f6573206e6f74206d6565742074686520726571756972656d656e74732e34557365726e616d6554616b656e0017047854686520757365726e616d6520697320616c72656164792074616b656e2e284e6f557365726e616d65001804985468652072657175657374656420757365726e616d6520646f6573206e6f742065786973742e284e6f74457870697265640019042d0154686520757365726e616d652063616e6e6f7420626520666f72636566756c6c792072656d6f76656420626563617573652069742063616e207374696c6c2062652061636365707465642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e690b0c3870616c6c65745f7574696c6974791870616c6c6574144572726f7204045400010430546f6f4d616e7943616c6c730000045c546f6f206d616e792063616c6c7320626174636865642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e6d0b00000408000400710b083c70616c6c65745f6d756c7469736967204d756c7469736967102c426c6f636b4e756d62657201301c42616c616e63650118244163636f756e7449640100304d6178417070726f76616c7300001001107768656e8901015854696d65706f696e743c426c6f636b4e756d6265723e00011c6465706f73697418011c42616c616e63650001246465706f7369746f720001244163636f756e744964000124617070726f76616c73e104018c426f756e6465645665633c4163636f756e7449642c204d6178417070726f76616c733e0000750b0c3c70616c6c65745f6d756c74697369671870616c6c6574144572726f72040454000138404d696e696d756d5468726573686f6c640000047c5468726573686f6c64206d7573742062652032206f7220677265617465722e3c416c7265616479417070726f766564000104ac43616c6c20697320616c726561647920617070726f7665642062792074686973207369676e61746f72792e444e6f417070726f76616c734e65656465640002049c43616c6c20646f65736e2774206e65656420616e7920286d6f72652920617070726f76616c732e44546f6f4665775369676e61746f72696573000304a854686572652061726520746f6f20666577207369676e61746f7269657320696e20746865206c6973742e48546f6f4d616e795369676e61746f72696573000404ac54686572652061726520746f6f206d616e79207369676e61746f7269657320696e20746865206c6973742e545369676e61746f726965734f75744f664f726465720005040d01546865207369676e61746f7269657320776572652070726f7669646564206f7574206f66206f726465723b20746865792073686f756c64206265206f7264657265642e4c53656e646572496e5369676e61746f726965730006040d015468652073656e6465722077617320636f6e7461696e656420696e20746865206f74686572207369676e61746f726965733b2069742073686f756c646e27742062652e204e6f74466f756e64000704dc4d756c7469736967206f7065726174696f6e206e6f7420666f756e64207768656e20617474656d7074696e6720746f2063616e63656c2e204e6f744f776e65720008042d014f6e6c7920746865206163636f756e742074686174206f726967696e616c6c79206372656174656420746865206d756c74697369672069732061626c6520746f2063616e63656c2069742e2c4e6f54696d65706f696e740009041d014e6f2074696d65706f696e742077617320676976656e2c2079657420746865206d756c7469736967206f7065726174696f6e20697320616c726561647920756e6465727761792e3857726f6e6754696d65706f696e74000a042d014120646966666572656e742074696d65706f696e742077617320676976656e20746f20746865206d756c7469736967206f7065726174696f6e207468617420697320756e6465727761792e4c556e657870656374656454696d65706f696e74000b04f4412074696d65706f696e742077617320676976656e2c20796574206e6f206d756c7469736967206f7065726174696f6e20697320756e6465727761792e3c4d6178576569676874546f6f4c6f77000c04d0546865206d6178696d756d2077656967687420696e666f726d6174696f6e2070726f76696465642077617320746f6f206c6f772e34416c726561647953746f726564000d04a0546865206461746120746f2062652073746f72656420697320616c72656164792073746f7265642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e790b0000027d0b007d0b0000040c1106810b910b00810b081866705f727063445472616e73616374696f6e53746174757300001c01407472616e73616374696f6e5f68617368340110483235360001447472616e73616374696f6e5f696e64657810010c75333200011066726f6d9101011c41646472657373000108746f8d06013c4f7074696f6e3c416464726573733e000140636f6e74726163745f616464726573738d06013c4f7074696f6e3c416464726573733e0001106c6f6773850b01205665633c4c6f673e0001286c6f67735f626c6f6f6d890b0114426c6f6f6d0000850b000002bd0100890b0820657468626c6f6f6d14426c6f6f6d000004008d0b01405b75383b20424c4f4f4d5f53495a455d00008d0b000003000100000800910b0c20657468657265756d1c726563656970742452656365697074563300010c184c65676163790400950b014445495036353852656365697074446174610000001c454950323933300400950b01484549503239333052656365697074446174610001001c454950313535390400950b014845495031353539526563656970744461746100020000950b0c20657468657265756d1c72656365697074444549503635385265636569707444617461000010012c7374617475735f636f64650801087538000120757365645f676173c9010110553235360001286c6f67735f626c6f6f6d890b0114426c6f6f6d0001106c6f6773850b01205665633c4c6f673e0000990b0c20657468657265756d14626c6f636b14426c6f636b040454011106000c01186865616465729d0b01184865616465720001307472616e73616374696f6e73a50b01185665633c543e0001186f6d6d657273a90b012c5665633c4865616465723e00009d0b0c20657468657265756d186865616465721848656164657200003c012c706172656e745f686173683401104832353600012c6f6d6d6572735f686173683401104832353600012c62656e6566696369617279910101104831363000012873746174655f726f6f74340110483235360001447472616e73616374696f6e735f726f6f743401104832353600013472656365697074735f726f6f74340110483235360001286c6f67735f626c6f6f6d890b0114426c6f6f6d000128646966666963756c7479c9010110553235360001186e756d626572c9010110553235360001246761735f6c696d6974c9010110553235360001206761735f75736564c90101105532353600012474696d657374616d7030010c75363400012865787472615f6461746138011442797465730001206d69785f68617368340110483235360001146e6f6e6365a10b010c4836340000a10b0c38657468657265756d5f747970657310686173680c483634000004003503011c5b75383b20385d0000a50b000002110600a90b0000029d0b00ad0b000002910b00b10b000002810b00b50b0c3c70616c6c65745f657468657265756d1870616c6c6574144572726f7204045400010840496e76616c69645369676e6174757265000004545369676e617475726520697320696e76616c69642e305072654c6f67457869737473000104d85072652d6c6f672069732070726573656e742c207468657265666f7265207472616e73616374206973206e6f7420616c6c6f7765642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742eb90b082870616c6c65745f65766d30436f64654d65746164617461000008011073697a6530010c75363400011068617368340110483235360000bd0b0000040891013400c10b0c2870616c6c65745f65766d1870616c6c6574144572726f720404540001342842616c616e63654c6f77000004904e6f7420656e6f7567682062616c616e636520746f20706572666f726d20616374696f6e2c4665654f766572666c6f770001048043616c63756c6174696e6720746f74616c20666565206f766572666c6f7765643c5061796d656e744f766572666c6f770002049043616c63756c6174696e6720746f74616c207061796d656e74206f766572666c6f7765643857697468647261774661696c65640003044c576974686472617720666565206661696c6564384761735072696365546f6f4c6f770004045447617320707269636520697320746f6f206c6f772e30496e76616c69644e6f6e6365000504404e6f6e636520697320696e76616c6964384761734c696d6974546f6f4c6f7700060454476173206c696d697420697320746f6f206c6f772e3c4761734c696d6974546f6f4869676800070458476173206c696d697420697320746f6f20686967682e38496e76616c6964436861696e49640008046054686520636861696e20696420697320696e76616c69642e40496e76616c69645369676e617475726500090464746865207369676e617475726520697320696e76616c69642e285265656e7472616e6379000a043845564d207265656e7472616e6379685472616e73616374696f6e4d757374436f6d6546726f6d454f41000b04244549502d333630372c24556e646566696e6564000c0440556e646566696e6564206572726f722e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ec50b0c6470616c6c65745f686f746669785f73756666696369656e74731870616c6c6574144572726f720404540001045c4d617841646472657373436f756e744578636565646564000004784d6178696d756d206164647265737320636f756e74206578636565646564048054686520604572726f726020656e756d206f6620746869732070616c6c65742ec90b0000040830d90100cd0b0c5470616c6c65745f61697264726f705f636c61696d731870616c6c6574144572726f7204045400012060496e76616c6964457468657265756d5369676e61747572650000046c496e76616c696420457468657265756d207369676e61747572652e58496e76616c69644e61746976655369676e617475726500010488496e76616c6964204e617469766520287372323535313929207369676e617475726550496e76616c69644e61746976654163636f756e740002047c496e76616c6964204e6174697665206163636f756e74206465636f64696e67405369676e65724861734e6f436c61696d00030478457468657265756d206164647265737320686173206e6f20636c61696d2e4053656e6465724861734e6f436c61696d000404b04163636f756e742049442073656e64696e67207472616e73616374696f6e20686173206e6f20636c61696d2e30506f74556e646572666c6f77000508490154686572652773206e6f7420656e6f75676820696e2074686520706f7420746f20706179206f757420736f6d6520756e76657374656420616d6f756e742e2047656e6572616c6c7920696d706c6965732061306c6f676963206572726f722e40496e76616c696453746174656d656e740006049041206e65656465642073746174656d656e7420776173206e6f7420696e636c756465642e4c56657374656442616c616e6365457869737473000704a4546865206163636f756e7420616c7265616479206861732061207665737465642062616c616e63652e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ed10b00000408d50b1800d50b0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401d90b045300000400dd0b01185665633c543e0000d90b083070616c6c65745f70726f78793c50726f7879446566696e6974696f6e0c244163636f756e74496401002450726f78795479706501e5012c426c6f636b4e756d6265720130000c012064656c65676174650001244163636f756e74496400012870726f78795f74797065e501012450726f78795479706500011464656c617930012c426c6f636b4e756d6265720000dd0b000002d90b00e10b00000408e50b1800e50b0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401e90b045300000400ed0b01185665633c543e0000e90b083070616c6c65745f70726f787930416e6e6f756e63656d656e740c244163636f756e7449640100104861736801342c426c6f636b4e756d6265720130000c01107265616c0001244163636f756e74496400012463616c6c5f686173683401104861736800011868656967687430012c426c6f636b4e756d6265720000ed0b000002e90b00f10b0c3070616c6c65745f70726f78791870616c6c6574144572726f720404540001201c546f6f4d616e79000004210154686572652061726520746f6f206d616e792070726f786965732072656769737465726564206f7220746f6f206d616e7920616e6e6f756e63656d656e74732070656e64696e672e204e6f74466f756e640001047450726f787920726567697374726174696f6e206e6f7420666f756e642e204e6f7450726f7879000204cc53656e646572206973206e6f7420612070726f7879206f6620746865206163636f756e7420746f2062652070726f786965642e2c556e70726f787961626c650003042101412063616c6c20776869636820697320696e636f6d70617469626c652077697468207468652070726f7879207479706527732066696c7465722077617320617474656d707465642e244475706c69636174650004046c4163636f756e7420697320616c726561647920612070726f78792e304e6f5065726d697373696f6e000504150143616c6c206d6179206e6f74206265206d6164652062792070726f78792062656361757365206974206d617920657363616c617465206974732070726976696c656765732e2c556e616e6e6f756e636564000604d0416e6e6f756e63656d656e742c206966206d61646520617420616c6c2c20776173206d61646520746f6f20726563656e746c792e2c4e6f53656c6650726f78790007046443616e6e6f74206164642073656c662061732070726f78792e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ef50b107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e147479706573206f70657261746f72404f70657261746f724d6574616461746114244163636f756e74496401001c42616c616e636501181c417373657449640118384d617844656c65676174696f6e7301f90b344d6178426c75657072696e747301fd0b001801147374616b6518011c42616c616e636500014064656c65676174696f6e5f636f756e7410010c75333200011c72657175657374010c01a04f7074696f6e3c4f70657261746f72426f6e644c657373526571756573743c42616c616e63653e3e00012c64656c65676174696f6e73090c011901426f756e6465645665633c44656c656761746f72426f6e643c4163636f756e7449642c2042616c616e63652c20417373657449643e2c204d617844656c65676174696f6e733e000118737461747573150c01384f70657261746f72537461747573000134626c75657072696e745f696473190c0178426f756e6465645665633c7533322c204d6178426c75657072696e74733e0000f90b085874616e676c655f746573746e65745f72756e74696d65384d617844656c65676174696f6e7300000000fd0b085874616e676c655f746573746e65745f72756e74696d65544d61784f70657261746f72426c75657072696e747300000000010c04184f7074696f6e04045401050c0108104e6f6e6500000010536f6d650400050c0000010000050c107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e147479706573206f70657261746f725c4f70657261746f72426f6e644c65737352657175657374041c42616c616e6365011800080118616d6f756e7418011c42616c616e6365000130726571756573745f74696d65100128526f756e64496e6465780000090c0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454010d0c045300000400110c01185665633c543e00000d0c107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e147479706573206f70657261746f723444656c656761746f72426f6e640c244163636f756e74496401001c42616c616e636501181c417373657449640118000c012464656c656761746f720001244163636f756e744964000118616d6f756e7418011c42616c616e63650001146173736574f101013841737365743c417373657449643e0000110c0000020d0c00150c107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e147479706573206f70657261746f72384f70657261746f7253746174757300010c1841637469766500000020496e6163746976650001001c4c656176696e670400100128526f756e64496e64657800020000190c0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540110045300000400cd0401185665633c543e00001d0c107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e147479706573206f70657261746f72404f70657261746f72536e617073686f7410244163636f756e74496401001c42616c616e636501181c417373657449640118384d617844656c65676174696f6e7301f90b000801147374616b6518011c42616c616e636500012c64656c65676174696f6e73090c011901426f756e6465645665633c44656c656761746f72426f6e643c4163636f756e7449642c2042616c616e63652c20417373657449643e2c204d617844656c65676174696f6e733e0000210c107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e1474797065732464656c656761746f724444656c656761746f724d6574616461746124244163636f756e74496401001c42616c616e636501181c4173736574496401184c4d61785769746864726177526571756573747301250c384d617844656c65676174696f6e7301f90b484d6178556e7374616b65526571756573747301290c344d6178426c75657072696e74730195062c426c6f636b4e756d6265720130204d61784c6f636b7301f90b001401206465706f736974732d0c01050142547265654d61703c41737365743c417373657449643e2c204465706f7369743c42616c616e63652c20426c6f636b4e756d6265722c204d61784c6f636b733e3e00014477697468647261775f72657175657374734d0c010901426f756e6465645665633c5769746864726177526571756573743c417373657449642c2042616c616e63653e2c204d6178576974686472617752657175657374733e00012c64656c65676174696f6e73590c016901426f756e6465645665633c426f6e64496e666f44656c656761746f723c4163636f756e7449642c2042616c616e63652c20417373657449642c204d6178426c75657072696e74733e0a2c204d617844656c65676174696f6e733e00016864656c656761746f725f756e7374616b655f7265717565737473650c016d01426f756e6465645665633c426f6e644c657373526571756573743c4163636f756e7449642c20417373657449642c2042616c616e63652c204d6178426c75657072696e74733e2c0a4d6178556e7374616b6552657175657374733e000118737461747573710c013c44656c656761746f725374617475730000250c085874616e676c655f746573746e65745f72756e74696d654c4d61785769746864726177526571756573747300000000290c085874616e676c655f746573746e65745f72756e74696d65484d6178556e7374616b655265717565737473000000002d0c042042547265654d617008044b01f101045601310c000400450c000000310c107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e1474797065732464656c656761746f721c4465706f7369740c1c42616c616e636501182c426c6f636b4e756d6265720130204d61784c6f636b7301f90b000c0118616d6f756e7418011c42616c616e636500014064656c6567617465645f616d6f756e7418011c42616c616e63650001146c6f636b73350c01f04f7074696f6e3c426f756e6465645665633c4c6f636b496e666f3c42616c616e63652c20426c6f636b4e756d6265723e2c204d61784c6f636b733e3e0000350c04184f7074696f6e04045401390c0108104e6f6e6500000010536f6d650400390c0000010000390c0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454013d0c045300000400410c01185665633c543e00003d0c104474616e676c655f7072696d6974697665731474797065731c72657761726473204c6f636b496e666f081c42616c616e636501182c426c6f636b4e756d6265720130000c0118616d6f756e7418011c42616c616e636500013c6c6f636b5f6d756c7469706c696572990201384c6f636b4d756c7469706c6965720001306578706972795f626c6f636b30012c426c6f636b4e756d6265720000410c0000023d0c00450c000002490c00490c00000408f101310c004d0c0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401510c045300000400550c01185665633c543e0000510c107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e1474797065732464656c656761746f723c576974686472617752657175657374081c4173736574496401181c42616c616e63650118000c01146173736574f101013841737365743c417373657449643e000118616d6f756e7418011c42616c616e636500013c7265717565737465645f726f756e64100128526f756e64496e6465780000550c000002510c00590c0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454015d0c045300000400610c01185665633c543e00005d0c107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e1474797065732464656c656761746f7244426f6e64496e666f44656c656761746f7210244163636f756e74496401001c42616c616e636501181c417373657449640118344d6178426c75657072696e7473019506001401206f70657261746f720001244163636f756e744964000118616d6f756e7418011c42616c616e63650001146173736574f101013841737365743c417373657449643e00014c626c75657072696e745f73656c656374696f6e910601a844656c656761746f72426c75657072696e7453656c656374696f6e3c4d6178426c75657072696e74733e00013469735f6e6f6d696e6174696f6e200110626f6f6c0000610c0000025d0c00650c0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401690c0453000004006d0c01185665633c543e0000690c107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e1474797065732464656c656761746f723c426f6e644c6573735265717565737410244163636f756e74496401001c4173736574496401181c42616c616e63650118344d6178426c75657072696e7473019506001801206f70657261746f720001244163636f756e7449640001146173736574f101013841737365743c417373657449643e000118616d6f756e7418011c42616c616e636500013c7265717565737465645f726f756e64100128526f756e64496e64657800014c626c75657072696e745f73656c656374696f6e910601a844656c656761746f72426c75657072696e7453656c656374696f6e3c4d6178426c75657072696e74733e00013469735f6e6f6d696e6174696f6e200110626f6f6c00006d0c000002690c00710c107470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e1474797065732464656c656761746f723c44656c656761746f7253746174757300010818416374697665000000404c656176696e675363686564756c65640400100128526f756e64496e64657800010000750c0c7470616c6c65745f6d756c74695f61737365745f64656c65676174696f6e1870616c6c6574144572726f720404540001e03c416c72656164794f70657261746f720000048c546865206163636f756e7420697320616c726561647920616e206f70657261746f722e28426f6e64546f6f4c6f7700010470546865207374616b6520616d6f756e7420697320746f6f206c6f772e34496e76616c6964416d6f756e7400020444416d6f756e7420697320696e76616c6964344e6f74416e4f70657261746f720003047c546865206163636f756e74206973206e6f7420616e206f70657261746f722e2843616e6e6f744578697400040460546865206163636f756e742063616e6e6f7420657869742e38416c72656164794c656176696e6700050480546865206f70657261746f7220697320616c7265616479206c656176696e672e484e6f744c656176696e674f70657261746f72000604a8546865206163636f756e74206973206e6f74206c656176696e6720617320616e206f70657261746f722e584c656176696e67526f756e644e6f7452656163686564000704644c656176696e6720726f756e64206e6f7420726561636865644c4e6f5363686564756c6564426f6e644c657373000804985468657265206973206e6f207363686564756c656420756e7374616b6520726571756573742e6c426f6e644c657373526571756573744e6f745361746973666965640009049454686520756e7374616b652072657175657374206973206e6f74207361746973666965642e444e6f744163746976654f70657261746f72000a046c546865206f70657261746f72206973206e6f74206163746976652e484e6f744f66666c696e654f70657261746f72000b0470546865206f70657261746f72206973206e6f74206f66666c696e652e40416c726561647944656c656761746f72000c048c546865206163636f756e7420697320616c726561647920612064656c656761746f722e304e6f7444656c656761746f72000d047c546865206163636f756e74206973206e6f7420612064656c656761746f722e70576974686472617752657175657374416c7265616479457869737473000e048841207769746864726177207265717565737420616c7265616479206578697374732e4c496e73756666696369656e7442616c616e6365000f0494546865206163636f756e742068617320696e73756666696369656e742062616c616e63652e444e6f576974686472617752657175657374001004745468657265206973206e6f20776974686472617720726571756573742e444e6f426f6e644c65737352657175657374001104705468657265206973206e6f20756e7374616b6520726571756573742e40426f6e644c6573734e6f7452656164790012048454686520756e7374616b652072657175657374206973206e6f742072656164792e70426f6e644c65737352657175657374416c7265616479457869737473001304844120756e7374616b65207265717565737420616c7265616479206578697374732e6041637469766553657276696365735573696e674173736574001404a854686572652061726520616374697665207365727669636573207573696e67207468652061737365742e484e6f41637469766544656c65676174696f6e001504785468657265206973206e6f74206163746976652064656c65676174696f6e4c41737365744e6f7457686974656c697374656400160470546865206173736574206973206e6f742077686974656c6973746564344e6f74417574686f72697a6564001704cc546865206f726967696e206973206e6f7420617574686f72697a656420746f20706572666f726d207468697320616374696f6e544d6178426c75657072696e74734578636565646564001804944d6178696d756d206e756d626572206f6620626c75657072696e74732065786365656465643441737365744e6f74466f756e6400190464546865206173736574204944206973206e6f7420666f756e646c426c75657072696e74416c726561647957686974656c6973746564001a049c54686520626c75657072696e7420494420697320616c72656164792077686974656c6973746564484e6f57697468647261775265717565737473001b04684e6f20776974686472617720726571756573747320666f756e64644e6f4d61746368696e67776974686472617752657175657374001c04884e6f206d61746368696e67207769746864726177207265716573747320666f756e644c4173736574416c7265616479496e5661756c74001d0498417373657420616c72656164792065786973747320696e206120726577617264207661756c743c41737365744e6f74496e5661756c74001e047c4173736574206e6f7420666f756e6420696e20726577617264207661756c74345661756c744e6f74466f756e64001f047c54686520726577617264207661756c7420646f6573206e6f74206578697374504475706c6963617465426c75657072696e74496400200415014572726f722072657475726e6564207768656e20747279696e6720746f20616464206120626c75657072696e74204944207468617420616c7265616479206578697374732e4c426c75657072696e7449644e6f74466f756e640021041d014572726f722072657475726e6564207768656e20747279696e6720746f2072656d6f7665206120626c75657072696e74204944207468617420646f65736e27742065786973742e384e6f74496e46697865644d6f64650022043d014572726f722072657475726e6564207768656e20747279696e6720746f206164642f72656d6f766520626c75657072696e7420494473207768696c65206e6f7420696e204669786564206d6f64652e584d617844656c65676174696f6e73457863656564656400230409014572726f722072657475726e6564207768656e20746865206d6178696d756d206e756d626572206f662064656c65676174696f6e732069732065786365656465642e684d6178556e7374616b65526571756573747345786365656465640024041d014572726f722072657475726e6564207768656e20746865206d6178696d756d206e756d626572206f6620756e7374616b652072657175657374732069732065786365656465642e6c4d617857697468647261775265717565737473457863656564656400250421014572726f722072657475726e6564207768656e20746865206d6178696d756d206e756d626572206f662077697468647261772072657175657374732069732065786365656465642e3c4465706f7369744f766572666c6f770026045c4465706f73697420616d6f756e74206f766572666c6f7754556e7374616b65416d6f756e74546f6f4c6172676500270444556e7374616b6520756e646572666c6f77345374616b654f766572666c6f770028046c4f766572666c6f77207768696c6520616464696e67207374616b6568496e73756666696369656e745374616b6552656d61696e696e6700290478556e646572666c6f77207768696c65207265647563696e67207374616b6544415059457863656564734d6178696d756d002a04b04150592065786365656473206d6178696d756d20616c6c6f776564206279207468652065787472696e7369633c43617043616e6e6f7442655a65726f002b04484361702063616e6e6f74206265207a65726f5443617045786365656473546f74616c537570706c79002c0484436170206578636565647320746f74616c20737570706c79206f662061737365746c50656e64696e67556e7374616b6552657175657374457869737473002d0494416e20756e7374616b65207265717565737420697320616c72656164792070656e64696e6750426c75657072696e744e6f7453656c6563746564002e047454686520626c75657072696e74206973206e6f742073656c65637465644c45524332305472616e736665724661696c6564002f04544572633230207472616e73666572206661696c65643045564d416269456e636f64650030044045564d20656e636f6465206572726f723045564d4162694465636f64650031044045564d206465636f6465206572726f72344c6f636b56696f6c6174696f6e0032046443616e6e6f7420756e7374616b652077697468206c6f636b73644465706f73697445786365656473436170466f7241737365740033046041626f7665206465706f7369742063617073207365747570304f766572666c6f775269736b003404484f766572666c6f772066726f6d206d6174684c4173736574436f6e6669674e6f74466f756e640035047454686520617373657420636f6e666967206973206e6f7420666f756e648443616e6e6f74476f4f66666c696e655769746841637469766553657276696365730036049843616e6e6f7420676f206f66666c696e65207769746820616374697665207365727669636573304e6f744e6f6d696e61746f72003704cc4e6f742061206e6f6d696e61746f722028666f72206e61746976652072657374616b696e6720262064656c65676174696f6e2904744572726f727320656d6974746564206279207468652070616c6c65742e790c0000040800a506007d0c00000408300000810c104474616e676c655f7072696d6974697665732073657276696365731c7365727669636538536572766963655265717565737410044300244163636f756e74496401002c426c6f636b4e756d62657201301c41737365744964011800200124626c75657072696e7430012c426c75657072696e7449640001146f776e65720001244163636f756e74496400015473656375726974795f726571756972656d656e74734902011501426f756e6465645665633c41737365745365637572697479526571756972656d656e743c417373657449643e2c20433a3a4d6178417373657473506572536572766963653e00010c74746c30012c426c6f636b4e756d62657200011061726773850c01b4426f756e6465645665633c4669656c643c432c204163636f756e7449643e2c20433a3a4d61784669656c64733e0001447065726d69747465645f63616c6c657273890c01b4426f756e6465645665633c4163636f756e7449642c20433a3a4d61785065726d697474656443616c6c6572733e0001746f70657261746f72735f776974685f617070726f76616c5f73746174658d0c012d01426f756e6465645665633c284163636f756e7449642c20417070726f76616c53746174653c417373657449643e292c20433a3a0a4d61784f70657261746f7273506572536572766963653e0001406d656d626572736869705f6d6f64656c6507013c4d656d626572736869704d6f64656c0000850c0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454010902045300000400050201185665633c543e0000890c0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400450201185665633c543e00008d0c0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401910c045300000400990c01185665633c543e0000910c0000040800950c00950c104474616e676c655f7072696d69746976657320736572766963657314747970657334417070726f76616c5374617465041c417373657449640118010c1c50656e64696e6700000020417070726f76656404015073656375726974795f636f6d6d69746d656e7473690201945665633c41737365745365637572697479436f6d6d69746d656e743c417373657449643e3e0001002052656a656374656400020000990c000002910c009d0c104474616e676c655f7072696d6974697665732073657276696365731c736572766963651c5365727669636510044300244163636f756e74496401002c426c6f636b4e756d62657201301c41737365744964011800200108696430010c753634000124626c75657072696e7430012c426c75657072696e7449640001146f776e65720001244163636f756e7449640001746f70657261746f725f73656375726974795f636f6d6d69746d656e7473590201c84f70657261746f725365637572697479436f6d6d69746d656e74733c4163636f756e7449642c20417373657449642c20433e00015473656375726974795f726571756972656d656e74734902011501426f756e6465645665633c41737365745365637572697479526571756972656d656e743c417373657449643e2c20433a3a4d6178417373657473506572536572766963653e0001447065726d69747465645f63616c6c657273890c01b4426f756e6465645665633c4163636f756e7449642c20433a3a4d61785065726d697474656443616c6c6572733e00010c74746c30012c426c6f636b4e756d6265720001406d656d626572736869705f6d6f64656c6507013c4d656d626572736869704d6f64656c0000a10c0c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f7365743c426f756e64656442547265655365740804540130045300000400a50c012c42547265655365743c543e0000a50c0420425472656553657404045401300004009d06000000a90c104474616e676c655f7072696d697469766573207365727669636573106a6f62731c4a6f6243616c6c08044300244163636f756e7449640100000c0128736572766963655f696430010c75363400010c6a6f62080108753800011061726773850c01b4426f756e6465645665633c4669656c643c432c204163636f756e7449643e2c20433a3a4d61784669656c64733e0000ad0c104474616e676c655f7072696d697469766573207365727669636573106a6f6273344a6f6243616c6c526573756c7408044300244163636f756e7449640100000c0128736572766963655f696430010c75363400011c63616c6c5f696430010c753634000118726573756c74850c01b4426f756e6465645665633c4669656c643c432c204163636f756e7449643e2c20433a3a4d61784669656c64733e0000b10c104474616e676c655f7072696d69746976657320736572766963657314747970657338556e6170706c696564536c61736804244163636f756e74496401000014010c657261100120457261496e646578000130626c75657072696e745f696430010c753634000128736572766963655f696430010c7536340001206f70657261746f720001244163636f756e744964000134736c6173685f70657263656e745102011c50657263656e740000b50c0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454019101045300000400510601185665633c543e0000b90c104474616e676c655f7072696d6974697665732073657276696365731474797065733c4f70657261746f7250726f66696c6504044300000801207365727669636573bd0c01bc426f756e64656442547265655365743c7536342c20433a3a4d617853657276696365735065724f70657261746f723e000128626c75657072696e7473c10c01c4426f756e64656442547265655365743c7536342c20433a3a4d6178426c75657072696e74735065724f70657261746f723e0000bd0c0c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f7365743c426f756e64656442547265655365740804540130045300000400a50c012c42547265655365743c543e0000c10c0c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f7365743c426f756e64656442547265655365740804540130045300000400a50c012c42547265655365743c543e0000c50c104474616e676c655f7072696d6974697665732073657276696365731c736572766963655453746167696e67536572766963655061796d656e740c244163636f756e74496401001c4173736574496401181c42616c616e6365011800100128726571756573745f696430010c753634000124726566756e645f746fc90c01484163636f756e743c4163636f756e7449643e0001146173736574f101013841737365743c417373657449643e000118616d6f756e7418011c42616c616e63650000c90c0c4474616e676c655f7072696d6974697665731474797065731c4163636f756e7404244163636f756e7449640100010808496404000001244163636f756e7449640000001c4164647265737304009101013473705f636f72653a3a4831363000010000cd0c0c3c70616c6c65745f7365727669636573186d6f64756c65144572726f720404540001210144426c75657072696e744e6f74466f756e6400000490546865207365727669636520626c75657072696e7420776173206e6f7420666f756e642e70426c75657072696e744372656174696f6e496e74657272757074656400010488426c75657072696e74206372656174696f6e20697320696e7465727275707465642e44416c726561647952656769737465726564000204bc5468652063616c6c657220697320616c726561647920726567697374657265642061732061206f70657261746f722e304475706c69636174654b6579000304fc5468652063616c6c6572206973207265676973746572696e6720776974682061206b6579207468617420697320616c7265616479207265676973746572656460496e76616c6964526567697374726174696f6e496e707574000404ec5468652063616c6c657220646f6573206e6f7420686176652074686520726571756972656d656e747320746f2062652061206f70657261746f722e584e6f74416c6c6f776564546f556e7265676973746572000504a8546865204f70657261746f72206973206e6f7420616c6c6f77656420746f20756e72656769737465722e784e6f74416c6c6f776564546f557064617465507269636554617267657473000604e8546865204f70657261746f72206973206e6f7420616c6c6f77656420746f2075706461746520746865697220707269636520746172676574732e4c496e76616c696452657175657374496e707574000704fc5468652063616c6c657220646f6573206e6f7420686176652074686520726571756972656d656e747320746f2072657175657374206120736572766963652e4c496e76616c69644a6f6243616c6c496e707574000804e05468652063616c6c657220646f6573206e6f7420686176652074686520726571756972656d656e747320746f2063616c6c2061206a6f622e40496e76616c69644a6f62526573756c74000904a85468652063616c6c65722070726f766964656420616e20696e76616c6964206a6f6220726573756c742e344e6f7452656769737465726564000a04ac5468652063616c6c6572206973206e6f7420726567697374657265642061732061206f70657261746f722e4c417070726f76616c496e746572727570746564000b0480417070726f76616c2050726f6365737320697320696e7465727275707465642e5052656a656374696f6e496e746572727570746564000c048452656a656374696f6e2050726f6365737320697320696e7465727275707465642e5853657276696365526571756573744e6f74466f756e64000d04885468652073657276696365207265717565737420776173206e6f7420666f756e642e8053657276696365496e697469616c697a6174696f6e496e746572727570746564000e048c5365727669636520496e697469616c697a6174696f6e20696e7465727275707465642e3c536572766963654e6f74466f756e64000f0468546865207365727669636520776173206e6f7420666f756e642e585465726d696e6174696f6e496e746572727570746564001004bc546865207465726d696e6174696f6e206f662074686520736572766963652077617320696e7465727275707465642e2454797065436865636b0400d10c013854797065436865636b4572726f72001104fc416e206572726f72206f63637572726564207768696c65207479706520636865636b696e67207468652070726f766964656420696e70757420696e7075742e6c4d61785065726d697474656443616c6c65727345786365656465640012041901546865206d6178696d756d206e756d626572206f66207065726d69747465642063616c6c65727320706572207365727669636520686173206265656e2065786365656465642e6c4d61785365727669636550726f7669646572734578636565646564001304f8546865206d6178696d756d206e756d626572206f66206f70657261746f727320706572207365727669636520686173206265656e2065786365656465642e684d61785365727669636573506572557365724578636565646564001404e8546865206d6178696d756d206e756d626572206f6620736572766963657320706572207573657220686173206265656e2065786365656465642e444d61784669656c64734578636565646564001504ec546865206d6178696d756d206e756d626572206f66206669656c647320706572207265717565737420686173206265656e2065786365656465642e50417070726f76616c4e6f74526571756573746564001604f054686520617070726f76616c206973206e6f742072657175657374656420666f7220746865206f70657261746f7220287468652063616c6c6572292e544a6f62446566696e6974696f6e4e6f74466f756e6400170cb054686520726571756573746564206a6f6220646566696e6974696f6e20646f6573206e6f742065786973742e590154686973206572726f722069732072657475726e6564207768656e2074686520726571756573746564206a6f6220646566696e6974696f6e20646f6573206e6f7420657869737420696e20746865207365727669636528626c75657072696e742e60536572766963654f724a6f6243616c6c4e6f74466f756e64001804c4456974686572207468652073657276696365206f7220746865206a6f622063616c6c20776173206e6f7420666f756e642e544a6f6243616c6c526573756c744e6f74466f756e64001904a454686520726573756c74206f6620746865206a6f622063616c6c20776173206e6f7420666f756e642e3045564d416269456e636f6465001a04b4416e206572726f72206f63637572726564207768696c6520656e636f64696e67207468652045564d204142492e3045564d4162694465636f6465001b04b4416e206572726f72206f63637572726564207768696c65206465636f64696e67207468652045564d204142492e5c4f70657261746f7250726f66696c654e6f74466f756e64001c046c4f70657261746f722070726f66696c65206e6f7420666f756e642e784d617853657276696365735065724f70657261746f724578636565646564001d04c04d6178696d756d206e756d626572206f6620736572766963657320706572206f70657261746f7220726561636865642e804d6178426c75657072696e74735065724f70657261746f724578636565646564001e0401014d6178696d756d206e756d626572206f6620626c75657072696e7473207265676973746572656420627920746865206f70657261746f7220726561636865642e444f70657261746f724e6f74416374697665001f045901546865206f70657261746f72206973206e6f74206163746976652c20656e73757265206f70657261746f72207374617475732069732041435449564520696e206d756c74692d61737365742d64656c65676174696f6e444475706c69636174654f70657261746f72002004804475706c6963617465206f70657261746f7220726567697374726174696f6e2e40546f6f4d616e794f70657261746f7273002104f8546f6f206d616e79206f70657261746f72732070726f766964656420666f722074686520736572766963652773206d656d62657273686970206d6f64656c3c546f6f4665774f70657261746f7273002204f4546f6f20666577206f70657261746f72732070726f766964656420666f722074686520736572766963652773206d656d62657273686970206d6f64656c404e6f41737365747350726f76696465640023040d014e6f206173736574732070726f766964656420666f722074686520736572766963652c206174206c65617374206f6e652061737365742069732072657175697265642e384475706c69636174654173736574002404644475706c6963617465206173736574732070726f76696465646c4d6178417373657473506572536572766963654578636565646564002504ec546865206d6178696d756d206e756d626572206f662061737365747320706572207365727669636520686173206265656e2065786365656465642e644e617469766541737365744578706f73757265546f6f4c6f77002604804e6174697665206173736574206578706f7375726520697320746f6f206c6f77344e6f4e61746976654173736574002704644e6174697665206173736574206973206e6f7420666f756e644c4f6666656e6465724e6f744f70657261746f72002804984f6666656e646572206973206e6f7420612072656769737465726564206f70657261746f722e644f6666656e6465724e6f744163746976654f70657261746f720029048c4f6666656e646572206973206e6f7420616e20616374697665206f70657261746f722e404e6f536c617368696e674f726967696e002a042101546865205365727669636520426c75657072696e7420646964206e6f742072657475726e206120736c617368696e67206f726967696e20666f72207468697320736572766963652e3c4e6f446973707574654f726967696e002b041d01546865205365727669636520426c75657072696e7420646964206e6f742072657475726e20612064697370757465206f726967696e20666f72207468697320736572766963652e58556e6170706c696564536c6173684e6f74466f756e64002c048854686520556e6170706c69656420536c61736820617265206e6f7420666f756e642eb44d6173746572426c75657072696e74536572766963654d616e616765725265766973696f6e4e6f74466f756e64002d04110154686520537570706c696564204d617374657220426c75657072696e742053657276696365204d616e61676572205265766973696f6e206973206e6f7420666f756e642e604475706c69636174654d656d626572736869704d6f64656c002e04684475706c6963617465206d656d62657273686970206d6f64656cc04d61784d6173746572426c75657072696e74536572766963654d616e6167657256657273696f6e734578636565646564002f0415014d6178696d756d206e756d626572206f66204d617374657220426c75657072696e742053657276696365204d616e61676572207265766973696f6e7320726561636865642e4c45524332305472616e736665724661696c656400300468546865204552433230207472616e73666572206661696c65642e404d697373696e6745564d4f726967696e003104a44d697373696e672045564d204f726967696e20666f72207468652045564d20657865637574696f6e2e48457870656374656445564d41646472657373003204a8457870656374656420746865206163636f756e7420746f20626520616e2045564d20616464726573732e4445787065637465644163636f756e744964003304a4457870656374656420746865206163636f756e7420746f20626520616e206163636f756e742049442e404f6e526571756573744661696c757265003404505265717565737420686f6f6b206661696c757265504f6e5265676973746572486f6f6b4661696c656400350454526567697374657220686f6f6b206661696c757265404f6e417070726f76654661696c75726500360490417070726f76652073657276696365207265717565737420686f6f6b206661696c7572653c4f6e52656a6563744661696c7572650037048c52656a6563742073657276696365207265717565737420686f6f6b206661696c757265444f6e53657276696365496e6974486f6f6b003804445365727669636520696e697420686f6f6b68556e737570706f727465644d656d626572736869704d6f64656c003904ac4d656d62657273686970206d6f64656c206e6f7420737570706f7274656420627920626c75657072696e747444796e616d69634d656d626572736869704e6f74537570706f72746564003a04ac5365727669636520646f6573206e6f7420737570706f72742064796e616d6963206d656d62657273686970304a6f696e52656a6563746564003b04ac43616e6e6f74206a6f696e2073657276696365202d2072656a656374656420627920626c75657072696e74344c6561766552656a6563746564003c04b043616e6e6f74206c656176652073657276696365202d2072656a656374656420627920626c75657072696e744c4d61784f70657261746f727352656163686564003d04644d6178696d756d206f70657261746f72732072656163686564404f6e43616e4a6f696e4661696c757265003e045443616e206a6f696e20686f6f6b206661696c757265444f6e43616e4c656176654661696c757265003f045843616e206c6561766520686f6f6b206661696c757265544f6e4f70657261746f724a6f696e4661696c757265004004684f70657261746f72206a6f696e20686f6f6b206661696c757265584f6e4f70657261746f724c656176654661696c7572650041046c4f70657261746f72206c6561766520686f6f6b206661696c75726534416c72656164794a6f696e6564004204d84f70657261746f722069732061206d656d626572206f722068617320616c7265616479206a6f696e6564207468652073657276696365344e6f74416e4f70657261746f72004304a043616c6c6572206973206e6f7420616e206f70657261746f72206f6620746865207365727669636558496e76616c6964536c61736850657263656e7461676500440460496e76616c696420736c6173682070657263656e7461676528496e76616c69644b6579004504a8496e76616c6964206b657920287a65726f2062797465204543445341206b65792070726f76696465642968496e76616c69645365637572697479436f6d6d69746d656e747300460470496e76616c696420736563757269747920636f6d6d69746d656e74736c496e76616c69645365637572697479526571756972656d656e747300470474496e76616c696420536563757269747920526571756972656d656e7473048054686520604572726f726020656e756d206f6620746869732070616c6c65742ed10c104474616e676c655f7072696d6974697665732073657276696365731474797065733854797065436865636b4572726f7200010c50417267756d656e74547970654d69736d617463680c0114696e646578080108753800012065787065637465640d0201244669656c645479706500011861637475616c0d0201244669656c6454797065000000484e6f74456e6f756768417267756d656e74730801206578706563746564080108753800011861637475616c080108753800010048526573756c74547970654d69736d617463680c0114696e646578080108753800012065787065637465640d0201244669656c645479706500011861637475616c0d0201244669656c645479706500020000d50c104470616c6c65745f74616e676c655f6c73741474797065732c626f6e6465645f706f6f6c3c426f6e646564506f6f6c496e6e65720404540000100128636f6d6d697373696f6ed90c0134436f6d6d697373696f6e3c543e000114726f6c6573e10c015c506f6f6c526f6c65733c543a3a4163636f756e7449643e000114737461746575020124506f6f6c53746174650001206d65746164617461e50c013c506f6f6c4d657461646174613c543e0000d90c104470616c6c65745f74616e676c655f6c737414747970657328636f6d6d697373696f6e28436f6d6d697373696f6e040454000014011c63757272656e742101017c4f7074696f6e3c2850657262696c6c2c20543a3a4163636f756e744964293e00010c6d6178ad0a013c4f7074696f6e3c50657262696c6c3e00012c6368616e67655f72617465dd0c01bc4f7074696f6e3c436f6d6d697373696f6e4368616e6765526174653c426c6f636b4e756d626572466f723c543e3e3e0001347468726f74746c655f66726f6d050501644f7074696f6e3c426c6f636b4e756d626572466f723c543e3e000140636c61696d5f7065726d697373696f6e7d0201bc4f7074696f6e3c436f6d6d697373696f6e436c61696d5065726d697373696f6e3c543a3a4163636f756e7449643e3e0000dd0c04184f7074696f6e0404540179020108104e6f6e6500000010536f6d65040079020000010000e10c104470616c6c65745f74616e676c655f6c737414747970657314706f6f6c7324506f6f6c526f6c657304244163636f756e7449640100001001246465706f7369746f720001244163636f756e744964000110726f6f748801444f7074696f6e3c4163636f756e7449643e0001246e6f6d696e61746f728801444f7074696f6e3c4163636f756e7449643e00011c626f756e6365728801444f7074696f6e3c4163636f756e7449643e0000e50c104470616c6c65745f74616e676c655f6c73741474797065732c626f6e6465645f706f6f6c30506f6f6c4d6574616461746104045400000801106e616d65790701a04f7074696f6e3c426f756e6465645665633c75382c20543a3a4d61784e616d654c656e6774683e3e00011069636f6e810701a04f7074696f6e3c426f756e6465645665633c75382c20543a3a4d617849636f6e4c656e6774683e3e0000e90c104470616c6c65745f74616e676c655f6c7374147479706573247375625f706f6f6c7328526577617264506f6f6c04045400001401706c6173745f7265636f726465645f7265776172645f636f756e746572f5080140543a3a526577617264436f756e74657200016c6c6173745f7265636f726465645f746f74616c5f7061796f75747318013042616c616e63654f663c543e000154746f74616c5f726577617264735f636c61696d656418013042616c616e63654f663c543e000160746f74616c5f636f6d6d697373696f6e5f70656e64696e6718013042616c616e63654f663c543e000160746f74616c5f636f6d6d697373696f6e5f636c61696d656418013042616c616e63654f663c543e0000ed0c104470616c6c65745f74616e676c655f6c7374147479706573247375625f706f6f6c7320537562506f6f6c7304045400000801186e6f5f657261f10c0134556e626f6e64506f6f6c3c543e000120776974685f657261f50c010101426f756e64656442547265654d61703c457261496e6465782c20556e626f6e64506f6f6c3c543e2c20546f74616c556e626f6e64696e67506f6f6c733c543e3e0000f10c104470616c6c65745f74616e676c655f6c7374147479706573247375625f706f6f6c7328556e626f6e64506f6f6c0404540000080118706f696e747318013042616c616e63654f663c543e00011c62616c616e636518013042616c616e63654f663c543e0000f50c0c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b0110045601f10c045300000400f90c013842547265654d61703c4b2c20563e0000f90c042042547265654d617008044b0110045601f10c000400fd0c000000fd0c000002010d00010d0000040810f10c00050d0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003801185665633c543e0000090d104470616c6c65745f74616e676c655f6c737414747970657314706f6f6c7328506f6f6c4d656d6265720404540000040138756e626f6e64696e675f657261730d0d010901426f756e64656442547265654d61703c457261496e6465782c2028506f6f6c49642c2042616c616e63654f663c543e292c20543a3a4d6178556e626f6e64696e673e00000d0d0c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b0110045601a10a045300000400110d013842547265654d61703c4b2c20563e0000110d042042547265654d617008044b0110045601a10a000400150d000000150d000002190d00190d0000040810a10a001d0d0c4470616c6c65745f74616e676c655f6c73741474797065733c436c61696d5065726d697373696f6e000110305065726d697373696f6e6564000000585065726d697373696f6e6c657373436f6d706f756e64000100585065726d697373696f6e6c6573735769746864726177000200445065726d697373696f6e6c657373416c6c00030000210d0c4470616c6c65745f74616e676c655f6c73741870616c6c6574144572726f7204045400018430506f6f6c4e6f74466f756e6400000488412028626f6e6465642920706f6f6c20696420646f6573206e6f742065786973742e48506f6f6c4d656d6265724e6f74466f756e640001046c416e206163636f756e74206973206e6f742061206d656d6265722e48526577617264506f6f6c4e6f74466f756e640002042101412072657761726420706f6f6c20646f6573206e6f742065786973742e20496e20616c6c206361736573207468697320697320612073797374656d206c6f676963206572726f722e40537562506f6f6c734e6f74466f756e6400030468412073756220706f6f6c20646f6573206e6f742065786973742e3846756c6c79556e626f6e64696e670004083d01546865206d656d6265722069732066756c6c7920756e626f6e6465642028616e6420746875732063616e6e6f74206163636573732074686520626f6e64656420616e642072657761726420706f6f6ca8616e796d6f726520746f2c20666f72206578616d706c652c20636f6c6c6563742072657761726473292e444d6178556e626f6e64696e674c696d69740005040901546865206d656d6265722063616e6e6f7420756e626f6e642066757274686572206368756e6b732064756520746f207265616368696e6720746865206c696d69742e4443616e6e6f745769746864726177416e790006044d014e6f6e65206f66207468652066756e64732063616e2062652077697468647261776e2079657420626563617573652074686520626f6e64696e67206475726174696f6e20686173206e6f74207061737365642e444d696e696d756d426f6e644e6f744d6574000714290154686520616d6f756e7420646f6573206e6f74206d65657420746865206d696e696d756d20626f6e6420746f20656974686572206a6f696e206f7220637265617465206120706f6f6c2e005501546865206465706f7369746f722063616e206e6576657220756e626f6e6420746f20612076616c7565206c657373207468616e206050616c6c65743a3a6465706f7369746f725f6d696e5f626f6e64602e205468655d0163616c6c657220646f6573206e6f742068617665206e6f6d696e6174696e67207065726d697373696f6e7320666f722074686520706f6f6c2e204d656d626572732063616e206e6576657220756e626f6e6420746f20616876616c75652062656c6f7720604d696e4a6f696e426f6e64602e304f766572666c6f775269736b0008042101546865207472616e73616374696f6e20636f756c64206e6f742062652065786563757465642064756520746f206f766572666c6f77207269736b20666f722074686520706f6f6c2e344e6f7444657374726f79696e670009085d014120706f6f6c206d75737420626520696e205b60506f6f6c53746174653a3a44657374726f79696e67605d20696e206f7264657220666f7220746865206465706f7369746f7220746f20756e626f6e64206f7220666f72b86f74686572206d656d6265727320746f206265207065726d697373696f6e6c6573736c7920756e626f6e6465642e304e6f744e6f6d696e61746f72000a04f45468652063616c6c657220646f6573206e6f742068617665206e6f6d696e6174696e67207065726d697373696f6e7320666f722074686520706f6f6c2e544e6f744b69636b65724f7244657374726f79696e67000b043d01456974686572206129207468652063616c6c65722063616e6e6f74206d616b6520612076616c6964206b69636b206f722062292074686520706f6f6c206973206e6f742064657374726f79696e672e1c4e6f744f70656e000c047054686520706f6f6c206973206e6f74206f70656e20746f206a6f696e204d6178506f6f6c73000d04845468652073797374656d206973206d61786564206f7574206f6e20706f6f6c732e384d6178506f6f6c4d656d62657273000e049c546f6f206d616e79206d656d6265727320696e2074686520706f6f6c206f722073797374656d2e4443616e4e6f744368616e67655374617465000f048854686520706f6f6c732073746174652063616e6e6f74206265206368616e6765642e54446f65734e6f74486176655065726d697373696f6e001004b85468652063616c6c657220646f6573206e6f742068617665206164657175617465207065726d697373696f6e732e544d65746164617461457863656564734d61784c656e001104ac4d657461646174612065786365656473205b60436f6e6669673a3a4d61784d657461646174614c656e605d24446566656e736976650400250d0138446566656e736976654572726f720012083101536f6d65206572726f72206f6363757272656420746861742073686f756c64206e657665722068617070656e2e20546869732073686f756c64206265207265706f7274656420746f20746865306d61696e7461696e6572732e9c5061727469616c556e626f6e644e6f74416c6c6f7765645065726d697373696f6e6c6573736c79001304bc5061727469616c20756e626f6e64696e67206e6f7720616c6c6f776564207065726d697373696f6e6c6573736c792e5c4d6178436f6d6d697373696f6e526573747269637465640014041d0154686520706f6f6c2773206d617820636f6d6d697373696f6e2063616e6e6f742062652073657420686967686572207468616e20746865206578697374696e672076616c75652e60436f6d6d697373696f6e457863656564734d6178696d756d001504ec54686520737570706c69656420636f6d6d697373696f6e206578636565647320746865206d617820616c6c6f77656420636f6d6d697373696f6e2e78436f6d6d697373696f6e45786365656473476c6f62616c4d6178696d756d001604e854686520737570706c69656420636f6d6d697373696f6e206578636565647320676c6f62616c206d6178696d756d20636f6d6d697373696f6e2e64436f6d6d697373696f6e4368616e67655468726f74746c656400170409014e6f7420656e6f75676820626c6f636b732068617665207375727061737365642073696e636520746865206c61737420636f6d6d697373696f6e207570646174652e78436f6d6d697373696f6e4368616e6765526174654e6f74416c6c6f7765640018040101546865207375626d6974746564206368616e67657320746f20636f6d6d697373696f6e206368616e6765207261746520617265206e6f7420616c6c6f7765642e4c4e6f50656e64696e67436f6d6d697373696f6e001904a05468657265206973206e6f2070656e64696e6720636f6d6d697373696f6e20746f20636c61696d2e584e6f436f6d6d697373696f6e43757272656e74536574001a048c4e6f20636f6d6d697373696f6e2063757272656e7420686173206265656e207365742e2c506f6f6c4964496e557365001b0464506f6f6c2069642063757272656e746c7920696e207573652e34496e76616c6964506f6f6c4964001c049c506f6f6c2069642070726f7669646564206973206e6f7420636f72726563742f757361626c652e4c426f6e64457874726152657374726963746564001d04fc426f6e64696e67206578747261206973207265737472696374656420746f207468652065786163742070656e64696e672072657761726420616d6f756e742e3c4e6f7468696e67546f41646a757374001e04b04e6f20696d62616c616e636520696e20746865204544206465706f73697420666f722074686520706f6f6c2e5c506f6f6c546f6b656e4372656174696f6e4661696c6564001f046c506f6f6c20746f6b656e206372656174696f6e206661696c65642e444e6f42616c616e6365546f556e626f6e64002004544e6f2062616c616e636520746f20756e626f6e642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e250d0c4470616c6c65745f74616e676c655f6c73741870616c6c657438446566656e736976654572726f72000114684e6f74456e6f7567685370616365496e556e626f6e64506f6f6c00000030506f6f6c4e6f74466f756e6400010048526577617264506f6f6c4e6f74466f756e6400020040537562506f6f6c734e6f74466f756e6400030070426f6e64656453746173684b696c6c65645072656d61747572656c7900040000290d0000040800f101002d0d00000408301800310d000002f10100350d0c3870616c6c65745f726577617264731870616c6c6574144572726f72040454000160484e6f52657761726473417661696c61626c65000004744e6f207265776172647320617661696c61626c6520746f20636c61696d68496e73756666696369656e745265776172647342616c616e6365000104b8496e73756666696369656e7420726577617264732062616c616e636520696e2070616c6c6574206163636f756e744c41737365744e6f7457686974656c6973746564000204904173736574206973206e6f742077686974656c697374656420666f7220726577617264735c4173736574416c726561647957686974656c697374656400030470417373657420697320616c72656164792077686974656c697374656428496e76616c696441505900040444496e76616c6964204150592076616c75654c4173736574416c7265616479496e5661756c7400050498417373657420616c72656164792065786973747320696e206120726577617264207661756c743c41737365744e6f74496e5661756c740006047c4173736574206e6f7420666f756e6420696e20726577617264207661756c74345661756c744e6f74466f756e640007047c54686520726577617264207661756c7420646f6573206e6f74206578697374504475706c6963617465426c75657072696e74496400080415014572726f722072657475726e6564207768656e20747279696e6720746f20616464206120626c75657072696e74204944207468617420616c7265616479206578697374732e4c426c75657072696e7449644e6f74466f756e640009041d014572726f722072657475726e6564207768656e20747279696e6720746f2072656d6f7665206120626c75657072696e74204944207468617420646f65736e27742065786973742e50526577617264436f6e6669674e6f74466f756e64000a0421014572726f722072657475726e6564207768656e207468652072657761726420636f6e66696775726174696f6e20666f7220746865207661756c74206973206e6f7420666f756e642e7443616e6e6f7443616c63756c61746550726f706f74696f6e616c417079000b049c41726974686d65746963206f7065726174696f6e2063617573656420616e206f766572666c6f777443616e6e6f7443616c63756c617465526577617264506572426c6f636b000c04e04572726f722072657475726e6564207768656e20747279696e6720746f2063616c63756c617465207265776172642070657220626c6f636b84496e63656e74697665436170477265617465725468616e4465706f736974436170000d04a4496e63656e74697665206361702069732067726561746572207468616e206465706f7369742063617060426f6f73744d756c7469706c6965724d75737442654f6e65000e0468426f6f7374206d756c7469706c696572206d7573742062652031485661756c74416c7265616479457869737473000f04505661756c7420616c72656164792065786973747380546f74616c4465706f7369744c6573735468616e496e63656e74697665436170001004a0546f74616c206465706f736974206973206c657373207468616e20696e63656e746976652063617040506f74416c726561647945786973747300110454506f74206163636f756e74206e6f7420666f756e6448506f744163636f756e744e6f74466f756e6400120454506f74206163636f756e74206e6f7420666f756e6440496e76616c6964446563617952617465001304584465636179207261746520697320746f6f206869676898496e63656e74697665436170477265617465725468616e4d6178496e63656e74697665436170001404bc496e63656e74697665206361702069732067726561746572207468616e206d617820696e63656e7469766520636170884465706f736974436170477265617465725468616e4d61784465706f736974436170001504ac4465706f736974206361702069732067726561746572207468616e206d6178206465706f736974206361708c496e63656e746976654361704c6573735468616e4d696e496e63656e74697665436170001604b0496e63656e7469766520636170206973206c657373207468616e206d696e20696e63656e74697665206361707c4465706f7369744361704c6573735468616e4d696e4465706f736974436170001704a04465706f73697420636170206973206c657373207468616e206d696e206465706f73697420636170048054686520604572726f726020656e756d206f6620746869732070616c6c65742e390d0c2c70616c6c65745f69736d701870616c6c6574144572726f7204045400011438496e76616c69644d65737361676500000450496e76616c69642049534d50206d6573736167653c4d6573736167654e6f74466f756e640001047c526571756573746564206d65737361676520776173206e6f7420666f756e6474436f6e73656e737573436c69656e744372656174696f6e4661696c6564000204e4456e636f756e746572656420616e206572726f72207768696c65206372656174696e672074686520636f6e73656e73757320636c69656e742e6c556e626f6e64696e67506572696f645570646174654661696c656400030480436f756c646e27742075706461746520756e626f6e64696e6720706572696f646c4368616c6c656e6765506572696f645570646174654661696c656400040480436f756c646e277420757064617465206368616c6c656e676520706572696f64043450616c6c6574206572726f72733d0d0c4870616c6c65745f68797065726272696467651870616c6c6574144572726f72040454000100048054686520604572726f726020656e756d206f6620746869732070616c6c65742e410d0000040818a50200450d0c5070616c6c65745f746f6b656e5f676174657761791870616c6c6574144572726f7204045400012444556e7265676973746572656441737365740000049041206173736574207468617420686173206e6f74206265656e207265676973746572656448417373657454656c65706f72744572726f72000104744572726f72207768696c652074656c65706f7274696e6720617373657460436f70726f636573736f724e6f74436f6e66696775726564000204b4436f70726f636573736f7220776173206e6f7420636f6e6669677572656420696e207468652072756e74696d653444697370617463684572726f72000304784173736574206f7220757064617465204469737061746368204572726f724841737365744372656174696f6e4572726f72000404604173736574204964206372656174696f6e206661696c6564544173736574446563696d616c734e6f74466f756e6400050460417373657420646563696d616c73206e6f7420666f756e64384e6f74496e697469616c697a6564000604a450726f746f636f6c20506172616d732068617665206e6f74206265656e20696e697469616c697a656430556e6b6e6f776e417373657400070434556e6b6e6f776e204173736574344e6f7441737365744f776e6572000804a44f6e6c7920726f6f74206f72206173736574206f776e65722063616e2075706461746520617373657404ac4572726f727320746861742063616e2062652072657475726e656420627920746869732070616c6c65742e490d0c4466705f73656c665f636f6e7461696e65644c756e636865636b65645f65787472696e73696348556e636865636b656445787472696e736963101c41646472657373014d031043616c6c014503245369676e617475726501e905144578747261014d0d0004007d0d01250173705f72756e74696d653a3a67656e657269633a3a556e636865636b656445787472696e7369633c416464726573732c2043616c6c2c205369676e61747572652c2045787472610a3e00004d0d00000424510d550d590d5d0d610d690d6d0d710d750d00510d10306672616d655f73797374656d28657874656e73696f6e7354636865636b5f6e6f6e5f7a65726f5f73656e64657248436865636b4e6f6e5a65726f53656e64657204045400000000550d10306672616d655f73797374656d28657874656e73696f6e7348636865636b5f737065635f76657273696f6e40436865636b5370656356657273696f6e04045400000000590d10306672616d655f73797374656d28657874656e73696f6e7340636865636b5f74785f76657273696f6e38436865636b547856657273696f6e040454000000005d0d10306672616d655f73797374656d28657874656e73696f6e7334636865636b5f67656e6573697330436865636b47656e6573697304045400000000610d10306672616d655f73797374656d28657874656e73696f6e733c636865636b5f6d6f7274616c69747938436865636b4d6f7274616c69747904045400000400650d010c4572610000650d102873705f72756e74696d651c67656e657269630c6572610c4572610001010420496d6d6f7274616c0000001c4d6f7274616c31040008000001001c4d6f7274616c32040008000002001c4d6f7274616c33040008000003001c4d6f7274616c34040008000004001c4d6f7274616c35040008000005001c4d6f7274616c36040008000006001c4d6f7274616c37040008000007001c4d6f7274616c38040008000008001c4d6f7274616c3904000800000900204d6f7274616c313004000800000a00204d6f7274616c313104000800000b00204d6f7274616c313204000800000c00204d6f7274616c313304000800000d00204d6f7274616c313404000800000e00204d6f7274616c313504000800000f00204d6f7274616c313604000800001000204d6f7274616c313704000800001100204d6f7274616c313804000800001200204d6f7274616c313904000800001300204d6f7274616c323004000800001400204d6f7274616c323104000800001500204d6f7274616c323204000800001600204d6f7274616c323304000800001700204d6f7274616c323404000800001800204d6f7274616c323504000800001900204d6f7274616c323604000800001a00204d6f7274616c323704000800001b00204d6f7274616c323804000800001c00204d6f7274616c323904000800001d00204d6f7274616c333004000800001e00204d6f7274616c333104000800001f00204d6f7274616c333204000800002000204d6f7274616c333304000800002100204d6f7274616c333404000800002200204d6f7274616c333504000800002300204d6f7274616c333604000800002400204d6f7274616c333704000800002500204d6f7274616c333804000800002600204d6f7274616c333904000800002700204d6f7274616c343004000800002800204d6f7274616c343104000800002900204d6f7274616c343204000800002a00204d6f7274616c343304000800002b00204d6f7274616c343404000800002c00204d6f7274616c343504000800002d00204d6f7274616c343604000800002e00204d6f7274616c343704000800002f00204d6f7274616c343804000800003000204d6f7274616c343904000800003100204d6f7274616c353004000800003200204d6f7274616c353104000800003300204d6f7274616c353204000800003400204d6f7274616c353304000800003500204d6f7274616c353404000800003600204d6f7274616c353504000800003700204d6f7274616c353604000800003800204d6f7274616c353704000800003900204d6f7274616c353804000800003a00204d6f7274616c353904000800003b00204d6f7274616c363004000800003c00204d6f7274616c363104000800003d00204d6f7274616c363204000800003e00204d6f7274616c363304000800003f00204d6f7274616c363404000800004000204d6f7274616c363504000800004100204d6f7274616c363604000800004200204d6f7274616c363704000800004300204d6f7274616c363804000800004400204d6f7274616c363904000800004500204d6f7274616c373004000800004600204d6f7274616c373104000800004700204d6f7274616c373204000800004800204d6f7274616c373304000800004900204d6f7274616c373404000800004a00204d6f7274616c373504000800004b00204d6f7274616c373604000800004c00204d6f7274616c373704000800004d00204d6f7274616c373804000800004e00204d6f7274616c373904000800004f00204d6f7274616c383004000800005000204d6f7274616c383104000800005100204d6f7274616c383204000800005200204d6f7274616c383304000800005300204d6f7274616c383404000800005400204d6f7274616c383504000800005500204d6f7274616c383604000800005600204d6f7274616c383704000800005700204d6f7274616c383804000800005800204d6f7274616c383904000800005900204d6f7274616c393004000800005a00204d6f7274616c393104000800005b00204d6f7274616c393204000800005c00204d6f7274616c393304000800005d00204d6f7274616c393404000800005e00204d6f7274616c393504000800005f00204d6f7274616c393604000800006000204d6f7274616c393704000800006100204d6f7274616c393804000800006200204d6f7274616c393904000800006300244d6f7274616c31303004000800006400244d6f7274616c31303104000800006500244d6f7274616c31303204000800006600244d6f7274616c31303304000800006700244d6f7274616c31303404000800006800244d6f7274616c31303504000800006900244d6f7274616c31303604000800006a00244d6f7274616c31303704000800006b00244d6f7274616c31303804000800006c00244d6f7274616c31303904000800006d00244d6f7274616c31313004000800006e00244d6f7274616c31313104000800006f00244d6f7274616c31313204000800007000244d6f7274616c31313304000800007100244d6f7274616c31313404000800007200244d6f7274616c31313504000800007300244d6f7274616c31313604000800007400244d6f7274616c31313704000800007500244d6f7274616c31313804000800007600244d6f7274616c31313904000800007700244d6f7274616c31323004000800007800244d6f7274616c31323104000800007900244d6f7274616c31323204000800007a00244d6f7274616c31323304000800007b00244d6f7274616c31323404000800007c00244d6f7274616c31323504000800007d00244d6f7274616c31323604000800007e00244d6f7274616c31323704000800007f00244d6f7274616c31323804000800008000244d6f7274616c31323904000800008100244d6f7274616c31333004000800008200244d6f7274616c31333104000800008300244d6f7274616c31333204000800008400244d6f7274616c31333304000800008500244d6f7274616c31333404000800008600244d6f7274616c31333504000800008700244d6f7274616c31333604000800008800244d6f7274616c31333704000800008900244d6f7274616c31333804000800008a00244d6f7274616c31333904000800008b00244d6f7274616c31343004000800008c00244d6f7274616c31343104000800008d00244d6f7274616c31343204000800008e00244d6f7274616c31343304000800008f00244d6f7274616c31343404000800009000244d6f7274616c31343504000800009100244d6f7274616c31343604000800009200244d6f7274616c31343704000800009300244d6f7274616c31343804000800009400244d6f7274616c31343904000800009500244d6f7274616c31353004000800009600244d6f7274616c31353104000800009700244d6f7274616c31353204000800009800244d6f7274616c31353304000800009900244d6f7274616c31353404000800009a00244d6f7274616c31353504000800009b00244d6f7274616c31353604000800009c00244d6f7274616c31353704000800009d00244d6f7274616c31353804000800009e00244d6f7274616c31353904000800009f00244d6f7274616c3136300400080000a000244d6f7274616c3136310400080000a100244d6f7274616c3136320400080000a200244d6f7274616c3136330400080000a300244d6f7274616c3136340400080000a400244d6f7274616c3136350400080000a500244d6f7274616c3136360400080000a600244d6f7274616c3136370400080000a700244d6f7274616c3136380400080000a800244d6f7274616c3136390400080000a900244d6f7274616c3137300400080000aa00244d6f7274616c3137310400080000ab00244d6f7274616c3137320400080000ac00244d6f7274616c3137330400080000ad00244d6f7274616c3137340400080000ae00244d6f7274616c3137350400080000af00244d6f7274616c3137360400080000b000244d6f7274616c3137370400080000b100244d6f7274616c3137380400080000b200244d6f7274616c3137390400080000b300244d6f7274616c3138300400080000b400244d6f7274616c3138310400080000b500244d6f7274616c3138320400080000b600244d6f7274616c3138330400080000b700244d6f7274616c3138340400080000b800244d6f7274616c3138350400080000b900244d6f7274616c3138360400080000ba00244d6f7274616c3138370400080000bb00244d6f7274616c3138380400080000bc00244d6f7274616c3138390400080000bd00244d6f7274616c3139300400080000be00244d6f7274616c3139310400080000bf00244d6f7274616c3139320400080000c000244d6f7274616c3139330400080000c100244d6f7274616c3139340400080000c200244d6f7274616c3139350400080000c300244d6f7274616c3139360400080000c400244d6f7274616c3139370400080000c500244d6f7274616c3139380400080000c600244d6f7274616c3139390400080000c700244d6f7274616c3230300400080000c800244d6f7274616c3230310400080000c900244d6f7274616c3230320400080000ca00244d6f7274616c3230330400080000cb00244d6f7274616c3230340400080000cc00244d6f7274616c3230350400080000cd00244d6f7274616c3230360400080000ce00244d6f7274616c3230370400080000cf00244d6f7274616c3230380400080000d000244d6f7274616c3230390400080000d100244d6f7274616c3231300400080000d200244d6f7274616c3231310400080000d300244d6f7274616c3231320400080000d400244d6f7274616c3231330400080000d500244d6f7274616c3231340400080000d600244d6f7274616c3231350400080000d700244d6f7274616c3231360400080000d800244d6f7274616c3231370400080000d900244d6f7274616c3231380400080000da00244d6f7274616c3231390400080000db00244d6f7274616c3232300400080000dc00244d6f7274616c3232310400080000dd00244d6f7274616c3232320400080000de00244d6f7274616c3232330400080000df00244d6f7274616c3232340400080000e000244d6f7274616c3232350400080000e100244d6f7274616c3232360400080000e200244d6f7274616c3232370400080000e300244d6f7274616c3232380400080000e400244d6f7274616c3232390400080000e500244d6f7274616c3233300400080000e600244d6f7274616c3233310400080000e700244d6f7274616c3233320400080000e800244d6f7274616c3233330400080000e900244d6f7274616c3233340400080000ea00244d6f7274616c3233350400080000eb00244d6f7274616c3233360400080000ec00244d6f7274616c3233370400080000ed00244d6f7274616c3233380400080000ee00244d6f7274616c3233390400080000ef00244d6f7274616c3234300400080000f000244d6f7274616c3234310400080000f100244d6f7274616c3234320400080000f200244d6f7274616c3234330400080000f300244d6f7274616c3234340400080000f400244d6f7274616c3234350400080000f500244d6f7274616c3234360400080000f600244d6f7274616c3234370400080000f700244d6f7274616c3234380400080000f800244d6f7274616c3234390400080000f900244d6f7274616c3235300400080000fa00244d6f7274616c3235310400080000fb00244d6f7274616c3235320400080000fc00244d6f7274616c3235330400080000fd00244d6f7274616c3235340400080000fe00244d6f7274616c3235350400080000ff0000690d10306672616d655f73797374656d28657874656e73696f6e732c636865636b5f6e6f6e636528436865636b4e6f6e636504045400000400f1020120543a3a4e6f6e636500006d0d10306672616d655f73797374656d28657874656e73696f6e7330636865636b5f7765696768742c436865636b57656967687404045400000000710d086870616c6c65745f7472616e73616374696f6e5f7061796d656e74604368617267655472616e73616374696f6e5061796d656e74040454000004006d01013042616c616e63654f663c543e0000750d08746672616d655f6d657461646174615f686173685f657874656e73696f6e44436865636b4d657461646174614861736804045400000401106d6f6465790d01104d6f64650000790d08746672616d655f6d657461646174615f686173685f657874656e73696f6e104d6f64650001082044697361626c65640000001c456e61626c6564000100007d0d102873705f72756e74696d651c67656e657269634c756e636865636b65645f65787472696e73696348556e636865636b656445787472696e736963101c41646472657373014d031043616c6c014503245369676e617475726501e905144578747261014d0d00040038000000810d085874616e676c655f746573746e65745f72756e74696d651c52756e74696d6500000000c01853797374656d011853797374656d481c4163636f756e7401010402000c4101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e3845787472696e736963436f756e74000010040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e40496e686572656e74734170706c696564010020040004a4205768657468657220616c6c20696e686572656e74732068617665206265656e206170706c6965642e2c426c6f636b576569676874010024180000000000000488205468652063757272656e742077656967687420666f722074686520626c6f636b2e40416c6c45787472696e736963734c656e000010040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b486173680101040530348000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e736963446174610101040510380400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d626572010030200000000000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801003480000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e1844696765737401003c040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301004c04001ca0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e001d01204e4f54453a20546865206974656d20697320756e626f756e6420616e642073686f756c64207468657265666f7265206e657665722062652072656164206f6e20636861696e2ed020497420636f756c64206f746865727769736520696e666c6174652074686520506f562073697a65206f66206120626c6f636b2e002d01204576656e747320686176652061206c6172676520696e2d6d656d6f72792073697a652e20426f7820746865206576656e747320746f206e6f7420676f206f75742d6f662d6d656d6f7279fc206a75737420696e206361736520736f6d656f6e65207374696c6c207265616473207468656d2066726f6d2077697468696e207468652072756e74696d652e284576656e74436f756e74010010100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f706963730101040234e9020400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e005901205468652076616c756520686173207468652074797065206028426c6f636b4e756d626572466f723c543e2c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e484c61737452756e74696d65557067726164650000ed0204000455012053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e545570677261646564546f553332526566436f756e740100200400044d012054727565206966207765206861766520757067726164656420736f207468617420607479706520526566436f756e74602069732060753332602e2046616c7365202864656661756c7429206966206e6f742e605570677261646564546f547269706c65526566436f756e740100200400085d012054727565206966207765206861766520757067726164656420736f2074686174204163636f756e74496e666f20636f6e7461696e73207468726565207479706573206f662060526566436f756e74602e2046616c736548202864656661756c7429206966206e6f742e38457865637574696f6e50686173650000e502040004882054686520657865637574696f6e207068617365206f662074686520626c6f636b2e44417574686f72697a6564557067726164650000f502040004b82060536f6d6560206966206120636f6465207570677261646520686173206265656e20617574686f72697a65642e01f90201581830426c6f636b576569676874730903f901624d186c000b00204aa9d10113ffffffffffffffff4247871900010b30f6a7a72e011366666666666666a6010b0098f73e5d0113ffffffffffffffbf0100004247871900010b307efa11a3011366666666666666e6010b00204aa9d10113ffffffffffffffff01070088526a74130000000000000040424787190000000004d020426c6f636b20262065787472696e7369637320776569676874733a20626173652076616c75657320616e64206c696d6974732e2c426c6f636b4c656e67746819033000006000000080000000800004a820546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e38426c6f636b48617368436f756e7430200001000000000000045501204d6178696d756d206e756d626572206f6620626c6f636b206e756d62657220746f20626c6f636b2068617368206d617070696e677320746f206b65657020286f6c64657374207072756e6564206669727374292e20446257656967687421034040787d010000000000e1f505000000000409012054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e1c56657273696f6e250321043874616e676c652d746573746e65743874616e676c652d746573746e657401000000bb0400000100000048df6acb689907609b0500000037e397fc7c91f5e40200000040fe3ad401f8959a060000009bbaa777b4c15fc4010000008f5c2d0094ecd04701000000582211f65bb14b8905000000e65b00e46cedd0aa02000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000cbca25e39f14238702000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000ed99c5acb25eedf503000000bd78255d4feeea1f06000000a33d43f58731ad8402000000fbc577b9d747efd6010000000ebc8fd84ae20ada0100000001000000000484204765742074686520636861696e277320696e2d636f64652076657273696f6e2e2853533538507265666978e901082a0014a8205468652064657369676e61746564205353353820707265666978206f66207468697320636861696e2e0039012054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e20697331012074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f662069742061737020616e206964656e746966696572206f662074686520636861696e2e013903012454696d657374616d70012454696d657374616d70080c4e6f7701003020000000000000000004a0205468652063757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e24446964557064617465010020040010d82057686574686572207468652074696d657374616d7020686173206265656e207570646174656420696e207468697320626c6f636b2e00550120546869732076616c7565206973207570646174656420746f206074727565602075706f6e207375636365737366756c207375626d697373696f6e206f6620612074696d657374616d702062792061206e6f64652e4501204974206973207468656e20636865636b65642061742074686520656e64206f66206561636820626c6f636b20657865637574696f6e20696e2074686520606f6e5f66696e616c697a656020686f6f6b2e013d030004344d696e696d756d506572696f643020b80b000000000000188c20546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e004d012042652061776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a20706572696f6420746861742074686520626c6f636b2070726f64756374696f6e4901206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c2067656e6572616c6c7920776f726b2077697468207468697320746f61012064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20466f72206578616d706c652c20696e2074686520417572612070616c6c65742069742077696c6c20626520646f75626c6520746869737020706572696f64206f6e2064656661756c742073657474696e67732e0002105375646f01105375646f040c4b6579000000040004842054686520604163636f756e74496460206f6620746865207375646f206b65792e014103017c00017508036052616e646f6d6e657373436f6c6c656374697665466c6970016052616e646f6d6e657373436f6c6c656374697665466c6970043852616e646f6d4d6174657269616c0100790804000c610120536572696573206f6620626c6f636b20686561646572732066726f6d20746865206c61737420383120626c6f636b73207468617420616374732061732072616e646f6d2073656564206d6174657269616c2e2054686973610120697320617272616e67656420617320612072696e672062756666657220776974682060626c6f636b5f6e756d626572202520383160206265696e672074686520696e64657820696e746f20746865206056656360206f664420746865206f6c6465737420686173682e00000000041841737365747301184173736574731414417373657400010402187d08040004542044657461696c73206f6620616e2061737365742e1c4163636f756e74000108020285088908040004e42054686520686f6c64696e6773206f662061207370656369666963206163636f756e7420666f7220612073706563696669632061737365742e24417070726f76616c7300010c0202029508990804000c590120417070726f7665642062616c616e6365207472616e73666572732e2046697273742062616c616e63652069732074686520616d6f756e7420617070726f76656420666f72207472616e736665722e205365636f6e64e82069732074686520616d6f756e74206f662060543a3a43757272656e63796020726573657276656420666f722073746f72696e6720746869732e4901204669727374206b6579206973207468652061737365742049442c207365636f6e64206b657920697320746865206f776e657220616e64207468697264206b6579206973207468652064656c65676174652e204d6574616461746101010402189d085000000000000000000000000000000000000000000458204d65746164617461206f6620616e2061737365742e2c4e657874417373657449640000180400246d012054686520617373657420494420656e666f7263656420666f7220746865206e657874206173736574206372656174696f6e2c20696620616e792070726573656e742e204f74686572776973652c20746869732073746f7261676550206974656d20686173206e6f206566666563742e00650120546869732063616e2062652075736566756c20666f722073657474696e6720757020636f6e73747261696e747320666f7220494473206f6620746865206e6577206173736574732e20466f72206578616d706c652c20627969012070726f766964696e6720616e20696e697469616c205b604e65787441737365744964605d20616e64207573696e6720746865205b6063726174653a3a4175746f496e6341737365744964605d2063616c6c6261636b2c20616ee8206175746f2d696e6372656d656e74206d6f64656c2063616e206265206170706c69656420746f20616c6c206e6577206173736574204944732e0021012054686520696e697469616c206e6578742061737365742049442063616e20626520736574207573696e6720746865205b6047656e65736973436f6e666967605d206f72207468652101205b5365744e657874417373657449645d28606d6967726174696f6e3a3a6e6578745f61737365745f69643a3a5365744e657874417373657449646029206d6967726174696f6e2e014903018c1c4052656d6f76654974656d734c696d69741010e80300000c5101204d6178206e756d626572206f66206974656d7320746f2064657374726f7920706572206064657374726f795f6163636f756e74736020616e64206064657374726f795f617070726f76616c73602063616c6c2e003901204d75737420626520636f6e6669677572656420746f20726573756c7420696e2061207765696768742074686174206d616b657320656163682063616c6c2066697420696e206120626c6f636b2e3041737365744465706f73697418400000e8890423c78a000000000000000004f82054686520626173696320616d6f756e74206f662066756e64732074686174206d75737420626520726573657276656420666f7220616e2061737365742e4c41737365744163636f756e744465706f73697418400000e8890423c78a00000000000000000845012054686520616d6f756e74206f662066756e64732074686174206d75737420626520726573657276656420666f722061206e6f6e2d70726f7669646572206173736574206163636f756e7420746f20626530206d61696e7461696e65642e4c4d657461646174614465706f7369744261736518400000a24ea8b8b88b00000000000000000451012054686520626173696320616d6f756e74206f662066756e64732074686174206d757374206265207265736572766564207768656e20616464696e67206d6574616461746120746f20796f75722061737365742e584d657461646174614465706f7369745065724279746518400080c6a47e8d0300000000000000000008550120546865206164646974696f6e616c2066756e64732074686174206d75737420626520726573657276656420666f7220746865206e756d626572206f6620627974657320796f752073746f726520696e20796f757228206d657461646174612e3c417070726f76616c4465706f736974184000e40b540200000000000000000000000421012054686520616d6f756e74206f662066756e64732074686174206d757374206265207265736572766564207768656e206372656174696e672061206e657720617070726f76616c2e2c537472696e674c696d697410103200000004e020546865206d6178696d756d206c656e677468206f662061206e616d65206f722073796d626f6c2073746f726564206f6e2d636861696e2e01a508052042616c616e636573012042616c616e6365731c34546f74616c49737375616e6365010018400000000000000000000000000000000004982054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e40496e61637469766549737375616e636501001840000000000000000000000000000000000409012054686520746f74616c20756e697473206f66206f75747374616e64696e672064656163746976617465642062616c616e636520696e207468652073797374656d2e1c4163636f756e74010104020014010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080600901205468652042616c616e6365732070616c6c6574206578616d706c65206f662073746f72696e67207468652062616c616e6365206f6620616e206163636f756e742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b19022020202074797065204163636f756e7453746f7265203d2053746f726167654d61705368696d3c53656c663a3a4163636f756e743c52756e74696d653e2c206672616d655f73797374656d3a3a50726f76696465723c52756e74696d653e2c204163636f756e7449642c2053656c663a3a4163636f756e74446174613c42616c616e63653e3e0c20207d102060606000150120596f752063616e20616c736f2073746f7265207468652062616c616e6365206f6620616e206163636f756e7420696e20746865206053797374656d602070616c6c65742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b7420202074797065204163636f756e7453746f7265203d2053797374656d0c20207d102060606000510120427574207468697320636f6d657320776974682074726164656f6666732c2073746f72696e67206163636f756e742062616c616e63657320696e207468652073797374656d2070616c6c65742073746f7265736d0120606672616d655f73797374656d60206461746120616c6f6e677369646520746865206163636f756e74206461746120636f6e747261727920746f2073746f72696e67206163636f756e742062616c616e63657320696e207468652901206042616c616e636573602070616c6c65742c20776869636820757365732061206053746f726167654d61706020746f2073746f72652062616c616e6365732064617461206f6e6c792e4101204e4f54453a2054686973206973206f6e6c79207573656420696e207468652063617365207468617420746869732070616c6c6574206973207573656420746f2073746f72652062616c616e6365732e144c6f636b730101040200a908040010b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e00ad0120557365206f66206c6f636b73206973206465707265636174656420696e206661766f7572206f6620667265657a65732e20536565206068747470733a2f2f6769746875622e636f6d2f706172697479746563682f7375627374726174652f70756c6c2f31323935312f602052657365727665730101040200b90804000ca4204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e00b10120557365206f66207265736572766573206973206465707265636174656420696e206661766f7572206f6620686f6c64732e20536565206068747470733a2f2f6769746875622e636f6d2f706172697479746563682f7375627374726174652f70756c6c2f31323935312f6014486f6c64730101040200c5080400046c20486f6c6473206f6e206163636f756e742062616c616e6365732e1c467265657a65730101040200d9080400048820467265657a65206c6f636b73206f6e206163636f756e742062616c616e6365732e015103019010484578697374656e7469616c4465706f736974184000e40b5402000000000000000000000020410120546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e204d5553542042452047524541544552205448414e205a45524f2100590120496620796f75202a7265616c6c792a206e65656420697420746f206265207a65726f2c20796f752063616e20656e61626c652074686520666561747572652060696e7365637572655f7a65726f5f65646020666f72610120746869732070616c6c65742e20486f77657665722c20796f7520646f20736f20617420796f7572206f776e207269736b3a20746869732077696c6c206f70656e2075702061206d616a6f7220446f5320766563746f722e590120496e206361736520796f752068617665206d756c7469706c6520736f7572636573206f662070726f7669646572207265666572656e6365732c20796f75206d617920616c736f2067657420756e65787065637465648c206265686176696f757220696620796f7520736574207468697320746f207a65726f2e00f020426f74746f6d206c696e653a20446f20796f757273656c662061206661766f757220616e64206d616b65206974206174206c65617374206f6e6521204d61784c6f636b7310103200000010f420546865206d6178696d756d206e756d626572206f66206c6f636b7320746861742073686f756c64206578697374206f6e20616e206163636f756e742edc204e6f74207374726963746c7920656e666f726365642c20627574207573656420666f722077656967687420657374696d6174696f6e2e00ad0120557365206f66206c6f636b73206973206465707265636174656420696e206661766f7572206f6620667265657a65732e20536565206068747470733a2f2f6769746875622e636f6d2f706172697479746563682f7375627374726174652f70756c6c2f31323935312f602c4d617852657365727665731010320000000c0d0120546865206d6178696d756d206e756d626572206f66206e616d656420726573657276657320746861742063616e206578697374206f6e20616e206163636f756e742e00b10120557365206f66207265736572766573206973206465707265636174656420696e206661766f7572206f6620686f6c64732e20536565206068747470733a2f2f6769746875622e636f6d2f706172697479746563682f7375627374726174652f70756c6c2f31323935312f60284d6178467265657a657310103200000004610120546865206d6178696d756d206e756d626572206f6620696e646976696475616c20667265657a65206c6f636b7320746861742063616e206578697374206f6e20616e206163636f756e7420617420616e792074696d652e01f10806485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7408444e6578744665654d756c7469706c6965720100f50840000064a7b3b6e00d0000000000000000003853746f7261676556657273696f6e0100f90804000000019804604f7065726174696f6e616c4665654d756c7469706c696572080405545901204120666565206d756c7469706c69657220666f7220604f7065726174696f6e616c602065787472696e7369637320746f20636f6d7075746520227669727475616c207469702220746f20626f6f73742074686569722c20607072696f726974796000510120546869732076616c7565206973206d756c7469706c69656420627920746865206066696e616c5f6665656020746f206f627461696e206120227669727475616c20746970222074686174206973206c61746572f420616464656420746f20612074697020636f6d706f6e656e7420696e20726567756c617220607072696f72697479602063616c63756c6174696f6e732e4d01204974206d65616e732074686174206120604e6f726d616c60207472616e73616374696f6e2063616e2066726f6e742d72756e20612073696d696c61726c792d73697a656420604f7065726174696f6e616c6041012065787472696e736963202877697468206e6f20746970292c20627920696e636c7564696e672061207469702076616c75652067726561746572207468616e20746865207669727475616c207469702e003c20606060727573742c69676e6f726540202f2f20466f7220604e6f726d616c608c206c6574207072696f72697479203d207072696f726974795f63616c6328746970293b0054202f2f20466f7220604f7065726174696f6e616c601101206c6574207669727475616c5f746970203d2028696e636c7573696f6e5f666565202b2074697029202a204f7065726174696f6e616c4665654d756c7469706c6965723bc4206c6574207072696f72697479203d207072696f726974795f63616c6328746970202b207669727475616c5f746970293b1020606060005101204e6f746520746861742073696e636520776520757365206066696e616c5f6665656020746865206d756c7469706c696572206170706c69657320616c736f20746f2074686520726567756c61722060746970605d012073656e74207769746820746865207472616e73616374696f6e2e20536f2c206e6f74206f6e6c7920646f657320746865207472616e73616374696f6e206765742061207072696f726974792062756d702062617365646101206f6e207468652060696e636c7573696f6e5f666565602c2062757420776520616c736f20616d706c6966792074686520696d70616374206f662074697073206170706c69656420746f20604f7065726174696f6e616c6038207472616e73616374696f6e732e000728417574686f72736869700128417574686f72736869700418417574686f720000000400046420417574686f72206f662063757272656e7420626c6f636b2e00000000081042616265011042616265442845706f6368496e64657801003020000000000000000004542043757272656e742065706f636820696e6465782e2c417574686f7269746965730100fd080400046c2043757272656e742065706f636820617574686f7269746965732e2c47656e65736973536c6f740100690320000000000000000008f82054686520736c6f74206174207768696368207468652066697273742065706f63682061637475616c6c7920737461727465642e205468697320697320309020756e74696c2074686520666972737420626c6f636b206f662074686520636861696e2e2c43757272656e74536c6f740100690320000000000000000004542043757272656e7420736c6f74206e756d6265722e2852616e646f6d6e65737301000480000000000000000000000000000000000000000000000000000000000000000028b8205468652065706f63682072616e646f6d6e65737320666f7220746865202a63757272656e742a2065706f63682e002c20232053656375726974790005012054686973204d555354204e4f54206265207573656420666f722067616d626c696e672c2061732069742063616e20626520696e666c75656e6365642062792061f8206d616c6963696f75732076616c696461746f7220696e207468652073686f7274207465726d2e204974204d4159206265207573656420696e206d616e7915012063727970746f677261706869632070726f746f636f6c732c20686f77657665722c20736f206c6f6e67206173206f6e652072656d656d6265727320746861742074686973150120286c696b652065766572797468696e6720656c7365206f6e2d636861696e29206974206973207075626c69632e20466f72206578616d706c652c2069742063616e206265050120757365642077686572652061206e756d626572206973206e656564656420746861742063616e6e6f742068617665206265656e2063686f73656e20627920616e0d01206164766572736172792c20666f7220707572706f7365732073756368206173207075626c69632d636f696e207a65726f2d6b6e6f776c656467652070726f6f66732e6050656e64696e6745706f6368436f6e6669674368616e67650000710304000461012050656e64696e672065706f636820636f6e66696775726174696f6e206368616e676520746861742077696c6c206265206170706c696564207768656e20746865206e6578742065706f636820697320656e61637465642e384e65787452616e646f6d6e657373010004800000000000000000000000000000000000000000000000000000000000000000045c204e6578742065706f63682072616e646f6d6e6573732e3c4e657874417574686f7269746965730100fd0804000460204e6578742065706f636820617574686f7269746965732e305365676d656e74496e6465780100101000000000247c2052616e646f6d6e65737320756e64657220636f6e737472756374696f6e2e00f8205765206d616b6520612074726164652d6f6666206265747765656e2073746f7261676520616363657373657320616e64206c697374206c656e6774682e01012057652073746f72652074686520756e6465722d636f6e737472756374696f6e2072616e646f6d6e65737320696e207365676d656e7473206f6620757020746f942060554e4445525f434f4e535452554354494f4e5f5345474d454e545f4c454e475448602e00ec204f6e63652061207365676d656e7420726561636865732074686973206c656e6774682c20776520626567696e20746865206e657874206f6e652e090120576520726573657420616c6c207365676d656e747320616e642072657475726e20746f206030602061742074686520626567696e6e696e67206f662065766572791c2065706f63682e44556e646572436f6e737472756374696f6e0101040510090904000415012054574f582d4e4f54453a20605365676d656e74496e6465786020697320616e20696e6372656173696e6720696e74656765722c20736f2074686973206973206f6b61792e2c496e697469616c697a65640000110904000801012054656d706f726172792076616c75652028636c656172656420617420626c6f636b2066696e616c697a6174696f6e292077686963682069732060536f6d65601d01206966207065722d626c6f636b20696e697469616c697a6174696f6e2068617320616c7265616479206265656e2063616c6c656420666f722063757272656e7420626c6f636b2e4c417574686f7256726652616e646f6d6e65737301003d0104001015012054686973206669656c642073686f756c6420616c7761797320626520706f70756c6174656420647572696e6720626c6f636b2070726f63657373696e6720756e6c6573731901207365636f6e6461727920706c61696e20736c6f74732061726520656e61626c65642028776869636820646f6e277420636f6e7461696e206120565246206f7574707574292e0049012049742069732073657420696e20606f6e5f66696e616c697a65602c206265666f72652069742077696c6c20636f6e7461696e207468652076616c75652066726f6d20746865206c61737420626c6f636b2e2845706f63685374617274010075034000000000000000000000000000000000145d012054686520626c6f636b206e756d62657273207768656e20746865206c61737420616e642063757272656e742065706f6368206861766520737461727465642c20726573706563746976656c7920604e2d316020616e641420604e602e4901204e4f54453a20576520747261636b207468697320697320696e206f7264657220746f20616e6e6f746174652074686520626c6f636b206e756d626572207768656e206120676976656e20706f6f6c206f66590120656e74726f7079207761732066697865642028692e652e20697420776173206b6e6f776e20746f20636861696e206f6273657276657273292e2053696e63652065706f6368732061726520646566696e656420696e590120736c6f74732c207768696368206d617920626520736b69707065642c2074686520626c6f636b206e756d62657273206d6179206e6f74206c696e6520757020776974682074686520736c6f74206e756d626572732e204c6174656e65737301003020000000000000000014d820486f77206c617465207468652063757272656e7420626c6f636b20697320636f6d706172656420746f2069747320706172656e742e001501205468697320656e74727920697320706f70756c617465642061732070617274206f6620626c6f636b20657865637574696f6e20616e6420697320636c65616e65642075701101206f6e20626c6f636b2066696e616c697a6174696f6e2e205175657279696e6720746869732073746f7261676520656e747279206f757473696465206f6620626c6f636bb020657865637574696f6e20636f6e746578742073686f756c6420616c77617973207969656c64207a65726f2e2c45706f6368436f6e6669670000290904000861012054686520636f6e66696775726174696f6e20666f72207468652063757272656e742065706f63682e2053686f756c64206e6576657220626520604e6f6e656020617320697420697320696e697469616c697a656420696e242067656e657369732e3c4e65787445706f6368436f6e666967000029090400082d012054686520636f6e66696775726174696f6e20666f7220746865206e6578742065706f63682c20604e6f6e65602069662074686520636f6e6669672077696c6c206e6f74206368616e6765e82028796f752063616e2066616c6c6261636b20746f206045706f6368436f6e6669676020696e737465616420696e20746861742063617365292e34536b697070656445706f63687301002d0904002029012041206c697374206f6620746865206c6173742031303020736b69707065642065706f63687320616e642074686520636f72726573706f6e64696e672073657373696f6e20696e64657870207768656e207468652065706f63682077617320736b69707065642e0031012054686973206973206f6e6c79207573656420666f722076616c69646174696e672065717569766f636174696f6e2070726f6f66732e20416e2065717569766f636174696f6e2070726f6f663501206d75737420636f6e7461696e732061206b65792d6f776e6572736869702070726f6f6620666f72206120676976656e2073657373696f6e2c207468657265666f7265207765206e656564206139012077617920746f2074696520746f6765746865722073657373696f6e7320616e642065706f636820696e64696365732c20692e652e207765206e65656420746f2076616c69646174652074686174290120612076616c696461746f722077617320746865206f776e6572206f66206120676976656e206b6579206f6e206120676976656e2073657373696f6e2c20616e64207768617420746865b0206163746976652065706f636820696e6465782077617320647572696e6720746861742073657373696f6e2e01590300103445706f63684475726174696f6e3020b0040000000000000cec2054686520616d6f756e74206f662074696d652c20696e20736c6f74732c207468617420656163682065706f63682073686f756c64206c6173742e1901204e4f54453a2043757272656e746c79206974206973206e6f7420706f737369626c6520746f206368616e6765207468652065706f6368206475726174696f6e20616674657221012074686520636861696e2068617320737461727465642e20417474656d7074696e6720746f20646f20736f2077696c6c20627269636b20626c6f636b2070726f64756374696f6e2e444578706563746564426c6f636b54696d653020701700000000000014050120546865206578706563746564206176657261676520626c6f636b2074696d6520617420776869636820424142452073686f756c64206265206372656174696e67110120626c6f636b732e2053696e636520424142452069732070726f626162696c6973746963206974206973206e6f74207472697669616c20746f20666967757265206f75740501207768617420746865206578706563746564206176657261676520626c6f636b2074696d652073686f756c64206265206261736564206f6e2074686520736c6f740901206475726174696f6e20616e642074686520736563757269747920706172616d657465722060636020287768657265206031202d20636020726570726573656e7473a0207468652070726f626162696c697479206f66206120736c6f74206265696e6720656d707479292e384d6178417574686f7269746965731010e80300000488204d6178206e756d626572206f6620617574686f72697469657320616c6c6f776564344d61784e6f6d696e61746f727310100001000004d420546865206d6178696d756d206e756d626572206f66206e6f6d696e61746f727320666f7220656163682076616c696461746f722e013109091c4772616e647061011c4772616e6470611c1453746174650100350904000490205374617465206f66207468652063757272656e7420617574686f72697479207365742e3450656e64696e674368616e676500003909040004c42050656e64696e67206368616e67653a20287369676e616c65642061742c207363686564756c6564206368616e6765292e284e657874466f72636564000030040004bc206e65787420626c6f636b206e756d6265722077686572652077652063616e20666f7263652061206368616e67652e1c5374616c6c6564000075030400049020607472756560206966207765206172652063757272656e746c79207374616c6c65642e3043757272656e745365744964010030200000000000000000085d0120546865206e756d626572206f66206368616e6765732028626f746820696e207465726d73206f66206b65797320616e6420756e6465726c79696e672065636f6e6f6d696320726573706f6e736962696c697469657329c420696e20746865202273657422206f66204772616e6470612076616c696461746f72732066726f6d2067656e657369732e30536574496453657373696f6e00010405301004002859012041206d617070696e672066726f6d206772616e6470612073657420494420746f2074686520696e646578206f6620746865202a6d6f737420726563656e742a2073657373696f6e20666f722077686963682069747368206d656d62657273207765726520726573706f6e7369626c652e0045012054686973206973206f6e6c79207573656420666f722076616c69646174696e672065717569766f636174696f6e2070726f6f66732e20416e2065717569766f636174696f6e2070726f6f66206d7573744d0120636f6e7461696e732061206b65792d6f776e6572736869702070726f6f6620666f72206120676976656e2073657373696f6e2c207468657265666f7265207765206e65656420612077617920746f20746965450120746f6765746865722073657373696f6e7320616e64204752414e44504120736574206964732c20692e652e207765206e65656420746f2076616c6964617465207468617420612076616c696461746f7241012077617320746865206f776e6572206f66206120676976656e206b6579206f6e206120676976656e2073657373696f6e2c20616e642077686174207468652061637469766520736574204944207761735420647572696e6720746861742073657373696f6e2e00b82054574f582d4e4f54453a2060536574496460206973206e6f7420756e646572207573657220636f6e74726f6c2e2c417574686f72697469657301003d0904000484205468652063757272656e74206c697374206f6620617574686f7269746965732e017d03019c0c384d6178417574686f7269746965731010e8030000045c204d617820417574686f72697469657320696e20757365344d61784e6f6d696e61746f727310100001000004d420546865206d6178696d756d206e756d626572206f66206e6f6d696e61746f727320666f7220656163682076616c696461746f722e584d6178536574496453657373696f6e456e74726965733020000000000000000018390120546865206d6178696d756d206e756d626572206f6620656e747269657320746f206b65657020696e207468652073657420696420746f2073657373696f6e20696e646578206d617070696e672e0031012053696e6365207468652060536574496453657373696f6e60206d6170206973206f6e6c79207573656420666f722076616c69646174696e672065717569766f636174696f6e73207468697329012076616c75652073686f756c642072656c61746520746f2074686520626f6e64696e67206475726174696f6e206f66207768617465766572207374616b696e672073797374656d2069733501206265696e6720757365642028696620616e79292e2049662065717569766f636174696f6e2068616e646c696e67206973206e6f7420656e61626c6564207468656e20746869732076616c7565342063616e206265207a65726f2e0141090a1c496e6469636573011c496e646963657304204163636f756e7473000104021045090400048820546865206c6f6f6b75702066726f6d20696e64657820746f206163636f756e742e01ad0301ac041c4465706f7369741840000064a7b3b6e00d000000000000000004ac20546865206465706f736974206e656564656420666f7220726573657276696e6720616e20696e6465782e0149090b2444656d6f6372616379012444656d6f6372616379303c5075626c696350726f70436f756e74010010100000000004f420546865206e756d626572206f6620287075626c6963292070726f706f73616c7320746861742068617665206265656e206d61646520736f206661722e2c5075626c696350726f707301004d09040004050120546865207075626c69632070726f706f73616c732e20556e736f727465642e20546865207365636f6e64206974656d206973207468652070726f706f73616c2e244465706f7369744f660001040510590904000c842054686f73652077686f2068617665206c6f636b65642061206465706f7369742e00d82054574f582d4e4f54453a20536166652c20617320696e6372656173696e6720696e7465676572206b6579732061726520736166652e3c5265666572656e64756d436f756e74010010100000000004310120546865206e6578742066726565207265666572656e64756d20696e6465782c20616b6120746865206e756d626572206f66207265666572656e6461207374617274656420736f206661722e344c6f77657374556e62616b6564010010100000000008250120546865206c6f77657374207265666572656e64756d20696e64657820726570726573656e74696e6720616e20756e62616b6564207265666572656e64756d2e20457175616c20746fdc20605265666572656e64756d436f756e74602069662074686572652069736e2774206120756e62616b6564207265666572656e64756d2e405265666572656e64756d496e666f4f6600010405105d0904000cb420496e666f726d6174696f6e20636f6e6365726e696e6720616e7920676976656e207265666572656e64756d2e0009012054574f582d4e4f54453a205341464520617320696e646578657320617265206e6f7420756e64657220616e2061747461636b6572e280997320636f6e74726f6c2e20566f74696e674f6601010405006909e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105d0120416c6c20766f74657320666f72206120706172746963756c617220766f7465722e2057652073746f7265207468652062616c616e636520666f7220746865206e756d626572206f6620766f74657320746861742077655d012068617665207265636f726465642e20546865207365636f6e64206974656d2069732074686520746f74616c20616d6f756e74206f662064656c65676174696f6e732c20746861742077696c6c2062652061646465642e00e82054574f582d4e4f54453a205341464520617320604163636f756e7449646073206172652063727970746f2068617368657320616e797761792e544c6173745461626c656457617345787465726e616c0100200400085901205472756520696620746865206c617374207265666572656e64756d207461626c656420776173207375626d69747465642065787465726e616c6c792e2046616c7365206966206974207761732061207075626c6963282070726f706f73616c2e304e65787445787465726e616c00008109040010590120546865207265666572656e64756d20746f206265207461626c6564207768656e6576657220697420776f756c642062652076616c696420746f207461626c6520616e2065787465726e616c2070726f706f73616c2e550120546869732068617070656e73207768656e2061207265666572656e64756d206e6565647320746f206265207461626c656420616e64206f6e65206f662074776f20636f6e646974696f6e7320617265206d65743aa4202d20604c6173745461626c656457617345787465726e616c60206973206066616c7365603b206f7268202d20605075626c696350726f70736020697320656d7074792e24426c61636b6c6973740001040634850904000851012041207265636f7264206f662077686f207665746f656420776861742e204d6170732070726f706f73616c206861736820746f206120706f737369626c65206578697374656e7420626c6f636b206e756d626572e82028756e74696c207768656e206974206d6179206e6f742062652072657375626d69747465642920616e642077686f207665746f65642069742e3443616e63656c6c6174696f6e730101040634200400042901205265636f7264206f6620616c6c2070726f706f73616c7320746861742068617665206265656e207375626a65637420746f20656d657267656e63792063616e63656c6c6174696f6e2e284d657461646174614f6600010402c034040018ec2047656e6572616c20696e666f726d6174696f6e20636f6e6365726e696e6720616e792070726f706f73616c206f72207265666572656e64756d2e490120546865206048617368602072656665727320746f2074686520707265696d616765206f66207468652060507265696d61676573602070726f76696465722077686963682063616e2062652061204a534f4e882064756d70206f7220495046532068617368206f662061204a534f4e2066696c652e00750120436f6e73696465722061206761726261676520636f6c6c656374696f6e20666f722061206d65746164617461206f662066696e6973686564207265666572656e64756d7320746f2060756e7265717565737460202872656d6f76652944206c6172676520707265696d616765732e01b10301b0303c456e6163746d656e74506572696f643020c0a800000000000014e82054686520706572696f64206265747765656e20612070726f706f73616c206265696e6720617070726f76656420616e6420656e61637465642e0031012049742073686f756c642067656e6572616c6c792062652061206c6974746c65206d6f7265207468616e2074686520756e7374616b6520706572696f6420746f20656e737572652074686174510120766f74696e67207374616b657273206861766520616e206f70706f7274756e69747920746f2072656d6f7665207468656d73656c7665732066726f6d207468652073797374656d20696e207468652063617365b4207768657265207468657920617265206f6e20746865206c6f73696e672073696465206f66206120766f74652e304c61756e6368506572696f643020201c00000000000004e420486f77206f6674656e2028696e20626c6f636b7329206e6577207075626c6963207265666572656e646120617265206c61756e636865642e30566f74696e67506572696f643020c08901000000000004b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e44566f74654c6f636b696e67506572696f643020c0a8000000000000109020546865206d696e696d756d20706572696f64206f6620766f7465206c6f636b696e672e0065012049742073686f756c64206265206e6f2073686f72746572207468616e20656e6163746d656e7420706572696f6420746f20656e73757265207468617420696e207468652063617365206f6620616e20617070726f76616c2c49012074686f7365207375636365737366756c20766f7465727320617265206c6f636b656420696e746f2074686520636f6e73657175656e636573207468617420746865697220766f74657320656e7461696c2e384d696e696d756d4465706f73697418400000a0dec5adc935360000000000000004350120546865206d696e696d756d20616d6f756e7420746f20626520757365642061732061206465706f73697420666f722061207075626c6963207265666572656e64756d2070726f706f73616c2e38496e7374616e74416c6c6f7765642004010c550120496e64696361746f7220666f72207768657468657220616e20656d657267656e6379206f726967696e206973206576656e20616c6c6f77656420746f2068617070656e2e20536f6d6520636861696e73206d617961012077616e7420746f207365742074686973207065726d616e656e746c7920746f206066616c7365602c206f7468657273206d61792077616e7420746f20636f6e646974696f6e206974206f6e207468696e67732073756368a020617320616e207570677261646520686176696e672068617070656e656420726563656e746c792e5446617374547261636b566f74696e67506572696f643020807000000000000004ec204d696e696d756d20766f74696e6720706572696f6420616c6c6f77656420666f72206120666173742d747261636b207265666572656e64756d2e34436f6f6c6f6666506572696f643020c0a800000000000004610120506572696f6420696e20626c6f636b7320776865726520616e2065787465726e616c2070726f706f73616c206d6179206e6f742062652072652d7375626d6974746564206166746572206265696e67207665746f65642e204d6178566f74657310106400000010b020546865206d6178696d756d206e756d626572206f6620766f74657320666f7220616e206163636f756e742e00d420416c736f207573656420746f20636f6d70757465207765696768742c20616e206f7665726c79206269672076616c75652063616e1501206c65616420746f2065787472696e7369632077697468207665727920626967207765696768743a20736565206064656c65676174656020666f7220696e7374616e63652e304d617850726f706f73616c73101064000000040d0120546865206d6178696d756d206e756d626572206f66207075626c69632070726f706f73616c7320746861742063616e20657869737420617420616e792074696d652e2c4d61784465706f73697473101064000000041d0120546865206d6178696d756d206e756d626572206f66206465706f736974732061207075626c69632070726f706f73616c206d6179206861766520617420616e792074696d652e384d6178426c61636b6c697374656410106400000004d820546865206d6178696d756d206e756d626572206f66206974656d732077686963682063616e20626520626c61636b6c69737465642e0189090c1c436f756e63696c011c436f756e63696c182450726f706f73616c7301008d09040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f6600010406344503040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e6700010406349109040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e74010010100000000004482050726f706f73616c7320736f206661722e1c4d656d62657273010045020400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004610120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f662061627374656e74696f6e732e01c90301c404444d617850726f706f73616c576569676874283c070010a5d4e813ffffffffffffff7f04250120546865206d6178696d756d20776569676874206f6620612064697370617463682063616c6c20746861742063616e2062652070726f706f73656420616e642065786563757465642e0195090d1c56657374696e67011c56657374696e67081c56657374696e6700010402009909040004d820496e666f726d6174696f6e20726567617264696e67207468652076657374696e67206f66206120676976656e206163636f756e742e3853746f7261676556657273696f6e0100a10904000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e003101204e6577206e6574776f726b732073746172742077697468206c61746573742076657273696f6e2c2061732064657465726d696e6564206279207468652067656e65736973206275696c642e01cd0301c808444d696e5665737465645472616e736665721840000010632d5ec76b050000000000000004e820546865206d696e696d756d20616d6f756e74207472616e7366657272656420746f2063616c6c20607665737465645f7472616e73666572602e4c4d617856657374696e675363686564756c657310101c0000000001a5090e24456c656374696f6e730124456c656374696f6e73141c4d656d626572730100a90904000c74205468652063757272656e7420656c6563746564206d656d626572732e00b820496e76617269616e743a20416c7761797320736f72746564206261736564206f6e206163636f756e742069642e2452756e6e65727355700100a90904001084205468652063757272656e742072657365727665642072756e6e6572732d75702e00590120496e76617269616e743a20416c7761797320736f72746564206261736564206f6e2072616e6b2028776f72736520746f2062657374292e2055706f6e2072656d6f76616c206f662061206d656d6265722c20746865bc206c6173742028692e652e205f626573745f292072756e6e65722d75702077696c6c206265207265706c616365642e2843616e646964617465730100d00400185901205468652070726573656e742063616e646964617465206c6973742e20412063757272656e74206d656d626572206f722072756e6e65722d75702063616e206e6576657220656e746572207468697320766563746f72d020616e6420697320616c7761797320696d706c696369746c7920617373756d656420746f20626520612063616e6469646174652e007c205365636f6e6420656c656d656e7420697320746865206465706f7369742e00b820496e76617269616e743a20416c7761797320736f72746564206261736564206f6e206163636f756e742069642e38456c656374696f6e526f756e647301001010000000000441012054686520746f74616c206e756d626572206f6620766f746520726f756e6473207468617420686176652068617070656e65642c206578636c7564696e6720746865207570636f6d696e67206f6e652e18566f74696e670101040500b109840000000000000000000000000000000000000000000000000000000000000000000cb820566f74657320616e64206c6f636b6564207374616b65206f66206120706172746963756c617220766f7465722e00c42054574f582d4e4f54453a205341464520617320604163636f756e7449646020697320612063727970746f20686173682e01d50301cc282050616c6c65744964350320706872656c65637404d0204964656e74696669657220666f722074686520656c656374696f6e732d70687261676d656e2070616c6c65742773206c6f636b3443616e646964616379426f6e6418400000a0dec5adc935360000000000000004050120486f77206d7563682073686f756c64206265206c6f636b656420757020696e206f7264657220746f207375626d6974206f6e6527732063616e6469646163792e38566f74696e67426f6e64426173651840000088bbad82aa8b000000000000000010942042617365206465706f736974206173736f636961746564207769746820766f74696e672e00550120546869732073686f756c642062652073656e7369626c79206869676820746f2065636f6e6f6d6963616c6c7920656e73757265207468652070616c6c65742063616e6e6f742062652061747461636b656420627994206372656174696e67206120676967616e746963206e756d626572206f6620766f7465732e40566f74696e67426f6e64466163746f7218400000d098d4af710000000000000000000411012054686520616d6f756e74206f6620626f6e642074686174206e65656420746f206265206c6f636b656420666f72206561636820766f746520283332206279746573292e38446573697265644d656d626572731010050000000470204e756d626572206f66206d656d6265727320746f20656c6563742e404465736972656452756e6e65727355701010030000000478204e756d626572206f662072756e6e6572735f757020746f206b6565702e305465726d4475726174696f6e3020c0890100000000000c510120486f77206c6f6e6720656163682073656174206973206b6570742e205468697320646566696e657320746865206e65787420626c6f636b206e756d62657220617420776869636820616e20656c656374696f6e5d0120726f756e642077696c6c2068617070656e2e2049662073657420746f207a65726f2c206e6f20656c656374696f6e732061726520657665722074726967676572656420616e6420746865206d6f64756c652077696c6c5020626520696e2070617373697665206d6f64652e344d617843616e6469646174657310104000000018e420546865206d6178696d756d206e756d626572206f662063616e6469646174657320696e20612070687261676d656e20656c656374696f6e2e005d01205761726e696e673a205468697320696d7061637473207468652073697a65206f662074686520656c656374696f6e2077686963682069732072756e206f6e636861696e2e2043686f736520776973656c792c20616e64010120636f6e736964657220686f772069742077696c6c20696d706163742060543a3a576569676874496e666f3a3a656c656374696f6e5f70687261676d656e602e003101205768656e2074686973206c696d69742069732072656163686564206e6f206d6f72652063616e646964617465732061726520616363657074656420696e2074686520656c656374696f6e2e244d6178566f7465727310100002000018f820546865206d6178696d756d206e756d626572206f6620766f7465727320746f20616c6c6f7720696e20612070687261676d656e20656c656374696f6e2e005d01205761726e696e673a205468697320696d7061637473207468652073697a65206f662074686520656c656374696f6e2077686963682069732072756e206f6e636861696e2e2043686f736520776973656c792c20616e64010120636f6e736964657220686f772069742077696c6c20696d706163742060543a3a576569676874496e666f3a3a656c656374696f6e5f70687261676d656e602e00d8205768656e20746865206c696d6974206973207265616368656420746865206e657720766f74657273206172652069676e6f7265642e404d6178566f746573506572566f7465721010640000001090204d6178696d756d206e756d62657273206f6620766f7465732070657220766f7465722e005d01205761726e696e673a205468697320696d7061637473207468652073697a65206f662074686520656c656374696f6e2077686963682069732072756e206f6e636861696e2e2043686f736520776973656c792c20616e64010120636f6e736964657220686f772069742077696c6c20696d706163742060543a3a576569676874496e666f3a3a656c656374696f6e5f70687261676d656e602e01b5090f68456c656374696f6e50726f76696465724d756c746950686173650168456c656374696f6e50726f76696465724d756c746950686173652814526f756e64010010100100000018ac20496e7465726e616c20636f756e74657220666f7220746865206e756d626572206f6620726f756e64732e00550120546869732069732075736566756c20666f722064652d6475706c69636174696f6e206f66207472616e73616374696f6e73207375626d697474656420746f2074686520706f6f6c2c20616e642067656e6572616c6c20646961676e6f7374696373206f66207468652070616c6c65742e004d012054686973206973206d6572656c7920696e6372656d656e746564206f6e6365207065722065766572792074696d65207468617420616e20757073747265616d2060656c656374602069732063616c6c65642e3043757272656e7450686173650100e40400043c2043757272656e742070686173652e38517565756564536f6c7574696f6e0000b90904000c3d012043757272656e74206265737420736f6c7574696f6e2c207369676e6564206f7220756e7369676e65642c2071756575656420746f2062652072657475726e65642075706f6e2060656c656374602e006020416c7761797320736f727465642062792073636f72652e20536e617073686f740000c1090400107020536e617073686f742064617461206f662074686520726f756e642e005d01205468697320697320637265617465642061742074686520626567696e6e696e67206f6620746865207369676e656420706861736520616e6420636c65617265642075706f6e2063616c6c696e672060656c656374602e2901204e6f74653a20546869732073746f726167652074797065206d757374206f6e6c79206265206d757461746564207468726f756768205b60536e617073686f7457726170706572605d2e384465736972656454617267657473000010040010cc2044657369726564206e756d626572206f66207461726765747320746f20656c65637420666f72207468697320726f756e642e00a8204f6e6c7920657869737473207768656e205b60536e617073686f74605d2069732070726573656e742e2901204e6f74653a20546869732073746f726167652074797065206d757374206f6e6c79206265206d757461746564207468726f756768205b60536e617073686f7457726170706572605d2e40536e617073686f744d657461646174610000b1040400109820546865206d65746164617461206f6620746865205b60526f756e64536e617073686f74605d00a8204f6e6c7920657869737473207768656e205b60536e617073686f74605d2069732070726573656e742e2901204e6f74653a20546869732073746f726167652074797065206d757374206f6e6c79206265206d757461746564207468726f756768205b60536e617073686f7457726170706572605d2e645369676e65645375626d697373696f6e4e657874496e646578010010100000000024010120546865206e65787420696e64657820746f2062652061737369676e656420746f20616e20696e636f6d696e67207369676e6564207375626d697373696f6e2e007501204576657279206163636570746564207375626d697373696f6e2069732061737369676e6564206120756e6971756520696e6465783b207468617420696e64657820697320626f756e6420746f207468617420706172746963756c61726501207375626d697373696f6e20666f7220746865206475726174696f6e206f662074686520656c656374696f6e2e204f6e20656c656374696f6e2066696e616c697a6174696f6e2c20746865206e65787420696e6465782069733020726573657420746f20302e0069012057652063616e2774206a7573742075736520605369676e65645375626d697373696f6e496e64696365732e6c656e2829602c206265636175736520746861742773206120626f756e646564207365743b20706173742069747359012063617061636974792c2069742077696c6c2073696d706c792073617475726174652e2057652063616e2774206a7573742069746572617465206f76657220605369676e65645375626d697373696f6e734d6170602cf4206265636175736520697465726174696f6e20697320736c6f772e20496e73746561642c2077652073746f7265207468652076616c756520686572652e5c5369676e65645375626d697373696f6e496e64696365730100d1090400186d01204120736f727465642c20626f756e64656420766563746f72206f6620602873636f72652c20626c6f636b5f6e756d6265722c20696e64657829602c20776865726520656163682060696e6465786020706f696e747320746f2061782076616c756520696e20605369676e65645375626d697373696f6e73602e007101205765206e65766572206e65656420746f2070726f63657373206d6f7265207468616e20612073696e676c65207369676e6564207375626d697373696f6e20617420612074696d652e205369676e6564207375626d697373696f6e7375012063616e206265207175697465206c617267652c20736f2077652772652077696c6c696e6720746f207061792074686520636f7374206f66206d756c7469706c6520646174616261736520616363657373657320746f206163636573732101207468656d206f6e6520617420612074696d6520696e7374656164206f662072656164696e6720616e64206465636f64696e6720616c6c206f66207468656d206174206f6e63652e505369676e65645375626d697373696f6e734d61700001040510dd0904001c7420556e636865636b65642c207369676e656420736f6c7574696f6e732e00690120546f676574686572207769746820605375626d697373696f6e496e6469636573602c20746869732073746f726573206120626f756e64656420736574206f6620605369676e65645375626d697373696f6e7360207768696c65ec20616c6c6f77696e6720757320746f206b656570206f6e6c7920612073696e676c65206f6e6520696e206d656d6f727920617420612074696d652e0069012054776f78206e6f74653a20746865206b6579206f6620746865206d617020697320616e206175746f2d696e6372656d656e74696e6720696e6465782077686963682075736572732063616e6e6f7420696e7370656374206f72f4206166666563743b2077652073686f756c646e2774206e65656420612063727970746f67726170686963616c6c7920736563757265206861736865722e544d696e696d756d556e7472757374656453636f72650000e00400105d0120546865206d696e696d756d2073636f7265207468617420656163682027756e747275737465642720736f6c7574696f6e206d7573742061747461696e20696e206f7264657220746f20626520636f6e7369646572656428206665617369626c652e00b82043616e206265207365742076696120607365745f6d696e696d756d5f756e747275737465645f73636f7265602e01dd0301d838544265747465725369676e65645468726573686f6c64f41000000000084d0120546865206d696e696d756d20616d6f756e74206f6620696d70726f76656d656e7420746f2074686520736f6c7574696f6e2073636f7265207468617420646566696e6573206120736f6c7574696f6e2061737820226265747465722220696e20746865205369676e65642070686173652e384f6666636861696e5265706561743020050000000000000010b42054686520726570656174207468726573686f6c64206f6620746865206f6666636861696e20776f726b65722e00610120466f72206578616d706c652c20696620697420697320352c2074686174206d65616e732074686174206174206c65617374203520626c6f636b732077696c6c20656c61707365206265747765656e20617474656d7074738420746f207375626d69742074686520776f726b6572277320736f6c7574696f6e2e3c4d696e657254785072696f726974793020feffffffffffff7f04250120546865207072696f72697479206f662074686520756e7369676e6564207472616e73616374696f6e207375626d697474656420696e2074686520756e7369676e65642d7068617365505369676e65644d61785375626d697373696f6e7310100a0000001ce4204d6178696d756d206e756d626572206f66207369676e6564207375626d697373696f6e7320746861742063616e206265207175657565642e005501204974206973206265737420746f2061766f69642061646a757374696e67207468697320647572696e6720616e20656c656374696f6e2c20617320697420696d706163747320646f776e73747265616d2064617461650120737472756374757265732e20496e20706172746963756c61722c20605369676e65645375626d697373696f6e496e64696365733c543e6020697320626f756e646564206f6e20746869732076616c75652e20496620796f75f42075706461746520746869732076616c756520647572696e6720616e20656c656374696f6e2c20796f75205f6d7573745f20656e7375726520746861744d0120605369676e65645375626d697373696f6e496e64696365732e6c656e282960206973206c657373207468616e206f7220657175616c20746f20746865206e65772076616c75652e204f74686572776973652cf020617474656d70747320746f207375626d6974206e657720736f6c7574696f6e73206d617920636175736520612072756e74696d652070616e69632e3c5369676e65644d617857656967687428400bd8e2a18c2e011366666666666666a61494204d6178696d756d20776569676874206f662061207369676e656420736f6c7574696f6e2e005d01204966205b60436f6e6669673a3a4d696e6572436f6e666967605d206973206265696e6720696d706c656d656e74656420746f207375626d6974207369676e656420736f6c7574696f6e7320286f757473696465206f663d0120746869732070616c6c6574292c207468656e205b604d696e6572436f6e6669673a3a736f6c7574696f6e5f776569676874605d206973207573656420746f20636f6d7061726520616761696e73743020746869732076616c75652e405369676e65644d6178526566756e647310100300000004190120546865206d6178696d756d20616d6f756e74206f6620756e636865636b656420736f6c7574696f6e7320746f20726566756e64207468652063616c6c2066656520666f722e405369676e6564526577617264426173651840000064a7b3b6e00d0000000000000000048820426173652072657761726420666f722061207369676e656420736f6c7574696f6e445369676e65644465706f73697442797465184000008a5d78456301000000000000000004a0205065722d62797465206465706f73697420666f722061207369676e656420736f6c7574696f6e2e4c5369676e65644465706f73697457656967687418400000000000000000000000000000000004a8205065722d776569676874206465706f73697420666f722061207369676e656420736f6c7574696f6e2e284d617857696e6e6572731010e803000010350120546865206d6178696d756d206e756d626572206f662077696e6e65727320746861742063616e20626520656c656374656420627920746869732060456c656374696f6e50726f7669646572604020696d706c656d656e746174696f6e2e005101204e6f74653a2054686973206d75737420616c776179732062652067726561746572206f7220657175616c20746f2060543a3a4461746150726f76696465723a3a646573697265645f746172676574732829602e384d696e65724d61784c656e67746810106666560000384d696e65724d617857656967687428400bd8e2a18c2e011366666666666666a600544d696e65724d6178566f746573506572566f746572101010000000003c4d696e65724d617857696e6e6572731010e80300000001e109101c5374616b696e67011c5374616b696e67ac3856616c696461746f72436f756e740100101000000000049c2054686520696465616c206e756d626572206f66206163746976652076616c696461746f72732e544d696e696d756d56616c696461746f72436f756e740100101000000000044101204d696e696d756d206e756d626572206f66207374616b696e67207061727469636970616e7473206265666f726520656d657267656e637920636f6e646974696f6e732061726520696d706f7365642e34496e76756c6e657261626c65730100450204000c590120416e792076616c696461746f72732074686174206d6179206e6576657220626520736c6173686564206f7220666f726369626c79206b69636b65642e20497427732061205665632073696e636520746865792772654d01206561737920746f20696e697469616c697a6520616e642074686520706572666f726d616e636520686974206973206d696e696d616c2028776520657870656374206e6f206d6f7265207468616e20666f7572ac20696e76756c6e657261626c65732920616e64207265737472696374656420746f20746573746e6574732e18426f6e64656400010405000004000c0101204d61702066726f6d20616c6c206c6f636b65642022737461736822206163636f756e747320746f2074686520636f6e74726f6c6c6572206163636f756e742e00d02054574f582d4e4f54453a20534146452073696e636520604163636f756e7449646020697320612073656375726520686173682e404d696e4e6f6d696e61746f72426f6e64010018400000000000000000000000000000000004210120546865206d696e696d756d2061637469766520626f6e6420746f206265636f6d6520616e64206d61696e7461696e2074686520726f6c65206f662061206e6f6d696e61746f722e404d696e56616c696461746f72426f6e64010018400000000000000000000000000000000004210120546865206d696e696d756d2061637469766520626f6e6420746f206265636f6d6520616e64206d61696e7461696e2074686520726f6c65206f6620612076616c696461746f722e484d696e696d756d4163746976655374616b65010018400000000000000000000000000000000004110120546865206d696e696d756d20616374697665206e6f6d696e61746f72207374616b65206f6620746865206c617374207375636365737366756c20656c656374696f6e2e344d696e436f6d6d697373696f6e0100f410000000000ce820546865206d696e696d756d20616d6f756e74206f6620636f6d6d697373696f6e20746861742076616c696461746f72732063616e207365742e00802049662073657420746f206030602c206e6f206c696d6974206578697374732e184c65646765720001040200e5090400104501204d61702066726f6d20616c6c2028756e6c6f636b6564292022636f6e74726f6c6c657222206163636f756e747320746f2074686520696e666f20726567617264696e6720746865207374616b696e672e007501204e6f74653a20416c6c2074686520726561647320616e64206d75746174696f6e7320746f20746869732073746f72616765202a4d5553542a20626520646f6e65207468726f75676820746865206d6574686f6473206578706f736564e8206279205b605374616b696e674c6564676572605d20746f20656e73757265206461746120616e64206c6f636b20636f6e73697374656e63792e1450617965650001040500f004000ce42057686572652074686520726577617264207061796d656e742073686f756c64206265206d6164652e204b657965642062792073746173682e00d02054574f582d4e4f54453a20534146452073696e636520604163636f756e7449646020697320612073656375726520686173682e2856616c696461746f72730101040500f80800000c450120546865206d61702066726f6d202877616e6e616265292076616c696461746f72207374617368206b657920746f2074686520707265666572656e636573206f6620746861742076616c696461746f722e00d02054574f582d4e4f54453a20534146452073696e636520604163636f756e7449646020697320612073656375726520686173682e50436f756e746572466f7256616c696461746f7273010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d6170484d617856616c696461746f7273436f756e7400001004000c310120546865206d6178696d756d2076616c696461746f7220636f756e74206265666f72652077652073746f7020616c6c6f77696e67206e65772076616c696461746f727320746f206a6f696e2e00d0205768656e20746869732076616c7565206973206e6f74207365742c206e6f206c696d6974732061726520656e666f726365642e284e6f6d696e61746f72730001040500ed0904004c750120546865206d61702066726f6d206e6f6d696e61746f72207374617368206b657920746f207468656972206e6f6d696e6174696f6e20707265666572656e6365732c206e616d656c79207468652076616c696461746f72732074686174582074686579207769736820746f20737570706f72742e003901204e6f7465207468617420746865206b657973206f6620746869732073746f72616765206d6170206d69676874206265636f6d65206e6f6e2d6465636f6461626c6520696e2063617365207468652d01206163636f756e742773205b604e6f6d696e6174696f6e7351756f74613a3a4d61784e6f6d696e6174696f6e73605d20636f6e66696775726174696f6e206973206465637265617365642e9020496e2074686973207261726520636173652c207468657365206e6f6d696e61746f7273650120617265207374696c6c206578697374656e7420696e2073746f726167652c207468656972206b657920697320636f727265637420616e64207265747269657661626c652028692e652e2060636f6e7461696e735f6b657960710120696e6469636174657320746861742074686579206578697374292c206275742074686569722076616c75652063616e6e6f74206265206465636f6465642e205468657265666f72652c20746865206e6f6e2d6465636f6461626c656d01206e6f6d696e61746f72732077696c6c206566666563746976656c79206e6f742d65786973742c20756e74696c20746865792072652d7375626d697420746865697220707265666572656e6365732073756368207468617420697401012069732077697468696e2074686520626f756e6473206f6620746865206e65776c79207365742060436f6e6669673a3a4d61784e6f6d696e6174696f6e73602e006101205468697320696d706c696573207468617420603a3a697465725f6b65797328292e636f756e7428296020616e6420603a3a6974657228292e636f756e74282960206d696768742072657475726e20646966666572656e746d012076616c75657320666f722074686973206d61702e204d6f72656f7665722c20746865206d61696e20603a3a636f756e7428296020697320616c69676e656420776974682074686520666f726d65722c206e616d656c79207468656c206e756d626572206f66206b65797320746861742065786973742e006d01204c6173746c792c20696620616e79206f6620746865206e6f6d696e61746f7273206265636f6d65206e6f6e2d6465636f6461626c652c20746865792063616e206265206368696c6c656420696d6d6564696174656c7920766961b8205b6043616c6c3a3a6368696c6c5f6f74686572605d20646973706174636861626c6520627920616e796f6e652e00d02054574f582d4e4f54453a20534146452073696e636520604163636f756e7449646020697320612073656375726520686173682e50436f756e746572466f724e6f6d696e61746f7273010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d6170385669727475616c5374616b657273000104050084040018c8205374616b6572732077686f73652066756e647320617265206d616e61676564206279206f746865722070616c6c6574732e00750120546869732070616c6c657420646f6573206e6f74206170706c7920616e79206c6f636b73206f6e207468656d2c207468657265666f7265207468657920617265206f6e6c79207669727475616c6c7920626f6e6465642e20546865796d012061726520657870656374656420746f206265206b65796c657373206163636f756e747320616e642068656e63652073686f756c64206e6f7420626520616c6c6f77656420746f206d7574617465207468656972206c65646765727101206469726563746c792076696120746869732070616c6c65742e20496e73746561642c207468657365206163636f756e747320617265206d616e61676564206279206f746865722070616c6c65747320616e64206163636573736564290120766961206c6f77206c6576656c20617069732e205765206b65657020747261636b206f66207468656d20746f20646f206d696e696d616c20696e7465677269747920636865636b732e60436f756e746572466f725669727475616c5374616b657273010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d6170484d61784e6f6d696e61746f7273436f756e7400001004000c310120546865206d6178696d756d206e6f6d696e61746f7220636f756e74206265666f72652077652073746f7020616c6c6f77696e67206e65772076616c696461746f727320746f206a6f696e2e00d0205768656e20746869732076616c7565206973206e6f74207365742c206e6f206c696d6974732061726520656e666f726365642e2843757272656e744572610000100400105c205468652063757272656e742065726120696e6465782e006501205468697320697320746865206c617465737420706c616e6e6564206572612c20646570656e64696e67206f6e20686f77207468652053657373696f6e2070616c6c657420717565756573207468652076616c696461746f7280207365742c206974206d6967687420626520616374697665206f72206e6f742e244163746976654572610000f109040010d820546865206163746976652065726120696e666f726d6174696f6e2c20697420686f6c647320696e64657820616e642073746172742e0059012054686520616374697665206572612069732074686520657261206265696e672063757272656e746c792072657761726465642e2056616c696461746f7220736574206f66207468697320657261206d757374206265ac20657175616c20746f205b6053657373696f6e496e746572666163653a3a76616c696461746f7273605d2e5445726173537461727453657373696f6e496e6465780001040510100400105501205468652073657373696f6e20696e646578206174207768696368207468652065726120737461727420666f7220746865206c617374205b60436f6e6669673a3a486973746f72794465707468605d20657261732e006101204e6f74653a205468697320747261636b7320746865207374617274696e672073657373696f6e2028692e652e2073657373696f6e20696e646578207768656e20657261207374617274206265696e672061637469766529f020666f7220746865206572617320696e20605b43757272656e74457261202d20484953544f52595f44455054482c2043757272656e744572615d602e2c457261735374616b6572730101080505f50969010c0000002078204578706f73757265206f662076616c696461746f72206174206572612e0061012054686973206973206b65796564206669727374206279207468652065726120696e64657820746f20616c6c6f772062756c6b2064656c6574696f6e20616e64207468656e20746865207374617368206163636f756e742e00cc2049732069742072656d6f766564206166746572205b60436f6e6669673a3a486973746f72794465707468605d20657261732e4101204966207374616b657273206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e20656d707479206578706f737572652069732072657475726e65642e002901204e6f74653a20446570726563617465642073696e6365207631342e205573652060457261496e666f6020696e737465616420746f20776f726b2077697468206578706f73757265732e4c457261735374616b6572734f766572766965770001080505f509f909040030b82053756d6d617279206f662076616c696461746f72206578706f73757265206174206120676976656e206572612e007101205468697320636f6e7461696e732074686520746f74616c207374616b6520696e20737570706f7274206f66207468652076616c696461746f7220616e64207468656972206f776e207374616b652e20496e206164646974696f6e2c75012069742063616e20616c736f206265207573656420746f2067657420746865206e756d626572206f66206e6f6d696e61746f7273206261636b696e6720746869732076616c696461746f7220616e6420746865206e756d626572206f666901206578706f73757265207061676573207468657920617265206469766964656420696e746f2e20546865207061676520636f756e742069732075736566756c20746f2064657465726d696e6520746865206e756d626572206f66ac207061676573206f6620726577617264732074686174206e6565647320746f20626520636c61696d65642e0061012054686973206973206b65796564206669727374206279207468652065726120696e64657820746f20616c6c6f772062756c6b2064656c6574696f6e20616e64207468656e20746865207374617368206163636f756e742eac2053686f756c64206f6e6c79206265206163636573736564207468726f7567682060457261496e666f602e00cc2049732069742072656d6f766564206166746572205b60436f6e6669673a3a486973746f72794465707468605d20657261732e4101204966207374616b657273206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e20656d707479206f766572766965772069732072657475726e65642e48457261735374616b657273436c69707065640101080505f50969010c000000409820436c6970706564204578706f73757265206f662076616c696461746f72206174206572612e006501204e6f74653a205468697320697320646570726563617465642c2073686f756c64206265207573656420617320726561642d6f6e6c7920616e642077696c6c2062652072656d6f76656420696e20746865206675747572652e3101204e657720604578706f737572656073206172652073746f72656420696e2061207061676564206d616e6e657220696e2060457261735374616b65727350616765646020696e73746561642e00590120546869732069732073696d696c617220746f205b60457261735374616b657273605d20627574206e756d626572206f66206e6f6d696e61746f7273206578706f736564206973207265647563656420746f20746865a82060543a3a4d61784578706f737572655061676553697a65602062696767657374207374616b6572732e1d0120284e6f74653a20746865206669656c642060746f74616c6020616e6420606f776e60206f6620746865206578706f737572652072656d61696e7320756e6368616e676564292ef42054686973206973207573656420746f206c696d69742074686520692f6f20636f737420666f7220746865206e6f6d696e61746f72207061796f75742e005d012054686973206973206b657965642066697374206279207468652065726120696e64657820746f20616c6c6f772062756c6b2064656c6574696f6e20616e64207468656e20746865207374617368206163636f756e742e00cc2049742069732072656d6f766564206166746572205b60436f6e6669673a3a486973746f72794465707468605d20657261732e4101204966207374616b657273206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e20656d707479206578706f737572652069732072657475726e65642e002901204e6f74653a20446570726563617465642073696e6365207631342e205573652060457261496e666f6020696e737465616420746f20776f726b2077697468206578706f73757265732e40457261735374616b657273506167656400010c050505fd09010a040018c020506167696e61746564206578706f73757265206f6620612076616c696461746f7220617420676976656e206572612e0071012054686973206973206b65796564206669727374206279207468652065726120696e64657820746f20616c6c6f772062756c6b2064656c6574696f6e2c207468656e207374617368206163636f756e7420616e642066696e616c6c79d42074686520706167652e2053686f756c64206f6e6c79206265206163636573736564207468726f7567682060457261496e666f602e00d4205468697320697320636c6561726564206166746572205b60436f6e6669673a3a486973746f72794465707468605d20657261732e38436c61696d6564526577617264730101080505f509cd04040018dc20486973746f7279206f6620636c61696d656420706167656420726577617264732062792065726120616e642076616c696461746f722e0069012054686973206973206b657965642062792065726120616e642076616c696461746f72207374617368207768696368206d61707320746f2074686520736574206f66207061676520696e6465786573207768696368206861766538206265656e20636c61696d65642e00cc2049742069732072656d6f766564206166746572205b60436f6e6669673a3a486973746f72794465707468605d20657261732e484572617356616c696461746f7250726566730101080505f509f80800001411012053696d696c617220746f2060457261735374616b657273602c207468697320686f6c64732074686520707265666572656e636573206f662076616c696461746f72732e0061012054686973206973206b65796564206669727374206279207468652065726120696e64657820746f20616c6c6f772062756c6b2064656c6574696f6e20616e64207468656e20746865207374617368206163636f756e742e00cc2049732069742072656d6f766564206166746572205b60436f6e6669673a3a486973746f72794465707468605d20657261732e4c4572617356616c696461746f7252657761726400010405101804000c2d012054686520746f74616c2076616c696461746f7220657261207061796f757420666f7220746865206c617374205b60436f6e6669673a3a486973746f72794465707468605d20657261732e0021012045726173207468617420686176656e27742066696e697368656420796574206f7220686173206265656e2072656d6f76656420646f65736e27742068617665207265776172642e4045726173526577617264506f696e74730101040510050a14000000000008d0205265776172647320666f7220746865206c617374205b60436f6e6669673a3a486973746f72794465707468605d20657261732e250120496620726577617264206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e2030207265776172642069732072657475726e65642e3845726173546f74616c5374616b6501010405101840000000000000000000000000000000000811012054686520746f74616c20616d6f756e74207374616b656420666f7220746865206c617374205b60436f6e6669673a3a486973746f72794465707468605d20657261732e1d0120496620746f74616c206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e2030207374616b652069732072657475726e65642e20466f7263654572610100010104000454204d6f6465206f662065726120666f7263696e672e404d61785374616b6564526577617264730000510204000c1901204d6178696d756d207374616b656420726577617264732c20692e652e207468652070657263656e74616765206f66207468652065726120696e666c6174696f6e20746861746c206973207573656420666f72207374616b6520726577617264732eac20536565205b457261207061796f75745d282e2f696e6465782e68746d6c236572612d7061796f7574292e4c536c6173685265776172644672616374696f6e0100f410000000000cf8205468652070657263656e74616765206f662074686520736c617368207468617420697320646973747269627574656420746f207265706f72746572732e00e4205468652072657374206f662074686520736c61736865642076616c75652069732068616e646c6564206279207468652060536c617368602e4c43616e63656c6564536c6173685061796f757401001840000000000000000000000000000000000815012054686520616d6f756e74206f662063757272656e637920676976656e20746f207265706f7274657273206f66206120736c617368206576656e7420776869636820776173ec2063616e63656c65642062792065787472616f7264696e6172792063697263756d7374616e6365732028652e672e20676f7665726e616e6365292e40556e6170706c696564536c61736865730101040510150a040004c420416c6c20756e6170706c69656420736c61736865732074686174206172652071756575656420666f72206c617465722e28426f6e6465644572617301001d0a04001025012041206d617070696e672066726f6d207374696c6c2d626f6e646564206572617320746f207468652066697273742073657373696f6e20696e646578206f662074686174206572612e00c8204d75737420636f6e7461696e7320696e666f726d6174696f6e20666f72206572617320666f72207468652072616e67653abc20605b6163746976655f657261202d20626f756e64696e675f6475726174696f6e3b206163746976655f6572615d604c56616c696461746f72536c617368496e4572610001080505f509250a040008450120416c6c20736c617368696e67206576656e7473206f6e2076616c696461746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682070726f706f7274696f6e7020616e6420736c6173682076616c7565206f6620746865206572612e4c4e6f6d696e61746f72536c617368496e4572610001080505f50918040004610120416c6c20736c617368696e67206576656e7473206f6e206e6f6d696e61746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682076616c7565206f6620746865206572612e34536c617368696e675370616e730001040500290a0400048c20536c617368696e67207370616e7320666f72207374617368206163636f756e74732e245370616e536c61736801010405110a2d0a800000000000000000000000000000000000000000000000000000000000000000083d01205265636f72647320696e666f726d6174696f6e2061626f757420746865206d6178696d756d20736c617368206f6620612073746173682077697468696e206120736c617368696e67207370616e2cb82061732077656c6c20617320686f77206d7563682072657761726420686173206265656e2070616964206f75742e5443757272656e74506c616e6e656453657373696f6e01001010000000000ce820546865206c61737420706c616e6e65642073657373696f6e207363686564756c6564206279207468652073657373696f6e2070616c6c65742e0071012054686973206973206261736963616c6c7920696e2073796e632077697468207468652063616c6c20746f205b6070616c6c65745f73657373696f6e3a3a53657373696f6e4d616e616765723a3a6e65775f73657373696f6e605d2e4844697361626c656456616c696461746f72730100cd0404001c750120496e6469636573206f662076616c696461746f727320746861742068617665206f6666656e64656420696e2074686520616374697665206572612e20546865206f6666656e64657273206172652064697361626c656420666f72206169012077686f6c65206572612e20466f72207468697320726561736f6e207468657920617265206b6570742068657265202d206f6e6c79207374616b696e672070616c6c6574206b6e6f77732061626f757420657261732e20546865550120696d706c656d656e746f72206f66205b6044697361626c696e675374726174656779605d20646566696e657320696620612076616c696461746f722073686f756c642062652064697361626c65642077686963686d0120696d706c696369746c79206d65616e7320746861742074686520696d706c656d656e746f7220616c736f20636f6e74726f6c7320746865206d6178206e756d626572206f662064697361626c65642076616c696461746f72732e006d01205468652076656320697320616c77617973206b65707420736f7274656420736f20746861742077652063616e2066696e642077686574686572206120676976656e2076616c696461746f72206861732070726576696f75736c7978206f6666656e646564207573696e672062696e617279207365617263682e384368696c6c5468726573686f6c640000510204000c510120546865207468726573686f6c6420666f72207768656e2075736572732063616e2073746172742063616c6c696e6720606368696c6c5f6f746865726020666f72206f746865722076616c696461746f7273202f5901206e6f6d696e61746f72732e20546865207468726573686f6c6420697320636f6d706172656420746f207468652061637475616c206e756d626572206f662076616c696461746f7273202f206e6f6d696e61746f72732901202860436f756e74466f722a602920696e207468652073797374656d20636f6d706172656420746f2074686520636f6e66696775726564206d61782028604d61782a436f756e7460292e01c50401ec1830486973746f72794465707468101050000000508c204e756d626572206f66206572617320746f206b65657020696e20686973746f72792e00e820466f6c6c6f77696e6720696e666f726d6174696f6e206973206b65707420666f72206572617320696e20605b63757272656e745f657261202d090120486973746f727944657074682c2063757272656e745f6572615d603a2060457261735374616b657273602c2060457261735374616b657273436c6970706564602c050120604572617356616c696461746f725072656673602c20604572617356616c696461746f72526577617264602c206045726173526577617264506f696e7473602c4501206045726173546f74616c5374616b65602c206045726173537461727453657373696f6e496e646578602c2060436c61696d656452657761726473602c2060457261735374616b6572735061676564602c5c2060457261735374616b6572734f76657276696577602e00e4204d757374206265206d6f7265207468616e20746865206e756d626572206f6620657261732064656c617965642062792073657373696f6e2ef820492e652e2061637469766520657261206d75737420616c7761797320626520696e20686973746f72792e20492e652e20606163746976655f657261203ec42063757272656e745f657261202d20686973746f72795f646570746860206d7573742062652067756172616e746565642e001101204966206d6967726174696e6720616e206578697374696e672070616c6c65742066726f6d2073746f726167652076616c756520746f20636f6e6669672076616c75652cec20746869732073686f756c642062652073657420746f2073616d652076616c7565206f72206772656174657220617320696e2073746f726167652e001501204e6f74653a2060486973746f727944657074686020697320757365642061732074686520757070657220626f756e6420666f72207468652060426f756e646564566563602d01206974656d20605374616b696e674c65646765722e6c65676163795f636c61696d65645f72657761726473602e2053657474696e6720746869732076616c7565206c6f776572207468616ed820746865206578697374696e672076616c75652063616e206c65616420746f20696e636f6e73697374656e6369657320696e20746865150120605374616b696e674c65646765726020616e642077696c6c206e65656420746f2062652068616e646c65642070726f7065726c7920696e2061206d6967726174696f6e2ef020546865207465737420607265647563696e675f686973746f72795f64657074685f616272757074602073686f77732074686973206566666563742e3853657373696f6e735065724572611010030000000470204e756d626572206f662073657373696f6e7320706572206572612e3c426f6e64696e674475726174696f6e10100e00000004e4204e756d626572206f6620657261732074686174207374616b65642066756e6473206d7573742072656d61696e20626f6e64656420666f722e48536c61736844656665724475726174696f6e10100a000000100101204e756d626572206f662065726173207468617420736c6173686573206172652064656665727265642062792c20616674657220636f6d7075746174696f6e2e000d0120546869732073686f756c64206265206c657373207468616e2074686520626f6e64696e67206475726174696f6e2e2053657420746f203020696620736c617368657315012073686f756c64206265206170706c69656420696d6d6564696174656c792c20776974686f7574206f70706f7274756e69747920666f7220696e74657276656e74696f6e2e4c4d61784578706f737572655061676553697a651010400000002cb020546865206d6178696d756d2073697a65206f6620656163682060543a3a4578706f7375726550616765602e00290120416e20604578706f737572655061676560206973207765616b6c7920626f756e64656420746f2061206d6178696d756d206f6620604d61784578706f737572655061676553697a656030206e6f6d696e61746f72732e00210120466f72206f6c646572206e6f6e2d7061676564206578706f737572652c206120726577617264207061796f757420776173207265737472696374656420746f2074686520746f70210120604d61784578706f737572655061676553697a6560206e6f6d696e61746f72732e205468697320697320746f206c696d69742074686520692f6f20636f737420666f722074686548206e6f6d696e61746f72207061796f75742e005901204e6f74653a20604d61784578706f737572655061676553697a6560206973207573656420746f20626f756e642060436c61696d6564526577617264736020616e6420697320756e7361666520746f207265647563659020776974686f75742068616e646c696e6720697420696e2061206d6967726174696f6e2e484d6178556e6c6f636b696e674368756e6b7310102000000028050120546865206d6178696d756d206e756d626572206f662060756e6c6f636b696e6760206368756e6b732061205b605374616b696e674c6564676572605d2063616e090120686176652e204566666563746976656c792064657465726d696e657320686f77206d616e7920756e6971756520657261732061207374616b6572206d61792062653820756e626f6e64696e6720696e2e00f8204e6f74653a20604d6178556e6c6f636b696e674368756e6b736020697320757365642061732074686520757070657220626f756e6420666f722074686501012060426f756e64656456656360206974656d20605374616b696e674c65646765722e756e6c6f636b696e67602e2053657474696e6720746869732076616c75650501206c6f776572207468616e20746865206578697374696e672076616c75652063616e206c65616420746f20696e636f6e73697374656e6369657320696e20746865090120605374616b696e674c65646765726020616e642077696c6c206e65656420746f2062652068616e646c65642070726f7065726c7920696e20612072756e74696d650501206d6967726174696f6e2e20546865207465737420607265647563696e675f6d61785f756e6c6f636b696e675f6368756e6b735f616272757074602073686f7773342074686973206566666563742e01310a111c53657373696f6e011c53657373696f6e1c2856616c696461746f7273010045020400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e646578010010100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e676564010020040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b6579730100350a0400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f72730100cd040400148020496e6469636573206f662064697361626c65642076616c696461746f72732e003d01205468652076656320697320616c77617973206b65707420736f7274656420736f20746861742077652063616e2066696e642077686574686572206120676976656e2076616c696461746f722069733d012064697361626c6564207573696e672062696e617279207365617263682e204974206765747320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e73642061206e657720736574206f66206964656e7469746965732e204e6578744b6579730001040500fd040400049c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e204b65794f776e6572000104053d0a00040004090120546865206f776e6572206f662061206b65792e20546865206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e01f9040105010001450a1228486973746f726963616c0128486973746f726963616c0848486973746f726963616c53657373696f6e730001040510490a0400045d01204d617070696e672066726f6d20686973746f726963616c2073657373696f6e20696e646963657320746f2073657373696f6e2d6461746120726f6f74206861736820616e642076616c696461746f7220636f756e742e2c53746f72656452616e67650000210a040004e4205468652072616e6765206f6620686973746f726963616c2073657373696f6e732077652073746f72652e205b66697273742c206c61737429000000001320547265617375727901205472656173757279183450726f706f73616c436f756e74010010100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c7300010405104d0a0400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e2c4465616374697661746564010018400000000000000000000000000000000004f02054686520616d6f756e7420776869636820686173206265656e207265706f7274656420617320696e61637469766520746f2043757272656e63792e24417070726f76616c730100510a040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e285370656e64436f756e74010010100000000004a42054686520636f756e74206f66207370656e647320746861742068617665206265656e206d6164652e185370656e64730001040510550a040004d0205370656e647320746861742068617665206265656e20617070726f76656420616e64206265696e672070726f6365737365642e010105010901142c5370656e64506572696f6430204038000000000000048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726ed10110000000000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e2050616c6c657449645d0a2070792f74727372790419012054686520747265617375727927732070616c6c65742069642c207573656420666f72206465726976696e672069747320736f7665726569676e206163636f756e742049442e304d6178417070726f76616c731010640000000c150120546865206d6178696d756d206e756d626572206f6620617070726f76616c7320746861742063616e207761697420696e20746865207370656e64696e672071756575652e004d01204e4f54453a205468697320706172616d6574657220697320616c736f20757365642077697468696e2074686520426f756e746965732050616c6c657420657874656e73696f6e20696620656e61626c65642e305061796f7574506572696f6430200a000000000000000419012054686520706572696f6420647572696e6720776869636820616e20617070726f766564207472656173757279207370656e642068617320746f20626520636c61696d65642e01610a1420426f756e746965730120426f756e74696573102c426f756e7479436f756e74010010100000000004c0204e756d626572206f6620626f756e74792070726f706f73616c7320746861742068617665206265656e206d6164652e20426f756e746965730001040510650a0400047820426f756e7469657320746861742068617665206265656e206d6164652e48426f756e74794465736372697074696f6e7300010405106d0a0400048020546865206465736372697074696f6e206f66206561636820626f756e74792e3c426f756e7479417070726f76616c730100510a040004ec20426f756e747920696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f74207965742066756e6465642e010905010d012444426f756e74794465706f736974426173651840000064a7b3b6e00d000000000000000004e82054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120626f756e74792070726f706f73616c2e60426f756e74794465706f7369745061796f757444656c617930204038000000000000045901205468652064656c617920706572696f6420666f72207768696368206120626f756e74792062656e6566696369617279206e65656420746f2077616974206265666f726520636c61696d20746865207061796f75742e48426f756e7479557064617465506572696f6430208013030000000000046c20426f756e7479206475726174696f6e20696e20626c6f636b732e6043757261746f724465706f7369744d756c7469706c696572d1011020a10700101901205468652063757261746f72206465706f7369742069732063616c63756c6174656420617320612070657263656e74616765206f66207468652063757261746f72206665652e0039012054686973206465706f73697420686173206f7074696f6e616c20757070657220616e64206c6f77657220626f756e64732077697468206043757261746f724465706f7369744d61786020616e6454206043757261746f724465706f7369744d696e602e4443757261746f724465706f7369744d6178e5044401000010632d5ec76b0500000000000000044901204d6178696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e4443757261746f724465706f7369744d696ee5044401000064a7b3b6e00d0000000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e48426f756e747956616c75654d696e696d756d18400000f4448291634500000000000000000470204d696e696d756d2076616c756520666f72206120626f756e74792e48446174614465706f73697450657242797465184000008a5d7845630100000000000000000461012054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e2074686520746970207265706f727420726561736f6e206f7220626f756e7479206465736372697074696f6e2e4c4d6178696d756d526561736f6e4c656e67746810102c0100000c88204d6178696d756d2061636365707461626c6520726561736f6e206c656e6774682e0065012042656e63686d61726b7320646570656e64206f6e20746869732076616c75652c206265207375726520746f2075706461746520776569676874732066696c65207768656e206368616e67696e6720746869732076616c756501710a15344368696c64426f756e7469657301344368696c64426f756e7469657314404368696c64426f756e7479436f756e7401001010000000000480204e756d626572206f6620746f74616c206368696c6420626f756e746965732e4c506172656e744368696c64426f756e74696573010104051010100000000008b0204e756d626572206f66206368696c6420626f756e746965732070657220706172656e7420626f756e74792ee0204d6170206f6620706172656e7420626f756e747920696e64657820746f206e756d626572206f66206368696c6420626f756e746965732e344368696c64426f756e746965730001080505210a750a04000494204368696c6420626f756e7469657320746861742068617665206265656e2061646465642e5c4368696c64426f756e74794465736372697074696f6e7300010405106d0a0400049820546865206465736372697074696f6e206f662065616368206368696c642d626f756e74792e4c4368696c6472656e43757261746f72466565730101040510184000000000000000000000000000000000040101205468652063756d756c6174697665206368696c642d626f756e74792063757261746f722066656520666f72206561636820706172656e7420626f756e74792e010d0501110108644d61784163746976654368696c64426f756e7479436f756e74101005000000041d01204d6178696d756d206e756d626572206f66206368696c6420626f756e7469657320746861742063616e20626520616464656420746f206120706172656e7420626f756e74792e5c4368696c64426f756e747956616c75654d696e696d756d1840000064a7b3b6e00d00000000000000000488204d696e696d756d2076616c756520666f722061206368696c642d626f756e74792e017d0a1620426167734c6973740120426167734c6973740c244c6973744e6f6465730001040500810a04000c8020412073696e676c65206e6f64652c2077697468696e20736f6d65206261672e000501204e6f6465732073746f7265206c696e6b7320666f727761726420616e64206261636b2077697468696e207468656972207265737065637469766520626167732e4c436f756e746572466f724c6973744e6f646573010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d6170204c697374426167730001040530850a04000c642041206261672073746f72656420696e2073746f726167652e0019012053746f7265732061206042616760207374727563742c2077686963682073746f726573206865616420616e64207461696c20706f696e7465727320746f20697473656c662e01110501150104344261675468726573686f6c64739d060919210300407a10f35a00006a70ccd4a96000009ef3397fbc660000a907ccd5306d00003d9a67fb0c740000a9bfa275577b0000a6fdf73217830000034f5d91538b0000132445651494000078081001629d00000302f63c45a70000392e6f7fc7b10000f59c23c6f2bc00004ae76aafd1c80000598a64846fd50000129fb243d8e200003f22e1ac18f1000033a4844c3e000100e2e51b895710010076a2c0b0732101006789b407a3330100793ed8d7f646010078131b81815b01000c1cf38a567101004437eeb68a8801009eb56d1434a10100335e9f156abb010067c3c7a545d701003218f340e1f40100de0b230d59140200699c11f5ca350200ad50a2c4565902009ae41c471e7f0200d0244e6745a70200f984ad51f2d10200ace7a7984dff0200a118325b822f0300ffa4c76dbe620300580bfd8532990300a9afce6812d30300109ad81b95100400d9caa519f551040038df488970970400bee1727949e10400cc73401fc62f0500b304f91831830500828bffb4d9db05001235383d143a0600a5b42a473a9e060036662d09ab080700f73aeab4cb790700b87e93d707f20700ffec23c0d1710800b84b0beca2f90800c9dcae7afc89090091752ba867230a0064f1cd4f76c60a003609be76c3730b0078655fdff32b0c00a407f5a5b6ef0c0052f61be7c5bf0d00da71bb70e79c0e000de9127eed870f001477987fb7811000ebee65ef328b11001269fe325ca5120033f8428b3fd113008ba57a13fa0f15001b2b60d0ba6216000d1d37d0c3ca17006c64fa5c6b4919002622c7411de01a00045bb9245c901c00233d83f6c25b1e00c8771c79064420003013fddef64a2200aa8b6e848172240082c096c4b2bc260016a3faebb72b29008296524ae1c12b00a636a865a4812e00d0e2d4509e6d31009c0a9a2796883400e4faafb27fd53700e6e64d367e573b000e4bd66de7113f0088b17db746084300b07def72603e470034de249635b84b00d48bd57b077a5000d0bd20ef5b885500b8f0467801e85a0010f88aee139e60003892925301b066009c95e4fc8e236d00b4126d10dffe730028b43e5976487b00a08a1c7a42078300b09ab083a0428b002846b2f463029400c861a42ade4e9d0050d23d4ae630a700805101a7e1b1b10038e501b2ccdbbc002016527844b9c800388924ba9055d50070ca35a4aebce200805fb1355cfbf0008035685d241f0001a0c3dcd96b361001d07862e87e50210160e852d09f7d330190662c5816cf460110274c3340575b01804be277a22971013082b92dfc5a880180d276075a01a101b0f511592b34bb014031745f580cd701802f6cee59a4f40140ff799b521814026075607d2986350260fde999a60d590200e5e71c91d07e02c0df2575cff2a602a07fd975899ad102a067009d4cf0fe0220dc29a1321f2f0320ff526b0a5562038088caa383c29803e05683fb5c9bd203401dd75d9516100400317e39a06e5104c0b071129de1960480b48c9192b1e00480e8124aad242f05c007ca7082858205007c13c45623db0540836fe869523906c0700f81466c9d0640f09c5017d00707c0e624b301e37807c0332ac78510f10780074ca1e4ca700800d5a9eb8c8bf80800a849588ed3880900804254142c220a80a25170e826c50a00e8d5fafc5e720b801df64e00792a0c80d4fe64f923ee0c006dd038ee19be0d001e90a494209b0e0010bf570e0a860f00da6a9db0b57f1000bf64afd810891100bb5b60cd17a31200f963f3aed6ce1300d5f004766a0d1500e099770202601600103d663bdfc71700de3e2d4158461900ecdbadb2d8dc1a0045c70007e38c1c00b8bde0fc11581e00ba5c2a211a402000407de46dcb462200dea55b03136e2400aaf1f3fcfcb7260014226f63b62629006492803e8fbc2b008486a6c7fc7b2e002cf05fc09b673100da63f7ed32823400f0b13fbdb5ce3700f291c41047503b00422a1a3c3c0a3f002c24212f20004300ac9342d4b6354700cc6ed7a400af4b00c4d022773e70500020017d89f57d5500f86387cef3dc5a008c4c7f7e54926000206207f284a36600cc1e05cb49166d00b42a7a70c4f07300d43a90e278397b0038f461ec53f78200a07264b9b1318b0048c9b3d464f09300007fe998bd3b9d0010058f17921ca70000dfaf7f469cb100e80c880bd6c4bc0058bdcb7ddca0c80038d18d37a03bd50030d55bf01ca1e200704ac01a0fdef0ffffffffffffffffacd020546865206c697374206f66207468726573686f6c64732073657061726174696e672074686520766172696f757320626167732e00490120496473206172652073657061726174656420696e746f20756e736f727465642062616773206163636f7264696e6720746f2074686569722073636f72652e205468697320737065636966696573207468656101207468726573686f6c64732073657061726174696e672074686520626167732e20416e20696427732062616720697320746865206c6172676573742062616720666f722077686963682074686520696427732073636f7265b8206973206c657373207468616e206f7220657175616c20746f20697473207570706572207468726573686f6c642e006501205768656e20696473206172652069746572617465642c2068696768657220626167732061726520697465726174656420636f6d706c6574656c79206265666f7265206c6f77657220626167732e2054686973206d65616e735901207468617420697465726174696f6e206973205f73656d692d736f727465645f3a20696473206f66206869676865722073636f72652074656e6420746f20636f6d65206265666f726520696473206f66206c6f7765722d012073636f72652c206275742070656572206964732077697468696e206120706172746963756c6172206261672061726520736f7274656420696e20696e73657274696f6e206f726465722e006820232045787072657373696e672074686520636f6e7374616e74004d01205468697320636f6e7374616e74206d75737420626520736f7274656420696e207374726963746c7920696e6372656173696e67206f726465722e204475706c6963617465206974656d7320617265206e6f742c207065726d69747465642e00410120546865726520697320616e20696d706c696564207570706572206c696d6974206f66206053636f72653a3a4d4158603b20746861742076616c756520646f6573206e6f74206e65656420746f2062652101207370656369666965642077697468696e20746865206261672e20466f7220616e792074776f207468726573686f6c64206c697374732c206966206f6e6520656e647320776974683101206053636f72653a3a4d4158602c20746865206f74686572206f6e6520646f6573206e6f742c20616e64207468657920617265206f746865727769736520657175616c2c207468652074776f7c206c697374732077696c6c20626568617665206964656e746963616c6c792e003820232043616c63756c6174696f6e005501204974206973207265636f6d6d656e64656420746f2067656e65726174652074686520736574206f66207468726573686f6c647320696e20612067656f6d6574726963207365726965732c2073756368207468617441012074686572652065786973747320736f6d6520636f6e7374616e7420726174696f2073756368207468617420607468726573686f6c645b6b202b20315d203d3d20287468726573686f6c645b6b5d202ad020636f6e7374616e745f726174696f292e6d6178287468726573686f6c645b6b5d202b2031296020666f7220616c6c20606b602e005901205468652068656c7065727320696e2074686520602f7574696c732f6672616d652f67656e65726174652d6261677360206d6f64756c652063616e2073696d706c69667920746869732063616c63756c6174696f6e2e002c2023204578616d706c6573005101202d20496620604261675468726573686f6c64733a3a67657428292e69735f656d7074792829602c207468656e20616c6c20696473206172652070757420696e746f207468652073616d65206261672c20616e64b0202020697465726174696f6e206973207374726963746c7920696e20696e73657274696f6e206f726465722e6101202d20496620604261675468726573686f6c64733a3a67657428292e6c656e2829203d3d203634602c20616e6420746865207468726573686f6c6473206172652064657465726d696e6564206163636f7264696e6720746f11012020207468652070726f63656475726520676976656e2061626f76652c207468656e2074686520636f6e7374616e7420726174696f20697320657175616c20746f20322e6501202d20496620604261675468726573686f6c64733a3a67657428292e6c656e2829203d3d20323030602c20616e6420746865207468726573686f6c6473206172652064657465726d696e6564206163636f7264696e6720746f59012020207468652070726f63656475726520676976656e2061626f76652c207468656e2074686520636f6e7374616e7420726174696f20697320617070726f78696d6174656c7920657175616c20746f20312e3234382e6101202d20496620746865207468726573686f6c64206c69737420626567696e7320605b312c20322c20332c202e2e2e5d602c207468656e20616e20696420776974682073636f72652030206f7220312077696c6c2066616c6cf0202020696e746f2062616720302c20616e20696420776974682073636f726520322077696c6c2066616c6c20696e746f2062616720312c206574632e00302023204d6967726174696f6e00610120496e20746865206576656e7420746861742074686973206c6973742065766572206368616e6765732c206120636f7079206f6620746865206f6c642062616773206c697374206d7573742062652072657461696e65642e5d012057697468207468617420604c6973743a3a6d696772617465602063616e2062652063616c6c65642c2077686963682077696c6c20706572666f726d2074686520617070726f707269617465206d6967726174696f6e2e01890a173c4e6f6d696e6174696f6e506f6f6c73013c4e6f6d696e6174696f6e506f6f6c735440546f74616c56616c75654c6f636b65640100184000000000000000000000000000000000148c205468652073756d206f662066756e6473206163726f737320616c6c20706f6f6c732e0071012054686973206d69676874206265206c6f77657220627574206e6576657220686967686572207468616e207468652073756d206f662060746f74616c5f62616c616e636560206f6620616c6c205b60506f6f6c4d656d62657273605d590120626563617573652063616c6c696e672060706f6f6c5f77697468647261775f756e626f6e64656460206d696768742064656372656173652074686520746f74616c207374616b65206f662074686520706f6f6c277329012060626f6e6465645f6163636f756e746020776974686f75742061646a757374696e67207468652070616c6c65742d696e7465726e616c2060556e626f6e64696e67506f6f6c6027732e2c4d696e4a6f696e426f6e640100184000000000000000000000000000000000049c204d696e696d756d20616d6f756e7420746f20626f6e6420746f206a6f696e206120706f6f6c2e344d696e437265617465426f6e6401001840000000000000000000000000000000001ca0204d696e696d756d20626f6e6420726571756972656420746f20637265617465206120706f6f6c2e00650120546869732069732074686520616d6f756e74207468617420746865206465706f7369746f72206d7573742070757420617320746865697220696e697469616c207374616b6520696e2074686520706f6f6c2c20617320616e8820696e6469636174696f6e206f662022736b696e20696e207468652067616d65222e0069012054686973206973207468652076616c756520746861742077696c6c20616c7761797320657869737420696e20746865207374616b696e67206c6564676572206f662074686520706f6f6c20626f6e646564206163636f756e7480207768696c6520616c6c206f74686572206163636f756e7473206c656176652e204d6178506f6f6c730000100400086901204d6178696d756d206e756d626572206f66206e6f6d696e6174696f6e20706f6f6c7320746861742063616e2065786973742e20496620604e6f6e65602c207468656e20616e20756e626f756e646564206e756d626572206f664420706f6f6c732063616e2065786973742e384d6178506f6f6c4d656d626572730000100400084901204d6178696d756d206e756d626572206f66206d656d6265727320746861742063616e20657869737420696e207468652073797374656d2e20496620604e6f6e65602c207468656e2074686520636f756e74b8206d656d6265727320617265206e6f7420626f756e64206f6e20612073797374656d20776964652062617369732e544d6178506f6f6c4d656d62657273506572506f6f6c0000100400084101204d6178696d756d206e756d626572206f66206d656d626572732074686174206d61792062656c6f6e6720746f20706f6f6c2e20496620604e6f6e65602c207468656e2074686520636f756e74206f66a8206d656d62657273206973206e6f7420626f756e64206f6e20612070657220706f6f6c2062617369732e4c476c6f62616c4d6178436f6d6d697373696f6e0000f404000c690120546865206d6178696d756d20636f6d6d697373696f6e20746861742063616e2062652063686172676564206279206120706f6f6c2e2055736564206f6e20636f6d6d697373696f6e207061796f75747320746f20626f756e64250120706f6f6c20636f6d6d697373696f6e73207468617420617265203e2060476c6f62616c4d6178436f6d6d697373696f6e602c206e65636573736172792069662061206675747572650d012060476c6f62616c4d6178436f6d6d697373696f6e60206973206c6f776572207468616e20736f6d652063757272656e7420706f6f6c20636f6d6d697373696f6e732e2c506f6f6c4d656d626572730001040500910a04000c4020416374697665206d656d626572732e00d02054574f582d4e4f54453a20534146452073696e636520604163636f756e7449646020697320612073656375726520686173682e54436f756e746572466f72506f6f6c4d656d62657273010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61702c426f6e646564506f6f6c730001040510a50a040004682053746f7261676520666f7220626f6e64656420706f6f6c732e54436f756e746572466f72426f6e646564506f6f6c73010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61702c526577617264506f6f6c730001040510b90a04000875012052657761726420706f6f6c732e2054686973206973207768657265207468657265207265776172647320666f72206561636820706f6f6c20616363756d756c6174652e205768656e2061206d656d62657273207061796f7574206973590120636c61696d65642c207468652062616c616e636520636f6d6573206f7574206f66207468652072657761726420706f6f6c2e204b657965642062792074686520626f6e64656420706f6f6c73206163636f756e742e54436f756e746572466f72526577617264506f6f6c73010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61703c537562506f6f6c7353746f726167650001040510bd0a04000819012047726f757073206f6620756e626f6e64696e6720706f6f6c732e20456163682067726f7570206f6620756e626f6e64696e6720706f6f6c732062656c6f6e677320746f2061290120626f6e64656420706f6f6c2c2068656e636520746865206e616d65207375622d706f6f6c732e204b657965642062792074686520626f6e64656420706f6f6c73206163636f756e742e64436f756e746572466f72537562506f6f6c7353746f72616765010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d6170204d65746164617461010104051055010400045c204d6574616461746120666f722074686520706f6f6c2e48436f756e746572466f724d65746164617461010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d6170284c617374506f6f6c4964010010100000000004d0204576657220696e6372656173696e67206e756d626572206f6620616c6c20706f6f6c73206372656174656420736f206661722e4c52657665727365506f6f6c49644c6f6f6b7570000104050010040010dc20412072657665727365206c6f6f6b75702066726f6d2074686520706f6f6c2773206163636f756e7420696420746f206974732069642e0075012054686973206973206f6e6c79207573656420666f7220736c617368696e6720616e64206f6e206175746f6d61746963207769746864726177207570646174652e20496e20616c6c206f7468657220696e7374616e6365732c20746865250120706f6f6c20696420697320757365642c20616e6420746865206163636f756e7473206172652064657465726d696e6973746963616c6c7920646572697665642066726f6d2069742e74436f756e746572466f7252657665727365506f6f6c49644c6f6f6b7570010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617040436c61696d5065726d697373696f6e7301010405002d050402040101204d61702066726f6d206120706f6f6c206d656d626572206163636f756e7420746f207468656972206f7074656420636c61696d207065726d697373696f6e2e0115050119010c2050616c6c657449645d0a2070792f6e6f706c73048420546865206e6f6d696e6174696f6e20706f6f6c27732070616c6c65742069642e484d6178506f696e7473546f42616c616e636508040a301d0120546865206d6178696d756d20706f6f6c20706f696e74732d746f2d62616c616e636520726174696f207468617420616e20606f70656e6020706f6f6c2063616e20686176652e005501205468697320697320696d706f7274616e7420696e20746865206576656e7420736c617368696e672074616b657320706c61636520616e642074686520706f6f6c277320706f696e74732d746f2d62616c616e63657c20726174696f206265636f6d65732064697370726f706f7274696f6e616c2e006501204d6f72656f7665722c20746869732072656c6174657320746f207468652060526577617264436f756e7465726020747970652061732077656c6c2c206173207468652061726974686d65746963206f7065726174696f6e7355012061726520612066756e6374696f6e206f66206e756d626572206f6620706f696e74732c20616e642062792073657474696e6720746869732076616c756520746f20652e672e2031302c20796f7520656e73757265650120746861742074686520746f74616c206e756d626572206f6620706f696e747320696e207468652073797374656d20617265206174206d6f73742031302074696d65732074686520746f74616c5f69737375616e6365206f669c2074686520636861696e2c20696e20746865206162736f6c75746520776f72736520636173652e00490120466f7220612076616c7565206f662031302c20746865207468726573686f6c6420776f756c64206265206120706f6f6c20706f696e74732d746f2d62616c616e636520726174696f206f662031303a312e310120537563682061207363656e6172696f20776f756c6420616c736f20626520746865206571756976616c656e74206f662074686520706f6f6c206265696e672039302520736c61736865642e304d6178556e626f6e64696e67101008000000043d0120546865206d6178696d756d206e756d626572206f662073696d756c74616e656f757320756e626f6e64696e67206368756e6b7320746861742063616e20657869737420706572206d656d6265722e01d50a18245363686564756c657201245363686564756c6572103c496e636f6d706c65746553696e6365000030040000184167656e64610101040530dd0a0400044d01204974656d7320746f2062652065786563757465642c20696e64657865642062792074686520626c6f636b206e756d626572207468617420746865792073686f756c64206265206578656375746564206f6e2e1c52657472696573000104023901ed0a040004210120526574727920636f6e66696775726174696f6e7320666f72206974656d7320746f2062652065786563757465642c20696e6465786564206279207461736b20616464726573732e184c6f6f6b757000010405043901040010f8204c6f6f6b75702066726f6d2061206e616d6520746f2074686520626c6f636b206e756d62657220616e6420696e646578206f6620746865207461736b2e00590120466f72207633202d3e207634207468652070726576696f75736c7920756e626f756e646564206964656e7469746965732061726520426c616b65322d3235362068617368656420746f20666f726d2074686520763430206964656e7469746965732e01310501350108344d6178696d756d57656967687428400b00806e87740113cccccccccccccccc04290120546865206d6178696d756d207765696768742074686174206d6179206265207363686564756c65642070657220626c6f636b20666f7220616e7920646973706174636861626c65732e504d61785363686564756c6564506572426c6f636b101000020000141d0120546865206d6178696d756d206e756d626572206f66207363686564756c65642063616c6c7320696e2074686520717565756520666f7220612073696e676c6520626c6f636b2e0018204e4f54453a5101202b20446570656e64656e742070616c6c657473272062656e63686d61726b73206d696768742072657175697265206120686967686572206c696d697420666f72207468652073657474696e672e205365742061c420686967686572206c696d697420756e646572206072756e74696d652d62656e63686d61726b736020666561747572652e01f10a1920507265696d6167650120507265696d6167650c24537461747573466f720001040634f50a0400049020546865207265717565737420737461747573206f66206120676976656e20686173682e4052657175657374537461747573466f720001040634fd0a0400049020546865207265717565737420737461747573206f66206120676976656e20686173682e2c507265696d616765466f7200010406490a090b04000001390501410100010d0b1a204f6666656e63657301204f6666656e636573081c5265706f7274730001040534110b040004490120546865207072696d61727920737472756374757265207468617420686f6c647320616c6c206f6666656e6365207265636f726473206b65796564206279207265706f7274206964656e746966696572732e58436f6e63757272656e745265706f727473496e6465780101080505150bc1010400042901204120766563746f72206f66207265706f727473206f66207468652073616d65206b696e6420746861742068617070656e6564206174207468652073616d652074696d6520736c6f742e0001450100001b1c54785061757365011c54785061757365042c50617573656443616c6c7300010402510184040004b42054686520736574206f662063616c6c73207468617420617265206578706c696369746c79207061757365642e013d05014d0104284d61784e616d654c656e1010000100000c2501204d6178696d756d206c656e67746820666f722070616c6c6574206e616d6520616e642063616c6c206e616d65205343414c4520656e636f64656420737472696e67206e616d65732e00a820544f4f204c4f4e47204e414d45532057494c4c2042452054524541544544204153205041555345442e01190b1c20496d4f6e6c696e650120496d4f6e6c696e65103848656172746265617441667465720100302000000000000000002c1d012054686520626c6f636b206e756d6265722061667465722077686963682069742773206f6b20746f2073656e64206865617274626561747320696e207468652063757272656e74242073657373696f6e2e0025012041742074686520626567696e6e696e67206f6620656163682073657373696f6e20776520736574207468697320746f20612076616c756520746861742073686f756c642066616c6c350120726f7567686c7920696e20746865206d6964646c65206f66207468652073657373696f6e206475726174696f6e2e20546865206964656120697320746f206669727374207761697420666f721901207468652076616c696461746f727320746f2070726f64756365206120626c6f636b20696e207468652063757272656e742073657373696f6e2c20736f207468617420746865a820686561727462656174206c61746572206f6e2077696c6c206e6f74206265206e65636573736172792e00390120546869732076616c75652077696c6c206f6e6c79206265207573656420617320612066616c6c6261636b206966207765206661696c20746f2067657420612070726f7065722073657373696f6e2d012070726f677265737320657374696d6174652066726f6d20604e65787453657373696f6e526f746174696f6e602c2061732074686f736520657374696d617465732073686f756c642062650101206d6f7265206163637572617465207468656e207468652076616c75652077652063616c63756c61746520666f7220604865617274626561744166746572602e104b65797301001d0b040004d0205468652063757272656e7420736574206f66206b6579732074686174206d61792069737375652061206865617274626561742e485265636569766564486561727462656174730001080505210a20040004350120466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f66206053657373696f6e496e6465786020616e64206041757468496e646578602e38417574686f726564426c6f636b730101080505f50910100000000008150120466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f66206056616c696461746f7249643c543e6020746f20746865c8206e756d626572206f6620626c6f636b7320617574686f7265642062792074686520676976656e20617574686f726974792e0141050159010440556e7369676e65645072696f726974793020ffffffffffffffff10f0204120636f6e66696775726174696f6e20666f722062617365207072696f72697479206f6620756e7369676e6564207472616e73616374696f6e732e0015012054686973206973206578706f73656420736f20746861742069742063616e2062652074756e656420666f7220706172746963756c61722072756e74696d652c207768656eb4206d756c7469706c652070616c6c6574732073656e6420756e7369676e6564207472616e73616374696f6e732e01250b1d204964656e7469747901204964656e746974791c284964656e746974794f660001040500290b040010690120496e666f726d6174696f6e20746861742069732070657274696e656e7420746f206964656e746966792074686520656e7469747920626568696e6420616e206163636f756e742e204669727374206974656d20697320746865e020726567697374726174696f6e2c207365636f6e6420697320746865206163636f756e742773207072696d61727920757365726e616d652e00c02054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e1c53757065724f660001040200dd050400086101205468652073757065722d6964656e74697479206f6620616e20616c7465726e6174697665202273756222206964656e7469747920746f676574686572207769746820697473206e616d652c2077697468696e2074686174510120636f6e746578742e20496620746865206163636f756e74206973206e6f7420736f6d65206f74686572206163636f756e742773207375622d6964656e746974792c207468656e206a75737420604e6f6e65602e18537562734f660101040500410b44000000000000000000000000000000000014b820416c7465726e6174697665202273756222206964656e746974696573206f662074686973206163636f756e742e001d0120546865206669727374206974656d20697320746865206465706f7369742c20746865207365636f6e64206973206120766563746f72206f6620746865206163636f756e74732e00c02054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e28526567697374726172730100490b0400104d012054686520736574206f6620726567697374726172732e204e6f7420657870656374656420746f206765742076657279206269672061732063616e206f6e6c79206265206164646564207468726f7567682061a8207370656369616c206f726967696e20286c696b656c79206120636f756e63696c206d6f74696f6e292e0029012054686520696e64657820696e746f20746869732063616e206265206361737420746f2060526567697374726172496e6465786020746f2067657420612076616c69642076616c75652e4c557365726e616d65417574686f7269746965730001040500590b040004f42041206d6170206f6620746865206163636f756e74732077686f2061726520617574686f72697a656420746f206772616e7420757365726e616d65732e444163636f756e744f66557365726e616d65000104027d01000400146d012052657665727365206c6f6f6b75702066726f6d2060757365726e616d656020746f2074686520604163636f756e7449646020746861742068617320726567697374657265642069742e205468652076616c75652073686f756c6465012062652061206b657920696e2074686520604964656e746974794f6660206d61702c20627574206974206d6179206e6f742069662074686520757365722068617320636c6561726564207468656972206964656e746974792e006901204d756c7469706c6520757365726e616d6573206d6179206d617020746f207468652073616d6520604163636f756e744964602c2062757420604964656e746974794f66602077696c6c206f6e6c79206d617020746f206f6e6548207072696d61727920757365726e616d652e4050656e64696e67557365726e616d6573000104027d01610b0400186d0120557365726e616d6573207468617420616e20617574686f7269747920686173206772616e7465642c20627574207468617420746865206163636f756e7420636f6e74726f6c6c657220686173206e6f7420636f6e6669726d65647101207468617420746865792077616e742069742e2055736564207072696d6172696c7920696e2063617365732077686572652074686520604163636f756e744964602063616e6e6f742070726f766964652061207369676e61747572655d012062656361757365207468657920617265206120707572652070726f78792c206d756c74697369672c206574632e20496e206f7264657220746f20636f6e6669726d2069742c20746865792073686f756c642063616c6c6c205b6043616c6c3a3a6163636570745f757365726e616d65605d2e001d01204669727374207475706c65206974656d20697320746865206163636f756e7420616e64207365636f6e642069732074686520616363657074616e636520646561646c696e652e014d05017901203042617369634465706f736974184000008a5d78456301000000000000000004d82054686520616d6f756e742068656c64206f6e206465706f73697420666f7220612072656769737465726564206964656e746974792e2c427974654465706f736974184000008a5d784563010000000000000000041d012054686520616d6f756e742068656c64206f6e206465706f7369742070657220656e636f646564206279746520666f7220612072656769737465726564206964656e746974792e445375624163636f756e744465706f73697418400080ae2e83b0ca8a00000000000000000c65012054686520616d6f756e742068656c64206f6e206465706f73697420666f7220612072656769737465726564207375626163636f756e742e20546869732073686f756c64206163636f756e7420666f7220746865206661637465012074686174206f6e652073746f72616765206974656d27732076616c75652077696c6c20696e637265617365206279207468652073697a65206f6620616e206163636f756e742049442c20616e642074686572652077696c6c350120626520616e6f746865722074726965206974656d2077686f73652076616c7565206973207468652073697a65206f6620616e206163636f756e7420494420706c75732033322062797465732e384d61785375624163636f756e7473101064000000040d0120546865206d6178696d756d206e756d626572206f66207375622d6163636f756e747320616c6c6f77656420706572206964656e746966696564206163636f756e742e344d617852656769737472617273101014000000084d01204d6178696d756d206e756d626572206f66207265676973747261727320616c6c6f77656420696e207468652073797374656d2e204e656564656420746f20626f756e642074686520636f6d706c65786974797c206f662c20652e672e2c207570646174696e67206a756467656d656e74732e6450656e64696e67557365726e616d6545787069726174696f6e3020c08901000000000004150120546865206e756d626572206f6620626c6f636b732077697468696e207768696368206120757365726e616d65206772616e74206d7573742062652061636365707465642e3c4d61785375666669784c656e677468101007000000048020546865206d6178696d756d206c656e677468206f662061207375666669782e444d6178557365726e616d654c656e67746810102000000004610120546865206d6178696d756d206c656e677468206f66206120757365726e616d652c20696e636c7564696e67206974732073756666697820616e6420616e792073797374656d2d61646465642064656c696d69746572732e01650b1e1c5574696c6974790001ed05018101044c626174636865645f63616c6c735f6c696d69741010aa2a000004a820546865206c696d6974206f6e20746865206e756d626572206f6620626174636865642063616c6c732e01690b1f204d756c746973696701204d756c746973696704244d756c74697369677300010805026d0b710b040004942054686520736574206f66206f70656e206d756c7469736967206f7065726174696f6e732e0105060185010c2c4465706f7369744261736518400000242e8dc6ff8b000000000000000018590120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e672061206d756c746973696720657865637574696f6e206f7220746f842073746f726520612064697370617463682063616c6c20666f72206c617465722e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069733101206034202b2073697a656f662828426c6f636b4e756d6265722c2042616c616e63652c204163636f756e74496429296020627974657320616e642077686f7365206b65792073697a652069738020603332202b2073697a656f66284163636f756e74496429602062797465732e344465706f736974466163746f7218400000d098d4af710000000000000000000c55012054686520616d6f756e74206f662063757272656e6379206e65656465642070657220756e6974207468726573686f6c64207768656e206372656174696e672061206d756c746973696720657865637574696f6e2e00250120546869732069732068656c6420666f7220616464696e67203332206279746573206d6f726520696e746f2061207072652d6578697374696e672073746f726167652076616c75652e384d61785369676e61746f7269657310106400000004ec20546865206d6178696d756d20616d6f756e74206f66207369676e61746f7269657320616c6c6f77656420696e20746865206d756c74697369672e01750b2020457468657265756d0120457468657265756d141c50656e64696e670100790b040004d02043757272656e74206275696c64696e6720626c6f636b2773207472616e73616374696f6e7320616e642072656365697074732e3043757272656e74426c6f636b0000990b04000470205468652063757272656e7420457468657265756d20626c6f636b2e3c43757272656e7452656365697074730000ad0b0400047c205468652063757272656e7420457468657265756d2072656365697074732e6843757272656e745472616e73616374696f6e53746174757365730000b10b04000488205468652063757272656e74207472616e73616374696f6e2073746174757365732e24426c6f636b4861736801010405c9013480000000000000000000000000000000000000000000000000000000000000000000010d06018d010001b50b210c45564d010c45564d10304163636f756e74436f64657301010402910138040000504163636f756e74436f6465734d65746164617461000104029101b90b0400003c4163636f756e7453746f72616765730101080202bd0b34800000000000000000000000000000000000000000000000000000000000000000002053756963696465640001040291018404000001350601b9010001c10b222845564d436861696e4964012845564d436861696e4964041c436861696e49640100302000000000000000000448205468652045564d20636861696e2049442e00000000232844796e616d6963466565012844796e616d6963466565082c4d696e47617350726963650100c90180000000000000000000000000000000000000000000000000000000000000000000445461726765744d696e47617350726963650000c901040000014506000000241c42617365466565011c426173654665650834426173654665655065724761730100c9018040420f00000000000000000000000000000000000000000000000000000000000028456c61737469636974790100d1011048e801000001490601c50100002544486f7466697853756666696369656e747300014d06000001c50b2618436c61696d730118436c61696d731418436c61696d7300010406d9011804000014546f74616c01001840000000000000000000000000000000000030457870697279436f6e6669670000c90b040004c82045787069727920626c6f636b20616e64206163636f756e7420746f206465706f73697420657870697265642066756e64731c56657374696e6700010406d9016d06040010782056657374696e67207363686564756c6520666f72206120636c61696d2e0d012046697273742062616c616e63652069732074686520746f74616c20616d6f756e7420746861742073686f756c642062652068656c6420666f722076657374696e672ee4205365636f6e642062616c616e636520697320686f77206d7563682073686f756c6420626520756e6c6f636b65642070657220626c6f636b2ecc2054686520626c6f636b206e756d626572206973207768656e207468652076657374696e672073686f756c642073746172742e1c5369676e696e6700010406d9017d06040004c0205468652073746174656d656e74206b696e642074686174206d757374206265207369676e65642c20696620616e792e01550601d5010418507265666978386c68436c61696d20544e547320746f20746865206163636f756e743a0001cd0b271450726f7879011450726f7879081c50726f786965730101040500d10b4400000000000000000000000000000000000845012054686520736574206f66206163636f756e742070726f786965732e204d61707320746865206163636f756e74207768696368206861732064656c65676174656420746f20746865206163636f756e7473210120776869636820617265206265696e672064656c65676174656420746f2c20746f67657468657220776974682074686520616d6f756e742068656c64206f6e206465706f7369742e34416e6e6f756e63656d656e74730101040500e10b44000000000000000000000000000000000004ac2054686520616e6e6f756e63656d656e7473206d616465206279207468652070726f787920286b6579292e01810601e101184050726f78794465706f73697442617365184000001cb0f98ee38a000000000000000010110120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720612070726f78792e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069732501206073697a656f662842616c616e6365296020627974657320616e642077686f7365206b65792073697a65206973206073697a656f66284163636f756e74496429602062797465732e4850726f78794465706f736974466163746f7218400080963d533d7500000000000000000014bc2054686520616d6f756e74206f662063757272656e6379206e6565646564207065722070726f78792061646465642e00350120546869732069732068656c6420666f7220616464696e6720333220627974657320706c757320616e20696e7374616e6365206f66206050726f78795479706560206d6f726520696e746f20616101207072652d6578697374696e672073746f726167652076616c75652e20546875732c207768656e20636f6e6669677572696e67206050726f78794465706f736974466163746f7260206f6e652073686f756c642074616b65f420696e746f206163636f756e7420603332202b2070726f78795f747970652e656e636f646528292e6c656e282960206279746573206f6620646174612e284d617850726f7869657310102000000004f020546865206d6178696d756d20616d6f756e74206f662070726f7869657320616c6c6f77656420666f7220612073696e676c65206163636f756e742e284d617850656e64696e6710102000000004450120546865206d6178696d756d20616d6f756e74206f662074696d652d64656c6179656420616e6e6f756e63656d656e747320746861742061726520616c6c6f77656420746f2062652070656e64696e672e5c416e6e6f756e63656d656e744465706f73697442617365184000001cb0f98ee38a000000000000000010310120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720616e20616e6e6f756e63656d656e742e00490120546869732069732068656c64207768656e2061206e65772073746f72616765206974656d20686f6c64696e672061206042616c616e636560206973206372656174656420287479706963616c6c7920313620206279746573292e64416e6e6f756e63656d656e744465706f736974466163746f72184000002d7ba67aea00000000000000000010d42054686520616d6f756e74206f662063757272656e6379206e65656465642070657220616e6e6f756e63656d656e74206d6164652e00590120546869732069732068656c6420666f7220616464696e6720616e20604163636f756e744964602c2060486173686020616e642060426c6f636b4e756d6265726020287479706963616c6c79203638206279746573298c20696e746f2061207072652d6578697374696e672073746f726167652076616c75652e01f10b2c504d756c7469417373657444656c65676174696f6e01504d756c7469417373657444656c65676174696f6e10244f70657261746f72730001040200f50b040004882053746f7261676520666f72206f70657261746f7220696e666f726d6174696f6e2e3043757272656e74526f756e640100101000000000047c2053746f7261676520666f72207468652063757272656e7420726f756e642e1c41745374616b650001080202f5091d0c040004050120536e617073686f74206f6620636f6c6c61746f722064656c65676174696f6e207374616b6520617420746865207374617274206f662074686520726f756e642e2844656c656761746f72730001040200210c0400048c2053746f7261676520666f722064656c656761746f7220696e666f726d6174696f6e2e01890601ed0138584d617844656c656761746f72426c75657072696e747310103200000004150120546865206d6178696d756d206e756d626572206f6620626c75657072696e747320612064656c656761746f722063616e206861766520696e204669786564206d6f64652e544d61784f70657261746f72426c75657072696e747310103200000004e820546865206d6178696d756d206e756d626572206f6620626c75657072696e747320616e206f70657261746f722063616e20737570706f72742e4c4d61785769746864726177526571756573747310100500000004f820546865206d6178696d756d206e756d626572206f6620776974686472617720726571756573747320612064656c656761746f722063616e20686176652e384d617844656c65676174696f6e7310103200000004e020546865206d6178696d756d206e756d626572206f662064656c65676174696f6e7320612064656c656761746f722063616e20686176652e484d6178556e7374616b65526571756573747310100500000004f420546865206d6178696d756d206e756d626572206f6620756e7374616b6520726571756573747320612064656c656761746f722063616e20686176652e544d696e4f70657261746f72426f6e64416d6f756e7418406400000000000000000000000000000004d820546865206d696e696d756d20616d6f756e74206f66207374616b6520726571756972656420666f7220616e206f70657261746f722e444d696e44656c6567617465416d6f756e7418400100000000000000000000000000000004d420546865206d696e696d756d20616d6f756e74206f66207374616b6520726571756972656420666f7220612064656c65676174652e30426f6e644475726174696f6e10100a00000004b020546865206475726174696f6e20666f7220776869636820746865207374616b65206973206c6f636b65642e4c4c656176654f70657261746f727344656c617910100a000000045501204e756d626572206f6620726f756e64732074686174206f70657261746f72732072656d61696e20626f6e646564206265666f726520746865206578697420726571756573742069732065786563757461626c652e544f70657261746f72426f6e644c65737344656c6179101005000000045901204e756d626572206f6620726f756e6473206f70657261746f7220726571756573747320746f2064656372656173652073656c662d7374616b65206d757374207761697420746f2062652065786563757461626c652e504c6561766544656c656761746f727344656c617910100a000000045901204e756d626572206f6620726f756e647320746861742064656c656761746f72732072656d61696e20626f6e646564206265666f726520746865206578697420726571756573742069732065786563757461626c652e5c44656c65676174696f6e426f6e644c65737344656c6179101005000000045501204e756d626572206f6620726f756e647320746861742064656c65676174696f6e20756e7374616b65207265717565737473206d7573742077616974206265666f7265206265696e672065786563757461626c652e2050616c6c657449645d0a20506f745374616b650464205468652070616c6c65742773206163636f756e742049442e38536c617368526563697069656e7400806d6f646c70792f747273727900000000000000000000000000000000000000000001750c2d20536572766963657301205365727669636573443c4e657874426c75657072696e74496401003020000000000000000004a820546865206e657874206672656520494420666f722061207365727669636520626c75657072696e742e504e6578745365727669636552657175657374496401003020000000000000000004a020546865206e657874206672656520494420666f722061207365727669636520726571756573742e384e657874496e7374616e6365496401003020000000000000000004a420546865206e657874206672656520494420666f722061207365727669636520496e7374616e63652e344e6578744a6f6243616c6c4964010030200000000000000000049420546865206e657874206672656520494420666f72206120736572766963652063616c6c2e5c4e657874556e6170706c696564536c617368496e646578010010100000000004a020546865206e657874206672656520494420666f72206120756e6170706c69656420736c6173682e28426c75657072696e74730001040630790c08010004bc20546865207365727669636520626c75657072696e747320616c6f6e672077697468207468656972206f776e65722e3453657276696365537461747573000108060675038408010f0805012054686520736572766963657320666f72206120706172746963756c617220626c75657072696e7420616e6420746865697220616374697665207374617475732e9420426c75657072696e74204944202d3e2053657276696365204944202d3e20616374697665244f70657261746f727300010806067d0cf90108010a08c020546865206f70657261746f727320666f722061207370656369666963207365727669636520626c75657072696e742ec420426c75657072696e74204944202d3e204f70657261746f72202d3e204f70657261746f7220507265666572656e6365733c5365727669636552657175657374730001040630810c08010d08b420546865207365727669636520726571756573747320616c6f6e672077697468207468656972206f776e65722e782052657175657374204944202d3e2053657276696365205265717565737424496e7374616e63657300010406309d0c08010f085c2054686520536572766963657320496e7374616e636573582053657276696365204944202d3e2053657276696365305573657253657276696365730101040600a10c0400085c2055736572205365727669636520496e7374616e636573782055736572204163636f756e74204944202d3e2053657276696365204944204a6f6243616c6c7300010806067503a90c0801180858205468652053657276696365204a6f622043616c6c73882053657276696365204944202d3e2043616c6c204944202d3e204a6f622043616c6c284a6f62526573756c747300010806067503ad0c0801180874205468652053657276696365204a6f622043616c6c20526573756c7473a42053657276696365204944202d3e2043616c6c204944202d3e204a6f622043616c6c20526573756c7440556e6170706c696564536c61736865730001080606210ab10c08012c0cc420416c6c20756e6170706c69656420736c61736865732074686174206172652071756575656420666f72206c617465722e009020457261496e646578202d3e20496e646578202d3e20556e6170706c696564536c617368984d6173746572426c75657072696e74536572766963654d616e616765725265766973696f6e730100b50c04000cd420416c6c20746865204d617374657220426c75657072696e742053657276696365204d616e6167657273207265766973696f6e732e00a02057686572652074686520696e64657820697320746865207265766973696f6e206e756d6265722e404f70657261746f727350726f66696c650001040600b90c08011c005853746167696e67536572766963655061796d656e74730001040630c50c040014f420486f6c6473207468652073657276696365207061796d656e7420696e666f726d6174696f6e20666f722061207365727669636520726571756573742e3d01204f6e636520746865207365727669636520697320696e697469617465642c20746865207061796d656e74206973207472616e7366657272656420746f20746865204d42534d20616e6420746869736020696e666f726d6174696f6e2069732072656d6f7665642e0094205365727669636520526571757374204944202d3e2053657276696365205061796d656e7401a10601f501604050616c6c657445766d4163636f756e7491015009df6a941ee03b1e632904e382e10862fa9cc0e308e82050616c6c65744964207573656420666f72206465726976696e6720746865204163636f756e74496420616e642045564d20616464726573732e09012054686973206163636f756e7420726563656976657320736c6173686564206173736574732075706f6e20736c617368206576656e742070726f63657373696e672e244d61784669656c647310100001000004a0204d6178696d756d206e756d626572206f66206669656c647320696e2061206a6f622063616c6c2e344d61784669656c647353697a65101000040000049c204d6178696d756d2073697a65206f662061206669656c6420696e2061206a6f622063616c6c2e444d61784d657461646174614c656e67746810100004000004a8204d6178696d756d206c656e677468206f66206d6574616461746120737472696e67206c656e6774682e444d61784a6f6273506572536572766963651010000400000490204d6178696d756d206e756d626572206f66206a6f62732070657220736572766963652e584d61784f70657261746f72735065725365727669636510100004000004a4204d6178696d756d206e756d626572206f66204f70657261746f72732070657220736572766963652e4c4d61785065726d697474656443616c6c65727310100001000004c4204d6178696d756d206e756d626572206f66207065726d69747465642063616c6c6572732070657220736572766963652e584d617853657276696365735065724f70657261746f7210100004000004a4204d6178696d756d206e756d626572206f6620736572766963657320706572206f70657261746f722e604d6178426c75657072696e74735065724f70657261746f7210100004000004ac204d6178696d756d206e756d626572206f6620626c75657072696e747320706572206f70657261746f722e484d61785365727669636573506572557365721010000400000494204d6178696d756d206e756d626572206f662073657276696365732070657220757365722e504d617842696e6172696573506572476164676574101040000000049c204d6178696d756d206e756d626572206f662062696e617269657320706572206761646765742e4c4d6178536f75726365735065724761646765741010400000000498204d6178696d756d206e756d626572206f6620736f757263657320706572206761646765742e444d61784769744f776e65724c656e677468101000040000046820476974206f776e6572206d6178696d756d206c656e6774682e404d61784769745265706f4c656e677468101000040000047c20476974207265706f7369746f7279206d6178696d756d206c656e6774682e3c4d61784769745461674c656e67746810100004000004602047697420746167206d6178696d756d206c656e6774682e4c4d617842696e6172794e616d654c656e67746810100004000004702062696e617279206e616d65206d6178696d756d206c656e6774682e444d617849706673486173684c656e67746810102e000000046820495046532068617368206d6178696d756d206c656e6774682e684d6178436f6e7461696e657252656769737472794c656e677468101000040000048c20436f6e7461696e6572207265676973747279206d6178696d756d206c656e6774682e6c4d6178436f6e7461696e6572496d6167654e616d654c656e677468101000040000049420436f6e7461696e657220696d616765206e616d65206d6178696d756d206c656e6774682e684d6178436f6e7461696e6572496d6167655461674c656e677468101000040000049020436f6e7461696e657220696d61676520746167206d6178696d756d206c656e6774682e4c4d6178417373657473506572536572766963651010400000000498204d6178696d756d206e756d626572206f66206173736574732070657220736572766963652ea04d61784d6173746572426c75657072696e74536572766963654d616e6167657256657273696f6e731010ffffffff042101204d6178696d756d206e756d626572206f662076657273696f6e73206f66204d617374657220426c75657072696e742053657276696365204d616e6167657220616c6c6f7765642e48536c61736844656665724475726174696f6e101007000000100101204e756d626572206f662065726173207468617420736c6173686573206172652064656665727265642062792c20616674657220636f6d7075746174696f6e2e000d0120546869732073686f756c64206265206c657373207468616e2074686520626f6e64696e67206475726174696f6e2e2053657420746f203020696620736c617368657315012073686f756c64206265206170706c69656420696d6d6564696174656c792c20776974686f7574206f70706f7274756e69747920666f7220696e74657276656e74696f6e2e804d696e696d756d4e61746976655365637572697479526571756972656d656e745102040a04590120546865206d696e696d756d2070657263656e74616765206f66206e617469766520746f6b656e207374616b652074686174206f70657261746f7273206d757374206578706f736520666f7220736c617368696e672e01cd0c330c4c7374010c4c73744c40546f74616c56616c75654c6f636b65640100184000000000000000000000000000000000148c205468652073756d206f662066756e6473206163726f737320616c6c20706f6f6c732e0071012054686973206d69676874206265206c6f77657220627574206e6576657220686967686572207468616e207468652073756d206f662060746f74616c5f62616c616e636560206f6620616c6c205b60506f6f6c4d656d62657273605d590120626563617573652063616c6c696e672060706f6f6c5f77697468647261775f756e626f6e64656460206d696768742064656372656173652074686520746f74616c207374616b65206f662074686520706f6f6c277329012060626f6e6465645f6163636f756e746020776974686f75742061646a757374696e67207468652070616c6c65742d696e7465726e616c2060556e626f6e64696e67506f6f6c6027732e2c4d696e4a6f696e426f6e640100184000000000000000000000000000000000049c204d696e696d756d20616d6f756e7420746f20626f6e6420746f206a6f696e206120706f6f6c2e344d696e437265617465426f6e6401001840000000000000000000000000000000001ca0204d696e696d756d20626f6e6420726571756972656420746f20637265617465206120706f6f6c2e00650120546869732069732074686520616d6f756e74207468617420746865206465706f7369746f72206d7573742070757420617320746865697220696e697469616c207374616b6520696e2074686520706f6f6c2c20617320616e8820696e6469636174696f6e206f662022736b696e20696e207468652067616d65222e0069012054686973206973207468652076616c756520746861742077696c6c20616c7761797320657869737420696e20746865207374616b696e67206c6564676572206f662074686520706f6f6c20626f6e646564206163636f756e7480207768696c6520616c6c206f74686572206163636f756e7473206c656176652e204d6178506f6f6c730000100400086901204d6178696d756d206e756d626572206f66206e6f6d696e6174696f6e20706f6f6c7320746861742063616e2065786973742e20496620604e6f6e65602c207468656e20616e20756e626f756e646564206e756d626572206f664420706f6f6c732063616e2065786973742e4c476c6f62616c4d6178436f6d6d697373696f6e0000f404000c690120546865206d6178696d756d20636f6d6d697373696f6e20746861742063616e2062652063686172676564206279206120706f6f6c2e2055736564206f6e20636f6d6d697373696f6e207061796f75747320746f20626f756e64250120706f6f6c20636f6d6d697373696f6e73207468617420617265203e2060476c6f62616c4d6178436f6d6d697373696f6e602c206e65636573736172792069662061206675747572650d012060476c6f62616c4d6178436f6d6d697373696f6e60206973206c6f776572207468616e20736f6d652063757272656e7420706f6f6c20636f6d6d697373696f6e732e2c426f6e646564506f6f6c730001040510d50c040004682053746f7261676520666f7220626f6e64656420706f6f6c732e54436f756e746572466f72426f6e646564506f6f6c73010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61702c526577617264506f6f6c730001040510e90c04000875012052657761726420706f6f6c732e2054686973206973207768657265207468657265207265776172647320666f72206561636820706f6f6c20616363756d756c6174652e205768656e2061206d656d62657273207061796f7574206973590120636c61696d65642c207468652062616c616e636520636f6d6573206f757420666f207468652072657761726420706f6f6c2e204b657965642062792074686520626f6e64656420706f6f6c73206163636f756e742e54436f756e746572466f72526577617264506f6f6c73010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61703c537562506f6f6c7353746f726167650001040510ed0c04000819012047726f757073206f6620756e626f6e64696e6720706f6f6c732e20456163682067726f7570206f6620756e626f6e64696e6720706f6f6c732062656c6f6e677320746f2061290120626f6e64656420706f6f6c2c2068656e636520746865206e616d65207375622d706f6f6c732e204b657965642062792074686520626f6e64656420706f6f6c73206163636f756e742e64436f756e746572466f72537562506f6f6c7353746f72616765010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d6170204d657461646174610101040510050d0400045c204d6574616461746120666f722074686520706f6f6c2e48436f756e746572466f724d65746164617461010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d6170284c617374506f6f6c4964010010100000000004d0204576657220696e6372656173696e67206e756d626572206f6620616c6c20706f6f6c73206372656174656420736f206661722e40556e626f6e64696e674d656d626572730001040500090d04000c4c20556e626f6e64696e67206d656d626572732e00d02054574f582d4e4f54453a20534146452073696e636520604163636f756e7449646020697320612073656375726520686173682e68436f756e746572466f72556e626f6e64696e674d656d62657273010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61704c52657665727365506f6f6c49644c6f6f6b7570000104050010040010dc20412072657665727365206c6f6f6b75702066726f6d2074686520706f6f6c2773206163636f756e7420696420746f206974732069642e0055012054686973206973206f6e6c79207573656420666f7220736c617368696e672e20496e20616c6c206f7468657220696e7374616e6365732c2074686520706f6f6c20696420697320757365642c20616e6420746865c0206163636f756e7473206172652064657465726d696e6973746963616c6c7920646572697665642066726f6d2069742e74436f756e746572466f7252657665727365506f6f6c49644c6f6f6b7570010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617040436c61696d5065726d697373696f6e7301010405001d0d0400040101204d61702066726f6d206120706f6f6c206d656d626572206163636f756e7420746f207468656972206f7074656420636c61696d207065726d697373696f6e2e017107017102142050616c6c657449645d0a2070792f746e6c7374048420546865206e6f6d696e6174696f6e20706f6f6c27732070616c6c65742069642e484d6178506f696e7473546f42616c616e636508040a301d0120546865206d6178696d756d20706f6f6c20706f696e74732d746f2d62616c616e636520726174696f207468617420616e20606f70656e6020706f6f6c2063616e20686176652e005501205468697320697320696d706f7274616e7420696e20746865206576656e7420736c617368696e672074616b657320706c61636520616e642074686520706f6f6c277320706f696e74732d746f2d62616c616e63657c20726174696f206265636f6d65732064697370726f706f7274696f6e616c2e006501204d6f72656f7665722c20746869732072656c6174657320746f207468652060526577617264436f756e7465726020747970652061732077656c6c2c206173207468652061726974686d65746963206f7065726174696f6e7355012061726520612066756e6374696f6e206f66206e756d626572206f6620706f696e74732c20616e642062792073657474696e6720746869732076616c756520746f20652e672e2031302c20796f7520656e73757265650120746861742074686520746f74616c206e756d626572206f6620706f696e747320696e207468652073797374656d20617265206174206d6f73742031302074696d65732074686520746f74616c5f69737375616e6365206f669c2074686520636861696e2c20696e20746865206162736f6c75746520776f72736520636173652e00490120466f7220612076616c7565206f662031302c20746865207468726573686f6c6420776f756c64206265206120706f6f6c20706f696e74732d746f2d62616c616e636520726174696f206f662031303a312e310120537563682061207363656e6172696f20776f756c6420616c736f20626520746865206571756976616c656e74206f662074686520706f6f6c206265696e672039302520736c61736865642e304d6178556e626f6e64696e67101020000000043d0120546865206d6178696d756d206e756d626572206f662073696d756c74616e656f757320756e626f6e64696e67206368756e6b7320746861742063616e20657869737420706572206d656d6265722e344d61784e616d654c656e677468101032000000048c20546865206d6178696d756d206c656e677468206f66206120706f6f6c206e616d652e344d617849636f6e4c656e6774681010f4010000048c20546865206d6178696d756d206c656e677468206f66206120706f6f6c2069636f6e2e01210d341c52657761726473011c526577617264732c54546f74616c5265776172645661756c7453636f726501010402101840000000000000000000000000000000000c982053746f7265732074686520746f74616c2073636f726520666f722065616368207661756c7461012054686520646966666572656e6365206265747765656e207468697320616e6420746f74616c5f7265776172645f7661756c745f6465706f7369742069732074686174207468697320696e636c75646573206c6f636b6564ac206465706f73697473206d756c7469706c69656420627920746865206c6f636b206d756c7469706c6965725c546f74616c5265776172645661756c744465706f736974010104021018400000000000000000000000000000000004a02053746f7265732074686520746f74616c206465706f73697420666f722065616368207661756c744455736572536572766963655265776172640101080202290d18400000000000000000000000000000000004ac2053746f7265732074686520736572766963652072657761726420666f72206120676976656e20757365724455736572436c61696d65645265776172640001080202110a2d0d040004ac2053746f7265732074686520736572766963652072657761726420666f72206120676976656e2075736572305265776172645661756c74730001040210310d040004782053746f7261676520666f722074686520726577617264207661756c74735c41737365744c6f6f6b75705265776172645661756c747300010402f10110040004782053746f7261676520666f722074686520726577617264207661756c74734c526577617264436f6e66696753746f7261676500010402108d0204000425012053746f7261676520666f72207468652072657761726420636f6e66696775726174696f6e2c20776869636820696e636c75646573204150592c2063617020666f7220617373657473585265776172645661756c7473506f744163636f756e74000104021000040004782053746f7261676520666f722074686520726577617264207661756c747324417079426c6f636b730100302000000000000000000425012053746f7261676520666f72207468652072657761726420636f6e66696775726174696f6e2c20776869636820696e636c75646573204150592c2063617020666f72206173736574734044656361795374617274506572696f64010030200000000000000000045101204e756d626572206f6620626c6f636b73206166746572207768696368206465636179207374617274732028652e672e2c2034333230303020666f722033302064617973207769746820367320626c6f636b7329244465636179526174650100f41000000000042901205065722d626c6f636b206465636179207261746520696e20626173697320706f696e74732028312f3130303030292e20652e672e2c2031203d20302e3031252070657220626c6f636b0199070185020001350d351049736d70011049736d7030405374617465436f6d6d69746d656e747300010402a9021508040008590120486f6c64732061206d6170206f66207374617465206d616368696e65206865696768747320746f20746865697220766572696669656420737461746520636f6d6d69746d656e74732e205468657365207374617465510120636f6d6d69746d656e747320656e642075702068657265206166746572207468657920617265207375636365737366756c6c7920766572696669656420627920612060436f6e73656e737573436c69656e74603c436f6e73656e737573537461746573000104054838040004150120486f6c64732061206d6170206f6620636f6e73656e737573207374617465206964656e7469666965727320746f20746865697220636f6e73656e7375732073746174652e50436f6e73656e7375735374617465436c69656e740001040248480400045d012041206d617070696e67206f6620636f6e73656e737573207374617465206964656e74696669657220746f2069742773206173736f63696174656420636f6e73656e73757320636c69656e74206964656e7469666965723c556e626f6e64696e67506572696f6400010402483004000411012041206d617070696e67206f6620636f6e73656e737573207374617465206964656e7469666965727320746f20746865697220756e626f6e64696e6720706572696f64733c4368616c6c656e6765506572696f6400010402a10230040004e82041206d617070696e67206f66207374617465206d616368696e652049647320746f207468656972206368616c6c656e676520706572696f64735846726f7a656e436f6e73656e737573436c69656e7473010104024820040008e420486f6c64732061206d6170206f6620636f6e73656e73757320636c69656e74732066726f7a656e2064756520746f2062797a616e74696e6528206265686176696f7572604c617465737453746174654d616368696e6548656967687400010402a10230040004bc20546865206c61746573742076657269666965642068656967687420666f722061207374617465206d616368696e6564436f6e73656e737573436c69656e7455706461746554696d65000104054830040008190120486f6c6473207468652074696d657374616d70206174207768696368206120636f6e73656e73757320636c69656e742077617320726563656e746c7920757064617465642efc205573656420696e20656e737572696e6720746861742074686520636f6e66696775726564206368616c6c656e676520706572696f6420656c61707365732e5853746174654d616368696e6555706461746554696d6500010405a90230040008050120486f6c6473207468652074696d657374616d702061742077686963682061207374617465206d616368696e65206865696768742077617320757064617465642efc205573656420696e20656e737572696e6720746861742074686520636f6e66696775726564206368616c6c656e676520706572696f6420656c61707365732e24526573706f6e646564010104063420040008b020547261636b7320726571756573747320746861742068617665206265656e20726573706f6e64656420746f8820546865206b657920697320746865207265717565737420636f6d6d69746d656e74144e6f6e636501003020000000000000000004bc204c6174657374206e6f6e636520666f72206d657373616765732073656e742066726f6d207468697320636861696e344368696c6454726965526f6f74010034800000000000000000000000000000000000000000000000000000000000000000048020546865206368696c64207472696520726f6f74206f66206d65737361676573019d07019d020001390d372c49736d704772616e647061012c49736d704772616e6470610458537570706f7274656453746174654d616368696e657300010405a50230040004ec2052656769737465726564207374617465206d616368696e657320666f7220746865206772616e64706120636f6e73656e73757320636c69656e7401250801c1020000382c4879706572627269646765012c48797065726272696467650428486f7374506172616d730100cd02880000000000000000000000000000000000000000000000000000000000000000000004bc2054686520686f737420706172616d6574657273206f66207468652070616c6c65742d68797065726272696467652e0001c90200013d0d3930546f6b656e476174657761790130546f6b656e47617465776179143c537570706f72746564417373657473000104021834040008cc2041737365747320737570706f72746564206279207468697320696e7374616e6365206f6620746f6b656e2067617465776179e82041206d6170206f6620746865206c6f63616c20617373657420696420746f2074686520746f6b656e2067617465776179206173736574206964304e617469766541737365747301010402182004000498204173736574732074686174206f726967696e6174652066726f6d207468697320636861696e2c4c6f63616c417373657473000104063418040008cc2041737365747320737570706f72746564206279207468697320696e7374616e6365206f6620746f6b656e2067617465776179e82041206d6170206f662074686520746f6b656e206761746577617920617373657420696420746f20746865206c6f63616c20617373657420696428507265636973696f6e730001080202410d08040004dc2054686520646563696d616c732075736564206279207468652045564d20636f756e74657270617274206f66207468697320617373657454546f6b656e4761746577617941646472657373657300010402a50238040004bc2054686520746f6b656e2067617465776179206164726573736573206f6e20646966666572656e7420636861696e7301310801e1020420446563696d616c7308041204902054686520646563696d616c73206f6620746865206e61746976652063757272656e637901450d3a490d042448436865636b4e6f6e5a65726f53656e646572510d8440436865636b5370656356657273696f6e550d1038436865636b547856657273696f6e590d1030436865636b47656e657369735d0d3438436865636b4d6f7274616c697479610d3428436865636b4e6f6e6365690d842c436865636b5765696768746d0d84604368617267655472616e73616374696f6e5061796d656e74710d8444436865636b4d6574616461746148617368750d3d01810d","id":"1"} \ No newline at end of file From 808d61464c3b68d354bd90b66f3ca0bb992329da Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Sat, 1 Mar 2025 00:26:52 +0530 Subject: [PATCH 12/30] update subxt --- .../metadata/tangle-testnet-runtime.scale | Bin 429853 -> 422055 bytes tangle-subxt/src/tangle_testnet_runtime.rs | 33019 ++++++++-------- 2 files changed, 16654 insertions(+), 16365 deletions(-) diff --git a/tangle-subxt/metadata/tangle-testnet-runtime.scale b/tangle-subxt/metadata/tangle-testnet-runtime.scale index d967b9663e764132c5eaeed095d3a27dd3dc9cc3..75e95d23dd9d18ac66f823024cd74654b1c81217 100644 GIT binary patch delta 44763 zcmdSCe|%KM)jxh`?%ZU5#sm`B{DKW6Kp=qx5=Nq|sMF)Yaft4TIw6D3Nz zqS8v0N8>GyRH@R!Q>jwriMT~Yr7dl#Ql*tDRxD_Flqzak=_6Iz&wJ+H{guSlKHuk` z@9VY6y)*aBnKNg8pE>8uj_+pt;B`cZ8Pc~ZZqO;LYFzR>FvhU3nOoW+T7UHzrIWFYAvdT%o=}UgbT_ zELR_um`y&^D-sKdreB{pj#%~H#3JI6>B*K+Bu$@UDP!q`Jj4%e zWh3?5ETc)O{yj@EsnTDw6p?COvyLORdV#fwt{}W|p_ZlxteLc%@ZN=5s=mvbK{n|x zSjW-Lg!hY>&#jqct3J{;h8)mm*d~(0y4RLRj_Y^XrjgV73$}80j*zGLp_f>;o^BsS z&g*6NNo2j=Y%eC8_51C)!Q`4iYdceRP}0)wX=(9xHu?}TV@9=LXT_4PwoYHGcb0Og zQXl{qba>jD+dWJ1kmc;CtL03lEI)z91jM)v)x!l{xU^Mgl8mj3Bw?~)gFU)5~gRaGb7cHn>FoFe=$ zo1^P>Gl%PM&uJn**5}NfO`g+lpSwV>n(InRUhePoA}__FD9VfaCv!W<&v{5u zx0#V&a{Ee_-j`LghLD%}u_QW1-+lQQ@@n5NFTYZ|Q+=md0&v=E>b?^E!Wdg zeQzw!AmkIiz5wJVoOJ1hSN(&0+E=)uL?fT+tFL>55PfFjF7k36J}ocjgIsza+0-$>T#7Jt(X-exyR7KA9u7mAYbsY3KORxPC( z;UC>VN9yxDuTU%DU$j$KU*YOAn$1ZZ6-I;6FKZd0H>O(pW~@7}l9axpmTXGW`mSu7 zNYr%V;4f}vEOcJYoVf6W zU~63XSg<-SyyVvAxbUBET@w?2D&{>^Z@;b9RxS%rl&n=x?XP3l zdi(ZbQllr|an4x-Ff|#)wbc`%Kwr1{a^p2!|Hd3w+_cc=tr{DheTV#vA ze%tf%{}TPS`+MYDy7H7&Qc<>nOf^-qbi2OtL6<&hdkWd1S8h+w*hxrk^#)&Obw`K4 z1I^5}1hZgACsX$6?b}_+`_0euJ)NEwbXq-S`*8iS?bFCk{SVupBfIs7zH>F%qyNu$ za`B$^U~cvv!W?t`H;Jaam!NCnpCbQh6ew3dSU~n84P#5kZ2e`q2(sLy(6Cdzs9Lv{H7(nG88zhK8|{J&?%H}G}D zcSjG4vL`Z=FZgb@<&dba66LVo^4)TBME}q4mXTxnAHF*o?@145W*(JXn_e>0T>`Eh z6#u^}jrFh@8>)?;JD^Z!<&NAHy5Z`Ib7l z@AAigWI(6(Ie&DP3}{Y$?8(EF_7hHiuV(A-|JQV9l%I-nzHd_BWt3dt$G)$Q&^PU0 zLNuQ8Q*~0`Klbk;g!JtSVa%)Mb@OSeKH=H9;nx`lzQ$@ODdZE+vb?@$4y+ggsPEQi zF)XjZ5KH)5@3XAFPY)*0F#2&XGGe~#%MV>SfM%UN3Cr>h)KCGDXk& z*-o^J=YPiO1+z4rhjV6Jl=Y0>F}-x9LQ2{@d`;fQP7kK0&H$mLs7^#IGs22;QM7|9 z*?WlY`S~dQ+~FInXwC|?QpJjx`N>X7a_9TJEzQfYFj16rJ@oS{^Dt9bd}V02t_ELQ zXYq8VoF$m3il?Jnq}CWQIr_w3j3s&cmA@F9noo(tH@!r$Dz2rS9lo};Oexgse>pb8 zrleMNba=Wg%7A=I_2gfcraP46MZQ4ikY8sLfg%@U@r}Ryy1we?xw`AfMyxEi9m&Q2 zXO3i!2FkKI{tXoo@@FYYl7Oxzi~=e8r$;JCieCJyVvm!urDC>Cqr|n`+f=b^mV$S% z!AX^L8as(uQSt$k7+57Hv1~jvtCAxgHYHCy>`K0PI8a#6&&TpBPpN6HVoK)C@prW~ zdz(d0U1bICrO2&V(7|V)R)^`sUYcsNngnT7U-VMNlu9#L6+>SoP%}%RsHrNvQiQ9; zQ&DOJuC!V+O+!qYT3N}Sm#3oJeEa1IXh{cO&Pl4La#_)YHLar5>mR;6+1em5)ly}J zKs9=$iK;aQ)k;8MhVf9vBeV0GFuoWVugvcCqs7S1`s>`$aT)nU7GA2fiYKtGr~Hvw zETeDDua9Z8i}qdLH6m`gLArT=GMl8|`^GJ_hxX07Stt4A*i{?I7XjL@$Q-MTGI!s!&fDhpVB!Ok zDE5Fm(A9(;XkblOOG~%A%b?WV=?7?=_a+n1GMUF*e=BgcdfS4X%e|d`Q6QI*&mKw^ zN)WTa3uW%CE}k?4mgKJS1u!YMdfIvjX&=xh=la_Moek5bR-kTXv1J|JKs#c5t6RM8 zNHP*+r-m$5Q<%U`w=dwnQPSvM-HoC|(q1Jp@U{iI0&`n@;OyKEuc#VE7Bz)GG&adE zsGWsk(GUlY`dKvBA2j3K1|;f;vR~G;HT#-G1-U!dc{-721YsBqyB_yyFKVI5$aL8N z%e5Qg1qjVu#iFN+#UWd(b_uwq$uF;>cA{GG^!0tUB1N;DK)}6ccgxsz3u*h4{XRXQz!pZuI@5;5X)3q^e^RU z@XMIGY7kRR4h_xDl5pW9kB4H_geZqJ_CUDQL8I6Pk%LR^k}LlJBQCGl0tEJAbP#jy zLWpTvkW_x2#jdTzu;W?l1>cN#w*j8O9um7$GZg(A5RpQ>;|{hODFX}Z{DDrh5E46j zvT}futIW7?MVsH0L{=wKpvnx|&GzXG11VqwcnL`EXFnQGnw@4rKjmDM3Z zv;~=1nq!K!43aK%sR&gEF=GVdBNZEKm(+Ba#S+pnq%m0MZC)2!y!fO{5%}Wc6g%rQ z(V2xCfNxbWTFUsOL!xuA7E#DAA&!;QNeQ1@PM(3C)R8ReI5#qS4wxUYi6=p07Q+ZV zaD-CG!brl#fShc_Fg`mn(#qkirdd&Tn;9jqLxYGLsU4I)BRzo@PH* zuTm})oGP}pS9AqDt&lpJq9VwmmUgYiz7lf)Q-;b@RVFO+VgcIGipBfTAlMu38N`7> zQ)_S?7K|2b1%_BZK+tT=v&N8#ow8Wx?ZZ}iz?#MAY$dW`g*zpdmL$vUT>B~6@FkP8 zt)jT7sAv`zPx~Xw=imX8ZWng@ZJmKH>w=(r@Q@6tT8FpA)9vjjBU#4s9LNvGV;tB_ z6-O+lDsyy4`HgvJaMMT@GuxnONR1suqRHty%hG~Otllj1VrRXoX6zXlDKnarxh@MF z#(qLj8Vfm#ZCJL>8^6Q~xG`bM(FWo;g*`6e!|SgAy6BBwV^QD{*#yPP3$t0Lw*~vJ zxJBd=Z>#^t|0_ZWdwEDg^mn^bFuP+q57WRpjgIN|n(Iicr{qj+ta%TM*0q~LlI~b& zu83nK>4O)>j(H2w-|9Rap4LEQS?ut)G#{np)N%;Jd{|w1o1;J#70cXMH<`FaJl}|7jwW^c+YH{xCDCN8Lu8wu@AZDo*SW5_!*f#`mef~xTCq>< zbdkHiLeW{LD7ldWxUulO2}Il!MyKy9bOqTu0TYh%h-F%vca5*f=jrGs?2al7&5{mD ze;BOIE$7=cUTka+7wnFbE1BJH zQi>u;QuUNebAm^yWr()9$Y^bG&4Pu6wZui3WqC1Ej^RitGOWk6%5ckr3oosBq*YFyooJs}v4Jm(16QA||eI3>+PSoXC^;)yHVpx&qe+A9%xqjzpsM@LW`@rZ#y1jM`e9LaT7 zbSz*Ct7P|agB@*wHJIhR&1A@tpUs;W&DbrwWbA|zrrOv6%*3z~-2y1A9cy99d)aB^ zt`1|i$(j<$swLhgFQ{*J=(jd!1=$^6QhM3>jNBuIcM@~hi;Q$pPW($o*vz&W$BAH= z6<;zt4#fi}qL^i-}8295JQD;AhryNtIJHo+aKjQULe=SB}sx;fPVH ze~Tk`RtJ~NosQEMv#CV;?>t|i-P75$PE7TKS4wP%4XFxoh=I&(l2X2ap&+v6ZjRs- z)nrW2mBtzPYjwu*Ta1^TrtAXcX%a(;T)V_f_UKBK?_%rFn@4e_(0^dm_^vT|O3?2p%y3w@R|pA&LXXYb9S zn%cMUy}xT27X?zHD)?boDl1boywEbms_LuGT|=F!e(+qLc2MrRheR@gJwsY*nxPI9)tIgTDFWX*5UGpZRzu%~SRN`8c2K)pI_{!v9&H zTto9!{lQNvO7hjnAy%P^5g7jz`HvQ>3VtYRDUK*h@urF+c#Bf5_SyUQsI*e;d-~J+ zR9dC#mwz@1M<0hKsAKi*pS2mUxqSr}MiWxY$t}dCH~*~-uZONzGqfhus{!1X_IVMZ z)v9s))A&V_W0z}bcc9aYJqRq-$dZI7c+2* z`q9OXSZ$Sh{gc1n!d3u=rzDW;^rQbsXFV#}CsJ&iPe!r5;lR&`o9#0Z^LYfJBjzXm zGXlV);m{n4Z^y%sKcQqAJE@{+03&ZuNijRj4E+4RRiwKR4xyKf#(9q3|M%lz zrf6oa8!gDE%J}lR1^Lt(@3&Y1buJ9`H-xB`AgSrL0m^B-U$Bu(R+@k_PLXG)on*7> z1RN}iP`{nzu$lz2Px6v?I>T1k>RIHaXzsGMuDdMEsv+}}FsNk*xc}?R$Z%%jwP7LH;uVTi z@w|CxD=7`LF&0KL$6? zvXHFc=}(XvvXZ~>Bq=AY_y3rT4n6k-jQbW#tqARTrz4KoLCp#@YLcp=qm z9{fe|@QnLaV&(@RK>yq_mx;rY!;tK@+B{jF>H%U zw(yT$AanRLFOVX#gMaV>X+hM+LnP1kD0XXGRkoD$^2ZL5F@=vBTuYT~+7A9qSdK&N zd?E3Y{E3NDw({S-NNUwy)zBN{GY^qrWE;Qo5E(ggn^F$Cqgt}C8f@}+c%fnFL!Cn)sp==oM}{{2ge(?~_SjF! z8qsL+oEEy_7vvt5?o;*pndv<3CA7%>{MFx(R0~PH(bLl9Z4K4EBsyk)h`)@Xoc2@w zh09#z#~~;`uA(L|pZY3BM$`+CXJo6KhPY&|xPe>&~w|_!%=|Pp(|6ZNTKl}t;fgwDLGOhx$ZQ0mqVhH)M?>k9LY>bT0z%CyofQu7=NNPrkMVmG zXi?~|j5dTnSX_o8i#coF?P+u*GbB~$O)b@iY{`Zj8g9sdw`Rw)Fb7+qi7L14Si=?WFuLS z_q5^gXJ6=xQS@a|;YV`ld*nc9-xzw7kkcW6{eqywEEq?};Boyp`geL-mHMOn-tja! z>x|ejK(^J=CHmwU>=~9q;2#hz^b~(?JRMEX7z<^7emu&1JP#9v&rGA2;$6M>-lX=+!@r)isF0wr5x z0;Sty0@HURpojv1`wD*8WAxL0Rl!e5fCiW-551r&_$kcMPcN$Ya?yYTUljZjl?14X zX$-n*8GLd+wFkorM~dJ8butA%nL33bbqWG1Do>yhY@z8)!A}BY3xI3^fGh-n;1$h- zHmV7bF97ld0R9AkU?7DM4nK*Zl=TNyrBpy@283WMtz-&*5~50=s1g7P20*m{s9_3z z5};N9)Czz^13**&ZD0z15@3Y@SRnw!HVj0FN}(R6;0J(UKlKU-uYj-`5IzCX$`t%0 ziuD3uy#TNo09^v0n<@B7fF1$RBLM6Mz$O8(nJM^5fGq-GivVyK09yq>FH?H2F(I}I zh;0JGX+Ufj5IdkVZvyNT06PUhk^!(=0PKM(qzSNB0PGb2mly!pe@vn^OT%4|WSQz~ z;Rt0vi`B?FHAo@r6dEivDn&jAaS|xE^2Krc;iC8Wp{ zR4ra36u(GnI}U)npM;>U4V|IZ&|fCgQQ|qQnARqe&-kh``Y|~Ysw<}@DlxRWLqDjX zB@AQSTeIn1c&w|Ur$~LMW)4lj7#f1UpsHfXTUJAtVFel5vxv@R7;k|hJ7lYeIwHoc zCw@vZ`N*Yoc=&z(Qksf^?3$%?93HnV#Xxd`?_LVhPx6FH74(@y7LJ^5lgogq{=p;bQowg!kxF$T*wFbv|DKet5{`aY^uI{(Cp&4QDr6^%+tPW(ZkiJ=ji68 zi_lLKdrr9<{oAATCu*7&W7@#q-b2$-1E1|dAEfCTUu9((A?7sI=r2#xCsfzqkt4ao?>9Hp_S`l;3Avu7AJP9k4!Lpac^-=m zsg9f$TJ-|mO-Obq;Sk+OX|~3n{3*@g-~A~~HUqgiIT|T31o?~G4W&a;(CXRH*eVxu zfgFvW|0x|u@yz}i9Z&N#{sd)dp=*9dpCL3~<5fSW8TV@}$$TGYKGQ?D{ha>FWLQR` zcLPp53|3}_w)~3zkkCRcRQfWdR9cUW4PEnV*eqbwI`9fQSJaB+>0|Ug6>`kVo2T*2 zBZwD~Uu8H#$z=N4lXNUd z6@heq*Gbw+i#7hYlXL|w)%YW)u(~wFnEdG5^rr*kY^UhA2gbQh)8N3kly_*EG#?oo zYJG>krOEd(yybm*WMZinJM5JYwsjF^Cisd%-K%udtuXLjtJcbsvXgXrU5V7|lf@ybPdfMgAYEPgj|@E_EM8St0?pf5!l%i~l{5&=VQ z0XvVCp*NWdw6Re4NFUr zTn0*@I0W5x`CiJD_4tq=126{YLLgBFF2!OK0gDWjF?p_Fm4R}m^xz8&07Ra_BBpFY z&~5}l!)AmWMhHY~LC9%@K*d&sl8g|@=tbxfBLqUWA(U){K#8!pN-;tpWjnqNGeV$c z2SUS*P_y0Bgh0$bgwl-=h}n-& zh7kfW2N23MLLlZKLRm(rj1?${5X?4$V9jBKM#<1L5OV~f(MAZw9OaJTFtO_Q&Jnd%7nDmbZ* zl&^w~s!P5K9;)f`RWMM^kgo@4i}y_VE?B2#$ydQQHCw(4rm3Uk>rwGKTD~5`D_x-} z$1%xmSI4EE5aE-Wf}hwWtkjg#X1BO6P3_4)6E`HE)dsCZ&mtW-f0mbxQ1eZ}7VjRR z+KnM~1b=XZYD>RJ$ZT&@bHFoW#!}x}tO~k1z(Y(46xcStd+cpmboImj)Jh_}2Q`ux*K^8OuYXRUIoQU>zH3bF1mp zn7VR9kB?Dj5^KLGbhWCS=bwyKr^4K6Y_3{JF7ozC7;$IVoh6@4is)YD&_FSP9+71QiPGMb`!^ajwc=d}* z)idfuYeMXNx@GWux&<|dpEH5~Zl*eerX=uT73v1@oH9!t!M|6bX3(?*{(Ob%rg;hc zRE3(8Rh$56YE4~nX=(W~q1oY)ayzjL0;Ehfty0ZOI|3ud1}J$eBzLVR&?xP&j_`f6 z)#1aVpIk=b^aQ@>GH~h$|IbQwY*uyxsf$4!Z7>P|We%Ss2Uo;y4a1LNJs`@GEkTND zP6A&&OPwN~GRdA<>KIXmDYMlK{@yHg;{TGub(g7mG(UmgbD28BmJi_uElf}f%}mas z6q7(#7E~2GARU7!J%F7HbgLV0@OB3d!QxWtUxP2$p%qJN=81jq9Cb`)lr0tJND-E-6|TA9FqI7ht$nM|3hx&bAs_Ftv=-CXrZPw=9p z>M|hRyi{FlU~zG6nd-@35yu9k9>|6h1{+oinqB+{%hWvL;YXLL*_qx1GJ9#q)Y8)8 z@@Ss|v?n2%_byYj^cNmU;Zqyb;g?{zHcX6#5vAfaP_;CunaSH!k{eB|`1psvRmWqC z|KxGCc=7rKW4+at5M6Jr7uDc!xr&r7!A%6a<4VwzFsKAQ00db*{Icb0B@S_VmaCJ) zE6)qpt0`nNx8IZBIcJ4|Aua9^hwZ9AT2q|FRoIjV6rOosJZ5LFP&evR?Q53 zqgj1EvTR1oR*|vXqRP*1pZbW1!8$y0ls-gBYHv_KB$GDB@dv~Vtl=|84R1*>Y=%R( zwW^tyNTa(#{?bO(3Ddk28`T_XjF%Bg>ruajeFRL33qwc0u6~1%t)XSNs<(#Y=xu6? z`OY7@T}?y(Y`jOE5&H0U^=eGJGF|64)W^lS0ql!s;snM3;CHLP5XUiqe$F~^YaG=W zVg^!;ek5wOH-XpxmQCTE+tmW+HdKD%o%fj<;(UWL3#<@>Yk!c^%h_NzYAmMjCsb;eVN_Ocx4ou*$J*iHTj2RI=SmD|G zu&eThX75u|6EFtc^J}#rv?-)sZ%Ohc5=&PZRwq$(p}ZH>4{9I;2D>o}(7vb_o9 zZeILbbu4c`t|s9`C-@t+$l~&Jb*}Sw7$KWm7}l+Y{+1EuZNE{I4aib6fi(*|Ibm~U zLX7&YY7w6x?<9MXSsB!8dVi~qz@rWaaQXY=+6`zJ*lzY3qrm~$6h<60hnS-=ZQ)=7 z_xy?F@QtsbcOBvnzJ>*s$&I&PQxlE%@%+ButD||ran$7Cl7c$^?(fy9d0|87BQf}o zh_>dW%2Dw=n4lb!JRAEvHQyGQN)`T(w^TR3@pqVDPVm`(P;>bQzrzG~^8VLRMfE)U zb#%xEe%b5T!Jag}_q?uVWSmYQ1z+<7T1}N796=dI6M-{)-|K1_|Nh(RC_eh6n#hyh zP{;AVysb`6J8SX)!uW`^_pE{Q;Wv=mIsV)mY9_zz4{9F&;tk~6&qtk5r;+n~$q98l zEllLMoKVM&tVx8y5fotNdxer?N5x#}hoN6q3t(j#+;6Ix?1I@aQu)$1)e#IjC3lK; zlFB!|sirb(BDuo|?tN2r(Ue5~i#Jir7erl${^t~iBmLB`GF{HZAJg1P&B`M-j zoRXGk^z{62$@r{y(WX(VL|%AO9Y)g=dDTgEcvf~IsaR~N7q+c6ROryf+B~h^oJ8J! zQmvGbe?VLQ%}Lcqvyn^$R=usxrGS9%gG*g`LsOI|DYE6`Sc;}4D&Q89E@Z`ty_x>Q zchI7Y#z-5?xHazz@sDhv7)M0SjaX^coF`m!Sl_Ocgl6-xe^iTY9)WjdqT)3pZ~3F@ z9osv=1|0K)4{!tTsT ztBptg)6djb#EuomW@({EKUd!;q$|{WQQgVtmc$sjwh_psTN9Um z`sPS>9aXy$9sFLK=DI(FP0R02jNNMXVA31lB%%iuit6o=tuud99QfwJ;F}Hb%@SPQ zVrIpk%Vfr(ow_wHN*vp%y|Gc_zQQ@&w%7z*iodrf>O0;V$?LKhhE1$}M({hcm{-20 zg)nstHkgaM?o1>_V#8<}=%P>uBoobxIw1VVlzd6a6&^b+05yEer=D zIKx!9Jsq(3ZG+yAuX(b2nLy~{r*BS34+=9UjKVNTgM~p`H(Xma5U)vI93jF2+`R_Y zGX+uf$g3Mh8#j9060`W=UnB6qoB?D+au*;Q+WeicXn@InJBarAy8`f$&~ESW3y%rj z=E=(Ya8pAj2B8)oW+Mz*ypxp|3*D>2m{!e*M=Uh(CF|WF4!H|lla)g0s3G8P_CZMw z7A~D(O5EU<(9B;AkAlsH1)0}v)(jNwHN6@ELb3{=5Ff1f(@K^dpE#*N#KppYZy^Zb_@PyX&Z!Gj-T^F zAxC*C%35&tnpHy;V%18d?|{3R$;unTQ$zr8)q;)Ec5n#)4@eNtz^e>T7%>c#C1Pz6 z``B~~sWU7X2QW}g&L*{f)T1zzM1k8@Lw8XW4o%kQZPC2^4wJFgjqcgFmlfxSW?OmEl|MT;=J1T|u`;W^{!!XO5Bx;s(XooL#a8(E@ivP_2HfG9Uon>cVt zjIkUKgJ3Y6-{I+Mt`p-1jv=rdiiX2LLX@g=;=__2{JqRPpSU$jDGB!9*G;}ocM)Aa`(AsWlH4FEX&D}Ae%E3XLF-r%Vd*Kuy z2&IgnJ@p9XE5V0YY=;J68`MYzqhVL&fxFe#!?F=eu7uli7;Bi#!J+wlIG(@AWdIgS zv@aboS0<5~RAM{Q@kCN0DmzR7Dq2yFh-y5Vs2oiU8ZFkW$1qZu`zMPk#W`UjiLYG6 z0ml`v0Zt?n@M7jEa2|^%IrgjK{?Zl^9NG@`U$%&3A;j09rY_26_8}B4-p>Q{mHcg; zSW?H-A&GB1!I;*g92aakk*J)AFG^%sin8S-cy6?LW3zA zE{OJ$+zwU`WVGn6297T$K9=^=@wvnifwt~g>+Kv^XD%%Eg77DF2E(;r;Zoy#WVui( z$NKh+;KtcR!oz~>x8WYP26Yq1a|_80vo>&E7CmT; zg)v>^%TN)cn*RwEID9)V7Jzol7dm^gaJkt;zZDNq7?RelaEc0 zXyw=<$aZbEb2Mf+QWg6K=`;kpL(%BNUT(zhK{bFg)`nl3QVZ!OVLu$^7EXE* zsA+}IlW*H=7;k~e@1uh|*yQLr` z2&u&iBIR8-`8&X5cw7o|R)`TqZA4iMY_V3>*tj=$!C5ApKX~C~Gz=OpXdSwuQPgPF z!K!!_RHLwAhxh;_1+hQJW*+hrh~I>44uUty25h^9&J%hzTq_z~3ZG;l>r8Qp;NKwj zt+bGZ3y=!cDtTr|F5r=UXr2Xyi^+eNY5#{j3w|Z0g#|>CGte_adxGyOc<*!>tXOX$ zEp_2oqr`>>9kazS_NWmnDPWMVHV~HyduFq8DpBKWdNrf82V}~cPV9Y%qLa_{TMf91# zj2W?QI~F@uR7SrF7l`CW>bc%R)_uuHCL|?zBEUaLLNugK1z%V3 zR8f>#-g_-Gd~65n<7(8bPzx%wK~$*tM^{)B{A7hfFLW>)B3u}1OcAwc^hjTGWCb(< zBfsH=HW=_&$U`w+4PzHE1#kyzIv<96L%}2Xpq1+pg9HCo(g|YiB;8sBycY7DndPKG zJA?waxN;$XP~Na?7hFq&%P#35{cw!2mREiX`Ygt$R!DaQUSWOZGdTyXmsY_{gxCMm zK2b4XjEe0MmMAY{$Bqd`BOZs*F7U6KahHXk7|&X8iYeQ`B`a8B64VhR^!8XncTZq5 z$?#1UQXsphsFAJ!oP%5VoB6ETzFC$CD#=?c9H5!JdLmR}wp#c@6Pb(lTKLlw*(?$M z>qItRglA1+Pdc`VR1TrYyxqe8Hi_LpcUbt^0ydBCwD7$JY;4v}tli97F?|z-y96LU zEMO&MXSChY-Imb7X{Pl95gW=iotl$gzuWk+^MB%cre9?B|U&5 zk3BQl1nVJz>7Ye9Y+yQKVmcm!>4-(#JXGX5Y8i;+C{Wcj%Pk1(6)lD;)B_dFO^;dl zGZidHJjK;2{Cow=v>q3E9kD1UjJ!^od7X>N>!g|2=|Op&j?L?|nb+%;ET5gR;BF*w z2Nlnp#YWPz7G5%o<*8>Zv6f@E%wl83C-|(dw4D=#oU|zY7I@Fd2$9R!Why;y;dAD& zsp zl^QGjMWpkYI67qfNLW5C|Gm`#Kt*}=tZQu==I8_b3X6F1jD^05v( zly&er`V=R1tZ;&@$Xzi-UN6g+{9~m{6d0jyBhx3Bu-O9n zpO>%|BQ{B({pwT7X8Bfh8rD75kY_2|sL`zkc0Oo)?zQsV6|60z8ir?b-yin#h}jVf zjqX4-e|!ZSPq$g+WnrO@SFoLwZa2`4ItD)?qOI(RA$EtL@fb|gt^CxrET8VShH$mm zBx>6uKJ2wBd#!wSBilgt$!8`%-pIy5DdmesR!;X@<=tbU6|0z=(F0cD*WoI9(8`ZD zv!bF?q@=n}89S z4qGwEO79OHfumObhL>gM48aNoaH6pm9kD7$47Axp7+D_`B?Ra(17yN+vo24>u;;kM zbP88moe!VT%3RAXg(r-qYuOZfTE>c7)-0jEwJe#@Ggf~11~w;Suz9RB zceoMO%Q-D96KZ;uEnwPNE9WiXKc1&wW|t-%jVb;)D^F}?lh_d}6wMl&VV1eL6;o%w zm2YchGqcc}5^e6Mr?dT8=I9D z2N`=G7S(M0VjHWcRvWMLv)nSPEp{_-1#W^`PLk2MoWjY1_(xN03Vxsj_|rs0x=l&9 z@yGpaUE-^xS+rliX%|c7Q`(smO{%h;jmydwfH^h=KT(EcB~QM5>QeG;JlM`|O9N-* zsZ!W_9m}jj`6-=GS)U);tf;2G+_4L&cSXfNqlWz!06>uuqi?D*s@Y(%Kz4)!{< zvTT^}5#+1C$vEw{@z1}>3f1m#Y}K9YB<-=m@ZBAny@ib>bd!yHzr`M*n{7PtF6N;!)Hr{(L%iuTN%~pu%{Wo{Bv22@-oZ^4#MfC8k znBTV1D4pxVktxORZmiugx&+7$dm-Mf_C_$sWB z-`L8=&^_SIR;(%a+xU-|mXiWLYFd@>I{*g+S^Pas8)jHp=PP?{u?vS!2dx`$B_Eaz`)s;*<2aGOB#Pb3?xF`| zt_uYhet$1}jvkaBGk9Mw8$l1*_)B02J#6EbShZ>qmV8@yAKVTfjxuQRA)CRWBSUcL z$bf#9jDB{=hK_bruuS};$7~9If@Sz{+!nJu3zh54kw{P2LJPjb4r=O&n2*mx13A*1 zXPq`lIBSbe{)mgYxA2T@5MRz9S1{&`jo0p!)AEL$Y*glXEjQu`7++Hf1kc^8z1YZC z@_jqm^lZ%AQlhGmGUJP(bmMC()v)4x@H8DeL2ii+`4(*b%sUB8BR`lKic+7pDd%i_ z@%ON<>9>WR`X0N9(DOE4xQo@3*LZLj=BEob{>&~mb>q$_>RHYatE%visc%-Vhz-R6p-MH)h>Kb&7n@aT*`;G z{wF(4X^Ne?}jo!{~d`&tSN4x+||&`{aR-+hMVE!>(Q^x+L@xFN3>>%tcQ+Q4Qz zwkDWx7x~vBYJ!Mr#Ko!p)-86DI!C;~5uV8LAW^p1dEK)tb?jC{t=I`B{a>!^L~XUmG0mReuc^Zg53~; z-2N*zoFb99Ig>y6E0!^lIAS}t<`^{G;@&~gT;cBq7H4^a7%Lz15`Fyoq6UIhvr{GDH8dr|A)6|Z2`xx&GFUtu>>uY)^ZWot*Sheo2AnZHA< zq=c+5&tdTQ`>#Tzmv07+zsg4D6guJ;{rv>1kzxl{Bh}!GQf!u_;uv--AjH8B;S`+* zk3mLM>fpPMvDp(#?%<) zl@3V=t#K&$q1*He>QH!D(e);(h8R@!lH`@B-Y0&`s%;GdOT9w@pQ@HX-fO1t#H3hh z7BcV}o5QvxD5?CC51C7!IT;(|msv6}eefC^&w3N!DQnf;Y8HR$cWk`PBM`52C}6y# z#b;t}jlt}bn2Y#{4cm?52bpVb;3{RCk4qD9&z%ARV@vV{i@bxhK4)iF3ZKdf84?Ev1#c%J5h7+ z^-LR+dBP!_aNz>WfH#Pa*sztN$UnXi(BHP1r(Jwi)-(hSI&pV9mA;OYLGFi7(n@jOU zR;1WPU)gVVkqeH&+vp47CW>om#LY5dlh`kY<%{Sg@*gEm1wXM##0Sl3>^-bbk>zaa zbn;_1ZGm`3GF-gV+!CfZ2WOb#jGqWZhS;{_>R{pjQv9RoP6a=aAwFa~4J$GJqFrmH zIZk=UZ3rToZza$?XXyAa?RyL_GMbNjgr)FZBek2e^CbeMpD2a$t;nSm3*3k(b;3l; z6hp6cX}*MDxid~_EppkFxbzVH77eVd#xP$p^|wG=of#8nFcmhmy3*e{AI|DCq z6E74u3_Vd?;Dp<6gx$m%0n!=0g*4_OQ?%^)a9QPT#_7Z#tJ~zAJciN^6bb}c;$AOk zhe#C=p-Uq4cOvS2<~^m8TN=V9D|OOh#n4kQ5v%N0xF2q5ZW|x$G%vauWa82?H*DTA z1OgU85J`{o)i`UI$en=39d(t?A@3F&W_ZgOT;K8Vh|PuUMQi%$`{ogLGT$h*eU5U8Qy8CW=Q=V zp@gw&t{?lrP0Et4PSLB9oetOO!W zR12qQHorvLX0W*oP&I8(kAUgk%_vd=+l6Bjd4-tUP);!n@FL8F3PBjSsG;qKHvdg+ zGFM#KSz?CWGNJ^S<;&um;0p!UaPC^%29rFYODf9i5v*-=Be}N&#znBoGZ-M_+2gXT z<{dZUE3}+CyzmJH>qntv6?42tO^*E^M3CqF$(tD*Js zna-<6Ym;b$8Mte-HlD6914l<|W9UjJ?;ovQX7@OW0|I17T%G!>G&Qu?tv!@Xy(VZv zu{KILVsOJ0OI~q{lYH}2ZL#K7Tb<@n=3NM-4wCRI>z(|CVy)8ALlBR-+DE$XP8_zr7A1hvrXCa zt*n~t0IX&44NSQe=oQpa2Nqif@D3-xwL;6`pOt9i=uRhhmufj#yPagA*(76}MG4%1 zklYRj}7dc?`w%d`^P5dpKqp&WJcAC+nO^q7;MDAPt~MTHNB`BEgT9Cvcp za&_F46LF-Rj3wpdAW}{``IMPj7T;X1C1XQ%f4P>MdD=;`8X(kI;DH0Hf}7;^ON~Cr z_|7=_j+t6!a-2*_IqkfEhL*iBLI}zALSQK^QX_H7nYeawc5u5m3(`<`XPw+T1GNlc z{VOxH%)}O<-G#stGqh1=qmG%J5%mbP>Vor(M;KH@U1 z0z1g1mx;zD0jv3omuZRf^R48nIiA(t>UMwAy72Tb=Up5x#?f0mnBHQ8-r^+goUP5I zrAhqq*%)8SlQ^l;#_;=QW6fJB12wcNi7%?siYHdZA*~*awAw&gZ6Y~Rr8U!UxhRe04OL$=1ZRfAffhAM}kVdQc4%F~o zv=BKM-x00gy+#vR5l4Xl9N_7}gj)$hDBeBd=}l6+Nv72w%zz;POsy6VILKSH6y|Ud zMMh(Z3wKbyBocS)uK5Av3^c4+?(Oso2U4v`Wav+5QL*NPgX{}~umX-V)?zT98(?au zDzV0GOc`i$$CMb`!$Fpcn)1&sNEhaC7<3H7JM(^V_>%p1FGGjN*=EB$P%5P_Gt5;@ zd_!IcZc*fo$&a z4P(@{cO@zKVf^wY^-`rfNi6-+`L%PkB*z1hYyZkse&bvXr$11nn~Q0Fw}rnn zSF3QkP0ghMtj?kFHxFyuVk^IUo;HzIS^1CWX@#`L%HNv@5yKWMcU5as*fuNqLa$F4 z&abQ1%AwA~w<8vsI{M=Yqxk#PS|K}a#oZ4*%`BH!&eyVqzQncjfvDQX@0zborXCxA zc0Q7YbB8D<4|_}R+`4k7hv{5!dYS))y3hwWq+ zpRxdK`fiPuMRB(AT#YuB_S^XfpZ1ks3mUZI>gLQYZh# z<=WVwd8uBxleCzAT#ehR<*uV5_HwVRS za+Rw{o^lztUk0oyU$#v9NlH5OB9&Db1#gvq>`~r(J;ZCX8z832QTfpZ?K)^`<}f~G zxi-f7ER)lzvXEcBTzlD)^xQpfT>g&jO+Myp+NE$Kd-d0}bF^Fy)m)`j6WnhZx_5>4 z5V2LMWTQg5EULomt^xAJ*JuT_+roRU(f&kxEc{1J+Bmk^vc#nJ-4-o$^m^?IM)z2FhF`lt4_J6wyY>Tm*utN0 z2mTXK_HEb3vwD@>8ydMD3l@roKfX(wC1hx8yR@;E3l(Z(iy=dXbyR|}0 z>gvr}5AlUI-3%=cTq^d{joNeg8rsyOeTPu1m1hUFt7wXq-xSn#kxHI*t9Bj^m4lV+)CtG z{=v*}2sD6*fTPt)a@9Ztg9a<0=&&NG4}6eS3L`V(l!w3!skkl~@#3mvg&5K#+oTDV zG&a{%V{MyznibP%9&NaZZEeGCY@&_1$-3qy8ohFG5{M}yBt>~0%?-A>Hjl(#2j|eed>yXp$6}|R= z1Nt_%h{eWR_oAe{$6?gnCy4Rg4x{mYd|=0o)(6D(Ohx$ok@2t;L!^djgj+xv60!2I(k(uXUKhz317;HoxPfeT?T9@ z;iOBE-AFnh))2-cqwa^|R>t0uPacA+1n%H#hfx0~9LCoU!(QyD@!wC1Gn}7t7{f=! z5aVYYM)OYu*4l5$Km1he%SJTP*Ndym{Yvv)adG{=>L~wn)VTX8v7hW)wrr3E$3%@{ z=iPNoj35Nf=4ZtVJaH75`0%kY@E_s;1C!1ueqDGNW3uNoTJ9QoNfq0ail*=!OOCVzxUBqOu#3|b@ib@B9 zxe8`um=K=7h;g^lDL=X>z6n;I-25T>YL!#EE{T4=1`M`K;;zK?PR*wM#=Y)=%OYJq zcS$(pDtuCDIHdowD1!jyz;f?8A__Q}*y z3{fAQ~$(XhmweU{hIAtP`Lf1~X`xosT%>e@>;v{0tJxBA>R1fzb5r zEUICPxDP;?zo~!=;AzMS_*VW|(?^ zkV9WqG@@5>C}>Z2osea@v=)ZHFPG+^WgN?;LKQ~0N{;5zU6`YdUDHtr#S;3z8MIni zdG$tOoK}mRX8T-|b!U=Zh)Vc>gB415>N(JAZUek-JJ@)iIZRqJ#n%ZgP_3 zlqIx*&q$KnmQY>-Vj5py#hYZ$UP#LSbP089u3D#i^|lZuzb3zYax+bn8_Q_{?@Ti8 zDyKVHVpmck_`t{9a?OWYx?HfF<^s;EUru+}yOXZSbIYll_aw>s3aZE6mVCZ~D)>;6 zbgUqc)@cW-x_$-Sicf%3A74S6(aiy&>MLot^Qk1wmh_stthxC+cfUAWo>)n%IDpb? zJZKcaH48lSyUZbCW30Z^nsO>`Z;2Rlz{swonF;6tOIK4ZyhdYiH8R9TA4kt-90;Y^ znStG*Gxy5r8|VQJxK4FwE_9inMu%k0CUk3uZnSTrcbJx=Yc^S#LCaIy6IeS>i|^o1 z-bRSeGebB0-=I1~4bo+M9encBb%fI;&Ux6ptfw+wpvzTWnkjeJQ?~swOR>KFqMoL* ze&elrYD0J+xn?u1b3B;9c5^g0T^`;{*_Ln1Ob<7|)bv5dl?$+22mgwv!%a%8VQvo& zM3_gQy=~@Uf3;YODFHx*2&)=XQw$JBpu-KR2`|XCKNWM0<6Ys>IY0xnD9-?v$boawjInCg?dSx8f{Sux(h|MyxdT-1SE@t`tjm_ z5pycQSDnOe4TaH^Ehx)3|1-DRBv&AyzcttiL`I>wNJgcL`iO#rlWW)QZ}zr9PGSD0 z_>xb|=s{({L~(Ua!;p80&+0_0M(Ran_aBwXS=QbVBt~IARYkJO zZAy8X8l4^Hev*vS*a_HazPv%*f{a1{FE{bYEm0^x z$R0^xk6?IRq~BzlTN!L=TZxb+zBVt5|DtVL7Zpm0H<>v|K@JFg?E|QFMIq}r$&(s1 zc=QA%l8AygT1j6uTCmxP>;zaR#kRR|`w=YuiI z8CEZ}-=NQk;UcQzYA(Iz#qDLxx3OUqc8NY|4+G&2lrTu-Fnd}_thgq^YfdYf2k zs)hZ+0%mm3@aDP zTgycA)AmJk5jMM9ObcUjlbE|osR+c1K!urC7vb+IK`gJPK1wXJYM4_+nOMNQ*s*R@ zBb>=H9ka9crfIhrVBe|65fk_JyWypxg&_Q;zXK*UWqQViKdR&HR2GgZv#3G;09Vtc z)gWRy^g|B9?e(EQV!%;SB;%sC7?xl%R*=Zfam^iN6(oW;chAJkMOsrtK%pTbS;H#y z#bKLPWv{TmCo1(>o@HD84Nd6CxA{A^tuuqmSLwZ_=GAr3c-er42`a-HJ*C*ZR=quP zWxbw~Z(dpHM`sBHYxF|vi7KcSgSHUrs?`hgqNz9d{d(_Q^V>#0DHkT7%c=&-n%AQD zE;p}7`C=Y#aBI81gmvkjlw~-Cn3N44MCHLY+b-{GpqqI&xK9mKqV3N0-ADmfx1ORn zY6o>7#8(>W6aK7jjBTZ9OuNiZ>PFf(=@tei_bFX_%)M5A(L`CYr-@W>orjvJ3^epN zoAAVd%xk7~h$Usk8^K~mD`4`iCd!rvn(5{R0}PD+0f-mkRmB!MIc$YjGGWqTXh2vY z2%~|65Ui)W)IQa@h%B%e-;cCVM(K!tTDN7I{1X2xQ~2^9kZQ(=enGbtS}i1`4jD8w z*~WDFMhng7S9IxWr4s(RE-PCJv~S>3tu#gJ(+{}h!>#mnE+C-aN-yDxBU!$%jg~O4 z!P=;wX*dF*%X{1DrgS|yF|@r$&ok4mgEsBf!qjBrY&$LGut{zR%h?MF#zP^Rj$o$A z@|jM$p948udpj-0Hevtmv@H3$WbH+a){1PRWUPnwW8dI^Z>Owlu1ij2Z1SB&-=a;| z2JHD!l(7pagWoI1(_Ww#jXV!hl3}v&9O;tuUa`mA=u@GDb@ z3ljp?Rx!d3{Ei5jHRdo|MbQ!iJ`aQ{F*=w{)69Pmh6?-PT{d91B7T)&mS~a!qUG?J z;A(imH_=K-= zaAR+3wmkQV)~d6-)L2?Si%%=!>PH+|Og)(6t(E8a(lzRJYO5ljpbZ{dke*<}3EIyh z7E!;AK0WS+K`TfJq{n_TAE)Xp{4=OwwzfV-(+tDcL?;?az|?BB4lB{f5B@@`P{BjV z+B*YEt1UtibeFBJ1b5UAbtRwq(})$I;U4UQtXoSE+I&rLhmi5LtCv;StLK Cxab)G delta 28967 zcmeIbeRvc_wlLmRUDeYw(*p^agqeIm0!c_9fe9p#Kmr5^5+Oi8}!?>^7( zzt?9>*Qq*Hb?VgDsdG*hPn~n`-V<&q_0@O><~Z6cUy4IpFmldc<*oJ!$mv_-E2~+A zNREJ9HRTolqUz&nFd2t-s5xZUfQ0$wMI#wDZ zzJs1%-<(BmwO;a|kJaBw)6qBTzocYjRiiEO$e~_m@t|OJoh1#0s=u|22h8)9bQGly zkuy++dZV0za@2ce56V?vlH*an`WFZnsv*`CRIlb($Dqw>tu-EPQ6I5-P?LJnIt(3A zzp;))C)5aA96F_9AWssEU86MBQ48bc!0>z6C-rRi%4 zdaM0><_3h`VJYKDth!}#G zOK1EQ=|MO8ynXe|NGyMWmg%F5HGF|X90HPS%KJpAug~&|pUKQwt|8Iw>xm%dZ=a=n6I0mtbV&Ybv6=QH5Vn=)=-ku25 z5c#qoKqfu$fr?Zp=2%7C$P`3e^D1ims0Tpn$`!Ft4sU9ZPht_;ITEuec*R%Rs_H= z1caUH{55&DEWH_?AR$|QYE2x@L9F}^60Ux+<}^&@SJtMWJoTHk7nM9f6N8`yvXHM{ zSeJqUR*9f}QmbyhsfnM4Yv;+xDRJ49NE=26L{eZW0eKPW@jq4vqJ~i?7 z`yqVj_L(6*K*xS0z>g2-QY4hB!FP-wR0-q2T+#%jl&>wTWNkA@2&z>}@9+dw0=DE5 zYI){5B-E*`cPtnXm_?{>chvu#q6W3|u3J$<`=Yx?A^E7!YQ#|~&lC}>v7c#l4p zn$64K*srgj&@P?vI7=Pxr@0wIZTSFJH@tTpJRI0DlDi55-Vm)&oiCFystVH$IR(u5Zm) zaL%h)<*On>D?&4%jLZ?$HQpM3QBrhuP1R&x^%2B2Hj_}*y3L7>szbI-g0|kYZ9e>c zcH1)et28Z#zvWH8g4FMuh7RgwQO`CuVtbVJIPbGm;RIrHCDEn&wnw9r>aVt^qtoiE z+ebtAtL+gH9XkKUr%sAa1^#t#{t;-3M>vg)1!J=6#Agtze2_$|HR^bDR()12$7c~s z2^FK%j2&U@wl`<)M75K*Vv@lL2(|HyJ9)ZY1s1DTPoJ>_~RS#|Gq zswei`WkPk2nxXc@$Mze@&i0Ef7tmEBsr~cEk7L{kEqhpuV!u2tQuXAMDFH}=(1lpg zaai!;pNhrkiaLAWDr99B?-EC~f4c7pglPMwXA=?1WkI(grz-EC-W?2Yy@BLml+2P} zB5~~xwJx~^Qv0&~3o$Bef1xcNcb6)?K#&<$#~+*tOj;b;UYpxZOV9<8qQoJCQh}zG#n+WqhA{COvXs@k53h>f@@(-mA`By z5mMBYmxqVj1ZQ?tmA6h7uBsO zzL{r9K%V^G{+;<+GR&Kr*Aiej?S3t0U;);Jf+7%%1)%^NOTgb>3$ZTYh2~?Ske52t zYnECWP^uR&U|;cJ!Kc^kH*rb>aQwYBzkD-_4QQh(G z8rZQK|1?S+|EI-z=w2N=Odb7RGTNoy@?NP4fA-!TAiETvKBUfl-=!wM9|PF)-k%O} z>icsCHDi=y$TOL>cl{o#N9h+xBFUrobDar;MK{Y=9T^Sno} z06*x}^mO4Uk4P7eWA)qbZpJ6DI=?dxKJ2m2K?;1JGc@BQ78K+vE3Yc`mYl?hED}&s zd4;bE_O|k}o~YPTZ&|Uoro5`oz!6Sj^=xN8?!c<&`$+zo`+Y=M2h3BG2{-usD_7M3 zA0TPN_p$giR`-6Nh|gg4o$uZ7=^;RM{V)!n#cJLUlkhpL-upx1kT!%;7u1&3_)C4p zG9#c^e`!U@(lT$UuTAav;bwdutD`Sxrk=+=`}qY7(;of^`X77|3-ALTT*5)ZB?yVK zzDRcB_C1&PiMR{5=l--^#8;plzrewVbv%ZLHz%PoGkEY76wO!lCJ%D49}vXrVK>`= z5jAnNr(rpUCR2AIk6zdSt5q4kzDje2xv`vaOE4%7w8_a&8=yu{3jY4l_A4|wh zvP9Ho)KOqTLr7^4_$LdBCY540K?`L7xAdmUfZW&v=361Pxd*w!ipG)MBD!LfTx>%r zWHafmsM7{{5BGr8b~F?pB|9Z_EBlunMdK4Zyp&ZdD3+Wg=!8+o4+@II9Xx3nyVHT< z$Z3K)j3jXYN+6d=H>q0(pcvd`6sQaYwqEI}Yb$_kyB&(K1wl;?s@HmN5FoYEZu+dj zK+tg`>7HOfJ86XFK`4TBQq*G9diNj{1%1*o2yG-*$;f;wyE_EM6NiM(7)Vwp8i7Jt ziW99T*%I2v`|4Ka2t^}Eu7u7TNIODN67sU6p@5WP=`R1_FceOfSh}eS9gLh zQcxwUgu!QVdW%c_Wya{!BHUR2OqtPqKz#go9 z9fK^m8yFCaM)v@V;!&fC=3@UIffQq`M?-N53Fy7F#L5IhxX#f zC8OD9^#QTZdywCZbz7>-YpaTUCe;IrVK()Yc}FVRZsNImYjbHc($SIrRJgPW6H!=q z`gw8V_VwYiHF8Cj&$r%8b7^=ATFtBR z&Oo!Z!&A{+J)B!O9f4$9sX@w`?nw6aO!Ve8Di8lpD|9pHWyJ!gwS+|zC$bkQiPpBv zLKnL^!ycG}ti4QoaSlqmMv_Y#32K*at_5quqd@FkKTJdNZ zTE!RO+q}pN>*rfuG&{J@F$K;$j{i4N(Epn#|8JtKLO59DI$jrh!-X7d?sC|*%oTQY zF_K`y-nSh2O?k%6dRJXHGtyaFF{pU@X1Q3526kuB!d9S_qPgg>J$_V)ay2+W=XWEp z+gHP)RLM54M%!U8bd{hX08J=C4?^Ydl%S6g4i(v{ATpR8D+8&?%{t3aE{bAP%25WK zxu@14C;MhCvTF~PgGkjUAyoTE1^N?0DcUPlsGg@~)*#QY7*WnGMscD5yL|bI6~3}! zUll00AyPm=)g|RMiR}Iw6qXPpBG)XR7gFIkUF|C>FDqWUN{0hdgcwnM2ZyqAHE0it zV;gJH1eC}Q)uMPH?$cV710ptyUxUVh(i0M$Y-j|L*_t(IC`w~fB1zPc3=w&smA#`SsRo(0U8%m!<({ zZlfrhJ$olwh;rC3ccQ`Y8N315mdo-tK&gf7j~h@4KsPp^INNh%G0GFkLX^*b-GGKA zKWA{nxx!ynU9$vuk+3)^dSN0MPYhlJLp=Wk#VND2BbSCiHcJwoaedyH((F@)4q;VIN z*`V#(g>ILOIG2|E7}{k@G;R$@`~{lq?~U%tCeShyBnU^(+R|-T*BDK>_L8>_&MHsC<6cAyOY`P?;@T2l6D#=x z@@VfKLj`7HxW&+48S6^`rUsZd1Mjpq-a?BIYGP4uqx*5Q$Spd<*r~UX3r00GU@-gT zZ4eYIHF}E6L9N=i@1oTh?b4Q>MuSN=Ior;lTL{|4E}lhm9Ic?Mf|EE`sq7ZH1t^(S ze}YDW;JxP)m^zi(ho7Lgc)#yGhyIT0w8p=nlgLQ*Xj?yr)etqa;eSKJ;4|}Y=x5R* z8rB|G@^=&zxmSc^b98liNi9Do?-dc~oshG-sJzPeIeYN$aJblO91B^;-%dGe4Uap~8%{ml8%{gd8ym#)C0N5O@P{t0=$^RH5xaDgLmq56eR&Z4>a#ncjd_Kdls+Io}E#+sGQ(vJW{QK26D9-|B z{mjegYqUj6>O!d^`c4BQ>|%min-Afwu-wf+_%l?X#bGQFSbIRk3DvSC{1t|^&tt`l z;H0H(R`7I!wlF9mO8Z+7zJzcSVax8u;q2Q%IHU&{7J{9ydQ1qx@$k7d1P_D7sUZZ+ zqr2HtAvh7%uZ|G>ycJ#6HbvofiL?+f3VWs#x3(x2!z|g$ro{u=KCL7kRAxb2I9sfu z(8#|*LKEl0P*#(OJy5(JKE}hl^zgXo>E&fB{43{GaBEiqtcIZNF0X)oQWp9^YYs77 z*T)TNrR8gU`Z}p+9NQ=3<*V~u?w75FuuH1wVN)}S#gQAJHr~rV9*N^d?(5U%t)yS4 zw?ccM*ISKpLfeR;!#_xRb@*+pViZnEgdPttdV-P?23B-Vl{Xh;zjcCekTa%@2#1O4 zC>YGnjlvP=h<0TZ{+lQsAqsnKi8z>D8G|E1!VCA{$>=$@#Dk}STILZCo(TFWZYg)M zZ#;N7u0-lkNufWKk_>TFXr(4pmn8e3fk9bo>z1HDd-J zZmn$Bbek2-u1W4z#<2HS;n(qL z!hICji+=332do0j(v8Cz<-GDX06YNgV^dj@k`z7Nah9% zM&%goFB>t~)X(Zm#z^xUJ_=Oq>y}o4hPV10L8;x7*RUp_B%WC6D_!oZf@IclH;%{f z?YbL}z~_lJY!g0(@CCx6eg%t=<5zfq3B;RUw|48V@PBp7&a%_DuBOUsuqa$Bz861> z@I|5p--j{Qy*-9&6YdAc1X!7xAAsp%dVP%2KG_Dlt?Bo{e%OJ}8LV_^mzuH6Eux@L za%&+E;ul2T1KjC@{pDdinYU60B6nj48~BkpoRi-ha}$p_9}pAwA1pl3-tH1SK)wO2 z+>J}|CBi*L-0bV!cq;BBEM*S{@lx0EvweH;@2`&g+oO0#-?-oO1&6bXEjV5G3>mKF z{swuG#qWM`ihE~~#Y3-=&_Ul-w?BQ9;>K3I{^aW=6Pe~hmX=K3v8Gh9S= znVup$_hZo9vRC)xNuYlIaX%gfyd7}>W;tD4@MvWkoFLrS z!qFEdE$AhD9lCaUnQyHw-Mh4VUWR=RmWyYP;KL~LT7|i~PXm0y*>0;XUg;|Z%Vmr9 z#H;vCK8U!{MZ4#97{vzQW(SU83Y+ckj`6ZhHH8t!E+5B7yYsyJ2R=is+R+pEHWSaq zX1s}KcjwvnCLW6RYA4>ryAhn7R-VMq!3oa!Hnwqa=qY?Rd>%iAH5ANleg|iRDr5IM zIAwAaML{#*#0DY;*PNF0!pd6T@?I#Y%3og73p#zJUVljxQ#!DFVlzckP3u^<>kAiI z{H5NNzTPa6HEaDfu-x^;2%%KpU!&dB*cY2<@4n~;A(qHdG>QsQY<~wHvmpjzkPx)M zyB5U9H~_E?j3q)M0H7>^lyM+v@{Br=N`zTp+t$M%Wu`!aqyyj%kOqK72PS~%34p8v z>EQ1H61r6fKqAe86mS9Hb#CwwAsaxu0Rjy<04W9pMC1bGFd(2J51;`C1Z3m`G|+&6 zkOF{$3Hvx`ARwk5phyEsCrLsBfKdhrtl13E5FHu^ z#B2d*r~v^njqKNd!Z+$Y24@e>T;5+I5DY=RxA-wg*8567@W^`a=m!^B?;HJyBI`Y) zA4X)oEA&H!tapQce311%&<_f--U0fNK-Rf0IyUHaaNg@;zN|A|7wBc3&tkBSz?m!# z(u17AVu&8({1ij=AZMl+rUyAE#ld=zvr%;ELC!|h5T#L7!Zbp_clWBHACgVu7Yuc)}%J8|Md|4Oi% z)K=+Ibt`-5eVl^Yw71^JmEyqe!!HUd0z0v>Cu!w>#w8d~KK>Y2V|0+s{}h%fbH7qQ z#VXhbA@^|Y`p+XvAB{;$}L4zpkW3j6jEmi#$h zfRBP<`E&5?Jj@>b9N!GFKYork^4R+GIJMVh30Qlaa$i3e`v4LQ?Ms*xNbBss!3han zWS$>zxS7rhzraEG1ZCx4K#gXbUi$)rdHKJ^OVED#279Ew2=-WR^sgufZzS$!7^5}* zfPWN6p6Jsrjs5$$(dgrols*3=2=X12ef1+=$G=Cf;4pUQPdFT(rtG1gKvX?X*~>qH zEPRQg<`~gQVU9r(;0EU~JlW0mZKLRxj24uda$K@t68*dgEMP-I?SJ zMKcyvdCRH|Fk6p=1%8dUq}F$``IP8p4`0DH@hn9w=4U(@pV6xw>*{d?g!N~7l@IK4 ze2|?ri3ijOkhIz4pFy67uim1~KjUG%B|7lx&v^9zk7UQ;3zV(?1y8hH;N$Ef6)u_; zAO8goSk3I*FW4P?96T|($JH!g9k_j5GEjiS;Ih~}UmRB0%dbpR;8+T7CQE_Gy(v1! z|CikDArp5}HWrB~Kv^*oSM~9;)ZONq*(XShK__=&ag;$E?xJiy7Q^^=6&54$70P~v z#Z6Ge6e5OO%s%{|GdwSf_Zb8K*j6PN%j*J=YwpMCy7%4YLvwI0jCWI@lxGE931MW;F;j7pcLNsT|dxVXw!4b~6^M8va92@w}TLEaE?CFDF2 zBGx6krN9*&GG5Jxvj!icm?u;m!nQcYp(uv!bBa;!I0;Q%ST!~+EhVFO%?0cj_Nh~x zHV~F%!^@bvQVMZA|G4x55ykc*3yFPd2bKHPwI>6YpvYtv{GgbUkRlmESen!;gr)F~ zQCu#Mkj6O*V1~qg8ARj7EJ+5loEXN&g^6)s!&wpr(?LIrhO_raia}t=`TIz5NcWQ2 z874l^Bi?Qd7wx*st@gf4+;)xVL*XL06zWd7Z&$)ftBs8k!Og;yj*aZ>XtX#O*4Q)A z;uw(0tubOO#{j`QRa+h_zQToN0G{N<>ybYth>vyGB?ZA^RPx`Gn>b4RCmNa4hk+OR zci#o0`*J1jAsnyyl11l0-KQ>@J(VdsP#!y&3Dc4L+J$SEGR1oh7rkU{-(>Mu2<2&> zsp3Y6)7r8{*x$KxaWY#sT?|F}+WphT9oUG{=Fb$LGklMewUO70aCpdPkUmkXo+JLT z2dJGV-etvk5{o(wN|SsRy+pjlQ2^cUoatZZD+bw;ZCN6w!mj=b|18nFJ;G!3dSO7X z7xKRLfE8=XO=33kX$?1tqpaW!)mkKu1a5-EaguB<{*{_iET+qdYB?q1S`k`&q+Cqz z-aM5G(bgSKt^kG@nc2z;F^Yf#=o4yvYXUn^0gDxHdziTzRkE%MaTtozA}d9wgi5uP zwc<{BK%xc7wdr61g{7|AC`m&b#V>hJ15Gv&C2N;Ai}fT3j%K=r1dbqFeb%aNzE>R2 z%~dboC;k?pQU(PkF?K(g%X}=QNsME44?sWp*~1Trkzj{9^nf@UZDyI?B~XSm}l1Ud=A{-Zo&9oBgs47HY8jHHq1z zR6_T$mPbV=+rM2L$mTSI&sQyL+Aexzm$$ZNRe6;Gv7qgu)l6a6Z-;4Q#7jXXU3TQ7koSnnRoPBF$2AWR6&M*K}X#aW;g z)~kJOrx*e1=Z|+n7Y4H~$N@*(2qwBAvKzs|mM}3qyhTDuH+ZW{O;1CxFBz^|)q7bZ zgW=m^WcUmWW9&-?>)T$P;^2KI+Z+~iiDb!5Vhn?tE$sFO#YlIngl@b}9|j9`U$B|J z8ZaGJWlm=vwHxun2Z6FS_U{M9aUc(m-X)G87x}o#=EI|Oml))`wMZ8E?u4~Z_^A+g6Fg2o-z z8>bJHBj!Lk5-?DX_9h=UlaB`^pXg0KX(pcxNbbnW+zPA-|iOu zu;cc2Zss0wIy%=&;dz5X7WAMvR-Xpe3w&IimV}D|xu!lU#*s@BI>4C~#kLNY2H1Pl z7hMv2^ieU5fCGb`K8y{Gm8^uzfxY!~nw;ni;6ztXvgUjkmOcifDFGXe7-=tpHLQH; za(|f-G487Q0+ufanBed}NeE`=9tWy)w!QHi7~AF;1&5BF_-T)W;9$gKw?)^fghpA6 zg*~QwtOChVJkLC93@nI^}f> z`}Y&#HPq7+_KI+KBu%^ZDG~hk%-tGv#j&8Be)k!1w&_Zs>yJaU>)XW8|5!!smh>@@ z!8RTehq97GVhG3_5Khu29Tau1#s5gtZB%`YvNR|Q^lPSBY|~5P7YHoprANdTf^#k0 z0yfh8hTD79*?G+Sx|jf)^}Vn2{iT2%Jtp$QGkhW(Ngx$2HP!5TRJfLWT>Nt&V?r#3 zx;l*k%ObSJC&aVeO6nWl5<%;HSzGqD2 zaQr8l?ScS&_6^sKFR`fg?+j*1AH%Y!O98C-W6`GvL$yyohMv~L-S--_;7>$2k?A)Z zH2j%(qiBYI^;Z#$N|)J3e-l5%g%&oFkP_@QXG5wn86acNV6`wptMUCeBoecnzM-A(J_*7ki6^ zr0_@p4k-0JtHPB<4QBE(nJmVeP2i+V#^5a$_OnceM{cp8RBlNt_7!*E5pY%4l`bzY z0gNmwNd@~X??~Ke(KIV5kZ@CXpjmHiC>tI`V#9Ws3qVW20-TJZ!nTl*1ObbP#c4 z`0|T-Z2KS*jgMH^3xh}u|8gq?`+5+GupQ;~9JC0>&3aCl^_&T)=Y(EQN=UzIPU_W! zBeRx{5RynbEL_}^-E6RvgyPc{Hrh$Rr{AI*>}s84IFI9ZgY+emN7&AA8ctY*vlb0} z7?+6noP}k&$XI;d!YW)O6JH4Ev4o2zg_i;-ya*)_IZpHlmv~tKb{g$rQ{2Ro)fIr+ z#Sw^brO*6E!27F~0|dSs{NN(9hFTP2xclvKlfjtEOmmZX?2y@~ZZZl7%S;I;5j?&Z zb4ECsk(4N+AnpnXZij2CRxGXV)(To>Ai4h^Dhid^fJovoeHKId`78=<7931c!m_wO6Br2g2AK1sWbJp6 zq#fZHnXMi|nsJ=W@K92O6J@q?D2azlmnhaWaLk2$G?5n-rcX2H(?)Sm^e!yPvi9Xr z@)K54fYC$|T+u?B41RxZO&Lz6Ae5mKGA>Ita%RiDS+n#ULA9VX&xRldIEP2cEyN|{ z%KX8AsUZJfiiO_FlbJ1!tm0q(jsUwaj*NsfEsl(G*8;bJ)fMH{aCaER)~o_SeN}l$ z@geqO97zt#mqEY;9c^8v>0| z?3Y>P2;v*kAfg1Y<*xCY+CcEC*In=7FjU39U9zxCW?!8}k!*1qxdrdmfe3agjl@GO-=~ob+#+k>={Jp#y|U?C_wYoR_xoga zY9fr%&v#BD?$FOrW=;tRzreET<)sz1pdJMcJg3T4Z@P-q1-Oc|_7pXVB+hP=VO`Z7 z@2aW~%V-8yQF22b^!pk=xCDa;+wG(Tt}E$0IlHKcyJ+MVLw`edJ~%xGW#OP+rS9bt z8tCP6m^T*i;CKKeB^))o?sx#Bj_Rd+4lf8C=g0t_khx3Z2=;L%Ne7uUG>c4t^Hd(Z zQ-M#)8YE32xI<>IW|L{*0S*qPo0G0^UIU&Y5z|Nn_*qPtMsCEXW!5x}B%;#>okJE9 z%YeoJzMPR6nhw2lP-dg2lco5q%pRCdCPl)m?YX%)J{8)0j#DecLk8z%_P6QenokXk zoquDWH?K=^}IoVFUjnO86+Qf%Ix|a63f38IV3E)3$h9P556J` z@Po>r2n3#R7_Qw?D|<4BtO8fBfiuYn7$_5FlK4m~Pjy%Y_;K2TgkU{z*(HQpSEfR=j}RgR`uL*Hb?}XIt60h2-MU94oqIzPFBB zwz;6>%QOLfT;*8VltpA=a;{ZQT>-iR-_q*Zii+~8n&|nk;`m_jK|8_7iXwGWaXP3k z^Q;WIp6l8fuD+!G_5RW1kZ6>Q~iEr(6N0ob)1wsQVe z#ZY$gQ!LMU%N~0nb&Kr2p(ATk&3#aeG&g(VTIoSCE(SJ`>})m9U$&f=?zUQiy@xq_`5%15D!`Ak7ZQ$Ix$vfq^Ap8_ zk6X3u3UY)(0AfGDCyaS8`J`FlX>0FB4RHaFyugLgtA(r%r~|mrVTF4UWMp)$m^6() zXfwB#J31jxsxcX==T-Sv`pZBM)U=kk;Yj=JS~5NgcJCnLs%^UAKM(p4e|fRLsFT2h zM-`9a;R%zuF0Ne9e2}8PrGeFtH}s@cIAdkG>p+Y-Yt_JMXf49$z}03w$wwcuy7jP0 zowu?V)|0W5u5tK3-=~2e_G{mVdh;%TZvA#L2VbP#0l z377hme6c_4I3}>J)132NRt<#uE{w0hmAMThBM07#k$dmOz}=tddFCA%0mW8R$eB!{roW(+QVXd2=*r9+3Ux33+L4SSIg zY|~$}VMz_-E=Q3OMLBSNf=M#E7f2yNw%zYQR#TiVIC$|_@ zOh5OKTu~0n7`e>}6{OfXUY{w?pC*jMNaeJOlB)sX8Zv(%sa4lvt*+FrEjcNCiQu`7k6}(?; zY|K_tKpGLck$v_J29Kq!Bm<<054OVQ;I(OB%`YT_eY|?VO@JRrG##|mR&NtZZLD@1 zxgi*o#*saSI(W4tkDc8{;v(~OH6s_iGR;(&P+ZAgU1?)On#kZ$wKn90DO+9&=Y3wm zQ6$vbHrJe>$zJ?y^S?A0f`MZ_G}ZJPvLvA3C^eR z{iX?Y1@N_PCo?wmnuim3)l2n~dn@iH2u@D0^Uog6pc~v*tP!g}g$N;r$v9T|nGJRR=jkuPzJDU3()K>e7PqNQdGRxj*L&_|8az$vg zu?ag!)R;apK@;aWG^m+>x7dVT{0sfMn}17fLW_;vy@P0YuZ?9kgT%HE;<*VqRcN(o z@L16jOxkRwY503a%9VpUf(IS^l5k2at%_ST)rbO6rb4r}(Ws-2*#v&dj z}=>`Fv6%EOg3$j^vrgNchN$eP;Hh{xka$ z&<3OTQXoZSJYP$k)ivJLKG0M3ybTt3;xrg?J-CYMxyP`SC&;X#V0$|7 zaYpaK6rH!tf|!Cby|4wo%383qRHIP)Rs1fH`tH}!kcsQcs-XbEiQt+!oUQ#e)owfc z_z4(G8Fn^)FIk9l>}=~^vL5H#ndM2cGOW;!GR^ACtGJ-XwTi*4=`oP&cRvY-(oiFO z>Pa#<#%=E_8+IZP4x{WKzNGN0Fi~d9#ymNl5Fg?YhcokafJHxRti2z@arLuAe8DHieyt? zfqSygzDVu_t9Q(+WHzgP2^5o+cDC&$7~ZvZw((Vx!lai$XHsWp@h=na;5ZA)%rku5 zSNSXQ%0XoU+lx67jx>w%0Be9+3X0HY2)};PX9tJkctUi&+3L*!t*$o+ZmKls3X9Q~oHrtXo=FX+Hd<$*EHy$pnAv+A|40m}^5c|>8C z84I@P`Mt5b1KacbQBvRcai|u9DPhf~2p1e+d)ynC^~u*^!Q5wOZ@dob`c^xWe^1gl z3@i<3L`c6z0P6n@rOhN<9~zEhk__*e45k3?8+!woibPrGJK_+HpI3;LmV6J89RCoMY+$yZ6Y6qWMF% z{JL)kEOR`*$5(*AP6nBINovG9b{6>&oVxjAo5TB_Oi$SV$CIh?fYvDCM4yGNzW-xW z^*}i+Y(S?@JUp@0ggbg$qOjp-;e6HCd{}XoB;(UM(s1^~3Q$mWpG?o_krVM*yKyKz zXEzR|07LP^S@owdS|PG~IE^2y$@I!KYQ1ueS{wOM81Y+^{11j#-{8k< zg#@d@Z5O}74*kn*7*;LkFXSEx2P@jCFUW5Q1bWRIjTgz*s8Bt((1`?i2oK8fxP&NP zFhs;CVAXSLbH5^0QbZh2jZIXNl@ujS$xyPD93@xDQ-nl?J=z6>?fhlp!O14z>4N<& z#RS%LLF3bOU=q$SBRjj`3DztHDWDC5vxoxk8#uLz|0a(F;cOG-l8p}Gen8Ri&(GbxQ76asB48)n1yI;n2c3((1_?VIG$rLf$d(SB@8f+06#5l* z*+Fx0sluiYpb0lrDuLodsnSn;D20qL%W45{f$sSu!&<(P z6hsrpZc+NmMwc+iM(MzZMyN*rgPRlqelQF#!LxA93JVLS`MH}FICq!v^HN!je$7SL z)rb1s3Xs3bq<%Lq%Oro5-c%lgTNI%MUXp$o_Dy|Ze=nF8f#X>EAZW>6h21=errP#$ z#4UDVpTc$xqKO+?6-Du_DUDq2g;$Krik;KEFf8C~h#*FPt-JTIY z`s6y@U+;4oa=`CA&m?#7EEn{7bVJHT$l5ziFLB=W%+pH&%rhtIC3E^Y2h%D1NtlAc zu-d_Q?O>XRI~Df*w_xW~fi!L6L23Es_ z+VQDL(eMYJYDqHOAN@6cU-cymo9d=H?68XtaP~LgS{>{o7tI7OZI>Gcl7T%(43**1 zK_qdHbT|T+uV6>N|HmVghRofC7i~JZin$qJj)NK)nZgP^p|j&jAI-u zID)2(is@5!T>rA;jI!gpbKes|Z^MZW_FV)`7@6EBcVhqCiAL@e2b&p5JsUtrGnMOO z0`6RJeea4|?k0E5L?I2T=lx&^AcnyW|`46f&1O8h^C3)o5Gr+Y39H_uRS*DkrM`8{jV0B zwXi=&(@{7|W|kN_5+}=STntSfkS3#baE%F!MoYnumtBgdp+R;bb_QJQFRJnu!CMNo zGE-yd7}6k{|EK{w69YSZlgymMAi701|6v2RY#8-`{Sp3YgGBbyFdEK{W*-cL4o(Aa5{!tm{ty_soZ3=-xAJlA5I6TA6Oh<8)EMbrxWl|t2$JUWQnmf64dJK zx>zW;%gX9vp$uwc`(mMtU>o~0kI%O;B@W^XKu5*DUK=ZkgY*^~+Z_k(Y_+iyadaGR zv$3D!=mc`u2FJ6nWjKY*ji(X#tc|UXr|EDORS(#Pu|M*-!*=$0JY^=is>!He(zeW_^+9<4Bmn z%E!^S*mbFN9Ju1&o=Pv`POROQMspCnL#nlnr;i{TyaRfNfC??5z$(+B%!+iH#2vHt zq|<+3pM~9n=SKMN0t<-g-(La3Vh5bX3-KcvC%?> zfN_Na!cM2Id4fkyueQ;{Lup`qdvpPP8E~}1h4dkW!M&$z5xo&#v9N^&^a-#DT`r)V z;8pq6VhWeoLuGcy5?UvP%0!Tp*~TTXr4PP|-j3a}w&NxWPg=S)|1I=5=CjGO6h_bjCwp(N`vXcqTvAw|G>ctZ6tZFCVm4|m~Z7V4wJaEi<_e9**F5u9F& zeIO#H$!xz5XwLu>`wCisb7XDv3R;73uFQU1NjHJVh}N)*9sZnkp`FtAZ($JWql{+jDsY|>hw5oZ63YoQg* zGW%pLE#%*2CE!K zqqG|vXbM7KuzT-pw{4}5N#N=;o;kMDC9piPRof~2%M03M zmHr-EE`y^2NTbZVmWHy5FnHt2vy*0X=ZWf_^e1>vrGnAB(NEfUjBbKgA!Kd+E_%!Y z-VfT;77F*k&dH@(%;P`|IVYc&we3&PJy?$%_Y@r=k_+-hS-bTa>g1S>toB*j34x!q z(&y-21TGGm^S5*sJSxu$_rusNU|aXoXKW@-m!lW41N&*Hw&(!->oWW<`}#II4O^}3 zl{We&)E8`JjnC8jEazkw^q7}5Jr5H2FXYi~c?R1}=OCAA>bN z(aPo=qq$ainb(R01nc^qV{|M|v$A)O!B*@5qxo_Al$>D&dhUpx&o-W*QOx!SNXoLZ zHGhD)m2G9@k2HfECGgN-_8)0BIGo)5N4gm2TD6b% zrnH39^B}u;g1UFUL+{`(28XhZ@6eZE2Vz+rG>*F}6nD^9xtBuRyL4q}2Z5K(Na{52 z%ATQAU8uFZOZ@|2m(rAT^p6DGV7n5fZ`iTF(ID=%@c!TEleo#s?)*Dl55{=y-+!mz z1hLP`!Y z1GCT>PJIlDUf`>#s$)|(VJExm8#)nQ13dB#eTF}3oT0701T&iNmGAxwT650Iy8Z=A z!&4gNR%08T_-|C_#slWnZ+NBSmCv%%F`dI9IynEwha8V%afD|8wn z4Jgm1S$?5+BI2N^{@@nr3vp1sZHN$AP~$HF+pd7%CFafSZX)IKegADD#gQd8uw?!~ zq>SBHC+X1Fe#a?6aln(<+9|u}Y4hX0(a3x0Av< z!$2D}$10VHCy|Nsqg8TRP9ly%S(r^qfNG}LB#+}X{39n{aB0yh!4uYZ*d({b0Sa3L zvdSYisP`;;(I$<-2W{+2n>0;43vWq!?9yK#ki|k3X*>z#k4Vo`qy&7}#_AL)3Lmkt z2Nmh}_@s>$I;5%mLFw~ai$i*Xkh8WV0sMNUP}*ejl!F`X?0keYi=>I5kWPt|=0a$fo!uQN zEr+=ZisuWF(q;@A=87n(4udxN%P8nN(DpipNPlv9CDetMO*LFPa@LfZ`rc;k@(^j5 z1;%Vdyi^FHo3=h4h(MR0g1Lz>C|dRD2pUM3j+@wzqokeqj9s6S7<7QjKj?ETZL}1I zJMCKDXz6oAtO^lW+&}4zV0dS{7CQr{=)E54pa^oImYpgsg(pcBc5Z|e!VacM(+RA# z3i~Nd%EnO&+c;ht#=PUDNHB)nIbO;9(q=oGvZ2F0r63SU@0P zZb_FSHxR3c#CAsoLzws_byXQJ70+CL%Ptl&5CCx@K4_o1+oGXood6ay;lnwK<{CY@eW-nb2 zOl>xAB%Wl0XG^z?Yv%tPS2NPfO*e018+Y@~o8njBCx=ViUQu)}>!OCzsEbDPr>slC z2`@UyTLk|GT=mitcmk(QIS78oMWFqt@x=zMs46f0U(_=G|6a=pMMy2Gt>Vfx?z~X6 zTIf(%*&Jy!KCQ4lbEHfHT8~Fq#T?1W{xwI6jso4r)E*V+(iQ#^kc)`2t_HNBP2la3 zC*6Y2DXcM1I!=7bd4(;WD`mmEQak2Kjfiy6LWRZ6mnMW>P~@6*g-U{6r~bTX>P1DX zoG(qm&~a@Gr1hY&(2^HQL*X2vu(^w*W=tLI{32;0Na4{1Fej`Ia*XXOkcP8+3#4!i z%7rHjq&q_rMNhXzqHd|bI8Jmp*uR%aIochIr4Mmfl$g2NSGQDucpV;40B81KN2o)) zZHe?X9$Ba;CBCvCw?mi#cIB!%{`An&Vla{TOR8n1c3q8$5anQZ-y(U@6WaM(r2Qx? zyI-M+ywGQEmGZFoT(Uz00)8YepOO^d$k9Q&)yvGWLW(H&DYI6W0bNT2aH@~@>Yz6Y z36KK+;0}MBBcVI5Xbz75-8gjhj*z~ikG-)%@&x&m*mX5a4XuSw0p*6gQi{WA4sFaz g=_^Ds9MDHGe(44gXF0U>CGc+#!n3f8vK_+z0m%r`1ONa4 diff --git a/tangle-subxt/src/tangle_testnet_runtime.rs b/tangle-subxt/src/tangle_testnet_runtime.rs index 2967ca503..e78833b8b 100644 --- a/tangle-subxt/src/tangle_testnet_runtime.rs +++ b/tangle-subxt/src/tangle_testnet_runtime.rs @@ -6,13 +6,12 @@ pub mod api { mod root_mod { pub use super::*; } - pub static PALLETS: [&str; 45usize] = [ + pub static PALLETS: [&str; 48usize] = [ "System", "Timestamp", "Sudo", "RandomnessCollectiveFlip", "Assets", - "PoolAssets", "Balances", "TransactionPayment", "Authorship", @@ -52,8 +51,12 @@ pub mod api { "Services", "Lst", "Rewards", + "Ismp", + "IsmpGrandpa", + "Hyperbridge", + "TokenGateway", ]; - pub static RUNTIME_APIS: [&str; 17usize] = [ + pub static RUNTIME_APIS: [&str; 18usize] = [ "Core", "Metadata", "BlockBuilder", @@ -71,6 +74,7 @@ pub mod api { "DebugRuntimeApi", "TxPoolRuntimeApi", "GenesisBuilder", + "IsmpRuntimeApi", ]; #[doc = r" The error type that is returned when there is a runtime issue."] pub type DispatchError = runtime_types::sp_runtime::DispatchError; @@ -157,6 +161,9 @@ pub mod api { pub fn genesis_builder(&self) -> genesis_builder::GenesisBuilder { genesis_builder::GenesisBuilder } + pub fn ismp_runtime_api(&self) -> ismp_runtime_api::IsmpRuntimeApi { + ismp_runtime_api::IsmpRuntimeApi + } } pub mod core { use super::root_mod; @@ -3144,6 +3151,415 @@ pub mod api { pub struct PresetNames {} } } + pub mod ismp_runtime_api { + use super::root_mod; + use super::runtime_types; + #[doc = " Required runtime APIs needed for client subsystems like the RPC"] + pub struct IsmpRuntimeApi; + impl IsmpRuntimeApi { + #[doc = " Should return the host's state machine identifier"] + pub fn host_state_machine( + &self, + ) -> ::subxt_core::runtime_api::payload::StaticPayload< + types::HostStateMachine, + types::host_state_machine::output::Output, + > { + ::subxt_core::runtime_api::payload::StaticPayload::new_static( + "IsmpRuntimeApi", + "host_state_machine", + types::HostStateMachine {}, + [ + 28u8, 218u8, 140u8, 34u8, 74u8, 125u8, 215u8, 136u8, 207u8, 95u8, + 244u8, 94u8, 250u8, 30u8, 223u8, 242u8, 238u8, 172u8, 154u8, 63u8, + 198u8, 123u8, 248u8, 46u8, 13u8, 76u8, 198u8, 146u8, 232u8, 247u8, + 165u8, 183u8, + ], + ) + } + #[doc = " Fetch all ISMP events"] + pub fn block_events( + &self, + ) -> ::subxt_core::runtime_api::payload::StaticPayload< + types::BlockEvents, + types::block_events::output::Output, + > { + ::subxt_core::runtime_api::payload::StaticPayload::new_static( + "IsmpRuntimeApi", + "block_events", + types::BlockEvents {}, + [ + 63u8, 19u8, 10u8, 102u8, 195u8, 59u8, 39u8, 98u8, 218u8, 129u8, 60u8, + 84u8, 191u8, 218u8, 201u8, 92u8, 255u8, 247u8, 239u8, 121u8, 14u8, + 176u8, 182u8, 53u8, 105u8, 217u8, 192u8, 224u8, 132u8, 58u8, 49u8, + 125u8, + ], + ) + } + #[doc = " Fetch all ISMP events and their extrinsic metadata"] + pub fn block_events_with_metadata( + &self, + ) -> ::subxt_core::runtime_api::payload::StaticPayload< + types::BlockEventsWithMetadata, + types::block_events_with_metadata::output::Output, + > { + ::subxt_core::runtime_api::payload::StaticPayload::new_static( + "IsmpRuntimeApi", + "block_events_with_metadata", + types::BlockEventsWithMetadata {}, + [ + 245u8, 121u8, 93u8, 217u8, 116u8, 204u8, 65u8, 83u8, 19u8, 36u8, 133u8, + 26u8, 90u8, 66u8, 77u8, 135u8, 95u8, 93u8, 2u8, 188u8, 161u8, 111u8, + 181u8, 24u8, 41u8, 130u8, 163u8, 49u8, 46u8, 101u8, 209u8, 247u8, + ], + ) + } + #[doc = " Return the scale encoded consensus state"] + pub fn consensus_state( + &self, + id: types::consensus_state::Id, + ) -> ::subxt_core::runtime_api::payload::StaticPayload< + types::ConsensusState, + types::consensus_state::output::Output, + > { + ::subxt_core::runtime_api::payload::StaticPayload::new_static( + "IsmpRuntimeApi", + "consensus_state", + types::ConsensusState { id }, + [ + 210u8, 111u8, 190u8, 64u8, 68u8, 221u8, 113u8, 196u8, 214u8, 50u8, + 128u8, 16u8, 86u8, 45u8, 203u8, 253u8, 204u8, 94u8, 61u8, 116u8, 8u8, + 145u8, 2u8, 105u8, 133u8, 82u8, 187u8, 37u8, 254u8, 43u8, 26u8, 210u8, + ], + ) + } + #[doc = " Return the timestamp this client was last updated in seconds"] + pub fn state_machine_update_time( + &self, + id: types::state_machine_update_time::Id, + ) -> ::subxt_core::runtime_api::payload::StaticPayload< + types::StateMachineUpdateTime, + types::state_machine_update_time::output::Output, + > { + ::subxt_core::runtime_api::payload::StaticPayload::new_static( + "IsmpRuntimeApi", + "state_machine_update_time", + types::StateMachineUpdateTime { id }, + [ + 1u8, 2u8, 41u8, 60u8, 189u8, 241u8, 177u8, 156u8, 177u8, 178u8, 204u8, + 26u8, 219u8, 44u8, 93u8, 253u8, 36u8, 39u8, 0u8, 188u8, 16u8, 39u8, + 62u8, 14u8, 160u8, 187u8, 16u8, 232u8, 169u8, 98u8, 193u8, 229u8, + ], + ) + } + #[doc = " Return the challenge period timestamp"] + pub fn challenge_period( + &self, + id: types::challenge_period::Id, + ) -> ::subxt_core::runtime_api::payload::StaticPayload< + types::ChallengePeriod, + types::challenge_period::output::Output, + > { + ::subxt_core::runtime_api::payload::StaticPayload::new_static( + "IsmpRuntimeApi", + "challenge_period", + types::ChallengePeriod { id }, + [ + 175u8, 17u8, 107u8, 197u8, 243u8, 104u8, 221u8, 49u8, 206u8, 97u8, + 214u8, 154u8, 193u8, 219u8, 184u8, 238u8, 170u8, 29u8, 31u8, 37u8, + 208u8, 131u8, 36u8, 189u8, 76u8, 163u8, 220u8, 252u8, 105u8, 59u8, + 239u8, 109u8, + ], + ) + } + #[doc = " Return the latest height of the state machine"] + pub fn latest_state_machine_height( + &self, + id: types::latest_state_machine_height::Id, + ) -> ::subxt_core::runtime_api::payload::StaticPayload< + types::LatestStateMachineHeight, + types::latest_state_machine_height::output::Output, + > { + ::subxt_core::runtime_api::payload::StaticPayload::new_static( + "IsmpRuntimeApi", + "latest_state_machine_height", + types::LatestStateMachineHeight { id }, + [ + 9u8, 127u8, 218u8, 17u8, 225u8, 65u8, 108u8, 15u8, 17u8, 55u8, 69u8, + 176u8, 107u8, 184u8, 7u8, 94u8, 66u8, 189u8, 167u8, 47u8, 222u8, 2u8, + 245u8, 12u8, 227u8, 23u8, 106u8, 157u8, 52u8, 112u8, 109u8, 186u8, + ], + ) + } + #[doc = " Fetch the requests for the given commitments."] + pub fn requests( + &self, + request_commitments: types::requests::RequestCommitments, + ) -> ::subxt_core::runtime_api::payload::StaticPayload< + types::Requests, + types::requests::output::Output, + > { + ::subxt_core::runtime_api::payload::StaticPayload::new_static( + "IsmpRuntimeApi", + "requests", + types::Requests { request_commitments }, + [ + 160u8, 251u8, 218u8, 16u8, 75u8, 20u8, 17u8, 30u8, 52u8, 42u8, 149u8, + 77u8, 221u8, 5u8, 171u8, 130u8, 22u8, 112u8, 124u8, 27u8, 74u8, 93u8, + 231u8, 150u8, 250u8, 198u8, 167u8, 85u8, 32u8, 176u8, 0u8, 69u8, + ], + ) + } + #[doc = " Fetch the responses for the given commitments."] + pub fn responses( + &self, + response_commitments: types::responses::ResponseCommitments, + ) -> ::subxt_core::runtime_api::payload::StaticPayload< + types::Responses, + types::responses::output::Output, + > { + ::subxt_core::runtime_api::payload::StaticPayload::new_static( + "IsmpRuntimeApi", + "responses", + types::Responses { response_commitments }, + [ + 29u8, 182u8, 194u8, 92u8, 117u8, 215u8, 212u8, 34u8, 83u8, 207u8, + 225u8, 38u8, 251u8, 200u8, 60u8, 234u8, 227u8, 176u8, 93u8, 183u8, + 100u8, 206u8, 99u8, 11u8, 51u8, 211u8, 88u8, 147u8, 22u8, 113u8, 40u8, + 41u8, + ], + ) + } + } + pub mod types { + use super::runtime_types; + pub mod host_state_machine { + use super::runtime_types; + pub mod output { + use super::runtime_types; + pub type Output = runtime_types::ismp::host::StateMachine; + } + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct HostStateMachine {} + pub mod block_events { + use super::runtime_types; + pub mod output { + use super::runtime_types; + pub type Output = + ::subxt_core::alloc::vec::Vec; + } + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct BlockEvents {} + pub mod block_events_with_metadata { + use super::runtime_types; + pub mod output { + use super::runtime_types; + pub type Output = ::subxt_core::alloc::vec::Vec<( + runtime_types::ismp::events::Event, + ::core::option::Option<::core::primitive::u32>, + )>; + } + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct BlockEventsWithMetadata {} + pub mod consensus_state { + use super::runtime_types; + pub type Id = [::core::primitive::u8; 4usize]; + pub mod output { + use super::runtime_types; + pub type Output = ::core::option::Option< + ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + >; + } + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct ConsensusState { + pub id: consensus_state::Id, + } + pub mod state_machine_update_time { + use super::runtime_types; + pub type Id = runtime_types::ismp::consensus::StateMachineHeight; + pub mod output { + use super::runtime_types; + pub type Output = ::core::option::Option<::core::primitive::u64>; + } + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct StateMachineUpdateTime { + pub id: state_machine_update_time::Id, + } + pub mod challenge_period { + use super::runtime_types; + pub type Id = runtime_types::ismp::consensus::StateMachineId; + pub mod output { + use super::runtime_types; + pub type Output = ::core::option::Option<::core::primitive::u64>; + } + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct ChallengePeriod { + pub id: challenge_period::Id, + } + pub mod latest_state_machine_height { + use super::runtime_types; + pub type Id = runtime_types::ismp::consensus::StateMachineId; + pub mod output { + use super::runtime_types; + pub type Output = ::core::option::Option<::core::primitive::u64>; + } + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct LatestStateMachineHeight { + pub id: latest_state_machine_height::Id, + } + pub mod requests { + use super::runtime_types; + pub type RequestCommitments = + ::subxt_core::alloc::vec::Vec<::subxt_core::utils::H256>; + pub mod output { + use super::runtime_types; + pub type Output = + ::subxt_core::alloc::vec::Vec; + } + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct Requests { + pub request_commitments: requests::RequestCommitments, + } + pub mod responses { + use super::runtime_types; + pub type ResponseCommitments = + ::subxt_core::alloc::vec::Vec<::subxt_core::utils::H256>; + pub mod output { + use super::runtime_types; + pub type Output = + ::subxt_core::alloc::vec::Vec; + } + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct Responses { + pub response_commitments: responses::ResponseCommitments, + } + } + } } pub fn custom() -> CustomValuesApi { CustomValuesApi @@ -3161,9 +3577,6 @@ pub mod api { pub fn assets(&self) -> assets::constants::ConstantsApi { assets::constants::ConstantsApi } - pub fn pool_assets(&self) -> pool_assets::constants::ConstantsApi { - pool_assets::constants::ConstantsApi - } pub fn balances(&self) -> balances::constants::ConstantsApi { balances::constants::ConstantsApi } @@ -3247,6 +3660,9 @@ pub mod api { pub fn lst(&self) -> lst::constants::ConstantsApi { lst::constants::ConstantsApi } + pub fn token_gateway(&self) -> token_gateway::constants::ConstantsApi { + token_gateway::constants::ConstantsApi + } } pub struct StorageApi; impl StorageApi { @@ -3267,9 +3683,6 @@ pub mod api { pub fn assets(&self) -> assets::storage::StorageApi { assets::storage::StorageApi } - pub fn pool_assets(&self) -> pool_assets::storage::StorageApi { - pool_assets::storage::StorageApi - } pub fn balances(&self) -> balances::storage::StorageApi { balances::storage::StorageApi } @@ -3383,6 +3796,18 @@ pub mod api { pub fn rewards(&self) -> rewards::storage::StorageApi { rewards::storage::StorageApi } + pub fn ismp(&self) -> ismp::storage::StorageApi { + ismp::storage::StorageApi + } + pub fn ismp_grandpa(&self) -> ismp_grandpa::storage::StorageApi { + ismp_grandpa::storage::StorageApi + } + pub fn hyperbridge(&self) -> hyperbridge::storage::StorageApi { + hyperbridge::storage::StorageApi + } + pub fn token_gateway(&self) -> token_gateway::storage::StorageApi { + token_gateway::storage::StorageApi + } } pub struct TransactionApi; impl TransactionApi { @@ -3398,9 +3823,6 @@ pub mod api { pub fn assets(&self) -> assets::calls::TransactionApi { assets::calls::TransactionApi } - pub fn pool_assets(&self) -> pool_assets::calls::TransactionApi { - pool_assets::calls::TransactionApi - } pub fn balances(&self) -> balances::calls::TransactionApi { balances::calls::TransactionApi } @@ -3505,6 +3927,15 @@ pub mod api { pub fn rewards(&self) -> rewards::calls::TransactionApi { rewards::calls::TransactionApi } + pub fn ismp(&self) -> ismp::calls::TransactionApi { + ismp::calls::TransactionApi + } + pub fn ismp_grandpa(&self) -> ismp_grandpa::calls::TransactionApi { + ismp_grandpa::calls::TransactionApi + } + pub fn token_gateway(&self) -> token_gateway::calls::TransactionApi { + token_gateway::calls::TransactionApi + } } #[doc = r" check whether the metadata provided is aligned with this statically generated code."] pub fn is_codegen_valid_for(metadata: &::subxt_core::Metadata) -> bool { @@ -3515,9 +3946,9 @@ pub mod api { .hash(); runtime_metadata_hash == [ - 71u8, 111u8, 178u8, 79u8, 235u8, 57u8, 27u8, 16u8, 18u8, 212u8, 223u8, 202u8, - 109u8, 138u8, 27u8, 65u8, 211u8, 205u8, 103u8, 202u8, 94u8, 218u8, 6u8, 7u8, 227u8, - 236u8, 54u8, 21u8, 187u8, 206u8, 184u8, 215u8, + 224u8, 222u8, 204u8, 196u8, 74u8, 133u8, 137u8, 87u8, 247u8, 182u8, 252u8, 166u8, + 71u8, 63u8, 201u8, 104u8, 241u8, 26u8, 85u8, 207u8, 68u8, 146u8, 56u8, 47u8, 217u8, + 159u8, 201u8, 51u8, 12u8, 238u8, 217u8, 118u8, ] } pub mod system { @@ -4653,10 +5084,10 @@ pub mod api { "Events", (), [ - 229u8, 19u8, 151u8, 191u8, 199u8, 122u8, 173u8, 152u8, 165u8, 171u8, - 204u8, 255u8, 212u8, 198u8, 168u8, 210u8, 57u8, 76u8, 1u8, 91u8, 112u8, - 26u8, 169u8, 61u8, 197u8, 141u8, 238u8, 176u8, 101u8, 127u8, 103u8, - 69u8, + 16u8, 126u8, 86u8, 225u8, 248u8, 128u8, 182u8, 93u8, 102u8, 191u8, + 217u8, 148u8, 234u8, 78u8, 245u8, 118u8, 180u8, 220u8, 97u8, 242u8, + 86u8, 135u8, 120u8, 67u8, 112u8, 89u8, 165u8, 28u8, 217u8, 143u8, + 238u8, 88u8, ], ) } @@ -5313,9 +5744,9 @@ pub mod api { "sudo", types::Sudo { call: ::subxt_core::alloc::boxed::Box::new(call) }, [ - 109u8, 31u8, 123u8, 161u8, 109u8, 85u8, 138u8, 33u8, 45u8, 25u8, 94u8, - 203u8, 248u8, 54u8, 38u8, 163u8, 118u8, 172u8, 47u8, 162u8, 26u8, 86u8, - 54u8, 241u8, 7u8, 138u8, 143u8, 125u8, 65u8, 66u8, 224u8, 209u8, + 47u8, 164u8, 43u8, 99u8, 74u8, 128u8, 5u8, 38u8, 106u8, 77u8, 123u8, + 23u8, 165u8, 188u8, 7u8, 121u8, 122u8, 131u8, 55u8, 225u8, 44u8, 221u8, + 203u8, 59u8, 182u8, 61u8, 173u8, 120u8, 104u8, 127u8, 79u8, 185u8, ], ) } @@ -5337,9 +5768,9 @@ pub mod api { weight, }, [ - 212u8, 128u8, 162u8, 164u8, 111u8, 13u8, 7u8, 23u8, 253u8, 61u8, 47u8, - 205u8, 47u8, 9u8, 241u8, 81u8, 144u8, 9u8, 187u8, 135u8, 238u8, 70u8, - 247u8, 186u8, 222u8, 238u8, 30u8, 250u8, 113u8, 212u8, 177u8, 48u8, + 211u8, 205u8, 65u8, 1u8, 246u8, 155u8, 221u8, 249u8, 178u8, 116u8, + 50u8, 100u8, 149u8, 213u8, 65u8, 58u8, 57u8, 91u8, 144u8, 80u8, 88u8, + 63u8, 96u8, 199u8, 43u8, 105u8, 202u8, 146u8, 24u8, 205u8, 58u8, 211u8, ], ) } @@ -5375,10 +5806,9 @@ pub mod api { "sudo_as", types::SudoAs { who, call: ::subxt_core::alloc::boxed::Box::new(call) }, [ - 214u8, 185u8, 18u8, 163u8, 135u8, 81u8, 230u8, 190u8, 26u8, 133u8, - 191u8, 104u8, 234u8, 58u8, 70u8, 128u8, 102u8, 121u8, 86u8, 241u8, - 53u8, 155u8, 240u8, 97u8, 156u8, 66u8, 207u8, 169u8, 106u8, 254u8, - 210u8, 200u8, + 215u8, 228u8, 243u8, 33u8, 76u8, 219u8, 231u8, 122u8, 142u8, 64u8, + 79u8, 251u8, 55u8, 33u8, 217u8, 8u8, 27u8, 63u8, 83u8, 205u8, 156u8, + 119u8, 147u8, 34u8, 65u8, 135u8, 59u8, 90u8, 249u8, 33u8, 162u8, 76u8, ], ) } @@ -9261,13 +9691,13 @@ pub mod api { } } } - pub mod pool_assets { + pub mod balances { use super::root_mod; use super::runtime_types; #[doc = "The `Error` enum of this pallet."] - pub type Error = runtime_types::pallet_assets::pallet::Error; + pub type Error = runtime_types::pallet_balances::pallet::Error; #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_assets::pallet::Call; + pub type Call = runtime_types::pallet_balances::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -9288,43 +9718,29 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Issue a new class of fungible assets from a public origin."] - #[doc = ""] - #[doc = "This new asset class has no assets initially and its owner is the origin."] - #[doc = ""] - #[doc = "The origin must conform to the configured `CreateOrigin` and have sufficient funds free."] - #[doc = ""] - #[doc = "Funds of sender are reserved by `AssetDeposit`."] - #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"] - #[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."] - #[doc = "- `admin`: The admin of this class of assets. The admin is the initial address of each"] - #[doc = "member of the asset class's admin team."] - #[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"] - #[doc = "have. If an account's balance is reduced below this, then it collapses to zero."] + #[doc = "Transfer some liquid free balance to another account."] #[doc = ""] - #[doc = "Emits `Created` event when successful."] + #[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."] + #[doc = "If the sender's account is below the existential deposit as a result"] + #[doc = "of the transfer, the account will be reaped."] #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub struct Create { + #[doc = "The dispatch origin for this call must be `Signed` by the transactor."] + pub struct TransferAllowDeath { + pub dest: transfer_allow_death::Dest, #[codec(compact)] - pub id: create::Id, - pub admin: create::Admin, - pub min_balance: create::MinBalance, + pub value: transfer_allow_death::Value, } - pub mod create { + pub mod transfer_allow_death { use super::runtime_types; - pub type Id = ::core::primitive::u128; - pub type Admin = ::subxt_core::utils::MultiAddress< + pub type Dest = ::subxt_core::utils::MultiAddress< ::subxt_core::utils::AccountId32, ::core::primitive::u32, >; - pub type MinBalance = ::core::primitive::u128; + pub type Value = ::core::primitive::u128; } - impl ::subxt_core::blocks::StaticExtrinsic for Create { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "create"; + impl ::subxt_core::blocks::StaticExtrinsic for TransferAllowDeath { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "transfer_allow_death"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -9340,159 +9756,29 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Issue a new class of fungible assets from a privileged origin."] - #[doc = ""] - #[doc = "This new asset class has no assets initially."] - #[doc = ""] - #[doc = "The origin must conform to `ForceOrigin`."] - #[doc = ""] - #[doc = "Unlike `create`, no funds are reserved."] - #[doc = ""] - #[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"] - #[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."] - #[doc = "- `owner`: The owner of this class of assets. The owner has full superuser permissions"] - #[doc = "over this asset, but may later change and configure the permissions using"] - #[doc = "`transfer_ownership` and `set_team`."] - #[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"] - #[doc = "have. If an account's balance is reduced below this, then it collapses to zero."] - #[doc = ""] - #[doc = "Emits `ForceCreated` event when successful."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub struct ForceCreate { - #[codec(compact)] - pub id: force_create::Id, - pub owner: force_create::Owner, - pub is_sufficient: force_create::IsSufficient, + #[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"] + #[doc = "may be specified."] + pub struct ForceTransfer { + pub source: force_transfer::Source, + pub dest: force_transfer::Dest, #[codec(compact)] - pub min_balance: force_create::MinBalance, + pub value: force_transfer::Value, } - pub mod force_create { + pub mod force_transfer { use super::runtime_types; - pub type Id = ::core::primitive::u128; - pub type Owner = ::subxt_core::utils::MultiAddress< + pub type Source = ::subxt_core::utils::MultiAddress< ::subxt_core::utils::AccountId32, ::core::primitive::u32, >; - pub type IsSufficient = ::core::primitive::bool; - pub type MinBalance = ::core::primitive::u128; - } - impl ::subxt_core::blocks::StaticExtrinsic for ForceCreate { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "force_create"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Start the process of destroying a fungible asset class."] - #[doc = ""] - #[doc = "`start_destroy` is the first in a series of extrinsics that should be called, to allow"] - #[doc = "destruction of an asset class."] - #[doc = ""] - #[doc = "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] - #[doc = " asset."] - #[doc = ""] - #[doc = "The asset class must be frozen before calling `start_destroy`."] - pub struct StartDestroy { - #[codec(compact)] - pub id: start_destroy::Id, - } - pub mod start_destroy { - use super::runtime_types; - pub type Id = ::core::primitive::u128; - } - impl ::subxt_core::blocks::StaticExtrinsic for StartDestroy { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "start_destroy"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Destroy all accounts associated with a given asset."] - #[doc = ""] - #[doc = "`destroy_accounts` should only be called after `start_destroy` has been called, and the"] - #[doc = "asset is in a `Destroying` state."] - #[doc = ""] - #[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"] - #[doc = "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] - #[doc = " asset."] - #[doc = ""] - #[doc = "Each call emits the `Event::DestroyedAccounts` event."] - pub struct DestroyAccounts { - #[codec(compact)] - pub id: destroy_accounts::Id, - } - pub mod destroy_accounts { - use super::runtime_types; - pub type Id = ::core::primitive::u128; - } - impl ::subxt_core::blocks::StaticExtrinsic for DestroyAccounts { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "destroy_accounts"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit)."] - #[doc = ""] - #[doc = "`destroy_approvals` should only be called after `start_destroy` has been called, and the"] - #[doc = "asset is in a `Destroying` state."] - #[doc = ""] - #[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"] - #[doc = "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] - #[doc = " asset."] - #[doc = ""] - #[doc = "Each call emits the `Event::DestroyedApprovals` event."] - pub struct DestroyApprovals { - #[codec(compact)] - pub id: destroy_approvals::Id, - } - pub mod destroy_approvals { - use super::runtime_types; - pub type Id = ::core::primitive::u128; + pub type Dest = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Value = ::core::primitive::u128; } - impl ::subxt_core::blocks::StaticExtrinsic for DestroyApprovals { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "destroy_approvals"; + impl ::subxt_core::blocks::StaticExtrinsic for ForceTransfer { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "force_transfer"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -9508,27 +9794,28 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Complete destroying asset and unreserve currency."] - #[doc = ""] - #[doc = "`finish_destroy` should only be called after `start_destroy` has been called, and the"] - #[doc = "asset is in a `Destroying` state. All accounts or approvals should be destroyed before"] - #[doc = "hand."] + #[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"] + #[doc = "kill the origin account."] #[doc = ""] - #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] - #[doc = " asset."] + #[doc = "99% of the time you want [`transfer_allow_death`] instead."] #[doc = ""] - #[doc = "Each successful call emits the `Event::Destroyed` event."] - pub struct FinishDestroy { + #[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"] + pub struct TransferKeepAlive { + pub dest: transfer_keep_alive::Dest, #[codec(compact)] - pub id: finish_destroy::Id, + pub value: transfer_keep_alive::Value, } - pub mod finish_destroy { + pub mod transfer_keep_alive { use super::runtime_types; - pub type Id = ::core::primitive::u128; + pub type Dest = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Value = ::core::primitive::u128; } - impl ::subxt_core::blocks::StaticExtrinsic for FinishDestroy { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "finish_destroy"; + impl ::subxt_core::blocks::StaticExtrinsic for TransferKeepAlive { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "transfer_keep_alive"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -9544,37 +9831,36 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Mint assets of a particular class."] - #[doc = ""] - #[doc = "The origin must be Signed and the sender must be the Issuer of the asset `id`."] + #[doc = "Transfer the entire transferable balance from the caller account."] #[doc = ""] - #[doc = "- `id`: The identifier of the asset to have some amount minted."] - #[doc = "- `beneficiary`: The account to be credited with the minted assets."] - #[doc = "- `amount`: The amount of the asset to be minted."] + #[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"] + #[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"] + #[doc = "transferred by this function. To ensure that this function results in a killed account,"] + #[doc = "you might need to prepare the account by removing any reference counters, storage"] + #[doc = "deposits, etc..."] #[doc = ""] - #[doc = "Emits `Issued` event when successful."] + #[doc = "The dispatch origin of this call must be Signed."] #[doc = ""] - #[doc = "Weight: `O(1)`"] - #[doc = "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`."] - pub struct Mint { - #[codec(compact)] - pub id: mint::Id, - pub beneficiary: mint::Beneficiary, - #[codec(compact)] - pub amount: mint::Amount, + #[doc = "- `dest`: The recipient of the transfer."] + #[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"] + #[doc = " of the funds the account has, causing the sender account to be killed (false), or"] + #[doc = " transfer everything except at least the existential deposit, which will guarantee to"] + #[doc = " keep the sender account alive (true)."] + pub struct TransferAll { + pub dest: transfer_all::Dest, + pub keep_alive: transfer_all::KeepAlive, } - pub mod mint { + pub mod transfer_all { use super::runtime_types; - pub type Id = ::core::primitive::u128; - pub type Beneficiary = ::subxt_core::utils::MultiAddress< + pub type Dest = ::subxt_core::utils::MultiAddress< ::subxt_core::utils::AccountId32, ::core::primitive::u32, >; - pub type Amount = ::core::primitive::u128; + pub type KeepAlive = ::core::primitive::bool; } - impl ::subxt_core::blocks::StaticExtrinsic for Mint { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "mint"; + impl ::subxt_core::blocks::StaticExtrinsic for TransferAll { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "transfer_all"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -9590,40 +9876,24 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender should be the Manager of the asset `id`."] - #[doc = ""] - #[doc = "Bails with `NoAccount` if the `who` is already dead."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to have some amount burned."] - #[doc = "- `who`: The account to be debited from."] - #[doc = "- `amount`: The maximum amount by which `who`'s balance should be reduced."] - #[doc = ""] - #[doc = "Emits `Burned` with the actual amount burned. If this takes the balance to below the"] - #[doc = "minimum for the asset, then the amount burned is increased to take it to zero."] + #[doc = "Unreserve some balance from a user by force."] #[doc = ""] - #[doc = "Weight: `O(1)`"] - #[doc = "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`."] - pub struct Burn { - #[codec(compact)] - pub id: burn::Id, - pub who: burn::Who, - #[codec(compact)] - pub amount: burn::Amount, + #[doc = "Can only be called by ROOT."] + pub struct ForceUnreserve { + pub who: force_unreserve::Who, + pub amount: force_unreserve::Amount, } - pub mod burn { + pub mod force_unreserve { use super::runtime_types; - pub type Id = ::core::primitive::u128; pub type Who = ::subxt_core::utils::MultiAddress< ::subxt_core::utils::AccountId32, ::core::primitive::u32, >; pub type Amount = ::core::primitive::u128; } - impl ::subxt_core::blocks::StaticExtrinsic for Burn { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "burn"; + impl ::subxt_core::blocks::StaticExtrinsic for ForceUnreserve { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "force_unreserve"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -9639,43 +9909,24 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Move some assets from the sender account to another."] - #[doc = ""] - #[doc = "Origin must be Signed."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to have some amount transferred."] - #[doc = "- `target`: The account to be credited."] - #[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"] - #[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"] - #[doc = "the case that the transfer would otherwise take the sender balance above zero but below"] - #[doc = "the minimum balance. Must be greater than zero."] + #[doc = "Upgrade a specified account."] #[doc = ""] - #[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"] - #[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"] - #[doc = "to zero."] + #[doc = "- `origin`: Must be `Signed`."] + #[doc = "- `who`: The account to be upgraded."] #[doc = ""] - #[doc = "Weight: `O(1)`"] - #[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"] - #[doc = "`target`."] - pub struct Transfer { - #[codec(compact)] - pub id: transfer::Id, - pub target: transfer::Target, - #[codec(compact)] - pub amount: transfer::Amount, + #[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"] + #[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"] + #[doc = "possibility of churn)."] + pub struct UpgradeAccounts { + pub who: upgrade_accounts::Who, } - pub mod transfer { + pub mod upgrade_accounts { use super::runtime_types; - pub type Id = ::core::primitive::u128; - pub type Target = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Amount = ::core::primitive::u128; + pub type Who = ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; } - impl ::subxt_core::blocks::StaticExtrinsic for Transfer { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "transfer"; + impl ::subxt_core::blocks::StaticExtrinsic for UpgradeAccounts { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "upgrade_accounts"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -9691,43 +9942,25 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Move some assets from the sender account to another, keeping the sender account alive."] - #[doc = ""] - #[doc = "Origin must be Signed."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to have some amount transferred."] - #[doc = "- `target`: The account to be credited."] - #[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"] - #[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"] - #[doc = "the case that the transfer would otherwise take the sender balance above zero but below"] - #[doc = "the minimum balance. Must be greater than zero."] - #[doc = ""] - #[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"] - #[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"] - #[doc = "to zero."] + #[doc = "Set the regular balance of a given account."] #[doc = ""] - #[doc = "Weight: `O(1)`"] - #[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"] - #[doc = "`target`."] - pub struct TransferKeepAlive { - #[codec(compact)] - pub id: transfer_keep_alive::Id, - pub target: transfer_keep_alive::Target, + #[doc = "The dispatch origin for this call is `root`."] + pub struct ForceSetBalance { + pub who: force_set_balance::Who, #[codec(compact)] - pub amount: transfer_keep_alive::Amount, + pub new_free: force_set_balance::NewFree, } - pub mod transfer_keep_alive { + pub mod force_set_balance { use super::runtime_types; - pub type Id = ::core::primitive::u128; - pub type Target = ::subxt_core::utils::MultiAddress< + pub type Who = ::subxt_core::utils::MultiAddress< ::subxt_core::utils::AccountId32, ::core::primitive::u32, >; - pub type Amount = ::core::primitive::u128; + pub type NewFree = ::core::primitive::u128; } - impl ::subxt_core::blocks::StaticExtrinsic for TransferKeepAlive { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "transfer_keep_alive"; + impl ::subxt_core::blocks::StaticExtrinsic for ForceSetBalance { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "force_set_balance"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -9743,49 +9976,24 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Move some assets from one account to another."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to have some amount transferred."] - #[doc = "- `source`: The account to be debited."] - #[doc = "- `dest`: The account to be credited."] - #[doc = "- `amount`: The amount by which the `source`'s balance of assets should be reduced and"] - #[doc = "`dest`'s balance increased. The amount actually transferred may be slightly greater in"] - #[doc = "the case that the transfer would otherwise take the `source` balance above zero but"] - #[doc = "below the minimum balance. Must be greater than zero."] + #[doc = "Adjust the total issuance in a saturating way."] #[doc = ""] - #[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"] - #[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"] - #[doc = "to zero."] + #[doc = "Can only be called by root and always needs a positive `delta`."] #[doc = ""] - #[doc = "Weight: `O(1)`"] - #[doc = "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of"] - #[doc = "`dest`."] - pub struct ForceTransfer { - #[codec(compact)] - pub id: force_transfer::Id, - pub source: force_transfer::Source, - pub dest: force_transfer::Dest, + #[doc = "# Example"] + pub struct ForceAdjustTotalIssuance { + pub direction: force_adjust_total_issuance::Direction, #[codec(compact)] - pub amount: force_transfer::Amount, + pub delta: force_adjust_total_issuance::Delta, } - pub mod force_transfer { + pub mod force_adjust_total_issuance { use super::runtime_types; - pub type Id = ::core::primitive::u128; - pub type Source = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Dest = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Amount = ::core::primitive::u128; + pub type Direction = runtime_types::pallet_balances::types::AdjustmentDirection; + pub type Delta = ::core::primitive::u128; } - impl ::subxt_core::blocks::StaticExtrinsic for ForceTransfer { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "force_transfer"; + impl ::subxt_core::blocks::StaticExtrinsic for ForceAdjustTotalIssuance { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "force_adjust_total_issuance"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -9801,3685 +10009,234 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`"] - #[doc = "must already exist as an entry in `Account`s of the asset. If you want to freeze an"] - #[doc = "account that does not have an entry, use `touch_other` first."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to be frozen."] - #[doc = "- `who`: The account to be frozen."] + #[doc = "Burn the specified liquid free balance from the origin account."] #[doc = ""] - #[doc = "Emits `Frozen`."] + #[doc = "If the origin's account ends up below the existential deposit as a result"] + #[doc = "of the burn and `keep_alive` is false, the account will be reaped."] #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub struct Freeze { + #[doc = "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,"] + #[doc = "this `burn` operation will reduce total issuance by the amount _burned_."] + pub struct Burn { #[codec(compact)] - pub id: freeze::Id, - pub who: freeze::Who, + pub value: burn::Value, + pub keep_alive: burn::KeepAlive, } - pub mod freeze { + pub mod burn { use super::runtime_types; - pub type Id = ::core::primitive::u128; - pub type Who = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; + pub type Value = ::core::primitive::u128; + pub type KeepAlive = ::core::primitive::bool; } - impl ::subxt_core::blocks::StaticExtrinsic for Freeze { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "freeze"; + impl ::subxt_core::blocks::StaticExtrinsic for Burn { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "burn"; } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Allow unprivileged transfers to and from an account again."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."] + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Transfer some liquid free balance to another account."] #[doc = ""] - #[doc = "- `id`: The identifier of the asset to be frozen."] - #[doc = "- `who`: The account to be unfrozen."] + #[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."] + #[doc = "If the sender's account is below the existential deposit as a result"] + #[doc = "of the transfer, the account will be reaped."] #[doc = ""] - #[doc = "Emits `Thawed`."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub struct Thaw { - #[codec(compact)] - pub id: thaw::Id, - pub who: thaw::Who, - } - pub mod thaw { - use super::runtime_types; - pub type Id = ::core::primitive::u128; - pub type Who = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - } - impl ::subxt_core::blocks::StaticExtrinsic for Thaw { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "thaw"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Disallow further unprivileged transfers for the asset class."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to be frozen."] - #[doc = ""] - #[doc = "Emits `Frozen`."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub struct FreezeAsset { - #[codec(compact)] - pub id: freeze_asset::Id, - } - pub mod freeze_asset { - use super::runtime_types; - pub type Id = ::core::primitive::u128; + #[doc = "The dispatch origin for this call must be `Signed` by the transactor."] + pub fn transfer_allow_death( + &self, + dest: types::transfer_allow_death::Dest, + value: types::transfer_allow_death::Value, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Balances", + "transfer_allow_death", + types::TransferAllowDeath { dest, value }, + [ + 24u8, 176u8, 111u8, 60u8, 103u8, 161u8, 139u8, 10u8, 197u8, 207u8, + 140u8, 212u8, 166u8, 50u8, 47u8, 150u8, 83u8, 180u8, 86u8, 4u8, 159u8, + 84u8, 195u8, 71u8, 204u8, 109u8, 233u8, 23u8, 10u8, 156u8, 209u8, + 153u8, + ], + ) } - impl ::subxt_core::blocks::StaticExtrinsic for FreezeAsset { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "freeze_asset"; + #[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"] + #[doc = "may be specified."] + pub fn force_transfer( + &self, + source: types::force_transfer::Source, + dest: types::force_transfer::Dest, + value: types::force_transfer::Value, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Balances", + "force_transfer", + types::ForceTransfer { source, dest, value }, + [ + 23u8, 7u8, 44u8, 138u8, 180u8, 140u8, 216u8, 52u8, 198u8, 3u8, 225u8, + 116u8, 47u8, 26u8, 61u8, 163u8, 55u8, 64u8, 113u8, 250u8, 192u8, 16u8, + 228u8, 228u8, 85u8, 255u8, 100u8, 128u8, 245u8, 132u8, 84u8, 186u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Allow unprivileged transfers for the asset again."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to be thawed."] + #[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"] + #[doc = "kill the origin account."] #[doc = ""] - #[doc = "Emits `Thawed`."] + #[doc = "99% of the time you want [`transfer_allow_death`] instead."] #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub struct ThawAsset { - #[codec(compact)] - pub id: thaw_asset::Id, - } - pub mod thaw_asset { - use super::runtime_types; - pub type Id = ::core::primitive::u128; - } - impl ::subxt_core::blocks::StaticExtrinsic for ThawAsset { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "thaw_asset"; + #[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"] + pub fn transfer_keep_alive( + &self, + dest: types::transfer_keep_alive::Dest, + value: types::transfer_keep_alive::Value, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Balances", + "transfer_keep_alive", + types::TransferKeepAlive { dest, value }, + [ + 196u8, 51u8, 121u8, 239u8, 68u8, 97u8, 174u8, 26u8, 21u8, 9u8, 111u8, + 224u8, 189u8, 35u8, 106u8, 30u8, 83u8, 184u8, 234u8, 174u8, 27u8, + 197u8, 40u8, 126u8, 197u8, 92u8, 201u8, 253u8, 144u8, 175u8, 8u8, + 215u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Change the Owner of an asset."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] + #[doc = "Transfer the entire transferable balance from the caller account."] #[doc = ""] - #[doc = "- `id`: The identifier of the asset."] - #[doc = "- `owner`: The new Owner of this asset."] + #[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"] + #[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"] + #[doc = "transferred by this function. To ensure that this function results in a killed account,"] + #[doc = "you might need to prepare the account by removing any reference counters, storage"] + #[doc = "deposits, etc..."] #[doc = ""] - #[doc = "Emits `OwnerChanged`."] + #[doc = "The dispatch origin of this call must be Signed."] #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub struct TransferOwnership { - #[codec(compact)] - pub id: transfer_ownership::Id, - pub owner: transfer_ownership::Owner, - } - pub mod transfer_ownership { - use super::runtime_types; - pub type Id = ::core::primitive::u128; - pub type Owner = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - } - impl ::subxt_core::blocks::StaticExtrinsic for TransferOwnership { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "transfer_ownership"; + #[doc = "- `dest`: The recipient of the transfer."] + #[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"] + #[doc = " of the funds the account has, causing the sender account to be killed (false), or"] + #[doc = " transfer everything except at least the existential deposit, which will guarantee to"] + #[doc = " keep the sender account alive (true)."] + pub fn transfer_all( + &self, + dest: types::transfer_all::Dest, + keep_alive: types::transfer_all::KeepAlive, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Balances", + "transfer_all", + types::TransferAll { dest, keep_alive }, + [ + 13u8, 46u8, 127u8, 231u8, 179u8, 61u8, 45u8, 188u8, 195u8, 251u8, + 146u8, 25u8, 138u8, 19u8, 52u8, 112u8, 148u8, 241u8, 134u8, 145u8, + 97u8, 9u8, 199u8, 172u8, 229u8, 239u8, 67u8, 185u8, 128u8, 36u8, 134u8, + 122u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Change the Issuer, Admin and Freezer of an asset."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to be frozen."] - #[doc = "- `issuer`: The new Issuer of this asset."] - #[doc = "- `admin`: The new Admin of this asset."] - #[doc = "- `freezer`: The new Freezer of this asset."] - #[doc = ""] - #[doc = "Emits `TeamChanged`."] + #[doc = "Unreserve some balance from a user by force."] #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub struct SetTeam { - #[codec(compact)] - pub id: set_team::Id, - pub issuer: set_team::Issuer, - pub admin: set_team::Admin, - pub freezer: set_team::Freezer, - } - pub mod set_team { - use super::runtime_types; - pub type Id = ::core::primitive::u128; - pub type Issuer = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Admin = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Freezer = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - } - impl ::subxt_core::blocks::StaticExtrinsic for SetTeam { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "set_team"; + #[doc = "Can only be called by ROOT."] + pub fn force_unreserve( + &self, + who: types::force_unreserve::Who, + amount: types::force_unreserve::Amount, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Balances", + "force_unreserve", + types::ForceUnreserve { who, amount }, + [ + 176u8, 105u8, 20u8, 111u8, 49u8, 253u8, 22u8, 225u8, 0u8, 81u8, 221u8, + 39u8, 62u8, 22u8, 95u8, 12u8, 21u8, 251u8, 179u8, 31u8, 104u8, 23u8, + 34u8, 216u8, 119u8, 205u8, 133u8, 196u8, 182u8, 113u8, 36u8, 93u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Set the metadata for an asset."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] - #[doc = ""] - #[doc = "Funds of sender are reserved according to the formula:"] - #[doc = "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into"] - #[doc = "account any already reserved funds."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to update."] - #[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."] - #[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."] - #[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."] + #[doc = "Upgrade a specified account."] #[doc = ""] - #[doc = "Emits `MetadataSet`."] + #[doc = "- `origin`: Must be `Signed`."] + #[doc = "- `who`: The account to be upgraded."] #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub struct SetMetadata { - #[codec(compact)] - pub id: set_metadata::Id, - pub name: set_metadata::Name, - pub symbol: set_metadata::Symbol, - pub decimals: set_metadata::Decimals, - } - pub mod set_metadata { - use super::runtime_types; - pub type Id = ::core::primitive::u128; - pub type Name = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; - pub type Symbol = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; - pub type Decimals = ::core::primitive::u8; - } - impl ::subxt_core::blocks::StaticExtrinsic for SetMetadata { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "set_metadata"; + #[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"] + #[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"] + #[doc = "possibility of churn)."] + pub fn upgrade_accounts( + &self, + who: types::upgrade_accounts::Who, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Balances", + "upgrade_accounts", + types::UpgradeAccounts { who }, + [ + 66u8, 200u8, 179u8, 104u8, 65u8, 2u8, 101u8, 56u8, 130u8, 161u8, 224u8, + 233u8, 255u8, 124u8, 70u8, 122u8, 8u8, 49u8, 103u8, 178u8, 68u8, 47u8, + 214u8, 166u8, 217u8, 116u8, 178u8, 50u8, 212u8, 164u8, 98u8, 226u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Clear the metadata for an asset."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] - #[doc = ""] - #[doc = "Any deposit is freed for the asset owner."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to clear."] - #[doc = ""] - #[doc = "Emits `MetadataCleared`."] + #[doc = "Set the regular balance of a given account."] #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub struct ClearMetadata { - #[codec(compact)] - pub id: clear_metadata::Id, - } - pub mod clear_metadata { - use super::runtime_types; - pub type Id = ::core::primitive::u128; - } - impl ::subxt_core::blocks::StaticExtrinsic for ClearMetadata { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "clear_metadata"; + #[doc = "The dispatch origin for this call is `root`."] + pub fn force_set_balance( + &self, + who: types::force_set_balance::Who, + new_free: types::force_set_balance::NewFree, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Balances", + "force_set_balance", + types::ForceSetBalance { who, new_free }, + [ + 101u8, 181u8, 86u8, 32u8, 61u8, 75u8, 34u8, 164u8, 142u8, 250u8, 7u8, + 218u8, 125u8, 57u8, 98u8, 222u8, 147u8, 26u8, 115u8, 185u8, 190u8, + 172u8, 12u8, 212u8, 132u8, 80u8, 253u8, 69u8, 26u8, 116u8, 197u8, + 203u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Force the metadata for an asset to some value."] - #[doc = ""] - #[doc = "Origin must be ForceOrigin."] - #[doc = ""] - #[doc = "Any deposit is left alone."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to update."] - #[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."] - #[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."] - #[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."] + #[doc = "Adjust the total issuance in a saturating way."] #[doc = ""] - #[doc = "Emits `MetadataSet`."] + #[doc = "Can only be called by root and always needs a positive `delta`."] #[doc = ""] - #[doc = "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively."] - pub struct ForceSetMetadata { - #[codec(compact)] - pub id: force_set_metadata::Id, - pub name: force_set_metadata::Name, - pub symbol: force_set_metadata::Symbol, - pub decimals: force_set_metadata::Decimals, - pub is_frozen: force_set_metadata::IsFrozen, - } - pub mod force_set_metadata { - use super::runtime_types; - pub type Id = ::core::primitive::u128; - pub type Name = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; - pub type Symbol = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; - pub type Decimals = ::core::primitive::u8; - pub type IsFrozen = ::core::primitive::bool; - } - impl ::subxt_core::blocks::StaticExtrinsic for ForceSetMetadata { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "force_set_metadata"; + #[doc = "# Example"] + pub fn force_adjust_total_issuance( + &self, + direction: types::force_adjust_total_issuance::Direction, + delta: types::force_adjust_total_issuance::Delta, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Balances", + "force_adjust_total_issuance", + types::ForceAdjustTotalIssuance { direction, delta }, + [ + 208u8, 134u8, 56u8, 133u8, 232u8, 164u8, 10u8, 213u8, 53u8, 193u8, + 190u8, 63u8, 236u8, 186u8, 96u8, 122u8, 104u8, 87u8, 173u8, 38u8, 58u8, + 176u8, 21u8, 78u8, 42u8, 106u8, 46u8, 248u8, 251u8, 190u8, 150u8, + 202u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Clear the metadata for an asset."] - #[doc = ""] - #[doc = "Origin must be ForceOrigin."] - #[doc = ""] - #[doc = "Any deposit is returned."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to clear."] + #[doc = "Burn the specified liquid free balance from the origin account."] #[doc = ""] - #[doc = "Emits `MetadataCleared`."] + #[doc = "If the origin's account ends up below the existential deposit as a result"] + #[doc = "of the burn and `keep_alive` is false, the account will be reaped."] #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub struct ForceClearMetadata { - #[codec(compact)] - pub id: force_clear_metadata::Id, - } - pub mod force_clear_metadata { - use super::runtime_types; - pub type Id = ::core::primitive::u128; - } - impl ::subxt_core::blocks::StaticExtrinsic for ForceClearMetadata { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "force_clear_metadata"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Alter the attributes of a given asset."] - #[doc = ""] - #[doc = "Origin must be `ForceOrigin`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset."] - #[doc = "- `owner`: The new Owner of this asset."] - #[doc = "- `issuer`: The new Issuer of this asset."] - #[doc = "- `admin`: The new Admin of this asset."] - #[doc = "- `freezer`: The new Freezer of this asset."] - #[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"] - #[doc = "have. If an account's balance is reduced below this, then it collapses to zero."] - #[doc = "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient"] - #[doc = "value to account for the state bloat associated with its balance storage. If set to"] - #[doc = "`true`, then non-zero balances may be stored without a `consumer` reference (and thus"] - #[doc = "an ED in the Balances pallet or whatever else is used to control user-account state"] - #[doc = "growth)."] - #[doc = "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin"] - #[doc = "instructions."] - #[doc = ""] - #[doc = "Emits `AssetStatusChanged` with the identity of the asset."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub struct ForceAssetStatus { - #[codec(compact)] - pub id: force_asset_status::Id, - pub owner: force_asset_status::Owner, - pub issuer: force_asset_status::Issuer, - pub admin: force_asset_status::Admin, - pub freezer: force_asset_status::Freezer, - #[codec(compact)] - pub min_balance: force_asset_status::MinBalance, - pub is_sufficient: force_asset_status::IsSufficient, - pub is_frozen: force_asset_status::IsFrozen, - } - pub mod force_asset_status { - use super::runtime_types; - pub type Id = ::core::primitive::u128; - pub type Owner = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Issuer = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Admin = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Freezer = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type MinBalance = ::core::primitive::u128; - pub type IsSufficient = ::core::primitive::bool; - pub type IsFrozen = ::core::primitive::bool; - } - impl ::subxt_core::blocks::StaticExtrinsic for ForceAssetStatus { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "force_asset_status"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Approve an amount of asset for transfer by a delegated third-party account."] - #[doc = ""] - #[doc = "Origin must be Signed."] - #[doc = ""] - #[doc = "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account"] - #[doc = "for the purpose of holding the approval. If some non-zero amount of assets is already"] - #[doc = "approved from signing account to `delegate`, then it is topped up or unreserved to"] - #[doc = "meet the right value."] - #[doc = ""] - #[doc = "NOTE: The signing account does not need to own `amount` of assets at the point of"] - #[doc = "making this call."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset."] - #[doc = "- `delegate`: The account to delegate permission to transfer asset."] - #[doc = "- `amount`: The amount of asset that may be transferred by `delegate`. If there is"] - #[doc = "already an approval in place, then this acts additively."] - #[doc = ""] - #[doc = "Emits `ApprovedTransfer` on success."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub struct ApproveTransfer { - #[codec(compact)] - pub id: approve_transfer::Id, - pub delegate: approve_transfer::Delegate, - #[codec(compact)] - pub amount: approve_transfer::Amount, - } - pub mod approve_transfer { - use super::runtime_types; - pub type Id = ::core::primitive::u128; - pub type Delegate = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Amount = ::core::primitive::u128; - } - impl ::subxt_core::blocks::StaticExtrinsic for ApproveTransfer { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "approve_transfer"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."] - #[doc = ""] - #[doc = "Origin must be Signed and there must be an approval in place between signer and"] - #[doc = "`delegate`."] - #[doc = ""] - #[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset."] - #[doc = "- `delegate`: The account delegated permission to transfer asset."] - #[doc = ""] - #[doc = "Emits `ApprovalCancelled` on success."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub struct CancelApproval { - #[codec(compact)] - pub id: cancel_approval::Id, - pub delegate: cancel_approval::Delegate, - } - pub mod cancel_approval { - use super::runtime_types; - pub type Id = ::core::primitive::u128; - pub type Delegate = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - } - impl ::subxt_core::blocks::StaticExtrinsic for CancelApproval { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "cancel_approval"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."] - #[doc = ""] - #[doc = "Origin must be either ForceOrigin or Signed origin with the signer being the Admin"] - #[doc = "account of the asset `id`."] - #[doc = ""] - #[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset."] - #[doc = "- `delegate`: The account delegated permission to transfer asset."] - #[doc = ""] - #[doc = "Emits `ApprovalCancelled` on success."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub struct ForceCancelApproval { - #[codec(compact)] - pub id: force_cancel_approval::Id, - pub owner: force_cancel_approval::Owner, - pub delegate: force_cancel_approval::Delegate, - } - pub mod force_cancel_approval { - use super::runtime_types; - pub type Id = ::core::primitive::u128; - pub type Owner = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Delegate = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - } - impl ::subxt_core::blocks::StaticExtrinsic for ForceCancelApproval { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "force_cancel_approval"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Transfer some asset balance from a previously delegated account to some third-party"] - #[doc = "account."] - #[doc = ""] - #[doc = "Origin must be Signed and there must be an approval in place by the `owner` to the"] - #[doc = "signer."] - #[doc = ""] - #[doc = "If the entire amount approved for transfer is transferred, then any deposit previously"] - #[doc = "reserved by `approve_transfer` is unreserved."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset."] - #[doc = "- `owner`: The account which previously approved for a transfer of at least `amount` and"] - #[doc = "from which the asset balance will be withdrawn."] - #[doc = "- `destination`: The account to which the asset balance of `amount` will be transferred."] - #[doc = "- `amount`: The amount of assets to transfer."] - #[doc = ""] - #[doc = "Emits `TransferredApproved` on success."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub struct TransferApproved { - #[codec(compact)] - pub id: transfer_approved::Id, - pub owner: transfer_approved::Owner, - pub destination: transfer_approved::Destination, - #[codec(compact)] - pub amount: transfer_approved::Amount, - } - pub mod transfer_approved { - use super::runtime_types; - pub type Id = ::core::primitive::u128; - pub type Owner = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Destination = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Amount = ::core::primitive::u128; - } - impl ::subxt_core::blocks::StaticExtrinsic for TransferApproved { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "transfer_approved"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Create an asset account for non-provider assets."] - #[doc = ""] - #[doc = "A deposit will be taken from the signer account."] - #[doc = ""] - #[doc = "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit"] - #[doc = " to be taken."] - #[doc = "- `id`: The identifier of the asset for the account to be created."] - #[doc = ""] - #[doc = "Emits `Touched` event when successful."] - pub struct Touch { - #[codec(compact)] - pub id: touch::Id, - } - pub mod touch { - use super::runtime_types; - pub type Id = ::core::primitive::u128; - } - impl ::subxt_core::blocks::StaticExtrinsic for Touch { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "touch"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Return the deposit (if any) of an asset account or a consumer reference (if any) of an"] - #[doc = "account."] - #[doc = ""] - #[doc = "The origin must be Signed."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset for which the caller would like the deposit"] - #[doc = " refunded."] - #[doc = "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund."] - #[doc = ""] - #[doc = "Emits `Refunded` event when successful."] - pub struct Refund { - #[codec(compact)] - pub id: refund::Id, - pub allow_burn: refund::AllowBurn, - } - pub mod refund { - use super::runtime_types; - pub type Id = ::core::primitive::u128; - pub type AllowBurn = ::core::primitive::bool; - } - impl ::subxt_core::blocks::StaticExtrinsic for Refund { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "refund"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Sets the minimum balance of an asset."] - #[doc = ""] - #[doc = "Only works if there aren't any accounts that are holding the asset or if"] - #[doc = "the new value of `min_balance` is less than the old one."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender has to be the Owner of the"] - #[doc = "asset `id`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset."] - #[doc = "- `min_balance`: The new value of `min_balance`."] - #[doc = ""] - #[doc = "Emits `AssetMinBalanceChanged` event when successful."] - pub struct SetMinBalance { - #[codec(compact)] - pub id: set_min_balance::Id, - pub min_balance: set_min_balance::MinBalance, - } - pub mod set_min_balance { - use super::runtime_types; - pub type Id = ::core::primitive::u128; - pub type MinBalance = ::core::primitive::u128; - } - impl ::subxt_core::blocks::StaticExtrinsic for SetMinBalance { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "set_min_balance"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Create an asset account for `who`."] - #[doc = ""] - #[doc = "A deposit will be taken from the signer account."] - #[doc = ""] - #[doc = "- `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account"] - #[doc = " must have sufficient funds for a deposit to be taken."] - #[doc = "- `id`: The identifier of the asset for the account to be created."] - #[doc = "- `who`: The account to be created."] - #[doc = ""] - #[doc = "Emits `Touched` event when successful."] - pub struct TouchOther { - #[codec(compact)] - pub id: touch_other::Id, - pub who: touch_other::Who, - } - pub mod touch_other { - use super::runtime_types; - pub type Id = ::core::primitive::u128; - pub type Who = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - } - impl ::subxt_core::blocks::StaticExtrinsic for TouchOther { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "touch_other"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Return the deposit (if any) of a target asset account. Useful if you are the depositor."] - #[doc = ""] - #[doc = "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In"] - #[doc = "order to burn a non-zero balance of the asset, the caller must be the account and should"] - #[doc = "use `refund`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset for the account holding a deposit."] - #[doc = "- `who`: The account to refund."] - #[doc = ""] - #[doc = "Emits `Refunded` event when successful."] - pub struct RefundOther { - #[codec(compact)] - pub id: refund_other::Id, - pub who: refund_other::Who, - } - pub mod refund_other { - use super::runtime_types; - pub type Id = ::core::primitive::u128; - pub type Who = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - } - impl ::subxt_core::blocks::StaticExtrinsic for RefundOther { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "refund_other"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Disallow further unprivileged transfers of an asset `id` to and from an account `who`."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the account's asset."] - #[doc = "- `who`: The account to be unblocked."] - #[doc = ""] - #[doc = "Emits `Blocked`."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub struct Block { - #[codec(compact)] - pub id: block::Id, - pub who: block::Who, - } - pub mod block { - use super::runtime_types; - pub type Id = ::core::primitive::u128; - pub type Who = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - } - impl ::subxt_core::blocks::StaticExtrinsic for Block { - const PALLET: &'static str = "PoolAssets"; - const CALL: &'static str = "block"; - } - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "Issue a new class of fungible assets from a public origin."] - #[doc = ""] - #[doc = "This new asset class has no assets initially and its owner is the origin."] - #[doc = ""] - #[doc = "The origin must conform to the configured `CreateOrigin` and have sufficient funds free."] - #[doc = ""] - #[doc = "Funds of sender are reserved by `AssetDeposit`."] - #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"] - #[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."] - #[doc = "- `admin`: The admin of this class of assets. The admin is the initial address of each"] - #[doc = "member of the asset class's admin team."] - #[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"] - #[doc = "have. If an account's balance is reduced below this, then it collapses to zero."] - #[doc = ""] - #[doc = "Emits `Created` event when successful."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub fn create( - &self, - id: types::create::Id, - admin: types::create::Admin, - min_balance: types::create::MinBalance, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "create", - types::Create { id, admin, min_balance }, - [ - 208u8, 49u8, 18u8, 129u8, 207u8, 238u8, 192u8, 47u8, 139u8, 86u8, 78u8, - 41u8, 244u8, 56u8, 244u8, 63u8, 191u8, 157u8, 97u8, 199u8, 89u8, 243u8, - 146u8, 188u8, 103u8, 20u8, 244u8, 207u8, 177u8, 114u8, 180u8, 186u8, - ], - ) - } - #[doc = "Issue a new class of fungible assets from a privileged origin."] - #[doc = ""] - #[doc = "This new asset class has no assets initially."] - #[doc = ""] - #[doc = "The origin must conform to `ForceOrigin`."] - #[doc = ""] - #[doc = "Unlike `create`, no funds are reserved."] - #[doc = ""] - #[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"] - #[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."] - #[doc = "- `owner`: The owner of this class of assets. The owner has full superuser permissions"] - #[doc = "over this asset, but may later change and configure the permissions using"] - #[doc = "`transfer_ownership` and `set_team`."] - #[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"] - #[doc = "have. If an account's balance is reduced below this, then it collapses to zero."] - #[doc = ""] - #[doc = "Emits `ForceCreated` event when successful."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub fn force_create( - &self, - id: types::force_create::Id, - owner: types::force_create::Owner, - is_sufficient: types::force_create::IsSufficient, - min_balance: types::force_create::MinBalance, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "force_create", - types::ForceCreate { id, owner, is_sufficient, min_balance }, - [ - 166u8, 39u8, 43u8, 6u8, 142u8, 204u8, 19u8, 177u8, 213u8, 77u8, 153u8, - 14u8, 160u8, 23u8, 77u8, 79u8, 30u8, 126u8, 107u8, 92u8, 216u8, 244u8, - 195u8, 178u8, 8u8, 247u8, 63u8, 116u8, 205u8, 189u8, 148u8, 27u8, - ], - ) - } - #[doc = "Start the process of destroying a fungible asset class."] - #[doc = ""] - #[doc = "`start_destroy` is the first in a series of extrinsics that should be called, to allow"] - #[doc = "destruction of an asset class."] - #[doc = ""] - #[doc = "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] - #[doc = " asset."] - #[doc = ""] - #[doc = "The asset class must be frozen before calling `start_destroy`."] - pub fn start_destroy( - &self, - id: types::start_destroy::Id, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "start_destroy", - types::StartDestroy { id }, - [ - 36u8, 72u8, 6u8, 145u8, 192u8, 32u8, 10u8, 242u8, 40u8, 2u8, 163u8, - 102u8, 214u8, 89u8, 25u8, 174u8, 20u8, 151u8, 224u8, 238u8, 117u8, - 94u8, 174u8, 58u8, 77u8, 73u8, 19u8, 15u8, 232u8, 60u8, 150u8, 1u8, - ], - ) - } - #[doc = "Destroy all accounts associated with a given asset."] - #[doc = ""] - #[doc = "`destroy_accounts` should only be called after `start_destroy` has been called, and the"] - #[doc = "asset is in a `Destroying` state."] - #[doc = ""] - #[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"] - #[doc = "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] - #[doc = " asset."] - #[doc = ""] - #[doc = "Each call emits the `Event::DestroyedAccounts` event."] - pub fn destroy_accounts( - &self, - id: types::destroy_accounts::Id, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "destroy_accounts", - types::DestroyAccounts { id }, - [ - 195u8, 7u8, 198u8, 206u8, 127u8, 210u8, 166u8, 3u8, 39u8, 199u8, 24u8, - 142u8, 239u8, 117u8, 217u8, 110u8, 125u8, 75u8, 89u8, 240u8, 180u8, - 96u8, 72u8, 136u8, 36u8, 10u8, 34u8, 196u8, 112u8, 131u8, 238u8, 121u8, - ], - ) - } - #[doc = "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit)."] - #[doc = ""] - #[doc = "`destroy_approvals` should only be called after `start_destroy` has been called, and the"] - #[doc = "asset is in a `Destroying` state."] - #[doc = ""] - #[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"] - #[doc = "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] - #[doc = " asset."] - #[doc = ""] - #[doc = "Each call emits the `Event::DestroyedApprovals` event."] - pub fn destroy_approvals( - &self, - id: types::destroy_approvals::Id, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "destroy_approvals", - types::DestroyApprovals { id }, - [ - 215u8, 174u8, 117u8, 99u8, 201u8, 118u8, 171u8, 136u8, 37u8, 121u8, - 209u8, 53u8, 154u8, 45u8, 28u8, 201u8, 186u8, 120u8, 4u8, 63u8, 142u8, - 222u8, 92u8, 245u8, 149u8, 219u8, 91u8, 186u8, 224u8, 173u8, 186u8, - 236u8, - ], - ) - } - #[doc = "Complete destroying asset and unreserve currency."] - #[doc = ""] - #[doc = "`finish_destroy` should only be called after `start_destroy` has been called, and the"] - #[doc = "asset is in a `Destroying` state. All accounts or approvals should be destroyed before"] - #[doc = "hand."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] - #[doc = " asset."] - #[doc = ""] - #[doc = "Each successful call emits the `Event::Destroyed` event."] - pub fn finish_destroy( - &self, - id: types::finish_destroy::Id, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "finish_destroy", - types::FinishDestroy { id }, - [ - 235u8, 198u8, 160u8, 5u8, 223u8, 83u8, 17u8, 160u8, 183u8, 81u8, 61u8, - 171u8, 23u8, 98u8, 39u8, 234u8, 65u8, 197u8, 193u8, 39u8, 175u8, 142u8, - 138u8, 169u8, 148u8, 136u8, 152u8, 75u8, 21u8, 33u8, 159u8, 221u8, - ], - ) - } - #[doc = "Mint assets of a particular class."] - #[doc = ""] - #[doc = "The origin must be Signed and the sender must be the Issuer of the asset `id`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to have some amount minted."] - #[doc = "- `beneficiary`: The account to be credited with the minted assets."] - #[doc = "- `amount`: The amount of the asset to be minted."] - #[doc = ""] - #[doc = "Emits `Issued` event when successful."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - #[doc = "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`."] - pub fn mint( - &self, - id: types::mint::Id, - beneficiary: types::mint::Beneficiary, - amount: types::mint::Amount, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "mint", - types::Mint { id, beneficiary, amount }, - [ - 46u8, 234u8, 142u8, 134u8, 167u8, 112u8, 159u8, 124u8, 4u8, 75u8, - 219u8, 78u8, 18u8, 244u8, 150u8, 105u8, 185u8, 83u8, 222u8, 119u8, - 16u8, 82u8, 138u8, 202u8, 252u8, 48u8, 72u8, 251u8, 10u8, 66u8, 133u8, - 52u8, - ], - ) - } - #[doc = "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender should be the Manager of the asset `id`."] - #[doc = ""] - #[doc = "Bails with `NoAccount` if the `who` is already dead."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to have some amount burned."] - #[doc = "- `who`: The account to be debited from."] - #[doc = "- `amount`: The maximum amount by which `who`'s balance should be reduced."] - #[doc = ""] - #[doc = "Emits `Burned` with the actual amount burned. If this takes the balance to below the"] - #[doc = "minimum for the asset, then the amount burned is increased to take it to zero."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - #[doc = "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`."] - pub fn burn( - &self, - id: types::burn::Id, - who: types::burn::Who, - amount: types::burn::Amount, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "burn", - types::Burn { id, who, amount }, - [ - 129u8, 19u8, 207u8, 124u8, 135u8, 51u8, 197u8, 213u8, 122u8, 16u8, - 116u8, 137u8, 156u8, 96u8, 190u8, 147u8, 124u8, 37u8, 211u8, 68u8, - 219u8, 251u8, 119u8, 131u8, 5u8, 232u8, 214u8, 76u8, 112u8, 74u8, 64u8, - 185u8, - ], - ) - } - #[doc = "Move some assets from the sender account to another."] - #[doc = ""] - #[doc = "Origin must be Signed."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to have some amount transferred."] - #[doc = "- `target`: The account to be credited."] - #[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"] - #[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"] - #[doc = "the case that the transfer would otherwise take the sender balance above zero but below"] - #[doc = "the minimum balance. Must be greater than zero."] - #[doc = ""] - #[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"] - #[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"] - #[doc = "to zero."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - #[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"] - #[doc = "`target`."] - pub fn transfer( - &self, - id: types::transfer::Id, - target: types::transfer::Target, - amount: types::transfer::Amount, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "transfer", - types::Transfer { id, target, amount }, - [ - 87u8, 155u8, 32u8, 28u8, 113u8, 163u8, 192u8, 167u8, 135u8, 34u8, 50u8, - 57u8, 23u8, 219u8, 136u8, 196u8, 190u8, 139u8, 19u8, 132u8, 155u8, - 235u8, 242u8, 181u8, 201u8, 208u8, 145u8, 199u8, 29u8, 210u8, 102u8, - 150u8, - ], - ) - } - #[doc = "Move some assets from the sender account to another, keeping the sender account alive."] - #[doc = ""] - #[doc = "Origin must be Signed."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to have some amount transferred."] - #[doc = "- `target`: The account to be credited."] - #[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"] - #[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"] - #[doc = "the case that the transfer would otherwise take the sender balance above zero but below"] - #[doc = "the minimum balance. Must be greater than zero."] - #[doc = ""] - #[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"] - #[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"] - #[doc = "to zero."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - #[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"] - #[doc = "`target`."] - pub fn transfer_keep_alive( - &self, - id: types::transfer_keep_alive::Id, - target: types::transfer_keep_alive::Target, - amount: types::transfer_keep_alive::Amount, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "transfer_keep_alive", - types::TransferKeepAlive { id, target, amount }, - [ - 123u8, 131u8, 176u8, 147u8, 52u8, 2u8, 105u8, 141u8, 206u8, 216u8, - 43u8, 169u8, 150u8, 131u8, 146u8, 210u8, 37u8, 133u8, 221u8, 155u8, - 74u8, 127u8, 166u8, 131u8, 122u8, 28u8, 255u8, 224u8, 4u8, 125u8, 43u8, - 116u8, - ], - ) - } - #[doc = "Move some assets from one account to another."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to have some amount transferred."] - #[doc = "- `source`: The account to be debited."] - #[doc = "- `dest`: The account to be credited."] - #[doc = "- `amount`: The amount by which the `source`'s balance of assets should be reduced and"] - #[doc = "`dest`'s balance increased. The amount actually transferred may be slightly greater in"] - #[doc = "the case that the transfer would otherwise take the `source` balance above zero but"] - #[doc = "below the minimum balance. Must be greater than zero."] - #[doc = ""] - #[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"] - #[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"] - #[doc = "to zero."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - #[doc = "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of"] - #[doc = "`dest`."] - pub fn force_transfer( - &self, - id: types::force_transfer::Id, - source: types::force_transfer::Source, - dest: types::force_transfer::Dest, - amount: types::force_transfer::Amount, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "force_transfer", - types::ForceTransfer { id, source, dest, amount }, - [ - 135u8, 220u8, 220u8, 70u8, 132u8, 5u8, 91u8, 192u8, 37u8, 49u8, 170u8, - 1u8, 32u8, 63u8, 91u8, 80u8, 67u8, 230u8, 40u8, 112u8, 217u8, 68u8, - 116u8, 74u8, 158u8, 236u8, 88u8, 99u8, 216u8, 237u8, 30u8, 134u8, - ], - ) - } - #[doc = "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`"] - #[doc = "must already exist as an entry in `Account`s of the asset. If you want to freeze an"] - #[doc = "account that does not have an entry, use `touch_other` first."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to be frozen."] - #[doc = "- `who`: The account to be frozen."] - #[doc = ""] - #[doc = "Emits `Frozen`."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub fn freeze( - &self, - id: types::freeze::Id, - who: types::freeze::Who, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "freeze", - types::Freeze { id, who }, - [ - 117u8, 116u8, 226u8, 111u8, 184u8, 196u8, 32u8, 82u8, 10u8, 236u8, - 98u8, 146u8, 228u8, 41u8, 200u8, 80u8, 36u8, 215u8, 52u8, 154u8, 99u8, - 186u8, 73u8, 188u8, 2u8, 88u8, 106u8, 198u8, 101u8, 9u8, 103u8, 153u8, - ], - ) - } - #[doc = "Allow unprivileged transfers to and from an account again."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to be frozen."] - #[doc = "- `who`: The account to be unfrozen."] - #[doc = ""] - #[doc = "Emits `Thawed`."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub fn thaw( - &self, - id: types::thaw::Id, - who: types::thaw::Who, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "thaw", - types::Thaw { id, who }, - [ - 1u8, 176u8, 121u8, 9u8, 44u8, 113u8, 75u8, 15u8, 167u8, 36u8, 121u8, - 144u8, 151u8, 238u8, 64u8, 48u8, 195u8, 119u8, 230u8, 187u8, 5u8, 43u8, - 14u8, 37u8, 183u8, 20u8, 225u8, 225u8, 173u8, 238u8, 236u8, 80u8, - ], - ) - } - #[doc = "Disallow further unprivileged transfers for the asset class."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to be frozen."] - #[doc = ""] - #[doc = "Emits `Frozen`."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub fn freeze_asset( - &self, - id: types::freeze_asset::Id, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "freeze_asset", - types::FreezeAsset { id }, - [ - 189u8, 253u8, 85u8, 111u8, 106u8, 34u8, 124u8, 108u8, 39u8, 240u8, - 26u8, 83u8, 0u8, 110u8, 218u8, 93u8, 216u8, 82u8, 14u8, 5u8, 241u8, - 172u8, 15u8, 250u8, 220u8, 101u8, 196u8, 18u8, 214u8, 208u8, 149u8, - 148u8, - ], - ) - } - #[doc = "Allow unprivileged transfers for the asset again."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to be thawed."] - #[doc = ""] - #[doc = "Emits `Thawed`."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub fn thaw_asset( - &self, - id: types::thaw_asset::Id, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "thaw_asset", - types::ThawAsset { id }, - [ - 15u8, 56u8, 25u8, 188u8, 111u8, 220u8, 108u8, 41u8, 232u8, 254u8, 58u8, - 202u8, 249u8, 240u8, 2u8, 45u8, 128u8, 89u8, 116u8, 120u8, 24u8, 99u8, - 88u8, 99u8, 97u8, 254u8, 166u8, 174u8, 103u8, 23u8, 42u8, 74u8, - ], - ) - } - #[doc = "Change the Owner of an asset."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset."] - #[doc = "- `owner`: The new Owner of this asset."] - #[doc = ""] - #[doc = "Emits `OwnerChanged`."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub fn transfer_ownership( - &self, - id: types::transfer_ownership::Id, - owner: types::transfer_ownership::Owner, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "transfer_ownership", - types::TransferOwnership { id, owner }, - [ - 135u8, 103u8, 234u8, 191u8, 90u8, 8u8, 74u8, 85u8, 16u8, 219u8, 36u8, - 169u8, 20u8, 182u8, 36u8, 41u8, 90u8, 185u8, 108u8, 39u8, 172u8, 145u8, - 38u8, 33u8, 99u8, 228u8, 249u8, 172u8, 243u8, 116u8, 150u8, 183u8, - ], - ) - } - #[doc = "Change the Issuer, Admin and Freezer of an asset."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to be frozen."] - #[doc = "- `issuer`: The new Issuer of this asset."] - #[doc = "- `admin`: The new Admin of this asset."] - #[doc = "- `freezer`: The new Freezer of this asset."] - #[doc = ""] - #[doc = "Emits `TeamChanged`."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub fn set_team( - &self, - id: types::set_team::Id, - issuer: types::set_team::Issuer, - admin: types::set_team::Admin, - freezer: types::set_team::Freezer, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "set_team", - types::SetTeam { id, issuer, admin, freezer }, - [ - 10u8, 155u8, 117u8, 95u8, 203u8, 165u8, 234u8, 175u8, 85u8, 78u8, - 231u8, 0u8, 195u8, 76u8, 141u8, 167u8, 186u8, 243u8, 186u8, 207u8, - 190u8, 74u8, 134u8, 95u8, 212u8, 0u8, 111u8, 59u8, 113u8, 220u8, 131u8, - 251u8, - ], - ) - } - #[doc = "Set the metadata for an asset."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] - #[doc = ""] - #[doc = "Funds of sender are reserved according to the formula:"] - #[doc = "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into"] - #[doc = "account any already reserved funds."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to update."] - #[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."] - #[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."] - #[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."] - #[doc = ""] - #[doc = "Emits `MetadataSet`."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub fn set_metadata( - &self, - id: types::set_metadata::Id, - name: types::set_metadata::Name, - symbol: types::set_metadata::Symbol, - decimals: types::set_metadata::Decimals, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "set_metadata", - types::SetMetadata { id, name, symbol, decimals }, - [ - 53u8, 40u8, 19u8, 104u8, 202u8, 184u8, 183u8, 250u8, 2u8, 60u8, 232u8, - 140u8, 159u8, 97u8, 246u8, 139u8, 230u8, 111u8, 186u8, 159u8, 170u8, - 192u8, 205u8, 186u8, 96u8, 25u8, 89u8, 75u8, 230u8, 247u8, 181u8, - 211u8, - ], - ) - } - #[doc = "Clear the metadata for an asset."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] - #[doc = ""] - #[doc = "Any deposit is freed for the asset owner."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to clear."] - #[doc = ""] - #[doc = "Emits `MetadataCleared`."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub fn clear_metadata( - &self, - id: types::clear_metadata::Id, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "clear_metadata", - types::ClearMetadata { id }, - [ - 137u8, 235u8, 66u8, 91u8, 5u8, 130u8, 150u8, 242u8, 209u8, 166u8, 32u8, - 157u8, 49u8, 158u8, 49u8, 199u8, 209u8, 107u8, 21u8, 125u8, 222u8, - 19u8, 41u8, 120u8, 207u8, 168u8, 5u8, 177u8, 171u8, 9u8, 176u8, 238u8, - ], - ) - } - #[doc = "Force the metadata for an asset to some value."] - #[doc = ""] - #[doc = "Origin must be ForceOrigin."] - #[doc = ""] - #[doc = "Any deposit is left alone."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to update."] - #[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."] - #[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."] - #[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."] - #[doc = ""] - #[doc = "Emits `MetadataSet`."] - #[doc = ""] - #[doc = "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively."] - pub fn force_set_metadata( - &self, - id: types::force_set_metadata::Id, - name: types::force_set_metadata::Name, - symbol: types::force_set_metadata::Symbol, - decimals: types::force_set_metadata::Decimals, - is_frozen: types::force_set_metadata::IsFrozen, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "force_set_metadata", - types::ForceSetMetadata { id, name, symbol, decimals, is_frozen }, - [ - 177u8, 45u8, 247u8, 110u8, 214u8, 132u8, 130u8, 86u8, 46u8, 201u8, - 169u8, 19u8, 46u8, 89u8, 227u8, 114u8, 195u8, 46u8, 135u8, 216u8, - 202u8, 78u8, 182u8, 114u8, 126u8, 71u8, 34u8, 13u8, 48u8, 19u8, 99u8, - 192u8, - ], - ) - } - #[doc = "Clear the metadata for an asset."] - #[doc = ""] - #[doc = "Origin must be ForceOrigin."] - #[doc = ""] - #[doc = "Any deposit is returned."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset to clear."] - #[doc = ""] - #[doc = "Emits `MetadataCleared`."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub fn force_clear_metadata( - &self, - id: types::force_clear_metadata::Id, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "force_clear_metadata", - types::ForceClearMetadata { id }, - [ - 214u8, 13u8, 163u8, 168u8, 249u8, 152u8, 53u8, 201u8, 218u8, 161u8, - 23u8, 187u8, 48u8, 132u8, 66u8, 172u8, 118u8, 76u8, 229u8, 139u8, - 234u8, 64u8, 28u8, 86u8, 91u8, 155u8, 38u8, 136u8, 141u8, 136u8, 43u8, - 150u8, - ], - ) - } - #[doc = "Alter the attributes of a given asset."] - #[doc = ""] - #[doc = "Origin must be `ForceOrigin`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset."] - #[doc = "- `owner`: The new Owner of this asset."] - #[doc = "- `issuer`: The new Issuer of this asset."] - #[doc = "- `admin`: The new Admin of this asset."] - #[doc = "- `freezer`: The new Freezer of this asset."] - #[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"] - #[doc = "have. If an account's balance is reduced below this, then it collapses to zero."] - #[doc = "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient"] - #[doc = "value to account for the state bloat associated with its balance storage. If set to"] - #[doc = "`true`, then non-zero balances may be stored without a `consumer` reference (and thus"] - #[doc = "an ED in the Balances pallet or whatever else is used to control user-account state"] - #[doc = "growth)."] - #[doc = "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin"] - #[doc = "instructions."] - #[doc = ""] - #[doc = "Emits `AssetStatusChanged` with the identity of the asset."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub fn force_asset_status( - &self, - id: types::force_asset_status::Id, - owner: types::force_asset_status::Owner, - issuer: types::force_asset_status::Issuer, - admin: types::force_asset_status::Admin, - freezer: types::force_asset_status::Freezer, - min_balance: types::force_asset_status::MinBalance, - is_sufficient: types::force_asset_status::IsSufficient, - is_frozen: types::force_asset_status::IsFrozen, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "force_asset_status", - types::ForceAssetStatus { - id, - owner, - issuer, - admin, - freezer, - min_balance, - is_sufficient, - is_frozen, - }, - [ - 105u8, 154u8, 150u8, 105u8, 18u8, 84u8, 154u8, 171u8, 188u8, 113u8, - 52u8, 125u8, 8u8, 238u8, 196u8, 145u8, 163u8, 231u8, 12u8, 49u8, 143u8, - 99u8, 99u8, 25u8, 36u8, 123u8, 201u8, 23u8, 3u8, 53u8, 203u8, 171u8, - ], - ) - } - #[doc = "Approve an amount of asset for transfer by a delegated third-party account."] - #[doc = ""] - #[doc = "Origin must be Signed."] - #[doc = ""] - #[doc = "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account"] - #[doc = "for the purpose of holding the approval. If some non-zero amount of assets is already"] - #[doc = "approved from signing account to `delegate`, then it is topped up or unreserved to"] - #[doc = "meet the right value."] - #[doc = ""] - #[doc = "NOTE: The signing account does not need to own `amount` of assets at the point of"] - #[doc = "making this call."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset."] - #[doc = "- `delegate`: The account to delegate permission to transfer asset."] - #[doc = "- `amount`: The amount of asset that may be transferred by `delegate`. If there is"] - #[doc = "already an approval in place, then this acts additively."] - #[doc = ""] - #[doc = "Emits `ApprovedTransfer` on success."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub fn approve_transfer( - &self, - id: types::approve_transfer::Id, - delegate: types::approve_transfer::Delegate, - amount: types::approve_transfer::Amount, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "approve_transfer", - types::ApproveTransfer { id, delegate, amount }, - [ - 154u8, 68u8, 127u8, 59u8, 59u8, 72u8, 179u8, 103u8, 72u8, 240u8, 44u8, - 43u8, 153u8, 140u8, 109u8, 1u8, 255u8, 155u8, 52u8, 19u8, 45u8, 212u8, - 65u8, 66u8, 3u8, 49u8, 144u8, 23u8, 19u8, 175u8, 115u8, 230u8, - ], - ) - } - #[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."] - #[doc = ""] - #[doc = "Origin must be Signed and there must be an approval in place between signer and"] - #[doc = "`delegate`."] - #[doc = ""] - #[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset."] - #[doc = "- `delegate`: The account delegated permission to transfer asset."] - #[doc = ""] - #[doc = "Emits `ApprovalCancelled` on success."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub fn cancel_approval( - &self, - id: types::cancel_approval::Id, - delegate: types::cancel_approval::Delegate, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "cancel_approval", - types::CancelApproval { id, delegate }, - [ - 152u8, 186u8, 35u8, 86u8, 186u8, 3u8, 238u8, 219u8, 202u8, 29u8, 222u8, - 220u8, 117u8, 131u8, 49u8, 224u8, 155u8, 248u8, 60u8, 17u8, 142u8, - 72u8, 50u8, 92u8, 69u8, 152u8, 24u8, 210u8, 157u8, 145u8, 238u8, 135u8, - ], - ) - } - #[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."] - #[doc = ""] - #[doc = "Origin must be either ForceOrigin or Signed origin with the signer being the Admin"] - #[doc = "account of the asset `id`."] - #[doc = ""] - #[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset."] - #[doc = "- `delegate`: The account delegated permission to transfer asset."] - #[doc = ""] - #[doc = "Emits `ApprovalCancelled` on success."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub fn force_cancel_approval( - &self, - id: types::force_cancel_approval::Id, - owner: types::force_cancel_approval::Owner, - delegate: types::force_cancel_approval::Delegate, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "force_cancel_approval", - types::ForceCancelApproval { id, owner, delegate }, - [ - 214u8, 56u8, 202u8, 108u8, 210u8, 190u8, 111u8, 254u8, 108u8, 85u8, - 77u8, 111u8, 229u8, 129u8, 85u8, 197u8, 186u8, 58u8, 217u8, 174u8, - 76u8, 244u8, 188u8, 124u8, 42u8, 149u8, 128u8, 190u8, 194u8, 209u8, - 51u8, 204u8, - ], - ) - } - #[doc = "Transfer some asset balance from a previously delegated account to some third-party"] - #[doc = "account."] - #[doc = ""] - #[doc = "Origin must be Signed and there must be an approval in place by the `owner` to the"] - #[doc = "signer."] - #[doc = ""] - #[doc = "If the entire amount approved for transfer is transferred, then any deposit previously"] - #[doc = "reserved by `approve_transfer` is unreserved."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset."] - #[doc = "- `owner`: The account which previously approved for a transfer of at least `amount` and"] - #[doc = "from which the asset balance will be withdrawn."] - #[doc = "- `destination`: The account to which the asset balance of `amount` will be transferred."] - #[doc = "- `amount`: The amount of assets to transfer."] - #[doc = ""] - #[doc = "Emits `TransferredApproved` on success."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub fn transfer_approved( - &self, - id: types::transfer_approved::Id, - owner: types::transfer_approved::Owner, - destination: types::transfer_approved::Destination, - amount: types::transfer_approved::Amount, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "transfer_approved", - types::TransferApproved { id, owner, destination, amount }, - [ - 134u8, 20u8, 68u8, 106u8, 55u8, 127u8, 236u8, 253u8, 9u8, 247u8, 251u8, - 230u8, 164u8, 225u8, 15u8, 180u8, 96u8, 82u8, 182u8, 232u8, 239u8, 2u8, - 33u8, 244u8, 112u8, 26u8, 30u8, 242u8, 85u8, 249u8, 114u8, 75u8, - ], - ) - } - #[doc = "Create an asset account for non-provider assets."] - #[doc = ""] - #[doc = "A deposit will be taken from the signer account."] - #[doc = ""] - #[doc = "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit"] - #[doc = " to be taken."] - #[doc = "- `id`: The identifier of the asset for the account to be created."] - #[doc = ""] - #[doc = "Emits `Touched` event when successful."] - pub fn touch( - &self, - id: types::touch::Id, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "touch", - types::Touch { id }, - [ - 93u8, 110u8, 255u8, 67u8, 63u8, 27u8, 179u8, 188u8, 189u8, 16u8, 207u8, - 50u8, 23u8, 89u8, 125u8, 220u8, 81u8, 173u8, 33u8, 242u8, 231u8, 211u8, - 212u8, 33u8, 135u8, 239u8, 198u8, 58u8, 24u8, 205u8, 236u8, 178u8, - ], - ) - } - #[doc = "Return the deposit (if any) of an asset account or a consumer reference (if any) of an"] - #[doc = "account."] - #[doc = ""] - #[doc = "The origin must be Signed."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset for which the caller would like the deposit"] - #[doc = " refunded."] - #[doc = "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund."] - #[doc = ""] - #[doc = "Emits `Refunded` event when successful."] - pub fn refund( - &self, - id: types::refund::Id, - allow_burn: types::refund::AllowBurn, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "refund", - types::Refund { id, allow_burn }, - [ - 212u8, 171u8, 194u8, 110u8, 144u8, 125u8, 9u8, 224u8, 173u8, 44u8, - 146u8, 30u8, 7u8, 51u8, 82u8, 239u8, 18u8, 170u8, 66u8, 201u8, 148u8, - 189u8, 210u8, 218u8, 98u8, 166u8, 128u8, 77u8, 136u8, 151u8, 114u8, - 237u8, - ], - ) - } - #[doc = "Sets the minimum balance of an asset."] - #[doc = ""] - #[doc = "Only works if there aren't any accounts that are holding the asset or if"] - #[doc = "the new value of `min_balance` is less than the old one."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender has to be the Owner of the"] - #[doc = "asset `id`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset."] - #[doc = "- `min_balance`: The new value of `min_balance`."] - #[doc = ""] - #[doc = "Emits `AssetMinBalanceChanged` event when successful."] - pub fn set_min_balance( - &self, - id: types::set_min_balance::Id, - min_balance: types::set_min_balance::MinBalance, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "set_min_balance", - types::SetMinBalance { id, min_balance }, - [ - 237u8, 126u8, 65u8, 131u8, 29u8, 64u8, 78u8, 86u8, 151u8, 18u8, 248u8, - 45u8, 25u8, 48u8, 219u8, 17u8, 211u8, 81u8, 53u8, 5u8, 17u8, 214u8, - 86u8, 143u8, 79u8, 200u8, 88u8, 147u8, 150u8, 103u8, 228u8, 253u8, - ], - ) - } - #[doc = "Create an asset account for `who`."] - #[doc = ""] - #[doc = "A deposit will be taken from the signer account."] - #[doc = ""] - #[doc = "- `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account"] - #[doc = " must have sufficient funds for a deposit to be taken."] - #[doc = "- `id`: The identifier of the asset for the account to be created."] - #[doc = "- `who`: The account to be created."] - #[doc = ""] - #[doc = "Emits `Touched` event when successful."] - pub fn touch_other( - &self, - id: types::touch_other::Id, - who: types::touch_other::Who, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "touch_other", - types::TouchOther { id, who }, - [ - 4u8, 90u8, 49u8, 84u8, 204u8, 249u8, 79u8, 140u8, 98u8, 103u8, 221u8, - 158u8, 98u8, 9u8, 117u8, 221u8, 19u8, 166u8, 39u8, 229u8, 70u8, 130u8, - 219u8, 150u8, 190u8, 239u8, 140u8, 36u8, 207u8, 86u8, 172u8, 220u8, - ], - ) - } - #[doc = "Return the deposit (if any) of a target asset account. Useful if you are the depositor."] - #[doc = ""] - #[doc = "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In"] - #[doc = "order to burn a non-zero balance of the asset, the caller must be the account and should"] - #[doc = "use `refund`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the asset for the account holding a deposit."] - #[doc = "- `who`: The account to refund."] - #[doc = ""] - #[doc = "Emits `Refunded` event when successful."] - pub fn refund_other( - &self, - id: types::refund_other::Id, - who: types::refund_other::Who, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "refund_other", - types::RefundOther { id, who }, - [ - 241u8, 92u8, 111u8, 163u8, 37u8, 185u8, 60u8, 48u8, 174u8, 96u8, 122u8, - 142u8, 159u8, 84u8, 96u8, 169u8, 149u8, 52u8, 206u8, 25u8, 85u8, 173u8, - 131u8, 148u8, 40u8, 215u8, 157u8, 161u8, 128u8, 181u8, 50u8, 175u8, - ], - ) - } - #[doc = "Disallow further unprivileged transfers of an asset `id` to and from an account `who`."] - #[doc = ""] - #[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."] - #[doc = ""] - #[doc = "- `id`: The identifier of the account's asset."] - #[doc = "- `who`: The account to be unblocked."] - #[doc = ""] - #[doc = "Emits `Blocked`."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] - pub fn block( - &self, - id: types::block::Id, - who: types::block::Who, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "PoolAssets", - "block", - types::Block { id, who }, - [ - 92u8, 59u8, 111u8, 18u8, 78u8, 136u8, 38u8, 69u8, 217u8, 56u8, 115u8, - 167u8, 145u8, 241u8, 131u8, 202u8, 132u8, 55u8, 196u8, 54u8, 109u8, - 57u8, 175u8, 184u8, 70u8, 159u8, 19u8, 105u8, 57u8, 92u8, 237u8, 34u8, - ], - ) - } - } - } - #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::pallet_assets::pallet::Event; - pub mod events { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Some asset class was created."] - pub struct Created { - pub asset_id: created::AssetId, - pub creator: created::Creator, - pub owner: created::Owner, - } - pub mod created { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - pub type Creator = ::subxt_core::utils::AccountId32; - pub type Owner = ::subxt_core::utils::AccountId32; - } - impl ::subxt_core::events::StaticEvent for Created { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "Created"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Some assets were issued."] - pub struct Issued { - pub asset_id: issued::AssetId, - pub owner: issued::Owner, - pub amount: issued::Amount, - } - pub mod issued { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - pub type Owner = ::subxt_core::utils::AccountId32; - pub type Amount = ::core::primitive::u128; - } - impl ::subxt_core::events::StaticEvent for Issued { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "Issued"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Some assets were transferred."] - pub struct Transferred { - pub asset_id: transferred::AssetId, - pub from: transferred::From, - pub to: transferred::To, - pub amount: transferred::Amount, - } - pub mod transferred { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - pub type From = ::subxt_core::utils::AccountId32; - pub type To = ::subxt_core::utils::AccountId32; - pub type Amount = ::core::primitive::u128; - } - impl ::subxt_core::events::StaticEvent for Transferred { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "Transferred"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Some assets were destroyed."] - pub struct Burned { - pub asset_id: burned::AssetId, - pub owner: burned::Owner, - pub balance: burned::Balance, - } - pub mod burned { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - pub type Owner = ::subxt_core::utils::AccountId32; - pub type Balance = ::core::primitive::u128; - } - impl ::subxt_core::events::StaticEvent for Burned { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "Burned"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "The management team changed."] - pub struct TeamChanged { - pub asset_id: team_changed::AssetId, - pub issuer: team_changed::Issuer, - pub admin: team_changed::Admin, - pub freezer: team_changed::Freezer, - } - pub mod team_changed { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - pub type Issuer = ::subxt_core::utils::AccountId32; - pub type Admin = ::subxt_core::utils::AccountId32; - pub type Freezer = ::subxt_core::utils::AccountId32; - } - impl ::subxt_core::events::StaticEvent for TeamChanged { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "TeamChanged"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "The owner changed."] - pub struct OwnerChanged { - pub asset_id: owner_changed::AssetId, - pub owner: owner_changed::Owner, - } - pub mod owner_changed { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - pub type Owner = ::subxt_core::utils::AccountId32; - } - impl ::subxt_core::events::StaticEvent for OwnerChanged { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "OwnerChanged"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Some account `who` was frozen."] - pub struct Frozen { - pub asset_id: frozen::AssetId, - pub who: frozen::Who, - } - pub mod frozen { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - pub type Who = ::subxt_core::utils::AccountId32; - } - impl ::subxt_core::events::StaticEvent for Frozen { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "Frozen"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Some account `who` was thawed."] - pub struct Thawed { - pub asset_id: thawed::AssetId, - pub who: thawed::Who, - } - pub mod thawed { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - pub type Who = ::subxt_core::utils::AccountId32; - } - impl ::subxt_core::events::StaticEvent for Thawed { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "Thawed"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Some asset `asset_id` was frozen."] - pub struct AssetFrozen { - pub asset_id: asset_frozen::AssetId, - } - pub mod asset_frozen { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - } - impl ::subxt_core::events::StaticEvent for AssetFrozen { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "AssetFrozen"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Some asset `asset_id` was thawed."] - pub struct AssetThawed { - pub asset_id: asset_thawed::AssetId, - } - pub mod asset_thawed { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - } - impl ::subxt_core::events::StaticEvent for AssetThawed { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "AssetThawed"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Accounts were destroyed for given asset."] - pub struct AccountsDestroyed { - pub asset_id: accounts_destroyed::AssetId, - pub accounts_destroyed: accounts_destroyed::AccountsDestroyed, - pub accounts_remaining: accounts_destroyed::AccountsRemaining, - } - pub mod accounts_destroyed { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - pub type AccountsDestroyed = ::core::primitive::u32; - pub type AccountsRemaining = ::core::primitive::u32; - } - impl ::subxt_core::events::StaticEvent for AccountsDestroyed { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "AccountsDestroyed"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Approvals were destroyed for given asset."] - pub struct ApprovalsDestroyed { - pub asset_id: approvals_destroyed::AssetId, - pub approvals_destroyed: approvals_destroyed::ApprovalsDestroyed, - pub approvals_remaining: approvals_destroyed::ApprovalsRemaining, - } - pub mod approvals_destroyed { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - pub type ApprovalsDestroyed = ::core::primitive::u32; - pub type ApprovalsRemaining = ::core::primitive::u32; - } - impl ::subxt_core::events::StaticEvent for ApprovalsDestroyed { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "ApprovalsDestroyed"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An asset class is in the process of being destroyed."] - pub struct DestructionStarted { - pub asset_id: destruction_started::AssetId, - } - pub mod destruction_started { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - } - impl ::subxt_core::events::StaticEvent for DestructionStarted { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "DestructionStarted"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An asset class was destroyed."] - pub struct Destroyed { - pub asset_id: destroyed::AssetId, - } - pub mod destroyed { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - } - impl ::subxt_core::events::StaticEvent for Destroyed { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "Destroyed"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Some asset class was force-created."] - pub struct ForceCreated { - pub asset_id: force_created::AssetId, - pub owner: force_created::Owner, - } - pub mod force_created { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - pub type Owner = ::subxt_core::utils::AccountId32; - } - impl ::subxt_core::events::StaticEvent for ForceCreated { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "ForceCreated"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "New metadata has been set for an asset."] - pub struct MetadataSet { - pub asset_id: metadata_set::AssetId, - pub name: metadata_set::Name, - pub symbol: metadata_set::Symbol, - pub decimals: metadata_set::Decimals, - pub is_frozen: metadata_set::IsFrozen, - } - pub mod metadata_set { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - pub type Name = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; - pub type Symbol = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; - pub type Decimals = ::core::primitive::u8; - pub type IsFrozen = ::core::primitive::bool; - } - impl ::subxt_core::events::StaticEvent for MetadataSet { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "MetadataSet"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Metadata has been cleared for an asset."] - pub struct MetadataCleared { - pub asset_id: metadata_cleared::AssetId, - } - pub mod metadata_cleared { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - } - impl ::subxt_core::events::StaticEvent for MetadataCleared { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "MetadataCleared"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "(Additional) funds have been approved for transfer to a destination account."] - pub struct ApprovedTransfer { - pub asset_id: approved_transfer::AssetId, - pub source: approved_transfer::Source, - pub delegate: approved_transfer::Delegate, - pub amount: approved_transfer::Amount, - } - pub mod approved_transfer { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - pub type Source = ::subxt_core::utils::AccountId32; - pub type Delegate = ::subxt_core::utils::AccountId32; - pub type Amount = ::core::primitive::u128; - } - impl ::subxt_core::events::StaticEvent for ApprovedTransfer { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "ApprovedTransfer"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An approval for account `delegate` was cancelled by `owner`."] - pub struct ApprovalCancelled { - pub asset_id: approval_cancelled::AssetId, - pub owner: approval_cancelled::Owner, - pub delegate: approval_cancelled::Delegate, - } - pub mod approval_cancelled { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - pub type Owner = ::subxt_core::utils::AccountId32; - pub type Delegate = ::subxt_core::utils::AccountId32; - } - impl ::subxt_core::events::StaticEvent for ApprovalCancelled { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "ApprovalCancelled"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An `amount` was transferred in its entirety from `owner` to `destination` by"] - #[doc = "the approved `delegate`."] - pub struct TransferredApproved { - pub asset_id: transferred_approved::AssetId, - pub owner: transferred_approved::Owner, - pub delegate: transferred_approved::Delegate, - pub destination: transferred_approved::Destination, - pub amount: transferred_approved::Amount, - } - pub mod transferred_approved { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - pub type Owner = ::subxt_core::utils::AccountId32; - pub type Delegate = ::subxt_core::utils::AccountId32; - pub type Destination = ::subxt_core::utils::AccountId32; - pub type Amount = ::core::primitive::u128; - } - impl ::subxt_core::events::StaticEvent for TransferredApproved { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "TransferredApproved"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An asset has had its attributes changed by the `Force` origin."] - pub struct AssetStatusChanged { - pub asset_id: asset_status_changed::AssetId, - } - pub mod asset_status_changed { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - } - impl ::subxt_core::events::StaticEvent for AssetStatusChanged { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "AssetStatusChanged"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "The min_balance of an asset has been updated by the asset owner."] - pub struct AssetMinBalanceChanged { - pub asset_id: asset_min_balance_changed::AssetId, - pub new_min_balance: asset_min_balance_changed::NewMinBalance, - } - pub mod asset_min_balance_changed { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - pub type NewMinBalance = ::core::primitive::u128; - } - impl ::subxt_core::events::StaticEvent for AssetMinBalanceChanged { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "AssetMinBalanceChanged"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Some account `who` was created with a deposit from `depositor`."] - pub struct Touched { - pub asset_id: touched::AssetId, - pub who: touched::Who, - pub depositor: touched::Depositor, - } - pub mod touched { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - pub type Who = ::subxt_core::utils::AccountId32; - pub type Depositor = ::subxt_core::utils::AccountId32; - } - impl ::subxt_core::events::StaticEvent for Touched { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "Touched"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Some account `who` was blocked."] - pub struct Blocked { - pub asset_id: blocked::AssetId, - pub who: blocked::Who, - } - pub mod blocked { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - pub type Who = ::subxt_core::utils::AccountId32; - } - impl ::subxt_core::events::StaticEvent for Blocked { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "Blocked"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Some assets were deposited (e.g. for transaction fees)."] - pub struct Deposited { - pub asset_id: deposited::AssetId, - pub who: deposited::Who, - pub amount: deposited::Amount, - } - pub mod deposited { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - pub type Who = ::subxt_core::utils::AccountId32; - pub type Amount = ::core::primitive::u128; - } - impl ::subxt_core::events::StaticEvent for Deposited { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "Deposited"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Some assets were withdrawn from the account (e.g. for transaction fees)."] - pub struct Withdrawn { - pub asset_id: withdrawn::AssetId, - pub who: withdrawn::Who, - pub amount: withdrawn::Amount, - } - pub mod withdrawn { - use super::runtime_types; - pub type AssetId = ::core::primitive::u128; - pub type Who = ::subxt_core::utils::AccountId32; - pub type Amount = ::core::primitive::u128; - } - impl ::subxt_core::events::StaticEvent for Withdrawn { - const PALLET: &'static str = "PoolAssets"; - const EVENT: &'static str = "Withdrawn"; - } - } - pub mod storage { - use super::runtime_types; - pub mod types { - use super::runtime_types; - pub mod asset { - use super::runtime_types; - pub type Asset = runtime_types::pallet_assets::types::AssetDetails< - ::core::primitive::u128, - ::subxt_core::utils::AccountId32, - ::core::primitive::u128, - >; - pub type Param0 = ::core::primitive::u128; - } - pub mod account { - use super::runtime_types; - pub type Account = runtime_types::pallet_assets::types::AssetAccount< - ::core::primitive::u128, - ::core::primitive::u128, - (), - ::subxt_core::utils::AccountId32, - >; - pub type Param0 = ::core::primitive::u128; - pub type Param1 = ::subxt_core::utils::AccountId32; - } - pub mod approvals { - use super::runtime_types; - pub type Approvals = runtime_types::pallet_assets::types::Approval< - ::core::primitive::u128, - ::core::primitive::u128, - >; - pub type Param0 = ::core::primitive::u128; - pub type Param1 = ::subxt_core::utils::AccountId32; - pub type Param2 = ::subxt_core::utils::AccountId32; - } - pub mod metadata { - use super::runtime_types; - pub type Metadata = runtime_types::pallet_assets::types::AssetMetadata< - ::core::primitive::u128, - runtime_types::bounded_collections::bounded_vec::BoundedVec< - ::core::primitive::u8, - >, - >; - pub type Param0 = ::core::primitive::u128; - } - pub mod next_asset_id { - use super::runtime_types; - pub type NextAssetId = ::core::primitive::u128; - } - } - pub struct StorageApi; - impl StorageApi { - #[doc = " Details of an asset."] - pub fn asset_iter( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::asset::Asset, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "PoolAssets", - "Asset", - (), - [ - 184u8, 117u8, 212u8, 54u8, 227u8, 128u8, 105u8, 48u8, 129u8, 209u8, - 93u8, 65u8, 239u8, 81u8, 138u8, 169u8, 70u8, 73u8, 193u8, 150u8, 58u8, - 232u8, 103u8, 171u8, 200u8, 131u8, 19u8, 81u8, 197u8, 69u8, 242u8, - 19u8, - ], - ) - } - #[doc = " Details of an asset."] - pub fn asset( - &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::asset::Asset, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "PoolAssets", - "Asset", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - [ - 184u8, 117u8, 212u8, 54u8, 227u8, 128u8, 105u8, 48u8, 129u8, 209u8, - 93u8, 65u8, 239u8, 81u8, 138u8, 169u8, 70u8, 73u8, 193u8, 150u8, 58u8, - 232u8, 103u8, 171u8, 200u8, 131u8, 19u8, 81u8, 197u8, 69u8, 242u8, - 19u8, - ], - ) - } - #[doc = " The holdings of a specific account for a specific asset."] - pub fn account_iter( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::account::Account, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "PoolAssets", - "Account", - (), - [ - 193u8, 248u8, 7u8, 31u8, 182u8, 62u8, 151u8, 45u8, 186u8, 167u8, 187u8, - 86u8, 254u8, 71u8, 30u8, 36u8, 169u8, 145u8, 195u8, 93u8, 76u8, 108u8, - 179u8, 129u8, 178u8, 9u8, 253u8, 27u8, 165u8, 16u8, 248u8, 254u8, - ], - ) - } - #[doc = " The holdings of a specific account for a specific asset."] - pub fn account_iter1( - &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::account::Account, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "PoolAssets", - "Account", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - [ - 193u8, 248u8, 7u8, 31u8, 182u8, 62u8, 151u8, 45u8, 186u8, 167u8, 187u8, - 86u8, 254u8, 71u8, 30u8, 36u8, 169u8, 145u8, 195u8, 93u8, 76u8, 108u8, - 179u8, 129u8, 178u8, 9u8, 253u8, 27u8, 165u8, 16u8, 248u8, 254u8, - ], - ) - } - #[doc = " The holdings of a specific account for a specific asset."] - pub fn account( - &self, - _0: impl ::core::borrow::Borrow, - _1: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ( - ::subxt_core::storage::address::StaticStorageKey, - ::subxt_core::storage::address::StaticStorageKey, - ), - types::account::Account, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "PoolAssets", - "Account", - ( - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), - ), - [ - 193u8, 248u8, 7u8, 31u8, 182u8, 62u8, 151u8, 45u8, 186u8, 167u8, 187u8, - 86u8, 254u8, 71u8, 30u8, 36u8, 169u8, 145u8, 195u8, 93u8, 76u8, 108u8, - 179u8, 129u8, 178u8, 9u8, 253u8, 27u8, 165u8, 16u8, 248u8, 254u8, - ], - ) - } - #[doc = " Approved balance transfers. First balance is the amount approved for transfer. Second"] - #[doc = " is the amount of `T::Currency` reserved for storing this."] - #[doc = " First key is the asset ID, second key is the owner and third key is the delegate."] - pub fn approvals_iter( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::approvals::Approvals, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "PoolAssets", - "Approvals", - (), - [ - 88u8, 12u8, 250u8, 89u8, 74u8, 8u8, 18u8, 23u8, 160u8, 172u8, 27u8, - 182u8, 30u8, 140u8, 109u8, 106u8, 158u8, 104u8, 53u8, 86u8, 112u8, - 252u8, 195u8, 113u8, 69u8, 121u8, 239u8, 54u8, 242u8, 51u8, 181u8, - 176u8, - ], - ) - } - #[doc = " Approved balance transfers. First balance is the amount approved for transfer. Second"] - #[doc = " is the amount of `T::Currency` reserved for storing this."] - #[doc = " First key is the asset ID, second key is the owner and third key is the delegate."] - pub fn approvals_iter1( - &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::approvals::Approvals, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "PoolAssets", - "Approvals", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - [ - 88u8, 12u8, 250u8, 89u8, 74u8, 8u8, 18u8, 23u8, 160u8, 172u8, 27u8, - 182u8, 30u8, 140u8, 109u8, 106u8, 158u8, 104u8, 53u8, 86u8, 112u8, - 252u8, 195u8, 113u8, 69u8, 121u8, 239u8, 54u8, 242u8, 51u8, 181u8, - 176u8, - ], - ) - } - #[doc = " Approved balance transfers. First balance is the amount approved for transfer. Second"] - #[doc = " is the amount of `T::Currency` reserved for storing this."] - #[doc = " First key is the asset ID, second key is the owner and third key is the delegate."] - pub fn approvals_iter2( - &self, - _0: impl ::core::borrow::Borrow, - _1: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ( - ::subxt_core::storage::address::StaticStorageKey, - ::subxt_core::storage::address::StaticStorageKey, - ), - types::approvals::Approvals, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "PoolAssets", - "Approvals", - ( - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), - ), - [ - 88u8, 12u8, 250u8, 89u8, 74u8, 8u8, 18u8, 23u8, 160u8, 172u8, 27u8, - 182u8, 30u8, 140u8, 109u8, 106u8, 158u8, 104u8, 53u8, 86u8, 112u8, - 252u8, 195u8, 113u8, 69u8, 121u8, 239u8, 54u8, 242u8, 51u8, 181u8, - 176u8, - ], - ) - } - #[doc = " Approved balance transfers. First balance is the amount approved for transfer. Second"] - #[doc = " is the amount of `T::Currency` reserved for storing this."] - #[doc = " First key is the asset ID, second key is the owner and third key is the delegate."] - pub fn approvals( - &self, - _0: impl ::core::borrow::Borrow, - _1: impl ::core::borrow::Borrow, - _2: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ( - ::subxt_core::storage::address::StaticStorageKey, - ::subxt_core::storage::address::StaticStorageKey, - ::subxt_core::storage::address::StaticStorageKey, - ), - types::approvals::Approvals, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "PoolAssets", - "Approvals", - ( - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), - ::subxt_core::storage::address::StaticStorageKey::new(_2.borrow()), - ), - [ - 88u8, 12u8, 250u8, 89u8, 74u8, 8u8, 18u8, 23u8, 160u8, 172u8, 27u8, - 182u8, 30u8, 140u8, 109u8, 106u8, 158u8, 104u8, 53u8, 86u8, 112u8, - 252u8, 195u8, 113u8, 69u8, 121u8, 239u8, 54u8, 242u8, 51u8, 181u8, - 176u8, - ], - ) - } - #[doc = " Metadata of an asset."] - pub fn metadata_iter( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::metadata::Metadata, - (), - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "PoolAssets", - "Metadata", - (), - [ - 9u8, 154u8, 67u8, 209u8, 73u8, 219u8, 203u8, 105u8, 197u8, 101u8, - 174u8, 94u8, 37u8, 239u8, 121u8, 52u8, 186u8, 127u8, 29u8, 182u8, 32u8, - 21u8, 49u8, 140u8, 135u8, 144u8, 231u8, 73u8, 33u8, 158u8, 27u8, 241u8, - ], - ) - } - #[doc = " Metadata of an asset."] - pub fn metadata( - &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::metadata::Metadata, - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "PoolAssets", - "Metadata", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - [ - 9u8, 154u8, 67u8, 209u8, 73u8, 219u8, 203u8, 105u8, 197u8, 101u8, - 174u8, 94u8, 37u8, 239u8, 121u8, 52u8, 186u8, 127u8, 29u8, 182u8, 32u8, - 21u8, 49u8, 140u8, 135u8, 144u8, 231u8, 73u8, 33u8, 158u8, 27u8, 241u8, - ], - ) - } - #[doc = " The asset ID enforced for the next asset creation, if any present. Otherwise, this storage"] - #[doc = " item has no effect."] - #[doc = ""] - #[doc = " This can be useful for setting up constraints for IDs of the new assets. For example, by"] - #[doc = " providing an initial [`NextAssetId`] and using the [`crate::AutoIncAssetId`] callback, an"] - #[doc = " auto-increment model can be applied to all new asset IDs."] - #[doc = ""] - #[doc = " The initial next asset ID can be set using the [`GenesisConfig`] or the"] - #[doc = " [SetNextAssetId](`migration::next_asset_id::SetNextAssetId`) migration."] - pub fn next_asset_id( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::next_asset_id::NextAssetId, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "PoolAssets", - "NextAssetId", - (), - [ - 153u8, 224u8, 246u8, 219u8, 165u8, 1u8, 83u8, 64u8, 55u8, 54u8, 89u8, - 6u8, 24u8, 50u8, 62u8, 114u8, 164u8, 157u8, 105u8, 150u8, 218u8, 100u8, - 15u8, 161u8, 33u8, 43u8, 27u8, 217u8, 212u8, 111u8, 11u8, 104u8, - ], - ) - } - } - } - pub mod constants { - use super::runtime_types; - pub struct ConstantsApi; - impl ConstantsApi { - #[doc = " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call."] - #[doc = ""] - #[doc = " Must be configured to result in a weight that makes each call fit in a block."] - pub fn remove_items_limit( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "PoolAssets", - "RemoveItemsLimit", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) - } - #[doc = " The basic amount of funds that must be reserved for an asset."] - pub fn asset_deposit( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { - ::subxt_core::constants::address::StaticAddress::new_static( - "PoolAssets", - "AssetDeposit", - [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, - 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ], - ) - } - #[doc = " The amount of funds that must be reserved for a non-provider asset account to be"] - #[doc = " maintained."] - pub fn asset_account_deposit( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { - ::subxt_core::constants::address::StaticAddress::new_static( - "PoolAssets", - "AssetAccountDeposit", - [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, - 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ], - ) - } - #[doc = " The basic amount of funds that must be reserved when adding metadata to your asset."] - pub fn metadata_deposit_base( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { - ::subxt_core::constants::address::StaticAddress::new_static( - "PoolAssets", - "MetadataDepositBase", - [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, - 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ], - ) - } - #[doc = " The additional funds that must be reserved for the number of bytes you store in your"] - #[doc = " metadata."] - pub fn metadata_deposit_per_byte( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { - ::subxt_core::constants::address::StaticAddress::new_static( - "PoolAssets", - "MetadataDepositPerByte", - [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, - 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ], - ) - } - #[doc = " The amount of funds that must be reserved when creating a new approval."] - pub fn approval_deposit( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { - ::subxt_core::constants::address::StaticAddress::new_static( - "PoolAssets", - "ApprovalDeposit", - [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, - 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ], - ) - } - #[doc = " The maximum length of a name or symbol stored on-chain."] - pub fn string_limit( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "PoolAssets", - "StringLimit", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) - } - } - } - } - pub mod balances { - use super::root_mod; - use super::runtime_types; - #[doc = "The `Error` enum of this pallet."] - pub type Error = runtime_types::pallet_balances::pallet::Error; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_balances::pallet::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Transfer some liquid free balance to another account."] - #[doc = ""] - #[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."] - #[doc = "If the sender's account is below the existential deposit as a result"] - #[doc = "of the transfer, the account will be reaped."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be `Signed` by the transactor."] - pub struct TransferAllowDeath { - pub dest: transfer_allow_death::Dest, - #[codec(compact)] - pub value: transfer_allow_death::Value, - } - pub mod transfer_allow_death { - use super::runtime_types; - pub type Dest = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Value = ::core::primitive::u128; - } - impl ::subxt_core::blocks::StaticExtrinsic for TransferAllowDeath { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "transfer_allow_death"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"] - #[doc = "may be specified."] - pub struct ForceTransfer { - pub source: force_transfer::Source, - pub dest: force_transfer::Dest, - #[codec(compact)] - pub value: force_transfer::Value, - } - pub mod force_transfer { - use super::runtime_types; - pub type Source = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Dest = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Value = ::core::primitive::u128; - } - impl ::subxt_core::blocks::StaticExtrinsic for ForceTransfer { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "force_transfer"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"] - #[doc = "kill the origin account."] - #[doc = ""] - #[doc = "99% of the time you want [`transfer_allow_death`] instead."] - #[doc = ""] - #[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"] - pub struct TransferKeepAlive { - pub dest: transfer_keep_alive::Dest, - #[codec(compact)] - pub value: transfer_keep_alive::Value, - } - pub mod transfer_keep_alive { - use super::runtime_types; - pub type Dest = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Value = ::core::primitive::u128; - } - impl ::subxt_core::blocks::StaticExtrinsic for TransferKeepAlive { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "transfer_keep_alive"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Transfer the entire transferable balance from the caller account."] - #[doc = ""] - #[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"] - #[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"] - #[doc = "transferred by this function. To ensure that this function results in a killed account,"] - #[doc = "you might need to prepare the account by removing any reference counters, storage"] - #[doc = "deposits, etc..."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be Signed."] - #[doc = ""] - #[doc = "- `dest`: The recipient of the transfer."] - #[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"] - #[doc = " of the funds the account has, causing the sender account to be killed (false), or"] - #[doc = " transfer everything except at least the existential deposit, which will guarantee to"] - #[doc = " keep the sender account alive (true)."] - pub struct TransferAll { - pub dest: transfer_all::Dest, - pub keep_alive: transfer_all::KeepAlive, - } - pub mod transfer_all { - use super::runtime_types; - pub type Dest = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type KeepAlive = ::core::primitive::bool; - } - impl ::subxt_core::blocks::StaticExtrinsic for TransferAll { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "transfer_all"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Unreserve some balance from a user by force."] - #[doc = ""] - #[doc = "Can only be called by ROOT."] - pub struct ForceUnreserve { - pub who: force_unreserve::Who, - pub amount: force_unreserve::Amount, - } - pub mod force_unreserve { - use super::runtime_types; - pub type Who = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Amount = ::core::primitive::u128; - } - impl ::subxt_core::blocks::StaticExtrinsic for ForceUnreserve { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "force_unreserve"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Upgrade a specified account."] - #[doc = ""] - #[doc = "- `origin`: Must be `Signed`."] - #[doc = "- `who`: The account to be upgraded."] - #[doc = ""] - #[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"] - #[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"] - #[doc = "possibility of churn)."] - pub struct UpgradeAccounts { - pub who: upgrade_accounts::Who, - } - pub mod upgrade_accounts { - use super::runtime_types; - pub type Who = ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; - } - impl ::subxt_core::blocks::StaticExtrinsic for UpgradeAccounts { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "upgrade_accounts"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Set the regular balance of a given account."] - #[doc = ""] - #[doc = "The dispatch origin for this call is `root`."] - pub struct ForceSetBalance { - pub who: force_set_balance::Who, - #[codec(compact)] - pub new_free: force_set_balance::NewFree, - } - pub mod force_set_balance { - use super::runtime_types; - pub type Who = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type NewFree = ::core::primitive::u128; - } - impl ::subxt_core::blocks::StaticExtrinsic for ForceSetBalance { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "force_set_balance"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Adjust the total issuance in a saturating way."] - #[doc = ""] - #[doc = "Can only be called by root and always needs a positive `delta`."] - #[doc = ""] - #[doc = "# Example"] - pub struct ForceAdjustTotalIssuance { - pub direction: force_adjust_total_issuance::Direction, - #[codec(compact)] - pub delta: force_adjust_total_issuance::Delta, - } - pub mod force_adjust_total_issuance { - use super::runtime_types; - pub type Direction = runtime_types::pallet_balances::types::AdjustmentDirection; - pub type Delta = ::core::primitive::u128; - } - impl ::subxt_core::blocks::StaticExtrinsic for ForceAdjustTotalIssuance { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "force_adjust_total_issuance"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Burn the specified liquid free balance from the origin account."] - #[doc = ""] - #[doc = "If the origin's account ends up below the existential deposit as a result"] - #[doc = "of the burn and `keep_alive` is false, the account will be reaped."] - #[doc = ""] - #[doc = "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,"] - #[doc = "this `burn` operation will reduce total issuance by the amount _burned_."] - pub struct Burn { - #[codec(compact)] - pub value: burn::Value, - pub keep_alive: burn::KeepAlive, - } - pub mod burn { - use super::runtime_types; - pub type Value = ::core::primitive::u128; - pub type KeepAlive = ::core::primitive::bool; - } - impl ::subxt_core::blocks::StaticExtrinsic for Burn { - const PALLET: &'static str = "Balances"; - const CALL: &'static str = "burn"; - } - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "Transfer some liquid free balance to another account."] - #[doc = ""] - #[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."] - #[doc = "If the sender's account is below the existential deposit as a result"] - #[doc = "of the transfer, the account will be reaped."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be `Signed` by the transactor."] - pub fn transfer_allow_death( - &self, - dest: types::transfer_allow_death::Dest, - value: types::transfer_allow_death::Value, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Balances", - "transfer_allow_death", - types::TransferAllowDeath { dest, value }, - [ - 24u8, 176u8, 111u8, 60u8, 103u8, 161u8, 139u8, 10u8, 197u8, 207u8, - 140u8, 212u8, 166u8, 50u8, 47u8, 150u8, 83u8, 180u8, 86u8, 4u8, 159u8, - 84u8, 195u8, 71u8, 204u8, 109u8, 233u8, 23u8, 10u8, 156u8, 209u8, - 153u8, - ], - ) - } - #[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"] - #[doc = "may be specified."] - pub fn force_transfer( - &self, - source: types::force_transfer::Source, - dest: types::force_transfer::Dest, - value: types::force_transfer::Value, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Balances", - "force_transfer", - types::ForceTransfer { source, dest, value }, - [ - 23u8, 7u8, 44u8, 138u8, 180u8, 140u8, 216u8, 52u8, 198u8, 3u8, 225u8, - 116u8, 47u8, 26u8, 61u8, 163u8, 55u8, 64u8, 113u8, 250u8, 192u8, 16u8, - 228u8, 228u8, 85u8, 255u8, 100u8, 128u8, 245u8, 132u8, 84u8, 186u8, - ], - ) - } - #[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"] - #[doc = "kill the origin account."] - #[doc = ""] - #[doc = "99% of the time you want [`transfer_allow_death`] instead."] - #[doc = ""] - #[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"] - pub fn transfer_keep_alive( - &self, - dest: types::transfer_keep_alive::Dest, - value: types::transfer_keep_alive::Value, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Balances", - "transfer_keep_alive", - types::TransferKeepAlive { dest, value }, - [ - 196u8, 51u8, 121u8, 239u8, 68u8, 97u8, 174u8, 26u8, 21u8, 9u8, 111u8, - 224u8, 189u8, 35u8, 106u8, 30u8, 83u8, 184u8, 234u8, 174u8, 27u8, - 197u8, 40u8, 126u8, 197u8, 92u8, 201u8, 253u8, 144u8, 175u8, 8u8, - 215u8, - ], - ) - } - #[doc = "Transfer the entire transferable balance from the caller account."] - #[doc = ""] - #[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"] - #[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"] - #[doc = "transferred by this function. To ensure that this function results in a killed account,"] - #[doc = "you might need to prepare the account by removing any reference counters, storage"] - #[doc = "deposits, etc..."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be Signed."] - #[doc = ""] - #[doc = "- `dest`: The recipient of the transfer."] - #[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"] - #[doc = " of the funds the account has, causing the sender account to be killed (false), or"] - #[doc = " transfer everything except at least the existential deposit, which will guarantee to"] - #[doc = " keep the sender account alive (true)."] - pub fn transfer_all( - &self, - dest: types::transfer_all::Dest, - keep_alive: types::transfer_all::KeepAlive, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Balances", - "transfer_all", - types::TransferAll { dest, keep_alive }, - [ - 13u8, 46u8, 127u8, 231u8, 179u8, 61u8, 45u8, 188u8, 195u8, 251u8, - 146u8, 25u8, 138u8, 19u8, 52u8, 112u8, 148u8, 241u8, 134u8, 145u8, - 97u8, 9u8, 199u8, 172u8, 229u8, 239u8, 67u8, 185u8, 128u8, 36u8, 134u8, - 122u8, - ], - ) - } - #[doc = "Unreserve some balance from a user by force."] - #[doc = ""] - #[doc = "Can only be called by ROOT."] - pub fn force_unreserve( - &self, - who: types::force_unreserve::Who, - amount: types::force_unreserve::Amount, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Balances", - "force_unreserve", - types::ForceUnreserve { who, amount }, - [ - 176u8, 105u8, 20u8, 111u8, 49u8, 253u8, 22u8, 225u8, 0u8, 81u8, 221u8, - 39u8, 62u8, 22u8, 95u8, 12u8, 21u8, 251u8, 179u8, 31u8, 104u8, 23u8, - 34u8, 216u8, 119u8, 205u8, 133u8, 196u8, 182u8, 113u8, 36u8, 93u8, - ], - ) - } - #[doc = "Upgrade a specified account."] - #[doc = ""] - #[doc = "- `origin`: Must be `Signed`."] - #[doc = "- `who`: The account to be upgraded."] - #[doc = ""] - #[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"] - #[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"] - #[doc = "possibility of churn)."] - pub fn upgrade_accounts( - &self, - who: types::upgrade_accounts::Who, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Balances", - "upgrade_accounts", - types::UpgradeAccounts { who }, - [ - 66u8, 200u8, 179u8, 104u8, 65u8, 2u8, 101u8, 56u8, 130u8, 161u8, 224u8, - 233u8, 255u8, 124u8, 70u8, 122u8, 8u8, 49u8, 103u8, 178u8, 68u8, 47u8, - 214u8, 166u8, 217u8, 116u8, 178u8, 50u8, 212u8, 164u8, 98u8, 226u8, - ], - ) - } - #[doc = "Set the regular balance of a given account."] - #[doc = ""] - #[doc = "The dispatch origin for this call is `root`."] - pub fn force_set_balance( - &self, - who: types::force_set_balance::Who, - new_free: types::force_set_balance::NewFree, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Balances", - "force_set_balance", - types::ForceSetBalance { who, new_free }, - [ - 101u8, 181u8, 86u8, 32u8, 61u8, 75u8, 34u8, 164u8, 142u8, 250u8, 7u8, - 218u8, 125u8, 57u8, 98u8, 222u8, 147u8, 26u8, 115u8, 185u8, 190u8, - 172u8, 12u8, 212u8, 132u8, 80u8, 253u8, 69u8, 26u8, 116u8, 197u8, - 203u8, - ], - ) - } - #[doc = "Adjust the total issuance in a saturating way."] - #[doc = ""] - #[doc = "Can only be called by root and always needs a positive `delta`."] - #[doc = ""] - #[doc = "# Example"] - pub fn force_adjust_total_issuance( - &self, - direction: types::force_adjust_total_issuance::Direction, - delta: types::force_adjust_total_issuance::Delta, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Balances", - "force_adjust_total_issuance", - types::ForceAdjustTotalIssuance { direction, delta }, - [ - 208u8, 134u8, 56u8, 133u8, 232u8, 164u8, 10u8, 213u8, 53u8, 193u8, - 190u8, 63u8, 236u8, 186u8, 96u8, 122u8, 104u8, 87u8, 173u8, 38u8, 58u8, - 176u8, 21u8, 78u8, 42u8, 106u8, 46u8, 248u8, 251u8, 190u8, 150u8, - 202u8, - ], - ) - } - #[doc = "Burn the specified liquid free balance from the origin account."] - #[doc = ""] - #[doc = "If the origin's account ends up below the existential deposit as a result"] - #[doc = "of the burn and `keep_alive` is false, the account will be reaped."] - #[doc = ""] - #[doc = "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,"] - #[doc = "this `burn` operation will reduce total issuance by the amount _burned_."] - pub fn burn( - &self, - value: types::burn::Value, - keep_alive: types::burn::KeepAlive, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Balances", - "burn", - types::Burn { value, keep_alive }, - [ - 176u8, 64u8, 7u8, 109u8, 16u8, 44u8, 145u8, 125u8, 147u8, 152u8, 130u8, - 114u8, 221u8, 201u8, 150u8, 162u8, 118u8, 71u8, 52u8, 92u8, 240u8, - 116u8, 203u8, 98u8, 5u8, 22u8, 43u8, 102u8, 94u8, 208u8, 101u8, 57u8, - ], - ) + #[doc = "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,"] + #[doc = "this `burn` operation will reduce total issuance by the amount _burned_."] + pub fn burn( + &self, + value: types::burn::Value, + keep_alive: types::burn::KeepAlive, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Balances", + "burn", + types::Burn { value, keep_alive }, + [ + 176u8, 64u8, 7u8, 109u8, 16u8, 44u8, 145u8, 125u8, 147u8, 152u8, 130u8, + 114u8, 221u8, 201u8, 150u8, 162u8, 118u8, 71u8, 52u8, 92u8, 240u8, + 116u8, 203u8, 98u8, 5u8, 22u8, 43u8, 102u8, 94u8, 208u8, 101u8, 57u8, + ], + ) } } } @@ -19457,9 +16214,10 @@ pub mod api { length_bound, }, [ - 8u8, 175u8, 92u8, 32u8, 47u8, 87u8, 215u8, 185u8, 19u8, 234u8, 227u8, - 127u8, 91u8, 168u8, 38u8, 106u8, 82u8, 16u8, 54u8, 79u8, 184u8, 142u8, - 215u8, 106u8, 108u8, 223u8, 4u8, 110u8, 48u8, 115u8, 111u8, 131u8, + 196u8, 215u8, 12u8, 94u8, 95u8, 25u8, 76u8, 6u8, 185u8, 164u8, 229u8, + 85u8, 206u8, 125u8, 223u8, 10u8, 194u8, 37u8, 118u8, 253u8, 79u8, + 104u8, 104u8, 176u8, 154u8, 42u8, 105u8, 104u8, 147u8, 80u8, 17u8, + 192u8, ], ) } @@ -19492,10 +16250,9 @@ pub mod api { length_bound, }, [ - 40u8, 55u8, 111u8, 145u8, 74u8, 51u8, 91u8, 59u8, 34u8, 255u8, 184u8, - 113u8, 239u8, 155u8, 61u8, 52u8, 43u8, 130u8, 197u8, 145u8, 17u8, - 197u8, 226u8, 108u8, 168u8, 242u8, 70u8, 35u8, 57u8, 134u8, 207u8, - 175u8, + 219u8, 158u8, 241u8, 31u8, 159u8, 57u8, 176u8, 188u8, 88u8, 40u8, + 102u8, 27u8, 136u8, 98u8, 236u8, 82u8, 37u8, 229u8, 138u8, 70u8, 150u8, + 175u8, 116u8, 5u8, 78u8, 111u8, 48u8, 181u8, 146u8, 241u8, 1u8, 210u8, ], ) } @@ -19884,9 +16641,10 @@ pub mod api { "ProposalOf", (), [ - 152u8, 235u8, 47u8, 13u8, 193u8, 91u8, 40u8, 5u8, 74u8, 216u8, 169u8, - 129u8, 160u8, 47u8, 100u8, 153u8, 173u8, 249u8, 228u8, 142u8, 240u8, - 188u8, 98u8, 54u8, 194u8, 253u8, 79u8, 1u8, 141u8, 125u8, 11u8, 225u8, + 194u8, 145u8, 134u8, 96u8, 6u8, 115u8, 125u8, 113u8, 54u8, 155u8, + 220u8, 177u8, 103u8, 224u8, 25u8, 215u8, 11u8, 131u8, 135u8, 113u8, + 176u8, 113u8, 218u8, 90u8, 145u8, 250u8, 64u8, 158u8, 255u8, 53u8, + 96u8, 4u8, ], ) } @@ -19906,9 +16664,10 @@ pub mod api { "ProposalOf", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 152u8, 235u8, 47u8, 13u8, 193u8, 91u8, 40u8, 5u8, 74u8, 216u8, 169u8, - 129u8, 160u8, 47u8, 100u8, 153u8, 173u8, 249u8, 228u8, 142u8, 240u8, - 188u8, 98u8, 54u8, 194u8, 253u8, 79u8, 1u8, 141u8, 125u8, 11u8, 225u8, + 194u8, 145u8, 134u8, 96u8, 6u8, 115u8, 125u8, 113u8, 54u8, 155u8, + 220u8, 177u8, 103u8, 224u8, 25u8, 215u8, 11u8, 131u8, 135u8, 113u8, + 176u8, 113u8, 218u8, 90u8, 145u8, 250u8, 64u8, 158u8, 255u8, 53u8, + 96u8, 4u8, ], ) } @@ -35501,9 +32260,10 @@ pub mod api { call: ::subxt_core::alloc::boxed::Box::new(call), }, [ - 76u8, 180u8, 88u8, 85u8, 108u8, 157u8, 231u8, 28u8, 7u8, 181u8, 55u8, - 163u8, 207u8, 234u8, 148u8, 112u8, 45u8, 205u8, 28u8, 241u8, 139u8, - 182u8, 5u8, 44u8, 117u8, 5u8, 174u8, 73u8, 94u8, 177u8, 251u8, 178u8, + 219u8, 85u8, 191u8, 68u8, 197u8, 183u8, 240u8, 166u8, 65u8, 189u8, + 67u8, 8u8, 231u8, 82u8, 123u8, 65u8, 25u8, 86u8, 10u8, 45u8, 182u8, + 184u8, 90u8, 185u8, 195u8, 106u8, 122u8, 227u8, 153u8, 183u8, 1u8, + 230u8, ], ) } @@ -35545,9 +32305,10 @@ pub mod api { call: ::subxt_core::alloc::boxed::Box::new(call), }, [ - 145u8, 139u8, 80u8, 92u8, 81u8, 75u8, 127u8, 86u8, 196u8, 124u8, 207u8, - 185u8, 125u8, 122u8, 203u8, 45u8, 16u8, 89u8, 44u8, 73u8, 224u8, 82u8, - 86u8, 210u8, 18u8, 78u8, 22u8, 28u8, 10u8, 77u8, 52u8, 30u8, + 47u8, 90u8, 88u8, 255u8, 130u8, 132u8, 107u8, 107u8, 119u8, 100u8, + 83u8, 255u8, 247u8, 99u8, 72u8, 224u8, 248u8, 148u8, 120u8, 44u8, + 213u8, 115u8, 164u8, 167u8, 120u8, 23u8, 168u8, 9u8, 40u8, 162u8, + 150u8, 189u8, ], ) } @@ -35585,10 +32346,10 @@ pub mod api { call: ::subxt_core::alloc::boxed::Box::new(call), }, [ - 158u8, 235u8, 222u8, 52u8, 118u8, 110u8, 118u8, 95u8, 181u8, 118u8, - 5u8, 212u8, 105u8, 153u8, 136u8, 37u8, 3u8, 237u8, 116u8, 68u8, 125u8, - 121u8, 123u8, 62u8, 106u8, 134u8, 119u8, 95u8, 58u8, 13u8, 217u8, - 209u8, + 204u8, 225u8, 109u8, 181u8, 193u8, 79u8, 58u8, 73u8, 60u8, 69u8, 202u8, + 29u8, 42u8, 233u8, 200u8, 180u8, 115u8, 189u8, 10u8, 189u8, 24u8, + 129u8, 211u8, 154u8, 235u8, 213u8, 228u8, 52u8, 233u8, 59u8, 75u8, + 153u8, ], ) } @@ -35612,10 +32373,10 @@ pub mod api { call: ::subxt_core::alloc::boxed::Box::new(call), }, [ - 248u8, 100u8, 238u8, 92u8, 176u8, 183u8, 43u8, 116u8, 49u8, 209u8, - 195u8, 77u8, 125u8, 131u8, 9u8, 33u8, 250u8, 100u8, 61u8, 58u8, 58u8, - 179u8, 213u8, 195u8, 202u8, 245u8, 194u8, 29u8, 234u8, 9u8, 191u8, - 131u8, + 177u8, 243u8, 241u8, 150u8, 77u8, 156u8, 154u8, 107u8, 26u8, 46u8, + 86u8, 15u8, 32u8, 31u8, 246u8, 218u8, 163u8, 80u8, 51u8, 139u8, 103u8, + 40u8, 211u8, 96u8, 107u8, 166u8, 246u8, 11u8, 137u8, 252u8, 28u8, + 212u8, ], ) } @@ -39972,80 +36733,670 @@ pub mod api { "Identity", "SubAccountDeposit", [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, - 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum number of sub-accounts allowed per identified account."] + pub fn max_sub_accounts( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Identity", + "MaxSubAccounts", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Maximum number of registrars allowed in the system. Needed to bound the complexity"] + #[doc = " of, e.g., updating judgements."] + pub fn max_registrars( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Identity", + "MaxRegistrars", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The number of blocks within which a username grant must be accepted."] + pub fn pending_username_expiration( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u64> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Identity", + "PendingUsernameExpiration", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, + 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, + 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, + 246u8, + ], + ) + } + #[doc = " The maximum length of a suffix."] + pub fn max_suffix_length( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Identity", + "MaxSuffixLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum length of a username, including its suffix and any system-added delimiters."] + pub fn max_username_length( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Identity", + "MaxUsernameLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod utility { + use super::root_mod; + use super::runtime_types; + #[doc = "The `Error` enum of this pallet."] + pub type Error = runtime_types::pallet_utility::pallet::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::pallet_utility::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Send a batch of dispatch calls."] + #[doc = ""] + #[doc = "May be called from any origin except `None`."] + #[doc = ""] + #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] + #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = ""] + #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] + #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(C) where C is the number of calls to be batched."] + #[doc = ""] + #[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"] + #[doc = "event is deposited. If a call failed and the batch was interrupted, then the"] + #[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"] + #[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"] + #[doc = "event is deposited."] + pub struct Batch { + pub calls: batch::Calls, + } + pub mod batch { + use super::runtime_types; + pub type Calls = ::subxt_core::alloc::vec::Vec< + runtime_types::tangle_testnet_runtime::RuntimeCall, + >; + } + impl ::subxt_core::blocks::StaticExtrinsic for Batch { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "batch"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Send a call through an indexed pseudonym of the sender."] + #[doc = ""] + #[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"] + #[doc = "use the same filter as the origin of this call."] + #[doc = ""] + #[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."] + #[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"] + #[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"] + #[doc = "in the Multisig pallet instead."] + #[doc = ""] + #[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + pub struct AsDerivative { + pub index: as_derivative::Index, + pub call: ::subxt_core::alloc::boxed::Box, + } + pub mod as_derivative { + use super::runtime_types; + pub type Index = ::core::primitive::u16; + pub type Call = runtime_types::tangle_testnet_runtime::RuntimeCall; + } + impl ::subxt_core::blocks::StaticExtrinsic for AsDerivative { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "as_derivative"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Send a batch of dispatch calls and atomically execute them."] + #[doc = "The whole transaction will rollback and fail if any of the calls failed."] + #[doc = ""] + #[doc = "May be called from any origin except `None`."] + #[doc = ""] + #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] + #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = ""] + #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] + #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(C) where C is the number of calls to be batched."] + pub struct BatchAll { + pub calls: batch_all::Calls, + } + pub mod batch_all { + use super::runtime_types; + pub type Calls = ::subxt_core::alloc::vec::Vec< + runtime_types::tangle_testnet_runtime::RuntimeCall, + >; + } + impl ::subxt_core::blocks::StaticExtrinsic for BatchAll { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "batch_all"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Dispatches a function call with a provided origin."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + pub struct DispatchAs { + pub as_origin: ::subxt_core::alloc::boxed::Box, + pub call: ::subxt_core::alloc::boxed::Box, + } + pub mod dispatch_as { + use super::runtime_types; + pub type AsOrigin = runtime_types::tangle_testnet_runtime::OriginCaller; + pub type Call = runtime_types::tangle_testnet_runtime::RuntimeCall; + } + impl ::subxt_core::blocks::StaticExtrinsic for DispatchAs { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "dispatch_as"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Send a batch of dispatch calls."] + #[doc = "Unlike `batch`, it allows errors and won't interrupt."] + #[doc = ""] + #[doc = "May be called from any origin except `None`."] + #[doc = ""] + #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] + #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = ""] + #[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"] + #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(C) where C is the number of calls to be batched."] + pub struct ForceBatch { + pub calls: force_batch::Calls, + } + pub mod force_batch { + use super::runtime_types; + pub type Calls = ::subxt_core::alloc::vec::Vec< + runtime_types::tangle_testnet_runtime::RuntimeCall, + >; + } + impl ::subxt_core::blocks::StaticExtrinsic for ForceBatch { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "force_batch"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Dispatch a function call with a specified weight."] + #[doc = ""] + #[doc = "This function does not check the weight of the call, and instead allows the"] + #[doc = "Root origin to specify the weight of the call."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + pub struct WithWeight { + pub call: ::subxt_core::alloc::boxed::Box, + pub weight: with_weight::Weight, + } + pub mod with_weight { + use super::runtime_types; + pub type Call = runtime_types::tangle_testnet_runtime::RuntimeCall; + pub type Weight = runtime_types::sp_weights::weight_v2::Weight; + } + impl ::subxt_core::blocks::StaticExtrinsic for WithWeight { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "with_weight"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Send a batch of dispatch calls."] + #[doc = ""] + #[doc = "May be called from any origin except `None`."] + #[doc = ""] + #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] + #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = ""] + #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] + #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(C) where C is the number of calls to be batched."] + #[doc = ""] + #[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"] + #[doc = "event is deposited. If a call failed and the batch was interrupted, then the"] + #[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"] + #[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"] + #[doc = "event is deposited."] + pub fn batch( + &self, + calls: types::batch::Calls, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Utility", + "batch", + types::Batch { calls }, + [ + 151u8, 173u8, 31u8, 34u8, 114u8, 1u8, 255u8, 35u8, 84u8, 92u8, 77u8, + 11u8, 29u8, 27u8, 32u8, 24u8, 40u8, 6u8, 80u8, 227u8, 157u8, 211u8, + 152u8, 212u8, 186u8, 131u8, 68u8, 96u8, 41u8, 144u8, 1u8, 60u8, + ], + ) + } + #[doc = "Send a call through an indexed pseudonym of the sender."] + #[doc = ""] + #[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"] + #[doc = "use the same filter as the origin of this call."] + #[doc = ""] + #[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."] + #[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"] + #[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"] + #[doc = "in the Multisig pallet instead."] + #[doc = ""] + #[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + pub fn as_derivative( + &self, + index: types::as_derivative::Index, + call: types::as_derivative::Call, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Utility", + "as_derivative", + types::AsDerivative { + index, + call: ::subxt_core::alloc::boxed::Box::new(call), + }, + [ + 193u8, 101u8, 224u8, 207u8, 74u8, 15u8, 183u8, 133u8, 52u8, 233u8, + 132u8, 53u8, 139u8, 251u8, 108u8, 180u8, 16u8, 28u8, 28u8, 114u8, + 215u8, 81u8, 0u8, 210u8, 84u8, 188u8, 254u8, 213u8, 88u8, 108u8, 43u8, + 58u8, ], ) } - #[doc = " The maximum number of sub-accounts allowed per identified account."] - pub fn max_sub_accounts( + #[doc = "Send a batch of dispatch calls and atomically execute them."] + #[doc = "The whole transaction will rollback and fail if any of the calls failed."] + #[doc = ""] + #[doc = "May be called from any origin except `None`."] + #[doc = ""] + #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] + #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = ""] + #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] + #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(C) where C is the number of calls to be batched."] + pub fn batch_all( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Identity", - "MaxSubAccounts", + calls: types::batch_all::Calls, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Utility", + "batch_all", + types::BatchAll { calls }, [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, + 68u8, 114u8, 129u8, 211u8, 230u8, 137u8, 138u8, 126u8, 164u8, 221u8, + 84u8, 13u8, 64u8, 139u8, 189u8, 93u8, 237u8, 30u8, 198u8, 145u8, 2u8, + 113u8, 37u8, 237u8, 5u8, 137u8, 151u8, 230u8, 171u8, 50u8, 8u8, 211u8, ], ) } - #[doc = " Maximum number of registrars allowed in the system. Needed to bound the complexity"] - #[doc = " of, e.g., updating judgements."] - pub fn max_registrars( + #[doc = "Dispatches a function call with a provided origin."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + pub fn dispatch_as( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Identity", - "MaxRegistrars", + as_origin: types::dispatch_as::AsOrigin, + call: types::dispatch_as::Call, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Utility", + "dispatch_as", + types::DispatchAs { + as_origin: ::subxt_core::alloc::boxed::Box::new(as_origin), + call: ::subxt_core::alloc::boxed::Box::new(call), + }, [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, + 16u8, 222u8, 13u8, 215u8, 101u8, 145u8, 99u8, 110u8, 31u8, 67u8, 102u8, + 182u8, 28u8, 141u8, 188u8, 6u8, 34u8, 88u8, 168u8, 77u8, 157u8, 108u8, + 209u8, 93u8, 195u8, 179u8, 108u8, 29u8, 151u8, 42u8, 134u8, 72u8, ], ) } - #[doc = " The number of blocks within which a username grant must be accepted."] - pub fn pending_username_expiration( + #[doc = "Send a batch of dispatch calls."] + #[doc = "Unlike `batch`, it allows errors and won't interrupt."] + #[doc = ""] + #[doc = "May be called from any origin except `None`."] + #[doc = ""] + #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] + #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = ""] + #[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"] + #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(C) where C is the number of calls to be batched."] + pub fn force_batch( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u64> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Identity", - "PendingUsernameExpiration", + calls: types::force_batch::Calls, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Utility", + "force_batch", + types::ForceBatch { calls }, [ - 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, - 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, - 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, - 246u8, + 215u8, 173u8, 37u8, 158u8, 182u8, 58u8, 88u8, 77u8, 15u8, 183u8, 175u8, + 100u8, 28u8, 159u8, 47u8, 8u8, 48u8, 123u8, 201u8, 110u8, 209u8, 48u8, + 18u8, 134u8, 11u8, 48u8, 247u8, 80u8, 136u8, 7u8, 18u8, 149u8, ], ) } - #[doc = " The maximum length of a suffix."] - pub fn max_suffix_length( + #[doc = "Dispatch a function call with a specified weight."] + #[doc = ""] + #[doc = "This function does not check the weight of the call, and instead allows the"] + #[doc = "Root origin to specify the weight of the call."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + pub fn with_weight( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Identity", - "MaxSuffixLength", + call: types::with_weight::Call, + weight: types::with_weight::Weight, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Utility", + "with_weight", + types::WithWeight { + call: ::subxt_core::alloc::boxed::Box::new(call), + weight, + }, [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, + 81u8, 121u8, 190u8, 153u8, 126u8, 245u8, 68u8, 161u8, 41u8, 248u8, + 112u8, 221u8, 48u8, 221u8, 6u8, 79u8, 17u8, 68u8, 226u8, 23u8, 28u8, + 3u8, 6u8, 187u8, 34u8, 181u8, 59u8, 17u8, 195u8, 83u8, 42u8, 229u8, ], ) } - #[doc = " The maximum length of a username, including its suffix and any system-added delimiters."] - pub fn max_username_length( + } + } + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::pallet_utility::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"] + #[doc = "well as the error."] + pub struct BatchInterrupted { + pub index: batch_interrupted::Index, + pub error: batch_interrupted::Error, + } + pub mod batch_interrupted { + use super::runtime_types; + pub type Index = ::core::primitive::u32; + pub type Error = runtime_types::sp_runtime::DispatchError; + } + impl ::subxt_core::events::StaticEvent for BatchInterrupted { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "BatchInterrupted"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Batch of dispatches completed fully with no error."] + pub struct BatchCompleted; + impl ::subxt_core::events::StaticEvent for BatchCompleted { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "BatchCompleted"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Batch of dispatches completed but has errors."] + pub struct BatchCompletedWithErrors; + impl ::subxt_core::events::StaticEvent for BatchCompletedWithErrors { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "BatchCompletedWithErrors"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A single item within a Batch of dispatches has completed with no error."] + pub struct ItemCompleted; + impl ::subxt_core::events::StaticEvent for ItemCompleted { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "ItemCompleted"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A single item within a Batch of dispatches has completed with error."] + pub struct ItemFailed { + pub error: item_failed::Error, + } + pub mod item_failed { + use super::runtime_types; + pub type Error = runtime_types::sp_runtime::DispatchError; + } + impl ::subxt_core::events::StaticEvent for ItemFailed { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "ItemFailed"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A call was dispatched."] + pub struct DispatchedAs { + pub result: dispatched_as::Result, + } + pub mod dispatched_as { + use super::runtime_types; + pub type Result = + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>; + } + impl ::subxt_core::events::StaticEvent for DispatchedAs { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "DispatchedAs"; + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The limit on the number of batched calls."] + pub fn batched_calls_limit( &self, ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { ::subxt_core::constants::address::StaticAddress::new_static( - "Identity", - "MaxUsernameLength", + "Utility", + "batched_calls_limit", [ 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, @@ -40057,13 +37408,13 @@ pub mod api { } } } - pub mod utility { + pub mod multisig { use super::root_mod; use super::runtime_types; #[doc = "The `Error` enum of this pallet."] - pub type Error = runtime_types::pallet_utility::pallet::Error; + pub type Error = runtime_types::pallet_multisig::pallet::Error; #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_utility::pallet::Call; + pub type Call = runtime_types::pallet_multisig::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -40084,36 +37435,31 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Send a batch of dispatch calls."] + #[doc = "Immediately dispatch a multi-signature call using a single approval from the caller."] #[doc = ""] - #[doc = "May be called from any origin except `None`."] + #[doc = "The dispatch origin for this call must be _Signed_."] #[doc = ""] - #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] - #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = "- `other_signatories`: The accounts (other than the sender) who are part of the"] + #[doc = "multi-signature, but do not participate in the approval process."] + #[doc = "- `call`: The call to be executed."] #[doc = ""] - #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] - #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = "Result is equivalent to the dispatched result."] #[doc = ""] #[doc = "## Complexity"] - #[doc = "- O(C) where C is the number of calls to be batched."] - #[doc = ""] - #[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"] - #[doc = "event is deposited. If a call failed and the batch was interrupted, then the"] - #[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"] - #[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"] - #[doc = "event is deposited."] - pub struct Batch { - pub calls: batch::Calls, + #[doc = "O(Z + C) where Z is the length of the call and C its execution weight."] + pub struct AsMultiThreshold1 { + pub other_signatories: as_multi_threshold1::OtherSignatories, + pub call: ::subxt_core::alloc::boxed::Box, } - pub mod batch { + pub mod as_multi_threshold1 { use super::runtime_types; - pub type Calls = ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_testnet_runtime::RuntimeCall, - >; + pub type OtherSignatories = + ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; + pub type Call = runtime_types::tangle_testnet_runtime::RuntimeCall; } - impl ::subxt_core::blocks::StaticExtrinsic for Batch { - const PALLET: &'static str = "Utility"; - const CALL: &'static str = "batch"; + impl ::subxt_core::blocks::StaticExtrinsic for AsMultiThreshold1 { + const PALLET: &'static str = "Multisig"; + const CALL: &'static str = "as_multi_threshold_1"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -40129,104 +37475,66 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Send a call through an indexed pseudonym of the sender."] - #[doc = ""] - #[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"] - #[doc = "use the same filter as the origin of this call."] + #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] + #[doc = "approved by a total of `threshold - 1` of `other_signatories`."] #[doc = ""] - #[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."] - #[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"] - #[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"] - #[doc = "in the Multisig pallet instead."] + #[doc = "If there are enough, then dispatch the call."] #[doc = ""] - #[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."] + #[doc = "Payment: `DepositBase` will be reserved if this is the first approval, plus"] + #[doc = "`threshold` times `DepositFactor`. It is returned once this dispatch happens or"] + #[doc = "is cancelled."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_."] - pub struct AsDerivative { - pub index: as_derivative::Index, - pub call: ::subxt_core::alloc::boxed::Box, - } - pub mod as_derivative { - use super::runtime_types; - pub type Index = ::core::primitive::u16; - pub type Call = runtime_types::tangle_testnet_runtime::RuntimeCall; - } - impl ::subxt_core::blocks::StaticExtrinsic for AsDerivative { - const PALLET: &'static str = "Utility"; - const CALL: &'static str = "as_derivative"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Send a batch of dispatch calls and atomically execute them."] - #[doc = "The whole transaction will rollback and fail if any of the calls failed."] #[doc = ""] - #[doc = "May be called from any origin except `None`."] + #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] + #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] + #[doc = "dispatch. May not be empty."] + #[doc = "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is"] + #[doc = "not the first approval, then it must be `Some`, with the timepoint (block number and"] + #[doc = "transaction index) of the first approval transaction."] + #[doc = "- `call`: The call to be executed."] #[doc = ""] - #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] - #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = "NOTE: Unless this is the final approval, you will generally want to use"] + #[doc = "`approve_as_multi` instead, since it only requires a hash of the call."] #[doc = ""] - #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] - #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise"] + #[doc = "on success, result is `Ok` and the result from the interior call, if it was executed,"] + #[doc = "may be found in the deposited `MultisigExecuted` event."] #[doc = ""] #[doc = "## Complexity"] - #[doc = "- O(C) where C is the number of calls to be batched."] - pub struct BatchAll { - pub calls: batch_all::Calls, + #[doc = "- `O(S + Z + Call)`."] + #[doc = "- Up to one balance-reserve or unreserve operation."] + #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] + #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] + #[doc = "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len."] + #[doc = "- One encode & hash, both of complexity `O(S)`."] + #[doc = "- Up to one binary search and insert (`O(logS + S)`)."] + #[doc = "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove."] + #[doc = "- One event."] + #[doc = "- The weight of the `call`."] + #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] + #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] + pub struct AsMulti { + pub threshold: as_multi::Threshold, + pub other_signatories: as_multi::OtherSignatories, + pub maybe_timepoint: as_multi::MaybeTimepoint, + pub call: ::subxt_core::alloc::boxed::Box, + pub max_weight: as_multi::MaxWeight, } - pub mod batch_all { + pub mod as_multi { use super::runtime_types; - pub type Calls = ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_testnet_runtime::RuntimeCall, + pub type Threshold = ::core::primitive::u16; + pub type OtherSignatories = + ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; + pub type MaybeTimepoint = ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u64>, >; - } - impl ::subxt_core::blocks::StaticExtrinsic for BatchAll { - const PALLET: &'static str = "Utility"; - const CALL: &'static str = "batch_all"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Dispatches a function call with a provided origin."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Root_."] - #[doc = ""] - #[doc = "## Complexity"] - #[doc = "- O(1)."] - pub struct DispatchAs { - pub as_origin: ::subxt_core::alloc::boxed::Box, - pub call: ::subxt_core::alloc::boxed::Box, - } - pub mod dispatch_as { - use super::runtime_types; - pub type AsOrigin = runtime_types::tangle_testnet_runtime::OriginCaller; pub type Call = runtime_types::tangle_testnet_runtime::RuntimeCall; + pub type MaxWeight = runtime_types::sp_weights::weight_v2::Weight; } - impl ::subxt_core::blocks::StaticExtrinsic for DispatchAs { - const PALLET: &'static str = "Utility"; - const CALL: &'static str = "dispatch_as"; + impl ::subxt_core::blocks::StaticExtrinsic for AsMulti { + const PALLET: &'static str = "Multisig"; + const CALL: &'static str = "as_multi"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -40242,31 +37550,57 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Send a batch of dispatch calls."] - #[doc = "Unlike `batch`, it allows errors and won't interrupt."] + #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] + #[doc = "approved by a total of `threshold - 1` of `other_signatories`."] #[doc = ""] - #[doc = "May be called from any origin except `None`."] + #[doc = "Payment: `DepositBase` will be reserved if this is the first approval, plus"] + #[doc = "`threshold` times `DepositFactor`. It is returned once this dispatch happens or"] + #[doc = "is cancelled."] #[doc = ""] - #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] - #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = "The dispatch origin for this call must be _Signed_."] #[doc = ""] - #[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"] - #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] + #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] + #[doc = "dispatch. May not be empty."] + #[doc = "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is"] + #[doc = "not the first approval, then it must be `Some`, with the timepoint (block number and"] + #[doc = "transaction index) of the first approval transaction."] + #[doc = "- `call_hash`: The hash of the call to be executed."] + #[doc = ""] + #[doc = "NOTE: If this is the final approval, you will want to use `as_multi` instead."] #[doc = ""] #[doc = "## Complexity"] - #[doc = "- O(C) where C is the number of calls to be batched."] - pub struct ForceBatch { - pub calls: force_batch::Calls, + #[doc = "- `O(S)`."] + #[doc = "- Up to one balance-reserve or unreserve operation."] + #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] + #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] + #[doc = "- One encode & hash, both of complexity `O(S)`."] + #[doc = "- Up to one binary search and insert (`O(logS + S)`)."] + #[doc = "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove."] + #[doc = "- One event."] + #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] + #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] + pub struct ApproveAsMulti { + pub threshold: approve_as_multi::Threshold, + pub other_signatories: approve_as_multi::OtherSignatories, + pub maybe_timepoint: approve_as_multi::MaybeTimepoint, + pub call_hash: approve_as_multi::CallHash, + pub max_weight: approve_as_multi::MaxWeight, } - pub mod force_batch { + pub mod approve_as_multi { use super::runtime_types; - pub type Calls = ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_testnet_runtime::RuntimeCall, + pub type Threshold = ::core::primitive::u16; + pub type OtherSignatories = + ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; + pub type MaybeTimepoint = ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u64>, >; + pub type CallHash = [::core::primitive::u8; 32usize]; + pub type MaxWeight = runtime_types::sp_weights::weight_v2::Weight; } - impl ::subxt_core::blocks::StaticExtrinsic for ForceBatch { - const PALLET: &'static str = "Utility"; - const CALL: &'static str = "force_batch"; + impl ::subxt_core::blocks::StaticExtrinsic for ApproveAsMulti { + const PALLET: &'static str = "Multisig"; + const CALL: &'static str = "approve_as_multi"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -40282,322 +37616,595 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Dispatch a function call with a specified weight."] + #[doc = "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously"] + #[doc = "for this operation will be unreserved on success."] #[doc = ""] - #[doc = "This function does not check the weight of the call, and instead allows the"] - #[doc = "Root origin to specify the weight of the call."] + #[doc = "The dispatch origin for this call must be _Signed_."] #[doc = ""] - #[doc = "The dispatch origin for this call must be _Root_."] - pub struct WithWeight { - pub call: ::subxt_core::alloc::boxed::Box, - pub weight: with_weight::Weight, + #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] + #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] + #[doc = "dispatch. May not be empty."] + #[doc = "- `timepoint`: The timepoint (block number and transaction index) of the first approval"] + #[doc = "transaction for this dispatch."] + #[doc = "- `call_hash`: The hash of the call to be executed."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(S)`."] + #[doc = "- Up to one balance-reserve or unreserve operation."] + #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] + #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] + #[doc = "- One encode & hash, both of complexity `O(S)`."] + #[doc = "- One event."] + #[doc = "- I/O: 1 read `O(S)`, one remove."] + #[doc = "- Storage: removes one item."] + pub struct CancelAsMulti { + pub threshold: cancel_as_multi::Threshold, + pub other_signatories: cancel_as_multi::OtherSignatories, + pub timepoint: cancel_as_multi::Timepoint, + pub call_hash: cancel_as_multi::CallHash, } - pub mod with_weight { + pub mod cancel_as_multi { use super::runtime_types; - pub type Call = runtime_types::tangle_testnet_runtime::RuntimeCall; - pub type Weight = runtime_types::sp_weights::weight_v2::Weight; + pub type Threshold = ::core::primitive::u16; + pub type OtherSignatories = + ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; + pub type Timepoint = + runtime_types::pallet_multisig::Timepoint<::core::primitive::u64>; + pub type CallHash = [::core::primitive::u8; 32usize]; } - impl ::subxt_core::blocks::StaticExtrinsic for WithWeight { - const PALLET: &'static str = "Utility"; - const CALL: &'static str = "with_weight"; + impl ::subxt_core::blocks::StaticExtrinsic for CancelAsMulti { + const PALLET: &'static str = "Multisig"; + const CALL: &'static str = "cancel_as_multi"; } } pub struct TransactionApi; impl TransactionApi { - #[doc = "Send a batch of dispatch calls."] + #[doc = "Immediately dispatch a multi-signature call using a single approval from the caller."] #[doc = ""] - #[doc = "May be called from any origin except `None`."] + #[doc = "The dispatch origin for this call must be _Signed_."] #[doc = ""] - #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] - #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = "- `other_signatories`: The accounts (other than the sender) who are part of the"] + #[doc = "multi-signature, but do not participate in the approval process."] + #[doc = "- `call`: The call to be executed."] #[doc = ""] - #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] - #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = "Result is equivalent to the dispatched result."] #[doc = ""] #[doc = "## Complexity"] - #[doc = "- O(C) where C is the number of calls to be batched."] - #[doc = ""] - #[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"] - #[doc = "event is deposited. If a call failed and the batch was interrupted, then the"] - #[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"] - #[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"] - #[doc = "event is deposited."] - pub fn batch( + #[doc = "O(Z + C) where Z is the length of the call and C its execution weight."] + pub fn as_multi_threshold_1( &self, - calls: types::batch::Calls, - ) -> ::subxt_core::tx::payload::StaticPayload { + other_signatories: types::as_multi_threshold1::OtherSignatories, + call: types::as_multi_threshold1::Call, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "Utility", - "batch", - types::Batch { calls }, + "Multisig", + "as_multi_threshold_1", + types::AsMultiThreshold1 { + other_signatories, + call: ::subxt_core::alloc::boxed::Box::new(call), + }, [ - 109u8, 221u8, 220u8, 49u8, 58u8, 62u8, 38u8, 194u8, 202u8, 104u8, - 222u8, 171u8, 59u8, 98u8, 87u8, 16u8, 123u8, 225u8, 58u8, 163u8, 127u8, - 201u8, 204u8, 179u8, 178u8, 252u8, 22u8, 33u8, 136u8, 9u8, 114u8, - 132u8, + 233u8, 111u8, 180u8, 61u8, 139u8, 144u8, 183u8, 55u8, 95u8, 171u8, 3u8, + 24u8, 245u8, 54u8, 190u8, 231u8, 255u8, 140u8, 23u8, 119u8, 179u8, + 254u8, 210u8, 192u8, 115u8, 57u8, 229u8, 162u8, 237u8, 16u8, 124u8, + 31u8, ], ) } - #[doc = "Send a call through an indexed pseudonym of the sender."] - #[doc = ""] - #[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"] - #[doc = "use the same filter as the origin of this call."] + #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] + #[doc = "approved by a total of `threshold - 1` of `other_signatories`."] #[doc = ""] - #[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."] - #[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"] - #[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"] - #[doc = "in the Multisig pallet instead."] + #[doc = "If there are enough, then dispatch the call."] #[doc = ""] - #[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."] + #[doc = "Payment: `DepositBase` will be reserved if this is the first approval, plus"] + #[doc = "`threshold` times `DepositFactor`. It is returned once this dispatch happens or"] + #[doc = "is cancelled."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_."] - pub fn as_derivative( + #[doc = ""] + #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] + #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] + #[doc = "dispatch. May not be empty."] + #[doc = "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is"] + #[doc = "not the first approval, then it must be `Some`, with the timepoint (block number and"] + #[doc = "transaction index) of the first approval transaction."] + #[doc = "- `call`: The call to be executed."] + #[doc = ""] + #[doc = "NOTE: Unless this is the final approval, you will generally want to use"] + #[doc = "`approve_as_multi` instead, since it only requires a hash of the call."] + #[doc = ""] + #[doc = "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise"] + #[doc = "on success, result is `Ok` and the result from the interior call, if it was executed,"] + #[doc = "may be found in the deposited `MultisigExecuted` event."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(S + Z + Call)`."] + #[doc = "- Up to one balance-reserve or unreserve operation."] + #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] + #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] + #[doc = "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len."] + #[doc = "- One encode & hash, both of complexity `O(S)`."] + #[doc = "- Up to one binary search and insert (`O(logS + S)`)."] + #[doc = "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove."] + #[doc = "- One event."] + #[doc = "- The weight of the `call`."] + #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] + #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] + pub fn as_multi( &self, - index: types::as_derivative::Index, - call: types::as_derivative::Call, - ) -> ::subxt_core::tx::payload::StaticPayload { + threshold: types::as_multi::Threshold, + other_signatories: types::as_multi::OtherSignatories, + maybe_timepoint: types::as_multi::MaybeTimepoint, + call: types::as_multi::Call, + max_weight: types::as_multi::MaxWeight, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "Utility", - "as_derivative", - types::AsDerivative { - index, + "Multisig", + "as_multi", + types::AsMulti { + threshold, + other_signatories, + maybe_timepoint, call: ::subxt_core::alloc::boxed::Box::new(call), + max_weight, }, [ - 215u8, 27u8, 65u8, 55u8, 241u8, 25u8, 136u8, 172u8, 78u8, 123u8, 154u8, - 78u8, 151u8, 87u8, 99u8, 192u8, 61u8, 3u8, 55u8, 219u8, 109u8, 9u8, - 81u8, 162u8, 69u8, 183u8, 214u8, 116u8, 96u8, 143u8, 78u8, 16u8, + 211u8, 162u8, 87u8, 97u8, 134u8, 189u8, 212u8, 55u8, 253u8, 255u8, + 18u8, 225u8, 119u8, 216u8, 172u8, 117u8, 59u8, 163u8, 35u8, 123u8, + 251u8, 119u8, 72u8, 203u8, 216u8, 10u8, 155u8, 37u8, 150u8, 89u8, + 194u8, 134u8, ], ) } - #[doc = "Send a batch of dispatch calls and atomically execute them."] - #[doc = "The whole transaction will rollback and fail if any of the calls failed."] + #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] + #[doc = "approved by a total of `threshold - 1` of `other_signatories`."] #[doc = ""] - #[doc = "May be called from any origin except `None`."] + #[doc = "Payment: `DepositBase` will be reserved if this is the first approval, plus"] + #[doc = "`threshold` times `DepositFactor`. It is returned once this dispatch happens or"] + #[doc = "is cancelled."] #[doc = ""] - #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] - #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = "The dispatch origin for this call must be _Signed_."] #[doc = ""] - #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] - #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] + #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] + #[doc = "dispatch. May not be empty."] + #[doc = "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is"] + #[doc = "not the first approval, then it must be `Some`, with the timepoint (block number and"] + #[doc = "transaction index) of the first approval transaction."] + #[doc = "- `call_hash`: The hash of the call to be executed."] + #[doc = ""] + #[doc = "NOTE: If this is the final approval, you will want to use `as_multi` instead."] #[doc = ""] #[doc = "## Complexity"] - #[doc = "- O(C) where C is the number of calls to be batched."] - pub fn batch_all( + #[doc = "- `O(S)`."] + #[doc = "- Up to one balance-reserve or unreserve operation."] + #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] + #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] + #[doc = "- One encode & hash, both of complexity `O(S)`."] + #[doc = "- Up to one binary search and insert (`O(logS + S)`)."] + #[doc = "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove."] + #[doc = "- One event."] + #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] + #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] + pub fn approve_as_multi( &self, - calls: types::batch_all::Calls, - ) -> ::subxt_core::tx::payload::StaticPayload { + threshold: types::approve_as_multi::Threshold, + other_signatories: types::approve_as_multi::OtherSignatories, + maybe_timepoint: types::approve_as_multi::MaybeTimepoint, + call_hash: types::approve_as_multi::CallHash, + max_weight: types::approve_as_multi::MaxWeight, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "Utility", - "batch_all", - types::BatchAll { calls }, + "Multisig", + "approve_as_multi", + types::ApproveAsMulti { + threshold, + other_signatories, + maybe_timepoint, + call_hash, + max_weight, + }, [ - 12u8, 52u8, 69u8, 40u8, 76u8, 44u8, 32u8, 183u8, 108u8, 172u8, 111u8, - 249u8, 178u8, 143u8, 238u8, 89u8, 39u8, 191u8, 174u8, 66u8, 73u8, - 159u8, 130u8, 126u8, 35u8, 120u8, 206u8, 94u8, 234u8, 50u8, 161u8, - 208u8, + 54u8, 141u8, 48u8, 156u8, 12u8, 82u8, 142u8, 38u8, 79u8, 125u8, 32u8, + 202u8, 3u8, 230u8, 157u8, 221u8, 206u8, 76u8, 163u8, 225u8, 18u8, + 253u8, 165u8, 17u8, 21u8, 65u8, 103u8, 79u8, 236u8, 68u8, 10u8, 21u8, ], ) } - #[doc = "Dispatches a function call with a provided origin."] + #[doc = "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously"] + #[doc = "for this operation will be unreserved on success."] #[doc = ""] - #[doc = "The dispatch origin for this call must be _Root_."] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] + #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] + #[doc = "dispatch. May not be empty."] + #[doc = "- `timepoint`: The timepoint (block number and transaction index) of the first approval"] + #[doc = "transaction for this dispatch."] + #[doc = "- `call_hash`: The hash of the call to be executed."] #[doc = ""] #[doc = "## Complexity"] - #[doc = "- O(1)."] - pub fn dispatch_as( + #[doc = "- `O(S)`."] + #[doc = "- Up to one balance-reserve or unreserve operation."] + #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] + #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] + #[doc = "- One encode & hash, both of complexity `O(S)`."] + #[doc = "- One event."] + #[doc = "- I/O: 1 read `O(S)`, one remove."] + #[doc = "- Storage: removes one item."] + pub fn cancel_as_multi( &self, - as_origin: types::dispatch_as::AsOrigin, - call: types::dispatch_as::Call, - ) -> ::subxt_core::tx::payload::StaticPayload { + threshold: types::cancel_as_multi::Threshold, + other_signatories: types::cancel_as_multi::OtherSignatories, + timepoint: types::cancel_as_multi::Timepoint, + call_hash: types::cancel_as_multi::CallHash, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "Utility", - "dispatch_as", - types::DispatchAs { - as_origin: ::subxt_core::alloc::boxed::Box::new(as_origin), - call: ::subxt_core::alloc::boxed::Box::new(call), - }, + "Multisig", + "cancel_as_multi", + types::CancelAsMulti { threshold, other_signatories, timepoint, call_hash }, + [ + 118u8, 81u8, 25u8, 77u8, 172u8, 129u8, 41u8, 32u8, 104u8, 194u8, 106u8, + 92u8, 195u8, 252u8, 140u8, 31u8, 177u8, 250u8, 247u8, 73u8, 206u8, + 153u8, 131u8, 168u8, 96u8, 45u8, 216u8, 234u8, 173u8, 37u8, 226u8, + 20u8, + ], + ) + } + } + } + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::pallet_multisig::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A new multisig operation has begun."] + pub struct NewMultisig { + pub approving: new_multisig::Approving, + pub multisig: new_multisig::Multisig, + pub call_hash: new_multisig::CallHash, + } + pub mod new_multisig { + use super::runtime_types; + pub type Approving = ::subxt_core::utils::AccountId32; + pub type Multisig = ::subxt_core::utils::AccountId32; + pub type CallHash = [::core::primitive::u8; 32usize]; + } + impl ::subxt_core::events::StaticEvent for NewMultisig { + const PALLET: &'static str = "Multisig"; + const EVENT: &'static str = "NewMultisig"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A multisig operation has been approved by someone."] + pub struct MultisigApproval { + pub approving: multisig_approval::Approving, + pub timepoint: multisig_approval::Timepoint, + pub multisig: multisig_approval::Multisig, + pub call_hash: multisig_approval::CallHash, + } + pub mod multisig_approval { + use super::runtime_types; + pub type Approving = ::subxt_core::utils::AccountId32; + pub type Timepoint = + runtime_types::pallet_multisig::Timepoint<::core::primitive::u64>; + pub type Multisig = ::subxt_core::utils::AccountId32; + pub type CallHash = [::core::primitive::u8; 32usize]; + } + impl ::subxt_core::events::StaticEvent for MultisigApproval { + const PALLET: &'static str = "Multisig"; + const EVENT: &'static str = "MultisigApproval"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A multisig operation has been executed."] + pub struct MultisigExecuted { + pub approving: multisig_executed::Approving, + pub timepoint: multisig_executed::Timepoint, + pub multisig: multisig_executed::Multisig, + pub call_hash: multisig_executed::CallHash, + pub result: multisig_executed::Result, + } + pub mod multisig_executed { + use super::runtime_types; + pub type Approving = ::subxt_core::utils::AccountId32; + pub type Timepoint = + runtime_types::pallet_multisig::Timepoint<::core::primitive::u64>; + pub type Multisig = ::subxt_core::utils::AccountId32; + pub type CallHash = [::core::primitive::u8; 32usize]; + pub type Result = + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>; + } + impl ::subxt_core::events::StaticEvent for MultisigExecuted { + const PALLET: &'static str = "Multisig"; + const EVENT: &'static str = "MultisigExecuted"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A multisig operation has been cancelled."] + pub struct MultisigCancelled { + pub cancelling: multisig_cancelled::Cancelling, + pub timepoint: multisig_cancelled::Timepoint, + pub multisig: multisig_cancelled::Multisig, + pub call_hash: multisig_cancelled::CallHash, + } + pub mod multisig_cancelled { + use super::runtime_types; + pub type Cancelling = ::subxt_core::utils::AccountId32; + pub type Timepoint = + runtime_types::pallet_multisig::Timepoint<::core::primitive::u64>; + pub type Multisig = ::subxt_core::utils::AccountId32; + pub type CallHash = [::core::primitive::u8; 32usize]; + } + impl ::subxt_core::events::StaticEvent for MultisigCancelled { + const PALLET: &'static str = "Multisig"; + const EVENT: &'static str = "MultisigCancelled"; + } + } + pub mod storage { + use super::runtime_types; + pub mod types { + use super::runtime_types; + pub mod multisigs { + use super::runtime_types; + pub type Multisigs = runtime_types::pallet_multisig::Multisig< + ::core::primitive::u64, + ::core::primitive::u128, + ::subxt_core::utils::AccountId32, + >; + pub type Param0 = ::subxt_core::utils::AccountId32; + pub type Param1 = [::core::primitive::u8; 32usize]; + } + } + pub struct StorageApi; + impl StorageApi { + #[doc = " The set of open multisig operations."] + pub fn multisigs_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::multisigs::Multisigs, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Multisig", + "Multisigs", + (), + [ + 69u8, 190u8, 134u8, 80u8, 236u8, 248u8, 25u8, 153u8, 154u8, 71u8, + 192u8, 101u8, 159u8, 179u8, 0u8, 228u8, 93u8, 125u8, 99u8, 229u8, + 142u8, 117u8, 215u8, 149u8, 134u8, 13u8, 139u8, 251u8, 220u8, 251u8, + 2u8, 255u8, + ], + ) + } + #[doc = " The set of open multisig operations."] + pub fn multisigs_iter1( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::multisigs::Multisigs, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Multisig", + "Multisigs", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 69u8, 190u8, 134u8, 80u8, 236u8, 248u8, 25u8, 153u8, 154u8, 71u8, + 192u8, 101u8, 159u8, 179u8, 0u8, 228u8, 93u8, 125u8, 99u8, 229u8, + 142u8, 117u8, 215u8, 149u8, 134u8, 13u8, 139u8, 251u8, 220u8, 251u8, + 2u8, 255u8, + ], + ) + } + #[doc = " The set of open multisig operations."] + pub fn multisigs( + &self, + _0: impl ::core::borrow::Borrow, + _1: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ( + ::subxt_core::storage::address::StaticStorageKey, + ::subxt_core::storage::address::StaticStorageKey, + ), + types::multisigs::Multisigs, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Multisig", + "Multisigs", + ( + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), + ), + [ + 69u8, 190u8, 134u8, 80u8, 236u8, 248u8, 25u8, 153u8, 154u8, 71u8, + 192u8, 101u8, 159u8, 179u8, 0u8, 228u8, 93u8, 125u8, 99u8, 229u8, + 142u8, 117u8, 215u8, 149u8, 134u8, 13u8, 139u8, 251u8, 220u8, 251u8, + 2u8, 255u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The base amount of currency needed to reserve for creating a multisig execution or to"] + #[doc = " store a dispatch call for later."] + #[doc = ""] + #[doc = " This is held for an additional storage item whose value size is"] + #[doc = " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is"] + #[doc = " `32 + sizeof(AccountId)` bytes."] + pub fn deposit_base( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Multisig", + "DepositBase", [ - 63u8, 100u8, 76u8, 5u8, 114u8, 29u8, 37u8, 232u8, 33u8, 37u8, 55u8, - 235u8, 170u8, 72u8, 116u8, 53u8, 194u8, 0u8, 84u8, 43u8, 108u8, 5u8, - 17u8, 225u8, 158u8, 102u8, 41u8, 15u8, 241u8, 22u8, 181u8, 171u8, + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, ], ) } - #[doc = "Send a batch of dispatch calls."] - #[doc = "Unlike `batch`, it allows errors and won't interrupt."] - #[doc = ""] - #[doc = "May be called from any origin except `None`."] - #[doc = ""] - #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] - #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] - #[doc = ""] - #[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"] - #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = " The amount of currency needed per unit threshold when creating a multisig execution."] #[doc = ""] - #[doc = "## Complexity"] - #[doc = "- O(C) where C is the number of calls to be batched."] - pub fn force_batch( + #[doc = " This is held for adding 32 bytes more into a pre-existing storage value."] + pub fn deposit_factor( &self, - calls: types::force_batch::Calls, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Utility", - "force_batch", - types::ForceBatch { calls }, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Multisig", + "DepositFactor", [ - 248u8, 34u8, 86u8, 31u8, 81u8, 14u8, 91u8, 115u8, 50u8, 105u8, 168u8, - 106u8, 110u8, 228u8, 83u8, 162u8, 110u8, 25u8, 192u8, 71u8, 1u8, 156u8, - 84u8, 103u8, 5u8, 106u8, 217u8, 6u8, 55u8, 106u8, 149u8, 194u8, + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, ], ) } - #[doc = "Dispatch a function call with a specified weight."] - #[doc = ""] - #[doc = "This function does not check the weight of the call, and instead allows the"] - #[doc = "Root origin to specify the weight of the call."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Root_."] - pub fn with_weight( + #[doc = " The maximum amount of signatories allowed in the multisig."] + pub fn max_signatories( &self, - call: types::with_weight::Call, - weight: types::with_weight::Weight, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Utility", - "with_weight", - types::WithWeight { - call: ::subxt_core::alloc::boxed::Box::new(call), - weight, - }, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Multisig", + "MaxSignatories", [ - 24u8, 24u8, 148u8, 175u8, 58u8, 110u8, 141u8, 251u8, 228u8, 207u8, - 247u8, 205u8, 149u8, 72u8, 226u8, 137u8, 5u8, 205u8, 85u8, 247u8, 62u8, - 226u8, 232u8, 245u8, 81u8, 43u8, 12u8, 61u8, 138u8, 36u8, 38u8, 120u8, + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, ], ) } } } - #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::pallet_utility::pallet::Event; - pub mod events { + } + pub mod ethereum { + use super::root_mod; + use super::runtime_types; + #[doc = "The `Error` enum of this pallet."] + pub type Error = runtime_types::pallet_ethereum::pallet::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::pallet_ethereum::pallet::Call; + pub mod calls { + use super::root_mod; use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"] - #[doc = "well as the error."] - pub struct BatchInterrupted { - pub index: batch_interrupted::Index, - pub error: batch_interrupted::Error, - } - pub mod batch_interrupted { - use super::runtime_types; - pub type Index = ::core::primitive::u32; - pub type Error = runtime_types::sp_runtime::DispatchError; - } - impl ::subxt_core::events::StaticEvent for BatchInterrupted { - const PALLET: &'static str = "Utility"; - const EVENT: &'static str = "BatchInterrupted"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Batch of dispatches completed fully with no error."] - pub struct BatchCompleted; - impl ::subxt_core::events::StaticEvent for BatchCompleted { - const PALLET: &'static str = "Utility"; - const EVENT: &'static str = "BatchCompleted"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Batch of dispatches completed but has errors."] - pub struct BatchCompletedWithErrors; - impl ::subxt_core::events::StaticEvent for BatchCompletedWithErrors { - const PALLET: &'static str = "Utility"; - const EVENT: &'static str = "BatchCompletedWithErrors"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A single item within a Batch of dispatches has completed with no error."] - pub struct ItemCompleted; - impl ::subxt_core::events::StaticEvent for ItemCompleted { - const PALLET: &'static str = "Utility"; - const EVENT: &'static str = "ItemCompleted"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A single item within a Batch of dispatches has completed with error."] - pub struct ItemFailed { - pub error: item_failed::Error, - } - pub mod item_failed { + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { use super::runtime_types; - pub type Error = runtime_types::sp_runtime::DispatchError; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Transact an Ethereum transaction."] + pub struct Transact { + pub transaction: transact::Transaction, + } + pub mod transact { + use super::runtime_types; + pub type Transaction = runtime_types::ethereum::transaction::TransactionV2; + } + impl ::subxt_core::blocks::StaticExtrinsic for Transact { + const PALLET: &'static str = "Ethereum"; + const CALL: &'static str = "transact"; + } } - impl ::subxt_core::events::StaticEvent for ItemFailed { - const PALLET: &'static str = "Utility"; - const EVENT: &'static str = "ItemFailed"; + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Transact an Ethereum transaction."] + pub fn transact( + &self, + transaction: types::transact::Transaction, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Ethereum", + "transact", + types::Transact { transaction }, + [ + 124u8, 9u8, 75u8, 222u8, 225u8, 49u8, 255u8, 53u8, 207u8, 220u8, 198u8, + 31u8, 26u8, 150u8, 238u8, 140u8, 230u8, 77u8, 248u8, 1u8, 97u8, 222u8, + 9u8, 32u8, 217u8, 160u8, 195u8, 4u8, 69u8, 210u8, 251u8, 109u8, + ], + ) + } } + } + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::pallet_ethereum::pallet::Event; + pub mod events { + use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -40612,49 +38219,200 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A call was dispatched."] - pub struct DispatchedAs { - pub result: dispatched_as::Result, + #[doc = "An ethereum transaction was successfully executed."] + pub struct Executed { + pub from: executed::From, + pub to: executed::To, + pub transaction_hash: executed::TransactionHash, + pub exit_reason: executed::ExitReason, + pub extra_data: executed::ExtraData, } - pub mod dispatched_as { + pub mod executed { use super::runtime_types; - pub type Result = - ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>; + pub type From = ::subxt_core::utils::H160; + pub type To = ::subxt_core::utils::H160; + pub type TransactionHash = ::subxt_core::utils::H256; + pub type ExitReason = runtime_types::evm_core::error::ExitReason; + pub type ExtraData = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; } - impl ::subxt_core::events::StaticEvent for DispatchedAs { - const PALLET: &'static str = "Utility"; - const EVENT: &'static str = "DispatchedAs"; + impl ::subxt_core::events::StaticEvent for Executed { + const PALLET: &'static str = "Ethereum"; + const EVENT: &'static str = "Executed"; } } - pub mod constants { + pub mod storage { use super::runtime_types; - pub struct ConstantsApi; - impl ConstantsApi { - #[doc = " The limit on the number of batched calls."] - pub fn batched_calls_limit( + pub mod types { + use super::runtime_types; + pub mod pending { + use super::runtime_types; + pub type Pending = ::subxt_core::alloc::vec::Vec<( + runtime_types::ethereum::transaction::TransactionV2, + runtime_types::fp_rpc::TransactionStatus, + runtime_types::ethereum::receipt::ReceiptV3, + )>; + } + pub mod current_block { + use super::runtime_types; + pub type CurrentBlock = runtime_types::ethereum::block::Block< + runtime_types::ethereum::transaction::TransactionV2, + >; + } + pub mod current_receipts { + use super::runtime_types; + pub type CurrentReceipts = + ::subxt_core::alloc::vec::Vec; + } + pub mod current_transaction_statuses { + use super::runtime_types; + pub type CurrentTransactionStatuses = + ::subxt_core::alloc::vec::Vec; + } + pub mod block_hash { + use super::runtime_types; + pub type BlockHash = ::subxt_core::utils::H256; + pub type Param0 = runtime_types::primitive_types::U256; + } + } + pub struct StorageApi; + impl StorageApi { + #[doc = " Current building block's transactions and receipts."] + pub fn pending( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Utility", - "batched_calls_limit", + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::pending::Pending, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Ethereum", + "Pending", + (), [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, + 249u8, 60u8, 121u8, 166u8, 91u8, 128u8, 146u8, 87u8, 240u8, 165u8, + 236u8, 61u8, 65u8, 140u8, 14u8, 203u8, 169u8, 102u8, 126u8, 247u8, + 245u8, 3u8, 166u8, 188u8, 144u8, 74u8, 13u8, 2u8, 244u8, 49u8, 223u8, + 198u8, + ], + ) + } + #[doc = " The current Ethereum block."] + pub fn current_block( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::current_block::CurrentBlock, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Ethereum", + "CurrentBlock", + (), + [ + 54u8, 128u8, 41u8, 16u8, 65u8, 25u8, 184u8, 85u8, 192u8, 220u8, 208u8, + 92u8, 166u8, 132u8, 223u8, 50u8, 252u8, 112u8, 236u8, 217u8, 108u8, + 166u8, 131u8, 224u8, 141u8, 59u8, 248u8, 42u8, 197u8, 96u8, 240u8, + 88u8, + ], + ) + } + #[doc = " The current Ethereum receipts."] + pub fn current_receipts( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::current_receipts::CurrentReceipts, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Ethereum", + "CurrentReceipts", + (), + [ + 97u8, 46u8, 228u8, 135u8, 133u8, 148u8, 98u8, 3u8, 128u8, 26u8, 83u8, + 12u8, 33u8, 135u8, 88u8, 205u8, 147u8, 176u8, 13u8, 113u8, 148u8, 48u8, + 31u8, 200u8, 105u8, 224u8, 201u8, 225u8, 157u8, 108u8, 55u8, 209u8, + ], + ) + } + #[doc = " The current transaction statuses."] + pub fn current_transaction_statuses( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::current_transaction_statuses::CurrentTransactionStatuses, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Ethereum", + "CurrentTransactionStatuses", + (), + [ + 29u8, 20u8, 106u8, 243u8, 226u8, 102u8, 121u8, 20u8, 222u8, 53u8, 99u8, + 68u8, 173u8, 238u8, 167u8, 165u8, 192u8, 192u8, 230u8, 46u8, 231u8, + 88u8, 144u8, 159u8, 3u8, 171u8, 72u8, 125u8, 68u8, 66u8, 125u8, 165u8, + ], + ) + } + pub fn block_hash_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::block_hash::BlockHash, + (), + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Ethereum", + "BlockHash", + (), + [ + 131u8, 87u8, 201u8, 82u8, 203u8, 241u8, 176u8, 149u8, 39u8, 243u8, + 227u8, 1u8, 86u8, 62u8, 6u8, 231u8, 55u8, 6u8, 212u8, 96u8, 207u8, + 73u8, 56u8, 204u8, 215u8, 227u8, 48u8, 249u8, 67u8, 137u8, 139u8, 76u8, + ], + ) + } + pub fn block_hash( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::block_hash::BlockHash, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Ethereum", + "BlockHash", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 131u8, 87u8, 201u8, 82u8, 203u8, 241u8, 176u8, 149u8, 39u8, 243u8, + 227u8, 1u8, 86u8, 62u8, 6u8, 231u8, 55u8, 6u8, 212u8, 96u8, 207u8, + 73u8, 56u8, 204u8, 215u8, 227u8, 48u8, 249u8, 67u8, 137u8, 139u8, 76u8, ], ) } } } } - pub mod multisig { + pub mod evm { use super::root_mod; use super::runtime_types; #[doc = "The `Error` enum of this pallet."] - pub type Error = runtime_types::pallet_multisig::pallet::Error; + pub type Error = runtime_types::pallet_evm::pallet::Error; #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_multisig::pallet::Call; + pub type Call = runtime_types::pallet_evm::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -40675,31 +38433,19 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Immediately dispatch a multi-signature call using a single approval from the caller."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "- `other_signatories`: The accounts (other than the sender) who are part of the"] - #[doc = "multi-signature, but do not participate in the approval process."] - #[doc = "- `call`: The call to be executed."] - #[doc = ""] - #[doc = "Result is equivalent to the dispatched result."] - #[doc = ""] - #[doc = "## Complexity"] - #[doc = "O(Z + C) where Z is the length of the call and C its execution weight."] - pub struct AsMultiThreshold1 { - pub other_signatories: as_multi_threshold1::OtherSignatories, - pub call: ::subxt_core::alloc::boxed::Box, + #[doc = "Withdraw balance from EVM into currency/balances pallet."] + pub struct Withdraw { + pub address: withdraw::Address, + pub value: withdraw::Value, } - pub mod as_multi_threshold1 { + pub mod withdraw { use super::runtime_types; - pub type OtherSignatories = - ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; - pub type Call = runtime_types::tangle_testnet_runtime::RuntimeCall; + pub type Address = ::subxt_core::utils::H160; + pub type Value = ::core::primitive::u128; } - impl ::subxt_core::blocks::StaticExtrinsic for AsMultiThreshold1 { - const PALLET: &'static str = "Multisig"; - const CALL: &'static str = "as_multi_threshold_1"; + impl ::subxt_core::blocks::StaticExtrinsic for Withdraw { + const PALLET: &'static str = "EVM"; + const CALL: &'static str = "withdraw"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -40715,66 +38461,37 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] - #[doc = "approved by a total of `threshold - 1` of `other_signatories`."] - #[doc = ""] - #[doc = "If there are enough, then dispatch the call."] - #[doc = ""] - #[doc = "Payment: `DepositBase` will be reserved if this is the first approval, plus"] - #[doc = "`threshold` times `DepositFactor`. It is returned once this dispatch happens or"] - #[doc = "is cancelled."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] - #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] - #[doc = "dispatch. May not be empty."] - #[doc = "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is"] - #[doc = "not the first approval, then it must be `Some`, with the timepoint (block number and"] - #[doc = "transaction index) of the first approval transaction."] - #[doc = "- `call`: The call to be executed."] - #[doc = ""] - #[doc = "NOTE: Unless this is the final approval, you will generally want to use"] - #[doc = "`approve_as_multi` instead, since it only requires a hash of the call."] - #[doc = ""] - #[doc = "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise"] - #[doc = "on success, result is `Ok` and the result from the interior call, if it was executed,"] - #[doc = "may be found in the deposited `MultisigExecuted` event."] - #[doc = ""] - #[doc = "## Complexity"] - #[doc = "- `O(S + Z + Call)`."] - #[doc = "- Up to one balance-reserve or unreserve operation."] - #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] - #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] - #[doc = "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len."] - #[doc = "- One encode & hash, both of complexity `O(S)`."] - #[doc = "- Up to one binary search and insert (`O(logS + S)`)."] - #[doc = "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove."] - #[doc = "- One event."] - #[doc = "- The weight of the `call`."] - #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] - #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] - pub struct AsMulti { - pub threshold: as_multi::Threshold, - pub other_signatories: as_multi::OtherSignatories, - pub maybe_timepoint: as_multi::MaybeTimepoint, - pub call: ::subxt_core::alloc::boxed::Box, - pub max_weight: as_multi::MaxWeight, + #[doc = "Issue an EVM call operation. This is similar to a message call transaction in Ethereum."] + pub struct Call { + pub source: call::Source, + pub target: call::Target, + pub input: call::Input, + pub value: call::Value, + pub gas_limit: call::GasLimit, + pub max_fee_per_gas: call::MaxFeePerGas, + pub max_priority_fee_per_gas: call::MaxPriorityFeePerGas, + pub nonce: call::Nonce, + pub access_list: call::AccessList, } - pub mod as_multi { + pub mod call { use super::runtime_types; - pub type Threshold = ::core::primitive::u16; - pub type OtherSignatories = - ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; - pub type MaybeTimepoint = ::core::option::Option< - runtime_types::pallet_multisig::Timepoint<::core::primitive::u64>, - >; - pub type Call = runtime_types::tangle_testnet_runtime::RuntimeCall; - pub type MaxWeight = runtime_types::sp_weights::weight_v2::Weight; + pub type Source = ::subxt_core::utils::H160; + pub type Target = ::subxt_core::utils::H160; + pub type Input = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; + pub type Value = runtime_types::primitive_types::U256; + pub type GasLimit = ::core::primitive::u64; + pub type MaxFeePerGas = runtime_types::primitive_types::U256; + pub type MaxPriorityFeePerGas = + ::core::option::Option; + pub type Nonce = ::core::option::Option; + pub type AccessList = ::subxt_core::alloc::vec::Vec<( + ::subxt_core::utils::H160, + ::subxt_core::alloc::vec::Vec<::subxt_core::utils::H256>, + )>; } - impl ::subxt_core::blocks::StaticExtrinsic for AsMulti { - const PALLET: &'static str = "Multisig"; - const CALL: &'static str = "as_multi"; + impl ::subxt_core::blocks::StaticExtrinsic for Call { + const PALLET: &'static str = "EVM"; + const CALL: &'static str = "call"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -40790,57 +38507,36 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] - #[doc = "approved by a total of `threshold - 1` of `other_signatories`."] - #[doc = ""] - #[doc = "Payment: `DepositBase` will be reserved if this is the first approval, plus"] - #[doc = "`threshold` times `DepositFactor`. It is returned once this dispatch happens or"] - #[doc = "is cancelled."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] - #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] - #[doc = "dispatch. May not be empty."] - #[doc = "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is"] - #[doc = "not the first approval, then it must be `Some`, with the timepoint (block number and"] - #[doc = "transaction index) of the first approval transaction."] - #[doc = "- `call_hash`: The hash of the call to be executed."] - #[doc = ""] - #[doc = "NOTE: If this is the final approval, you will want to use `as_multi` instead."] - #[doc = ""] - #[doc = "## Complexity"] - #[doc = "- `O(S)`."] - #[doc = "- Up to one balance-reserve or unreserve operation."] - #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] - #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] - #[doc = "- One encode & hash, both of complexity `O(S)`."] - #[doc = "- Up to one binary search and insert (`O(logS + S)`)."] - #[doc = "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove."] - #[doc = "- One event."] - #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] - #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] - pub struct ApproveAsMulti { - pub threshold: approve_as_multi::Threshold, - pub other_signatories: approve_as_multi::OtherSignatories, - pub maybe_timepoint: approve_as_multi::MaybeTimepoint, - pub call_hash: approve_as_multi::CallHash, - pub max_weight: approve_as_multi::MaxWeight, + #[doc = "Issue an EVM create operation. This is similar to a contract creation transaction in"] + #[doc = "Ethereum."] + pub struct Create { + pub source: create::Source, + pub init: create::Init, + pub value: create::Value, + pub gas_limit: create::GasLimit, + pub max_fee_per_gas: create::MaxFeePerGas, + pub max_priority_fee_per_gas: create::MaxPriorityFeePerGas, + pub nonce: create::Nonce, + pub access_list: create::AccessList, } - pub mod approve_as_multi { + pub mod create { use super::runtime_types; - pub type Threshold = ::core::primitive::u16; - pub type OtherSignatories = - ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; - pub type MaybeTimepoint = ::core::option::Option< - runtime_types::pallet_multisig::Timepoint<::core::primitive::u64>, - >; - pub type CallHash = [::core::primitive::u8; 32usize]; - pub type MaxWeight = runtime_types::sp_weights::weight_v2::Weight; + pub type Source = ::subxt_core::utils::H160; + pub type Init = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; + pub type Value = runtime_types::primitive_types::U256; + pub type GasLimit = ::core::primitive::u64; + pub type MaxFeePerGas = runtime_types::primitive_types::U256; + pub type MaxPriorityFeePerGas = + ::core::option::Option; + pub type Nonce = ::core::option::Option; + pub type AccessList = ::subxt_core::alloc::vec::Vec<( + ::subxt_core::utils::H160, + ::subxt_core::alloc::vec::Vec<::subxt_core::utils::H256>, + )>; } - impl ::subxt_core::blocks::StaticExtrinsic for ApproveAsMulti { - const PALLET: &'static str = "Multisig"; - const CALL: &'static str = "approve_as_multi"; + impl ::subxt_core::blocks::StaticExtrinsic for Create { + const PALLET: &'static str = "EVM"; + const CALL: &'static str = "create"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -40856,243 +38552,165 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously"] - #[doc = "for this operation will be unreserved on success."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] - #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] - #[doc = "dispatch. May not be empty."] - #[doc = "- `timepoint`: The timepoint (block number and transaction index) of the first approval"] - #[doc = "transaction for this dispatch."] - #[doc = "- `call_hash`: The hash of the call to be executed."] - #[doc = ""] - #[doc = "## Complexity"] - #[doc = "- `O(S)`."] - #[doc = "- Up to one balance-reserve or unreserve operation."] - #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] - #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] - #[doc = "- One encode & hash, both of complexity `O(S)`."] - #[doc = "- One event."] - #[doc = "- I/O: 1 read `O(S)`, one remove."] - #[doc = "- Storage: removes one item."] - pub struct CancelAsMulti { - pub threshold: cancel_as_multi::Threshold, - pub other_signatories: cancel_as_multi::OtherSignatories, - pub timepoint: cancel_as_multi::Timepoint, - pub call_hash: cancel_as_multi::CallHash, + #[doc = "Issue an EVM create2 operation."] + pub struct Create2 { + pub source: create2::Source, + pub init: create2::Init, + pub salt: create2::Salt, + pub value: create2::Value, + pub gas_limit: create2::GasLimit, + pub max_fee_per_gas: create2::MaxFeePerGas, + pub max_priority_fee_per_gas: create2::MaxPriorityFeePerGas, + pub nonce: create2::Nonce, + pub access_list: create2::AccessList, } - pub mod cancel_as_multi { + pub mod create2 { use super::runtime_types; - pub type Threshold = ::core::primitive::u16; - pub type OtherSignatories = - ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; - pub type Timepoint = - runtime_types::pallet_multisig::Timepoint<::core::primitive::u64>; - pub type CallHash = [::core::primitive::u8; 32usize]; + pub type Source = ::subxt_core::utils::H160; + pub type Init = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; + pub type Salt = ::subxt_core::utils::H256; + pub type Value = runtime_types::primitive_types::U256; + pub type GasLimit = ::core::primitive::u64; + pub type MaxFeePerGas = runtime_types::primitive_types::U256; + pub type MaxPriorityFeePerGas = + ::core::option::Option; + pub type Nonce = ::core::option::Option; + pub type AccessList = ::subxt_core::alloc::vec::Vec<( + ::subxt_core::utils::H160, + ::subxt_core::alloc::vec::Vec<::subxt_core::utils::H256>, + )>; } - impl ::subxt_core::blocks::StaticExtrinsic for CancelAsMulti { - const PALLET: &'static str = "Multisig"; - const CALL: &'static str = "cancel_as_multi"; + impl ::subxt_core::blocks::StaticExtrinsic for Create2 { + const PALLET: &'static str = "EVM"; + const CALL: &'static str = "create2"; } } pub struct TransactionApi; impl TransactionApi { - #[doc = "Immediately dispatch a multi-signature call using a single approval from the caller."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "- `other_signatories`: The accounts (other than the sender) who are part of the"] - #[doc = "multi-signature, but do not participate in the approval process."] - #[doc = "- `call`: The call to be executed."] - #[doc = ""] - #[doc = "Result is equivalent to the dispatched result."] - #[doc = ""] - #[doc = "## Complexity"] - #[doc = "O(Z + C) where Z is the length of the call and C its execution weight."] - pub fn as_multi_threshold_1( + #[doc = "Withdraw balance from EVM into currency/balances pallet."] + pub fn withdraw( &self, - other_signatories: types::as_multi_threshold1::OtherSignatories, - call: types::as_multi_threshold1::Call, - ) -> ::subxt_core::tx::payload::StaticPayload { + address: types::withdraw::Address, + value: types::withdraw::Value, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "Multisig", - "as_multi_threshold_1", - types::AsMultiThreshold1 { - other_signatories, - call: ::subxt_core::alloc::boxed::Box::new(call), - }, + "EVM", + "withdraw", + types::Withdraw { address, value }, [ - 34u8, 139u8, 231u8, 19u8, 191u8, 8u8, 66u8, 171u8, 32u8, 177u8, 222u8, - 139u8, 236u8, 219u8, 116u8, 105u8, 219u8, 39u8, 90u8, 90u8, 66u8, 4u8, - 150u8, 193u8, 131u8, 195u8, 38u8, 110u8, 246u8, 211u8, 216u8, 249u8, + 62u8, 162u8, 234u8, 15u8, 176u8, 61u8, 183u8, 203u8, 241u8, 10u8, + 202u8, 26u8, 45u8, 116u8, 38u8, 44u8, 32u8, 57u8, 208u8, 55u8, 182u8, + 92u8, 136u8, 133u8, 216u8, 255u8, 25u8, 132u8, 242u8, 34u8, 43u8, 64u8, ], ) } - #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] - #[doc = "approved by a total of `threshold - 1` of `other_signatories`."] - #[doc = ""] - #[doc = "If there are enough, then dispatch the call."] - #[doc = ""] - #[doc = "Payment: `DepositBase` will be reserved if this is the first approval, plus"] - #[doc = "`threshold` times `DepositFactor`. It is returned once this dispatch happens or"] - #[doc = "is cancelled."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] - #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] - #[doc = "dispatch. May not be empty."] - #[doc = "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is"] - #[doc = "not the first approval, then it must be `Some`, with the timepoint (block number and"] - #[doc = "transaction index) of the first approval transaction."] - #[doc = "- `call`: The call to be executed."] - #[doc = ""] - #[doc = "NOTE: Unless this is the final approval, you will generally want to use"] - #[doc = "`approve_as_multi` instead, since it only requires a hash of the call."] - #[doc = ""] - #[doc = "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise"] - #[doc = "on success, result is `Ok` and the result from the interior call, if it was executed,"] - #[doc = "may be found in the deposited `MultisigExecuted` event."] - #[doc = ""] - #[doc = "## Complexity"] - #[doc = "- `O(S + Z + Call)`."] - #[doc = "- Up to one balance-reserve or unreserve operation."] - #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] - #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] - #[doc = "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len."] - #[doc = "- One encode & hash, both of complexity `O(S)`."] - #[doc = "- Up to one binary search and insert (`O(logS + S)`)."] - #[doc = "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove."] - #[doc = "- One event."] - #[doc = "- The weight of the `call`."] - #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] - #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] - pub fn as_multi( + #[doc = "Issue an EVM call operation. This is similar to a message call transaction in Ethereum."] + pub fn call( &self, - threshold: types::as_multi::Threshold, - other_signatories: types::as_multi::OtherSignatories, - maybe_timepoint: types::as_multi::MaybeTimepoint, - call: types::as_multi::Call, - max_weight: types::as_multi::MaxWeight, - ) -> ::subxt_core::tx::payload::StaticPayload { + source: types::call::Source, + target: types::call::Target, + input: types::call::Input, + value: types::call::Value, + gas_limit: types::call::GasLimit, + max_fee_per_gas: types::call::MaxFeePerGas, + max_priority_fee_per_gas: types::call::MaxPriorityFeePerGas, + nonce: types::call::Nonce, + access_list: types::call::AccessList, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "Multisig", - "as_multi", - types::AsMulti { - threshold, - other_signatories, - maybe_timepoint, - call: ::subxt_core::alloc::boxed::Box::new(call), - max_weight, + "EVM", + "call", + types::Call { + source, + target, + input, + value, + gas_limit, + max_fee_per_gas, + max_priority_fee_per_gas, + nonce, + access_list, }, [ - 226u8, 91u8, 149u8, 86u8, 165u8, 98u8, 73u8, 182u8, 155u8, 228u8, - 164u8, 245u8, 67u8, 98u8, 6u8, 43u8, 176u8, 237u8, 128u8, 18u8, 192u8, - 38u8, 67u8, 47u8, 80u8, 45u8, 228u8, 235u8, 121u8, 10u8, 4u8, 4u8, + 121u8, 179u8, 103u8, 152u8, 89u8, 27u8, 36u8, 13u8, 114u8, 246u8, + 222u8, 197u8, 249u8, 250u8, 241u8, 66u8, 219u8, 123u8, 126u8, 144u8, + 144u8, 213u8, 165u8, 25u8, 248u8, 129u8, 86u8, 34u8, 105u8, 145u8, + 85u8, 85u8, ], ) } - #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] - #[doc = "approved by a total of `threshold - 1` of `other_signatories`."] - #[doc = ""] - #[doc = "Payment: `DepositBase` will be reserved if this is the first approval, plus"] - #[doc = "`threshold` times `DepositFactor`. It is returned once this dispatch happens or"] - #[doc = "is cancelled."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] - #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] - #[doc = "dispatch. May not be empty."] - #[doc = "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is"] - #[doc = "not the first approval, then it must be `Some`, with the timepoint (block number and"] - #[doc = "transaction index) of the first approval transaction."] - #[doc = "- `call_hash`: The hash of the call to be executed."] - #[doc = ""] - #[doc = "NOTE: If this is the final approval, you will want to use `as_multi` instead."] - #[doc = ""] - #[doc = "## Complexity"] - #[doc = "- `O(S)`."] - #[doc = "- Up to one balance-reserve or unreserve operation."] - #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] - #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] - #[doc = "- One encode & hash, both of complexity `O(S)`."] - #[doc = "- Up to one binary search and insert (`O(logS + S)`)."] - #[doc = "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove."] - #[doc = "- One event."] - #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] - #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] - pub fn approve_as_multi( + #[doc = "Issue an EVM create operation. This is similar to a contract creation transaction in"] + #[doc = "Ethereum."] + pub fn create( &self, - threshold: types::approve_as_multi::Threshold, - other_signatories: types::approve_as_multi::OtherSignatories, - maybe_timepoint: types::approve_as_multi::MaybeTimepoint, - call_hash: types::approve_as_multi::CallHash, - max_weight: types::approve_as_multi::MaxWeight, - ) -> ::subxt_core::tx::payload::StaticPayload { + source: types::create::Source, + init: types::create::Init, + value: types::create::Value, + gas_limit: types::create::GasLimit, + max_fee_per_gas: types::create::MaxFeePerGas, + max_priority_fee_per_gas: types::create::MaxPriorityFeePerGas, + nonce: types::create::Nonce, + access_list: types::create::AccessList, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "Multisig", - "approve_as_multi", - types::ApproveAsMulti { - threshold, - other_signatories, - maybe_timepoint, - call_hash, - max_weight, + "EVM", + "create", + types::Create { + source, + init, + value, + gas_limit, + max_fee_per_gas, + max_priority_fee_per_gas, + nonce, + access_list, }, [ - 54u8, 141u8, 48u8, 156u8, 12u8, 82u8, 142u8, 38u8, 79u8, 125u8, 32u8, - 202u8, 3u8, 230u8, 157u8, 221u8, 206u8, 76u8, 163u8, 225u8, 18u8, - 253u8, 165u8, 17u8, 21u8, 65u8, 103u8, 79u8, 236u8, 68u8, 10u8, 21u8, + 231u8, 52u8, 103u8, 5u8, 29u8, 96u8, 200u8, 245u8, 151u8, 231u8, 111u8, + 150u8, 185u8, 126u8, 12u8, 42u8, 169u8, 92u8, 68u8, 130u8, 36u8, 11u8, + 234u8, 211u8, 199u8, 200u8, 45u8, 10u8, 53u8, 91u8, 226u8, 145u8, ], ) } - #[doc = "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously"] - #[doc = "for this operation will be unreserved on success."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] - #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] - #[doc = "dispatch. May not be empty."] - #[doc = "- `timepoint`: The timepoint (block number and transaction index) of the first approval"] - #[doc = "transaction for this dispatch."] - #[doc = "- `call_hash`: The hash of the call to be executed."] - #[doc = ""] - #[doc = "## Complexity"] - #[doc = "- `O(S)`."] - #[doc = "- Up to one balance-reserve or unreserve operation."] - #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] - #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] - #[doc = "- One encode & hash, both of complexity `O(S)`."] - #[doc = "- One event."] - #[doc = "- I/O: 1 read `O(S)`, one remove."] - #[doc = "- Storage: removes one item."] - pub fn cancel_as_multi( + #[doc = "Issue an EVM create2 operation."] + pub fn create2( &self, - threshold: types::cancel_as_multi::Threshold, - other_signatories: types::cancel_as_multi::OtherSignatories, - timepoint: types::cancel_as_multi::Timepoint, - call_hash: types::cancel_as_multi::CallHash, - ) -> ::subxt_core::tx::payload::StaticPayload { + source: types::create2::Source, + init: types::create2::Init, + salt: types::create2::Salt, + value: types::create2::Value, + gas_limit: types::create2::GasLimit, + max_fee_per_gas: types::create2::MaxFeePerGas, + max_priority_fee_per_gas: types::create2::MaxPriorityFeePerGas, + nonce: types::create2::Nonce, + access_list: types::create2::AccessList, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "Multisig", - "cancel_as_multi", - types::CancelAsMulti { threshold, other_signatories, timepoint, call_hash }, + "EVM", + "create2", + types::Create2 { + source, + init, + salt, + value, + gas_limit, + max_fee_per_gas, + max_priority_fee_per_gas, + nonce, + access_list, + }, [ - 118u8, 81u8, 25u8, 77u8, 172u8, 129u8, 41u8, 32u8, 104u8, 194u8, 106u8, - 92u8, 195u8, 252u8, 140u8, 31u8, 177u8, 250u8, 247u8, 73u8, 206u8, - 153u8, 131u8, 168u8, 96u8, 45u8, 216u8, 234u8, 173u8, 37u8, 226u8, - 20u8, + 73u8, 157u8, 32u8, 232u8, 164u8, 93u8, 191u8, 129u8, 171u8, 104u8, + 212u8, 108u8, 167u8, 5u8, 61u8, 171u8, 247u8, 97u8, 122u8, 162u8, + 102u8, 152u8, 224u8, 130u8, 94u8, 112u8, 115u8, 68u8, 249u8, 215u8, + 233u8, 115u8, ], ) } } } #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::pallet_multisig::pallet::Event; + pub type Event = runtime_types::pallet_evm::pallet::Event; pub mod events { use super::runtime_types; #[derive( @@ -41109,21 +38727,17 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A new multisig operation has begun."] - pub struct NewMultisig { - pub approving: new_multisig::Approving, - pub multisig: new_multisig::Multisig, - pub call_hash: new_multisig::CallHash, + #[doc = "Ethereum events from contracts."] + pub struct Log { + pub log: log::Log, } - pub mod new_multisig { + pub mod log { use super::runtime_types; - pub type Approving = ::subxt_core::utils::AccountId32; - pub type Multisig = ::subxt_core::utils::AccountId32; - pub type CallHash = [::core::primitive::u8; 32usize]; + pub type Log = runtime_types::ethereum::log::Log; } - impl ::subxt_core::events::StaticEvent for NewMultisig { - const PALLET: &'static str = "Multisig"; - const EVENT: &'static str = "NewMultisig"; + impl ::subxt_core::events::StaticEvent for Log { + const PALLET: &'static str = "EVM"; + const EVENT: &'static str = "Log"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -41139,24 +38753,17 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A multisig operation has been approved by someone."] - pub struct MultisigApproval { - pub approving: multisig_approval::Approving, - pub timepoint: multisig_approval::Timepoint, - pub multisig: multisig_approval::Multisig, - pub call_hash: multisig_approval::CallHash, + #[doc = "A contract has been created at given address."] + pub struct Created { + pub address: created::Address, } - pub mod multisig_approval { + pub mod created { use super::runtime_types; - pub type Approving = ::subxt_core::utils::AccountId32; - pub type Timepoint = - runtime_types::pallet_multisig::Timepoint<::core::primitive::u64>; - pub type Multisig = ::subxt_core::utils::AccountId32; - pub type CallHash = [::core::primitive::u8; 32usize]; + pub type Address = ::subxt_core::utils::H160; } - impl ::subxt_core::events::StaticEvent for MultisigApproval { - const PALLET: &'static str = "Multisig"; - const EVENT: &'static str = "MultisigApproval"; + impl ::subxt_core::events::StaticEvent for Created { + const PALLET: &'static str = "EVM"; + const EVENT: &'static str = "Created"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -41172,27 +38779,43 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A multisig operation has been executed."] - pub struct MultisigExecuted { - pub approving: multisig_executed::Approving, - pub timepoint: multisig_executed::Timepoint, - pub multisig: multisig_executed::Multisig, - pub call_hash: multisig_executed::CallHash, - pub result: multisig_executed::Result, + #[doc = "A contract was attempted to be created, but the execution failed."] + pub struct CreatedFailed { + pub address: created_failed::Address, + } + pub mod created_failed { + use super::runtime_types; + pub type Address = ::subxt_core::utils::H160; + } + impl ::subxt_core::events::StaticEvent for CreatedFailed { + const PALLET: &'static str = "EVM"; + const EVENT: &'static str = "CreatedFailed"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A contract has been executed successfully with states applied."] + pub struct Executed { + pub address: executed::Address, } - pub mod multisig_executed { + pub mod executed { use super::runtime_types; - pub type Approving = ::subxt_core::utils::AccountId32; - pub type Timepoint = - runtime_types::pallet_multisig::Timepoint<::core::primitive::u64>; - pub type Multisig = ::subxt_core::utils::AccountId32; - pub type CallHash = [::core::primitive::u8; 32usize]; - pub type Result = - ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>; + pub type Address = ::subxt_core::utils::H160; } - impl ::subxt_core::events::StaticEvent for MultisigExecuted { - const PALLET: &'static str = "Multisig"; - const EVENT: &'static str = "MultisigExecuted"; + impl ::subxt_core::events::StaticEvent for Executed { + const PALLET: &'static str = "EVM"; + const EVENT: &'static str = "Executed"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -41208,184 +38831,410 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A multisig operation has been cancelled."] - pub struct MultisigCancelled { - pub cancelling: multisig_cancelled::Cancelling, - pub timepoint: multisig_cancelled::Timepoint, - pub multisig: multisig_cancelled::Multisig, - pub call_hash: multisig_cancelled::CallHash, + #[doc = "A contract has been executed with errors. States are reverted with only gas fees applied."] + pub struct ExecutedFailed { + pub address: executed_failed::Address, } - pub mod multisig_cancelled { + pub mod executed_failed { use super::runtime_types; - pub type Cancelling = ::subxt_core::utils::AccountId32; - pub type Timepoint = - runtime_types::pallet_multisig::Timepoint<::core::primitive::u64>; - pub type Multisig = ::subxt_core::utils::AccountId32; - pub type CallHash = [::core::primitive::u8; 32usize]; + pub type Address = ::subxt_core::utils::H160; } - impl ::subxt_core::events::StaticEvent for MultisigCancelled { - const PALLET: &'static str = "Multisig"; - const EVENT: &'static str = "MultisigCancelled"; + impl ::subxt_core::events::StaticEvent for ExecutedFailed { + const PALLET: &'static str = "EVM"; + const EVENT: &'static str = "ExecutedFailed"; } } pub mod storage { use super::runtime_types; pub mod types { use super::runtime_types; - pub mod multisigs { + pub mod account_codes { use super::runtime_types; - pub type Multisigs = runtime_types::pallet_multisig::Multisig< - ::core::primitive::u64, - ::core::primitive::u128, - ::subxt_core::utils::AccountId32, - >; - pub type Param0 = ::subxt_core::utils::AccountId32; - pub type Param1 = [::core::primitive::u8; 32usize]; + pub type AccountCodes = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; + pub type Param0 = ::subxt_core::utils::H160; + } + pub mod account_codes_metadata { + use super::runtime_types; + pub type AccountCodesMetadata = runtime_types::pallet_evm::CodeMetadata; + pub type Param0 = ::subxt_core::utils::H160; + } + pub mod account_storages { + use super::runtime_types; + pub type AccountStorages = ::subxt_core::utils::H256; + pub type Param0 = ::subxt_core::utils::H160; + pub type Param1 = ::subxt_core::utils::H256; + } + pub mod suicided { + use super::runtime_types; + pub type Suicided = (); + pub type Param0 = ::subxt_core::utils::H160; } } pub struct StorageApi; impl StorageApi { - #[doc = " The set of open multisig operations."] - pub fn multisigs_iter( + pub fn account_codes_iter( &self, ) -> ::subxt_core::storage::address::StaticAddress< (), - types::multisigs::Multisigs, + types::account_codes::AccountCodes, + (), + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "EVM", + "AccountCodes", + (), + [ + 49u8, 73u8, 188u8, 164u8, 3u8, 40u8, 187u8, 216u8, 70u8, 119u8, 176u8, + 187u8, 76u8, 24u8, 49u8, 174u8, 54u8, 98u8, 208u8, 255u8, 38u8, 214u8, + 120u8, 116u8, 130u8, 139u8, 44u8, 102u8, 115u8, 222u8, 63u8, 56u8, + ], + ) + } + pub fn account_codes( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::account_codes::AccountCodes, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "EVM", + "AccountCodes", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 49u8, 73u8, 188u8, 164u8, 3u8, 40u8, 187u8, 216u8, 70u8, 119u8, 176u8, + 187u8, 76u8, 24u8, 49u8, 174u8, 54u8, 98u8, 208u8, 255u8, 38u8, 214u8, + 120u8, 116u8, 130u8, 139u8, 44u8, 102u8, 115u8, 222u8, 63u8, 56u8, + ], + ) + } + pub fn account_codes_metadata_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::account_codes_metadata::AccountCodesMetadata, (), (), ::subxt_core::utils::Yes, > { ::subxt_core::storage::address::StaticAddress::new_static( - "Multisig", - "Multisigs", + "EVM", + "AccountCodesMetadata", (), [ - 69u8, 190u8, 134u8, 80u8, 236u8, 248u8, 25u8, 153u8, 154u8, 71u8, - 192u8, 101u8, 159u8, 179u8, 0u8, 228u8, 93u8, 125u8, 99u8, 229u8, - 142u8, 117u8, 215u8, 149u8, 134u8, 13u8, 139u8, 251u8, 220u8, 251u8, - 2u8, 255u8, + 17u8, 83u8, 22u8, 15u8, 158u8, 242u8, 39u8, 174u8, 61u8, 230u8, 0u8, + 161u8, 173u8, 242u8, 155u8, 156u8, 149u8, 108u8, 47u8, 129u8, 190u8, + 223u8, 25u8, 235u8, 168u8, 86u8, 49u8, 118u8, 132u8, 93u8, 100u8, + 173u8, ], ) } - #[doc = " The set of open multisig operations."] - pub fn multisigs_iter1( + pub fn account_codes_metadata( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey< + types::account_codes_metadata::Param0, + >, + types::account_codes_metadata::AccountCodesMetadata, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "EVM", + "AccountCodesMetadata", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 17u8, 83u8, 22u8, 15u8, 158u8, 242u8, 39u8, 174u8, 61u8, 230u8, 0u8, + 161u8, 173u8, 242u8, 155u8, 156u8, 149u8, 108u8, 47u8, 129u8, 190u8, + 223u8, 25u8, 235u8, 168u8, 86u8, 49u8, 118u8, 132u8, 93u8, 100u8, + 173u8, + ], + ) + } + pub fn account_storages_iter( &self, - _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::multisigs::Multisigs, (), + types::account_storages::AccountStorages, (), ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, > { ::subxt_core::storage::address::StaticAddress::new_static( - "Multisig", - "Multisigs", + "EVM", + "AccountStorages", + (), + [ + 63u8, 69u8, 109u8, 3u8, 190u8, 233u8, 39u8, 122u8, 94u8, 37u8, 74u8, + 90u8, 197u8, 191u8, 12u8, 119u8, 165u8, 61u8, 217u8, 15u8, 36u8, 167u8, + 211u8, 120u8, 169u8, 97u8, 13u8, 38u8, 148u8, 224u8, 167u8, 199u8, + ], + ) + } + pub fn account_storages_iter1( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey< + types::account_storages::Param0, + >, + types::account_storages::AccountStorages, + (), + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "EVM", + "AccountStorages", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 69u8, 190u8, 134u8, 80u8, 236u8, 248u8, 25u8, 153u8, 154u8, 71u8, - 192u8, 101u8, 159u8, 179u8, 0u8, 228u8, 93u8, 125u8, 99u8, 229u8, - 142u8, 117u8, 215u8, 149u8, 134u8, 13u8, 139u8, 251u8, 220u8, 251u8, - 2u8, 255u8, + 63u8, 69u8, 109u8, 3u8, 190u8, 233u8, 39u8, 122u8, 94u8, 37u8, 74u8, + 90u8, 197u8, 191u8, 12u8, 119u8, 165u8, 61u8, 217u8, 15u8, 36u8, 167u8, + 211u8, 120u8, 169u8, 97u8, 13u8, 38u8, 148u8, 224u8, 167u8, 199u8, ], ) } - #[doc = " The set of open multisig operations."] - pub fn multisigs( + pub fn account_storages( &self, - _0: impl ::core::borrow::Borrow, - _1: impl ::core::borrow::Borrow, + _0: impl ::core::borrow::Borrow, + _1: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< ( - ::subxt_core::storage::address::StaticStorageKey, - ::subxt_core::storage::address::StaticStorageKey, + ::subxt_core::storage::address::StaticStorageKey< + types::account_storages::Param0, + >, + ::subxt_core::storage::address::StaticStorageKey< + types::account_storages::Param1, + >, ), - types::multisigs::Multisigs, + types::account_storages::AccountStorages, + ::subxt_core::utils::Yes, ::subxt_core::utils::Yes, - (), (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "Multisig", - "Multisigs", + "EVM", + "AccountStorages", ( ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), ), [ - 69u8, 190u8, 134u8, 80u8, 236u8, 248u8, 25u8, 153u8, 154u8, 71u8, - 192u8, 101u8, 159u8, 179u8, 0u8, 228u8, 93u8, 125u8, 99u8, 229u8, - 142u8, 117u8, 215u8, 149u8, 134u8, 13u8, 139u8, 251u8, 220u8, 251u8, - 2u8, 255u8, + 63u8, 69u8, 109u8, 3u8, 190u8, 233u8, 39u8, 122u8, 94u8, 37u8, 74u8, + 90u8, 197u8, 191u8, 12u8, 119u8, 165u8, 61u8, 217u8, 15u8, 36u8, 167u8, + 211u8, 120u8, 169u8, 97u8, 13u8, 38u8, 148u8, 224u8, 167u8, 199u8, + ], + ) + } + pub fn suicided_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::suicided::Suicided, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "EVM", + "Suicided", + (), + [ + 5u8, 137u8, 180u8, 131u8, 216u8, 217u8, 148u8, 127u8, 9u8, 159u8, 14u8, + 25u8, 56u8, 99u8, 55u8, 151u8, 140u8, 143u8, 188u8, 172u8, 33u8, 91u8, + 42u8, 59u8, 104u8, 94u8, 215u8, 41u8, 224u8, 118u8, 190u8, 249u8, + ], + ) + } + pub fn suicided( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::suicided::Suicided, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "EVM", + "Suicided", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 5u8, 137u8, 180u8, 131u8, 216u8, 217u8, 148u8, 127u8, 9u8, 159u8, 14u8, + 25u8, 56u8, 99u8, 55u8, 151u8, 140u8, 143u8, 188u8, 172u8, 33u8, 91u8, + 42u8, 59u8, 104u8, 94u8, 215u8, 41u8, 224u8, 118u8, 190u8, 249u8, ], ) } } } - pub mod constants { + } + pub mod evm_chain_id { + use super::root_mod; + use super::runtime_types; + pub mod storage { use super::runtime_types; - pub struct ConstantsApi; - impl ConstantsApi { - #[doc = " The base amount of currency needed to reserve for creating a multisig execution or to"] - #[doc = " store a dispatch call for later."] - #[doc = ""] - #[doc = " This is held for an additional storage item whose value size is"] - #[doc = " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is"] - #[doc = " `32 + sizeof(AccountId)` bytes."] - pub fn deposit_base( + pub mod types { + use super::runtime_types; + pub mod chain_id { + use super::runtime_types; + pub type ChainId = ::core::primitive::u64; + } + } + pub struct StorageApi; + impl StorageApi { + #[doc = " The EVM chain ID."] + pub fn chain_id( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Multisig", - "DepositBase", + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::chain_id::ChainId, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "EVMChainId", + "ChainId", + (), [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, - 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + 250u8, 158u8, 90u8, 220u8, 184u8, 126u8, 207u8, 222u8, 62u8, 226u8, + 144u8, 204u8, 19u8, 136u8, 127u8, 5u8, 135u8, 48u8, 234u8, 138u8, + 216u8, 103u8, 28u8, 140u8, 193u8, 197u8, 142u8, 22u8, 159u8, 16u8, + 225u8, 255u8, ], ) } - #[doc = " The amount of currency needed per unit threshold when creating a multisig execution."] - #[doc = ""] - #[doc = " This is held for adding 32 bytes more into a pre-existing storage value."] - pub fn deposit_factor( + } + } + } + pub mod dynamic_fee { + use super::root_mod; + use super::runtime_types; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::pallet_dynamic_fee::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct NoteMinGasPriceTarget { + pub target: note_min_gas_price_target::Target, + } + pub mod note_min_gas_price_target { + use super::runtime_types; + pub type Target = runtime_types::primitive_types::U256; + } + impl ::subxt_core::blocks::StaticExtrinsic for NoteMinGasPriceTarget { + const PALLET: &'static str = "DynamicFee"; + const CALL: &'static str = "note_min_gas_price_target"; + } + } + pub struct TransactionApi; + impl TransactionApi { + pub fn note_min_gas_price_target( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Multisig", - "DepositFactor", + target: types::note_min_gas_price_target::Target, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "DynamicFee", + "note_min_gas_price_target", + types::NoteMinGasPriceTarget { target }, [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, - 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + 195u8, 135u8, 128u8, 209u8, 249u8, 41u8, 223u8, 153u8, 197u8, 51u8, + 194u8, 204u8, 79u8, 173u8, 113u8, 25u8, 6u8, 153u8, 167u8, 20u8, 24u8, + 86u8, 205u8, 157u8, 213u8, 248u8, 52u8, 247u8, 209u8, 0u8, 17u8, 171u8, ], ) } - #[doc = " The maximum amount of signatories allowed in the multisig."] - pub fn max_signatories( + } + } + pub mod storage { + use super::runtime_types; + pub mod types { + use super::runtime_types; + pub mod min_gas_price { + use super::runtime_types; + pub type MinGasPrice = runtime_types::primitive_types::U256; + } + pub mod target_min_gas_price { + use super::runtime_types; + pub type TargetMinGasPrice = runtime_types::primitive_types::U256; + } + } + pub struct StorageApi; + impl StorageApi { + pub fn min_gas_price( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Multisig", - "MaxSignatories", + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::min_gas_price::MinGasPrice, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "DynamicFee", + "MinGasPrice", + (), [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, + 135u8, 244u8, 108u8, 147u8, 120u8, 36u8, 33u8, 200u8, 200u8, 249u8, + 110u8, 39u8, 180u8, 17u8, 231u8, 219u8, 95u8, 60u8, 227u8, 68u8, 150u8, + 151u8, 67u8, 45u8, 235u8, 130u8, 4u8, 244u8, 35u8, 112u8, 69u8, 119u8, + ], + ) + } + pub fn target_min_gas_price( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::target_min_gas_price::TargetMinGasPrice, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "DynamicFee", + "TargetMinGasPrice", + (), + [ + 219u8, 94u8, 37u8, 223u8, 148u8, 89u8, 16u8, 136u8, 218u8, 154u8, 54u8, + 94u8, 202u8, 5u8, 82u8, 185u8, 235u8, 239u8, 152u8, 206u8, 203u8, 71u8, + 237u8, 200u8, 28u8, 250u8, 217u8, 29u8, 132u8, 255u8, 78u8, 94u8, ], ) } } } } - pub mod ethereum { + pub mod base_fee { use super::root_mod; use super::runtime_types; - #[doc = "The `Error` enum of this pallet."] - pub type Error = runtime_types::pallet_ethereum::pallet::Error; #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_ethereum::pallet::Call; + pub type Call = runtime_types::pallet_base_fee::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -41406,41 +39255,80 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Transact an Ethereum transaction."] - pub struct Transact { - pub transaction: transact::Transaction, + pub struct SetBaseFeePerGas { + pub fee: set_base_fee_per_gas::Fee, } - pub mod transact { + pub mod set_base_fee_per_gas { use super::runtime_types; - pub type Transaction = runtime_types::ethereum::transaction::TransactionV2; + pub type Fee = runtime_types::primitive_types::U256; } - impl ::subxt_core::blocks::StaticExtrinsic for Transact { - const PALLET: &'static str = "Ethereum"; - const CALL: &'static str = "transact"; + impl ::subxt_core::blocks::StaticExtrinsic for SetBaseFeePerGas { + const PALLET: &'static str = "BaseFee"; + const CALL: &'static str = "set_base_fee_per_gas"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct SetElasticity { + pub elasticity: set_elasticity::Elasticity, + } + pub mod set_elasticity { + use super::runtime_types; + pub type Elasticity = runtime_types::sp_arithmetic::per_things::Permill; + } + impl ::subxt_core::blocks::StaticExtrinsic for SetElasticity { + const PALLET: &'static str = "BaseFee"; + const CALL: &'static str = "set_elasticity"; } } pub struct TransactionApi; impl TransactionApi { - #[doc = "Transact an Ethereum transaction."] - pub fn transact( + pub fn set_base_fee_per_gas( &self, - transaction: types::transact::Transaction, - ) -> ::subxt_core::tx::payload::StaticPayload { + fee: types::set_base_fee_per_gas::Fee, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "Ethereum", - "transact", - types::Transact { transaction }, + "BaseFee", + "set_base_fee_per_gas", + types::SetBaseFeePerGas { fee }, [ - 124u8, 9u8, 75u8, 222u8, 225u8, 49u8, 255u8, 53u8, 207u8, 220u8, 198u8, - 31u8, 26u8, 150u8, 238u8, 140u8, 230u8, 77u8, 248u8, 1u8, 97u8, 222u8, - 9u8, 32u8, 217u8, 160u8, 195u8, 4u8, 69u8, 210u8, 251u8, 109u8, + 126u8, 236u8, 128u8, 184u8, 42u8, 39u8, 13u8, 175u8, 155u8, 36u8, + 229u8, 20u8, 13u8, 15u8, 88u8, 56u8, 206u8, 44u8, 127u8, 182u8, 120u8, + 212u8, 35u8, 72u8, 100u8, 181u8, 64u8, 200u8, 63u8, 129u8, 167u8, + 132u8, + ], + ) + } + pub fn set_elasticity( + &self, + elasticity: types::set_elasticity::Elasticity, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "BaseFee", + "set_elasticity", + types::SetElasticity { elasticity }, + [ + 209u8, 8u8, 19u8, 35u8, 199u8, 151u8, 122u8, 91u8, 181u8, 133u8, 162u8, + 167u8, 186u8, 150u8, 54u8, 83u8, 101u8, 180u8, 188u8, 136u8, 111u8, + 100u8, 76u8, 51u8, 118u8, 171u8, 15u8, 75u8, 120u8, 106u8, 37u8, 1u8, ], ) } } } #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::pallet_ethereum::pallet::Event; + pub type Event = runtime_types::pallet_base_fee::pallet::Event; pub mod events { use super::runtime_types; #[derive( @@ -41457,200 +39345,196 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An ethereum transaction was successfully executed."] - pub struct Executed { - pub from: executed::From, - pub to: executed::To, - pub transaction_hash: executed::TransactionHash, - pub exit_reason: executed::ExitReason, - pub extra_data: executed::ExtraData, + pub struct NewBaseFeePerGas { + pub fee: new_base_fee_per_gas::Fee, } - pub mod executed { + pub mod new_base_fee_per_gas { use super::runtime_types; - pub type From = ::subxt_core::utils::H160; - pub type To = ::subxt_core::utils::H160; - pub type TransactionHash = ::subxt_core::utils::H256; - pub type ExitReason = runtime_types::evm_core::error::ExitReason; - pub type ExtraData = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; + pub type Fee = runtime_types::primitive_types::U256; } - impl ::subxt_core::events::StaticEvent for Executed { - const PALLET: &'static str = "Ethereum"; - const EVENT: &'static str = "Executed"; + impl ::subxt_core::events::StaticEvent for NewBaseFeePerGas { + const PALLET: &'static str = "BaseFee"; + const EVENT: &'static str = "NewBaseFeePerGas"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct BaseFeeOverflow; + impl ::subxt_core::events::StaticEvent for BaseFeeOverflow { + const PALLET: &'static str = "BaseFee"; + const EVENT: &'static str = "BaseFeeOverflow"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct NewElasticity { + pub elasticity: new_elasticity::Elasticity, + } + pub mod new_elasticity { + use super::runtime_types; + pub type Elasticity = runtime_types::sp_arithmetic::per_things::Permill; + } + impl ::subxt_core::events::StaticEvent for NewElasticity { + const PALLET: &'static str = "BaseFee"; + const EVENT: &'static str = "NewElasticity"; } } pub mod storage { use super::runtime_types; pub mod types { use super::runtime_types; - pub mod pending { - use super::runtime_types; - pub type Pending = ::subxt_core::alloc::vec::Vec<( - runtime_types::ethereum::transaction::TransactionV2, - runtime_types::fp_rpc::TransactionStatus, - runtime_types::ethereum::receipt::ReceiptV3, - )>; - } - pub mod current_block { - use super::runtime_types; - pub type CurrentBlock = runtime_types::ethereum::block::Block< - runtime_types::ethereum::transaction::TransactionV2, - >; - } - pub mod current_receipts { - use super::runtime_types; - pub type CurrentReceipts = - ::subxt_core::alloc::vec::Vec; - } - pub mod current_transaction_statuses { + pub mod base_fee_per_gas { use super::runtime_types; - pub type CurrentTransactionStatuses = - ::subxt_core::alloc::vec::Vec; + pub type BaseFeePerGas = runtime_types::primitive_types::U256; } - pub mod block_hash { + pub mod elasticity { use super::runtime_types; - pub type BlockHash = ::subxt_core::utils::H256; - pub type Param0 = runtime_types::primitive_types::U256; + pub type Elasticity = runtime_types::sp_arithmetic::per_things::Permill; } } pub struct StorageApi; impl StorageApi { - #[doc = " Current building block's transactions and receipts."] - pub fn pending( + pub fn base_fee_per_gas( &self, ) -> ::subxt_core::storage::address::StaticAddress< (), - types::pending::Pending, + types::base_fee_per_gas::BaseFeePerGas, ::subxt_core::utils::Yes, ::subxt_core::utils::Yes, (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "Ethereum", - "Pending", + "BaseFee", + "BaseFeePerGas", (), [ - 249u8, 60u8, 121u8, 166u8, 91u8, 128u8, 146u8, 87u8, 240u8, 165u8, - 236u8, 61u8, 65u8, 140u8, 14u8, 203u8, 169u8, 102u8, 126u8, 247u8, - 245u8, 3u8, 166u8, 188u8, 144u8, 74u8, 13u8, 2u8, 244u8, 49u8, 223u8, - 198u8, + 23u8, 173u8, 98u8, 22u8, 131u8, 239u8, 122u8, 219u8, 222u8, 84u8, + 207u8, 52u8, 213u8, 196u8, 3u8, 24u8, 152u8, 146u8, 63u8, 77u8, 22u8, + 153u8, 2u8, 75u8, 11u8, 89u8, 89u8, 173u8, 123u8, 33u8, 247u8, 9u8, ], ) } - #[doc = " The current Ethereum block."] - pub fn current_block( + pub fn elasticity( &self, ) -> ::subxt_core::storage::address::StaticAddress< (), - types::current_block::CurrentBlock, + types::elasticity::Elasticity, ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Ethereum", - "CurrentBlock", - (), - [ - 54u8, 128u8, 41u8, 16u8, 65u8, 25u8, 184u8, 85u8, 192u8, 220u8, 208u8, - 92u8, 166u8, 132u8, 223u8, 50u8, 252u8, 112u8, 236u8, 217u8, 108u8, - 166u8, 131u8, 224u8, 141u8, 59u8, 248u8, 42u8, 197u8, 96u8, 240u8, - 88u8, - ], - ) - } - #[doc = " The current Ethereum receipts."] - pub fn current_receipts( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::current_receipts::CurrentReceipts, ::subxt_core::utils::Yes, (), - (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "Ethereum", - "CurrentReceipts", + "BaseFee", + "Elasticity", (), [ - 97u8, 46u8, 228u8, 135u8, 133u8, 148u8, 98u8, 3u8, 128u8, 26u8, 83u8, - 12u8, 33u8, 135u8, 88u8, 205u8, 147u8, 176u8, 13u8, 113u8, 148u8, 48u8, - 31u8, 200u8, 105u8, 224u8, 201u8, 225u8, 157u8, 108u8, 55u8, 209u8, + 196u8, 184u8, 245u8, 90u8, 25u8, 50u8, 66u8, 69u8, 140u8, 128u8, 179u8, + 63u8, 197u8, 133u8, 135u8, 141u8, 56u8, 0u8, 143u8, 241u8, 200u8, + 114u8, 73u8, 157u8, 85u8, 190u8, 1u8, 2u8, 208u8, 235u8, 62u8, 16u8, ], ) } - #[doc = " The current transaction statuses."] - pub fn current_transaction_statuses( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::current_transaction_statuses::CurrentTransactionStatuses, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Ethereum", - "CurrentTransactionStatuses", - (), - [ - 29u8, 20u8, 106u8, 243u8, 226u8, 102u8, 121u8, 20u8, 222u8, 53u8, 99u8, - 68u8, 173u8, 238u8, 167u8, 165u8, 192u8, 192u8, 230u8, 46u8, 231u8, - 88u8, 144u8, 159u8, 3u8, 171u8, 72u8, 125u8, 68u8, 66u8, 125u8, 165u8, - ], - ) + } + } + } + pub mod hotfix_sufficients { + use super::root_mod; + use super::runtime_types; + #[doc = "The `Error` enum of this pallet."] + pub type Error = runtime_types::pallet_hotfix_sufficients::pallet::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::pallet_hotfix_sufficients::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Increment `sufficients` for existing accounts having a nonzero `nonce` but zero `sufficients`, `consumers` and `providers` value."] + #[doc = "This state was caused by a previous bug in EVM create account dispatchable."] + #[doc = ""] + #[doc = "Any accounts in the input list not satisfying the above condition will remain unaffected."] + pub struct HotfixIncAccountSufficients { + pub addresses: hotfix_inc_account_sufficients::Addresses, } - pub fn block_hash_iter( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::block_hash::BlockHash, - (), - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Ethereum", - "BlockHash", - (), - [ - 131u8, 87u8, 201u8, 82u8, 203u8, 241u8, 176u8, 149u8, 39u8, 243u8, - 227u8, 1u8, 86u8, 62u8, 6u8, 231u8, 55u8, 6u8, 212u8, 96u8, 207u8, - 73u8, 56u8, 204u8, 215u8, 227u8, 48u8, 249u8, 67u8, 137u8, 139u8, 76u8, - ], - ) + pub mod hotfix_inc_account_sufficients { + use super::runtime_types; + pub type Addresses = ::subxt_core::alloc::vec::Vec<::subxt_core::utils::H160>; } - pub fn block_hash( + impl ::subxt_core::blocks::StaticExtrinsic for HotfixIncAccountSufficients { + const PALLET: &'static str = "HotfixSufficients"; + const CALL: &'static str = "hotfix_inc_account_sufficients"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Increment `sufficients` for existing accounts having a nonzero `nonce` but zero `sufficients`, `consumers` and `providers` value."] + #[doc = "This state was caused by a previous bug in EVM create account dispatchable."] + #[doc = ""] + #[doc = "Any accounts in the input list not satisfying the above condition will remain unaffected."] + pub fn hotfix_inc_account_sufficients( &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::block_hash::BlockHash, - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Ethereum", - "BlockHash", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + addresses: types::hotfix_inc_account_sufficients::Addresses, + ) -> ::subxt_core::tx::payload::StaticPayload + { + ::subxt_core::tx::payload::StaticPayload::new_static( + "HotfixSufficients", + "hotfix_inc_account_sufficients", + types::HotfixIncAccountSufficients { addresses }, [ - 131u8, 87u8, 201u8, 82u8, 203u8, 241u8, 176u8, 149u8, 39u8, 243u8, - 227u8, 1u8, 86u8, 62u8, 6u8, 231u8, 55u8, 6u8, 212u8, 96u8, 207u8, - 73u8, 56u8, 204u8, 215u8, 227u8, 48u8, 249u8, 67u8, 137u8, 139u8, 76u8, + 135u8, 117u8, 192u8, 209u8, 218u8, 115u8, 124u8, 21u8, 78u8, 250u8, + 55u8, 209u8, 86u8, 92u8, 17u8, 196u8, 209u8, 131u8, 185u8, 20u8, 166u8, + 25u8, 175u8, 119u8, 21u8, 155u8, 139u8, 112u8, 128u8, 35u8, 223u8, + 195u8, ], ) } } } } - pub mod evm { + pub mod claims { use super::root_mod; use super::runtime_types; #[doc = "The `Error` enum of this pallet."] - pub type Error = runtime_types::pallet_evm::pallet::Error; + pub type Error = runtime_types::pallet_airdrop_claims::pallet::Error; #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_evm::pallet::Call; + pub type Call = runtime_types::pallet_airdrop_claims::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -41671,19 +39555,102 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Withdraw balance from EVM into currency/balances pallet."] - pub struct Withdraw { - pub address: withdraw::Address, - pub value: withdraw::Value, + #[doc = "Make a claim to collect your tokens."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _None_."] + #[doc = ""] + #[doc = "Unsigned Validation:"] + #[doc = "A call to claim is deemed valid if the signature provided matches"] + #[doc = "the expected signed message of:"] + #[doc = ""] + #[doc = "> Ethereum Signed Message:"] + #[doc = "> (configured prefix string)(address)"] + #[doc = ""] + #[doc = "and `address` matches the `dest` account."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `dest`: The destination account to payout the claim."] + #[doc = "- `ethereum_signature`: The signature of an ethereum signed message matching the format"] + #[doc = " described above."] + #[doc = ""] + #[doc = ""] + #[doc = "The weight of this call is invariant over the input parameters."] + #[doc = "Weight includes logic to validate unsigned `claim` call."] + #[doc = ""] + #[doc = "Total Complexity: O(1)"] + #[doc = ""] + pub struct Claim { + pub dest: claim::Dest, + pub signer: claim::Signer, + pub signature: claim::Signature, } - pub mod withdraw { + pub mod claim { use super::runtime_types; - pub type Address = ::subxt_core::utils::H160; + pub type Dest = ::core::option::Option< + runtime_types::pallet_airdrop_claims::utils::MultiAddress, + >; + pub type Signer = ::core::option::Option< + runtime_types::pallet_airdrop_claims::utils::MultiAddress, + >; + pub type Signature = + runtime_types::pallet_airdrop_claims::utils::MultiAddressSignature; + } + impl ::subxt_core::blocks::StaticExtrinsic for Claim { + const PALLET: &'static str = "Claims"; + const CALL: &'static str = "claim"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Mint a new claim to collect native tokens."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `who`: The Ethereum address allowed to collect this claim."] + #[doc = "- `value`: The number of native tokens that will be claimed."] + #[doc = "- `vesting_schedule`: An optional vesting schedule for these native tokens."] + #[doc = ""] + #[doc = ""] + #[doc = "The weight of this call is invariant over the input parameters."] + #[doc = "We assume worst case that both vesting and statement is being inserted."] + #[doc = ""] + #[doc = "Total Complexity: O(1)"] + #[doc = ""] + pub struct MintClaim { + pub who: mint_claim::Who, + pub value: mint_claim::Value, + pub vesting_schedule: mint_claim::VestingSchedule, + pub statement: mint_claim::Statement, + } + pub mod mint_claim { + use super::runtime_types; + pub type Who = runtime_types::pallet_airdrop_claims::utils::MultiAddress; pub type Value = ::core::primitive::u128; + pub type VestingSchedule = ::core::option::Option< + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + ::core::primitive::u128, + ::core::primitive::u128, + ::core::primitive::u64, + )>, + >; + pub type Statement = + ::core::option::Option; } - impl ::subxt_core::blocks::StaticExtrinsic for Withdraw { - const PALLET: &'static str = "EVM"; - const CALL: &'static str = "withdraw"; + impl ::subxt_core::blocks::StaticExtrinsic for MintClaim { + const PALLET: &'static str = "Claims"; + const CALL: &'static str = "mint_claim"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -41699,37 +39666,54 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Issue an EVM call operation. This is similar to a message call transaction in Ethereum."] - pub struct Call { - pub source: call::Source, - pub target: call::Target, - pub input: call::Input, - pub value: call::Value, - pub gas_limit: call::GasLimit, - pub max_fee_per_gas: call::MaxFeePerGas, - pub max_priority_fee_per_gas: call::MaxPriorityFeePerGas, - pub nonce: call::Nonce, - pub access_list: call::AccessList, + #[doc = "Make a claim to collect your native tokens by signing a statement."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _None_."] + #[doc = ""] + #[doc = "Unsigned Validation:"] + #[doc = "A call to `claim_attest` is deemed valid if the signature provided matches"] + #[doc = "the expected signed message of:"] + #[doc = ""] + #[doc = "> Ethereum Signed Message:"] + #[doc = "> (configured prefix string)(address)(statement)"] + #[doc = ""] + #[doc = "and `address` matches the `dest` account; the `statement` must match that which is"] + #[doc = "expected according to your purchase arrangement."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `dest`: The destination account to payout the claim."] + #[doc = "- `ethereum_signature`: The signature of an ethereum signed message matching the format"] + #[doc = " described above."] + #[doc = "- `statement`: The identity of the statement which is being attested to in the"] + #[doc = " signature."] + #[doc = ""] + #[doc = ""] + #[doc = "The weight of this call is invariant over the input parameters."] + #[doc = "Weight includes logic to validate unsigned `claim_attest` call."] + #[doc = ""] + #[doc = "Total Complexity: O(1)"] + #[doc = ""] + pub struct ClaimAttest { + pub dest: claim_attest::Dest, + pub signer: claim_attest::Signer, + pub signature: claim_attest::Signature, + pub statement: claim_attest::Statement, } - pub mod call { + pub mod claim_attest { use super::runtime_types; - pub type Source = ::subxt_core::utils::H160; - pub type Target = ::subxt_core::utils::H160; - pub type Input = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; - pub type Value = runtime_types::primitive_types::U256; - pub type GasLimit = ::core::primitive::u64; - pub type MaxFeePerGas = runtime_types::primitive_types::U256; - pub type MaxPriorityFeePerGas = - ::core::option::Option; - pub type Nonce = ::core::option::Option; - pub type AccessList = ::subxt_core::alloc::vec::Vec<( - ::subxt_core::utils::H160, - ::subxt_core::alloc::vec::Vec<::subxt_core::utils::H256>, - )>; + pub type Dest = ::core::option::Option< + runtime_types::pallet_airdrop_claims::utils::MultiAddress, + >; + pub type Signer = ::core::option::Option< + runtime_types::pallet_airdrop_claims::utils::MultiAddress, + >; + pub type Signature = + runtime_types::pallet_airdrop_claims::utils::MultiAddressSignature; + pub type Statement = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; } - impl ::subxt_core::blocks::StaticExtrinsic for Call { - const PALLET: &'static str = "EVM"; - const CALL: &'static str = "call"; + impl ::subxt_core::blocks::StaticExtrinsic for ClaimAttest { + const PALLET: &'static str = "Claims"; + const CALL: &'static str = "claim_attest"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -41745,36 +39729,47 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Issue an EVM create operation. This is similar to a contract creation transaction in"] - #[doc = "Ethereum."] - pub struct Create { - pub source: create::Source, - pub init: create::Init, - pub value: create::Value, - pub gas_limit: create::GasLimit, - pub max_fee_per_gas: create::MaxFeePerGas, - pub max_priority_fee_per_gas: create::MaxPriorityFeePerGas, - pub nonce: create::Nonce, - pub access_list: create::AccessList, + pub struct MoveClaim { + pub old: move_claim::Old, + pub new: move_claim::New, } - pub mod create { + pub mod move_claim { use super::runtime_types; - pub type Source = ::subxt_core::utils::H160; - pub type Init = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; - pub type Value = runtime_types::primitive_types::U256; - pub type GasLimit = ::core::primitive::u64; - pub type MaxFeePerGas = runtime_types::primitive_types::U256; - pub type MaxPriorityFeePerGas = - ::core::option::Option; - pub type Nonce = ::core::option::Option; - pub type AccessList = ::subxt_core::alloc::vec::Vec<( - ::subxt_core::utils::H160, - ::subxt_core::alloc::vec::Vec<::subxt_core::utils::H256>, - )>; + pub type Old = runtime_types::pallet_airdrop_claims::utils::MultiAddress; + pub type New = runtime_types::pallet_airdrop_claims::utils::MultiAddress; } - impl ::subxt_core::blocks::StaticExtrinsic for Create { - const PALLET: &'static str = "EVM"; - const CALL: &'static str = "create"; + impl ::subxt_core::blocks::StaticExtrinsic for MoveClaim { + const PALLET: &'static str = "Claims"; + const CALL: &'static str = "move_claim"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Set the value for expiryconfig"] + #[doc = "Can only be called by ForceOrigin"] + pub struct ForceSetExpiryConfig { + pub expiry_block: force_set_expiry_config::ExpiryBlock, + pub dest: force_set_expiry_config::Dest, + } + pub mod force_set_expiry_config { + use super::runtime_types; + pub type ExpiryBlock = ::core::primitive::u64; + pub type Dest = runtime_types::pallet_airdrop_claims::utils::MultiAddress; + } + impl ::subxt_core::blocks::StaticExtrinsic for ForceSetExpiryConfig { + const PALLET: &'static str = "Claims"; + const CALL: &'static str = "force_set_expiry_config"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -41790,165 +39785,200 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Issue an EVM create2 operation."] - pub struct Create2 { - pub source: create2::Source, - pub init: create2::Init, - pub salt: create2::Salt, - pub value: create2::Value, - pub gas_limit: create2::GasLimit, - pub max_fee_per_gas: create2::MaxFeePerGas, - pub max_priority_fee_per_gas: create2::MaxPriorityFeePerGas, - pub nonce: create2::Nonce, - pub access_list: create2::AccessList, + #[doc = "Claim from signed origin"] + pub struct ClaimSigned { + pub dest: claim_signed::Dest, } - pub mod create2 { + pub mod claim_signed { use super::runtime_types; - pub type Source = ::subxt_core::utils::H160; - pub type Init = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; - pub type Salt = ::subxt_core::utils::H256; - pub type Value = runtime_types::primitive_types::U256; - pub type GasLimit = ::core::primitive::u64; - pub type MaxFeePerGas = runtime_types::primitive_types::U256; - pub type MaxPriorityFeePerGas = - ::core::option::Option; - pub type Nonce = ::core::option::Option; - pub type AccessList = ::subxt_core::alloc::vec::Vec<( - ::subxt_core::utils::H160, - ::subxt_core::alloc::vec::Vec<::subxt_core::utils::H256>, - )>; + pub type Dest = ::core::option::Option< + runtime_types::pallet_airdrop_claims::utils::MultiAddress, + >; } - impl ::subxt_core::blocks::StaticExtrinsic for Create2 { - const PALLET: &'static str = "EVM"; - const CALL: &'static str = "create2"; + impl ::subxt_core::blocks::StaticExtrinsic for ClaimSigned { + const PALLET: &'static str = "Claims"; + const CALL: &'static str = "claim_signed"; } } pub struct TransactionApi; impl TransactionApi { - #[doc = "Withdraw balance from EVM into currency/balances pallet."] - pub fn withdraw( + #[doc = "Make a claim to collect your tokens."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _None_."] + #[doc = ""] + #[doc = "Unsigned Validation:"] + #[doc = "A call to claim is deemed valid if the signature provided matches"] + #[doc = "the expected signed message of:"] + #[doc = ""] + #[doc = "> Ethereum Signed Message:"] + #[doc = "> (configured prefix string)(address)"] + #[doc = ""] + #[doc = "and `address` matches the `dest` account."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `dest`: The destination account to payout the claim."] + #[doc = "- `ethereum_signature`: The signature of an ethereum signed message matching the format"] + #[doc = " described above."] + #[doc = ""] + #[doc = ""] + #[doc = "The weight of this call is invariant over the input parameters."] + #[doc = "Weight includes logic to validate unsigned `claim` call."] + #[doc = ""] + #[doc = "Total Complexity: O(1)"] + #[doc = ""] + pub fn claim( &self, - address: types::withdraw::Address, - value: types::withdraw::Value, - ) -> ::subxt_core::tx::payload::StaticPayload { + dest: types::claim::Dest, + signer: types::claim::Signer, + signature: types::claim::Signature, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "EVM", - "withdraw", - types::Withdraw { address, value }, + "Claims", + "claim", + types::Claim { dest, signer, signature }, [ - 62u8, 162u8, 234u8, 15u8, 176u8, 61u8, 183u8, 203u8, 241u8, 10u8, - 202u8, 26u8, 45u8, 116u8, 38u8, 44u8, 32u8, 57u8, 208u8, 55u8, 182u8, - 92u8, 136u8, 133u8, 216u8, 255u8, 25u8, 132u8, 242u8, 34u8, 43u8, 64u8, + 174u8, 87u8, 36u8, 13u8, 129u8, 107u8, 7u8, 172u8, 33u8, 255u8, 26u8, + 144u8, 100u8, 170u8, 87u8, 71u8, 69u8, 246u8, 25u8, 150u8, 154u8, 46u8, + 145u8, 113u8, 28u8, 9u8, 137u8, 144u8, 239u8, 195u8, 147u8, 27u8, ], ) } - #[doc = "Issue an EVM call operation. This is similar to a message call transaction in Ethereum."] - pub fn call( + #[doc = "Mint a new claim to collect native tokens."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `who`: The Ethereum address allowed to collect this claim."] + #[doc = "- `value`: The number of native tokens that will be claimed."] + #[doc = "- `vesting_schedule`: An optional vesting schedule for these native tokens."] + #[doc = ""] + #[doc = ""] + #[doc = "The weight of this call is invariant over the input parameters."] + #[doc = "We assume worst case that both vesting and statement is being inserted."] + #[doc = ""] + #[doc = "Total Complexity: O(1)"] + #[doc = ""] + pub fn mint_claim( &self, - source: types::call::Source, - target: types::call::Target, - input: types::call::Input, - value: types::call::Value, - gas_limit: types::call::GasLimit, - max_fee_per_gas: types::call::MaxFeePerGas, - max_priority_fee_per_gas: types::call::MaxPriorityFeePerGas, - nonce: types::call::Nonce, - access_list: types::call::AccessList, - ) -> ::subxt_core::tx::payload::StaticPayload { + who: types::mint_claim::Who, + value: types::mint_claim::Value, + vesting_schedule: types::mint_claim::VestingSchedule, + statement: types::mint_claim::Statement, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "EVM", - "call", - types::Call { - source, - target, - input, - value, - gas_limit, - max_fee_per_gas, - max_priority_fee_per_gas, - nonce, - access_list, - }, + "Claims", + "mint_claim", + types::MintClaim { who, value, vesting_schedule, statement }, [ - 121u8, 179u8, 103u8, 152u8, 89u8, 27u8, 36u8, 13u8, 114u8, 246u8, - 222u8, 197u8, 249u8, 250u8, 241u8, 66u8, 219u8, 123u8, 126u8, 144u8, - 144u8, 213u8, 165u8, 25u8, 248u8, 129u8, 86u8, 34u8, 105u8, 145u8, - 85u8, 85u8, + 242u8, 253u8, 106u8, 199u8, 247u8, 60u8, 244u8, 130u8, 62u8, 97u8, + 108u8, 22u8, 29u8, 146u8, 25u8, 16u8, 185u8, 223u8, 212u8, 253u8, + 117u8, 169u8, 156u8, 186u8, 58u8, 11u8, 116u8, 255u8, 197u8, 172u8, + 78u8, 58u8, ], ) } - #[doc = "Issue an EVM create operation. This is similar to a contract creation transaction in"] - #[doc = "Ethereum."] - pub fn create( + #[doc = "Make a claim to collect your native tokens by signing a statement."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _None_."] + #[doc = ""] + #[doc = "Unsigned Validation:"] + #[doc = "A call to `claim_attest` is deemed valid if the signature provided matches"] + #[doc = "the expected signed message of:"] + #[doc = ""] + #[doc = "> Ethereum Signed Message:"] + #[doc = "> (configured prefix string)(address)(statement)"] + #[doc = ""] + #[doc = "and `address` matches the `dest` account; the `statement` must match that which is"] + #[doc = "expected according to your purchase arrangement."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `dest`: The destination account to payout the claim."] + #[doc = "- `ethereum_signature`: The signature of an ethereum signed message matching the format"] + #[doc = " described above."] + #[doc = "- `statement`: The identity of the statement which is being attested to in the"] + #[doc = " signature."] + #[doc = ""] + #[doc = ""] + #[doc = "The weight of this call is invariant over the input parameters."] + #[doc = "Weight includes logic to validate unsigned `claim_attest` call."] + #[doc = ""] + #[doc = "Total Complexity: O(1)"] + #[doc = ""] + pub fn claim_attest( &self, - source: types::create::Source, - init: types::create::Init, - value: types::create::Value, - gas_limit: types::create::GasLimit, - max_fee_per_gas: types::create::MaxFeePerGas, - max_priority_fee_per_gas: types::create::MaxPriorityFeePerGas, - nonce: types::create::Nonce, - access_list: types::create::AccessList, - ) -> ::subxt_core::tx::payload::StaticPayload { + dest: types::claim_attest::Dest, + signer: types::claim_attest::Signer, + signature: types::claim_attest::Signature, + statement: types::claim_attest::Statement, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "EVM", - "create", - types::Create { - source, - init, - value, - gas_limit, - max_fee_per_gas, - max_priority_fee_per_gas, - nonce, - access_list, - }, + "Claims", + "claim_attest", + types::ClaimAttest { dest, signer, signature, statement }, [ - 231u8, 52u8, 103u8, 5u8, 29u8, 96u8, 200u8, 245u8, 151u8, 231u8, 111u8, - 150u8, 185u8, 126u8, 12u8, 42u8, 169u8, 92u8, 68u8, 130u8, 36u8, 11u8, - 234u8, 211u8, 199u8, 200u8, 45u8, 10u8, 53u8, 91u8, 226u8, 145u8, + 107u8, 31u8, 239u8, 61u8, 103u8, 231u8, 139u8, 136u8, 92u8, 195u8, + 182u8, 139u8, 173u8, 131u8, 153u8, 42u8, 104u8, 123u8, 8u8, 8u8, 135u8, + 149u8, 164u8, 140u8, 56u8, 147u8, 15u8, 89u8, 126u8, 154u8, 139u8, + 71u8, ], ) } - #[doc = "Issue an EVM create2 operation."] - pub fn create2( + pub fn move_claim( &self, - source: types::create2::Source, - init: types::create2::Init, - salt: types::create2::Salt, - value: types::create2::Value, - gas_limit: types::create2::GasLimit, - max_fee_per_gas: types::create2::MaxFeePerGas, - max_priority_fee_per_gas: types::create2::MaxPriorityFeePerGas, - nonce: types::create2::Nonce, - access_list: types::create2::AccessList, - ) -> ::subxt_core::tx::payload::StaticPayload { + old: types::move_claim::Old, + new: types::move_claim::New, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "EVM", - "create2", - types::Create2 { - source, - init, - salt, - value, - gas_limit, - max_fee_per_gas, - max_priority_fee_per_gas, - nonce, - access_list, - }, + "Claims", + "move_claim", + types::MoveClaim { old, new }, [ - 73u8, 157u8, 32u8, 232u8, 164u8, 93u8, 191u8, 129u8, 171u8, 104u8, - 212u8, 108u8, 167u8, 5u8, 61u8, 171u8, 247u8, 97u8, 122u8, 162u8, - 102u8, 152u8, 224u8, 130u8, 94u8, 112u8, 115u8, 68u8, 249u8, 215u8, - 233u8, 115u8, + 158u8, 85u8, 19u8, 154u8, 152u8, 57u8, 252u8, 225u8, 31u8, 9u8, 80u8, + 0u8, 17u8, 78u8, 224u8, 34u8, 255u8, 2u8, 53u8, 220u8, 242u8, 220u8, + 185u8, 48u8, 155u8, 1u8, 71u8, 53u8, 112u8, 111u8, 5u8, 42u8, + ], + ) + } + #[doc = "Set the value for expiryconfig"] + #[doc = "Can only be called by ForceOrigin"] + pub fn force_set_expiry_config( + &self, + expiry_block: types::force_set_expiry_config::ExpiryBlock, + dest: types::force_set_expiry_config::Dest, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Claims", + "force_set_expiry_config", + types::ForceSetExpiryConfig { expiry_block, dest }, + [ + 102u8, 135u8, 138u8, 85u8, 68u8, 159u8, 220u8, 113u8, 148u8, 11u8, + 123u8, 91u8, 3u8, 149u8, 37u8, 92u8, 153u8, 156u8, 210u8, 174u8, 145u8, + 192u8, 149u8, 238u8, 53u8, 217u8, 190u8, 157u8, 224u8, 188u8, 7u8, + 92u8, + ], + ) + } + #[doc = "Claim from signed origin"] + pub fn claim_signed( + &self, + dest: types::claim_signed::Dest, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Claims", + "claim_signed", + types::ClaimSigned { dest }, + [ + 123u8, 242u8, 127u8, 158u8, 93u8, 47u8, 145u8, 109u8, 101u8, 8u8, 53u8, + 129u8, 183u8, 214u8, 245u8, 158u8, 191u8, 186u8, 66u8, 55u8, 44u8, + 254u8, 130u8, 197u8, 44u8, 39u8, 48u8, 194u8, 241u8, 45u8, 253u8, + 176u8, ], ) } } } #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::pallet_evm::pallet::Event; + pub type Event = runtime_types::pallet_airdrop_claims::pallet::Event; pub mod events { use super::runtime_types; #[derive( @@ -41965,400 +39995,267 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Ethereum events from contracts."] - pub struct Log { - pub log: log::Log, - } - pub mod log { - use super::runtime_types; - pub type Log = runtime_types::ethereum::log::Log; - } - impl ::subxt_core::events::StaticEvent for Log { - const PALLET: &'static str = "EVM"; - const EVENT: &'static str = "Log"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A contract has been created at given address."] - pub struct Created { - pub address: created::Address, - } - pub mod created { - use super::runtime_types; - pub type Address = ::subxt_core::utils::H160; - } - impl ::subxt_core::events::StaticEvent for Created { - const PALLET: &'static str = "EVM"; - const EVENT: &'static str = "Created"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A contract was attempted to be created, but the execution failed."] - pub struct CreatedFailed { - pub address: created_failed::Address, - } - pub mod created_failed { - use super::runtime_types; - pub type Address = ::subxt_core::utils::H160; - } - impl ::subxt_core::events::StaticEvent for CreatedFailed { - const PALLET: &'static str = "EVM"; - const EVENT: &'static str = "CreatedFailed"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A contract has been executed successfully with states applied."] - pub struct Executed { - pub address: executed::Address, - } - pub mod executed { - use super::runtime_types; - pub type Address = ::subxt_core::utils::H160; - } - impl ::subxt_core::events::StaticEvent for Executed { - const PALLET: &'static str = "EVM"; - const EVENT: &'static str = "Executed"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A contract has been executed with errors. States are reverted with only gas fees applied."] - pub struct ExecutedFailed { - pub address: executed_failed::Address, + #[doc = "Someone claimed some native tokens."] + pub struct Claimed { + pub recipient: claimed::Recipient, + pub source: claimed::Source, + pub amount: claimed::Amount, } - pub mod executed_failed { + pub mod claimed { use super::runtime_types; - pub type Address = ::subxt_core::utils::H160; + pub type Recipient = ::subxt_core::utils::AccountId32; + pub type Source = runtime_types::pallet_airdrop_claims::utils::MultiAddress; + pub type Amount = ::core::primitive::u128; } - impl ::subxt_core::events::StaticEvent for ExecutedFailed { - const PALLET: &'static str = "EVM"; - const EVENT: &'static str = "ExecutedFailed"; + impl ::subxt_core::events::StaticEvent for Claimed { + const PALLET: &'static str = "Claims"; + const EVENT: &'static str = "Claimed"; } } pub mod storage { use super::runtime_types; pub mod types { use super::runtime_types; - pub mod account_codes { + pub mod claims { use super::runtime_types; - pub type AccountCodes = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; - pub type Param0 = ::subxt_core::utils::H160; + pub type Claims = ::core::primitive::u128; + pub type Param0 = runtime_types::pallet_airdrop_claims::utils::MultiAddress; } - pub mod account_codes_metadata { + pub mod total { use super::runtime_types; - pub type AccountCodesMetadata = runtime_types::pallet_evm::CodeMetadata; - pub type Param0 = ::subxt_core::utils::H160; + pub type Total = ::core::primitive::u128; } - pub mod account_storages { + pub mod expiry_config { use super::runtime_types; - pub type AccountStorages = ::subxt_core::utils::H256; - pub type Param0 = ::subxt_core::utils::H160; - pub type Param1 = ::subxt_core::utils::H256; + pub type ExpiryConfig = ( + ::core::primitive::u64, + runtime_types::pallet_airdrop_claims::utils::MultiAddress, + ); } - pub mod suicided { + pub mod vesting { use super::runtime_types; - pub type Suicided = (); - pub type Param0 = ::subxt_core::utils::H160; + pub type Vesting = runtime_types::bounded_collections::bounded_vec::BoundedVec< + (::core::primitive::u128, ::core::primitive::u128, ::core::primitive::u64), + >; + pub type Param0 = runtime_types::pallet_airdrop_claims::utils::MultiAddress; + } + pub mod signing { + use super::runtime_types; + pub type Signing = runtime_types::pallet_airdrop_claims::StatementKind; + pub type Param0 = runtime_types::pallet_airdrop_claims::utils::MultiAddress; } } pub struct StorageApi; impl StorageApi { - pub fn account_codes_iter( + pub fn claims_iter( &self, ) -> ::subxt_core::storage::address::StaticAddress< (), - types::account_codes::AccountCodes, + types::claims::Claims, + (), (), - ::subxt_core::utils::Yes, ::subxt_core::utils::Yes, > { ::subxt_core::storage::address::StaticAddress::new_static( - "EVM", - "AccountCodes", + "Claims", + "Claims", (), [ - 49u8, 73u8, 188u8, 164u8, 3u8, 40u8, 187u8, 216u8, 70u8, 119u8, 176u8, - 187u8, 76u8, 24u8, 49u8, 174u8, 54u8, 98u8, 208u8, 255u8, 38u8, 214u8, - 120u8, 116u8, 130u8, 139u8, 44u8, 102u8, 115u8, 222u8, 63u8, 56u8, + 175u8, 97u8, 79u8, 164u8, 220u8, 228u8, 14u8, 49u8, 136u8, 218u8, 96u8, + 209u8, 66u8, 54u8, 156u8, 95u8, 86u8, 234u8, 219u8, 166u8, 181u8, 93u8, + 48u8, 201u8, 147u8, 253u8, 55u8, 28u8, 8u8, 81u8, 204u8, 255u8, ], ) } - pub fn account_codes( + pub fn claims( &self, - _0: impl ::core::borrow::Borrow, + _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::account_codes::AccountCodes, - ::subxt_core::utils::Yes, + ::subxt_core::storage::address::StaticStorageKey, + types::claims::Claims, ::subxt_core::utils::Yes, (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "EVM", - "AccountCodes", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - [ - 49u8, 73u8, 188u8, 164u8, 3u8, 40u8, 187u8, 216u8, 70u8, 119u8, 176u8, - 187u8, 76u8, 24u8, 49u8, 174u8, 54u8, 98u8, 208u8, 255u8, 38u8, 214u8, - 120u8, 116u8, 130u8, 139u8, 44u8, 102u8, 115u8, 222u8, 63u8, 56u8, - ], - ) - } - pub fn account_codes_metadata_iter( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::account_codes_metadata::AccountCodesMetadata, - (), (), - ::subxt_core::utils::Yes, > { ::subxt_core::storage::address::StaticAddress::new_static( - "EVM", - "AccountCodesMetadata", - (), + "Claims", + "Claims", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 17u8, 83u8, 22u8, 15u8, 158u8, 242u8, 39u8, 174u8, 61u8, 230u8, 0u8, - 161u8, 173u8, 242u8, 155u8, 156u8, 149u8, 108u8, 47u8, 129u8, 190u8, - 223u8, 25u8, 235u8, 168u8, 86u8, 49u8, 118u8, 132u8, 93u8, 100u8, - 173u8, + 175u8, 97u8, 79u8, 164u8, 220u8, 228u8, 14u8, 49u8, 136u8, 218u8, 96u8, + 209u8, 66u8, 54u8, 156u8, 95u8, 86u8, 234u8, 219u8, 166u8, 181u8, 93u8, + 48u8, 201u8, 147u8, 253u8, 55u8, 28u8, 8u8, 81u8, 204u8, 255u8, ], ) } - pub fn account_codes_metadata( - &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey< - types::account_codes_metadata::Param0, - >, - types::account_codes_metadata::AccountCodesMetadata, - ::subxt_core::utils::Yes, + pub fn total( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< (), + types::total::Total, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "EVM", - "AccountCodesMetadata", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + "Claims", + "Total", + (), [ - 17u8, 83u8, 22u8, 15u8, 158u8, 242u8, 39u8, 174u8, 61u8, 230u8, 0u8, - 161u8, 173u8, 242u8, 155u8, 156u8, 149u8, 108u8, 47u8, 129u8, 190u8, - 223u8, 25u8, 235u8, 168u8, 86u8, 49u8, 118u8, 132u8, 93u8, 100u8, - 173u8, + 188u8, 31u8, 219u8, 189u8, 49u8, 213u8, 203u8, 89u8, 125u8, 58u8, + 232u8, 159u8, 131u8, 155u8, 166u8, 113u8, 99u8, 24u8, 40u8, 242u8, + 118u8, 183u8, 108u8, 230u8, 135u8, 150u8, 84u8, 86u8, 118u8, 91u8, + 168u8, 62u8, ], ) } - pub fn account_storages_iter( + #[doc = " Expiry block and account to deposit expired funds"] + pub fn expiry_config( &self, ) -> ::subxt_core::storage::address::StaticAddress< (), - types::account_storages::AccountStorages, - (), - ::subxt_core::utils::Yes, + types::expiry_config::ExpiryConfig, ::subxt_core::utils::Yes, + (), + (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "EVM", - "AccountStorages", + "Claims", + "ExpiryConfig", (), [ - 63u8, 69u8, 109u8, 3u8, 190u8, 233u8, 39u8, 122u8, 94u8, 37u8, 74u8, - 90u8, 197u8, 191u8, 12u8, 119u8, 165u8, 61u8, 217u8, 15u8, 36u8, 167u8, - 211u8, 120u8, 169u8, 97u8, 13u8, 38u8, 148u8, 224u8, 167u8, 199u8, + 104u8, 249u8, 22u8, 81u8, 1u8, 147u8, 78u8, 127u8, 228u8, 229u8, 17u8, + 129u8, 253u8, 171u8, 42u8, 125u8, 147u8, 73u8, 241u8, 242u8, 199u8, + 44u8, 67u8, 51u8, 206u8, 29u8, 127u8, 229u8, 218u8, 160u8, 132u8, 24u8, ], ) } - pub fn account_storages_iter1( + #[doc = " Vesting schedule for a claim."] + #[doc = " First balance is the total amount that should be held for vesting."] + #[doc = " Second balance is how much should be unlocked per block."] + #[doc = " The block number is when the vesting should start."] + pub fn vesting_iter( &self, - _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey< - types::account_storages::Param0, - >, - types::account_storages::AccountStorages, (), - ::subxt_core::utils::Yes, + types::vesting::Vesting, + (), + (), ::subxt_core::utils::Yes, > { ::subxt_core::storage::address::StaticAddress::new_static( - "EVM", - "AccountStorages", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + "Claims", + "Vesting", + (), [ - 63u8, 69u8, 109u8, 3u8, 190u8, 233u8, 39u8, 122u8, 94u8, 37u8, 74u8, - 90u8, 197u8, 191u8, 12u8, 119u8, 165u8, 61u8, 217u8, 15u8, 36u8, 167u8, - 211u8, 120u8, 169u8, 97u8, 13u8, 38u8, 148u8, 224u8, 167u8, 199u8, + 166u8, 245u8, 205u8, 165u8, 58u8, 90u8, 122u8, 157u8, 28u8, 220u8, + 114u8, 22u8, 73u8, 221u8, 230u8, 238u8, 57u8, 16u8, 66u8, 5u8, 63u8, + 105u8, 184u8, 141u8, 99u8, 116u8, 130u8, 150u8, 180u8, 165u8, 119u8, + 35u8, ], ) } - pub fn account_storages( + #[doc = " Vesting schedule for a claim."] + #[doc = " First balance is the total amount that should be held for vesting."] + #[doc = " Second balance is how much should be unlocked per block."] + #[doc = " The block number is when the vesting should start."] + pub fn vesting( &self, - _0: impl ::core::borrow::Borrow, - _1: impl ::core::borrow::Borrow, + _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< - ( - ::subxt_core::storage::address::StaticStorageKey< - types::account_storages::Param0, - >, - ::subxt_core::storage::address::StaticStorageKey< - types::account_storages::Param1, - >, - ), - types::account_storages::AccountStorages, - ::subxt_core::utils::Yes, + ::subxt_core::storage::address::StaticStorageKey, + types::vesting::Vesting, ::subxt_core::utils::Yes, (), + (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "EVM", - "AccountStorages", - ( - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), - ), + "Claims", + "Vesting", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 63u8, 69u8, 109u8, 3u8, 190u8, 233u8, 39u8, 122u8, 94u8, 37u8, 74u8, - 90u8, 197u8, 191u8, 12u8, 119u8, 165u8, 61u8, 217u8, 15u8, 36u8, 167u8, - 211u8, 120u8, 169u8, 97u8, 13u8, 38u8, 148u8, 224u8, 167u8, 199u8, + 166u8, 245u8, 205u8, 165u8, 58u8, 90u8, 122u8, 157u8, 28u8, 220u8, + 114u8, 22u8, 73u8, 221u8, 230u8, 238u8, 57u8, 16u8, 66u8, 5u8, 63u8, + 105u8, 184u8, 141u8, 99u8, 116u8, 130u8, 150u8, 180u8, 165u8, 119u8, + 35u8, ], ) } - pub fn suicided_iter( + #[doc = " The statement kind that must be signed, if any."] + pub fn signing_iter( &self, ) -> ::subxt_core::storage::address::StaticAddress< (), - types::suicided::Suicided, + types::signing::Signing, (), (), ::subxt_core::utils::Yes, > { ::subxt_core::storage::address::StaticAddress::new_static( - "EVM", - "Suicided", + "Claims", + "Signing", (), [ - 5u8, 137u8, 180u8, 131u8, 216u8, 217u8, 148u8, 127u8, 9u8, 159u8, 14u8, - 25u8, 56u8, 99u8, 55u8, 151u8, 140u8, 143u8, 188u8, 172u8, 33u8, 91u8, - 42u8, 59u8, 104u8, 94u8, 215u8, 41u8, 224u8, 118u8, 190u8, 249u8, + 210u8, 2u8, 184u8, 130u8, 98u8, 38u8, 101u8, 191u8, 250u8, 166u8, + 246u8, 153u8, 175u8, 181u8, 174u8, 232u8, 58u8, 4u8, 40u8, 112u8, 68u8, + 213u8, 124u8, 49u8, 250u8, 95u8, 49u8, 122u8, 144u8, 206u8, 57u8, 51u8, ], ) } - pub fn suicided( + #[doc = " The statement kind that must be signed, if any."] + pub fn signing( &self, - _0: impl ::core::borrow::Borrow, + _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::suicided::Suicided, + ::subxt_core::storage::address::StaticStorageKey, + types::signing::Signing, ::subxt_core::utils::Yes, (), (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "EVM", - "Suicided", + "Claims", + "Signing", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 5u8, 137u8, 180u8, 131u8, 216u8, 217u8, 148u8, 127u8, 9u8, 159u8, 14u8, - 25u8, 56u8, 99u8, 55u8, 151u8, 140u8, 143u8, 188u8, 172u8, 33u8, 91u8, - 42u8, 59u8, 104u8, 94u8, 215u8, 41u8, 224u8, 118u8, 190u8, 249u8, + 210u8, 2u8, 184u8, 130u8, 98u8, 38u8, 101u8, 191u8, 250u8, 166u8, + 246u8, 153u8, 175u8, 181u8, 174u8, 232u8, 58u8, 4u8, 40u8, 112u8, 68u8, + 213u8, 124u8, 49u8, 250u8, 95u8, 49u8, 122u8, 144u8, 206u8, 57u8, 51u8, ], ) } } } - } - pub mod evm_chain_id { - use super::root_mod; - use super::runtime_types; - pub mod storage { + pub mod constants { use super::runtime_types; - pub mod types { - use super::runtime_types; - pub mod chain_id { - use super::runtime_types; - pub type ChainId = ::core::primitive::u64; - } - } - pub struct StorageApi; - impl StorageApi { - #[doc = " The EVM chain ID."] - pub fn chain_id( + pub struct ConstantsApi; + impl ConstantsApi { + pub fn prefix( &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::chain_id::ChainId, - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - (), + ) -> ::subxt_core::constants::address::StaticAddress< + ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, > { - ::subxt_core::storage::address::StaticAddress::new_static( - "EVMChainId", - "ChainId", - (), + ::subxt_core::constants::address::StaticAddress::new_static( + "Claims", + "Prefix", [ - 250u8, 158u8, 90u8, 220u8, 184u8, 126u8, 207u8, 222u8, 62u8, 226u8, - 144u8, 204u8, 19u8, 136u8, 127u8, 5u8, 135u8, 48u8, 234u8, 138u8, - 216u8, 103u8, 28u8, 140u8, 193u8, 197u8, 142u8, 22u8, 159u8, 16u8, - 225u8, 255u8, + 64u8, 190u8, 244u8, 122u8, 87u8, 182u8, 217u8, 16u8, 55u8, 223u8, + 128u8, 6u8, 112u8, 30u8, 236u8, 222u8, 153u8, 53u8, 247u8, 102u8, + 196u8, 31u8, 6u8, 186u8, 251u8, 209u8, 114u8, 125u8, 213u8, 222u8, + 240u8, 8u8, ], ) } } } } - pub mod dynamic_fee { + pub mod proxy { use super::root_mod; use super::runtime_types; + #[doc = "The `Error` enum of this pallet."] + pub type Error = runtime_types::pallet_proxy::pallet::Error; #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_dynamic_fee::pallet::Call; + pub type Call = runtime_types::pallet_proxy::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -42379,106 +40276,325 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct NoteMinGasPriceTarget { - pub target: note_min_gas_price_target::Target, + #[doc = "Dispatch the given `call` from an account that the sender is authorised for through"] + #[doc = "`add_proxy`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `real`: The account that the proxy will make a call on behalf of."] + #[doc = "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call."] + #[doc = "- `call`: The call to be made by the `real` account."] + pub struct Proxy { + pub real: proxy::Real, + pub force_proxy_type: proxy::ForceProxyType, + pub call: ::subxt_core::alloc::boxed::Box, } - pub mod note_min_gas_price_target { + pub mod proxy { use super::runtime_types; - pub type Target = runtime_types::primitive_types::U256; + pub type Real = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type ForceProxyType = + ::core::option::Option; + pub type Call = runtime_types::tangle_testnet_runtime::RuntimeCall; } - impl ::subxt_core::blocks::StaticExtrinsic for NoteMinGasPriceTarget { - const PALLET: &'static str = "DynamicFee"; - const CALL: &'static str = "note_min_gas_price_target"; + impl ::subxt_core::blocks::StaticExtrinsic for Proxy { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "proxy"; } - } - pub struct TransactionApi; - impl TransactionApi { - pub fn note_min_gas_price_target( - &self, - target: types::note_min_gas_price_target::Target, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "DynamicFee", - "note_min_gas_price_target", - types::NoteMinGasPriceTarget { target }, - [ - 195u8, 135u8, 128u8, 209u8, 249u8, 41u8, 223u8, 153u8, 197u8, 51u8, - 194u8, 204u8, 79u8, 173u8, 113u8, 25u8, 6u8, 153u8, 167u8, 20u8, 24u8, - 86u8, 205u8, 157u8, 213u8, 248u8, 52u8, 247u8, 209u8, 0u8, 17u8, 171u8, - ], - ) + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Register a proxy account for the sender that is able to make calls on its behalf."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `proxy`: The account that the `caller` would like to make a proxy."] + #[doc = "- `proxy_type`: The permissions allowed for this proxy account."] + #[doc = "- `delay`: The announcement period required of the initial proxy. Will generally be"] + #[doc = "zero."] + pub struct AddProxy { + pub delegate: add_proxy::Delegate, + pub proxy_type: add_proxy::ProxyType, + pub delay: add_proxy::Delay, } - } - } - pub mod storage { - use super::runtime_types; - pub mod types { - use super::runtime_types; - pub mod min_gas_price { + pub mod add_proxy { use super::runtime_types; - pub type MinGasPrice = runtime_types::primitive_types::U256; + pub type Delegate = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type ProxyType = runtime_types::tangle_testnet_runtime::ProxyType; + pub type Delay = ::core::primitive::u64; + } + impl ::subxt_core::blocks::StaticExtrinsic for AddProxy { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "add_proxy"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Unregister a proxy account for the sender."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `proxy`: The account that the `caller` would like to remove as a proxy."] + #[doc = "- `proxy_type`: The permissions currently enabled for the removed proxy account."] + pub struct RemoveProxy { + pub delegate: remove_proxy::Delegate, + pub proxy_type: remove_proxy::ProxyType, + pub delay: remove_proxy::Delay, + } + pub mod remove_proxy { + use super::runtime_types; + pub type Delegate = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type ProxyType = runtime_types::tangle_testnet_runtime::ProxyType; + pub type Delay = ::core::primitive::u64; + } + impl ::subxt_core::blocks::StaticExtrinsic for RemoveProxy { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "remove_proxy"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Unregister all proxy accounts for the sender."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "WARNING: This may be called on accounts created by `pure`, however if done, then"] + #[doc = "the unreserved fees will be inaccessible. **All access to this account will be lost.**"] + pub struct RemoveProxies; + impl ::subxt_core::blocks::StaticExtrinsic for RemoveProxies { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "remove_proxies"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and"] + #[doc = "initialize it with a proxy of `proxy_type` for `origin` sender."] + #[doc = ""] + #[doc = "Requires a `Signed` origin."] + #[doc = ""] + #[doc = "- `proxy_type`: The type of the proxy that the sender will be registered as over the"] + #[doc = "new account. This will almost always be the most permissive `ProxyType` possible to"] + #[doc = "allow for maximum flexibility."] + #[doc = "- `index`: A disambiguation index, in case this is called multiple times in the same"] + #[doc = "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just"] + #[doc = "want to use `0`."] + #[doc = "- `delay`: The announcement period required of the initial proxy. Will generally be"] + #[doc = "zero."] + #[doc = ""] + #[doc = "Fails with `Duplicate` if this has already been called in this transaction, from the"] + #[doc = "same sender, with the same parameters."] + #[doc = ""] + #[doc = "Fails if there are insufficient funds to pay for deposit."] + pub struct CreatePure { + pub proxy_type: create_pure::ProxyType, + pub delay: create_pure::Delay, + pub index: create_pure::Index, + } + pub mod create_pure { + use super::runtime_types; + pub type ProxyType = runtime_types::tangle_testnet_runtime::ProxyType; + pub type Delay = ::core::primitive::u64; + pub type Index = ::core::primitive::u16; + } + impl ::subxt_core::blocks::StaticExtrinsic for CreatePure { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "create_pure"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Removes a previously spawned pure proxy."] + #[doc = ""] + #[doc = "WARNING: **All access to this account will be lost.** Any funds held in it will be"] + #[doc = "inaccessible."] + #[doc = ""] + #[doc = "Requires a `Signed` origin, and the sender account must have been created by a call to"] + #[doc = "`pure` with corresponding parameters."] + #[doc = ""] + #[doc = "- `spawner`: The account that originally called `pure` to create this account."] + #[doc = "- `index`: The disambiguation index originally passed to `pure`. Probably `0`."] + #[doc = "- `proxy_type`: The proxy type originally passed to `pure`."] + #[doc = "- `height`: The height of the chain when the call to `pure` was processed."] + #[doc = "- `ext_index`: The extrinsic index in which the call to `pure` was processed."] + #[doc = ""] + #[doc = "Fails with `NoPermission` in case the caller is not a previously created pure"] + #[doc = "account whose `pure` call has corresponding parameters."] + pub struct KillPure { + pub spawner: kill_pure::Spawner, + pub proxy_type: kill_pure::ProxyType, + pub index: kill_pure::Index, + #[codec(compact)] + pub height: kill_pure::Height, + #[codec(compact)] + pub ext_index: kill_pure::ExtIndex, + } + pub mod kill_pure { + use super::runtime_types; + pub type Spawner = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type ProxyType = runtime_types::tangle_testnet_runtime::ProxyType; + pub type Index = ::core::primitive::u16; + pub type Height = ::core::primitive::u64; + pub type ExtIndex = ::core::primitive::u32; + } + impl ::subxt_core::blocks::StaticExtrinsic for KillPure { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "kill_pure"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Publish the hash of a proxy-call that will be made in the future."] + #[doc = ""] + #[doc = "This must be called some number of blocks before the corresponding `proxy` is attempted"] + #[doc = "if the delay associated with the proxy relationship is greater than zero."] + #[doc = ""] + #[doc = "No more than `MaxPending` announcements may be made at any one time."] + #[doc = ""] + #[doc = "This will take a deposit of `AnnouncementDepositFactor` as well as"] + #[doc = "`AnnouncementDepositBase` if there are no other pending announcements."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and a proxy of `real`."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `real`: The account that the proxy will make a call on behalf of."] + #[doc = "- `call_hash`: The hash of the call to be made by the `real` account."] + pub struct Announce { + pub real: announce::Real, + pub call_hash: announce::CallHash, + } + pub mod announce { + use super::runtime_types; + pub type Real = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type CallHash = ::subxt_core::utils::H256; + } + impl ::subxt_core::blocks::StaticExtrinsic for Announce { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "announce"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Remove a given announcement."] + #[doc = ""] + #[doc = "May be called by a proxy account to remove a call they previously announced and return"] + #[doc = "the deposit."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `real`: The account that the proxy will make a call on behalf of."] + #[doc = "- `call_hash`: The hash of the call to be made by the `real` account."] + pub struct RemoveAnnouncement { + pub real: remove_announcement::Real, + pub call_hash: remove_announcement::CallHash, } - pub mod target_min_gas_price { + pub mod remove_announcement { use super::runtime_types; - pub type TargetMinGasPrice = runtime_types::primitive_types::U256; - } - } - pub struct StorageApi; - impl StorageApi { - pub fn min_gas_price( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::min_gas_price::MinGasPrice, - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "DynamicFee", - "MinGasPrice", - (), - [ - 135u8, 244u8, 108u8, 147u8, 120u8, 36u8, 33u8, 200u8, 200u8, 249u8, - 110u8, 39u8, 180u8, 17u8, 231u8, 219u8, 95u8, 60u8, 227u8, 68u8, 150u8, - 151u8, 67u8, 45u8, 235u8, 130u8, 4u8, 244u8, 35u8, 112u8, 69u8, 119u8, - ], - ) + pub type Real = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type CallHash = ::subxt_core::utils::H256; } - pub fn target_min_gas_price( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::target_min_gas_price::TargetMinGasPrice, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "DynamicFee", - "TargetMinGasPrice", - (), - [ - 219u8, 94u8, 37u8, 223u8, 148u8, 89u8, 16u8, 136u8, 218u8, 154u8, 54u8, - 94u8, 202u8, 5u8, 82u8, 185u8, 235u8, 239u8, 152u8, 206u8, 203u8, 71u8, - 237u8, 200u8, 28u8, 250u8, 217u8, 29u8, 132u8, 255u8, 78u8, 94u8, - ], - ) + impl ::subxt_core::blocks::StaticExtrinsic for RemoveAnnouncement { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "remove_announcement"; } - } - } - } - pub mod base_fee { - use super::root_mod; - use super::runtime_types; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_base_fee::pallet::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -42493,16 +40609,31 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct SetBaseFeePerGas { - pub fee: set_base_fee_per_gas::Fee, + #[doc = "Remove the given announcement of a delegate."] + #[doc = ""] + #[doc = "May be called by a target (proxied) account to remove a call that one of their delegates"] + #[doc = "(`delegate`) has announced they want to execute. The deposit is returned."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `delegate`: The account that previously announced the call."] + #[doc = "- `call_hash`: The hash of the call to be made."] + pub struct RejectAnnouncement { + pub delegate: reject_announcement::Delegate, + pub call_hash: reject_announcement::CallHash, } - pub mod set_base_fee_per_gas { + pub mod reject_announcement { use super::runtime_types; - pub type Fee = runtime_types::primitive_types::U256; + pub type Delegate = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type CallHash = ::subxt_core::utils::H256; } - impl ::subxt_core::blocks::StaticExtrinsic for SetBaseFeePerGas { - const PALLET: &'static str = "BaseFee"; - const CALL: &'static str = "set_base_fee_per_gas"; + impl ::subxt_core::blocks::StaticExtrinsic for RejectAnnouncement { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "reject_announcement"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -42518,55 +40649,337 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct SetElasticity { - pub elasticity: set_elasticity::Elasticity, + #[doc = "Dispatch the given `call` from an account that the sender is authorized for through"] + #[doc = "`add_proxy`."] + #[doc = ""] + #[doc = "Removes any corresponding announcement(s)."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `real`: The account that the proxy will make a call on behalf of."] + #[doc = "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call."] + #[doc = "- `call`: The call to be made by the `real` account."] + pub struct ProxyAnnounced { + pub delegate: proxy_announced::Delegate, + pub real: proxy_announced::Real, + pub force_proxy_type: proxy_announced::ForceProxyType, + pub call: ::subxt_core::alloc::boxed::Box, } - pub mod set_elasticity { + pub mod proxy_announced { use super::runtime_types; - pub type Elasticity = runtime_types::sp_arithmetic::per_things::Permill; + pub type Delegate = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Real = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type ForceProxyType = + ::core::option::Option; + pub type Call = runtime_types::tangle_testnet_runtime::RuntimeCall; } - impl ::subxt_core::blocks::StaticExtrinsic for SetElasticity { - const PALLET: &'static str = "BaseFee"; - const CALL: &'static str = "set_elasticity"; + impl ::subxt_core::blocks::StaticExtrinsic for ProxyAnnounced { + const PALLET: &'static str = "Proxy"; + const CALL: &'static str = "proxy_announced"; } } pub struct TransactionApi; impl TransactionApi { - pub fn set_base_fee_per_gas( + #[doc = "Dispatch the given `call` from an account that the sender is authorised for through"] + #[doc = "`add_proxy`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `real`: The account that the proxy will make a call on behalf of."] + #[doc = "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call."] + #[doc = "- `call`: The call to be made by the `real` account."] + pub fn proxy( &self, - fee: types::set_base_fee_per_gas::Fee, - ) -> ::subxt_core::tx::payload::StaticPayload { + real: types::proxy::Real, + force_proxy_type: types::proxy::ForceProxyType, + call: types::proxy::Call, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "BaseFee", - "set_base_fee_per_gas", - types::SetBaseFeePerGas { fee }, + "Proxy", + "proxy", + types::Proxy { + real, + force_proxy_type, + call: ::subxt_core::alloc::boxed::Box::new(call), + }, [ - 126u8, 236u8, 128u8, 184u8, 42u8, 39u8, 13u8, 175u8, 155u8, 36u8, - 229u8, 20u8, 13u8, 15u8, 88u8, 56u8, 206u8, 44u8, 127u8, 182u8, 120u8, - 212u8, 35u8, 72u8, 100u8, 181u8, 64u8, 200u8, 63u8, 129u8, 167u8, - 132u8, + 121u8, 66u8, 153u8, 246u8, 204u8, 150u8, 220u8, 127u8, 109u8, 207u8, + 175u8, 183u8, 19u8, 11u8, 150u8, 117u8, 237u8, 59u8, 209u8, 189u8, + 67u8, 131u8, 219u8, 21u8, 212u8, 140u8, 64u8, 25u8, 21u8, 39u8, 83u8, + 53u8, ], ) } - pub fn set_elasticity( + #[doc = "Register a proxy account for the sender that is able to make calls on its behalf."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `proxy`: The account that the `caller` would like to make a proxy."] + #[doc = "- `proxy_type`: The permissions allowed for this proxy account."] + #[doc = "- `delay`: The announcement period required of the initial proxy. Will generally be"] + #[doc = "zero."] + pub fn add_proxy( &self, - elasticity: types::set_elasticity::Elasticity, - ) -> ::subxt_core::tx::payload::StaticPayload { + delegate: types::add_proxy::Delegate, + proxy_type: types::add_proxy::ProxyType, + delay: types::add_proxy::Delay, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "BaseFee", - "set_elasticity", - types::SetElasticity { elasticity }, + "Proxy", + "add_proxy", + types::AddProxy { delegate, proxy_type, delay }, [ - 209u8, 8u8, 19u8, 35u8, 199u8, 151u8, 122u8, 91u8, 181u8, 133u8, 162u8, - 167u8, 186u8, 150u8, 54u8, 83u8, 101u8, 180u8, 188u8, 136u8, 111u8, - 100u8, 76u8, 51u8, 118u8, 171u8, 15u8, 75u8, 120u8, 106u8, 37u8, 1u8, + 204u8, 170u8, 8u8, 148u8, 160u8, 168u8, 107u8, 62u8, 50u8, 75u8, 3u8, + 71u8, 179u8, 30u8, 109u8, 127u8, 108u8, 156u8, 239u8, 38u8, 97u8, 92u8, + 28u8, 253u8, 230u8, 97u8, 205u8, 44u8, 214u8, 237u8, 137u8, 27u8, + ], + ) + } + #[doc = "Unregister a proxy account for the sender."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `proxy`: The account that the `caller` would like to remove as a proxy."] + #[doc = "- `proxy_type`: The permissions currently enabled for the removed proxy account."] + pub fn remove_proxy( + &self, + delegate: types::remove_proxy::Delegate, + proxy_type: types::remove_proxy::ProxyType, + delay: types::remove_proxy::Delay, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Proxy", + "remove_proxy", + types::RemoveProxy { delegate, proxy_type, delay }, + [ + 191u8, 2u8, 69u8, 93u8, 184u8, 207u8, 70u8, 111u8, 8u8, 255u8, 11u8, + 157u8, 4u8, 29u8, 102u8, 245u8, 223u8, 103u8, 132u8, 196u8, 238u8, + 252u8, 127u8, 91u8, 243u8, 48u8, 176u8, 86u8, 99u8, 63u8, 108u8, 111u8, + ], + ) + } + #[doc = "Unregister all proxy accounts for the sender."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "WARNING: This may be called on accounts created by `pure`, however if done, then"] + #[doc = "the unreserved fees will be inaccessible. **All access to this account will be lost.**"] + pub fn remove_proxies( + &self, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Proxy", + "remove_proxies", + types::RemoveProxies {}, + [ + 1u8, 126u8, 36u8, 227u8, 185u8, 34u8, 218u8, 236u8, 125u8, 231u8, 68u8, + 185u8, 145u8, 63u8, 250u8, 225u8, 103u8, 3u8, 189u8, 37u8, 172u8, + 195u8, 197u8, 216u8, 99u8, 210u8, 240u8, 162u8, 158u8, 132u8, 24u8, + 6u8, + ], + ) + } + #[doc = "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and"] + #[doc = "initialize it with a proxy of `proxy_type` for `origin` sender."] + #[doc = ""] + #[doc = "Requires a `Signed` origin."] + #[doc = ""] + #[doc = "- `proxy_type`: The type of the proxy that the sender will be registered as over the"] + #[doc = "new account. This will almost always be the most permissive `ProxyType` possible to"] + #[doc = "allow for maximum flexibility."] + #[doc = "- `index`: A disambiguation index, in case this is called multiple times in the same"] + #[doc = "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just"] + #[doc = "want to use `0`."] + #[doc = "- `delay`: The announcement period required of the initial proxy. Will generally be"] + #[doc = "zero."] + #[doc = ""] + #[doc = "Fails with `Duplicate` if this has already been called in this transaction, from the"] + #[doc = "same sender, with the same parameters."] + #[doc = ""] + #[doc = "Fails if there are insufficient funds to pay for deposit."] + pub fn create_pure( + &self, + proxy_type: types::create_pure::ProxyType, + delay: types::create_pure::Delay, + index: types::create_pure::Index, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Proxy", + "create_pure", + types::CreatePure { proxy_type, delay, index }, + [ + 239u8, 72u8, 255u8, 141u8, 190u8, 115u8, 141u8, 227u8, 164u8, 59u8, + 113u8, 0u8, 87u8, 101u8, 142u8, 147u8, 43u8, 13u8, 59u8, 213u8, 162u8, + 48u8, 67u8, 167u8, 223u8, 72u8, 153u8, 148u8, 219u8, 71u8, 53u8, 4u8, + ], + ) + } + #[doc = "Removes a previously spawned pure proxy."] + #[doc = ""] + #[doc = "WARNING: **All access to this account will be lost.** Any funds held in it will be"] + #[doc = "inaccessible."] + #[doc = ""] + #[doc = "Requires a `Signed` origin, and the sender account must have been created by a call to"] + #[doc = "`pure` with corresponding parameters."] + #[doc = ""] + #[doc = "- `spawner`: The account that originally called `pure` to create this account."] + #[doc = "- `index`: The disambiguation index originally passed to `pure`. Probably `0`."] + #[doc = "- `proxy_type`: The proxy type originally passed to `pure`."] + #[doc = "- `height`: The height of the chain when the call to `pure` was processed."] + #[doc = "- `ext_index`: The extrinsic index in which the call to `pure` was processed."] + #[doc = ""] + #[doc = "Fails with `NoPermission` in case the caller is not a previously created pure"] + #[doc = "account whose `pure` call has corresponding parameters."] + pub fn kill_pure( + &self, + spawner: types::kill_pure::Spawner, + proxy_type: types::kill_pure::ProxyType, + index: types::kill_pure::Index, + height: types::kill_pure::Height, + ext_index: types::kill_pure::ExtIndex, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Proxy", + "kill_pure", + types::KillPure { spawner, proxy_type, index, height, ext_index }, + [ + 125u8, 59u8, 127u8, 47u8, 63u8, 48u8, 101u8, 56u8, 61u8, 192u8, 198u8, + 217u8, 119u8, 91u8, 186u8, 35u8, 119u8, 222u8, 16u8, 246u8, 42u8, + 248u8, 19u8, 89u8, 246u8, 20u8, 66u8, 14u8, 133u8, 32u8, 118u8, 118u8, + ], + ) + } + #[doc = "Publish the hash of a proxy-call that will be made in the future."] + #[doc = ""] + #[doc = "This must be called some number of blocks before the corresponding `proxy` is attempted"] + #[doc = "if the delay associated with the proxy relationship is greater than zero."] + #[doc = ""] + #[doc = "No more than `MaxPending` announcements may be made at any one time."] + #[doc = ""] + #[doc = "This will take a deposit of `AnnouncementDepositFactor` as well as"] + #[doc = "`AnnouncementDepositBase` if there are no other pending announcements."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and a proxy of `real`."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `real`: The account that the proxy will make a call on behalf of."] + #[doc = "- `call_hash`: The hash of the call to be made by the `real` account."] + pub fn announce( + &self, + real: types::announce::Real, + call_hash: types::announce::CallHash, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Proxy", + "announce", + types::Announce { real, call_hash }, + [ + 32u8, 88u8, 145u8, 33u8, 55u8, 44u8, 136u8, 153u8, 26u8, 111u8, 73u8, + 15u8, 247u8, 188u8, 14u8, 236u8, 221u8, 222u8, 60u8, 97u8, 71u8, 229u8, + 18u8, 120u8, 182u8, 43u8, 67u8, 248u8, 169u8, 80u8, 170u8, 207u8, + ], + ) + } + #[doc = "Remove a given announcement."] + #[doc = ""] + #[doc = "May be called by a proxy account to remove a call they previously announced and return"] + #[doc = "the deposit."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `real`: The account that the proxy will make a call on behalf of."] + #[doc = "- `call_hash`: The hash of the call to be made by the `real` account."] + pub fn remove_announcement( + &self, + real: types::remove_announcement::Real, + call_hash: types::remove_announcement::CallHash, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Proxy", + "remove_announcement", + types::RemoveAnnouncement { real, call_hash }, + [ + 195u8, 224u8, 61u8, 33u8, 27u8, 100u8, 168u8, 18u8, 105u8, 23u8, 220u8, + 168u8, 207u8, 231u8, 136u8, 46u8, 181u8, 85u8, 15u8, 151u8, 126u8, + 227u8, 97u8, 162u8, 232u8, 39u8, 45u8, 255u8, 44u8, 167u8, 237u8, 38u8, + ], + ) + } + #[doc = "Remove the given announcement of a delegate."] + #[doc = ""] + #[doc = "May be called by a target (proxied) account to remove a call that one of their delegates"] + #[doc = "(`delegate`) has announced they want to execute. The deposit is returned."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `delegate`: The account that previously announced the call."] + #[doc = "- `call_hash`: The hash of the call to be made."] + pub fn reject_announcement( + &self, + delegate: types::reject_announcement::Delegate, + call_hash: types::reject_announcement::CallHash, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Proxy", + "reject_announcement", + types::RejectAnnouncement { delegate, call_hash }, + [ + 29u8, 140u8, 243u8, 165u8, 143u8, 166u8, 205u8, 203u8, 111u8, 196u8, + 11u8, 2u8, 4u8, 230u8, 11u8, 136u8, 249u8, 139u8, 224u8, 242u8, 96u8, + 146u8, 118u8, 210u8, 104u8, 77u8, 168u8, 28u8, 67u8, 244u8, 91u8, 65u8, + ], + ) + } + #[doc = "Dispatch the given `call` from an account that the sender is authorized for through"] + #[doc = "`add_proxy`."] + #[doc = ""] + #[doc = "Removes any corresponding announcement(s)."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `real`: The account that the proxy will make a call on behalf of."] + #[doc = "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call."] + #[doc = "- `call`: The call to be made by the `real` account."] + pub fn proxy_announced( + &self, + delegate: types::proxy_announced::Delegate, + real: types::proxy_announced::Real, + force_proxy_type: types::proxy_announced::ForceProxyType, + call: types::proxy_announced::Call, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Proxy", + "proxy_announced", + types::ProxyAnnounced { + delegate, + real, + force_proxy_type, + call: ::subxt_core::alloc::boxed::Box::new(call), + }, + [ + 68u8, 170u8, 204u8, 4u8, 9u8, 226u8, 214u8, 240u8, 8u8, 57u8, 101u8, + 73u8, 163u8, 240u8, 230u8, 210u8, 209u8, 5u8, 53u8, 45u8, 192u8, 109u8, + 11u8, 193u8, 30u8, 107u8, 84u8, 113u8, 132u8, 34u8, 38u8, 180u8, ], ) } } } #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::pallet_base_fee::pallet::Event; + pub type Event = runtime_types::pallet_proxy::pallet::Event; pub mod events { use super::runtime_types; #[derive( @@ -42583,16 +40996,81 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct NewBaseFeePerGas { - pub fee: new_base_fee_per_gas::Fee, + #[doc = "A proxy was executed correctly, with the given."] + pub struct ProxyExecuted { + pub result: proxy_executed::Result, } - pub mod new_base_fee_per_gas { + pub mod proxy_executed { use super::runtime_types; - pub type Fee = runtime_types::primitive_types::U256; + pub type Result = + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>; } - impl ::subxt_core::events::StaticEvent for NewBaseFeePerGas { - const PALLET: &'static str = "BaseFee"; - const EVENT: &'static str = "NewBaseFeePerGas"; + impl ::subxt_core::events::StaticEvent for ProxyExecuted { + const PALLET: &'static str = "Proxy"; + const EVENT: &'static str = "ProxyExecuted"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A pure account has been created by new proxy with given"] + #[doc = "disambiguation index and proxy type."] + pub struct PureCreated { + pub pure: pure_created::Pure, + pub who: pure_created::Who, + pub proxy_type: pure_created::ProxyType, + pub disambiguation_index: pure_created::DisambiguationIndex, + } + pub mod pure_created { + use super::runtime_types; + pub type Pure = ::subxt_core::utils::AccountId32; + pub type Who = ::subxt_core::utils::AccountId32; + pub type ProxyType = runtime_types::tangle_testnet_runtime::ProxyType; + pub type DisambiguationIndex = ::core::primitive::u16; + } + impl ::subxt_core::events::StaticEvent for PureCreated { + const PALLET: &'static str = "Proxy"; + const EVENT: &'static str = "PureCreated"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "An announcement was placed to make a call in the future."] + pub struct Announced { + pub real: announced::Real, + pub proxy: announced::Proxy, + pub call_hash: announced::CallHash, + } + pub mod announced { + use super::runtime_types; + pub type Real = ::subxt_core::utils::AccountId32; + pub type Proxy = ::subxt_core::utils::AccountId32; + pub type CallHash = ::subxt_core::utils::H256; + } + impl ::subxt_core::events::StaticEvent for Announced { + const PALLET: &'static str = "Proxy"; + const EVENT: &'static str = "Announced"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -42608,10 +41086,23 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct BaseFeeOverflow; - impl ::subxt_core::events::StaticEvent for BaseFeeOverflow { - const PALLET: &'static str = "BaseFee"; - const EVENT: &'static str = "BaseFeeOverflow"; + #[doc = "A proxy was added."] + pub struct ProxyAdded { + pub delegator: proxy_added::Delegator, + pub delegatee: proxy_added::Delegatee, + pub proxy_type: proxy_added::ProxyType, + pub delay: proxy_added::Delay, + } + pub mod proxy_added { + use super::runtime_types; + pub type Delegator = ::subxt_core::utils::AccountId32; + pub type Delegatee = ::subxt_core::utils::AccountId32; + pub type ProxyType = runtime_types::tangle_testnet_runtime::ProxyType; + pub type Delay = ::core::primitive::u64; + } + impl ::subxt_core::events::StaticEvent for ProxyAdded { + const PALLET: &'static str = "Proxy"; + const EVENT: &'static str = "ProxyAdded"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -42627,83 +41118,265 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct NewElasticity { - pub elasticity: new_elasticity::Elasticity, + #[doc = "A proxy was removed."] + pub struct ProxyRemoved { + pub delegator: proxy_removed::Delegator, + pub delegatee: proxy_removed::Delegatee, + pub proxy_type: proxy_removed::ProxyType, + pub delay: proxy_removed::Delay, } - pub mod new_elasticity { + pub mod proxy_removed { use super::runtime_types; - pub type Elasticity = runtime_types::sp_arithmetic::per_things::Permill; + pub type Delegator = ::subxt_core::utils::AccountId32; + pub type Delegatee = ::subxt_core::utils::AccountId32; + pub type ProxyType = runtime_types::tangle_testnet_runtime::ProxyType; + pub type Delay = ::core::primitive::u64; } - impl ::subxt_core::events::StaticEvent for NewElasticity { - const PALLET: &'static str = "BaseFee"; - const EVENT: &'static str = "NewElasticity"; + impl ::subxt_core::events::StaticEvent for ProxyRemoved { + const PALLET: &'static str = "Proxy"; + const EVENT: &'static str = "ProxyRemoved"; } } pub mod storage { use super::runtime_types; pub mod types { use super::runtime_types; - pub mod base_fee_per_gas { + pub mod proxies { use super::runtime_types; - pub type BaseFeePerGas = runtime_types::primitive_types::U256; + pub type Proxies = ( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_proxy::ProxyDefinition< + ::subxt_core::utils::AccountId32, + runtime_types::tangle_testnet_runtime::ProxyType, + ::core::primitive::u64, + >, + >, + ::core::primitive::u128, + ); + pub type Param0 = ::subxt_core::utils::AccountId32; } - pub mod elasticity { + pub mod announcements { use super::runtime_types; - pub type Elasticity = runtime_types::sp_arithmetic::per_things::Permill; + pub type Announcements = ( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_proxy::Announcement< + ::subxt_core::utils::AccountId32, + ::subxt_core::utils::H256, + ::core::primitive::u64, + >, + >, + ::core::primitive::u128, + ); + pub type Param0 = ::subxt_core::utils::AccountId32; } } pub struct StorageApi; impl StorageApi { - pub fn base_fee_per_gas( + #[doc = " The set of account proxies. Maps the account which has delegated to the accounts"] + #[doc = " which are being delegated to, together with the amount held on deposit."] + pub fn proxies_iter( &self, ) -> ::subxt_core::storage::address::StaticAddress< (), - types::base_fee_per_gas::BaseFeePerGas, + types::proxies::Proxies, + (), ::subxt_core::utils::Yes, ::subxt_core::utils::Yes, - (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "BaseFee", - "BaseFeePerGas", + "Proxy", + "Proxies", (), [ - 23u8, 173u8, 98u8, 22u8, 131u8, 239u8, 122u8, 219u8, 222u8, 84u8, - 207u8, 52u8, 213u8, 196u8, 3u8, 24u8, 152u8, 146u8, 63u8, 77u8, 22u8, - 153u8, 2u8, 75u8, 11u8, 89u8, 89u8, 173u8, 123u8, 33u8, 247u8, 9u8, + 223u8, 41u8, 16u8, 124u8, 14u8, 158u8, 113u8, 7u8, 229u8, 203u8, 172u8, + 71u8, 221u8, 164u8, 20u8, 177u8, 252u8, 14u8, 117u8, 176u8, 21u8, + 236u8, 79u8, 107u8, 57u8, 148u8, 170u8, 107u8, 179u8, 144u8, 255u8, + 10u8, ], ) } - pub fn elasticity( + #[doc = " The set of account proxies. Maps the account which has delegated to the accounts"] + #[doc = " which are being delegated to, together with the amount held on deposit."] + pub fn proxies( &self, + _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::elasticity::Elasticity, + ::subxt_core::storage::address::StaticStorageKey, + types::proxies::Proxies, ::subxt_core::utils::Yes, ::subxt_core::utils::Yes, (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "BaseFee", - "Elasticity", + "Proxy", + "Proxies", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 223u8, 41u8, 16u8, 124u8, 14u8, 158u8, 113u8, 7u8, 229u8, 203u8, 172u8, + 71u8, 221u8, 164u8, 20u8, 177u8, 252u8, 14u8, 117u8, 176u8, 21u8, + 236u8, 79u8, 107u8, 57u8, 148u8, 170u8, 107u8, 179u8, 144u8, 255u8, + 10u8, + ], + ) + } + #[doc = " The announcements made by the proxy (key)."] + pub fn announcements_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::announcements::Announcements, + (), + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Proxy", + "Announcements", (), [ - 196u8, 184u8, 245u8, 90u8, 25u8, 50u8, 66u8, 69u8, 140u8, 128u8, 179u8, - 63u8, 197u8, 133u8, 135u8, 141u8, 56u8, 0u8, 143u8, 241u8, 200u8, - 114u8, 73u8, 157u8, 85u8, 190u8, 1u8, 2u8, 208u8, 235u8, 62u8, 16u8, + 36u8, 91u8, 194u8, 19u8, 186u8, 110u8, 217u8, 123u8, 101u8, 197u8, + 249u8, 185u8, 42u8, 5u8, 244u8, 249u8, 18u8, 156u8, 41u8, 19u8, 86u8, + 12u8, 253u8, 126u8, 232u8, 9u8, 226u8, 210u8, 25u8, 3u8, 115u8, 40u8, + ], + ) + } + #[doc = " The announcements made by the proxy (key)."] + pub fn announcements( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::announcements::Announcements, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Proxy", + "Announcements", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 36u8, 91u8, 194u8, 19u8, 186u8, 110u8, 217u8, 123u8, 101u8, 197u8, + 249u8, 185u8, 42u8, 5u8, 244u8, 249u8, 18u8, 156u8, 41u8, 19u8, 86u8, + 12u8, 253u8, 126u8, 232u8, 9u8, 226u8, 210u8, 25u8, 3u8, 115u8, 40u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The base amount of currency needed to reserve for creating a proxy."] + #[doc = ""] + #[doc = " This is held for an additional storage item whose value size is"] + #[doc = " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes."] + pub fn proxy_deposit_base( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Proxy", + "ProxyDepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount of currency needed per proxy added."] + #[doc = ""] + #[doc = " This is held for adding 32 bytes plus an instance of `ProxyType` more into a"] + #[doc = " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take"] + #[doc = " into account `32 + proxy_type.encode().len()` bytes of data."] + pub fn proxy_deposit_factor( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Proxy", + "ProxyDepositFactor", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum amount of proxies allowed for a single account."] + pub fn max_proxies( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Proxy", + "MaxProxies", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum amount of time-delayed announcements that are allowed to be pending."] + pub fn max_pending( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Proxy", + "MaxPending", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The base amount of currency needed to reserve for creating an announcement."] + #[doc = ""] + #[doc = " This is held when a new storage item holding a `Balance` is created (typically 16"] + #[doc = " bytes)."] + pub fn announcement_deposit_base( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Proxy", + "AnnouncementDepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount of currency needed per announcement made."] + #[doc = ""] + #[doc = " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)"] + #[doc = " into a pre-existing storage value."] + pub fn announcement_deposit_factor( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Proxy", + "AnnouncementDepositFactor", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, ], ) } } } } - pub mod hotfix_sufficients { + pub mod multi_asset_delegation { use super::root_mod; use super::runtime_types; - #[doc = "The `Error` enum of this pallet."] - pub type Error = runtime_types::pallet_hotfix_sufficients::pallet::Error; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_hotfix_sufficients::pallet::Call; + #[doc = "Errors emitted by the pallet."] + pub type Error = runtime_types::pallet_multi_asset_delegation::pallet::Error; + #[doc = "The callable functions (extrinsics) of the pallet."] + pub type Call = runtime_types::pallet_multi_asset_delegation::pallet::Call; pub mod calls { use super::root_mod; use super::runtime_types; @@ -42724,61 +41397,213 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Increment `sufficients` for existing accounts having a nonzero `nonce` but zero `sufficients`, `consumers` and `providers` value."] - #[doc = "This state was caused by a previous bug in EVM create account dispatchable."] + #[doc = "Allows an account to join as an operator by staking the required bond amount."] #[doc = ""] - #[doc = "Any accounts in the input list not satisfying the above condition will remain unaffected."] - pub struct HotfixIncAccountSufficients { - pub addresses: hotfix_inc_account_sufficients::Addresses, + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the account joining as operator"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `bond_amount` - Amount to stake as operator bond"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::DepositOverflow`] - Bond amount would overflow deposit tracking"] + #[doc = "* [`Error::StakeOverflow`] - Bond amount would overflow stake tracking"] + pub struct JoinOperators { + pub bond_amount: join_operators::BondAmount, } - pub mod hotfix_inc_account_sufficients { + pub mod join_operators { use super::runtime_types; - pub type Addresses = ::subxt_core::alloc::vec::Vec<::subxt_core::utils::H160>; + pub type BondAmount = ::core::primitive::u128; } - impl ::subxt_core::blocks::StaticExtrinsic for HotfixIncAccountSufficients { - const PALLET: &'static str = "HotfixSufficients"; - const CALL: &'static str = "hotfix_inc_account_sufficients"; + impl ::subxt_core::blocks::StaticExtrinsic for JoinOperators { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "join_operators"; } - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "Increment `sufficients` for existing accounts having a nonzero `nonce` but zero `sufficients`, `consumers` and `providers` value."] - #[doc = "This state was caused by a previous bug in EVM create account dispatchable."] + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Schedules an operator to leave the system."] #[doc = ""] - #[doc = "Any accounts in the input list not satisfying the above condition will remain unaffected."] - pub fn hotfix_inc_account_sufficients( - &self, - addresses: types::hotfix_inc_account_sufficients::Addresses, - ) -> ::subxt_core::tx::payload::StaticPayload - { - ::subxt_core::tx::payload::StaticPayload::new_static( - "HotfixSufficients", - "hotfix_inc_account_sufficients", - types::HotfixIncAccountSufficients { addresses }, - [ - 135u8, 117u8, 192u8, 209u8, 218u8, 115u8, 124u8, 21u8, 78u8, 250u8, - 55u8, 209u8, 86u8, 92u8, 17u8, 196u8, 209u8, 131u8, 185u8, 20u8, 166u8, - 25u8, 175u8, 119u8, 21u8, 155u8, 139u8, 112u8, 128u8, 35u8, 223u8, - 195u8, - ], - ) + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the operator account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] + #[doc = "* [`Error::PendingUnstakeRequestExists`] - Operator already has a pending unstake request"] + pub struct ScheduleLeaveOperators; + impl ::subxt_core::blocks::StaticExtrinsic for ScheduleLeaveOperators { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "schedule_leave_operators"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Cancels a scheduled leave for an operator."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the operator account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] + #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] + pub struct CancelLeaveOperators; + impl ::subxt_core::blocks::StaticExtrinsic for CancelLeaveOperators { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "cancel_leave_operators"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Executes a scheduled leave for an operator."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the operator account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] + #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] + #[doc = "* [`Error::UnstakePeriodNotElapsed`] - Unstake period has not elapsed yet"] + pub struct ExecuteLeaveOperators; + impl ::subxt_core::blocks::StaticExtrinsic for ExecuteLeaveOperators { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "execute_leave_operators"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Allows an operator to increase their stake."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the operator account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `additional_bond` - Additional amount to stake"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] + #[doc = "* [`Error::StakeOverflow`] - Additional bond would overflow stake tracking"] + pub struct OperatorBondMore { + pub additional_bond: operator_bond_more::AdditionalBond, + } + pub mod operator_bond_more { + use super::runtime_types; + pub type AdditionalBond = ::core::primitive::u128; + } + impl ::subxt_core::blocks::StaticExtrinsic for OperatorBondMore { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "operator_bond_more"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Schedules an operator to decrease their stake."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the operator account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `unstake_amount` - Amount to unstake"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] + #[doc = "* [`Error::PendingUnstakeRequestExists`] - Operator already has a pending unstake request"] + #[doc = "* [`Error::InsufficientBalance`] - Operator has insufficient stake to unstake"] + pub struct ScheduleOperatorUnstake { + pub unstake_amount: schedule_operator_unstake::UnstakeAmount, + } + pub mod schedule_operator_unstake { + use super::runtime_types; + pub type UnstakeAmount = ::core::primitive::u128; + } + impl ::subxt_core::blocks::StaticExtrinsic for ScheduleOperatorUnstake { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "schedule_operator_unstake"; } - } - } - } - pub mod claims { - use super::root_mod; - use super::runtime_types; - #[doc = "The `Error` enum of this pallet."] - pub type Error = runtime_types::pallet_airdrop_claims::pallet::Error; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_airdrop_claims::pallet::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -42793,49 +41618,25 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Make a claim to collect your tokens."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _None_."] + #[doc = "Executes a scheduled stake decrease for an operator."] #[doc = ""] - #[doc = "Unsigned Validation:"] - #[doc = "A call to claim is deemed valid if the signature provided matches"] - #[doc = "the expected signed message of:"] + #[doc = "# Permissions"] #[doc = ""] - #[doc = "> Ethereum Signed Message:"] - #[doc = "> (configured prefix string)(address)"] + #[doc = "* Must be signed by the operator account"] #[doc = ""] - #[doc = "and `address` matches the `dest` account."] + #[doc = "# Arguments"] #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `dest`: The destination account to payout the claim."] - #[doc = "- `ethereum_signature`: The signature of an ethereum signed message matching the format"] - #[doc = " described above."] + #[doc = "* `origin` - Origin of the call"] #[doc = ""] - #[doc = ""] - #[doc = "The weight of this call is invariant over the input parameters."] - #[doc = "Weight includes logic to validate unsigned `claim` call."] + #[doc = "# Errors"] #[doc = ""] - #[doc = "Total Complexity: O(1)"] - #[doc = ""] - pub struct Claim { - pub dest: claim::Dest, - pub signer: claim::Signer, - pub signature: claim::Signature, - } - pub mod claim { - use super::runtime_types; - pub type Dest = ::core::option::Option< - runtime_types::pallet_airdrop_claims::utils::MultiAddress, - >; - pub type Signer = ::core::option::Option< - runtime_types::pallet_airdrop_claims::utils::MultiAddress, - >; - pub type Signature = - runtime_types::pallet_airdrop_claims::utils::MultiAddressSignature; - } - impl ::subxt_core::blocks::StaticExtrinsic for Claim { - const PALLET: &'static str = "Claims"; - const CALL: &'static str = "claim"; + #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] + #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] + #[doc = "* [`Error::UnstakePeriodNotElapsed`] - Unstake period has not elapsed yet"] + pub struct ExecuteOperatorUnstake; + impl ::subxt_core::blocks::StaticExtrinsic for ExecuteOperatorUnstake { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "execute_operator_unstake"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -42851,44 +41652,24 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Mint a new claim to collect native tokens."] + #[doc = "Cancels a scheduled stake decrease for an operator."] #[doc = ""] - #[doc = "The dispatch origin for this call must be _Root_."] + #[doc = "# Permissions"] #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `who`: The Ethereum address allowed to collect this claim."] - #[doc = "- `value`: The number of native tokens that will be claimed."] - #[doc = "- `vesting_schedule`: An optional vesting schedule for these native tokens."] + #[doc = "* Must be signed by the operator account"] #[doc = ""] - #[doc = ""] - #[doc = "The weight of this call is invariant over the input parameters."] - #[doc = "We assume worst case that both vesting and statement is being inserted."] + #[doc = "# Arguments"] #[doc = ""] - #[doc = "Total Complexity: O(1)"] - #[doc = ""] - pub struct MintClaim { - pub who: mint_claim::Who, - pub value: mint_claim::Value, - pub vesting_schedule: mint_claim::VestingSchedule, - pub statement: mint_claim::Statement, - } - pub mod mint_claim { - use super::runtime_types; - pub type Who = runtime_types::pallet_airdrop_claims::utils::MultiAddress; - pub type Value = ::core::primitive::u128; - pub type VestingSchedule = ::core::option::Option< - runtime_types::bounded_collections::bounded_vec::BoundedVec<( - ::core::primitive::u128, - ::core::primitive::u128, - ::core::primitive::u64, - )>, - >; - pub type Statement = - ::core::option::Option; - } - impl ::subxt_core::blocks::StaticExtrinsic for MintClaim { - const PALLET: &'static str = "Claims"; - const CALL: &'static str = "mint_claim"; + #[doc = "* `origin` - Origin of the call"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] + #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] + pub struct CancelOperatorUnstake; + impl ::subxt_core::blocks::StaticExtrinsic for CancelOperatorUnstake { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "cancel_operator_unstake"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -42904,54 +41685,27 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Make a claim to collect your native tokens by signing a statement."] + #[doc = "Allows an operator to go offline."] #[doc = ""] - #[doc = "The dispatch origin for this call must be _None_."] + #[doc = "Being offline means the operator should not be able to be"] + #[doc = "requested for services."] #[doc = ""] - #[doc = "Unsigned Validation:"] - #[doc = "A call to `claim_attest` is deemed valid if the signature provided matches"] - #[doc = "the expected signed message of:"] + #[doc = "# Permissions"] #[doc = ""] - #[doc = "> Ethereum Signed Message:"] - #[doc = "> (configured prefix string)(address)(statement)"] + #[doc = "* Must be signed by the operator account"] #[doc = ""] - #[doc = "and `address` matches the `dest` account; the `statement` must match that which is"] - #[doc = "expected according to your purchase arrangement."] + #[doc = "# Arguments"] #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `dest`: The destination account to payout the claim."] - #[doc = "- `ethereum_signature`: The signature of an ethereum signed message matching the format"] - #[doc = " described above."] - #[doc = "- `statement`: The identity of the statement which is being attested to in the"] - #[doc = " signature."] + #[doc = "* `origin` - Origin of the call"] #[doc = ""] - #[doc = ""] - #[doc = "The weight of this call is invariant over the input parameters."] - #[doc = "Weight includes logic to validate unsigned `claim_attest` call."] + #[doc = "# Errors"] #[doc = ""] - #[doc = "Total Complexity: O(1)"] - #[doc = ""] - pub struct ClaimAttest { - pub dest: claim_attest::Dest, - pub signer: claim_attest::Signer, - pub signature: claim_attest::Signature, - pub statement: claim_attest::Statement, - } - pub mod claim_attest { - use super::runtime_types; - pub type Dest = ::core::option::Option< - runtime_types::pallet_airdrop_claims::utils::MultiAddress, - >; - pub type Signer = ::core::option::Option< - runtime_types::pallet_airdrop_claims::utils::MultiAddress, - >; - pub type Signature = - runtime_types::pallet_airdrop_claims::utils::MultiAddressSignature; - pub type Statement = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; - } - impl ::subxt_core::blocks::StaticExtrinsic for ClaimAttest { - const PALLET: &'static str = "Claims"; - const CALL: &'static str = "claim_attest"; + #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] + #[doc = "* [`Error::AlreadyOffline`] - Operator is already offline"] + pub struct GoOffline; + impl ::subxt_core::blocks::StaticExtrinsic for GoOffline { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "go_offline"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -42967,18 +41721,24 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct MoveClaim { - pub old: move_claim::Old, - pub new: move_claim::New, - } - pub mod move_claim { - use super::runtime_types; - pub type Old = runtime_types::pallet_airdrop_claims::utils::MultiAddress; - pub type New = runtime_types::pallet_airdrop_claims::utils::MultiAddress; - } - impl ::subxt_core::blocks::StaticExtrinsic for MoveClaim { - const PALLET: &'static str = "Claims"; - const CALL: &'static str = "move_claim"; + #[doc = "Allows an operator to go online."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the operator account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] + #[doc = "* [`Error::AlreadyOnline`] - Operator is already online"] + pub struct GoOnline; + impl ::subxt_core::blocks::StaticExtrinsic for GoOnline { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "go_online"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -42994,20 +41754,43 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Set the value for expiryconfig"] - #[doc = "Can only be called by ForceOrigin"] - pub struct ForceSetExpiryConfig { - pub expiry_block: force_set_expiry_config::ExpiryBlock, - pub dest: force_set_expiry_config::Dest, + #[doc = "Allows a user to deposit an asset."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the depositor account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `asset` - Asset on to deposit"] + #[doc = "* `amount` - Amount to deposit"] + #[doc = "* `evm_address` - Optional EVM address"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::DepositOverflow`] - Deposit would overflow tracking"] + #[doc = "* [`Error::InvalidAsset`] - Asset is not supported"] + pub struct Deposit { + pub asset: deposit::Asset, + pub amount: deposit::Amount, + pub evm_address: deposit::EvmAddress, + pub lock_multiplier: deposit::LockMultiplier, } - pub mod force_set_expiry_config { + pub mod deposit { use super::runtime_types; - pub type ExpiryBlock = ::core::primitive::u64; - pub type Dest = runtime_types::pallet_airdrop_claims::utils::MultiAddress; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; + pub type Amount = ::core::primitive::u128; + pub type EvmAddress = ::core::option::Option<::subxt_core::utils::H160>; + pub type LockMultiplier = ::core::option::Option< + runtime_types::tangle_primitives::types::rewards::LockMultiplier, + >; } - impl ::subxt_core::blocks::StaticExtrinsic for ForceSetExpiryConfig { - const PALLET: &'static str = "Claims"; - const CALL: &'static str = "force_set_expiry_config"; + impl ::subxt_core::blocks::StaticExtrinsic for Deposit { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "deposit"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -43023,483 +41806,256 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Claim from signed origin"] - pub struct ClaimSigned { - pub dest: claim_signed::Dest, - } - pub mod claim_signed { - use super::runtime_types; - pub type Dest = ::core::option::Option< - runtime_types::pallet_airdrop_claims::utils::MultiAddress, - >; - } - impl ::subxt_core::blocks::StaticExtrinsic for ClaimSigned { - const PALLET: &'static str = "Claims"; - const CALL: &'static str = "claim_signed"; - } - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "Make a claim to collect your tokens."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _None_."] + #[doc = "Schedules a withdraw request."] #[doc = ""] - #[doc = "Unsigned Validation:"] - #[doc = "A call to claim is deemed valid if the signature provided matches"] - #[doc = "the expected signed message of:"] + #[doc = "# Permissions"] #[doc = ""] - #[doc = "> Ethereum Signed Message:"] - #[doc = "> (configured prefix string)(address)"] + #[doc = "* Must be signed by the withdrawer account"] #[doc = ""] - #[doc = "and `address` matches the `dest` account."] + #[doc = "# Arguments"] #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `dest`: The destination account to payout the claim."] - #[doc = "- `ethereum_signature`: The signature of an ethereum signed message matching the format"] - #[doc = " described above."] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `asset` - Asset on to withdraw"] + #[doc = "* `amount` - Amount to withdraw"] #[doc = ""] - #[doc = ""] - #[doc = "The weight of this call is invariant over the input parameters."] - #[doc = "Weight includes logic to validate unsigned `claim` call."] + #[doc = "# Errors"] #[doc = ""] - #[doc = "Total Complexity: O(1)"] - #[doc = ""] - pub fn claim( - &self, - dest: types::claim::Dest, - signer: types::claim::Signer, - signature: types::claim::Signature, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Claims", - "claim", - types::Claim { dest, signer, signature }, - [ - 174u8, 87u8, 36u8, 13u8, 129u8, 107u8, 7u8, 172u8, 33u8, 255u8, 26u8, - 144u8, 100u8, 170u8, 87u8, 71u8, 69u8, 246u8, 25u8, 150u8, 154u8, 46u8, - 145u8, 113u8, 28u8, 9u8, 137u8, 144u8, 239u8, 195u8, 147u8, 27u8, - ], - ) + #[doc = "* [`Error::InsufficientBalance`] - Insufficient balance to withdraw"] + #[doc = "* [`Error::PendingWithdrawRequestExists`] - Pending withdraw request exists"] + pub struct ScheduleWithdraw { + pub asset: schedule_withdraw::Asset, + pub amount: schedule_withdraw::Amount, } - #[doc = "Mint a new claim to collect native tokens."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Root_."] - #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `who`: The Ethereum address allowed to collect this claim."] - #[doc = "- `value`: The number of native tokens that will be claimed."] - #[doc = "- `vesting_schedule`: An optional vesting schedule for these native tokens."] - #[doc = ""] - #[doc = ""] - #[doc = "The weight of this call is invariant over the input parameters."] - #[doc = "We assume worst case that both vesting and statement is being inserted."] - #[doc = ""] - #[doc = "Total Complexity: O(1)"] - #[doc = ""] - pub fn mint_claim( - &self, - who: types::mint_claim::Who, - value: types::mint_claim::Value, - vesting_schedule: types::mint_claim::VestingSchedule, - statement: types::mint_claim::Statement, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Claims", - "mint_claim", - types::MintClaim { who, value, vesting_schedule, statement }, - [ - 242u8, 253u8, 106u8, 199u8, 247u8, 60u8, 244u8, 130u8, 62u8, 97u8, - 108u8, 22u8, 29u8, 146u8, 25u8, 16u8, 185u8, 223u8, 212u8, 253u8, - 117u8, 169u8, 156u8, 186u8, 58u8, 11u8, 116u8, 255u8, 197u8, 172u8, - 78u8, 58u8, - ], - ) + pub mod schedule_withdraw { + use super::runtime_types; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; + pub type Amount = ::core::primitive::u128; } - #[doc = "Make a claim to collect your native tokens by signing a statement."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _None_."] + impl ::subxt_core::blocks::StaticExtrinsic for ScheduleWithdraw { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "schedule_withdraw"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Executes a scheduled withdraw request."] #[doc = ""] - #[doc = "Unsigned Validation:"] - #[doc = "A call to `claim_attest` is deemed valid if the signature provided matches"] - #[doc = "the expected signed message of:"] + #[doc = "# Permissions"] #[doc = ""] - #[doc = "> Ethereum Signed Message:"] - #[doc = "> (configured prefix string)(address)(statement)"] + #[doc = "* Must be signed by the withdrawer account"] #[doc = ""] - #[doc = "and `address` matches the `dest` account; the `statement` must match that which is"] - #[doc = "expected according to your purchase arrangement."] + #[doc = "# Arguments"] #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `dest`: The destination account to payout the claim."] - #[doc = "- `ethereum_signature`: The signature of an ethereum signed message matching the format"] - #[doc = " described above."] - #[doc = "- `statement`: The identity of the statement which is being attested to in the"] - #[doc = " signature."] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `evm_address` - Optional EVM address"] #[doc = ""] - #[doc = ""] - #[doc = "The weight of this call is invariant over the input parameters."] - #[doc = "Weight includes logic to validate unsigned `claim_attest` call."] + #[doc = "# Errors"] #[doc = ""] - #[doc = "Total Complexity: O(1)"] - #[doc = ""] - pub fn claim_attest( - &self, - dest: types::claim_attest::Dest, - signer: types::claim_attest::Signer, - signature: types::claim_attest::Signature, - statement: types::claim_attest::Statement, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Claims", - "claim_attest", - types::ClaimAttest { dest, signer, signature, statement }, - [ - 107u8, 31u8, 239u8, 61u8, 103u8, 231u8, 139u8, 136u8, 92u8, 195u8, - 182u8, 139u8, 173u8, 131u8, 153u8, 42u8, 104u8, 123u8, 8u8, 8u8, 135u8, - 149u8, 164u8, 140u8, 56u8, 147u8, 15u8, 89u8, 126u8, 154u8, 139u8, - 71u8, - ], - ) - } - pub fn move_claim( - &self, - old: types::move_claim::Old, - new: types::move_claim::New, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Claims", - "move_claim", - types::MoveClaim { old, new }, - [ - 158u8, 85u8, 19u8, 154u8, 152u8, 57u8, 252u8, 225u8, 31u8, 9u8, 80u8, - 0u8, 17u8, 78u8, 224u8, 34u8, 255u8, 2u8, 53u8, 220u8, 242u8, 220u8, - 185u8, 48u8, 155u8, 1u8, 71u8, 53u8, 112u8, 111u8, 5u8, 42u8, - ], - ) - } - #[doc = "Set the value for expiryconfig"] - #[doc = "Can only be called by ForceOrigin"] - pub fn force_set_expiry_config( - &self, - expiry_block: types::force_set_expiry_config::ExpiryBlock, - dest: types::force_set_expiry_config::Dest, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Claims", - "force_set_expiry_config", - types::ForceSetExpiryConfig { expiry_block, dest }, - [ - 102u8, 135u8, 138u8, 85u8, 68u8, 159u8, 220u8, 113u8, 148u8, 11u8, - 123u8, 91u8, 3u8, 149u8, 37u8, 92u8, 153u8, 156u8, 210u8, 174u8, 145u8, - 192u8, 149u8, 238u8, 53u8, 217u8, 190u8, 157u8, 224u8, 188u8, 7u8, - 92u8, - ], - ) - } - #[doc = "Claim from signed origin"] - pub fn claim_signed( - &self, - dest: types::claim_signed::Dest, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Claims", - "claim_signed", - types::ClaimSigned { dest }, - [ - 123u8, 242u8, 127u8, 158u8, 93u8, 47u8, 145u8, 109u8, 101u8, 8u8, 53u8, - 129u8, 183u8, 214u8, 245u8, 158u8, 191u8, 186u8, 66u8, 55u8, 44u8, - 254u8, 130u8, 197u8, 44u8, 39u8, 48u8, 194u8, 241u8, 45u8, 253u8, - 176u8, - ], - ) + #[doc = "* [`Error::NoWithdrawRequestExists`] - No pending withdraw request exists"] + #[doc = "* [`Error::WithdrawPeriodNotElapsed`] - Withdraw period has not elapsed"] + pub struct ExecuteWithdraw { + pub evm_address: execute_withdraw::EvmAddress, } - } - } - #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::pallet_airdrop_claims::pallet::Event; - pub mod events { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Someone claimed some native tokens."] - pub struct Claimed { - pub recipient: claimed::Recipient, - pub source: claimed::Source, - pub amount: claimed::Amount, - } - pub mod claimed { - use super::runtime_types; - pub type Recipient = ::subxt_core::utils::AccountId32; - pub type Source = runtime_types::pallet_airdrop_claims::utils::MultiAddress; - pub type Amount = ::core::primitive::u128; - } - impl ::subxt_core::events::StaticEvent for Claimed { - const PALLET: &'static str = "Claims"; - const EVENT: &'static str = "Claimed"; - } - } - pub mod storage { - use super::runtime_types; - pub mod types { - use super::runtime_types; - pub mod claims { + pub mod execute_withdraw { use super::runtime_types; - pub type Claims = ::core::primitive::u128; - pub type Param0 = runtime_types::pallet_airdrop_claims::utils::MultiAddress; + pub type EvmAddress = ::core::option::Option<::subxt_core::utils::H160>; } - pub mod total { - use super::runtime_types; - pub type Total = ::core::primitive::u128; + impl ::subxt_core::blocks::StaticExtrinsic for ExecuteWithdraw { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "execute_withdraw"; } - pub mod expiry_config { - use super::runtime_types; - pub type ExpiryConfig = ( - ::core::primitive::u64, - runtime_types::pallet_airdrop_claims::utils::MultiAddress, - ); + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Cancels a scheduled withdraw request."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the withdrawer account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `asset` - Asset on withdrawal to cancel"] + #[doc = "* `amount` - Amount of the withdrawal to cancel"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NoWithdrawRequestExists`] - No pending withdraw request exists"] + pub struct CancelWithdraw { + pub asset: cancel_withdraw::Asset, + pub amount: cancel_withdraw::Amount, } - pub mod vesting { + pub mod cancel_withdraw { use super::runtime_types; - pub type Vesting = runtime_types::bounded_collections::bounded_vec::BoundedVec< - (::core::primitive::u128, ::core::primitive::u128, ::core::primitive::u64), + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, >; - pub type Param0 = runtime_types::pallet_airdrop_claims::utils::MultiAddress; - } - pub mod signing { - use super::runtime_types; - pub type Signing = runtime_types::pallet_airdrop_claims::StatementKind; - pub type Param0 = runtime_types::pallet_airdrop_claims::utils::MultiAddress; - } - } - pub struct StorageApi; - impl StorageApi { - pub fn claims_iter( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::claims::Claims, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Claims", - "Claims", - (), - [ - 175u8, 97u8, 79u8, 164u8, 220u8, 228u8, 14u8, 49u8, 136u8, 218u8, 96u8, - 209u8, 66u8, 54u8, 156u8, 95u8, 86u8, 234u8, 219u8, 166u8, 181u8, 93u8, - 48u8, 201u8, 147u8, 253u8, 55u8, 28u8, 8u8, 81u8, 204u8, 255u8, - ], - ) + pub type Amount = ::core::primitive::u128; } - pub fn claims( - &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::claims::Claims, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Claims", - "Claims", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - [ - 175u8, 97u8, 79u8, 164u8, 220u8, 228u8, 14u8, 49u8, 136u8, 218u8, 96u8, - 209u8, 66u8, 54u8, 156u8, 95u8, 86u8, 234u8, 219u8, 166u8, 181u8, 93u8, - 48u8, 201u8, 147u8, 253u8, 55u8, 28u8, 8u8, 81u8, 204u8, 255u8, - ], - ) + impl ::subxt_core::blocks::StaticExtrinsic for CancelWithdraw { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "cancel_withdraw"; } - pub fn total( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::total::Total, - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Claims", - "Total", - (), - [ - 188u8, 31u8, 219u8, 189u8, 49u8, 213u8, 203u8, 89u8, 125u8, 58u8, - 232u8, 159u8, 131u8, 155u8, 166u8, 113u8, 99u8, 24u8, 40u8, 242u8, - 118u8, 183u8, 108u8, 230u8, 135u8, 150u8, 84u8, 86u8, 118u8, 91u8, - 168u8, 62u8, - ], - ) + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Allows a user to delegate an amount of an asset to an operator."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the delegator account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `operator` - Operator to delegate to"] + #[doc = "* `asset` - ID of asset to delegate"] + #[doc = "* `amount` - Amount to delegate"] + #[doc = "* `blueprint_selection` - Blueprint selection strategy"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotOperator`] - Target account is not an operator"] + #[doc = "* [`Error::InsufficientBalance`] - Insufficient balance to delegate"] + #[doc = "* [`Error::MaxDelegationsExceeded`] - Would exceed max delegations"] + pub struct Delegate { + pub operator: delegate::Operator, + pub asset: delegate::Asset, + pub amount: delegate::Amount, + pub blueprint_selection: delegate::BlueprintSelection, } - #[doc = " Expiry block and account to deposit expired funds"] - pub fn expiry_config( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::expiry_config::ExpiryConfig, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Claims", - "ExpiryConfig", - (), - [ - 104u8, 249u8, 22u8, 81u8, 1u8, 147u8, 78u8, 127u8, 228u8, 229u8, 17u8, - 129u8, 253u8, 171u8, 42u8, 125u8, 147u8, 73u8, 241u8, 242u8, 199u8, - 44u8, 67u8, 51u8, 206u8, 29u8, 127u8, 229u8, 218u8, 160u8, 132u8, 24u8, - ], - ) + pub mod delegate { + use super::runtime_types; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; + pub type Amount = ::core::primitive::u128; + pub type BlueprintSelection = runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorBlueprintSelection < runtime_types :: tangle_testnet_runtime :: MaxDelegatorBlueprints > ; } - #[doc = " Vesting schedule for a claim."] - #[doc = " First balance is the total amount that should be held for vesting."] - #[doc = " Second balance is how much should be unlocked per block."] - #[doc = " The block number is when the vesting should start."] - pub fn vesting_iter( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::vesting::Vesting, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Claims", - "Vesting", - (), - [ - 166u8, 245u8, 205u8, 165u8, 58u8, 90u8, 122u8, 157u8, 28u8, 220u8, - 114u8, 22u8, 73u8, 221u8, 230u8, 238u8, 57u8, 16u8, 66u8, 5u8, 63u8, - 105u8, 184u8, 141u8, 99u8, 116u8, 130u8, 150u8, 180u8, 165u8, 119u8, - 35u8, - ], - ) + impl ::subxt_core::blocks::StaticExtrinsic for Delegate { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "delegate"; } - #[doc = " Vesting schedule for a claim."] - #[doc = " First balance is the total amount that should be held for vesting."] - #[doc = " Second balance is how much should be unlocked per block."] - #[doc = " The block number is when the vesting should start."] - pub fn vesting( - &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::vesting::Vesting, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Claims", - "Vesting", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - [ - 166u8, 245u8, 205u8, 165u8, 58u8, 90u8, 122u8, 157u8, 28u8, 220u8, - 114u8, 22u8, 73u8, 221u8, 230u8, 238u8, 57u8, 16u8, 66u8, 5u8, 63u8, - 105u8, 184u8, 141u8, 99u8, 116u8, 130u8, 150u8, 180u8, 165u8, 119u8, - 35u8, - ], - ) + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Schedules a request to reduce a delegator's stake."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the delegator account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `operator` - Operator to unstake from"] + #[doc = "* `asset` - ID of asset to unstake"] + #[doc = "* `amount` - Amount to unstake"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotDelegator`] - Account is not a delegator"] + #[doc = "* [`Error::InsufficientDelegation`] - Insufficient delegation to unstake"] + #[doc = "* [`Error::PendingUnstakeRequestExists`] - Pending unstake request exists"] + pub struct ScheduleDelegatorUnstake { + pub operator: schedule_delegator_unstake::Operator, + pub asset: schedule_delegator_unstake::Asset, + pub amount: schedule_delegator_unstake::Amount, } - #[doc = " The statement kind that must be signed, if any."] - pub fn signing_iter( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::signing::Signing, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Claims", - "Signing", - (), - [ - 210u8, 2u8, 184u8, 130u8, 98u8, 38u8, 101u8, 191u8, 250u8, 166u8, - 246u8, 153u8, 175u8, 181u8, 174u8, 232u8, 58u8, 4u8, 40u8, 112u8, 68u8, - 213u8, 124u8, 49u8, 250u8, 95u8, 49u8, 122u8, 144u8, 206u8, 57u8, 51u8, - ], - ) + pub mod schedule_delegator_unstake { + use super::runtime_types; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; + pub type Amount = ::core::primitive::u128; } - #[doc = " The statement kind that must be signed, if any."] - pub fn signing( - &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::signing::Signing, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Claims", - "Signing", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - [ - 210u8, 2u8, 184u8, 130u8, 98u8, 38u8, 101u8, 191u8, 250u8, 166u8, - 246u8, 153u8, 175u8, 181u8, 174u8, 232u8, 58u8, 4u8, 40u8, 112u8, 68u8, - 213u8, 124u8, 49u8, 250u8, 95u8, 49u8, 122u8, 144u8, 206u8, 57u8, 51u8, - ], - ) + impl ::subxt_core::blocks::StaticExtrinsic for ScheduleDelegatorUnstake { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "schedule_delegator_unstake"; } - } - } - pub mod constants { - use super::runtime_types; - pub struct ConstantsApi; - impl ConstantsApi { - pub fn prefix( - &self, - ) -> ::subxt_core::constants::address::StaticAddress< - ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, - > { - ::subxt_core::constants::address::StaticAddress::new_static( - "Claims", - "Prefix", - [ - 64u8, 190u8, 244u8, 122u8, 87u8, 182u8, 217u8, 16u8, 55u8, 223u8, - 128u8, 6u8, 112u8, 30u8, 236u8, 222u8, 153u8, 53u8, 247u8, 102u8, - 196u8, 31u8, 6u8, 186u8, 251u8, 209u8, 114u8, 125u8, 213u8, 222u8, - 240u8, 8u8, - ], - ) + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Executes a scheduled request to reduce a delegator's stake."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the delegator account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotDelegator`] - Account is not a delegator"] + #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] + #[doc = "* [`Error::UnstakePeriodNotElapsed`] - Unstake period has not elapsed"] + pub struct ExecuteDelegatorUnstake; + impl ::subxt_core::blocks::StaticExtrinsic for ExecuteDelegatorUnstake { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "execute_delegator_unstake"; } - } - } - } - pub mod proxy { - use super::root_mod; - use super::runtime_types; - #[doc = "The `Error` enum of this pallet."] - pub type Error = runtime_types::pallet_proxy::pallet::Error; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_proxy::pallet::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -43514,33 +42070,39 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Dispatch the given `call` from an account that the sender is authorised for through"] - #[doc = "`add_proxy`."] + #[doc = "Cancels a scheduled request to reduce a delegator's stake."] #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = "# Permissions"] #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `real`: The account that the proxy will make a call on behalf of."] - #[doc = "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call."] - #[doc = "- `call`: The call to be made by the `real` account."] - pub struct Proxy { - pub real: proxy::Real, - pub force_proxy_type: proxy::ForceProxyType, - pub call: ::subxt_core::alloc::boxed::Box, + #[doc = "* Must be signed by the delegator account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `operator` - Operator to cancel unstake from"] + #[doc = "* `asset` - ID of asset unstake to cancel"] + #[doc = "* `amount` - Amount of unstake to cancel"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotDelegator`] - Account is not a delegator"] + #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] + pub struct CancelDelegatorUnstake { + pub operator: cancel_delegator_unstake::Operator, + pub asset: cancel_delegator_unstake::Asset, + pub amount: cancel_delegator_unstake::Amount, } - pub mod proxy { + pub mod cancel_delegator_unstake { use super::runtime_types; - pub type Real = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, >; - pub type ForceProxyType = - ::core::option::Option; - pub type Call = runtime_types::tangle_testnet_runtime::RuntimeCall; + pub type Amount = ::core::primitive::u128; } - impl ::subxt_core::blocks::StaticExtrinsic for Proxy { - const PALLET: &'static str = "Proxy"; - const CALL: &'static str = "proxy"; + impl ::subxt_core::blocks::StaticExtrinsic for CancelDelegatorUnstake { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "cancel_delegator_unstake"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -43556,32 +42118,35 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Register a proxy account for the sender that is able to make calls on its behalf."] + #[doc = "Delegates nominated tokens to an operator."] #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = "# Arguments"] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `operator` - The operator to delegate to"] + #[doc = "* `amount` - Amount of nominated tokens to delegate"] + #[doc = "* `blueprint_selection` - Strategy for selecting which blueprints to work with"] #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `proxy`: The account that the `caller` would like to make a proxy."] - #[doc = "- `proxy_type`: The permissions allowed for this proxy account."] - #[doc = "- `delay`: The announcement period required of the initial proxy. Will generally be"] - #[doc = "zero."] - pub struct AddProxy { - pub delegate: add_proxy::Delegate, - pub proxy_type: add_proxy::ProxyType, - pub delay: add_proxy::Delay, + #[doc = "# Errors"] + #[doc = "* `NotDelegator` - Account is not a delegator"] + #[doc = "* `NotNominator` - Account has no nominated tokens"] + #[doc = "* `InsufficientBalance` - Not enough nominated tokens available"] + #[doc = "* `MaxDelegationsExceeded` - Would exceed maximum allowed delegations"] + #[doc = "* `OverflowRisk` - Arithmetic overflow during calculations"] + #[doc = "* `InvalidAmount` - Amount specified is zero"] + pub struct DelegateNomination { + pub operator: delegate_nomination::Operator, + pub amount: delegate_nomination::Amount, + pub blueprint_selection: delegate_nomination::BlueprintSelection, } - pub mod add_proxy { + pub mod delegate_nomination { use super::runtime_types; - pub type Delegate = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type ProxyType = runtime_types::tangle_testnet_runtime::ProxyType; - pub type Delay = ::core::primitive::u64; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + pub type BlueprintSelection = runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorBlueprintSelection < runtime_types :: tangle_testnet_runtime :: MaxDelegatorBlueprints > ; } - impl ::subxt_core::blocks::StaticExtrinsic for AddProxy { - const PALLET: &'static str = "Proxy"; - const CALL: &'static str = "add_proxy"; + impl ::subxt_core::blocks::StaticExtrinsic for DelegateNomination { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "delegate_nomination"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -43597,30 +42162,34 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Unregister a proxy account for the sender."] + #[doc = "Schedules an unstake request for nomination delegations."] #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = "# Arguments"] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `operator` - The operator to unstake from"] + #[doc = "* `amount` - Amount of nominated tokens to unstake"] + #[doc = "* `blueprint_selection` - The blueprint selection to use after unstaking"] #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `proxy`: The account that the `caller` would like to remove as a proxy."] - #[doc = "- `proxy_type`: The permissions currently enabled for the removed proxy account."] - pub struct RemoveProxy { - pub delegate: remove_proxy::Delegate, - pub proxy_type: remove_proxy::ProxyType, - pub delay: remove_proxy::Delay, + #[doc = "# Errors"] + #[doc = "* `NotDelegator` - Account is not a delegator"] + #[doc = "* `NoActiveDelegation` - No active nomination delegation found"] + #[doc = "* `InsufficientBalance` - Trying to unstake more than delegated"] + #[doc = "* `MaxUnstakeRequestsExceeded` - Too many pending unstake requests"] + #[doc = "* `InvalidAmount` - Amount specified is zero"] + pub struct ScheduleNominationUnstake { + pub operator: schedule_nomination_unstake::Operator, + pub amount: schedule_nomination_unstake::Amount, + pub blueprint_selection: schedule_nomination_unstake::BlueprintSelection, } - pub mod remove_proxy { + pub mod schedule_nomination_unstake { use super::runtime_types; - pub type Delegate = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type ProxyType = runtime_types::tangle_testnet_runtime::ProxyType; - pub type Delay = ::core::primitive::u64; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + pub type BlueprintSelection = runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorBlueprintSelection < runtime_types :: tangle_testnet_runtime :: MaxDelegatorBlueprints > ; } - impl ::subxt_core::blocks::StaticExtrinsic for RemoveProxy { - const PALLET: &'static str = "Proxy"; - const CALL: &'static str = "remove_proxy"; + impl ::subxt_core::blocks::StaticExtrinsic for ScheduleNominationUnstake { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "schedule_nomination_unstake"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -43636,16 +42205,28 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Unregister all proxy accounts for the sender."] + #[doc = "Executes a scheduled unstake request for nomination delegations."] #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = "# Arguments"] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `operator` - The operator to execute unstake from"] #[doc = ""] - #[doc = "WARNING: This may be called on accounts created by `pure`, however if done, then"] - #[doc = "the unreserved fees will be inaccessible. **All access to this account will be lost.**"] - pub struct RemoveProxies; - impl ::subxt_core::blocks::StaticExtrinsic for RemoveProxies { - const PALLET: &'static str = "Proxy"; - const CALL: &'static str = "remove_proxies"; + #[doc = "# Errors"] + #[doc = "* `NotDelegator` - Account is not a delegator"] + #[doc = "* `NoBondLessRequest` - No matching unstake request found"] + #[doc = "* `BondLessNotReady` - Unstake request not ready for execution"] + #[doc = "* `NoActiveDelegation` - No active nomination delegation found"] + #[doc = "* `InsufficientBalance` - Insufficient balance for unstaking"] + pub struct ExecuteNominationUnstake { + pub operator: execute_nomination_unstake::Operator, + } + pub mod execute_nomination_unstake { + use super::runtime_types; + pub type Operator = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::blocks::StaticExtrinsic for ExecuteNominationUnstake { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "execute_nomination_unstake"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -43661,38 +42242,25 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and"] - #[doc = "initialize it with a proxy of `proxy_type` for `origin` sender."] - #[doc = ""] - #[doc = "Requires a `Signed` origin."] - #[doc = ""] - #[doc = "- `proxy_type`: The type of the proxy that the sender will be registered as over the"] - #[doc = "new account. This will almost always be the most permissive `ProxyType` possible to"] - #[doc = "allow for maximum flexibility."] - #[doc = "- `index`: A disambiguation index, in case this is called multiple times in the same"] - #[doc = "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just"] - #[doc = "want to use `0`."] - #[doc = "- `delay`: The announcement period required of the initial proxy. Will generally be"] - #[doc = "zero."] + #[doc = "Cancels a scheduled unstake request for nomination delegations."] #[doc = ""] - #[doc = "Fails with `Duplicate` if this has already been called in this transaction, from the"] - #[doc = "same sender, with the same parameters."] + #[doc = "# Arguments"] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `operator` - The operator whose unstake request to cancel"] #[doc = ""] - #[doc = "Fails if there are insufficient funds to pay for deposit."] - pub struct CreatePure { - pub proxy_type: create_pure::ProxyType, - pub delay: create_pure::Delay, - pub index: create_pure::Index, + #[doc = "# Errors"] + #[doc = "* `NotDelegator` - Account is not a delegator"] + #[doc = "* `NoBondLessRequest` - No matching unstake request found"] + pub struct CancelNominationUnstake { + pub operator: cancel_nomination_unstake::Operator, } - pub mod create_pure { + pub mod cancel_nomination_unstake { use super::runtime_types; - pub type ProxyType = runtime_types::tangle_testnet_runtime::ProxyType; - pub type Delay = ::core::primitive::u64; - pub type Index = ::core::primitive::u16; + pub type Operator = ::subxt_core::utils::AccountId32; } - impl ::subxt_core::blocks::StaticExtrinsic for CreatePure { - const PALLET: &'static str = "Proxy"; - const CALL: &'static str = "create_pure"; + impl ::subxt_core::blocks::StaticExtrinsic for CancelNominationUnstake { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "cancel_nomination_unstake"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -43708,45 +42276,33 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Removes a previously spawned pure proxy."] + #[doc = "Adds a blueprint ID to a delegator's selection."] #[doc = ""] - #[doc = "WARNING: **All access to this account will be lost.** Any funds held in it will be"] - #[doc = "inaccessible."] + #[doc = "# Permissions"] #[doc = ""] - #[doc = "Requires a `Signed` origin, and the sender account must have been created by a call to"] - #[doc = "`pure` with corresponding parameters."] + #[doc = "* Must be signed by the delegator account"] #[doc = ""] - #[doc = "- `spawner`: The account that originally called `pure` to create this account."] - #[doc = "- `index`: The disambiguation index originally passed to `pure`. Probably `0`."] - #[doc = "- `proxy_type`: The proxy type originally passed to `pure`."] - #[doc = "- `height`: The height of the chain when the call to `pure` was processed."] - #[doc = "- `ext_index`: The extrinsic index in which the call to `pure` was processed."] + #[doc = "# Arguments"] #[doc = ""] - #[doc = "Fails with `NoPermission` in case the caller is not a previously created pure"] - #[doc = "account whose `pure` call has corresponding parameters."] - pub struct KillPure { - pub spawner: kill_pure::Spawner, - pub proxy_type: kill_pure::ProxyType, - pub index: kill_pure::Index, - #[codec(compact)] - pub height: kill_pure::Height, - #[codec(compact)] - pub ext_index: kill_pure::ExtIndex, + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `blueprint_id` - ID of blueprint to add"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotDelegator`] - Account is not a delegator"] + #[doc = "* [`Error::DuplicateBlueprintId`] - Blueprint ID already exists"] + #[doc = "* [`Error::MaxBlueprintsExceeded`] - Would exceed max blueprints"] + #[doc = "* [`Error::NotInFixedMode`] - Not in fixed blueprint selection mode"] + pub struct AddBlueprintId { + pub blueprint_id: add_blueprint_id::BlueprintId, } - pub mod kill_pure { + pub mod add_blueprint_id { use super::runtime_types; - pub type Spawner = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type ProxyType = runtime_types::tangle_testnet_runtime::ProxyType; - pub type Index = ::core::primitive::u16; - pub type Height = ::core::primitive::u64; - pub type ExtIndex = ::core::primitive::u32; + pub type BlueprintId = ::core::primitive::u64; } - impl ::subxt_core::blocks::StaticExtrinsic for KillPure { - const PALLET: &'static str = "Proxy"; - const CALL: &'static str = "kill_pure"; + impl ::subxt_core::blocks::StaticExtrinsic for AddBlueprintId { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "add_blueprint_id"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -43762,465 +42318,1199 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Publish the hash of a proxy-call that will be made in the future."] + #[doc = "Removes a blueprint ID from a delegator's selection."] #[doc = ""] - #[doc = "This must be called some number of blocks before the corresponding `proxy` is attempted"] - #[doc = "if the delay associated with the proxy relationship is greater than zero."] + #[doc = "# Permissions"] #[doc = ""] - #[doc = "No more than `MaxPending` announcements may be made at any one time."] + #[doc = "* Must be signed by the delegator account"] #[doc = ""] - #[doc = "This will take a deposit of `AnnouncementDepositFactor` as well as"] - #[doc = "`AnnouncementDepositBase` if there are no other pending announcements."] + #[doc = "# Arguments"] #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and a proxy of `real`."] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `blueprint_id` - ID of blueprint to remove"] #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `real`: The account that the proxy will make a call on behalf of."] - #[doc = "- `call_hash`: The hash of the call to be made by the `real` account."] - pub struct Announce { - pub real: announce::Real, - pub call_hash: announce::CallHash, + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotDelegator`] - Account is not a delegator"] + #[doc = "* [`Error::BlueprintIdNotFound`] - Blueprint ID not found"] + #[doc = "* [`Error::NotInFixedMode`] - Not in fixed blueprint selection mode"] + pub struct RemoveBlueprintId { + pub blueprint_id: remove_blueprint_id::BlueprintId, } - pub mod announce { + pub mod remove_blueprint_id { use super::runtime_types; - pub type Real = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type CallHash = ::subxt_core::utils::H256; + pub type BlueprintId = ::core::primitive::u64; } - impl ::subxt_core::blocks::StaticExtrinsic for Announce { - const PALLET: &'static str = "Proxy"; - const CALL: &'static str = "announce"; + impl ::subxt_core::blocks::StaticExtrinsic for RemoveBlueprintId { + const PALLET: &'static str = "MultiAssetDelegation"; + const CALL: &'static str = "remove_blueprint_id"; } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Remove a given announcement."] + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Allows an account to join as an operator by staking the required bond amount."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the account joining as operator"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `bond_amount` - Amount to stake as operator bond"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::DepositOverflow`] - Bond amount would overflow deposit tracking"] + #[doc = "* [`Error::StakeOverflow`] - Bond amount would overflow stake tracking"] + pub fn join_operators( + &self, + bond_amount: types::join_operators::BondAmount, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "MultiAssetDelegation", + "join_operators", + types::JoinOperators { bond_amount }, + [ + 200u8, 51u8, 233u8, 253u8, 180u8, 90u8, 81u8, 7u8, 248u8, 218u8, 76u8, + 136u8, 126u8, 106u8, 132u8, 111u8, 26u8, 70u8, 68u8, 40u8, 153u8, + 179u8, 25u8, 198u8, 10u8, 105u8, 214u8, 38u8, 79u8, 102u8, 183u8, + 115u8, + ], + ) + } + #[doc = "Schedules an operator to leave the system."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the operator account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] + #[doc = "* [`Error::PendingUnstakeRequestExists`] - Operator already has a pending unstake request"] + pub fn schedule_leave_operators( + &self, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "MultiAssetDelegation", + "schedule_leave_operators", + types::ScheduleLeaveOperators {}, + [ + 40u8, 228u8, 5u8, 223u8, 70u8, 47u8, 223u8, 89u8, 229u8, 174u8, 84u8, + 232u8, 216u8, 104u8, 83u8, 134u8, 59u8, 234u8, 89u8, 53u8, 238u8, + 253u8, 150u8, 13u8, 19u8, 178u8, 179u8, 191u8, 209u8, 45u8, 53u8, 85u8, + ], + ) + } + #[doc = "Cancels a scheduled leave for an operator."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the operator account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] + #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] + pub fn cancel_leave_operators( + &self, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "MultiAssetDelegation", + "cancel_leave_operators", + types::CancelLeaveOperators {}, + [ + 69u8, 106u8, 203u8, 11u8, 3u8, 80u8, 201u8, 178u8, 156u8, 17u8, 142u8, + 173u8, 37u8, 245u8, 0u8, 84u8, 213u8, 189u8, 221u8, 34u8, 28u8, 204u8, + 88u8, 240u8, 72u8, 190u8, 173u8, 115u8, 82u8, 210u8, 212u8, 6u8, + ], + ) + } + #[doc = "Executes a scheduled leave for an operator."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the operator account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] + #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] + #[doc = "* [`Error::UnstakePeriodNotElapsed`] - Unstake period has not elapsed yet"] + pub fn execute_leave_operators( + &self, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "MultiAssetDelegation", + "execute_leave_operators", + types::ExecuteLeaveOperators {}, + [ + 57u8, 188u8, 97u8, 173u8, 224u8, 57u8, 203u8, 116u8, 132u8, 111u8, + 60u8, 129u8, 153u8, 1u8, 222u8, 163u8, 102u8, 230u8, 13u8, 177u8, + 221u8, 246u8, 53u8, 106u8, 229u8, 133u8, 240u8, 136u8, 179u8, 21u8, + 143u8, 180u8, + ], + ) + } + #[doc = "Allows an operator to increase their stake."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the operator account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `additional_bond` - Additional amount to stake"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] + #[doc = "* [`Error::StakeOverflow`] - Additional bond would overflow stake tracking"] + pub fn operator_bond_more( + &self, + additional_bond: types::operator_bond_more::AdditionalBond, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "MultiAssetDelegation", + "operator_bond_more", + types::OperatorBondMore { additional_bond }, + [ + 124u8, 33u8, 17u8, 157u8, 169u8, 58u8, 82u8, 138u8, 216u8, 98u8, 111u8, + 31u8, 223u8, 183u8, 172u8, 219u8, 224u8, 196u8, 180u8, 92u8, 156u8, + 215u8, 145u8, 66u8, 172u8, 96u8, 81u8, 20u8, 210u8, 182u8, 144u8, + 172u8, + ], + ) + } + #[doc = "Schedules an operator to decrease their stake."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the operator account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `unstake_amount` - Amount to unstake"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] + #[doc = "* [`Error::PendingUnstakeRequestExists`] - Operator already has a pending unstake request"] + #[doc = "* [`Error::InsufficientBalance`] - Operator has insufficient stake to unstake"] + pub fn schedule_operator_unstake( + &self, + unstake_amount: types::schedule_operator_unstake::UnstakeAmount, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "MultiAssetDelegation", + "schedule_operator_unstake", + types::ScheduleOperatorUnstake { unstake_amount }, + [ + 34u8, 99u8, 195u8, 190u8, 177u8, 99u8, 126u8, 217u8, 214u8, 187u8, + 152u8, 53u8, 223u8, 100u8, 68u8, 17u8, 188u8, 148u8, 25u8, 21u8, 75u8, + 48u8, 52u8, 208u8, 221u8, 62u8, 146u8, 65u8, 60u8, 209u8, 206u8, 44u8, + ], + ) + } + #[doc = "Executes a scheduled stake decrease for an operator."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the operator account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] + #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] + #[doc = "* [`Error::UnstakePeriodNotElapsed`] - Unstake period has not elapsed yet"] + pub fn execute_operator_unstake( + &self, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "MultiAssetDelegation", + "execute_operator_unstake", + types::ExecuteOperatorUnstake {}, + [ + 22u8, 7u8, 144u8, 170u8, 57u8, 205u8, 226u8, 10u8, 36u8, 245u8, 197u8, + 184u8, 137u8, 7u8, 252u8, 56u8, 186u8, 50u8, 30u8, 179u8, 244u8, 203u8, + 242u8, 90u8, 93u8, 130u8, 82u8, 225u8, 192u8, 92u8, 211u8, 14u8, + ], + ) + } + #[doc = "Cancels a scheduled stake decrease for an operator."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the operator account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] + #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] + pub fn cancel_operator_unstake( + &self, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "MultiAssetDelegation", + "cancel_operator_unstake", + types::CancelOperatorUnstake {}, + [ + 9u8, 153u8, 57u8, 25u8, 35u8, 233u8, 83u8, 162u8, 125u8, 240u8, 57u8, + 179u8, 110u8, 131u8, 115u8, 69u8, 96u8, 139u8, 228u8, 20u8, 33u8, 30u8, + 207u8, 176u8, 175u8, 233u8, 141u8, 152u8, 197u8, 134u8, 78u8, 40u8, + ], + ) + } + #[doc = "Allows an operator to go offline."] + #[doc = ""] + #[doc = "Being offline means the operator should not be able to be"] + #[doc = "requested for services."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the operator account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] + #[doc = "* [`Error::AlreadyOffline`] - Operator is already offline"] + pub fn go_offline( + &self, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "MultiAssetDelegation", + "go_offline", + types::GoOffline {}, + [ + 229u8, 123u8, 37u8, 67u8, 121u8, 41u8, 249u8, 87u8, 1u8, 78u8, 249u8, + 173u8, 135u8, 228u8, 239u8, 244u8, 177u8, 153u8, 242u8, 112u8, 157u8, + 150u8, 12u8, 213u8, 38u8, 250u8, 85u8, 150u8, 252u8, 60u8, 204u8, + 134u8, + ], + ) + } + #[doc = "Allows an operator to go online."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the operator account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] + #[doc = "* [`Error::AlreadyOnline`] - Operator is already online"] + pub fn go_online( + &self, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "MultiAssetDelegation", + "go_online", + types::GoOnline {}, + [ + 58u8, 44u8, 183u8, 212u8, 2u8, 121u8, 216u8, 100u8, 238u8, 222u8, + 118u8, 20u8, 145u8, 231u8, 226u8, 156u8, 130u8, 2u8, 113u8, 3u8, 49u8, + 119u8, 211u8, 112u8, 151u8, 192u8, 181u8, 139u8, 108u8, 209u8, 80u8, + 47u8, + ], + ) + } + #[doc = "Allows a user to deposit an asset."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the depositor account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `asset` - Asset on to deposit"] + #[doc = "* `amount` - Amount to deposit"] + #[doc = "* `evm_address` - Optional EVM address"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::DepositOverflow`] - Deposit would overflow tracking"] + #[doc = "* [`Error::InvalidAsset`] - Asset is not supported"] + pub fn deposit( + &self, + asset: types::deposit::Asset, + amount: types::deposit::Amount, + evm_address: types::deposit::EvmAddress, + lock_multiplier: types::deposit::LockMultiplier, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "MultiAssetDelegation", + "deposit", + types::Deposit { asset, amount, evm_address, lock_multiplier }, + [ + 121u8, 249u8, 205u8, 202u8, 106u8, 122u8, 21u8, 49u8, 46u8, 218u8, + 204u8, 236u8, 203u8, 226u8, 242u8, 7u8, 66u8, 38u8, 131u8, 250u8, 26u8, + 248u8, 110u8, 134u8, 27u8, 46u8, 151u8, 155u8, 1u8, 50u8, 11u8, 121u8, + ], + ) + } + #[doc = "Schedules a withdraw request."] #[doc = ""] - #[doc = "May be called by a proxy account to remove a call they previously announced and return"] - #[doc = "the deposit."] + #[doc = "# Permissions"] #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = "* Must be signed by the withdrawer account"] #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `real`: The account that the proxy will make a call on behalf of."] - #[doc = "- `call_hash`: The hash of the call to be made by the `real` account."] - pub struct RemoveAnnouncement { - pub real: remove_announcement::Real, - pub call_hash: remove_announcement::CallHash, - } - pub mod remove_announcement { - use super::runtime_types; - pub type Real = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type CallHash = ::subxt_core::utils::H256; - } - impl ::subxt_core::blocks::StaticExtrinsic for RemoveAnnouncement { - const PALLET: &'static str = "Proxy"; - const CALL: &'static str = "remove_announcement"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Remove the given announcement of a delegate."] + #[doc = "# Arguments"] #[doc = ""] - #[doc = "May be called by a target (proxied) account to remove a call that one of their delegates"] - #[doc = "(`delegate`) has announced they want to execute. The deposit is returned."] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `asset` - Asset on to withdraw"] + #[doc = "* `amount` - Amount to withdraw"] #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = "# Errors"] #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `delegate`: The account that previously announced the call."] - #[doc = "- `call_hash`: The hash of the call to be made."] - pub struct RejectAnnouncement { - pub delegate: reject_announcement::Delegate, - pub call_hash: reject_announcement::CallHash, - } - pub mod reject_announcement { - use super::runtime_types; - pub type Delegate = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type CallHash = ::subxt_core::utils::H256; - } - impl ::subxt_core::blocks::StaticExtrinsic for RejectAnnouncement { - const PALLET: &'static str = "Proxy"; - const CALL: &'static str = "reject_announcement"; + #[doc = "* [`Error::InsufficientBalance`] - Insufficient balance to withdraw"] + #[doc = "* [`Error::PendingWithdrawRequestExists`] - Pending withdraw request exists"] + pub fn schedule_withdraw( + &self, + asset: types::schedule_withdraw::Asset, + amount: types::schedule_withdraw::Amount, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "MultiAssetDelegation", + "schedule_withdraw", + types::ScheduleWithdraw { asset, amount }, + [ + 151u8, 225u8, 39u8, 12u8, 16u8, 45u8, 236u8, 150u8, 228u8, 137u8, + 114u8, 199u8, 179u8, 35u8, 80u8, 32u8, 48u8, 138u8, 123u8, 130u8, 76u8, + 217u8, 228u8, 245u8, 43u8, 2u8, 81u8, 181u8, 193u8, 180u8, 141u8, + 165u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Dispatch the given `call` from an account that the sender is authorized for through"] - #[doc = "`add_proxy`."] + #[doc = "Executes a scheduled withdraw request."] #[doc = ""] - #[doc = "Removes any corresponding announcement(s)."] + #[doc = "# Permissions"] #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = "* Must be signed by the withdrawer account"] #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `real`: The account that the proxy will make a call on behalf of."] - #[doc = "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call."] - #[doc = "- `call`: The call to be made by the `real` account."] - pub struct ProxyAnnounced { - pub delegate: proxy_announced::Delegate, - pub real: proxy_announced::Real, - pub force_proxy_type: proxy_announced::ForceProxyType, - pub call: ::subxt_core::alloc::boxed::Box, - } - pub mod proxy_announced { - use super::runtime_types; - pub type Delegate = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Real = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type ForceProxyType = - ::core::option::Option; - pub type Call = runtime_types::tangle_testnet_runtime::RuntimeCall; - } - impl ::subxt_core::blocks::StaticExtrinsic for ProxyAnnounced { - const PALLET: &'static str = "Proxy"; - const CALL: &'static str = "proxy_announced"; - } - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "Dispatch the given `call` from an account that the sender is authorised for through"] - #[doc = "`add_proxy`."] + #[doc = "# Arguments"] #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `evm_address` - Optional EVM address"] #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `real`: The account that the proxy will make a call on behalf of."] - #[doc = "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call."] - #[doc = "- `call`: The call to be made by the `real` account."] - pub fn proxy( + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NoWithdrawRequestExists`] - No pending withdraw request exists"] + #[doc = "* [`Error::WithdrawPeriodNotElapsed`] - Withdraw period has not elapsed"] + pub fn execute_withdraw( &self, - real: types::proxy::Real, - force_proxy_type: types::proxy::ForceProxyType, - call: types::proxy::Call, - ) -> ::subxt_core::tx::payload::StaticPayload { + evm_address: types::execute_withdraw::EvmAddress, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "Proxy", - "proxy", - types::Proxy { - real, - force_proxy_type, - call: ::subxt_core::alloc::boxed::Box::new(call), - }, + "MultiAssetDelegation", + "execute_withdraw", + types::ExecuteWithdraw { evm_address }, [ - 173u8, 239u8, 45u8, 254u8, 218u8, 113u8, 182u8, 231u8, 122u8, 219u8, - 14u8, 237u8, 176u8, 101u8, 188u8, 44u8, 78u8, 154u8, 191u8, 68u8, - 224u8, 104u8, 97u8, 174u8, 240u8, 206u8, 162u8, 19u8, 20u8, 236u8, - 38u8, 240u8, + 192u8, 219u8, 87u8, 231u8, 26u8, 7u8, 60u8, 107u8, 41u8, 80u8, 25u8, + 90u8, 189u8, 215u8, 113u8, 78u8, 93u8, 147u8, 56u8, 175u8, 57u8, 75u8, + 117u8, 131u8, 227u8, 252u8, 16u8, 241u8, 170u8, 241u8, 77u8, 124u8, ], ) } - #[doc = "Register a proxy account for the sender that is able to make calls on its behalf."] + #[doc = "Cancels a scheduled withdraw request."] #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = "# Permissions"] #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `proxy`: The account that the `caller` would like to make a proxy."] - #[doc = "- `proxy_type`: The permissions allowed for this proxy account."] - #[doc = "- `delay`: The announcement period required of the initial proxy. Will generally be"] - #[doc = "zero."] - pub fn add_proxy( + #[doc = "* Must be signed by the withdrawer account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `asset` - Asset on withdrawal to cancel"] + #[doc = "* `amount` - Amount of the withdrawal to cancel"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NoWithdrawRequestExists`] - No pending withdraw request exists"] + pub fn cancel_withdraw( &self, - delegate: types::add_proxy::Delegate, - proxy_type: types::add_proxy::ProxyType, - delay: types::add_proxy::Delay, - ) -> ::subxt_core::tx::payload::StaticPayload { + asset: types::cancel_withdraw::Asset, + amount: types::cancel_withdraw::Amount, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "Proxy", - "add_proxy", - types::AddProxy { delegate, proxy_type, delay }, + "MultiAssetDelegation", + "cancel_withdraw", + types::CancelWithdraw { asset, amount }, [ - 204u8, 170u8, 8u8, 148u8, 160u8, 168u8, 107u8, 62u8, 50u8, 75u8, 3u8, - 71u8, 179u8, 30u8, 109u8, 127u8, 108u8, 156u8, 239u8, 38u8, 97u8, 92u8, - 28u8, 253u8, 230u8, 97u8, 205u8, 44u8, 214u8, 237u8, 137u8, 27u8, + 93u8, 111u8, 228u8, 19u8, 1u8, 113u8, 15u8, 10u8, 78u8, 188u8, 216u8, + 215u8, 85u8, 28u8, 151u8, 77u8, 12u8, 111u8, 0u8, 20u8, 10u8, 189u8, + 90u8, 150u8, 250u8, 111u8, 141u8, 119u8, 14u8, 221u8, 77u8, 148u8, ], ) } - #[doc = "Unregister a proxy account for the sender."] + #[doc = "Allows a user to delegate an amount of an asset to an operator."] #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = "# Permissions"] #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `proxy`: The account that the `caller` would like to remove as a proxy."] - #[doc = "- `proxy_type`: The permissions currently enabled for the removed proxy account."] - pub fn remove_proxy( + #[doc = "* Must be signed by the delegator account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `operator` - Operator to delegate to"] + #[doc = "* `asset` - ID of asset to delegate"] + #[doc = "* `amount` - Amount to delegate"] + #[doc = "* `blueprint_selection` - Blueprint selection strategy"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotOperator`] - Target account is not an operator"] + #[doc = "* [`Error::InsufficientBalance`] - Insufficient balance to delegate"] + #[doc = "* [`Error::MaxDelegationsExceeded`] - Would exceed max delegations"] + pub fn delegate( &self, - delegate: types::remove_proxy::Delegate, - proxy_type: types::remove_proxy::ProxyType, - delay: types::remove_proxy::Delay, - ) -> ::subxt_core::tx::payload::StaticPayload { + operator: types::delegate::Operator, + asset: types::delegate::Asset, + amount: types::delegate::Amount, + blueprint_selection: types::delegate::BlueprintSelection, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "Proxy", - "remove_proxy", - types::RemoveProxy { delegate, proxy_type, delay }, + "MultiAssetDelegation", + "delegate", + types::Delegate { operator, asset, amount, blueprint_selection }, [ - 191u8, 2u8, 69u8, 93u8, 184u8, 207u8, 70u8, 111u8, 8u8, 255u8, 11u8, - 157u8, 4u8, 29u8, 102u8, 245u8, 223u8, 103u8, 132u8, 196u8, 238u8, - 252u8, 127u8, 91u8, 243u8, 48u8, 176u8, 86u8, 99u8, 63u8, 108u8, 111u8, + 180u8, 10u8, 179u8, 237u8, 227u8, 44u8, 193u8, 11u8, 194u8, 123u8, + 156u8, 158u8, 244u8, 54u8, 130u8, 214u8, 14u8, 214u8, 104u8, 172u8, + 45u8, 50u8, 135u8, 98u8, 67u8, 3u8, 59u8, 176u8, 181u8, 145u8, 151u8, + 226u8, ], ) } - #[doc = "Unregister all proxy accounts for the sender."] + #[doc = "Schedules a request to reduce a delegator's stake."] #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = "# Permissions"] #[doc = ""] - #[doc = "WARNING: This may be called on accounts created by `pure`, however if done, then"] - #[doc = "the unreserved fees will be inaccessible. **All access to this account will be lost.**"] - pub fn remove_proxies( + #[doc = "* Must be signed by the delegator account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `operator` - Operator to unstake from"] + #[doc = "* `asset` - ID of asset to unstake"] + #[doc = "* `amount` - Amount to unstake"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotDelegator`] - Account is not a delegator"] + #[doc = "* [`Error::InsufficientDelegation`] - Insufficient delegation to unstake"] + #[doc = "* [`Error::PendingUnstakeRequestExists`] - Pending unstake request exists"] + pub fn schedule_delegator_unstake( &self, - ) -> ::subxt_core::tx::payload::StaticPayload { + operator: types::schedule_delegator_unstake::Operator, + asset: types::schedule_delegator_unstake::Asset, + amount: types::schedule_delegator_unstake::Amount, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "Proxy", - "remove_proxies", - types::RemoveProxies {}, + "MultiAssetDelegation", + "schedule_delegator_unstake", + types::ScheduleDelegatorUnstake { operator, asset, amount }, [ - 1u8, 126u8, 36u8, 227u8, 185u8, 34u8, 218u8, 236u8, 125u8, 231u8, 68u8, - 185u8, 145u8, 63u8, 250u8, 225u8, 103u8, 3u8, 189u8, 37u8, 172u8, - 195u8, 197u8, 216u8, 99u8, 210u8, 240u8, 162u8, 158u8, 132u8, 24u8, - 6u8, + 226u8, 1u8, 102u8, 234u8, 232u8, 38u8, 204u8, 156u8, 220u8, 79u8, 19u8, + 137u8, 120u8, 191u8, 84u8, 123u8, 193u8, 85u8, 18u8, 135u8, 248u8, + 170u8, 162u8, 141u8, 34u8, 254u8, 51u8, 183u8, 77u8, 29u8, 174u8, 87u8, ], ) } - #[doc = "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and"] - #[doc = "initialize it with a proxy of `proxy_type` for `origin` sender."] + #[doc = "Executes a scheduled request to reduce a delegator's stake."] #[doc = ""] - #[doc = "Requires a `Signed` origin."] + #[doc = "# Permissions"] #[doc = ""] - #[doc = "- `proxy_type`: The type of the proxy that the sender will be registered as over the"] - #[doc = "new account. This will almost always be the most permissive `ProxyType` possible to"] - #[doc = "allow for maximum flexibility."] - #[doc = "- `index`: A disambiguation index, in case this is called multiple times in the same"] - #[doc = "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just"] - #[doc = "want to use `0`."] - #[doc = "- `delay`: The announcement period required of the initial proxy. Will generally be"] - #[doc = "zero."] + #[doc = "* Must be signed by the delegator account"] #[doc = ""] - #[doc = "Fails with `Duplicate` if this has already been called in this transaction, from the"] - #[doc = "same sender, with the same parameters."] + #[doc = "# Arguments"] #[doc = ""] - #[doc = "Fails if there are insufficient funds to pay for deposit."] - pub fn create_pure( + #[doc = "* `origin` - Origin of the call"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotDelegator`] - Account is not a delegator"] + #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] + #[doc = "* [`Error::UnstakePeriodNotElapsed`] - Unstake period has not elapsed"] + pub fn execute_delegator_unstake( &self, - proxy_type: types::create_pure::ProxyType, - delay: types::create_pure::Delay, - index: types::create_pure::Index, - ) -> ::subxt_core::tx::payload::StaticPayload { + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "Proxy", - "create_pure", - types::CreatePure { proxy_type, delay, index }, + "MultiAssetDelegation", + "execute_delegator_unstake", + types::ExecuteDelegatorUnstake {}, [ - 239u8, 72u8, 255u8, 141u8, 190u8, 115u8, 141u8, 227u8, 164u8, 59u8, - 113u8, 0u8, 87u8, 101u8, 142u8, 147u8, 43u8, 13u8, 59u8, 213u8, 162u8, - 48u8, 67u8, 167u8, 223u8, 72u8, 153u8, 148u8, 219u8, 71u8, 53u8, 4u8, + 122u8, 83u8, 15u8, 157u8, 106u8, 98u8, 132u8, 80u8, 95u8, 3u8, 89u8, + 166u8, 247u8, 83u8, 9u8, 238u8, 2u8, 100u8, 2u8, 49u8, 99u8, 203u8, + 99u8, 139u8, 21u8, 210u8, 78u8, 212u8, 47u8, 214u8, 38u8, 29u8, ], ) } - #[doc = "Removes a previously spawned pure proxy."] + #[doc = "Cancels a scheduled request to reduce a delegator's stake."] #[doc = ""] - #[doc = "WARNING: **All access to this account will be lost.** Any funds held in it will be"] - #[doc = "inaccessible."] + #[doc = "# Permissions"] #[doc = ""] - #[doc = "Requires a `Signed` origin, and the sender account must have been created by a call to"] - #[doc = "`pure` with corresponding parameters."] + #[doc = "* Must be signed by the delegator account"] #[doc = ""] - #[doc = "- `spawner`: The account that originally called `pure` to create this account."] - #[doc = "- `index`: The disambiguation index originally passed to `pure`. Probably `0`."] - #[doc = "- `proxy_type`: The proxy type originally passed to `pure`."] - #[doc = "- `height`: The height of the chain when the call to `pure` was processed."] - #[doc = "- `ext_index`: The extrinsic index in which the call to `pure` was processed."] + #[doc = "# Arguments"] #[doc = ""] - #[doc = "Fails with `NoPermission` in case the caller is not a previously created pure"] - #[doc = "account whose `pure` call has corresponding parameters."] - pub fn kill_pure( + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `operator` - Operator to cancel unstake from"] + #[doc = "* `asset` - ID of asset unstake to cancel"] + #[doc = "* `amount` - Amount of unstake to cancel"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotDelegator`] - Account is not a delegator"] + #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] + pub fn cancel_delegator_unstake( &self, - spawner: types::kill_pure::Spawner, - proxy_type: types::kill_pure::ProxyType, - index: types::kill_pure::Index, - height: types::kill_pure::Height, - ext_index: types::kill_pure::ExtIndex, - ) -> ::subxt_core::tx::payload::StaticPayload { + operator: types::cancel_delegator_unstake::Operator, + asset: types::cancel_delegator_unstake::Asset, + amount: types::cancel_delegator_unstake::Amount, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "Proxy", - "kill_pure", - types::KillPure { spawner, proxy_type, index, height, ext_index }, + "MultiAssetDelegation", + "cancel_delegator_unstake", + types::CancelDelegatorUnstake { operator, asset, amount }, [ - 125u8, 59u8, 127u8, 47u8, 63u8, 48u8, 101u8, 56u8, 61u8, 192u8, 198u8, - 217u8, 119u8, 91u8, 186u8, 35u8, 119u8, 222u8, 16u8, 246u8, 42u8, - 248u8, 19u8, 89u8, 246u8, 20u8, 66u8, 14u8, 133u8, 32u8, 118u8, 118u8, + 14u8, 229u8, 151u8, 81u8, 188u8, 12u8, 209u8, 238u8, 162u8, 46u8, 19u8, + 80u8, 133u8, 217u8, 229u8, 78u8, 89u8, 44u8, 87u8, 215u8, 183u8, 87u8, + 189u8, 122u8, 112u8, 217u8, 147u8, 17u8, 161u8, 85u8, 210u8, 109u8, ], ) } - #[doc = "Publish the hash of a proxy-call that will be made in the future."] - #[doc = ""] - #[doc = "This must be called some number of blocks before the corresponding `proxy` is attempted"] - #[doc = "if the delay associated with the proxy relationship is greater than zero."] + #[doc = "Delegates nominated tokens to an operator."] #[doc = ""] - #[doc = "No more than `MaxPending` announcements may be made at any one time."] + #[doc = "# Arguments"] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `operator` - The operator to delegate to"] + #[doc = "* `amount` - Amount of nominated tokens to delegate"] + #[doc = "* `blueprint_selection` - Strategy for selecting which blueprints to work with"] #[doc = ""] - #[doc = "This will take a deposit of `AnnouncementDepositFactor` as well as"] - #[doc = "`AnnouncementDepositBase` if there are no other pending announcements."] + #[doc = "# Errors"] + #[doc = "* `NotDelegator` - Account is not a delegator"] + #[doc = "* `NotNominator` - Account has no nominated tokens"] + #[doc = "* `InsufficientBalance` - Not enough nominated tokens available"] + #[doc = "* `MaxDelegationsExceeded` - Would exceed maximum allowed delegations"] + #[doc = "* `OverflowRisk` - Arithmetic overflow during calculations"] + #[doc = "* `InvalidAmount` - Amount specified is zero"] + pub fn delegate_nomination( + &self, + operator: types::delegate_nomination::Operator, + amount: types::delegate_nomination::Amount, + blueprint_selection: types::delegate_nomination::BlueprintSelection, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "MultiAssetDelegation", + "delegate_nomination", + types::DelegateNomination { operator, amount, blueprint_selection }, + [ + 96u8, 86u8, 61u8, 46u8, 91u8, 1u8, 194u8, 7u8, 120u8, 226u8, 181u8, + 9u8, 206u8, 87u8, 89u8, 157u8, 137u8, 57u8, 163u8, 63u8, 148u8, 108u8, + 254u8, 173u8, 232u8, 130u8, 127u8, 44u8, 143u8, 236u8, 92u8, 108u8, + ], + ) + } + #[doc = "Schedules an unstake request for nomination delegations."] #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and a proxy of `real`."] + #[doc = "# Arguments"] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `operator` - The operator to unstake from"] + #[doc = "* `amount` - Amount of nominated tokens to unstake"] + #[doc = "* `blueprint_selection` - The blueprint selection to use after unstaking"] #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `real`: The account that the proxy will make a call on behalf of."] - #[doc = "- `call_hash`: The hash of the call to be made by the `real` account."] - pub fn announce( + #[doc = "# Errors"] + #[doc = "* `NotDelegator` - Account is not a delegator"] + #[doc = "* `NoActiveDelegation` - No active nomination delegation found"] + #[doc = "* `InsufficientBalance` - Trying to unstake more than delegated"] + #[doc = "* `MaxUnstakeRequestsExceeded` - Too many pending unstake requests"] + #[doc = "* `InvalidAmount` - Amount specified is zero"] + pub fn schedule_nomination_unstake( &self, - real: types::announce::Real, - call_hash: types::announce::CallHash, - ) -> ::subxt_core::tx::payload::StaticPayload { + operator: types::schedule_nomination_unstake::Operator, + amount: types::schedule_nomination_unstake::Amount, + blueprint_selection: types::schedule_nomination_unstake::BlueprintSelection, + ) -> ::subxt_core::tx::payload::StaticPayload + { ::subxt_core::tx::payload::StaticPayload::new_static( - "Proxy", - "announce", - types::Announce { real, call_hash }, + "MultiAssetDelegation", + "schedule_nomination_unstake", + types::ScheduleNominationUnstake { operator, amount, blueprint_selection }, [ - 32u8, 88u8, 145u8, 33u8, 55u8, 44u8, 136u8, 153u8, 26u8, 111u8, 73u8, - 15u8, 247u8, 188u8, 14u8, 236u8, 221u8, 222u8, 60u8, 97u8, 71u8, 229u8, - 18u8, 120u8, 182u8, 43u8, 67u8, 248u8, 169u8, 80u8, 170u8, 207u8, + 115u8, 105u8, 237u8, 148u8, 106u8, 238u8, 31u8, 101u8, 99u8, 135u8, + 73u8, 48u8, 168u8, 16u8, 198u8, 208u8, 195u8, 155u8, 212u8, 153u8, + 182u8, 57u8, 104u8, 46u8, 96u8, 229u8, 238u8, 10u8, 8u8, 217u8, 5u8, + 184u8, ], ) } - #[doc = "Remove a given announcement."] + #[doc = "Executes a scheduled unstake request for nomination delegations."] #[doc = ""] - #[doc = "May be called by a proxy account to remove a call they previously announced and return"] - #[doc = "the deposit."] + #[doc = "# Arguments"] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `operator` - The operator to execute unstake from"] #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = "# Errors"] + #[doc = "* `NotDelegator` - Account is not a delegator"] + #[doc = "* `NoBondLessRequest` - No matching unstake request found"] + #[doc = "* `BondLessNotReady` - Unstake request not ready for execution"] + #[doc = "* `NoActiveDelegation` - No active nomination delegation found"] + #[doc = "* `InsufficientBalance` - Insufficient balance for unstaking"] + pub fn execute_nomination_unstake( + &self, + operator: types::execute_nomination_unstake::Operator, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "MultiAssetDelegation", + "execute_nomination_unstake", + types::ExecuteNominationUnstake { operator }, + [ + 38u8, 107u8, 35u8, 35u8, 2u8, 215u8, 211u8, 212u8, 169u8, 215u8, 169u8, + 196u8, 59u8, 45u8, 94u8, 186u8, 138u8, 193u8, 87u8, 115u8, 73u8, 217u8, + 125u8, 137u8, 106u8, 26u8, 207u8, 92u8, 139u8, 137u8, 114u8, 111u8, + ], + ) + } + #[doc = "Cancels a scheduled unstake request for nomination delegations."] #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `real`: The account that the proxy will make a call on behalf of."] - #[doc = "- `call_hash`: The hash of the call to be made by the `real` account."] - pub fn remove_announcement( + #[doc = "# Arguments"] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `operator` - The operator whose unstake request to cancel"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "* `NotDelegator` - Account is not a delegator"] + #[doc = "* `NoBondLessRequest` - No matching unstake request found"] + pub fn cancel_nomination_unstake( &self, - real: types::remove_announcement::Real, - call_hash: types::remove_announcement::CallHash, - ) -> ::subxt_core::tx::payload::StaticPayload { + operator: types::cancel_nomination_unstake::Operator, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "Proxy", - "remove_announcement", - types::RemoveAnnouncement { real, call_hash }, + "MultiAssetDelegation", + "cancel_nomination_unstake", + types::CancelNominationUnstake { operator }, [ - 195u8, 224u8, 61u8, 33u8, 27u8, 100u8, 168u8, 18u8, 105u8, 23u8, 220u8, - 168u8, 207u8, 231u8, 136u8, 46u8, 181u8, 85u8, 15u8, 151u8, 126u8, - 227u8, 97u8, 162u8, 232u8, 39u8, 45u8, 255u8, 44u8, 167u8, 237u8, 38u8, + 112u8, 148u8, 215u8, 132u8, 205u8, 88u8, 80u8, 43u8, 130u8, 234u8, + 135u8, 174u8, 232u8, 85u8, 45u8, 176u8, 222u8, 108u8, 255u8, 91u8, + 219u8, 229u8, 41u8, 93u8, 41u8, 242u8, 202u8, 35u8, 2u8, 116u8, 52u8, + 166u8, ], ) } - #[doc = "Remove the given announcement of a delegate."] + #[doc = "Adds a blueprint ID to a delegator's selection."] #[doc = ""] - #[doc = "May be called by a target (proxied) account to remove a call that one of their delegates"] - #[doc = "(`delegate`) has announced they want to execute. The deposit is returned."] + #[doc = "# Permissions"] #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = "* Must be signed by the delegator account"] #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `delegate`: The account that previously announced the call."] - #[doc = "- `call_hash`: The hash of the call to be made."] - pub fn reject_announcement( + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `blueprint_id` - ID of blueprint to add"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotDelegator`] - Account is not a delegator"] + #[doc = "* [`Error::DuplicateBlueprintId`] - Blueprint ID already exists"] + #[doc = "* [`Error::MaxBlueprintsExceeded`] - Would exceed max blueprints"] + #[doc = "* [`Error::NotInFixedMode`] - Not in fixed blueprint selection mode"] + pub fn add_blueprint_id( &self, - delegate: types::reject_announcement::Delegate, - call_hash: types::reject_announcement::CallHash, - ) -> ::subxt_core::tx::payload::StaticPayload { + blueprint_id: types::add_blueprint_id::BlueprintId, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "Proxy", - "reject_announcement", - types::RejectAnnouncement { delegate, call_hash }, + "MultiAssetDelegation", + "add_blueprint_id", + types::AddBlueprintId { blueprint_id }, [ - 29u8, 140u8, 243u8, 165u8, 143u8, 166u8, 205u8, 203u8, 111u8, 196u8, - 11u8, 2u8, 4u8, 230u8, 11u8, 136u8, 249u8, 139u8, 224u8, 242u8, 96u8, - 146u8, 118u8, 210u8, 104u8, 77u8, 168u8, 28u8, 67u8, 244u8, 91u8, 65u8, + 74u8, 66u8, 160u8, 46u8, 189u8, 193u8, 17u8, 231u8, 120u8, 52u8, 172u8, + 159u8, 250u8, 132u8, 97u8, 232u8, 0u8, 156u8, 141u8, 168u8, 85u8, 31u8, + 114u8, 113u8, 101u8, 141u8, 69u8, 28u8, 54u8, 103u8, 54u8, 29u8, ], ) } - #[doc = "Dispatch the given `call` from an account that the sender is authorized for through"] - #[doc = "`add_proxy`."] + #[doc = "Removes a blueprint ID from a delegator's selection."] #[doc = ""] - #[doc = "Removes any corresponding announcement(s)."] + #[doc = "# Permissions"] #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = "* Must be signed by the delegator account"] #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `real`: The account that the proxy will make a call on behalf of."] - #[doc = "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call."] - #[doc = "- `call`: The call to be made by the `real` account."] - pub fn proxy_announced( + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `blueprint_id` - ID of blueprint to remove"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::NotDelegator`] - Account is not a delegator"] + #[doc = "* [`Error::BlueprintIdNotFound`] - Blueprint ID not found"] + #[doc = "* [`Error::NotInFixedMode`] - Not in fixed blueprint selection mode"] + pub fn remove_blueprint_id( &self, - delegate: types::proxy_announced::Delegate, - real: types::proxy_announced::Real, - force_proxy_type: types::proxy_announced::ForceProxyType, - call: types::proxy_announced::Call, - ) -> ::subxt_core::tx::payload::StaticPayload { + blueprint_id: types::remove_blueprint_id::BlueprintId, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "Proxy", - "proxy_announced", - types::ProxyAnnounced { - delegate, - real, - force_proxy_type, - call: ::subxt_core::alloc::boxed::Box::new(call), - }, + "MultiAssetDelegation", + "remove_blueprint_id", + types::RemoveBlueprintId { blueprint_id }, [ - 247u8, 153u8, 248u8, 159u8, 28u8, 54u8, 96u8, 192u8, 172u8, 254u8, - 125u8, 161u8, 11u8, 218u8, 58u8, 73u8, 236u8, 229u8, 133u8, 126u8, - 82u8, 93u8, 57u8, 67u8, 40u8, 108u8, 242u8, 107u8, 212u8, 200u8, 94u8, - 199u8, + 81u8, 3u8, 117u8, 89u8, 53u8, 187u8, 26u8, 167u8, 9u8, 26u8, 9u8, + 213u8, 230u8, 218u8, 64u8, 142u8, 227u8, 34u8, 128u8, 123u8, 197u8, + 25u8, 199u8, 212u8, 118u8, 117u8, 134u8, 45u8, 116u8, 10u8, 217u8, + 136u8, ], ) } } - } - #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::pallet_proxy::pallet::Event; - pub mod events { - use super::runtime_types; + } + #[doc = "Events emitted by the pallet."] + pub type Event = runtime_types::pallet_multi_asset_delegation::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "An operator has joined."] + pub struct OperatorJoined { + pub who: operator_joined::Who, + } + pub mod operator_joined { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::events::StaticEvent for OperatorJoined { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "OperatorJoined"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "An operator has scheduled to leave."] + pub struct OperatorLeavingScheduled { + pub who: operator_leaving_scheduled::Who, + } + pub mod operator_leaving_scheduled { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::events::StaticEvent for OperatorLeavingScheduled { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "OperatorLeavingScheduled"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "An operator has cancelled their leave request."] + pub struct OperatorLeaveCancelled { + pub who: operator_leave_cancelled::Who, + } + pub mod operator_leave_cancelled { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::events::StaticEvent for OperatorLeaveCancelled { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "OperatorLeaveCancelled"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "An operator has executed their leave request."] + pub struct OperatorLeaveExecuted { + pub who: operator_leave_executed::Who, + } + pub mod operator_leave_executed { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::events::StaticEvent for OperatorLeaveExecuted { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "OperatorLeaveExecuted"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "An operator has increased their stake."] + pub struct OperatorBondMore { + pub who: operator_bond_more::Who, + pub additional_bond: operator_bond_more::AdditionalBond, + } + pub mod operator_bond_more { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + pub type AdditionalBond = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for OperatorBondMore { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "OperatorBondMore"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "An operator has scheduled to decrease their stake."] + pub struct OperatorBondLessScheduled { + pub who: operator_bond_less_scheduled::Who, + pub unstake_amount: operator_bond_less_scheduled::UnstakeAmount, + } + pub mod operator_bond_less_scheduled { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + pub type UnstakeAmount = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for OperatorBondLessScheduled { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "OperatorBondLessScheduled"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "An operator has executed their stake decrease."] + pub struct OperatorBondLessExecuted { + pub who: operator_bond_less_executed::Who, + } + pub mod operator_bond_less_executed { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::events::StaticEvent for OperatorBondLessExecuted { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "OperatorBondLessExecuted"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "An operator has cancelled their stake decrease request."] + pub struct OperatorBondLessCancelled { + pub who: operator_bond_less_cancelled::Who, + } + pub mod operator_bond_less_cancelled { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::events::StaticEvent for OperatorBondLessCancelled { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "OperatorBondLessCancelled"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "An operator has gone offline."] + pub struct OperatorWentOffline { + pub who: operator_went_offline::Who, + } + pub mod operator_went_offline { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::events::StaticEvent for OperatorWentOffline { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "OperatorWentOffline"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "An operator has gone online."] + pub struct OperatorWentOnline { + pub who: operator_went_online::Who, + } + pub mod operator_went_online { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::events::StaticEvent for OperatorWentOnline { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "OperatorWentOnline"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A deposit has been made."] + pub struct Deposited { + pub who: deposited::Who, + pub amount: deposited::Amount, + pub asset: deposited::Asset, + } + pub mod deposited { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; + } + impl ::subxt_core::events::StaticEvent for Deposited { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "Deposited"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "An withdraw has been scheduled."] + pub struct ScheduledWithdraw { + pub who: scheduled_withdraw::Who, + pub amount: scheduled_withdraw::Amount, + pub asset: scheduled_withdraw::Asset, + } + pub mod scheduled_withdraw { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; + } + impl ::subxt_core::events::StaticEvent for ScheduledWithdraw { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "ScheduledWithdraw"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "An withdraw has been executed."] + pub struct ExecutedWithdraw { + pub who: executed_withdraw::Who, + } + pub mod executed_withdraw { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::events::StaticEvent for ExecutedWithdraw { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "ExecutedWithdraw"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "An withdraw has been cancelled."] + pub struct CancelledWithdraw { + pub who: cancelled_withdraw::Who, + } + pub mod cancelled_withdraw { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::events::StaticEvent for CancelledWithdraw { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "CancelledWithdraw"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A delegation has been made."] + pub struct Delegated { + pub who: delegated::Who, + pub operator: delegated::Operator, + pub amount: delegated::Amount, + pub asset: delegated::Asset, + } + pub mod delegated { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; + } + impl ::subxt_core::events::StaticEvent for Delegated { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "Delegated"; + } #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -44235,18 +43525,27 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A proxy was executed correctly, with the given."] - pub struct ProxyExecuted { - pub result: proxy_executed::Result, + #[doc = "A delegator unstake request has been scheduled."] + pub struct DelegatorUnstakeScheduled { + pub who: delegator_unstake_scheduled::Who, + pub operator: delegator_unstake_scheduled::Operator, + pub asset: delegator_unstake_scheduled::Asset, + pub amount: delegator_unstake_scheduled::Amount, + pub when: delegator_unstake_scheduled::When, } - pub mod proxy_executed { + pub mod delegator_unstake_scheduled { use super::runtime_types; - pub type Result = - ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>; + pub type Who = ::subxt_core::utils::AccountId32; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; + pub type Amount = ::core::primitive::u128; + pub type When = ::core::primitive::u32; } - impl ::subxt_core::events::StaticEvent for ProxyExecuted { - const PALLET: &'static str = "Proxy"; - const EVENT: &'static str = "ProxyExecuted"; + impl ::subxt_core::events::StaticEvent for DelegatorUnstakeScheduled { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "DelegatorUnstakeScheduled"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -44262,24 +43561,25 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A pure account has been created by new proxy with given"] - #[doc = "disambiguation index and proxy type."] - pub struct PureCreated { - pub pure: pure_created::Pure, - pub who: pure_created::Who, - pub proxy_type: pure_created::ProxyType, - pub disambiguation_index: pure_created::DisambiguationIndex, + #[doc = "A delegator unstake request has been executed."] + pub struct DelegatorUnstakeExecuted { + pub who: delegator_unstake_executed::Who, + pub operator: delegator_unstake_executed::Operator, + pub asset: delegator_unstake_executed::Asset, + pub amount: delegator_unstake_executed::Amount, } - pub mod pure_created { + pub mod delegator_unstake_executed { use super::runtime_types; - pub type Pure = ::subxt_core::utils::AccountId32; pub type Who = ::subxt_core::utils::AccountId32; - pub type ProxyType = runtime_types::tangle_testnet_runtime::ProxyType; - pub type DisambiguationIndex = ::core::primitive::u16; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; + pub type Amount = ::core::primitive::u128; } - impl ::subxt_core::events::StaticEvent for PureCreated { - const PALLET: &'static str = "Proxy"; - const EVENT: &'static str = "PureCreated"; + impl ::subxt_core::events::StaticEvent for DelegatorUnstakeExecuted { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "DelegatorUnstakeExecuted"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -44295,21 +43595,25 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An announcement was placed to make a call in the future."] - pub struct Announced { - pub real: announced::Real, - pub proxy: announced::Proxy, - pub call_hash: announced::CallHash, + #[doc = "A delegator unstake request has been cancelled."] + pub struct DelegatorUnstakeCancelled { + pub who: delegator_unstake_cancelled::Who, + pub operator: delegator_unstake_cancelled::Operator, + pub asset: delegator_unstake_cancelled::Asset, + pub amount: delegator_unstake_cancelled::Amount, } - pub mod announced { + pub mod delegator_unstake_cancelled { use super::runtime_types; - pub type Real = ::subxt_core::utils::AccountId32; - pub type Proxy = ::subxt_core::utils::AccountId32; - pub type CallHash = ::subxt_core::utils::H256; + pub type Who = ::subxt_core::utils::AccountId32; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; + pub type Amount = ::core::primitive::u128; } - impl ::subxt_core::events::StaticEvent for Announced { - const PALLET: &'static str = "Proxy"; - const EVENT: &'static str = "Announced"; + impl ::subxt_core::events::StaticEvent for DelegatorUnstakeCancelled { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "DelegatorUnstakeCancelled"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -44325,23 +43629,63 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A proxy was added."] - pub struct ProxyAdded { - pub delegator: proxy_added::Delegator, - pub delegatee: proxy_added::Delegatee, - pub proxy_type: proxy_added::ProxyType, - pub delay: proxy_added::Delay, + #[doc = "An Operator has been slashed."] + pub struct OperatorSlashed { + pub operator: operator_slashed::Operator, + pub amount: operator_slashed::Amount, + pub service_id: operator_slashed::ServiceId, + pub blueprint_id: operator_slashed::BlueprintId, + pub era: operator_slashed::Era, } - pub mod proxy_added { + pub mod operator_slashed { + use super::runtime_types; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + pub type ServiceId = ::core::primitive::u64; + pub type BlueprintId = ::core::primitive::u64; + pub type Era = ::core::primitive::u32; + } + impl ::subxt_core::events::StaticEvent for OperatorSlashed { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "OperatorSlashed"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A Delegator has been slashed."] + pub struct DelegatorSlashed { + pub delegator: delegator_slashed::Delegator, + pub amount: delegator_slashed::Amount, + pub asset: delegator_slashed::Asset, + pub service_id: delegator_slashed::ServiceId, + pub blueprint_id: delegator_slashed::BlueprintId, + pub era: delegator_slashed::Era, + } + pub mod delegator_slashed { use super::runtime_types; pub type Delegator = ::subxt_core::utils::AccountId32; - pub type Delegatee = ::subxt_core::utils::AccountId32; - pub type ProxyType = runtime_types::tangle_testnet_runtime::ProxyType; - pub type Delay = ::core::primitive::u64; + pub type Amount = ::core::primitive::u128; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; + pub type ServiceId = ::core::primitive::u64; + pub type BlueprintId = ::core::primitive::u64; + pub type Era = ::core::primitive::u32; } - impl ::subxt_core::events::StaticEvent for ProxyAdded { - const PALLET: &'static str = "Proxy"; - const EVENT: &'static str = "ProxyAdded"; + impl ::subxt_core::events::StaticEvent for DelegatorSlashed { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "DelegatorSlashed"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -44357,147 +43701,391 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A proxy was removed."] - pub struct ProxyRemoved { - pub delegator: proxy_removed::Delegator, - pub delegatee: proxy_removed::Delegatee, - pub proxy_type: proxy_removed::ProxyType, - pub delay: proxy_removed::Delay, + #[doc = "A Delegator's nominated stake has been slashed."] + pub struct NominatedSlash { + pub delegator: nominated_slash::Delegator, + pub operator: nominated_slash::Operator, + pub amount: nominated_slash::Amount, + pub service_id: nominated_slash::ServiceId, + pub blueprint_id: nominated_slash::BlueprintId, + pub era: nominated_slash::Era, } - pub mod proxy_removed { + pub mod nominated_slash { use super::runtime_types; pub type Delegator = ::subxt_core::utils::AccountId32; - pub type Delegatee = ::subxt_core::utils::AccountId32; - pub type ProxyType = runtime_types::tangle_testnet_runtime::ProxyType; - pub type Delay = ::core::primitive::u64; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + pub type ServiceId = ::core::primitive::u64; + pub type BlueprintId = ::core::primitive::u64; + pub type Era = ::core::primitive::u32; } - impl ::subxt_core::events::StaticEvent for ProxyRemoved { - const PALLET: &'static str = "Proxy"; - const EVENT: &'static str = "ProxyRemoved"; + impl ::subxt_core::events::StaticEvent for NominatedSlash { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "NominatedSlash"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "EVM execution reverted with a reason."] + pub struct EvmReverted { + pub from: evm_reverted::From, + pub to: evm_reverted::To, + pub data: evm_reverted::Data, + pub reason: evm_reverted::Reason, + } + pub mod evm_reverted { + use super::runtime_types; + pub type From = ::subxt_core::utils::H160; + pub type To = ::subxt_core::utils::H160; + pub type Data = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; + pub type Reason = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; + } + impl ::subxt_core::events::StaticEvent for EvmReverted { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "EvmReverted"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A nomination has been delegated"] + pub struct NominationDelegated { + pub who: nomination_delegated::Who, + pub operator: nomination_delegated::Operator, + pub amount: nomination_delegated::Amount, + } + pub mod nomination_delegated { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for NominationDelegated { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "NominationDelegated"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A nomination unstake request has been scheduled."] + pub struct NominationUnstakeScheduled { + pub who: nomination_unstake_scheduled::Who, + pub operator: nomination_unstake_scheduled::Operator, + pub amount: nomination_unstake_scheduled::Amount, + pub when: nomination_unstake_scheduled::When, + } + pub mod nomination_unstake_scheduled { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + pub type When = ::core::primitive::u32; + } + impl ::subxt_core::events::StaticEvent for NominationUnstakeScheduled { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "NominationUnstakeScheduled"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A nomination unstake request has been executed."] + pub struct NominationUnstakeExecuted { + pub who: nomination_unstake_executed::Who, + pub operator: nomination_unstake_executed::Operator, + pub amount: nomination_unstake_executed::Amount, + } + pub mod nomination_unstake_executed { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for NominationUnstakeExecuted { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "NominationUnstakeExecuted"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A nomination unstake request has been cancelled."] + pub struct NominationUnstakeCancelled { + pub who: nomination_unstake_cancelled::Who, + pub operator: nomination_unstake_cancelled::Operator, + pub amount: nomination_unstake_cancelled::Amount, + } + pub mod nomination_unstake_cancelled { + use super::runtime_types; + pub type Who = ::subxt_core::utils::AccountId32; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for NominationUnstakeCancelled { + const PALLET: &'static str = "MultiAssetDelegation"; + const EVENT: &'static str = "NominationUnstakeCancelled"; } } pub mod storage { use super::runtime_types; pub mod types { use super::runtime_types; - pub mod proxies { + pub mod operators { use super::runtime_types; - pub type Proxies = ( - runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_proxy::ProxyDefinition< - ::subxt_core::utils::AccountId32, - runtime_types::tangle_testnet_runtime::ProxyType, - ::core::primitive::u64, - >, - >, - ::core::primitive::u128, - ); + pub type Operators = runtime_types :: pallet_multi_asset_delegation :: types :: operator :: OperatorMetadata < :: subxt_core :: utils :: AccountId32 , :: core :: primitive :: u128 , :: core :: primitive :: u128 , runtime_types :: tangle_testnet_runtime :: MaxDelegations , runtime_types :: tangle_testnet_runtime :: MaxOperatorBlueprints > ; pub type Param0 = ::subxt_core::utils::AccountId32; } - pub mod announcements { + pub mod current_round { use super::runtime_types; - pub type Announcements = ( - runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::pallet_proxy::Announcement< - ::subxt_core::utils::AccountId32, - ::subxt_core::utils::H256, - ::core::primitive::u64, - >, - >, - ::core::primitive::u128, - ); + pub type CurrentRound = ::core::primitive::u32; + } + pub mod at_stake { + use super::runtime_types; + pub type AtStake = runtime_types :: pallet_multi_asset_delegation :: types :: operator :: OperatorSnapshot < :: subxt_core :: utils :: AccountId32 , :: core :: primitive :: u128 , :: core :: primitive :: u128 , runtime_types :: tangle_testnet_runtime :: MaxDelegations > ; + pub type Param0 = ::core::primitive::u32; + pub type Param1 = ::subxt_core::utils::AccountId32; + } + pub mod delegators { + use super::runtime_types; + pub type Delegators = runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorMetadata < :: subxt_core :: utils :: AccountId32 , :: core :: primitive :: u128 , :: core :: primitive :: u128 , runtime_types :: tangle_testnet_runtime :: MaxWithdrawRequests , runtime_types :: tangle_testnet_runtime :: MaxDelegations , runtime_types :: tangle_testnet_runtime :: MaxUnstakeRequests , runtime_types :: tangle_testnet_runtime :: MaxDelegatorBlueprints , :: core :: primitive :: u64 , runtime_types :: tangle_testnet_runtime :: MaxDelegations > ; pub type Param0 = ::subxt_core::utils::AccountId32; } } pub struct StorageApi; impl StorageApi { - #[doc = " The set of account proxies. Maps the account which has delegated to the accounts"] - #[doc = " which are being delegated to, together with the amount held on deposit."] - pub fn proxies_iter( + #[doc = " Storage for operator information."] + pub fn operators_iter( &self, ) -> ::subxt_core::storage::address::StaticAddress< (), - types::proxies::Proxies, + types::operators::Operators, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "MultiAssetDelegation", + "Operators", + (), + [ + 208u8, 207u8, 186u8, 143u8, 163u8, 150u8, 116u8, 18u8, 72u8, 158u8, + 68u8, 2u8, 245u8, 195u8, 234u8, 39u8, 215u8, 237u8, 120u8, 92u8, 129u8, + 224u8, 52u8, 174u8, 123u8, 139u8, 121u8, 252u8, 222u8, 100u8, 17u8, + 241u8, + ], + ) + } + #[doc = " Storage for operator information."] + pub fn operators( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::operators::Operators, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "MultiAssetDelegation", + "Operators", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 208u8, 207u8, 186u8, 143u8, 163u8, 150u8, 116u8, 18u8, 72u8, 158u8, + 68u8, 2u8, 245u8, 195u8, 234u8, 39u8, 215u8, 237u8, 120u8, 92u8, 129u8, + 224u8, 52u8, 174u8, 123u8, 139u8, 121u8, 252u8, 222u8, 100u8, 17u8, + 241u8, + ], + ) + } + #[doc = " Storage for the current round."] + pub fn current_round( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< (), + types::current_round::CurrentRound, ::subxt_core::utils::Yes, ::subxt_core::utils::Yes, + (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "Proxy", - "Proxies", + "MultiAssetDelegation", + "CurrentRound", (), [ - 223u8, 41u8, 16u8, 124u8, 14u8, 158u8, 113u8, 7u8, 229u8, 203u8, 172u8, - 71u8, 221u8, 164u8, 20u8, 177u8, 252u8, 14u8, 117u8, 176u8, 21u8, - 236u8, 79u8, 107u8, 57u8, 148u8, 170u8, 107u8, 179u8, 144u8, 255u8, - 10u8, + 36u8, 98u8, 75u8, 19u8, 13u8, 250u8, 136u8, 31u8, 63u8, 120u8, 224u8, + 83u8, 183u8, 198u8, 195u8, 37u8, 82u8, 213u8, 193u8, 217u8, 137u8, + 62u8, 201u8, 251u8, 45u8, 141u8, 171u8, 22u8, 54u8, 134u8, 113u8, + 232u8, ], ) } - #[doc = " The set of account proxies. Maps the account which has delegated to the accounts"] - #[doc = " which are being delegated to, together with the amount held on deposit."] - pub fn proxies( + #[doc = " Snapshot of collator delegation stake at the start of the round."] + pub fn at_stake_iter( &self, - _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::proxies::Proxies, + (), + types::at_stake::AtStake, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "MultiAssetDelegation", + "AtStake", + (), + [ + 132u8, 47u8, 128u8, 227u8, 221u8, 91u8, 239u8, 154u8, 0u8, 229u8, 31u8, + 145u8, 160u8, 210u8, 231u8, 90u8, 164u8, 39u8, 38u8, 43u8, 57u8, 114u8, + 85u8, 225u8, 165u8, 242u8, 100u8, 169u8, 4u8, 159u8, 124u8, 33u8, + ], + ) + } + #[doc = " Snapshot of collator delegation stake at the start of the round."] + pub fn at_stake_iter1( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::at_stake::AtStake, + (), + (), ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "MultiAssetDelegation", + "AtStake", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 132u8, 47u8, 128u8, 227u8, 221u8, 91u8, 239u8, 154u8, 0u8, 229u8, 31u8, + 145u8, 160u8, 210u8, 231u8, 90u8, 164u8, 39u8, 38u8, 43u8, 57u8, 114u8, + 85u8, 225u8, 165u8, 242u8, 100u8, 169u8, 4u8, 159u8, 124u8, 33u8, + ], + ) + } + #[doc = " Snapshot of collator delegation stake at the start of the round."] + pub fn at_stake( + &self, + _0: impl ::core::borrow::Borrow, + _1: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ( + ::subxt_core::storage::address::StaticStorageKey, + ::subxt_core::storage::address::StaticStorageKey, + ), + types::at_stake::AtStake, ::subxt_core::utils::Yes, (), + (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "Proxy", - "Proxies", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + "MultiAssetDelegation", + "AtStake", + ( + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), + ), [ - 223u8, 41u8, 16u8, 124u8, 14u8, 158u8, 113u8, 7u8, 229u8, 203u8, 172u8, - 71u8, 221u8, 164u8, 20u8, 177u8, 252u8, 14u8, 117u8, 176u8, 21u8, - 236u8, 79u8, 107u8, 57u8, 148u8, 170u8, 107u8, 179u8, 144u8, 255u8, - 10u8, + 132u8, 47u8, 128u8, 227u8, 221u8, 91u8, 239u8, 154u8, 0u8, 229u8, 31u8, + 145u8, 160u8, 210u8, 231u8, 90u8, 164u8, 39u8, 38u8, 43u8, 57u8, 114u8, + 85u8, 225u8, 165u8, 242u8, 100u8, 169u8, 4u8, 159u8, 124u8, 33u8, ], ) } - #[doc = " The announcements made by the proxy (key)."] - pub fn announcements_iter( + #[doc = " Storage for delegator information."] + pub fn delegators_iter( &self, ) -> ::subxt_core::storage::address::StaticAddress< (), - types::announcements::Announcements, + types::delegators::Delegators, + (), (), - ::subxt_core::utils::Yes, ::subxt_core::utils::Yes, > { ::subxt_core::storage::address::StaticAddress::new_static( - "Proxy", - "Announcements", + "MultiAssetDelegation", + "Delegators", (), [ - 36u8, 91u8, 194u8, 19u8, 186u8, 110u8, 217u8, 123u8, 101u8, 197u8, - 249u8, 185u8, 42u8, 5u8, 244u8, 249u8, 18u8, 156u8, 41u8, 19u8, 86u8, - 12u8, 253u8, 126u8, 232u8, 9u8, 226u8, 210u8, 25u8, 3u8, 115u8, 40u8, + 27u8, 203u8, 91u8, 19u8, 247u8, 168u8, 80u8, 221u8, 203u8, 208u8, + 168u8, 89u8, 146u8, 70u8, 38u8, 253u8, 51u8, 97u8, 17u8, 85u8, 250u8, + 8u8, 46u8, 130u8, 215u8, 255u8, 19u8, 114u8, 218u8, 194u8, 159u8, + 136u8, ], ) } - #[doc = " The announcements made by the proxy (key)."] - pub fn announcements( + #[doc = " Storage for delegator information."] + pub fn delegators( &self, - _0: impl ::core::borrow::Borrow, + _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::announcements::Announcements, - ::subxt_core::utils::Yes, + ::subxt_core::storage::address::StaticStorageKey, + types::delegators::Delegators, ::subxt_core::utils::Yes, (), + (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "Proxy", - "Announcements", + "MultiAssetDelegation", + "Delegators", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 36u8, 91u8, 194u8, 19u8, 186u8, 110u8, 217u8, 123u8, 101u8, 197u8, - 249u8, 185u8, 42u8, 5u8, 244u8, 249u8, 18u8, 156u8, 41u8, 19u8, 86u8, - 12u8, 253u8, 126u8, 232u8, 9u8, 226u8, 210u8, 25u8, 3u8, 115u8, 40u8, + 27u8, 203u8, 91u8, 19u8, 247u8, 168u8, 80u8, 221u8, 203u8, 208u8, + 168u8, 89u8, 146u8, 70u8, 38u8, 253u8, 51u8, 97u8, 17u8, 85u8, 250u8, + 8u8, 46u8, 130u8, 215u8, 255u8, 19u8, 114u8, 218u8, 194u8, 159u8, + 136u8, ], ) } @@ -44507,48 +44095,43 @@ pub mod api { use super::runtime_types; pub struct ConstantsApi; impl ConstantsApi { - #[doc = " The base amount of currency needed to reserve for creating a proxy."] - #[doc = ""] - #[doc = " This is held for an additional storage item whose value size is"] - #[doc = " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes."] - pub fn proxy_deposit_base( + #[doc = " The maximum number of blueprints a delegator can have in Fixed mode."] + pub fn max_delegator_blueprints( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { ::subxt_core::constants::address::StaticAddress::new_static( - "Proxy", - "ProxyDepositBase", + "MultiAssetDelegation", + "MaxDelegatorBlueprints", [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, - 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, ], ) } - #[doc = " The amount of currency needed per proxy added."] - #[doc = ""] - #[doc = " This is held for adding 32 bytes plus an instance of `ProxyType` more into a"] - #[doc = " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take"] - #[doc = " into account `32 + proxy_type.encode().len()` bytes of data."] - pub fn proxy_deposit_factor( + #[doc = " The maximum number of blueprints an operator can support."] + pub fn max_operator_blueprints( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { ::subxt_core::constants::address::StaticAddress::new_static( - "Proxy", - "ProxyDepositFactor", + "MultiAssetDelegation", + "MaxOperatorBlueprints", [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, - 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, ], ) } - #[doc = " The maximum amount of proxies allowed for a single account."] - pub fn max_proxies( + #[doc = " The maximum number of withdraw requests a delegator can have."] + pub fn max_withdraw_requests( &self, ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { ::subxt_core::constants::address::StaticAddress::new_static( - "Proxy", - "MaxProxies", + "MultiAssetDelegation", + "MaxWithdrawRequests", [ 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, @@ -44557,13 +44140,13 @@ pub mod api { ], ) } - #[doc = " The maximum amount of time-delayed announcements that are allowed to be pending."] - pub fn max_pending( + #[doc = " The maximum number of delegations a delegator can have."] + pub fn max_delegations( &self, ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { ::subxt_core::constants::address::StaticAddress::new_static( - "Proxy", - "MaxPending", + "MultiAssetDelegation", + "MaxDelegations", [ 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, @@ -44572,16 +44155,28 @@ pub mod api { ], ) } - #[doc = " The base amount of currency needed to reserve for creating an announcement."] - #[doc = ""] - #[doc = " This is held when a new storage item holding a `Balance` is created (typically 16"] - #[doc = " bytes)."] - pub fn announcement_deposit_base( + #[doc = " The maximum number of unstake requests a delegator can have."] + pub fn max_unstake_requests( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "MultiAssetDelegation", + "MaxUnstakeRequests", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The minimum amount of stake required for an operator."] + pub fn min_operator_bond_amount( &self, ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { ::subxt_core::constants::address::StaticAddress::new_static( - "Proxy", - "AnnouncementDepositBase", + "MultiAssetDelegation", + "MinOperatorBondAmount", [ 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, @@ -44589,16 +44184,13 @@ pub mod api { ], ) } - #[doc = " The amount of currency needed per announcement made."] - #[doc = ""] - #[doc = " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)"] - #[doc = " into a pre-existing storage value."] - pub fn announcement_deposit_factor( + #[doc = " The minimum amount of stake required for a delegate."] + pub fn min_delegate_amount( &self, ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { ::subxt_core::constants::address::StaticAddress::new_static( - "Proxy", - "AnnouncementDepositFactor", + "MultiAssetDelegation", + "MinDelegateAmount", [ 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, @@ -44606,346 +44198,128 @@ pub mod api { ], ) } - } - } - } - pub mod multi_asset_delegation { - use super::root_mod; - use super::runtime_types; - #[doc = "Errors emitted by the pallet."] - pub type Error = runtime_types::pallet_multi_asset_delegation::pallet::Error; - #[doc = "The callable functions (extrinsics) of the pallet."] - pub type Call = runtime_types::pallet_multi_asset_delegation::pallet::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Allows an account to join as an operator by staking the required bond amount."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the account joining as operator"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `bond_amount` - Amount to stake as operator bond"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::DepositOverflow`] - Bond amount would overflow deposit tracking"] - #[doc = "* [`Error::StakeOverflow`] - Bond amount would overflow stake tracking"] - pub struct JoinOperators { - pub bond_amount: join_operators::BondAmount, - } - pub mod join_operators { - use super::runtime_types; - pub type BondAmount = ::core::primitive::u128; - } - impl ::subxt_core::blocks::StaticExtrinsic for JoinOperators { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "join_operators"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Schedules an operator to leave the system."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the operator account"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] - #[doc = "* [`Error::PendingUnstakeRequestExists`] - Operator already has a pending unstake request"] - pub struct ScheduleLeaveOperators; - impl ::subxt_core::blocks::StaticExtrinsic for ScheduleLeaveOperators { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "schedule_leave_operators"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Cancels a scheduled leave for an operator."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the operator account"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] - #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] - pub struct CancelLeaveOperators; - impl ::subxt_core::blocks::StaticExtrinsic for CancelLeaveOperators { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "cancel_leave_operators"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Executes a scheduled leave for an operator."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the operator account"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] - #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] - #[doc = "* [`Error::UnstakePeriodNotElapsed`] - Unstake period has not elapsed yet"] - pub struct ExecuteLeaveOperators; - impl ::subxt_core::blocks::StaticExtrinsic for ExecuteLeaveOperators { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "execute_leave_operators"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Allows an operator to increase their stake."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the operator account"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `additional_bond` - Additional amount to stake"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] - #[doc = "* [`Error::StakeOverflow`] - Additional bond would overflow stake tracking"] - pub struct OperatorBondMore { - pub additional_bond: operator_bond_more::AdditionalBond, - } - pub mod operator_bond_more { - use super::runtime_types; - pub type AdditionalBond = ::core::primitive::u128; - } - impl ::subxt_core::blocks::StaticExtrinsic for OperatorBondMore { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "operator_bond_more"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Schedules an operator to decrease their stake."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the operator account"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `unstake_amount` - Amount to unstake"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] - #[doc = "* [`Error::PendingUnstakeRequestExists`] - Operator already has a pending unstake request"] - #[doc = "* [`Error::InsufficientBalance`] - Operator has insufficient stake to unstake"] - pub struct ScheduleOperatorUnstake { - pub unstake_amount: schedule_operator_unstake::UnstakeAmount, + #[doc = " The duration for which the stake is locked."] + pub fn bond_duration( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "MultiAssetDelegation", + "BondDuration", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } - pub mod schedule_operator_unstake { - use super::runtime_types; - pub type UnstakeAmount = ::core::primitive::u128; + #[doc = " Number of rounds that operators remain bonded before the exit request is executable."] + pub fn leave_operators_delay( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "MultiAssetDelegation", + "LeaveOperatorsDelay", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } - impl ::subxt_core::blocks::StaticExtrinsic for ScheduleOperatorUnstake { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "schedule_operator_unstake"; + #[doc = " Number of rounds operator requests to decrease self-stake must wait to be executable."] + pub fn operator_bond_less_delay( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "MultiAssetDelegation", + "OperatorBondLessDelay", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Executes a scheduled stake decrease for an operator."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the operator account"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] - #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] - #[doc = "* [`Error::UnstakePeriodNotElapsed`] - Unstake period has not elapsed yet"] - pub struct ExecuteOperatorUnstake; - impl ::subxt_core::blocks::StaticExtrinsic for ExecuteOperatorUnstake { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "execute_operator_unstake"; + #[doc = " Number of rounds that delegators remain bonded before the exit request is executable."] + pub fn leave_delegators_delay( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "MultiAssetDelegation", + "LeaveDelegatorsDelay", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Cancels a scheduled stake decrease for an operator."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the operator account"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] - #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] - pub struct CancelOperatorUnstake; - impl ::subxt_core::blocks::StaticExtrinsic for CancelOperatorUnstake { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "cancel_operator_unstake"; + #[doc = " Number of rounds that delegation unstake requests must wait before being executable."] + pub fn delegation_bond_less_delay( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "MultiAssetDelegation", + "DelegationBondLessDelay", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Allows an operator to go offline."] - #[doc = ""] - #[doc = "Being offline means the operator should not be able to be"] - #[doc = "requested for services."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the operator account"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] - #[doc = "* [`Error::AlreadyOffline`] - Operator is already offline"] - pub struct GoOffline; - impl ::subxt_core::blocks::StaticExtrinsic for GoOffline { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "go_offline"; + #[doc = " The pallet's account ID."] + pub fn pallet_id( + &self, + ) -> ::subxt_core::constants::address::StaticAddress< + runtime_types::frame_support::PalletId, + > { + ::subxt_core::constants::address::StaticAddress::new_static( + "MultiAssetDelegation", + "PalletId", + [ + 56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8, + 161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8, + 129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8, + ], + ) + } + pub fn slash_recipient( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::subxt_core::utils::AccountId32> + { + ::subxt_core::constants::address::StaticAddress::new_static( + "MultiAssetDelegation", + "SlashRecipient", + [ + 115u8, 233u8, 13u8, 223u8, 88u8, 20u8, 202u8, 139u8, 153u8, 28u8, + 155u8, 157u8, 224u8, 66u8, 3u8, 250u8, 23u8, 53u8, 88u8, 168u8, 211u8, + 204u8, 122u8, 166u8, 248u8, 23u8, 174u8, 225u8, 99u8, 108u8, 89u8, + 135u8, + ], + ) } + } + } + } + pub mod services { + use super::root_mod; + use super::runtime_types; + #[doc = "The `Error` enum of this pallet."] + pub type Error = runtime_types::pallet_services::module::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::pallet_services::module::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -44960,76 +44334,45 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Allows an operator to go online."] + #[doc = "Create a new service blueprint."] + #[doc = ""] + #[doc = "A Service Blueprint is a template for a service that can be instantiated by users. The blueprint"] + #[doc = "defines the service's constraints, requirements and behavior, including the master blueprint service"] + #[doc = "manager revision to use."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Must be signed by the operator account"] + #[doc = "* The origin must be signed by the account that will own the blueprint"] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] - #[doc = "* `origin` - Origin of the call"] + #[doc = "* `origin` - The origin of the call, must be signed by the account creating the blueprint"] + #[doc = "* `blueprint` - The service blueprint containing:"] + #[doc = " - Service constraints and requirements"] + #[doc = " - Master blueprint service manager revision (Latest or Specific)"] + #[doc = " - Template configuration for service instantiation"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] - #[doc = "* [`Error::AlreadyOnline`] - Operator is already online"] - pub struct GoOnline; - impl ::subxt_core::blocks::StaticExtrinsic for GoOnline { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "go_online"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Allows a user to deposit an asset."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the depositor account"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `asset` - Asset on to deposit"] - #[doc = "* `amount` - Amount to deposit"] - #[doc = "* `evm_address` - Optional EVM address"] + #[doc = "* [`Error::BadOrigin`] - Origin is not signed"] + #[doc = "* [`Error::MasterBlueprintServiceManagerRevisionNotFound`] - Specified MBSM revision does not exist"] + #[doc = "* [`Error::BlueprintCreationInterrupted`] - Blueprint creation is interrupted by hooks"] #[doc = ""] - #[doc = "# Errors"] + #[doc = "# Returns"] #[doc = ""] - #[doc = "* [`Error::DepositOverflow`] - Deposit would overflow tracking"] - #[doc = "* [`Error::InvalidAsset`] - Asset is not supported"] - pub struct Deposit { - pub asset: deposit::Asset, - pub amount: deposit::Amount, - pub evm_address: deposit::EvmAddress, - pub lock_multiplier: deposit::LockMultiplier, + #[doc = "Returns a `DispatchResultWithPostInfo` which on success emits a [`Event::BlueprintCreated`] event"] + #[doc = "containing the owner and blueprint ID."] + pub struct CreateBlueprint { + pub blueprint: create_blueprint::Blueprint, } - pub mod deposit { + pub mod create_blueprint { use super::runtime_types; - pub type Asset = runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, - >; - pub type Amount = ::core::primitive::u128; - pub type EvmAddress = ::core::option::Option<::subxt_core::utils::H160>; - pub type LockMultiplier = ::core::option::Option< - runtime_types::tangle_primitives::types::rewards::LockMultiplier, - >; + pub type Blueprint = + runtime_types::tangle_primitives::services::service::ServiceBlueprint; } - impl ::subxt_core::blocks::StaticExtrinsic for Deposit { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "deposit"; + impl ::subxt_core::blocks::StaticExtrinsic for CreateBlueprint { + const PALLET: &'static str = "Services"; + const CALL: &'static str = "create_blueprint"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -45045,76 +44388,47 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Schedules a withdraw request."] + #[doc = "Pre-register the caller as an operator for a specific blueprint."] #[doc = ""] - #[doc = "# Permissions"] + #[doc = "This function allows an account to signal intent to become an operator for a blueprint by emitting"] + #[doc = "a `PreRegistration` event. The operator node can listen for this event to execute any custom"] + #[doc = "registration logic defined in the blueprint."] #[doc = ""] - #[doc = "* Must be signed by the withdrawer account"] + #[doc = "Pre-registration is the first step in the operator registration flow. After pre-registering,"] + #[doc = "operators must complete the full registration process by calling `register()` with their preferences"] + #[doc = "and registration arguments."] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `asset` - Asset on to withdraw"] - #[doc = "* `amount` - Amount to withdraw"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::InsufficientBalance`] - Insufficient balance to withdraw"] - #[doc = "* [`Error::PendingWithdrawRequestExists`] - Pending withdraw request exists"] - pub struct ScheduleWithdraw { - pub asset: schedule_withdraw::Asset, - pub amount: schedule_withdraw::Amount, - } - pub mod schedule_withdraw { - use super::runtime_types; - pub type Asset = runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, - >; - pub type Amount = ::core::primitive::u128; - } - impl ::subxt_core::blocks::StaticExtrinsic for ScheduleWithdraw { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "schedule_withdraw"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Executes a scheduled withdraw request."] + #[doc = "* `origin: OriginFor` - The origin of the call. Must be signed by the account that wants to"] + #[doc = " become an operator."] + #[doc = "* `blueprint_id: u64` - The identifier of the service blueprint to pre-register for. Must refer"] + #[doc = " to an existing blueprint."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Must be signed by the withdrawer account"] + #[doc = "* The caller must be a signed account."] #[doc = ""] - #[doc = "# Arguments"] + #[doc = "# Events"] #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `evm_address` - Optional EVM address"] + #[doc = "* [`Event::PreRegistration`] - Emitted when pre-registration is successful, containing:"] + #[doc = " - `operator: T::AccountId` - The account ID of the pre-registering operator"] + #[doc = " - `blueprint_id: u64` - The ID of the blueprint being pre-registered for"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [`Error::NoWithdrawRequestExists`] - No pending withdraw request exists"] - #[doc = "* [`Error::WithdrawPeriodNotElapsed`] - Withdraw period has not elapsed"] - pub struct ExecuteWithdraw { - pub evm_address: execute_withdraw::EvmAddress, + #[doc = "* [`Error::BadOrigin`] - The origin was not signed."] + pub struct PreRegister { + #[codec(compact)] + pub blueprint_id: pre_register::BlueprintId, } - pub mod execute_withdraw { + pub mod pre_register { use super::runtime_types; - pub type EvmAddress = ::core::option::Option<::subxt_core::utils::H160>; + pub type BlueprintId = ::core::primitive::u64; } - impl ::subxt_core::blocks::StaticExtrinsic for ExecuteWithdraw { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "execute_withdraw"; + impl ::subxt_core::blocks::StaticExtrinsic for PreRegister { + const PALLET: &'static str = "Services"; + const CALL: &'static str = "pre_register"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -45130,35 +44444,56 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Cancels a scheduled withdraw request."] + #[doc = "Register the caller as an operator for a specific blueprint."] + #[doc = ""] + #[doc = "This function allows an account to register as an operator for a blueprint by providing their"] + #[doc = "service preferences, registration arguments, and staking the required tokens. The operator must"] + #[doc = "be active in the delegation system and may require approval before accepting service requests."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Must be signed by the withdrawer account"] + #[doc = "* The caller must be a signed account"] + #[doc = "* The caller must be an active operator in the delegation system"] + #[doc = "* The caller must not already be registered for this blueprint"] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `asset` - Asset on withdrawal to cancel"] - #[doc = "* `amount` - Amount of the withdrawal to cancel"] + #[doc = "* `origin` - The origin of the call. Must be signed."] + #[doc = "* `blueprint_id` - The identifier of the service blueprint to register for"] + #[doc = "* `preferences` - The operator's service preferences and configuration"] + #[doc = "* `registration_args` - Registration arguments required by the blueprint"] + #[doc = "* `value` - Amount of tokens to stake for registration"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [`Error::NoWithdrawRequestExists`] - No pending withdraw request exists"] - pub struct CancelWithdraw { - pub asset: cancel_withdraw::Asset, - pub amount: cancel_withdraw::Amount, + #[doc = "* [`Error::OperatorNotActive`] - Caller is not an active operator in the delegation system"] + #[doc = "* [`Error::AlreadyRegistered`] - Caller is already registered for this blueprint"] + #[doc = "* [`Error::TypeCheck`] - Registration arguments failed type checking"] + #[doc = "* [`Error::InvalidRegistrationInput`] - Registration hook rejected the registration"] + #[doc = "* [`Error::MaxServicesPerProviderExceeded`] - Operator has reached maximum services limit"] + pub struct Register { + #[codec(compact)] + pub blueprint_id: register::BlueprintId, + pub preferences: register::Preferences, + pub registration_args: register::RegistrationArgs, + #[codec(compact)] + pub value: register::Value, } - pub mod cancel_withdraw { + pub mod register { use super::runtime_types; - pub type Asset = runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, + pub type BlueprintId = ::core::primitive::u64; + pub type Preferences = + runtime_types::tangle_primitives::services::types::OperatorPreferences; + pub type RegistrationArgs = ::subxt_core::alloc::vec::Vec< + runtime_types::tangle_primitives::services::field::Field< + ::subxt_core::utils::AccountId32, + >, >; - pub type Amount = ::core::primitive::u128; + pub type Value = ::core::primitive::u128; } - impl ::subxt_core::blocks::StaticExtrinsic for CancelWithdraw { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "cancel_withdraw"; + impl ::subxt_core::blocks::StaticExtrinsic for Register { + const PALLET: &'static str = "Services"; + const CALL: &'static str = "register"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -45174,92 +44509,37 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Allows a user to delegate an amount of an asset to an operator."] - #[doc = ""] - #[doc = "# Permissions"] + #[doc = "Unregisters a service provider from a specific service blueprint."] #[doc = ""] - #[doc = "* Must be signed by the delegator account"] + #[doc = "Can only be called if the no services are active for the blueprint."] + #[doc = "After unregistering, the provider will no longer receive new service"] + #[doc = "assignments for this blueprint."] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `operator` - Operator to delegate to"] - #[doc = "* `asset` - ID of asset to delegate"] - #[doc = "* `amount` - Amount to delegate"] - #[doc = "* `blueprint_selection` - Blueprint selection strategy"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotOperator`] - Target account is not an operator"] - #[doc = "* [`Error::InsufficientBalance`] - Insufficient balance to delegate"] - #[doc = "* [`Error::MaxDelegationsExceeded`] - Would exceed max delegations"] - pub struct Delegate { - pub operator: delegate::Operator, - pub asset: delegate::Asset, - pub amount: delegate::Amount, - pub blueprint_selection: delegate::BlueprintSelection, - } - pub mod delegate { - use super::runtime_types; - pub type Operator = ::subxt_core::utils::AccountId32; - pub type Asset = runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, - >; - pub type Amount = ::core::primitive::u128; - pub type BlueprintSelection = runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorBlueprintSelection < runtime_types :: tangle_testnet_runtime :: MaxDelegatorBlueprints > ; - } - impl ::subxt_core::blocks::StaticExtrinsic for Delegate { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "delegate"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Schedules a request to reduce a delegator's stake."] + #[doc = "* `origin` - The origin of the call. Must be signed."] + #[doc = "* `blueprint_id` - The identifier of the service blueprint to unregister from."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Must be signed by the delegator account"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `operator` - Operator to unstake from"] - #[doc = "* `asset` - ID of asset to unstake"] - #[doc = "* `amount` - Amount to unstake"] + #[doc = "* Must be signed by a registered service provider"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [`Error::NotDelegator`] - Account is not a delegator"] - #[doc = "* [`Error::InsufficientDelegation`] - Insufficient delegation to unstake"] - #[doc = "* [`Error::PendingUnstakeRequestExists`] - Pending unstake request exists"] - pub struct ScheduleDelegatorUnstake { - pub operator: schedule_delegator_unstake::Operator, - pub asset: schedule_delegator_unstake::Asset, - pub amount: schedule_delegator_unstake::Amount, + #[doc = "* [`Error::NotRegistered`] - The caller is not registered for this blueprint"] + #[doc = "* [`Error::NotAllowedToUnregister`] - Unregistration is currently restricted"] + #[doc = "* [`Error::BlueprintNotFound`] - The blueprint_id does not exist"] + pub struct Unregister { + #[codec(compact)] + pub blueprint_id: unregister::BlueprintId, } - pub mod schedule_delegator_unstake { + pub mod unregister { use super::runtime_types; - pub type Operator = ::subxt_core::utils::AccountId32; - pub type Asset = runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, - >; - pub type Amount = ::core::primitive::u128; + pub type BlueprintId = ::core::primitive::u64; } - impl ::subxt_core::blocks::StaticExtrinsic for ScheduleDelegatorUnstake { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "schedule_delegator_unstake"; + impl ::subxt_core::blocks::StaticExtrinsic for Unregister { + const PALLET: &'static str = "Services"; + const CALL: &'static str = "unregister"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -45275,117 +44555,40 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Executes a scheduled request to reduce a delegator's stake."] - #[doc = ""] - #[doc = "# Permissions"] + #[doc = "Updates the price targets for a registered operator's service blueprint."] #[doc = ""] - #[doc = "* Must be signed by the delegator account"] + #[doc = "Allows an operator to modify their price targets for a specific blueprint they are registered for."] + #[doc = "The operator must already be registered for the blueprint to update prices."] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotDelegator`] - Account is not a delegator"] - #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] - #[doc = "* [`Error::UnstakePeriodNotElapsed`] - Unstake period has not elapsed"] - pub struct ExecuteDelegatorUnstake; - impl ::subxt_core::blocks::StaticExtrinsic for ExecuteDelegatorUnstake { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "execute_delegator_unstake"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Cancels a scheduled request to reduce a delegator's stake."] + #[doc = "* `origin: OriginFor` - The origin of the call. Must be signed by the operator."] + #[doc = "* `blueprint_id: u64` - The identifier of the blueprint to update price targets for."] + #[doc = "* `price_targets: PriceTargets` - The new price targets to set for the blueprint."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Must be signed by the delegator account"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `operator` - Operator to cancel unstake from"] - #[doc = "* `asset` - ID of asset unstake to cancel"] - #[doc = "* `amount` - Amount of unstake to cancel"] + #[doc = "* Must be signed by a registered operator for this blueprint."] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [`Error::NotDelegator`] - Account is not a delegator"] - #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] - pub struct CancelDelegatorUnstake { - pub operator: cancel_delegator_unstake::Operator, - pub asset: cancel_delegator_unstake::Asset, - pub amount: cancel_delegator_unstake::Amount, - } - pub mod cancel_delegator_unstake { - use super::runtime_types; - pub type Operator = ::subxt_core::utils::AccountId32; - pub type Asset = runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, - >; - pub type Amount = ::core::primitive::u128; - } - impl ::subxt_core::blocks::StaticExtrinsic for CancelDelegatorUnstake { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "cancel_delegator_unstake"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Delegates nominated tokens to an operator."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `operator` - The operator to delegate to"] - #[doc = "* `amount` - Amount of nominated tokens to delegate"] - #[doc = "* `blueprint_selection` - Strategy for selecting which blueprints to work with"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = "* `NotDelegator` - Account is not a delegator"] - #[doc = "* `NotNominator` - Account has no nominated tokens"] - #[doc = "* `InsufficientBalance` - Not enough nominated tokens available"] - #[doc = "* `MaxDelegationsExceeded` - Would exceed maximum allowed delegations"] - #[doc = "* `OverflowRisk` - Arithmetic overflow during calculations"] - #[doc = "* `InvalidAmount` - Amount specified is zero"] - pub struct DelegateNomination { - pub operator: delegate_nomination::Operator, - pub amount: delegate_nomination::Amount, - pub blueprint_selection: delegate_nomination::BlueprintSelection, + #[doc = "* [`Error::NotRegistered`] - The caller is not registered for this blueprint."] + #[doc = "* [`Error::NotAllowedToUpdatePriceTargets`] - Price target updates are currently restricted."] + #[doc = "* [`Error::BlueprintNotFound`] - The blueprint_id does not exist."] + pub struct UpdatePriceTargets { + #[codec(compact)] + pub blueprint_id: update_price_targets::BlueprintId, + pub price_targets: update_price_targets::PriceTargets, } - pub mod delegate_nomination { + pub mod update_price_targets { use super::runtime_types; - pub type Operator = ::subxt_core::utils::AccountId32; - pub type Amount = ::core::primitive::u128; - pub type BlueprintSelection = runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorBlueprintSelection < runtime_types :: tangle_testnet_runtime :: MaxDelegatorBlueprints > ; + pub type BlueprintId = ::core::primitive::u64; + pub type PriceTargets = + runtime_types::tangle_primitives::services::types::PriceTargets; } - impl ::subxt_core::blocks::StaticExtrinsic for DelegateNomination { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "delegate_nomination"; + impl ::subxt_core::blocks::StaticExtrinsic for UpdatePriceTargets { + const PALLET: &'static str = "Services"; + const CALL: &'static str = "update_price_targets"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -45401,34 +44604,79 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Schedules an unstake request for nomination delegations."] + #[doc = "Request a new service using a blueprint and specified operators."] #[doc = ""] #[doc = "# Arguments"] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `operator` - The operator to unstake from"] - #[doc = "* `amount` - Amount of nominated tokens to unstake"] - #[doc = "* `blueprint_selection` - The blueprint selection to use after unstaking"] + #[doc = ""] + #[doc = "* `origin: OriginFor` - The origin of the call. Must be signed."] + #[doc = "* `evm_origin: Option` - Optional EVM address for ERC20 payments."] + #[doc = "* `blueprint_id: u64` - The identifier of the blueprint to use."] + #[doc = "* `permitted_callers: Vec` - Accounts allowed to call the service. If empty, only owner can call."] + #[doc = "* `operators: Vec` - List of operators that will run the service."] + #[doc = "* `request_args: Vec>` - Blueprint initialization arguments."] + #[doc = "* `assets: Vec` - Required assets for the service."] + #[doc = "* `ttl: BlockNumberFor` - Time-to-live in blocks for the service request."] + #[doc = "* `payment_asset: Asset` - Asset used for payment (native, custom or ERC20)."] + #[doc = "* `value: BalanceOf` - Payment amount for the service."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by an account with sufficient balance to pay for the service."] + #[doc = "* For ERC20 payments, the EVM origin must match the caller's mapped account."] #[doc = ""] #[doc = "# Errors"] - #[doc = "* `NotDelegator` - Account is not a delegator"] - #[doc = "* `NoActiveDelegation` - No active nomination delegation found"] - #[doc = "* `InsufficientBalance` - Trying to unstake more than delegated"] - #[doc = "* `MaxUnstakeRequestsExceeded` - Too many pending unstake requests"] - #[doc = "* `InvalidAmount` - Amount specified is zero"] - pub struct ScheduleNominationUnstake { - pub operator: schedule_nomination_unstake::Operator, - pub amount: schedule_nomination_unstake::Amount, - pub blueprint_selection: schedule_nomination_unstake::BlueprintSelection, + #[doc = ""] + #[doc = "* [`Error::TypeCheck`] - Request arguments fail blueprint type checking."] + #[doc = "* [`Error::NoAssetsProvided`] - No assets were specified."] + #[doc = "* [`Error::MissingEVMOrigin`] - EVM origin required but not provided for ERC20 payment."] + #[doc = "* [`Error::ERC20TransferFailed`] - ERC20 token transfer failed."] + #[doc = "* [`Error::NotRegistered`] - One or more operators not registered for blueprint."] + #[doc = "* [`Error::BlueprintNotFound`] - The blueprint_id does not exist."] + pub struct Request { + pub evm_origin: request::EvmOrigin, + #[codec(compact)] + pub blueprint_id: request::BlueprintId, + pub permitted_callers: request::PermittedCallers, + pub operators: request::Operators, + pub request_args: request::RequestArgs, + pub asset_security_requirements: request::AssetSecurityRequirements, + #[codec(compact)] + pub ttl: request::Ttl, + pub payment_asset: request::PaymentAsset, + #[codec(compact)] + pub value: request::Value, + pub membership_model: request::MembershipModel, } - pub mod schedule_nomination_unstake { + pub mod request { use super::runtime_types; - pub type Operator = ::subxt_core::utils::AccountId32; - pub type Amount = ::core::primitive::u128; - pub type BlueprintSelection = runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorBlueprintSelection < runtime_types :: tangle_testnet_runtime :: MaxDelegatorBlueprints > ; + pub type EvmOrigin = ::core::option::Option<::subxt_core::utils::H160>; + pub type BlueprintId = ::core::primitive::u64; + pub type PermittedCallers = + ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; + pub type Operators = + ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; + pub type RequestArgs = ::subxt_core::alloc::vec::Vec< + runtime_types::tangle_primitives::services::field::Field< + ::subxt_core::utils::AccountId32, + >, + >; + pub type AssetSecurityRequirements = ::subxt_core::alloc::vec::Vec< + runtime_types::tangle_primitives::services::types::AssetSecurityRequirement< + ::core::primitive::u128, + >, + >; + pub type Ttl = ::core::primitive::u64; + pub type PaymentAsset = + runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; + pub type Value = ::core::primitive::u128; + pub type MembershipModel = + runtime_types::tangle_primitives::services::types::MembershipModel; } - impl ::subxt_core::blocks::StaticExtrinsic for ScheduleNominationUnstake { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "schedule_nomination_unstake"; + impl ::subxt_core::blocks::StaticExtrinsic for Request { + const PALLET: &'static str = "Services"; + const CALL: &'static str = "request"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -45444,28 +44692,42 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Executes a scheduled unstake request for nomination delegations."] + #[doc = "Approve a service request, allowing it to be initiated once all required approvals are received."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Caller must be a registered operator for the service blueprint"] + #[doc = "* Caller must be in the pending approvals list for this request"] #[doc = ""] #[doc = "# Arguments"] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `operator` - The operator to execute unstake from"] + #[doc = ""] + #[doc = "* `origin` - The origin of the call, must be a signed account"] + #[doc = "* `request_id` - The ID of the service request to approve"] + #[doc = "* `native_exposure_percent` - Percentage of native token stake to expose"] + #[doc = "* `asset_exposure` - Vector of asset-specific exposure commitments"] #[doc = ""] #[doc = "# Errors"] - #[doc = "* `NotDelegator` - Account is not a delegator"] - #[doc = "* `NoBondLessRequest` - No matching unstake request found"] - #[doc = "* `BondLessNotReady` - Unstake request not ready for execution"] - #[doc = "* `NoActiveDelegation` - No active nomination delegation found"] - #[doc = "* `InsufficientBalance` - Insufficient balance for unstaking"] - pub struct ExecuteNominationUnstake { - pub operator: execute_nomination_unstake::Operator, + #[doc = ""] + #[doc = "* [`Error::ApprovalNotRequested`] - Caller is not in the pending approvals list"] + #[doc = "* [`Error::ApprovalInterrupted`] - Approval was rejected by blueprint hook"] + #[doc = "* [`Error::InvalidRequestInput`] - Asset exposure commitments don't meet requirements"] + pub struct Approve { + #[codec(compact)] + pub request_id: approve::RequestId, + pub security_commitments: approve::SecurityCommitments, } - pub mod execute_nomination_unstake { + pub mod approve { use super::runtime_types; - pub type Operator = ::subxt_core::utils::AccountId32; + pub type RequestId = ::core::primitive::u64; + pub type SecurityCommitments = ::subxt_core::alloc::vec::Vec< + runtime_types::tangle_primitives::services::types::AssetSecurityCommitment< + ::core::primitive::u128, + >, + >; } - impl ::subxt_core::blocks::StaticExtrinsic for ExecuteNominationUnstake { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "execute_nomination_unstake"; + impl ::subxt_core::blocks::StaticExtrinsic for Approve { + const PALLET: &'static str = "Services"; + const CALL: &'static str = "approve"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -45481,25 +44743,37 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Cancels a scheduled unstake request for nomination delegations."] + #[doc = "Reject a service request, preventing its initiation."] + #[doc = ""] + #[doc = "The service request will remain in the system but marked as rejected. The requester will"] + #[doc = "need to update the service request to proceed."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Caller must be a registered operator for the blueprint associated with this request"] + #[doc = "* Caller must be one of the operators required to approve this request"] #[doc = ""] #[doc = "# Arguments"] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `operator` - The operator whose unstake request to cancel"] + #[doc = ""] + #[doc = "* `origin` - The origin of the call, must be a signed account"] + #[doc = "* `request_id` - The ID of the service request to reject"] #[doc = ""] #[doc = "# Errors"] - #[doc = "* `NotDelegator` - Account is not a delegator"] - #[doc = "* `NoBondLessRequest` - No matching unstake request found"] - pub struct CancelNominationUnstake { - pub operator: cancel_nomination_unstake::Operator, + #[doc = ""] + #[doc = "* [`Error::ApprovalNotRequested`] - Caller is not one of the operators required to approve this request"] + #[doc = "* [`Error::ExpectedAccountId`] - Failed to convert refund address to account ID when refunding payment"] + #[doc = "* [`Error::RejectionInterrupted`] - Rejection was interrupted by blueprint hook"] + pub struct Reject { + #[codec(compact)] + pub request_id: reject::RequestId, } - pub mod cancel_nomination_unstake { + pub mod reject { use super::runtime_types; - pub type Operator = ::subxt_core::utils::AccountId32; + pub type RequestId = ::core::primitive::u64; } - impl ::subxt_core::blocks::StaticExtrinsic for CancelNominationUnstake { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "cancel_nomination_unstake"; + impl ::subxt_core::blocks::StaticExtrinsic for Reject { + const PALLET: &'static str = "Services"; + const CALL: &'static str = "reject"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -45515,33 +44789,34 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Adds a blueprint ID to a delegator's selection."] + #[doc = "Terminates a running service instance."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Must be signed by the delegator account"] + #[doc = "* Must be signed by the service owner"] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `blueprint_id` - ID of blueprint to add"] + #[doc = "* `origin` - The origin of the call"] + #[doc = "* `service_id` - The identifier of the service to terminate"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [`Error::NotDelegator`] - Account is not a delegator"] - #[doc = "* [`Error::DuplicateBlueprintId`] - Blueprint ID already exists"] - #[doc = "* [`Error::MaxBlueprintsExceeded`] - Would exceed max blueprints"] - #[doc = "* [`Error::NotInFixedMode`] - Not in fixed blueprint selection mode"] - pub struct AddBlueprintId { - pub blueprint_id: add_blueprint_id::BlueprintId, + #[doc = "* [`Error::ServiceNotFound`] - The service_id does not exist"] + #[doc = "* [`Error::NotRegistered`] - Service operator not registered"] + #[doc = "* [`Error::TerminationInterrupted`] - Service termination was interrupted by hooks"] + #[doc = "* [`DispatchError::BadOrigin`] - Caller is not the service owner"] + pub struct Terminate { + #[codec(compact)] + pub service_id: terminate::ServiceId, } - pub mod add_blueprint_id { + pub mod terminate { use super::runtime_types; - pub type BlueprintId = ::core::primitive::u64; + pub type ServiceId = ::core::primitive::u64; } - impl ::subxt_core::blocks::StaticExtrinsic for AddBlueprintId { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "add_blueprint_id"; + impl ::subxt_core::blocks::StaticExtrinsic for Terminate { + const PALLET: &'static str = "Services"; + const CALL: &'static str = "terminate"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -45557,1023 +44832,908 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Removes a blueprint ID from a delegator's selection."] + #[doc = "Call a job in the service with the provided arguments."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Must be signed by the delegator account"] + #[doc = "* Must be signed by the service owner or a permitted caller"] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `blueprint_id` - ID of blueprint to remove"] + #[doc = "* `origin` - The origin of the call"] + #[doc = "* `service_id` - The service identifier"] + #[doc = "* `job` - The job index to call"] + #[doc = "* `args` - The arguments to pass to the job"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [`Error::NotDelegator`] - Account is not a delegator"] - #[doc = "* [`Error::BlueprintIdNotFound`] - Blueprint ID not found"] - #[doc = "* [`Error::NotInFixedMode`] - Not in fixed blueprint selection mode"] - pub struct RemoveBlueprintId { - pub blueprint_id: remove_blueprint_id::BlueprintId, + #[doc = "* [`Error::ServiceNotFound`] - The service_id does not exist"] + #[doc = "* [`Error::JobDefinitionNotFound`] - The job index is invalid"] + #[doc = "* [`Error::MaxFieldsExceeded`] - Too many arguments provided"] + #[doc = "* [`Error::TypeCheck`] - Arguments fail type checking"] + #[doc = "* [`Error::InvalidJobCallInput`] - Job call was rejected by hooks"] + #[doc = "* [`DispatchError::BadOrigin`] - Caller is not owner or permitted caller"] + pub struct Call { + #[codec(compact)] + pub service_id: call::ServiceId, + #[codec(compact)] + pub job: call::Job, + pub args: call::Args, } - pub mod remove_blueprint_id { + pub mod call { use super::runtime_types; - pub type BlueprintId = ::core::primitive::u64; - } - impl ::subxt_core::blocks::StaticExtrinsic for RemoveBlueprintId { - const PALLET: &'static str = "MultiAssetDelegation"; - const CALL: &'static str = "remove_blueprint_id"; - } - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "Allows an account to join as an operator by staking the required bond amount."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the account joining as operator"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `bond_amount` - Amount to stake as operator bond"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::DepositOverflow`] - Bond amount would overflow deposit tracking"] - #[doc = "* [`Error::StakeOverflow`] - Bond amount would overflow stake tracking"] - pub fn join_operators( - &self, - bond_amount: types::join_operators::BondAmount, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "join_operators", - types::JoinOperators { bond_amount }, - [ - 200u8, 51u8, 233u8, 253u8, 180u8, 90u8, 81u8, 7u8, 248u8, 218u8, 76u8, - 136u8, 126u8, 106u8, 132u8, 111u8, 26u8, 70u8, 68u8, 40u8, 153u8, - 179u8, 25u8, 198u8, 10u8, 105u8, 214u8, 38u8, 79u8, 102u8, 183u8, - 115u8, - ], - ) - } - #[doc = "Schedules an operator to leave the system."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the operator account"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] - #[doc = "* [`Error::PendingUnstakeRequestExists`] - Operator already has a pending unstake request"] - pub fn schedule_leave_operators( - &self, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "schedule_leave_operators", - types::ScheduleLeaveOperators {}, - [ - 40u8, 228u8, 5u8, 223u8, 70u8, 47u8, 223u8, 89u8, 229u8, 174u8, 84u8, - 232u8, 216u8, 104u8, 83u8, 134u8, 59u8, 234u8, 89u8, 53u8, 238u8, - 253u8, 150u8, 13u8, 19u8, 178u8, 179u8, 191u8, 209u8, 45u8, 53u8, 85u8, - ], - ) - } - #[doc = "Cancels a scheduled leave for an operator."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the operator account"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] - #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] - pub fn cancel_leave_operators( - &self, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "cancel_leave_operators", - types::CancelLeaveOperators {}, - [ - 69u8, 106u8, 203u8, 11u8, 3u8, 80u8, 201u8, 178u8, 156u8, 17u8, 142u8, - 173u8, 37u8, 245u8, 0u8, 84u8, 213u8, 189u8, 221u8, 34u8, 28u8, 204u8, - 88u8, 240u8, 72u8, 190u8, 173u8, 115u8, 82u8, 210u8, 212u8, 6u8, - ], - ) + pub type ServiceId = ::core::primitive::u64; + pub type Job = ::core::primitive::u8; + pub type Args = ::subxt_core::alloc::vec::Vec< + runtime_types::tangle_primitives::services::field::Field< + ::subxt_core::utils::AccountId32, + >, + >; } - #[doc = "Executes a scheduled leave for an operator."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the operator account"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] - #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] - #[doc = "* [`Error::UnstakePeriodNotElapsed`] - Unstake period has not elapsed yet"] - pub fn execute_leave_operators( - &self, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "execute_leave_operators", - types::ExecuteLeaveOperators {}, - [ - 57u8, 188u8, 97u8, 173u8, 224u8, 57u8, 203u8, 116u8, 132u8, 111u8, - 60u8, 129u8, 153u8, 1u8, 222u8, 163u8, 102u8, 230u8, 13u8, 177u8, - 221u8, 246u8, 53u8, 106u8, 229u8, 133u8, 240u8, 136u8, 179u8, 21u8, - 143u8, 180u8, - ], - ) + impl ::subxt_core::blocks::StaticExtrinsic for Call { + const PALLET: &'static str = "Services"; + const CALL: &'static str = "call"; } - #[doc = "Allows an operator to increase their stake."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the operator account"] + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Submit a result for a previously called job."] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `additional_bond` - Additional amount to stake"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] - #[doc = "* [`Error::StakeOverflow`] - Additional bond would overflow stake tracking"] - pub fn operator_bond_more( - &self, - additional_bond: types::operator_bond_more::AdditionalBond, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "operator_bond_more", - types::OperatorBondMore { additional_bond }, - [ - 124u8, 33u8, 17u8, 157u8, 169u8, 58u8, 82u8, 138u8, 216u8, 98u8, 111u8, - 31u8, 223u8, 183u8, 172u8, 219u8, 224u8, 196u8, 180u8, 92u8, 156u8, - 215u8, 145u8, 66u8, 172u8, 96u8, 81u8, 20u8, 210u8, 182u8, 144u8, - 172u8, - ], - ) - } - #[doc = "Schedules an operator to decrease their stake."] + #[doc = "* `service_id` - ID of the service"] + #[doc = "* `call_id` - ID of the job call"] + #[doc = "* `result` - Vector of result fields"] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Must be signed by the operator account"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `unstake_amount` - Amount to unstake"] + #[doc = "* Caller must be an operator of the service"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] - #[doc = "* [`Error::PendingUnstakeRequestExists`] - Operator already has a pending unstake request"] - #[doc = "* [`Error::InsufficientBalance`] - Operator has insufficient stake to unstake"] - pub fn schedule_operator_unstake( - &self, - unstake_amount: types::schedule_operator_unstake::UnstakeAmount, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "schedule_operator_unstake", - types::ScheduleOperatorUnstake { unstake_amount }, - [ - 34u8, 99u8, 195u8, 190u8, 177u8, 99u8, 126u8, 217u8, 214u8, 187u8, - 152u8, 53u8, 223u8, 100u8, 68u8, 17u8, 188u8, 148u8, 25u8, 21u8, 75u8, - 48u8, 52u8, 208u8, 221u8, 62u8, 146u8, 65u8, 60u8, 209u8, 206u8, 44u8, - ], - ) + #[doc = "* [`Error::ServiceNotFound`] - The service_id does not exist"] + #[doc = "* [`Error::JobCallNotFound`] - The call_id does not exist"] + #[doc = "* [`Error::JobDefinitionNotFound`] - The job index is invalid"] + #[doc = "* [`Error::MaxFieldsExceeded`] - Too many result fields provided"] + #[doc = "* [`Error::TypeCheck`] - Result fields fail type checking"] + #[doc = "* [`Error::InvalidJobResult`] - Job result was rejected by hooks"] + #[doc = "* [`DispatchError::BadOrigin`] - Caller is not an operator"] + pub struct SubmitResult { + #[codec(compact)] + pub service_id: submit_result::ServiceId, + #[codec(compact)] + pub call_id: submit_result::CallId, + pub result: submit_result::Result, } - #[doc = "Executes a scheduled stake decrease for an operator."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the operator account"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] - #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] - #[doc = "* [`Error::UnstakePeriodNotElapsed`] - Unstake period has not elapsed yet"] - pub fn execute_operator_unstake( - &self, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "execute_operator_unstake", - types::ExecuteOperatorUnstake {}, - [ - 22u8, 7u8, 144u8, 170u8, 57u8, 205u8, 226u8, 10u8, 36u8, 245u8, 197u8, - 184u8, 137u8, 7u8, 252u8, 56u8, 186u8, 50u8, 30u8, 179u8, 244u8, 203u8, - 242u8, 90u8, 93u8, 130u8, 82u8, 225u8, 192u8, 92u8, 211u8, 14u8, - ], - ) + pub mod submit_result { + use super::runtime_types; + pub type ServiceId = ::core::primitive::u64; + pub type CallId = ::core::primitive::u64; + pub type Result = ::subxt_core::alloc::vec::Vec< + runtime_types::tangle_primitives::services::field::Field< + ::subxt_core::utils::AccountId32, + >, + >; } - #[doc = "Cancels a scheduled stake decrease for an operator."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the operator account"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] - #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] - pub fn cancel_operator_unstake( - &self, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "cancel_operator_unstake", - types::CancelOperatorUnstake {}, - [ - 9u8, 153u8, 57u8, 25u8, 35u8, 233u8, 83u8, 162u8, 125u8, 240u8, 57u8, - 179u8, 110u8, 131u8, 115u8, 69u8, 96u8, 139u8, 228u8, 20u8, 33u8, 30u8, - 207u8, 176u8, 175u8, 233u8, 141u8, 152u8, 197u8, 134u8, 78u8, 40u8, - ], - ) + impl ::subxt_core::blocks::StaticExtrinsic for SubmitResult { + const PALLET: &'static str = "Services"; + const CALL: &'static str = "submit_result"; } - #[doc = "Allows an operator to go offline."] + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Slash an operator's stake for a service by scheduling a deferred slashing action."] #[doc = ""] - #[doc = "Being offline means the operator should not be able to be"] - #[doc = "requested for services."] + #[doc = "This function schedules a deferred slashing action against an operator's stake for a specific service."] + #[doc = "The slash is not applied immediately, but rather queued to be executed by another entity later."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Must be signed by the operator account"] + #[doc = "* The caller must be an authorized Slash Origin for the target service, as determined by"] + #[doc = " `query_slashing_origin`. If no slashing origin is set, or the caller does not match, the call"] + #[doc = " will fail."] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] - #[doc = "* `origin` - Origin of the call"] + #[doc = "* `origin` - The origin of the call. Must be signed by an authorized Slash Origin."] + #[doc = "* `offender` - The account ID of the operator to be slashed."] + #[doc = "* `service_id` - The ID of the service for which to slash the operator."] + #[doc = "* `slash_percent` - The percentage of the operator's exposed stake to slash, as a `Percent` value."] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] - #[doc = "* [`Error::AlreadyOffline`] - Operator is already offline"] - pub fn go_offline( - &self, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "go_offline", - types::GoOffline {}, - [ - 229u8, 123u8, 37u8, 67u8, 121u8, 41u8, 249u8, 87u8, 1u8, 78u8, 249u8, - 173u8, 135u8, 228u8, 239u8, 244u8, 177u8, 153u8, 242u8, 112u8, 157u8, - 150u8, 12u8, 213u8, 38u8, 250u8, 85u8, 150u8, 252u8, 60u8, 204u8, - 134u8, - ], - ) + #[doc = "* `NoSlashingOrigin` - No slashing origin is set for the service"] + #[doc = "* `BadOrigin` - Caller is not the authorized slashing origin"] + #[doc = "* `OffenderNotOperator` - Target account is not an operator for this service"] + #[doc = "* `OffenderNotActiveOperator` - Target operator is not currently active"] + pub struct Slash { + pub offender: slash::Offender, + #[codec(compact)] + pub service_id: slash::ServiceId, + #[codec(compact)] + pub slash_percent: slash::SlashPercent, } - #[doc = "Allows an operator to go online."] + pub mod slash { + use super::runtime_types; + pub type Offender = ::subxt_core::utils::AccountId32; + pub type ServiceId = ::core::primitive::u64; + pub type SlashPercent = runtime_types::sp_arithmetic::per_things::Percent; + } + impl ::subxt_core::blocks::StaticExtrinsic for Slash { + const PALLET: &'static str = "Services"; + const CALL: &'static str = "slash"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Disputes and removes an [UnappliedSlash] from storage."] + #[doc = ""] + #[doc = "The slash will not be applied once disputed and is permanently removed."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Must be signed by the operator account"] + #[doc = "* Caller must be the authorized dispute origin for the service"] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] #[doc = "* `origin` - Origin of the call"] + #[doc = "* `era` - Era containing the slash to dispute "] + #[doc = "* `index` - Index of the slash within the era"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [`Error::NotOperator`] - Account is not registered as an operator"] - #[doc = "* [`Error::AlreadyOnline`] - Operator is already online"] - pub fn go_online( - &self, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "go_online", - types::GoOnline {}, - [ - 58u8, 44u8, 183u8, 212u8, 2u8, 121u8, 216u8, 100u8, 238u8, 222u8, - 118u8, 20u8, 145u8, 231u8, 226u8, 156u8, 130u8, 2u8, 113u8, 3u8, 49u8, - 119u8, 211u8, 112u8, 151u8, 192u8, 181u8, 139u8, 108u8, 209u8, 80u8, - 47u8, - ], - ) + #[doc = "* [Error::NoDisputeOrigin] - Service has no dispute origin configured"] + #[doc = "* [DispatchError::BadOrigin] - Caller is not the authorized dispute origin"] + #[doc = ""] + pub struct Dispute { + #[codec(compact)] + pub era: dispute::Era, + #[codec(compact)] + pub index: dispute::Index, } - #[doc = "Allows a user to deposit an asset."] + pub mod dispute { + use super::runtime_types; + pub type Era = ::core::primitive::u32; + pub type Index = ::core::primitive::u32; + } + impl ::subxt_core::blocks::StaticExtrinsic for Dispute { + const PALLET: &'static str = "Services"; + const CALL: &'static str = "dispute"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Updates the Master Blueprint Service Manager by adding a new revision."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Must be signed by the depositor account"] + #[doc = "* Caller must be an authorized Master Blueprint Service Manager Update Origin"] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] #[doc = "* `origin` - Origin of the call"] - #[doc = "* `asset` - Asset on to deposit"] - #[doc = "* `amount` - Amount to deposit"] - #[doc = "* `evm_address` - Optional EVM address"] + #[doc = "* `address` - New manager address to add"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [`Error::DepositOverflow`] - Deposit would overflow tracking"] - #[doc = "* [`Error::InvalidAsset`] - Asset is not supported"] - pub fn deposit( - &self, - asset: types::deposit::Asset, - amount: types::deposit::Amount, - evm_address: types::deposit::EvmAddress, - lock_multiplier: types::deposit::LockMultiplier, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "deposit", - types::Deposit { asset, amount, evm_address, lock_multiplier }, - [ - 121u8, 249u8, 205u8, 202u8, 106u8, 122u8, 21u8, 49u8, 46u8, 218u8, - 204u8, 236u8, 203u8, 226u8, 242u8, 7u8, 66u8, 38u8, 131u8, 250u8, 26u8, - 248u8, 110u8, 134u8, 27u8, 46u8, 151u8, 155u8, 1u8, 50u8, 11u8, 121u8, - ], - ) + #[doc = "* [Error::MaxMasterBlueprintServiceManagerVersionsExceeded] - Maximum number of revisions reached"] + pub struct UpdateMasterBlueprintServiceManager { + pub address: update_master_blueprint_service_manager::Address, } - #[doc = "Schedules a withdraw request."] + pub mod update_master_blueprint_service_manager { + use super::runtime_types; + pub type Address = ::subxt_core::utils::H160; + } + impl ::subxt_core::blocks::StaticExtrinsic for UpdateMasterBlueprintServiceManager { + const PALLET: &'static str = "Services"; + const CALL: &'static str = "update_master_blueprint_service_manager"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Join a service instance as an operator"] + pub struct JoinService { + pub instance_id: join_service::InstanceId, + pub security_commitments: join_service::SecurityCommitments, + } + pub mod join_service { + use super::runtime_types; + pub type InstanceId = ::core::primitive::u64; + pub type SecurityCommitments = ::subxt_core::alloc::vec::Vec< + runtime_types::tangle_primitives::services::types::AssetSecurityCommitment< + ::core::primitive::u128, + >, + >; + } + impl ::subxt_core::blocks::StaticExtrinsic for JoinService { + const PALLET: &'static str = "Services"; + const CALL: &'static str = "join_service"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Leave a service instance as an operator"] + pub struct LeaveService { + pub instance_id: leave_service::InstanceId, + } + pub mod leave_service { + use super::runtime_types; + pub type InstanceId = ::core::primitive::u64; + } + impl ::subxt_core::blocks::StaticExtrinsic for LeaveService { + const PALLET: &'static str = "Services"; + const CALL: &'static str = "leave_service"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Create a new service blueprint."] + #[doc = ""] + #[doc = "A Service Blueprint is a template for a service that can be instantiated by users. The blueprint"] + #[doc = "defines the service's constraints, requirements and behavior, including the master blueprint service"] + #[doc = "manager revision to use."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Must be signed by the withdrawer account"] + #[doc = "* The origin must be signed by the account that will own the blueprint"] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `asset` - Asset on to withdraw"] - #[doc = "* `amount` - Amount to withdraw"] + #[doc = "* `origin` - The origin of the call, must be signed by the account creating the blueprint"] + #[doc = "* `blueprint` - The service blueprint containing:"] + #[doc = " - Service constraints and requirements"] + #[doc = " - Master blueprint service manager revision (Latest or Specific)"] + #[doc = " - Template configuration for service instantiation"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [`Error::InsufficientBalance`] - Insufficient balance to withdraw"] - #[doc = "* [`Error::PendingWithdrawRequestExists`] - Pending withdraw request exists"] - pub fn schedule_withdraw( + #[doc = "* [`Error::BadOrigin`] - Origin is not signed"] + #[doc = "* [`Error::MasterBlueprintServiceManagerRevisionNotFound`] - Specified MBSM revision does not exist"] + #[doc = "* [`Error::BlueprintCreationInterrupted`] - Blueprint creation is interrupted by hooks"] + #[doc = ""] + #[doc = "# Returns"] + #[doc = ""] + #[doc = "Returns a `DispatchResultWithPostInfo` which on success emits a [`Event::BlueprintCreated`] event"] + #[doc = "containing the owner and blueprint ID."] + pub fn create_blueprint( &self, - asset: types::schedule_withdraw::Asset, - amount: types::schedule_withdraw::Amount, - ) -> ::subxt_core::tx::payload::StaticPayload { + blueprint: types::create_blueprint::Blueprint, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "schedule_withdraw", - types::ScheduleWithdraw { asset, amount }, + "Services", + "create_blueprint", + types::CreateBlueprint { blueprint }, [ - 151u8, 225u8, 39u8, 12u8, 16u8, 45u8, 236u8, 150u8, 228u8, 137u8, - 114u8, 199u8, 179u8, 35u8, 80u8, 32u8, 48u8, 138u8, 123u8, 130u8, 76u8, - 217u8, 228u8, 245u8, 43u8, 2u8, 81u8, 181u8, 193u8, 180u8, 141u8, - 165u8, + 97u8, 187u8, 60u8, 103u8, 77u8, 132u8, 129u8, 72u8, 64u8, 201u8, 118u8, + 115u8, 49u8, 52u8, 21u8, 241u8, 176u8, 207u8, 22u8, 102u8, 194u8, + 163u8, 249u8, 51u8, 155u8, 221u8, 212u8, 172u8, 47u8, 250u8, 197u8, + 246u8, ], ) } - #[doc = "Executes a scheduled withdraw request."] + #[doc = "Pre-register the caller as an operator for a specific blueprint."] #[doc = ""] - #[doc = "# Permissions"] + #[doc = "This function allows an account to signal intent to become an operator for a blueprint by emitting"] + #[doc = "a `PreRegistration` event. The operator node can listen for this event to execute any custom"] + #[doc = "registration logic defined in the blueprint."] #[doc = ""] - #[doc = "* Must be signed by the withdrawer account"] + #[doc = "Pre-registration is the first step in the operator registration flow. After pre-registering,"] + #[doc = "operators must complete the full registration process by calling `register()` with their preferences"] + #[doc = "and registration arguments."] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `evm_address` - Optional EVM address"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NoWithdrawRequestExists`] - No pending withdraw request exists"] - #[doc = "* [`Error::WithdrawPeriodNotElapsed`] - Withdraw period has not elapsed"] - pub fn execute_withdraw( - &self, - evm_address: types::execute_withdraw::EvmAddress, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "execute_withdraw", - types::ExecuteWithdraw { evm_address }, - [ - 192u8, 219u8, 87u8, 231u8, 26u8, 7u8, 60u8, 107u8, 41u8, 80u8, 25u8, - 90u8, 189u8, 215u8, 113u8, 78u8, 93u8, 147u8, 56u8, 175u8, 57u8, 75u8, - 117u8, 131u8, 227u8, 252u8, 16u8, 241u8, 170u8, 241u8, 77u8, 124u8, - ], - ) - } - #[doc = "Cancels a scheduled withdraw request."] + #[doc = "* `origin: OriginFor` - The origin of the call. Must be signed by the account that wants to"] + #[doc = " become an operator."] + #[doc = "* `blueprint_id: u64` - The identifier of the service blueprint to pre-register for. Must refer"] + #[doc = " to an existing blueprint."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Must be signed by the withdrawer account"] + #[doc = "* The caller must be a signed account."] #[doc = ""] - #[doc = "# Arguments"] + #[doc = "# Events"] #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `asset` - Asset on withdrawal to cancel"] - #[doc = "* `amount` - Amount of the withdrawal to cancel"] + #[doc = "* [`Event::PreRegistration`] - Emitted when pre-registration is successful, containing:"] + #[doc = " - `operator: T::AccountId` - The account ID of the pre-registering operator"] + #[doc = " - `blueprint_id: u64` - The ID of the blueprint being pre-registered for"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [`Error::NoWithdrawRequestExists`] - No pending withdraw request exists"] - pub fn cancel_withdraw( + #[doc = "* [`Error::BadOrigin`] - The origin was not signed."] + pub fn pre_register( &self, - asset: types::cancel_withdraw::Asset, - amount: types::cancel_withdraw::Amount, - ) -> ::subxt_core::tx::payload::StaticPayload { + blueprint_id: types::pre_register::BlueprintId, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "cancel_withdraw", - types::CancelWithdraw { asset, amount }, + "Services", + "pre_register", + types::PreRegister { blueprint_id }, [ - 93u8, 111u8, 228u8, 19u8, 1u8, 113u8, 15u8, 10u8, 78u8, 188u8, 216u8, - 215u8, 85u8, 28u8, 151u8, 77u8, 12u8, 111u8, 0u8, 20u8, 10u8, 189u8, - 90u8, 150u8, 250u8, 111u8, 141u8, 119u8, 14u8, 221u8, 77u8, 148u8, + 217u8, 211u8, 242u8, 184u8, 133u8, 139u8, 206u8, 231u8, 34u8, 94u8, + 70u8, 103u8, 84u8, 252u8, 100u8, 234u8, 76u8, 60u8, 172u8, 32u8, 211u8, + 2u8, 179u8, 63u8, 135u8, 162u8, 110u8, 40u8, 203u8, 213u8, 5u8, 244u8, ], ) } - #[doc = "Allows a user to delegate an amount of an asset to an operator."] + #[doc = "Register the caller as an operator for a specific blueprint."] + #[doc = ""] + #[doc = "This function allows an account to register as an operator for a blueprint by providing their"] + #[doc = "service preferences, registration arguments, and staking the required tokens. The operator must"] + #[doc = "be active in the delegation system and may require approval before accepting service requests."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Must be signed by the delegator account"] + #[doc = "* The caller must be a signed account"] + #[doc = "* The caller must be an active operator in the delegation system"] + #[doc = "* The caller must not already be registered for this blueprint"] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `operator` - Operator to delegate to"] - #[doc = "* `asset` - ID of asset to delegate"] - #[doc = "* `amount` - Amount to delegate"] - #[doc = "* `blueprint_selection` - Blueprint selection strategy"] + #[doc = "* `origin` - The origin of the call. Must be signed."] + #[doc = "* `blueprint_id` - The identifier of the service blueprint to register for"] + #[doc = "* `preferences` - The operator's service preferences and configuration"] + #[doc = "* `registration_args` - Registration arguments required by the blueprint"] + #[doc = "* `value` - Amount of tokens to stake for registration"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [`Error::NotOperator`] - Target account is not an operator"] - #[doc = "* [`Error::InsufficientBalance`] - Insufficient balance to delegate"] - #[doc = "* [`Error::MaxDelegationsExceeded`] - Would exceed max delegations"] - pub fn delegate( + #[doc = "* [`Error::OperatorNotActive`] - Caller is not an active operator in the delegation system"] + #[doc = "* [`Error::AlreadyRegistered`] - Caller is already registered for this blueprint"] + #[doc = "* [`Error::TypeCheck`] - Registration arguments failed type checking"] + #[doc = "* [`Error::InvalidRegistrationInput`] - Registration hook rejected the registration"] + #[doc = "* [`Error::MaxServicesPerProviderExceeded`] - Operator has reached maximum services limit"] + pub fn register( &self, - operator: types::delegate::Operator, - asset: types::delegate::Asset, - amount: types::delegate::Amount, - blueprint_selection: types::delegate::BlueprintSelection, - ) -> ::subxt_core::tx::payload::StaticPayload { + blueprint_id: types::register::BlueprintId, + preferences: types::register::Preferences, + registration_args: types::register::RegistrationArgs, + value: types::register::Value, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "delegate", - types::Delegate { operator, asset, amount, blueprint_selection }, + "Services", + "register", + types::Register { blueprint_id, preferences, registration_args, value }, [ - 180u8, 10u8, 179u8, 237u8, 227u8, 44u8, 193u8, 11u8, 194u8, 123u8, - 156u8, 158u8, 244u8, 54u8, 130u8, 214u8, 14u8, 214u8, 104u8, 172u8, - 45u8, 50u8, 135u8, 98u8, 67u8, 3u8, 59u8, 176u8, 181u8, 145u8, 151u8, - 226u8, + 27u8, 78u8, 182u8, 218u8, 112u8, 7u8, 58u8, 101u8, 105u8, 11u8, 246u8, + 118u8, 190u8, 228u8, 25u8, 232u8, 26u8, 188u8, 24u8, 223u8, 119u8, + 190u8, 127u8, 110u8, 172u8, 39u8, 22u8, 215u8, 35u8, 233u8, 83u8, + 255u8, ], ) } - #[doc = "Schedules a request to reduce a delegator's stake."] - #[doc = ""] - #[doc = "# Permissions"] + #[doc = "Unregisters a service provider from a specific service blueprint."] #[doc = ""] - #[doc = "* Must be signed by the delegator account"] + #[doc = "Can only be called if the no services are active for the blueprint."] + #[doc = "After unregistering, the provider will no longer receive new service"] + #[doc = "assignments for this blueprint."] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `operator` - Operator to unstake from"] - #[doc = "* `asset` - ID of asset to unstake"] - #[doc = "* `amount` - Amount to unstake"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotDelegator`] - Account is not a delegator"] - #[doc = "* [`Error::InsufficientDelegation`] - Insufficient delegation to unstake"] - #[doc = "* [`Error::PendingUnstakeRequestExists`] - Pending unstake request exists"] - pub fn schedule_delegator_unstake( - &self, - operator: types::schedule_delegator_unstake::Operator, - asset: types::schedule_delegator_unstake::Asset, - amount: types::schedule_delegator_unstake::Amount, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "schedule_delegator_unstake", - types::ScheduleDelegatorUnstake { operator, asset, amount }, - [ - 226u8, 1u8, 102u8, 234u8, 232u8, 38u8, 204u8, 156u8, 220u8, 79u8, 19u8, - 137u8, 120u8, 191u8, 84u8, 123u8, 193u8, 85u8, 18u8, 135u8, 248u8, - 170u8, 162u8, 141u8, 34u8, 254u8, 51u8, 183u8, 77u8, 29u8, 174u8, 87u8, - ], - ) - } - #[doc = "Executes a scheduled request to reduce a delegator's stake."] + #[doc = "* `origin` - The origin of the call. Must be signed."] + #[doc = "* `blueprint_id` - The identifier of the service blueprint to unregister from."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Must be signed by the delegator account"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] + #[doc = "* Must be signed by a registered service provider"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [`Error::NotDelegator`] - Account is not a delegator"] - #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] - #[doc = "* [`Error::UnstakePeriodNotElapsed`] - Unstake period has not elapsed"] - pub fn execute_delegator_unstake( + #[doc = "* [`Error::NotRegistered`] - The caller is not registered for this blueprint"] + #[doc = "* [`Error::NotAllowedToUnregister`] - Unregistration is currently restricted"] + #[doc = "* [`Error::BlueprintNotFound`] - The blueprint_id does not exist"] + pub fn unregister( &self, - ) -> ::subxt_core::tx::payload::StaticPayload { + blueprint_id: types::unregister::BlueprintId, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "execute_delegator_unstake", - types::ExecuteDelegatorUnstake {}, + "Services", + "unregister", + types::Unregister { blueprint_id }, [ - 122u8, 83u8, 15u8, 157u8, 106u8, 98u8, 132u8, 80u8, 95u8, 3u8, 89u8, - 166u8, 247u8, 83u8, 9u8, 238u8, 2u8, 100u8, 2u8, 49u8, 99u8, 203u8, - 99u8, 139u8, 21u8, 210u8, 78u8, 212u8, 47u8, 214u8, 38u8, 29u8, + 159u8, 137u8, 225u8, 1u8, 158u8, 129u8, 192u8, 17u8, 9u8, 163u8, 73u8, + 108u8, 130u8, 155u8, 196u8, 141u8, 203u8, 128u8, 3u8, 198u8, 23u8, + 48u8, 174u8, 104u8, 254u8, 98u8, 29u8, 51u8, 187u8, 122u8, 203u8, 14u8, ], ) } - #[doc = "Cancels a scheduled request to reduce a delegator's stake."] - #[doc = ""] - #[doc = "# Permissions"] + #[doc = "Updates the price targets for a registered operator's service blueprint."] #[doc = ""] - #[doc = "* Must be signed by the delegator account"] + #[doc = "Allows an operator to modify their price targets for a specific blueprint they are registered for."] + #[doc = "The operator must already be registered for the blueprint to update prices."] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `operator` - Operator to cancel unstake from"] - #[doc = "* `asset` - ID of asset unstake to cancel"] - #[doc = "* `amount` - Amount of unstake to cancel"] - #[doc = ""] - #[doc = "# Errors"] + #[doc = "* `origin: OriginFor` - The origin of the call. Must be signed by the operator."] + #[doc = "* `blueprint_id: u64` - The identifier of the blueprint to update price targets for."] + #[doc = "* `price_targets: PriceTargets` - The new price targets to set for the blueprint."] #[doc = ""] - #[doc = "* [`Error::NotDelegator`] - Account is not a delegator"] - #[doc = "* [`Error::NoUnstakeRequestExists`] - No pending unstake request exists"] - pub fn cancel_delegator_unstake( - &self, - operator: types::cancel_delegator_unstake::Operator, - asset: types::cancel_delegator_unstake::Asset, - amount: types::cancel_delegator_unstake::Amount, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "cancel_delegator_unstake", - types::CancelDelegatorUnstake { operator, asset, amount }, - [ - 14u8, 229u8, 151u8, 81u8, 188u8, 12u8, 209u8, 238u8, 162u8, 46u8, 19u8, - 80u8, 133u8, 217u8, 229u8, 78u8, 89u8, 44u8, 87u8, 215u8, 183u8, 87u8, - 189u8, 122u8, 112u8, 217u8, 147u8, 17u8, 161u8, 85u8, 210u8, 109u8, - ], - ) - } - #[doc = "Delegates nominated tokens to an operator."] + #[doc = "# Permissions"] #[doc = ""] - #[doc = "# Arguments"] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `operator` - The operator to delegate to"] - #[doc = "* `amount` - Amount of nominated tokens to delegate"] - #[doc = "* `blueprint_selection` - Strategy for selecting which blueprints to work with"] + #[doc = "* Must be signed by a registered operator for this blueprint."] #[doc = ""] #[doc = "# Errors"] - #[doc = "* `NotDelegator` - Account is not a delegator"] - #[doc = "* `NotNominator` - Account has no nominated tokens"] - #[doc = "* `InsufficientBalance` - Not enough nominated tokens available"] - #[doc = "* `MaxDelegationsExceeded` - Would exceed maximum allowed delegations"] - #[doc = "* `OverflowRisk` - Arithmetic overflow during calculations"] - #[doc = "* `InvalidAmount` - Amount specified is zero"] - pub fn delegate_nomination( + #[doc = ""] + #[doc = "* [`Error::NotRegistered`] - The caller is not registered for this blueprint."] + #[doc = "* [`Error::NotAllowedToUpdatePriceTargets`] - Price target updates are currently restricted."] + #[doc = "* [`Error::BlueprintNotFound`] - The blueprint_id does not exist."] + pub fn update_price_targets( &self, - operator: types::delegate_nomination::Operator, - amount: types::delegate_nomination::Amount, - blueprint_selection: types::delegate_nomination::BlueprintSelection, - ) -> ::subxt_core::tx::payload::StaticPayload { + blueprint_id: types::update_price_targets::BlueprintId, + price_targets: types::update_price_targets::PriceTargets, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "delegate_nomination", - types::DelegateNomination { operator, amount, blueprint_selection }, + "Services", + "update_price_targets", + types::UpdatePriceTargets { blueprint_id, price_targets }, [ - 96u8, 86u8, 61u8, 46u8, 91u8, 1u8, 194u8, 7u8, 120u8, 226u8, 181u8, - 9u8, 206u8, 87u8, 89u8, 157u8, 137u8, 57u8, 163u8, 63u8, 148u8, 108u8, - 254u8, 173u8, 232u8, 130u8, 127u8, 44u8, 143u8, 236u8, 92u8, 108u8, + 64u8, 243u8, 239u8, 182u8, 174u8, 160u8, 96u8, 140u8, 62u8, 187u8, + 247u8, 111u8, 78u8, 96u8, 33u8, 159u8, 95u8, 203u8, 204u8, 31u8, 254u8, + 57u8, 114u8, 219u8, 245u8, 19u8, 201u8, 6u8, 205u8, 145u8, 138u8, + 100u8, ], ) } - #[doc = "Schedules an unstake request for nomination delegations."] + #[doc = "Request a new service using a blueprint and specified operators."] #[doc = ""] #[doc = "# Arguments"] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `operator` - The operator to unstake from"] - #[doc = "* `amount` - Amount of nominated tokens to unstake"] - #[doc = "* `blueprint_selection` - The blueprint selection to use after unstaking"] + #[doc = ""] + #[doc = "* `origin: OriginFor` - The origin of the call. Must be signed."] + #[doc = "* `evm_origin: Option` - Optional EVM address for ERC20 payments."] + #[doc = "* `blueprint_id: u64` - The identifier of the blueprint to use."] + #[doc = "* `permitted_callers: Vec` - Accounts allowed to call the service. If empty, only owner can call."] + #[doc = "* `operators: Vec` - List of operators that will run the service."] + #[doc = "* `request_args: Vec>` - Blueprint initialization arguments."] + #[doc = "* `assets: Vec` - Required assets for the service."] + #[doc = "* `ttl: BlockNumberFor` - Time-to-live in blocks for the service request."] + #[doc = "* `payment_asset: Asset` - Asset used for payment (native, custom or ERC20)."] + #[doc = "* `value: BalanceOf` - Payment amount for the service."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by an account with sufficient balance to pay for the service."] + #[doc = "* For ERC20 payments, the EVM origin must match the caller's mapped account."] #[doc = ""] #[doc = "# Errors"] - #[doc = "* `NotDelegator` - Account is not a delegator"] - #[doc = "* `NoActiveDelegation` - No active nomination delegation found"] - #[doc = "* `InsufficientBalance` - Trying to unstake more than delegated"] - #[doc = "* `MaxUnstakeRequestsExceeded` - Too many pending unstake requests"] - #[doc = "* `InvalidAmount` - Amount specified is zero"] - pub fn schedule_nomination_unstake( + #[doc = ""] + #[doc = "* [`Error::TypeCheck`] - Request arguments fail blueprint type checking."] + #[doc = "* [`Error::NoAssetsProvided`] - No assets were specified."] + #[doc = "* [`Error::MissingEVMOrigin`] - EVM origin required but not provided for ERC20 payment."] + #[doc = "* [`Error::ERC20TransferFailed`] - ERC20 token transfer failed."] + #[doc = "* [`Error::NotRegistered`] - One or more operators not registered for blueprint."] + #[doc = "* [`Error::BlueprintNotFound`] - The blueprint_id does not exist."] + pub fn request( &self, - operator: types::schedule_nomination_unstake::Operator, - amount: types::schedule_nomination_unstake::Amount, - blueprint_selection: types::schedule_nomination_unstake::BlueprintSelection, - ) -> ::subxt_core::tx::payload::StaticPayload - { + evm_origin: types::request::EvmOrigin, + blueprint_id: types::request::BlueprintId, + permitted_callers: types::request::PermittedCallers, + operators: types::request::Operators, + request_args: types::request::RequestArgs, + asset_security_requirements: types::request::AssetSecurityRequirements, + ttl: types::request::Ttl, + payment_asset: types::request::PaymentAsset, + value: types::request::Value, + membership_model: types::request::MembershipModel, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "schedule_nomination_unstake", - types::ScheduleNominationUnstake { operator, amount, blueprint_selection }, + "Services", + "request", + types::Request { + evm_origin, + blueprint_id, + permitted_callers, + operators, + request_args, + asset_security_requirements, + ttl, + payment_asset, + value, + membership_model, + }, [ - 115u8, 105u8, 237u8, 148u8, 106u8, 238u8, 31u8, 101u8, 99u8, 135u8, - 73u8, 48u8, 168u8, 16u8, 198u8, 208u8, 195u8, 155u8, 212u8, 153u8, - 182u8, 57u8, 104u8, 46u8, 96u8, 229u8, 238u8, 10u8, 8u8, 217u8, 5u8, - 184u8, + 65u8, 20u8, 185u8, 17u8, 62u8, 217u8, 41u8, 220u8, 126u8, 184u8, 211u8, + 133u8, 254u8, 117u8, 206u8, 142u8, 26u8, 204u8, 254u8, 25u8, 10u8, + 91u8, 75u8, 206u8, 189u8, 72u8, 159u8, 130u8, 16u8, 239u8, 231u8, + 161u8, ], ) } - #[doc = "Executes a scheduled unstake request for nomination delegations."] + #[doc = "Approve a service request, allowing it to be initiated once all required approvals are received."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Caller must be a registered operator for the service blueprint"] + #[doc = "* Caller must be in the pending approvals list for this request"] #[doc = ""] #[doc = "# Arguments"] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `operator` - The operator to execute unstake from"] + #[doc = ""] + #[doc = "* `origin` - The origin of the call, must be a signed account"] + #[doc = "* `request_id` - The ID of the service request to approve"] + #[doc = "* `native_exposure_percent` - Percentage of native token stake to expose"] + #[doc = "* `asset_exposure` - Vector of asset-specific exposure commitments"] #[doc = ""] #[doc = "# Errors"] - #[doc = "* `NotDelegator` - Account is not a delegator"] - #[doc = "* `NoBondLessRequest` - No matching unstake request found"] - #[doc = "* `BondLessNotReady` - Unstake request not ready for execution"] - #[doc = "* `NoActiveDelegation` - No active nomination delegation found"] - #[doc = "* `InsufficientBalance` - Insufficient balance for unstaking"] - pub fn execute_nomination_unstake( + #[doc = ""] + #[doc = "* [`Error::ApprovalNotRequested`] - Caller is not in the pending approvals list"] + #[doc = "* [`Error::ApprovalInterrupted`] - Approval was rejected by blueprint hook"] + #[doc = "* [`Error::InvalidRequestInput`] - Asset exposure commitments don't meet requirements"] + pub fn approve( &self, - operator: types::execute_nomination_unstake::Operator, - ) -> ::subxt_core::tx::payload::StaticPayload { + request_id: types::approve::RequestId, + security_commitments: types::approve::SecurityCommitments, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "execute_nomination_unstake", - types::ExecuteNominationUnstake { operator }, + "Services", + "approve", + types::Approve { request_id, security_commitments }, [ - 38u8, 107u8, 35u8, 35u8, 2u8, 215u8, 211u8, 212u8, 169u8, 215u8, 169u8, - 196u8, 59u8, 45u8, 94u8, 186u8, 138u8, 193u8, 87u8, 115u8, 73u8, 217u8, - 125u8, 137u8, 106u8, 26u8, 207u8, 92u8, 139u8, 137u8, 114u8, 111u8, + 189u8, 91u8, 224u8, 77u8, 87u8, 147u8, 197u8, 28u8, 209u8, 28u8, 170u8, + 157u8, 14u8, 42u8, 18u8, 241u8, 146u8, 209u8, 60u8, 210u8, 204u8, + 168u8, 113u8, 30u8, 206u8, 233u8, 19u8, 36u8, 136u8, 115u8, 125u8, + 108u8, ], ) } - #[doc = "Cancels a scheduled unstake request for nomination delegations."] + #[doc = "Reject a service request, preventing its initiation."] + #[doc = ""] + #[doc = "The service request will remain in the system but marked as rejected. The requester will"] + #[doc = "need to update the service request to proceed."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Caller must be a registered operator for the blueprint associated with this request"] + #[doc = "* Caller must be one of the operators required to approve this request"] #[doc = ""] #[doc = "# Arguments"] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `operator` - The operator whose unstake request to cancel"] + #[doc = ""] + #[doc = "* `origin` - The origin of the call, must be a signed account"] + #[doc = "* `request_id` - The ID of the service request to reject"] #[doc = ""] #[doc = "# Errors"] - #[doc = "* `NotDelegator` - Account is not a delegator"] - #[doc = "* `NoBondLessRequest` - No matching unstake request found"] - pub fn cancel_nomination_unstake( + #[doc = ""] + #[doc = "* [`Error::ApprovalNotRequested`] - Caller is not one of the operators required to approve this request"] + #[doc = "* [`Error::ExpectedAccountId`] - Failed to convert refund address to account ID when refunding payment"] + #[doc = "* [`Error::RejectionInterrupted`] - Rejection was interrupted by blueprint hook"] + pub fn reject( &self, - operator: types::cancel_nomination_unstake::Operator, - ) -> ::subxt_core::tx::payload::StaticPayload { + request_id: types::reject::RequestId, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "cancel_nomination_unstake", - types::CancelNominationUnstake { operator }, + "Services", + "reject", + types::Reject { request_id }, [ - 112u8, 148u8, 215u8, 132u8, 205u8, 88u8, 80u8, 43u8, 130u8, 234u8, - 135u8, 174u8, 232u8, 85u8, 45u8, 176u8, 222u8, 108u8, 255u8, 91u8, - 219u8, 229u8, 41u8, 93u8, 41u8, 242u8, 202u8, 35u8, 2u8, 116u8, 52u8, - 166u8, + 119u8, 137u8, 83u8, 229u8, 178u8, 252u8, 111u8, 82u8, 34u8, 195u8, + 132u8, 26u8, 136u8, 69u8, 244u8, 124u8, 138u8, 82u8, 249u8, 95u8, + 177u8, 91u8, 236u8, 63u8, 153u8, 82u8, 50u8, 207u8, 145u8, 86u8, 135u8, + 202u8, ], ) } - #[doc = "Adds a blueprint ID to a delegator's selection."] + #[doc = "Terminates a running service instance."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Must be signed by the delegator account"] + #[doc = "* Must be signed by the service owner"] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `blueprint_id` - ID of blueprint to add"] + #[doc = "* `origin` - The origin of the call"] + #[doc = "* `service_id` - The identifier of the service to terminate"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [`Error::NotDelegator`] - Account is not a delegator"] - #[doc = "* [`Error::DuplicateBlueprintId`] - Blueprint ID already exists"] - #[doc = "* [`Error::MaxBlueprintsExceeded`] - Would exceed max blueprints"] - #[doc = "* [`Error::NotInFixedMode`] - Not in fixed blueprint selection mode"] - pub fn add_blueprint_id( + #[doc = "* [`Error::ServiceNotFound`] - The service_id does not exist"] + #[doc = "* [`Error::NotRegistered`] - Service operator not registered"] + #[doc = "* [`Error::TerminationInterrupted`] - Service termination was interrupted by hooks"] + #[doc = "* [`DispatchError::BadOrigin`] - Caller is not the service owner"] + pub fn terminate( &self, - blueprint_id: types::add_blueprint_id::BlueprintId, - ) -> ::subxt_core::tx::payload::StaticPayload { + service_id: types::terminate::ServiceId, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "add_blueprint_id", - types::AddBlueprintId { blueprint_id }, + "Services", + "terminate", + types::Terminate { service_id }, [ - 74u8, 66u8, 160u8, 46u8, 189u8, 193u8, 17u8, 231u8, 120u8, 52u8, 172u8, - 159u8, 250u8, 132u8, 97u8, 232u8, 0u8, 156u8, 141u8, 168u8, 85u8, 31u8, - 114u8, 113u8, 101u8, 141u8, 69u8, 28u8, 54u8, 103u8, 54u8, 29u8, + 80u8, 226u8, 169u8, 82u8, 37u8, 5u8, 44u8, 217u8, 228u8, 230u8, 40u8, + 144u8, 149u8, 62u8, 225u8, 232u8, 222u8, 111u8, 67u8, 78u8, 31u8, + 209u8, 89u8, 183u8, 19u8, 187u8, 250u8, 1u8, 230u8, 160u8, 252u8, 91u8, ], ) } - #[doc = "Removes a blueprint ID from a delegator's selection."] + #[doc = "Call a job in the service with the provided arguments."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Must be signed by the delegator account"] + #[doc = "* Must be signed by the service owner or a permitted caller"] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `blueprint_id` - ID of blueprint to remove"] + #[doc = "* `origin` - The origin of the call"] + #[doc = "* `service_id` - The service identifier"] + #[doc = "* `job` - The job index to call"] + #[doc = "* `args` - The arguments to pass to the job"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [`Error::NotDelegator`] - Account is not a delegator"] - #[doc = "* [`Error::BlueprintIdNotFound`] - Blueprint ID not found"] - #[doc = "* [`Error::NotInFixedMode`] - Not in fixed blueprint selection mode"] - pub fn remove_blueprint_id( + #[doc = "* [`Error::ServiceNotFound`] - The service_id does not exist"] + #[doc = "* [`Error::JobDefinitionNotFound`] - The job index is invalid"] + #[doc = "* [`Error::MaxFieldsExceeded`] - Too many arguments provided"] + #[doc = "* [`Error::TypeCheck`] - Arguments fail type checking"] + #[doc = "* [`Error::InvalidJobCallInput`] - Job call was rejected by hooks"] + #[doc = "* [`DispatchError::BadOrigin`] - Caller is not owner or permitted caller"] + pub fn call( &self, - blueprint_id: types::remove_blueprint_id::BlueprintId, - ) -> ::subxt_core::tx::payload::StaticPayload { + service_id: types::call::ServiceId, + job: types::call::Job, + args: types::call::Args, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "MultiAssetDelegation", - "remove_blueprint_id", - types::RemoveBlueprintId { blueprint_id }, + "Services", + "call", + types::Call { service_id, job, args }, [ - 81u8, 3u8, 117u8, 89u8, 53u8, 187u8, 26u8, 167u8, 9u8, 26u8, 9u8, - 213u8, 230u8, 218u8, 64u8, 142u8, 227u8, 34u8, 128u8, 123u8, 197u8, - 25u8, 199u8, 212u8, 118u8, 117u8, 134u8, 45u8, 116u8, 10u8, 217u8, - 136u8, + 67u8, 250u8, 225u8, 72u8, 114u8, 18u8, 228u8, 177u8, 223u8, 154u8, + 238u8, 127u8, 234u8, 32u8, 171u8, 44u8, 112u8, 203u8, 85u8, 13u8, + 191u8, 178u8, 246u8, 27u8, 60u8, 103u8, 52u8, 254u8, 173u8, 164u8, + 96u8, 11u8, + ], + ) + } + #[doc = "Submit a result for a previously called job."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `service_id` - ID of the service"] + #[doc = "* `call_id` - ID of the job call"] + #[doc = "* `result` - Vector of result fields"] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Caller must be an operator of the service"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::ServiceNotFound`] - The service_id does not exist"] + #[doc = "* [`Error::JobCallNotFound`] - The call_id does not exist"] + #[doc = "* [`Error::JobDefinitionNotFound`] - The job index is invalid"] + #[doc = "* [`Error::MaxFieldsExceeded`] - Too many result fields provided"] + #[doc = "* [`Error::TypeCheck`] - Result fields fail type checking"] + #[doc = "* [`Error::InvalidJobResult`] - Job result was rejected by hooks"] + #[doc = "* [`DispatchError::BadOrigin`] - Caller is not an operator"] + pub fn submit_result( + &self, + service_id: types::submit_result::ServiceId, + call_id: types::submit_result::CallId, + result: types::submit_result::Result, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Services", + "submit_result", + types::SubmitResult { service_id, call_id, result }, + [ + 127u8, 31u8, 72u8, 147u8, 204u8, 177u8, 209u8, 217u8, 14u8, 67u8, 18u8, + 99u8, 212u8, 118u8, 89u8, 116u8, 183u8, 218u8, 252u8, 48u8, 0u8, 202u8, + 39u8, 37u8, 213u8, 242u8, 39u8, 19u8, 10u8, 184u8, 202u8, 150u8, + ], + ) + } + #[doc = "Slash an operator's stake for a service by scheduling a deferred slashing action."] + #[doc = ""] + #[doc = "This function schedules a deferred slashing action against an operator's stake for a specific service."] + #[doc = "The slash is not applied immediately, but rather queued to be executed by another entity later."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* The caller must be an authorized Slash Origin for the target service, as determined by"] + #[doc = " `query_slashing_origin`. If no slashing origin is set, or the caller does not match, the call"] + #[doc = " will fail."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - The origin of the call. Must be signed by an authorized Slash Origin."] + #[doc = "* `offender` - The account ID of the operator to be slashed."] + #[doc = "* `service_id` - The ID of the service for which to slash the operator."] + #[doc = "* `slash_percent` - The percentage of the operator's exposed stake to slash, as a `Percent` value."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* `NoSlashingOrigin` - No slashing origin is set for the service"] + #[doc = "* `BadOrigin` - Caller is not the authorized slashing origin"] + #[doc = "* `OffenderNotOperator` - Target account is not an operator for this service"] + #[doc = "* `OffenderNotActiveOperator` - Target operator is not currently active"] + pub fn slash( + &self, + offender: types::slash::Offender, + service_id: types::slash::ServiceId, + slash_percent: types::slash::SlashPercent, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Services", + "slash", + types::Slash { offender, service_id, slash_percent }, + [ + 23u8, 134u8, 226u8, 252u8, 149u8, 19u8, 46u8, 60u8, 128u8, 156u8, + 192u8, 208u8, 158u8, 76u8, 31u8, 255u8, 145u8, 23u8, 230u8, 15u8, 32u8, + 102u8, 110u8, 253u8, 1u8, 14u8, 154u8, 204u8, 198u8, 12u8, 185u8, + 148u8, + ], + ) + } + #[doc = "Disputes and removes an [UnappliedSlash] from storage."] + #[doc = ""] + #[doc = "The slash will not be applied once disputed and is permanently removed."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Caller must be the authorized dispute origin for the service"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `era` - Era containing the slash to dispute "] + #[doc = "* `index` - Index of the slash within the era"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [Error::NoDisputeOrigin] - Service has no dispute origin configured"] + #[doc = "* [DispatchError::BadOrigin] - Caller is not the authorized dispute origin"] + #[doc = ""] + pub fn dispute( + &self, + era: types::dispute::Era, + index: types::dispute::Index, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Services", + "dispute", + types::Dispute { era, index }, + [ + 11u8, 20u8, 40u8, 197u8, 106u8, 155u8, 43u8, 220u8, 65u8, 245u8, 83u8, + 57u8, 99u8, 72u8, 115u8, 215u8, 198u8, 123u8, 58u8, 211u8, 238u8, + 194u8, 87u8, 11u8, 18u8, 9u8, 248u8, 159u8, 49u8, 138u8, 39u8, 69u8, + ], + ) + } + #[doc = "Updates the Master Blueprint Service Manager by adding a new revision."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Caller must be an authorized Master Blueprint Service Manager Update Origin"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `address` - New manager address to add"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [Error::MaxMasterBlueprintServiceManagerVersionsExceeded] - Maximum number of revisions reached"] + pub fn update_master_blueprint_service_manager( + &self, + address: types::update_master_blueprint_service_manager::Address, + ) -> ::subxt_core::tx::payload::StaticPayload< + types::UpdateMasterBlueprintServiceManager, + > { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Services", + "update_master_blueprint_service_manager", + types::UpdateMasterBlueprintServiceManager { address }, + [ + 252u8, 219u8, 162u8, 106u8, 90u8, 65u8, 108u8, 176u8, 11u8, 107u8, + 15u8, 162u8, 137u8, 205u8, 165u8, 226u8, 66u8, 222u8, 234u8, 231u8, + 20u8, 85u8, 248u8, 147u8, 200u8, 203u8, 51u8, 242u8, 10u8, 152u8, + 167u8, 68u8, + ], + ) + } + #[doc = "Join a service instance as an operator"] + pub fn join_service( + &self, + instance_id: types::join_service::InstanceId, + security_commitments: types::join_service::SecurityCommitments, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Services", + "join_service", + types::JoinService { instance_id, security_commitments }, + [ + 53u8, 248u8, 31u8, 13u8, 125u8, 216u8, 98u8, 164u8, 255u8, 175u8, 41u8, + 218u8, 163u8, 209u8, 29u8, 245u8, 97u8, 93u8, 161u8, 119u8, 109u8, + 36u8, 108u8, 246u8, 252u8, 217u8, 36u8, 47u8, 246u8, 125u8, 188u8, + 107u8, + ], + ) + } + #[doc = "Leave a service instance as an operator"] + pub fn leave_service( + &self, + instance_id: types::leave_service::InstanceId, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Services", + "leave_service", + types::LeaveService { instance_id }, + [ + 224u8, 35u8, 93u8, 174u8, 1u8, 67u8, 35u8, 46u8, 195u8, 56u8, 103u8, + 19u8, 112u8, 218u8, 195u8, 149u8, 175u8, 203u8, 198u8, 44u8, 76u8, + 95u8, 0u8, 121u8, 82u8, 91u8, 244u8, 230u8, 27u8, 113u8, 12u8, 72u8, ], ) } } - } - #[doc = "Events emitted by the pallet."] - pub type Event = runtime_types::pallet_multi_asset_delegation::pallet::Event; - pub mod events { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An operator has joined."] - pub struct OperatorJoined { - pub who: operator_joined::Who, - } - pub mod operator_joined { - use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; - } - impl ::subxt_core::events::StaticEvent for OperatorJoined { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "OperatorJoined"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An operator has scheduled to leave."] - pub struct OperatorLeavingScheduled { - pub who: operator_leaving_scheduled::Who, - } - pub mod operator_leaving_scheduled { - use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; - } - impl ::subxt_core::events::StaticEvent for OperatorLeavingScheduled { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "OperatorLeavingScheduled"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An operator has cancelled their leave request."] - pub struct OperatorLeaveCancelled { - pub who: operator_leave_cancelled::Who, - } - pub mod operator_leave_cancelled { - use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; - } - impl ::subxt_core::events::StaticEvent for OperatorLeaveCancelled { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "OperatorLeaveCancelled"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An operator has executed their leave request."] - pub struct OperatorLeaveExecuted { - pub who: operator_leave_executed::Who, - } - pub mod operator_leave_executed { - use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; - } - impl ::subxt_core::events::StaticEvent for OperatorLeaveExecuted { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "OperatorLeaveExecuted"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An operator has increased their stake."] - pub struct OperatorBondMore { - pub who: operator_bond_more::Who, - pub additional_bond: operator_bond_more::AdditionalBond, - } - pub mod operator_bond_more { - use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; - pub type AdditionalBond = ::core::primitive::u128; - } - impl ::subxt_core::events::StaticEvent for OperatorBondMore { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "OperatorBondMore"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An operator has scheduled to decrease their stake."] - pub struct OperatorBondLessScheduled { - pub who: operator_bond_less_scheduled::Who, - pub unstake_amount: operator_bond_less_scheduled::UnstakeAmount, - } - pub mod operator_bond_less_scheduled { - use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; - pub type UnstakeAmount = ::core::primitive::u128; - } - impl ::subxt_core::events::StaticEvent for OperatorBondLessScheduled { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "OperatorBondLessScheduled"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An operator has executed their stake decrease."] - pub struct OperatorBondLessExecuted { - pub who: operator_bond_less_executed::Who, - } - pub mod operator_bond_less_executed { - use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; - } - impl ::subxt_core::events::StaticEvent for OperatorBondLessExecuted { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "OperatorBondLessExecuted"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An operator has cancelled their stake decrease request."] - pub struct OperatorBondLessCancelled { - pub who: operator_bond_less_cancelled::Who, - } - pub mod operator_bond_less_cancelled { - use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; - } - impl ::subxt_core::events::StaticEvent for OperatorBondLessCancelled { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "OperatorBondLessCancelled"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An operator has gone offline."] - pub struct OperatorWentOffline { - pub who: operator_went_offline::Who, - } - pub mod operator_went_offline { - use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; - } - impl ::subxt_core::events::StaticEvent for OperatorWentOffline { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "OperatorWentOffline"; - } + } + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::pallet_services::module::Event; + pub mod events { + use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -46588,17 +45748,19 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An operator has gone online."] - pub struct OperatorWentOnline { - pub who: operator_went_online::Who, + #[doc = "A new service blueprint has been created."] + pub struct BlueprintCreated { + pub owner: blueprint_created::Owner, + pub blueprint_id: blueprint_created::BlueprintId, } - pub mod operator_went_online { + pub mod blueprint_created { use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; + pub type Owner = ::subxt_core::utils::AccountId32; + pub type BlueprintId = ::core::primitive::u64; } - impl ::subxt_core::events::StaticEvent for OperatorWentOnline { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "OperatorWentOnline"; + impl ::subxt_core::events::StaticEvent for BlueprintCreated { + const PALLET: &'static str = "Services"; + const EVENT: &'static str = "BlueprintCreated"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -46614,23 +45776,19 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A deposit has been made."] - pub struct Deposited { - pub who: deposited::Who, - pub amount: deposited::Amount, - pub asset: deposited::Asset, + #[doc = "An operator has pre-registered for a service blueprint."] + pub struct PreRegistration { + pub operator: pre_registration::Operator, + pub blueprint_id: pre_registration::BlueprintId, } - pub mod deposited { + pub mod pre_registration { use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; - pub type Amount = ::core::primitive::u128; - pub type Asset = runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, - >; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type BlueprintId = ::core::primitive::u64; } - impl ::subxt_core::events::StaticEvent for Deposited { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "Deposited"; + impl ::subxt_core::events::StaticEvent for PreRegistration { + const PALLET: &'static str = "Services"; + const EVENT: &'static str = "PreRegistration"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -46646,23 +45804,28 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An withdraw has been scheduled."] - pub struct ScheduledWithdraw { - pub who: scheduled_withdraw::Who, - pub amount: scheduled_withdraw::Amount, - pub asset: scheduled_withdraw::Asset, + #[doc = "An new operator has been registered."] + pub struct Registered { + pub provider: registered::Provider, + pub blueprint_id: registered::BlueprintId, + pub preferences: registered::Preferences, + pub registration_args: registered::RegistrationArgs, } - pub mod scheduled_withdraw { + pub mod registered { use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; - pub type Amount = ::core::primitive::u128; - pub type Asset = runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, + pub type Provider = ::subxt_core::utils::AccountId32; + pub type BlueprintId = ::core::primitive::u64; + pub type Preferences = + runtime_types::tangle_primitives::services::types::OperatorPreferences; + pub type RegistrationArgs = ::subxt_core::alloc::vec::Vec< + runtime_types::tangle_primitives::services::field::Field< + ::subxt_core::utils::AccountId32, + >, >; } - impl ::subxt_core::events::StaticEvent for ScheduledWithdraw { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "ScheduledWithdraw"; + impl ::subxt_core::events::StaticEvent for Registered { + const PALLET: &'static str = "Services"; + const EVENT: &'static str = "Registered"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -46678,17 +45841,19 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An withdraw has been executed."] - pub struct ExecutedWithdraw { - pub who: executed_withdraw::Who, + #[doc = "An operator has been unregistered."] + pub struct Unregistered { + pub operator: unregistered::Operator, + pub blueprint_id: unregistered::BlueprintId, } - pub mod executed_withdraw { + pub mod unregistered { use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type BlueprintId = ::core::primitive::u64; } - impl ::subxt_core::events::StaticEvent for ExecutedWithdraw { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "ExecutedWithdraw"; + impl ::subxt_core::events::StaticEvent for Unregistered { + const PALLET: &'static str = "Services"; + const EVENT: &'static str = "Unregistered"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -46704,17 +45869,22 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An withdraw has been cancelled."] - pub struct CancelledWithdraw { - pub who: cancelled_withdraw::Who, + #[doc = "The price targets for an operator has been updated."] + pub struct PriceTargetsUpdated { + pub operator: price_targets_updated::Operator, + pub blueprint_id: price_targets_updated::BlueprintId, + pub price_targets: price_targets_updated::PriceTargets, } - pub mod cancelled_withdraw { + pub mod price_targets_updated { use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; + pub type Operator = ::subxt_core::utils::AccountId32; + pub type BlueprintId = ::core::primitive::u64; + pub type PriceTargets = + runtime_types::tangle_primitives::services::types::PriceTargets; } - impl ::subxt_core::events::StaticEvent for CancelledWithdraw { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "CancelledWithdraw"; + impl ::subxt_core::events::StaticEvent for PriceTargetsUpdated { + const PALLET: &'static str = "Services"; + const EVENT: &'static str = "PriceTargetsUpdated"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -46730,25 +45900,33 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A delegation has been made."] - pub struct Delegated { - pub who: delegated::Who, - pub operator: delegated::Operator, - pub amount: delegated::Amount, - pub asset: delegated::Asset, + #[doc = "A new service has been requested."] + pub struct ServiceRequested { + pub owner: service_requested::Owner, + pub request_id: service_requested::RequestId, + pub blueprint_id: service_requested::BlueprintId, + pub pending_approvals: service_requested::PendingApprovals, + pub approved: service_requested::Approved, + pub security_requirements: service_requested::SecurityRequirements, } - pub mod delegated { + pub mod service_requested { use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; - pub type Operator = ::subxt_core::utils::AccountId32; - pub type Amount = ::core::primitive::u128; - pub type Asset = runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, - >; + pub type Owner = ::subxt_core::utils::AccountId32; + pub type RequestId = ::core::primitive::u64; + pub type BlueprintId = ::core::primitive::u64; + pub type PendingApprovals = + ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; + pub type Approved = ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; + pub type SecurityRequirements = + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::tangle_primitives::services::types::AssetSecurityRequirement< + ::core::primitive::u128, + >, + >; } - impl ::subxt_core::events::StaticEvent for Delegated { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "Delegated"; + impl ::subxt_core::events::StaticEvent for ServiceRequested { + const PALLET: &'static str = "Services"; + const EVENT: &'static str = "ServiceRequested"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -46764,27 +45942,26 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A delegator unstake request has been scheduled."] - pub struct DelegatorUnstakeScheduled { - pub who: delegator_unstake_scheduled::Who, - pub operator: delegator_unstake_scheduled::Operator, - pub asset: delegator_unstake_scheduled::Asset, - pub amount: delegator_unstake_scheduled::Amount, - pub when: delegator_unstake_scheduled::When, + #[doc = "A service request has been approved."] + pub struct ServiceRequestApproved { + pub operator: service_request_approved::Operator, + pub request_id: service_request_approved::RequestId, + pub blueprint_id: service_request_approved::BlueprintId, + pub pending_approvals: service_request_approved::PendingApprovals, + pub approved: service_request_approved::Approved, } - pub mod delegator_unstake_scheduled { + pub mod service_request_approved { use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; pub type Operator = ::subxt_core::utils::AccountId32; - pub type Asset = runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, - >; - pub type Amount = ::core::primitive::u128; - pub type When = ::core::primitive::u32; + pub type RequestId = ::core::primitive::u64; + pub type BlueprintId = ::core::primitive::u64; + pub type PendingApprovals = + ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; + pub type Approved = ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; } - impl ::subxt_core::events::StaticEvent for DelegatorUnstakeScheduled { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "DelegatorUnstakeScheduled"; + impl ::subxt_core::events::StaticEvent for ServiceRequestApproved { + const PALLET: &'static str = "Services"; + const EVENT: &'static str = "ServiceRequestApproved"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -46800,25 +45977,21 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A delegator unstake request has been executed."] - pub struct DelegatorUnstakeExecuted { - pub who: delegator_unstake_executed::Who, - pub operator: delegator_unstake_executed::Operator, - pub asset: delegator_unstake_executed::Asset, - pub amount: delegator_unstake_executed::Amount, + #[doc = "A service request has been rejected."] + pub struct ServiceRequestRejected { + pub operator: service_request_rejected::Operator, + pub request_id: service_request_rejected::RequestId, + pub blueprint_id: service_request_rejected::BlueprintId, } - pub mod delegator_unstake_executed { + pub mod service_request_rejected { use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; pub type Operator = ::subxt_core::utils::AccountId32; - pub type Asset = runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, - >; - pub type Amount = ::core::primitive::u128; + pub type RequestId = ::core::primitive::u64; + pub type BlueprintId = ::core::primitive::u64; } - impl ::subxt_core::events::StaticEvent for DelegatorUnstakeExecuted { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "DelegatorUnstakeExecuted"; + impl ::subxt_core::events::StaticEvent for ServiceRequestRejected { + const PALLET: &'static str = "Services"; + const EVENT: &'static str = "ServiceRequestRejected"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -46834,25 +46007,25 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A delegator unstake request has been cancelled."] - pub struct DelegatorUnstakeCancelled { - pub who: delegator_unstake_cancelled::Who, - pub operator: delegator_unstake_cancelled::Operator, - pub asset: delegator_unstake_cancelled::Asset, - pub amount: delegator_unstake_cancelled::Amount, + #[doc = "A service has been initiated."] + pub struct ServiceInitiated { + pub owner: service_initiated::Owner, + pub request_id: service_initiated::RequestId, + pub service_id: service_initiated::ServiceId, + pub blueprint_id: service_initiated::BlueprintId, + pub operator_security_commitments: service_initiated::OperatorSecurityCommitments, } - pub mod delegator_unstake_cancelled { + pub mod service_initiated { use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; - pub type Operator = ::subxt_core::utils::AccountId32; - pub type Asset = runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, - >; - pub type Amount = ::core::primitive::u128; + pub type Owner = ::subxt_core::utils::AccountId32; + pub type RequestId = ::core::primitive::u64; + pub type ServiceId = ::core::primitive::u64; + pub type BlueprintId = ::core::primitive::u64; + pub type OperatorSecurityCommitments = runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < (:: subxt_core :: utils :: AccountId32 , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: types :: AssetSecurityCommitment < :: core :: primitive :: u128 > > ,) > ; } - impl ::subxt_core::events::StaticEvent for DelegatorUnstakeCancelled { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "DelegatorUnstakeCancelled"; + impl ::subxt_core::events::StaticEvent for ServiceInitiated { + const PALLET: &'static str = "Services"; + const EVENT: &'static str = "ServiceInitiated"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -46868,25 +46041,21 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An Operator has been slashed."] - pub struct OperatorSlashed { - pub operator: operator_slashed::Operator, - pub amount: operator_slashed::Amount, - pub service_id: operator_slashed::ServiceId, - pub blueprint_id: operator_slashed::BlueprintId, - pub era: operator_slashed::Era, + #[doc = "A service has been terminated."] + pub struct ServiceTerminated { + pub owner: service_terminated::Owner, + pub service_id: service_terminated::ServiceId, + pub blueprint_id: service_terminated::BlueprintId, } - pub mod operator_slashed { + pub mod service_terminated { use super::runtime_types; - pub type Operator = ::subxt_core::utils::AccountId32; - pub type Amount = ::core::primitive::u128; + pub type Owner = ::subxt_core::utils::AccountId32; pub type ServiceId = ::core::primitive::u64; pub type BlueprintId = ::core::primitive::u64; - pub type Era = ::core::primitive::u32; } - impl ::subxt_core::events::StaticEvent for OperatorSlashed { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "OperatorSlashed"; + impl ::subxt_core::events::StaticEvent for ServiceTerminated { + const PALLET: &'static str = "Services"; + const EVENT: &'static str = "ServiceTerminated"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -46902,29 +46071,29 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A Delegator has been slashed."] - pub struct DelegatorSlashed { - pub delegator: delegator_slashed::Delegator, - pub amount: delegator_slashed::Amount, - pub asset: delegator_slashed::Asset, - pub service_id: delegator_slashed::ServiceId, - pub blueprint_id: delegator_slashed::BlueprintId, - pub era: delegator_slashed::Era, + #[doc = "A job has been called."] + pub struct JobCalled { + pub caller: job_called::Caller, + pub service_id: job_called::ServiceId, + pub call_id: job_called::CallId, + pub job: job_called::Job, + pub args: job_called::Args, } - pub mod delegator_slashed { + pub mod job_called { use super::runtime_types; - pub type Delegator = ::subxt_core::utils::AccountId32; - pub type Amount = ::core::primitive::u128; - pub type Asset = runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, - >; + pub type Caller = ::subxt_core::utils::AccountId32; pub type ServiceId = ::core::primitive::u64; - pub type BlueprintId = ::core::primitive::u64; - pub type Era = ::core::primitive::u32; + pub type CallId = ::core::primitive::u64; + pub type Job = ::core::primitive::u8; + pub type Args = ::subxt_core::alloc::vec::Vec< + runtime_types::tangle_primitives::services::field::Field< + ::subxt_core::utils::AccountId32, + >, + >; } - impl ::subxt_core::events::StaticEvent for DelegatorSlashed { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "DelegatorSlashed"; + impl ::subxt_core::events::StaticEvent for JobCalled { + const PALLET: &'static str = "Services"; + const EVENT: &'static str = "JobCalled"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -46940,27 +46109,29 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A Delegator's nominated stake has been slashed."] - pub struct NominatedSlash { - pub delegator: nominated_slash::Delegator, - pub operator: nominated_slash::Operator, - pub amount: nominated_slash::Amount, - pub service_id: nominated_slash::ServiceId, - pub blueprint_id: nominated_slash::BlueprintId, - pub era: nominated_slash::Era, + #[doc = "A job result has been submitted."] + pub struct JobResultSubmitted { + pub operator: job_result_submitted::Operator, + pub service_id: job_result_submitted::ServiceId, + pub call_id: job_result_submitted::CallId, + pub job: job_result_submitted::Job, + pub result: job_result_submitted::Result, } - pub mod nominated_slash { + pub mod job_result_submitted { use super::runtime_types; - pub type Delegator = ::subxt_core::utils::AccountId32; pub type Operator = ::subxt_core::utils::AccountId32; - pub type Amount = ::core::primitive::u128; pub type ServiceId = ::core::primitive::u64; - pub type BlueprintId = ::core::primitive::u64; - pub type Era = ::core::primitive::u32; + pub type CallId = ::core::primitive::u64; + pub type Job = ::core::primitive::u8; + pub type Result = ::subxt_core::alloc::vec::Vec< + runtime_types::tangle_primitives::services::field::Field< + ::subxt_core::utils::AccountId32, + >, + >; } - impl ::subxt_core::events::StaticEvent for NominatedSlash { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "NominatedSlash"; + impl ::subxt_core::events::StaticEvent for JobResultSubmitted { + const PALLET: &'static str = "Services"; + const EVENT: &'static str = "JobResultSubmitted"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -46991,7 +46162,7 @@ pub mod api { pub type Reason = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; } impl ::subxt_core::events::StaticEvent for EvmReverted { - const PALLET: &'static str = "MultiAssetDelegation"; + const PALLET: &'static str = "Services"; const EVENT: &'static str = "EvmReverted"; } #[derive( @@ -47008,53 +46179,27 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A nomination has been delegated"] - pub struct NominationDelegated { - pub who: nomination_delegated::Who, - pub operator: nomination_delegated::Operator, - pub amount: nomination_delegated::Amount, - } - pub mod nomination_delegated { - use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; - pub type Operator = ::subxt_core::utils::AccountId32; - pub type Amount = ::core::primitive::u128; - } - impl ::subxt_core::events::StaticEvent for NominationDelegated { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "NominationDelegated"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A nomination unstake request has been scheduled."] - pub struct NominationUnstakeScheduled { - pub who: nomination_unstake_scheduled::Who, - pub operator: nomination_unstake_scheduled::Operator, - pub amount: nomination_unstake_scheduled::Amount, - pub when: nomination_unstake_scheduled::When, + #[doc = "An Operator has an unapplied slash."] + pub struct UnappliedSlash { + pub index: unapplied_slash::Index, + pub operator: unapplied_slash::Operator, + pub service_id: unapplied_slash::ServiceId, + pub blueprint_id: unapplied_slash::BlueprintId, + pub slash_percent: unapplied_slash::SlashPercent, + pub era: unapplied_slash::Era, } - pub mod nomination_unstake_scheduled { + pub mod unapplied_slash { use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; + pub type Index = ::core::primitive::u32; pub type Operator = ::subxt_core::utils::AccountId32; - pub type Amount = ::core::primitive::u128; - pub type When = ::core::primitive::u32; + pub type ServiceId = ::core::primitive::u64; + pub type BlueprintId = ::core::primitive::u64; + pub type SlashPercent = runtime_types::sp_arithmetic::per_things::Percent; + pub type Era = ::core::primitive::u32; } - impl ::subxt_core::events::StaticEvent for NominationUnstakeScheduled { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "NominationUnstakeScheduled"; + impl ::subxt_core::events::StaticEvent for UnappliedSlash { + const PALLET: &'static str = "Services"; + const EVENT: &'static str = "UnappliedSlash"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -47070,21 +46215,27 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A nomination unstake request has been executed."] - pub struct NominationUnstakeExecuted { - pub who: nomination_unstake_executed::Who, - pub operator: nomination_unstake_executed::Operator, - pub amount: nomination_unstake_executed::Amount, + #[doc = "An Unapplied Slash got discarded."] + pub struct SlashDiscarded { + pub index: slash_discarded::Index, + pub operator: slash_discarded::Operator, + pub service_id: slash_discarded::ServiceId, + pub blueprint_id: slash_discarded::BlueprintId, + pub slash_percent: slash_discarded::SlashPercent, + pub era: slash_discarded::Era, } - pub mod nomination_unstake_executed { + pub mod slash_discarded { use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; + pub type Index = ::core::primitive::u32; pub type Operator = ::subxt_core::utils::AccountId32; - pub type Amount = ::core::primitive::u128; + pub type ServiceId = ::core::primitive::u64; + pub type BlueprintId = ::core::primitive::u64; + pub type SlashPercent = runtime_types::sp_arithmetic::per_things::Percent; + pub type Era = ::core::primitive::u32; } - impl ::subxt_core::events::StaticEvent for NominationUnstakeExecuted { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "NominationUnstakeExecuted"; + impl ::subxt_core::events::StaticEvent for SlashDiscarded { + const PALLET: &'static str = "Services"; + const EVENT: &'static str = "SlashDiscarded"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -47100,4254 +46251,4518 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A nomination unstake request has been cancelled."] - pub struct NominationUnstakeCancelled { - pub who: nomination_unstake_cancelled::Who, - pub operator: nomination_unstake_cancelled::Operator, - pub amount: nomination_unstake_cancelled::Amount, + #[doc = "The Master Blueprint Service Manager has been revised."] + pub struct MasterBlueprintServiceManagerRevised { + pub revision: master_blueprint_service_manager_revised::Revision, + pub address: master_blueprint_service_manager_revised::Address, } - pub mod nomination_unstake_cancelled { + pub mod master_blueprint_service_manager_revised { use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; - pub type Operator = ::subxt_core::utils::AccountId32; - pub type Amount = ::core::primitive::u128; + pub type Revision = ::core::primitive::u32; + pub type Address = ::subxt_core::utils::H160; } - impl ::subxt_core::events::StaticEvent for NominationUnstakeCancelled { - const PALLET: &'static str = "MultiAssetDelegation"; - const EVENT: &'static str = "NominationUnstakeCancelled"; + impl ::subxt_core::events::StaticEvent for MasterBlueprintServiceManagerRevised { + const PALLET: &'static str = "Services"; + const EVENT: &'static str = "MasterBlueprintServiceManagerRevised"; } } pub mod storage { use super::runtime_types; pub mod types { use super::runtime_types; - pub mod operators { + pub mod next_blueprint_id { use super::runtime_types; - pub type Operators = runtime_types :: pallet_multi_asset_delegation :: types :: operator :: OperatorMetadata < :: subxt_core :: utils :: AccountId32 , :: core :: primitive :: u128 , :: core :: primitive :: u128 , runtime_types :: tangle_testnet_runtime :: MaxDelegations , runtime_types :: tangle_testnet_runtime :: MaxOperatorBlueprints > ; - pub type Param0 = ::subxt_core::utils::AccountId32; + pub type NextBlueprintId = ::core::primitive::u64; } - pub mod current_round { + pub mod next_service_request_id { use super::runtime_types; - pub type CurrentRound = ::core::primitive::u32; + pub type NextServiceRequestId = ::core::primitive::u64; } - pub mod at_stake { + pub mod next_instance_id { use super::runtime_types; - pub type AtStake = runtime_types :: pallet_multi_asset_delegation :: types :: operator :: OperatorSnapshot < :: subxt_core :: utils :: AccountId32 , :: core :: primitive :: u128 , :: core :: primitive :: u128 , runtime_types :: tangle_testnet_runtime :: MaxDelegations > ; - pub type Param0 = ::core::primitive::u32; + pub type NextInstanceId = ::core::primitive::u64; + } + pub mod next_job_call_id { + use super::runtime_types; + pub type NextJobCallId = ::core::primitive::u64; + } + pub mod next_unapplied_slash_index { + use super::runtime_types; + pub type NextUnappliedSlashIndex = ::core::primitive::u32; + } + pub mod blueprints { + use super::runtime_types; + pub type Blueprints = ( + ::subxt_core::utils::AccountId32, + runtime_types::tangle_primitives::services::service::ServiceBlueprint, + ); + pub type Param0 = ::core::primitive::u64; + } + pub mod service_status { + use super::runtime_types; + pub type ServiceStatus = (); + pub type Param0 = ::core::primitive::u64; + pub type Param1 = ::core::primitive::u64; + } + pub mod operators { + use super::runtime_types; + pub type Operators = + runtime_types::tangle_primitives::services::types::OperatorPreferences; + pub type Param0 = ::core::primitive::u64; pub type Param1 = ::subxt_core::utils::AccountId32; } - pub mod delegators { + pub mod service_requests { use super::runtime_types; - pub type Delegators = runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorMetadata < :: subxt_core :: utils :: AccountId32 , :: core :: primitive :: u128 , :: core :: primitive :: u128 , runtime_types :: tangle_testnet_runtime :: MaxWithdrawRequests , runtime_types :: tangle_testnet_runtime :: MaxDelegations , runtime_types :: tangle_testnet_runtime :: MaxUnstakeRequests , runtime_types :: tangle_testnet_runtime :: MaxDelegatorBlueprints , :: core :: primitive :: u64 , runtime_types :: tangle_testnet_runtime :: MaxDelegations > ; + pub type ServiceRequests = + runtime_types::tangle_primitives::services::service::ServiceRequest< + ::subxt_core::utils::AccountId32, + ::core::primitive::u64, + ::core::primitive::u128, + >; + pub type Param0 = ::core::primitive::u64; + } + pub mod instances { + use super::runtime_types; + pub type Instances = + runtime_types::tangle_primitives::services::service::Service< + ::subxt_core::utils::AccountId32, + ::core::primitive::u64, + ::core::primitive::u128, + >; + pub type Param0 = ::core::primitive::u64; + } + pub mod user_services { + use super::runtime_types; + pub type UserServices = + runtime_types::bounded_collections::bounded_btree_set::BoundedBTreeSet< + ::core::primitive::u64, + >; pub type Param0 = ::subxt_core::utils::AccountId32; } - } - pub struct StorageApi; - impl StorageApi { - #[doc = " Storage for operator information."] - pub fn operators_iter( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::operators::Operators, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "MultiAssetDelegation", - "Operators", - (), - [ - 208u8, 207u8, 186u8, 143u8, 163u8, 150u8, 116u8, 18u8, 72u8, 158u8, - 68u8, 2u8, 245u8, 195u8, 234u8, 39u8, 215u8, 237u8, 120u8, 92u8, 129u8, - 224u8, 52u8, 174u8, 123u8, 139u8, 121u8, 252u8, 222u8, 100u8, 17u8, - 241u8, - ], - ) + pub mod job_calls { + use super::runtime_types; + pub type JobCalls = runtime_types::tangle_primitives::services::jobs::JobCall< + ::subxt_core::utils::AccountId32, + >; + pub type Param0 = ::core::primitive::u64; + pub type Param1 = ::core::primitive::u64; } - #[doc = " Storage for operator information."] - pub fn operators( - &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::operators::Operators, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "MultiAssetDelegation", - "Operators", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - [ - 208u8, 207u8, 186u8, 143u8, 163u8, 150u8, 116u8, 18u8, 72u8, 158u8, - 68u8, 2u8, 245u8, 195u8, 234u8, 39u8, 215u8, 237u8, 120u8, 92u8, 129u8, - 224u8, 52u8, 174u8, 123u8, 139u8, 121u8, 252u8, 222u8, 100u8, 17u8, - 241u8, - ], - ) + pub mod job_results { + use super::runtime_types; + pub type JobResults = + runtime_types::tangle_primitives::services::jobs::JobCallResult< + ::subxt_core::utils::AccountId32, + >; + pub type Param0 = ::core::primitive::u64; + pub type Param1 = ::core::primitive::u64; } - #[doc = " Storage for the current round."] - pub fn current_round( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::current_round::CurrentRound, - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "MultiAssetDelegation", - "CurrentRound", - (), - [ - 36u8, 98u8, 75u8, 19u8, 13u8, 250u8, 136u8, 31u8, 63u8, 120u8, 224u8, - 83u8, 183u8, 198u8, 195u8, 37u8, 82u8, 213u8, 193u8, 217u8, 137u8, - 62u8, 201u8, 251u8, 45u8, 141u8, 171u8, 22u8, 54u8, 134u8, 113u8, - 232u8, - ], - ) + pub mod unapplied_slashes { + use super::runtime_types; + pub type UnappliedSlashes = + runtime_types::tangle_primitives::services::types::UnappliedSlash< + ::subxt_core::utils::AccountId32, + >; + pub type Param0 = ::core::primitive::u32; + pub type Param1 = ::core::primitive::u32; } - #[doc = " Snapshot of collator delegation stake at the start of the round."] - pub fn at_stake_iter( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::at_stake::AtStake, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "MultiAssetDelegation", - "AtStake", - (), - [ - 132u8, 47u8, 128u8, 227u8, 221u8, 91u8, 239u8, 154u8, 0u8, 229u8, 31u8, - 145u8, 160u8, 210u8, 231u8, 90u8, 164u8, 39u8, 38u8, 43u8, 57u8, 114u8, - 85u8, 225u8, 165u8, 242u8, 100u8, 169u8, 4u8, 159u8, 124u8, 33u8, - ], - ) + pub mod master_blueprint_service_manager_revisions { + use super::runtime_types; + pub type MasterBlueprintServiceManagerRevisions = + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::subxt_core::utils::H160, + >; } - #[doc = " Snapshot of collator delegation stake at the start of the round."] - pub fn at_stake_iter1( - &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::at_stake::AtStake, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "MultiAssetDelegation", - "AtStake", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - [ - 132u8, 47u8, 128u8, 227u8, 221u8, 91u8, 239u8, 154u8, 0u8, 229u8, 31u8, - 145u8, 160u8, 210u8, 231u8, 90u8, 164u8, 39u8, 38u8, 43u8, 57u8, 114u8, - 85u8, 225u8, 165u8, 242u8, 100u8, 169u8, 4u8, 159u8, 124u8, 33u8, - ], - ) + pub mod operators_profile { + use super::runtime_types; + pub type OperatorsProfile = + runtime_types::tangle_primitives::services::types::OperatorProfile; + pub type Param0 = ::subxt_core::utils::AccountId32; } - #[doc = " Snapshot of collator delegation stake at the start of the round."] - pub fn at_stake( - &self, - _0: impl ::core::borrow::Borrow, - _1: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ( - ::subxt_core::storage::address::StaticStorageKey, - ::subxt_core::storage::address::StaticStorageKey, - ), - types::at_stake::AtStake, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "MultiAssetDelegation", - "AtStake", - ( - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), - ), - [ - 132u8, 47u8, 128u8, 227u8, 221u8, 91u8, 239u8, 154u8, 0u8, 229u8, 31u8, - 145u8, 160u8, 210u8, 231u8, 90u8, 164u8, 39u8, 38u8, 43u8, 57u8, 114u8, - 85u8, 225u8, 165u8, 242u8, 100u8, 169u8, 4u8, 159u8, 124u8, 33u8, - ], - ) + pub mod staging_service_payments { + use super::runtime_types; + pub type StagingServicePayments = + runtime_types::tangle_primitives::services::service::StagingServicePayment< + ::subxt_core::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u128, + >; + pub type Param0 = ::core::primitive::u64; } - #[doc = " Storage for delegator information."] - pub fn delegators_iter( + } + pub struct StorageApi; + impl StorageApi { + #[doc = " The next free ID for a service blueprint."] + pub fn next_blueprint_id( &self, ) -> ::subxt_core::storage::address::StaticAddress< (), - types::delegators::Delegators, - (), - (), + types::next_blueprint_id::NextBlueprintId, ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "MultiAssetDelegation", - "Delegators", - (), - [ - 27u8, 203u8, 91u8, 19u8, 247u8, 168u8, 80u8, 221u8, 203u8, 208u8, - 168u8, 89u8, 146u8, 70u8, 38u8, 253u8, 51u8, 97u8, 17u8, 85u8, 250u8, - 8u8, 46u8, 130u8, 215u8, 255u8, 19u8, 114u8, 218u8, 194u8, 159u8, - 136u8, - ], - ) - } - #[doc = " Storage for delegator information."] - pub fn delegators( - &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::delegators::Delegators, ::subxt_core::utils::Yes, (), - (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "MultiAssetDelegation", - "Delegators", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - [ - 27u8, 203u8, 91u8, 19u8, 247u8, 168u8, 80u8, 221u8, 203u8, 208u8, - 168u8, 89u8, 146u8, 70u8, 38u8, 253u8, 51u8, 97u8, 17u8, 85u8, 250u8, - 8u8, 46u8, 130u8, 215u8, 255u8, 19u8, 114u8, 218u8, 194u8, 159u8, - 136u8, - ], - ) - } - } - } - pub mod constants { - use super::runtime_types; - pub struct ConstantsApi; - impl ConstantsApi { - #[doc = " The maximum number of blueprints a delegator can have in Fixed mode."] - pub fn max_delegator_blueprints( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "MultiAssetDelegation", - "MaxDelegatorBlueprints", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) - } - #[doc = " The maximum number of blueprints an operator can support."] - pub fn max_operator_blueprints( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "MultiAssetDelegation", - "MaxOperatorBlueprints", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) - } - #[doc = " The maximum number of withdraw requests a delegator can have."] - pub fn max_withdraw_requests( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "MultiAssetDelegation", - "MaxWithdrawRequests", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) - } - #[doc = " The maximum number of delegations a delegator can have."] - pub fn max_delegations( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "MultiAssetDelegation", - "MaxDelegations", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) - } - #[doc = " The maximum number of unstake requests a delegator can have."] - pub fn max_unstake_requests( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "MultiAssetDelegation", - "MaxUnstakeRequests", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) - } - #[doc = " The minimum amount of stake required for an operator."] - pub fn min_operator_bond_amount( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { - ::subxt_core::constants::address::StaticAddress::new_static( - "MultiAssetDelegation", - "MinOperatorBondAmount", + "Services", + "NextBlueprintId", + (), [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, - 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + 35u8, 44u8, 121u8, 43u8, 47u8, 227u8, 24u8, 214u8, 105u8, 224u8, 192u8, + 107u8, 93u8, 67u8, 237u8, 105u8, 147u8, 12u8, 106u8, 77u8, 106u8, 60u8, + 125u8, 136u8, 29u8, 74u8, 32u8, 116u8, 169u8, 29u8, 248u8, 191u8, ], ) } - #[doc = " The minimum amount of stake required for a delegate."] - pub fn min_delegate_amount( + #[doc = " The next free ID for a service request."] + pub fn next_service_request_id( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u128> { - ::subxt_core::constants::address::StaticAddress::new_static( - "MultiAssetDelegation", - "MinDelegateAmount", + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::next_service_request_id::NextServiceRequestId, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "NextServiceRequestId", + (), [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, - 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + 40u8, 205u8, 139u8, 150u8, 30u8, 95u8, 231u8, 50u8, 201u8, 122u8, 18u8, + 86u8, 153u8, 52u8, 66u8, 18u8, 223u8, 123u8, 81u8, 25u8, 124u8, 181u8, + 88u8, 131u8, 156u8, 54u8, 121u8, 244u8, 206u8, 54u8, 15u8, 218u8, ], ) } - #[doc = " The duration for which the stake is locked."] - pub fn bond_duration( + #[doc = " The next free ID for a service Instance."] + pub fn next_instance_id( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "MultiAssetDelegation", - "BondDuration", + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::next_instance_id::NextInstanceId, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "NextInstanceId", + (), [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, + 134u8, 80u8, 72u8, 175u8, 246u8, 17u8, 135u8, 164u8, 20u8, 191u8, 89u8, + 166u8, 9u8, 94u8, 74u8, 92u8, 98u8, 189u8, 199u8, 136u8, 27u8, 203u8, + 96u8, 193u8, 212u8, 151u8, 83u8, 178u8, 71u8, 44u8, 229u8, 101u8, ], ) } - #[doc = " Number of rounds that operators remain bonded before the exit request is executable."] - pub fn leave_operators_delay( + #[doc = " The next free ID for a service call."] + pub fn next_job_call_id( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "MultiAssetDelegation", - "LeaveOperatorsDelay", + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::next_job_call_id::NextJobCallId, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "NextJobCallId", + (), [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, + 91u8, 154u8, 224u8, 213u8, 133u8, 241u8, 107u8, 25u8, 9u8, 22u8, 190u8, + 236u8, 246u8, 67u8, 142u8, 223u8, 38u8, 184u8, 60u8, 6u8, 154u8, 229u8, + 170u8, 195u8, 109u8, 160u8, 23u8, 104u8, 229u8, 202u8, 10u8, 76u8, ], ) } - #[doc = " Number of rounds operator requests to decrease self-stake must wait to be executable."] - pub fn operator_bond_less_delay( + #[doc = " The next free ID for a unapplied slash."] + pub fn next_unapplied_slash_index( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "MultiAssetDelegation", - "OperatorBondLessDelay", + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::next_unapplied_slash_index::NextUnappliedSlashIndex, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "NextUnappliedSlashIndex", + (), [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, + 140u8, 233u8, 25u8, 123u8, 172u8, 43u8, 141u8, 60u8, 203u8, 69u8, + 231u8, 163u8, 190u8, 51u8, 102u8, 76u8, 70u8, 188u8, 154u8, 127u8, + 246u8, 42u8, 27u8, 176u8, 50u8, 178u8, 222u8, 57u8, 57u8, 220u8, 60u8, + 74u8, ], ) } - #[doc = " Number of rounds that delegators remain bonded before the exit request is executable."] - pub fn leave_delegators_delay( + #[doc = " The service blueprints along with their owner."] + pub fn blueprints_iter( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "MultiAssetDelegation", - "LeaveDelegatorsDelay", + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::blueprints::Blueprints, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "Blueprints", + (), [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, + 116u8, 183u8, 157u8, 81u8, 194u8, 185u8, 241u8, 139u8, 65u8, 133u8, + 72u8, 142u8, 79u8, 137u8, 107u8, 26u8, 239u8, 40u8, 230u8, 128u8, + 216u8, 151u8, 104u8, 130u8, 227u8, 61u8, 172u8, 52u8, 243u8, 161u8, + 38u8, 83u8, ], ) } - #[doc = " Number of rounds that delegation unstake requests must wait before being executable."] - pub fn delegation_bond_less_delay( + #[doc = " The service blueprints along with their owner."] + pub fn blueprints( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "MultiAssetDelegation", - "DelegationBondLessDelay", + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::blueprints::Blueprints, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "Blueprints", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, + 116u8, 183u8, 157u8, 81u8, 194u8, 185u8, 241u8, 139u8, 65u8, 133u8, + 72u8, 142u8, 79u8, 137u8, 107u8, 26u8, 239u8, 40u8, 230u8, 128u8, + 216u8, 151u8, 104u8, 130u8, 227u8, 61u8, 172u8, 52u8, 243u8, 161u8, + 38u8, 83u8, ], ) } - #[doc = " The pallet's account ID."] - pub fn pallet_id( + #[doc = " The services for a particular blueprint and their active status."] + #[doc = " Blueprint ID -> Service ID -> active"] + pub fn service_status_iter( &self, - ) -> ::subxt_core::constants::address::StaticAddress< - runtime_types::frame_support::PalletId, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::service_status::ServiceStatus, + (), + (), + ::subxt_core::utils::Yes, > { - ::subxt_core::constants::address::StaticAddress::new_static( - "MultiAssetDelegation", - "PalletId", + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "ServiceStatus", + (), [ - 56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8, - 161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8, - 129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8, + 173u8, 206u8, 215u8, 186u8, 210u8, 128u8, 223u8, 252u8, 60u8, 32u8, + 210u8, 54u8, 169u8, 78u8, 220u8, 70u8, 144u8, 142u8, 143u8, 145u8, + 222u8, 3u8, 80u8, 164u8, 135u8, 175u8, 27u8, 178u8, 52u8, 88u8, 197u8, + 22u8, ], ) } - pub fn slash_recipient( + #[doc = " The services for a particular blueprint and their active status."] + #[doc = " Blueprint ID -> Service ID -> active"] + pub fn service_status_iter1( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::subxt_core::utils::AccountId32> - { - ::subxt_core::constants::address::StaticAddress::new_static( - "MultiAssetDelegation", - "SlashRecipient", + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::service_status::ServiceStatus, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "ServiceStatus", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 115u8, 233u8, 13u8, 223u8, 88u8, 20u8, 202u8, 139u8, 153u8, 28u8, - 155u8, 157u8, 224u8, 66u8, 3u8, 250u8, 23u8, 53u8, 88u8, 168u8, 211u8, - 204u8, 122u8, 166u8, 248u8, 23u8, 174u8, 225u8, 99u8, 108u8, 89u8, - 135u8, + 173u8, 206u8, 215u8, 186u8, 210u8, 128u8, 223u8, 252u8, 60u8, 32u8, + 210u8, 54u8, 169u8, 78u8, 220u8, 70u8, 144u8, 142u8, 143u8, 145u8, + 222u8, 3u8, 80u8, 164u8, 135u8, 175u8, 27u8, 178u8, 52u8, 88u8, 197u8, + 22u8, ], ) } - } - } - } - pub mod services { - use super::root_mod; - use super::runtime_types; - #[doc = "The `Error` enum of this pallet."] - pub type Error = runtime_types::pallet_services::module::Error; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_services::module::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Create a new service blueprint."] - #[doc = ""] - #[doc = "A Service Blueprint is a template for a service that can be instantiated by users. The blueprint"] - #[doc = "defines the service's constraints, requirements and behavior, including the master blueprint service"] - #[doc = "manager revision to use."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* The origin must be signed by the account that will own the blueprint"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call, must be signed by the account creating the blueprint"] - #[doc = "* `blueprint` - The service blueprint containing:"] - #[doc = " - Service constraints and requirements"] - #[doc = " - Master blueprint service manager revision (Latest or Specific)"] - #[doc = " - Template configuration for service instantiation"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::BadOrigin`] - Origin is not signed"] - #[doc = "* [`Error::MasterBlueprintServiceManagerRevisionNotFound`] - Specified MBSM revision does not exist"] - #[doc = "* [`Error::BlueprintCreationInterrupted`] - Blueprint creation is interrupted by hooks"] - #[doc = ""] - #[doc = "# Returns"] - #[doc = ""] - #[doc = "Returns a `DispatchResultWithPostInfo` which on success emits a [`Event::BlueprintCreated`] event"] - #[doc = "containing the owner and blueprint ID."] - pub struct CreateBlueprint { - pub blueprint: create_blueprint::Blueprint, - } - pub mod create_blueprint { - use super::runtime_types; - pub type Blueprint = - runtime_types::tangle_primitives::services::service::ServiceBlueprint; - } - impl ::subxt_core::blocks::StaticExtrinsic for CreateBlueprint { - const PALLET: &'static str = "Services"; - const CALL: &'static str = "create_blueprint"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Pre-register the caller as an operator for a specific blueprint."] - #[doc = ""] - #[doc = "This function allows an account to signal intent to become an operator for a blueprint by emitting"] - #[doc = "a `PreRegistration` event. The operator node can listen for this event to execute any custom"] - #[doc = "registration logic defined in the blueprint."] - #[doc = ""] - #[doc = "Pre-registration is the first step in the operator registration flow. After pre-registering,"] - #[doc = "operators must complete the full registration process by calling `register()` with their preferences"] - #[doc = "and registration arguments."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin: OriginFor` - The origin of the call. Must be signed by the account that wants to"] - #[doc = " become an operator."] - #[doc = "* `blueprint_id: u64` - The identifier of the service blueprint to pre-register for. Must refer"] - #[doc = " to an existing blueprint."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* The caller must be a signed account."] - #[doc = ""] - #[doc = "# Events"] - #[doc = ""] - #[doc = "* [`Event::PreRegistration`] - Emitted when pre-registration is successful, containing:"] - #[doc = " - `operator: T::AccountId` - The account ID of the pre-registering operator"] - #[doc = " - `blueprint_id: u64` - The ID of the blueprint being pre-registered for"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::BadOrigin`] - The origin was not signed."] - pub struct PreRegister { - #[codec(compact)] - pub blueprint_id: pre_register::BlueprintId, - } - pub mod pre_register { - use super::runtime_types; - pub type BlueprintId = ::core::primitive::u64; - } - impl ::subxt_core::blocks::StaticExtrinsic for PreRegister { - const PALLET: &'static str = "Services"; - const CALL: &'static str = "pre_register"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Register the caller as an operator for a specific blueprint."] - #[doc = ""] - #[doc = "This function allows an account to register as an operator for a blueprint by providing their"] - #[doc = "service preferences, registration arguments, and staking the required tokens. The operator must"] - #[doc = "be active in the delegation system and may require approval before accepting service requests."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* The caller must be a signed account"] - #[doc = "* The caller must be an active operator in the delegation system"] - #[doc = "* The caller must not already be registered for this blueprint"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call. Must be signed."] - #[doc = "* `blueprint_id` - The identifier of the service blueprint to register for"] - #[doc = "* `preferences` - The operator's service preferences and configuration"] - #[doc = "* `registration_args` - Registration arguments required by the blueprint"] - #[doc = "* `value` - Amount of tokens to stake for registration"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::OperatorNotActive`] - Caller is not an active operator in the delegation system"] - #[doc = "* [`Error::AlreadyRegistered`] - Caller is already registered for this blueprint"] - #[doc = "* [`Error::TypeCheck`] - Registration arguments failed type checking"] - #[doc = "* [`Error::InvalidRegistrationInput`] - Registration hook rejected the registration"] - #[doc = "* [`Error::MaxServicesPerProviderExceeded`] - Operator has reached maximum services limit"] - pub struct Register { - #[codec(compact)] - pub blueprint_id: register::BlueprintId, - pub preferences: register::Preferences, - pub registration_args: register::RegistrationArgs, - #[codec(compact)] - pub value: register::Value, - } - pub mod register { - use super::runtime_types; - pub type BlueprintId = ::core::primitive::u64; - pub type Preferences = - runtime_types::tangle_primitives::services::types::OperatorPreferences; - pub type RegistrationArgs = ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_primitives::services::field::Field< - ::subxt_core::utils::AccountId32, + #[doc = " The services for a particular blueprint and their active status."] + #[doc = " Blueprint ID -> Service ID -> active"] + pub fn service_status( + &self, + _0: impl ::core::borrow::Borrow, + _1: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ( + ::subxt_core::storage::address::StaticStorageKey< + types::service_status::Param0, >, - >; - pub type Value = ::core::primitive::u128; - } - impl ::subxt_core::blocks::StaticExtrinsic for Register { - const PALLET: &'static str = "Services"; - const CALL: &'static str = "register"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Unregisters a service provider from a specific service blueprint."] - #[doc = ""] - #[doc = "Can only be called if the no services are active for the blueprint."] - #[doc = "After unregistering, the provider will no longer receive new service"] - #[doc = "assignments for this blueprint."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call. Must be signed."] - #[doc = "* `blueprint_id` - The identifier of the service blueprint to unregister from."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by a registered service provider"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotRegistered`] - The caller is not registered for this blueprint"] - #[doc = "* [`Error::NotAllowedToUnregister`] - Unregistration is currently restricted"] - #[doc = "* [`Error::BlueprintNotFound`] - The blueprint_id does not exist"] - pub struct Unregister { - #[codec(compact)] - pub blueprint_id: unregister::BlueprintId, - } - pub mod unregister { - use super::runtime_types; - pub type BlueprintId = ::core::primitive::u64; - } - impl ::subxt_core::blocks::StaticExtrinsic for Unregister { - const PALLET: &'static str = "Services"; - const CALL: &'static str = "unregister"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Updates the price targets for a registered operator's service blueprint."] - #[doc = ""] - #[doc = "Allows an operator to modify their price targets for a specific blueprint they are registered for."] - #[doc = "The operator must already be registered for the blueprint to update prices."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin: OriginFor` - The origin of the call. Must be signed by the operator."] - #[doc = "* `blueprint_id: u64` - The identifier of the blueprint to update price targets for."] - #[doc = "* `price_targets: PriceTargets` - The new price targets to set for the blueprint."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by a registered operator for this blueprint."] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotRegistered`] - The caller is not registered for this blueprint."] - #[doc = "* [`Error::NotAllowedToUpdatePriceTargets`] - Price target updates are currently restricted."] - #[doc = "* [`Error::BlueprintNotFound`] - The blueprint_id does not exist."] - pub struct UpdatePriceTargets { - #[codec(compact)] - pub blueprint_id: update_price_targets::BlueprintId, - pub price_targets: update_price_targets::PriceTargets, + ::subxt_core::storage::address::StaticStorageKey< + types::service_status::Param1, + >, + ), + types::service_status::ServiceStatus, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "ServiceStatus", + ( + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), + ), + [ + 173u8, 206u8, 215u8, 186u8, 210u8, 128u8, 223u8, 252u8, 60u8, 32u8, + 210u8, 54u8, 169u8, 78u8, 220u8, 70u8, 144u8, 142u8, 143u8, 145u8, + 222u8, 3u8, 80u8, 164u8, 135u8, 175u8, 27u8, 178u8, 52u8, 88u8, 197u8, + 22u8, + ], + ) } - pub mod update_price_targets { - use super::runtime_types; - pub type BlueprintId = ::core::primitive::u64; - pub type PriceTargets = - runtime_types::tangle_primitives::services::types::PriceTargets; + #[doc = " The operators for a specific service blueprint."] + #[doc = " Blueprint ID -> Operator -> Operator Preferences"] + pub fn operators_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::operators::Operators, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "Operators", + (), + [ + 167u8, 232u8, 100u8, 27u8, 110u8, 5u8, 85u8, 2u8, 25u8, 172u8, 131u8, + 21u8, 230u8, 12u8, 57u8, 92u8, 95u8, 18u8, 151u8, 243u8, 1u8, 147u8, + 130u8, 7u8, 16u8, 149u8, 66u8, 168u8, 208u8, 20u8, 132u8, 154u8, + ], + ) } - impl ::subxt_core::blocks::StaticExtrinsic for UpdatePriceTargets { - const PALLET: &'static str = "Services"; - const CALL: &'static str = "update_price_targets"; + #[doc = " The operators for a specific service blueprint."] + #[doc = " Blueprint ID -> Operator -> Operator Preferences"] + pub fn operators_iter1( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::operators::Operators, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "Operators", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 167u8, 232u8, 100u8, 27u8, 110u8, 5u8, 85u8, 2u8, 25u8, 172u8, 131u8, + 21u8, 230u8, 12u8, 57u8, 92u8, 95u8, 18u8, 151u8, 243u8, 1u8, 147u8, + 130u8, 7u8, 16u8, 149u8, 66u8, 168u8, 208u8, 20u8, 132u8, 154u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Request a new service using a blueprint and specified operators."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin: OriginFor` - The origin of the call. Must be signed."] - #[doc = "* `evm_origin: Option` - Optional EVM address for ERC20 payments."] - #[doc = "* `blueprint_id: u64` - The identifier of the blueprint to use."] - #[doc = "* `permitted_callers: Vec` - Accounts allowed to call the service. If empty, only owner can call."] - #[doc = "* `operators: Vec` - List of operators that will run the service."] - #[doc = "* `request_args: Vec>` - Blueprint initialization arguments."] - #[doc = "* `assets: Vec` - Required assets for the service."] - #[doc = "* `ttl: BlockNumberFor` - Time-to-live in blocks for the service request."] - #[doc = "* `payment_asset: Asset` - Asset used for payment (native, custom or ERC20)."] - #[doc = "* `value: BalanceOf` - Payment amount for the service."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by an account with sufficient balance to pay for the service."] - #[doc = "* For ERC20 payments, the EVM origin must match the caller's mapped account."] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::TypeCheck`] - Request arguments fail blueprint type checking."] - #[doc = "* [`Error::NoAssetsProvided`] - No assets were specified."] - #[doc = "* [`Error::MissingEVMOrigin`] - EVM origin required but not provided for ERC20 payment."] - #[doc = "* [`Error::ERC20TransferFailed`] - ERC20 token transfer failed."] - #[doc = "* [`Error::NotRegistered`] - One or more operators not registered for blueprint."] - #[doc = "* [`Error::BlueprintNotFound`] - The blueprint_id does not exist."] - pub struct Request { - pub evm_origin: request::EvmOrigin, - #[codec(compact)] - pub blueprint_id: request::BlueprintId, - pub permitted_callers: request::PermittedCallers, - pub operators: request::Operators, - pub request_args: request::RequestArgs, - pub asset_security_requirements: request::AssetSecurityRequirements, - #[codec(compact)] - pub ttl: request::Ttl, - pub payment_asset: request::PaymentAsset, - #[codec(compact)] - pub value: request::Value, - pub membership_model: request::MembershipModel, + #[doc = " The operators for a specific service blueprint."] + #[doc = " Blueprint ID -> Operator -> Operator Preferences"] + pub fn operators( + &self, + _0: impl ::core::borrow::Borrow, + _1: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ( + ::subxt_core::storage::address::StaticStorageKey, + ::subxt_core::storage::address::StaticStorageKey, + ), + types::operators::Operators, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "Operators", + ( + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), + ), + [ + 167u8, 232u8, 100u8, 27u8, 110u8, 5u8, 85u8, 2u8, 25u8, 172u8, 131u8, + 21u8, 230u8, 12u8, 57u8, 92u8, 95u8, 18u8, 151u8, 243u8, 1u8, 147u8, + 130u8, 7u8, 16u8, 149u8, 66u8, 168u8, 208u8, 20u8, 132u8, 154u8, + ], + ) } - pub mod request { - use super::runtime_types; - pub type EvmOrigin = ::core::option::Option<::subxt_core::utils::H160>; - pub type BlueprintId = ::core::primitive::u64; - pub type PermittedCallers = - ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; - pub type Operators = - ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; - pub type RequestArgs = ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_primitives::services::field::Field< - ::subxt_core::utils::AccountId32, - >, - >; - pub type AssetSecurityRequirements = ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_primitives::services::types::AssetSecurityRequirement< - ::core::primitive::u128, - >, - >; - pub type Ttl = ::core::primitive::u64; - pub type PaymentAsset = - runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, - >; - pub type Value = ::core::primitive::u128; - pub type MembershipModel = - runtime_types::tangle_primitives::services::types::MembershipModel; + #[doc = " The service requests along with their owner."] + #[doc = " Request ID -> Service Request"] + pub fn service_requests_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::service_requests::ServiceRequests, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "ServiceRequests", + (), + [ + 77u8, 83u8, 44u8, 189u8, 40u8, 9u8, 162u8, 222u8, 98u8, 158u8, 153u8, + 61u8, 93u8, 63u8, 250u8, 152u8, 187u8, 215u8, 225u8, 166u8, 185u8, + 87u8, 145u8, 21u8, 148u8, 118u8, 212u8, 96u8, 129u8, 46u8, 248u8, 86u8, + ], + ) } - impl ::subxt_core::blocks::StaticExtrinsic for Request { - const PALLET: &'static str = "Services"; - const CALL: &'static str = "request"; + #[doc = " The service requests along with their owner."] + #[doc = " Request ID -> Service Request"] + pub fn service_requests( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey< + types::service_requests::Param0, + >, + types::service_requests::ServiceRequests, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "ServiceRequests", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 77u8, 83u8, 44u8, 189u8, 40u8, 9u8, 162u8, 222u8, 98u8, 158u8, 153u8, + 61u8, 93u8, 63u8, 250u8, 152u8, 187u8, 215u8, 225u8, 166u8, 185u8, + 87u8, 145u8, 21u8, 148u8, 118u8, 212u8, 96u8, 129u8, 46u8, 248u8, 86u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Approve a service request, allowing it to be initiated once all required approvals are received."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Caller must be a registered operator for the service blueprint"] - #[doc = "* Caller must be in the pending approvals list for this request"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call, must be a signed account"] - #[doc = "* `request_id` - The ID of the service request to approve"] - #[doc = "* `native_exposure_percent` - Percentage of native token stake to expose"] - #[doc = "* `asset_exposure` - Vector of asset-specific exposure commitments"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::ApprovalNotRequested`] - Caller is not in the pending approvals list"] - #[doc = "* [`Error::ApprovalInterrupted`] - Approval was rejected by blueprint hook"] - #[doc = "* [`Error::InvalidRequestInput`] - Asset exposure commitments don't meet requirements"] - pub struct Approve { - #[codec(compact)] - pub request_id: approve::RequestId, - pub security_commitments: approve::SecurityCommitments, + #[doc = " The Services Instances"] + #[doc = " Service ID -> Service"] + pub fn instances_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::instances::Instances, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "Instances", + (), + [ + 130u8, 153u8, 200u8, 4u8, 148u8, 83u8, 177u8, 33u8, 254u8, 234u8, + 215u8, 114u8, 36u8, 90u8, 143u8, 56u8, 71u8, 111u8, 230u8, 145u8, + 147u8, 252u8, 138u8, 236u8, 242u8, 92u8, 73u8, 8u8, 164u8, 130u8, + 182u8, 53u8, + ], + ) } - pub mod approve { - use super::runtime_types; - pub type RequestId = ::core::primitive::u64; - pub type SecurityCommitments = ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_primitives::services::types::AssetSecurityCommitment< - ::core::primitive::u128, - >, - >; + #[doc = " The Services Instances"] + #[doc = " Service ID -> Service"] + pub fn instances( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::instances::Instances, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "Instances", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 130u8, 153u8, 200u8, 4u8, 148u8, 83u8, 177u8, 33u8, 254u8, 234u8, + 215u8, 114u8, 36u8, 90u8, 143u8, 56u8, 71u8, 111u8, 230u8, 145u8, + 147u8, 252u8, 138u8, 236u8, 242u8, 92u8, 73u8, 8u8, 164u8, 130u8, + 182u8, 53u8, + ], + ) } - impl ::subxt_core::blocks::StaticExtrinsic for Approve { - const PALLET: &'static str = "Services"; - const CALL: &'static str = "approve"; + #[doc = " User Service Instances"] + #[doc = " User Account ID -> Service ID"] + pub fn user_services_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::user_services::UserServices, + (), + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "UserServices", + (), + [ + 228u8, 80u8, 139u8, 177u8, 57u8, 117u8, 175u8, 212u8, 37u8, 201u8, + 176u8, 12u8, 79u8, 136u8, 65u8, 250u8, 105u8, 37u8, 13u8, 176u8, 86u8, + 119u8, 111u8, 6u8, 44u8, 109u8, 193u8, 103u8, 199u8, 195u8, 56u8, + 235u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Reject a service request, preventing its initiation."] - #[doc = ""] - #[doc = "The service request will remain in the system but marked as rejected. The requester will"] - #[doc = "need to update the service request to proceed."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Caller must be a registered operator for the blueprint associated with this request"] - #[doc = "* Caller must be one of the operators required to approve this request"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call, must be a signed account"] - #[doc = "* `request_id` - The ID of the service request to reject"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::ApprovalNotRequested`] - Caller is not one of the operators required to approve this request"] - #[doc = "* [`Error::ExpectedAccountId`] - Failed to convert refund address to account ID when refunding payment"] - #[doc = "* [`Error::RejectionInterrupted`] - Rejection was interrupted by blueprint hook"] - pub struct Reject { - #[codec(compact)] - pub request_id: reject::RequestId, + #[doc = " User Service Instances"] + #[doc = " User Account ID -> Service ID"] + pub fn user_services( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::user_services::UserServices, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "UserServices", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 228u8, 80u8, 139u8, 177u8, 57u8, 117u8, 175u8, 212u8, 37u8, 201u8, + 176u8, 12u8, 79u8, 136u8, 65u8, 250u8, 105u8, 37u8, 13u8, 176u8, 86u8, + 119u8, 111u8, 6u8, 44u8, 109u8, 193u8, 103u8, 199u8, 195u8, 56u8, + 235u8, + ], + ) } - pub mod reject { - use super::runtime_types; - pub type RequestId = ::core::primitive::u64; + #[doc = " The Service Job Calls"] + #[doc = " Service ID -> Call ID -> Job Call"] + pub fn job_calls_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::job_calls::JobCalls, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "JobCalls", + (), + [ + 76u8, 144u8, 160u8, 148u8, 87u8, 159u8, 134u8, 122u8, 242u8, 146u8, + 253u8, 163u8, 171u8, 89u8, 133u8, 88u8, 93u8, 151u8, 160u8, 135u8, + 34u8, 101u8, 57u8, 37u8, 14u8, 102u8, 53u8, 88u8, 15u8, 98u8, 226u8, + 132u8, + ], + ) } - impl ::subxt_core::blocks::StaticExtrinsic for Reject { - const PALLET: &'static str = "Services"; - const CALL: &'static str = "reject"; + #[doc = " The Service Job Calls"] + #[doc = " Service ID -> Call ID -> Job Call"] + pub fn job_calls_iter1( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::job_calls::JobCalls, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "JobCalls", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 76u8, 144u8, 160u8, 148u8, 87u8, 159u8, 134u8, 122u8, 242u8, 146u8, + 253u8, 163u8, 171u8, 89u8, 133u8, 88u8, 93u8, 151u8, 160u8, 135u8, + 34u8, 101u8, 57u8, 37u8, 14u8, 102u8, 53u8, 88u8, 15u8, 98u8, 226u8, + 132u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Terminates a running service instance."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the service owner"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call"] - #[doc = "* `service_id` - The identifier of the service to terminate"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::ServiceNotFound`] - The service_id does not exist"] - #[doc = "* [`Error::NotRegistered`] - Service operator not registered"] - #[doc = "* [`Error::TerminationInterrupted`] - Service termination was interrupted by hooks"] - #[doc = "* [`DispatchError::BadOrigin`] - Caller is not the service owner"] - pub struct Terminate { - #[codec(compact)] - pub service_id: terminate::ServiceId, + #[doc = " The Service Job Calls"] + #[doc = " Service ID -> Call ID -> Job Call"] + pub fn job_calls( + &self, + _0: impl ::core::borrow::Borrow, + _1: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ( + ::subxt_core::storage::address::StaticStorageKey, + ::subxt_core::storage::address::StaticStorageKey, + ), + types::job_calls::JobCalls, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "JobCalls", + ( + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), + ), + [ + 76u8, 144u8, 160u8, 148u8, 87u8, 159u8, 134u8, 122u8, 242u8, 146u8, + 253u8, 163u8, 171u8, 89u8, 133u8, 88u8, 93u8, 151u8, 160u8, 135u8, + 34u8, 101u8, 57u8, 37u8, 14u8, 102u8, 53u8, 88u8, 15u8, 98u8, 226u8, + 132u8, + ], + ) + } + #[doc = " The Service Job Call Results"] + #[doc = " Service ID -> Call ID -> Job Call Result"] + pub fn job_results_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::job_results::JobResults, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "JobResults", + (), + [ + 175u8, 59u8, 13u8, 154u8, 200u8, 178u8, 192u8, 244u8, 152u8, 199u8, + 107u8, 246u8, 199u8, 255u8, 151u8, 118u8, 140u8, 213u8, 241u8, 35u8, + 110u8, 248u8, 223u8, 165u8, 30u8, 39u8, 120u8, 237u8, 235u8, 183u8, + 25u8, 174u8, + ], + ) } - pub mod terminate { - use super::runtime_types; - pub type ServiceId = ::core::primitive::u64; + #[doc = " The Service Job Call Results"] + #[doc = " Service ID -> Call ID -> Job Call Result"] + pub fn job_results_iter1( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::job_results::JobResults, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "JobResults", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 175u8, 59u8, 13u8, 154u8, 200u8, 178u8, 192u8, 244u8, 152u8, 199u8, + 107u8, 246u8, 199u8, 255u8, 151u8, 118u8, 140u8, 213u8, 241u8, 35u8, + 110u8, 248u8, 223u8, 165u8, 30u8, 39u8, 120u8, 237u8, 235u8, 183u8, + 25u8, 174u8, + ], + ) } - impl ::subxt_core::blocks::StaticExtrinsic for Terminate { - const PALLET: &'static str = "Services"; - const CALL: &'static str = "terminate"; + #[doc = " The Service Job Call Results"] + #[doc = " Service ID -> Call ID -> Job Call Result"] + pub fn job_results( + &self, + _0: impl ::core::borrow::Borrow, + _1: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ( + ::subxt_core::storage::address::StaticStorageKey< + types::job_results::Param0, + >, + ::subxt_core::storage::address::StaticStorageKey< + types::job_results::Param1, + >, + ), + types::job_results::JobResults, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "JobResults", + ( + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), + ), + [ + 175u8, 59u8, 13u8, 154u8, 200u8, 178u8, 192u8, 244u8, 152u8, 199u8, + 107u8, 246u8, 199u8, 255u8, 151u8, 118u8, 140u8, 213u8, 241u8, 35u8, + 110u8, 248u8, 223u8, 165u8, 30u8, 39u8, 120u8, 237u8, 235u8, 183u8, + 25u8, 174u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Call a job in the service with the provided arguments."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the service owner or a permitted caller"] + #[doc = " All unapplied slashes that are queued for later."] #[doc = ""] - #[doc = "# Arguments"] + #[doc = " EraIndex -> Index -> UnappliedSlash"] + pub fn unapplied_slashes_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::unapplied_slashes::UnappliedSlashes, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "UnappliedSlashes", + (), + [ + 241u8, 6u8, 166u8, 93u8, 49u8, 152u8, 8u8, 112u8, 250u8, 117u8, 206u8, + 37u8, 6u8, 3u8, 159u8, 205u8, 43u8, 40u8, 6u8, 87u8, 197u8, 149u8, + 234u8, 51u8, 46u8, 145u8, 133u8, 27u8, 33u8, 152u8, 176u8, 149u8, + ], + ) + } + #[doc = " All unapplied slashes that are queued for later."] #[doc = ""] - #[doc = "* `origin` - The origin of the call"] - #[doc = "* `service_id` - The service identifier"] - #[doc = "* `job` - The job index to call"] - #[doc = "* `args` - The arguments to pass to the job"] + #[doc = " EraIndex -> Index -> UnappliedSlash"] + pub fn unapplied_slashes_iter1( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey< + types::unapplied_slashes::Param0, + >, + types::unapplied_slashes::UnappliedSlashes, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "UnappliedSlashes", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 241u8, 6u8, 166u8, 93u8, 49u8, 152u8, 8u8, 112u8, 250u8, 117u8, 206u8, + 37u8, 6u8, 3u8, 159u8, 205u8, 43u8, 40u8, 6u8, 87u8, 197u8, 149u8, + 234u8, 51u8, 46u8, 145u8, 133u8, 27u8, 33u8, 152u8, 176u8, 149u8, + ], + ) + } + #[doc = " All unapplied slashes that are queued for later."] #[doc = ""] - #[doc = "# Errors"] + #[doc = " EraIndex -> Index -> UnappliedSlash"] + pub fn unapplied_slashes( + &self, + _0: impl ::core::borrow::Borrow, + _1: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ( + ::subxt_core::storage::address::StaticStorageKey< + types::unapplied_slashes::Param0, + >, + ::subxt_core::storage::address::StaticStorageKey< + types::unapplied_slashes::Param1, + >, + ), + types::unapplied_slashes::UnappliedSlashes, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "UnappliedSlashes", + ( + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), + ), + [ + 241u8, 6u8, 166u8, 93u8, 49u8, 152u8, 8u8, 112u8, 250u8, 117u8, 206u8, + 37u8, 6u8, 3u8, 159u8, 205u8, 43u8, 40u8, 6u8, 87u8, 197u8, 149u8, + 234u8, 51u8, 46u8, 145u8, 133u8, 27u8, 33u8, 152u8, 176u8, 149u8, + ], + ) + } + #[doc = " All the Master Blueprint Service Managers revisions."] #[doc = ""] - #[doc = "* [`Error::ServiceNotFound`] - The service_id does not exist"] - #[doc = "* [`Error::JobDefinitionNotFound`] - The job index is invalid"] - #[doc = "* [`Error::MaxFieldsExceeded`] - Too many arguments provided"] - #[doc = "* [`Error::TypeCheck`] - Arguments fail type checking"] - #[doc = "* [`Error::InvalidJobCallInput`] - Job call was rejected by hooks"] - #[doc = "* [`DispatchError::BadOrigin`] - Caller is not owner or permitted caller"] - pub struct Call { - #[codec(compact)] - pub service_id: call::ServiceId, - #[codec(compact)] - pub job: call::Job, - pub args: call::Args, + #[doc = " Where the index is the revision number."] pub fn master_blueprint_service_manager_revisions (& self ,) -> :: subxt_core :: storage :: address :: StaticAddress :: < () , types :: master_blueprint_service_manager_revisions :: MasterBlueprintServiceManagerRevisions , :: subxt_core :: utils :: Yes , :: subxt_core :: utils :: Yes , () >{ + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "MasterBlueprintServiceManagerRevisions", + (), + [ + 189u8, 128u8, 221u8, 221u8, 88u8, 201u8, 75u8, 183u8, 233u8, 149u8, + 188u8, 66u8, 88u8, 166u8, 249u8, 15u8, 140u8, 119u8, 83u8, 86u8, 106u8, + 68u8, 14u8, 1u8, 194u8, 48u8, 241u8, 18u8, 19u8, 133u8, 114u8, 167u8, + ], + ) } - pub mod call { - use super::runtime_types; - pub type ServiceId = ::core::primitive::u64; - pub type Job = ::core::primitive::u8; - pub type Args = ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_primitives::services::field::Field< - ::subxt_core::utils::AccountId32, - >, - >; + pub fn operators_profile_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::operators_profile::OperatorsProfile, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "OperatorsProfile", + (), + [ + 159u8, 133u8, 32u8, 36u8, 109u8, 170u8, 112u8, 253u8, 0u8, 50u8, 192u8, + 48u8, 162u8, 208u8, 41u8, 222u8, 191u8, 8u8, 207u8, 79u8, 159u8, 254u8, + 90u8, 69u8, 202u8, 5u8, 254u8, 176u8, 8u8, 49u8, 245u8, 153u8, + ], + ) } - impl ::subxt_core::blocks::StaticExtrinsic for Call { - const PALLET: &'static str = "Services"; - const CALL: &'static str = "call"; + pub fn operators_profile( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey< + types::operators_profile::Param0, + >, + types::operators_profile::OperatorsProfile, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "OperatorsProfile", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 159u8, 133u8, 32u8, 36u8, 109u8, 170u8, 112u8, 253u8, 0u8, 50u8, 192u8, + 48u8, 162u8, 208u8, 41u8, 222u8, 191u8, 8u8, 207u8, 79u8, 159u8, 254u8, + 90u8, 69u8, 202u8, 5u8, 254u8, 176u8, 8u8, 49u8, 245u8, 153u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Submit a result for a previously called job."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `service_id` - ID of the service"] - #[doc = "* `call_id` - ID of the job call"] - #[doc = "* `result` - Vector of result fields"] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Caller must be an operator of the service"] + #[doc = " Holds the service payment information for a service request."] + #[doc = " Once the service is initiated, the payment is transferred to the MBSM and this"] + #[doc = " information is removed."] #[doc = ""] - #[doc = "# Errors"] + #[doc = " Service Requst ID -> Service Payment"] + pub fn staging_service_payments_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::staging_service_payments::StagingServicePayments, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "StagingServicePayments", + (), + [ + 192u8, 196u8, 170u8, 27u8, 123u8, 252u8, 120u8, 33u8, 138u8, 77u8, + 224u8, 10u8, 9u8, 100u8, 175u8, 118u8, 86u8, 82u8, 147u8, 139u8, 223u8, + 187u8, 42u8, 108u8, 143u8, 226u8, 174u8, 159u8, 195u8, 179u8, 246u8, + 28u8, + ], + ) + } + #[doc = " Holds the service payment information for a service request."] + #[doc = " Once the service is initiated, the payment is transferred to the MBSM and this"] + #[doc = " information is removed."] #[doc = ""] - #[doc = "* [`Error::ServiceNotFound`] - The service_id does not exist"] - #[doc = "* [`Error::JobCallNotFound`] - The call_id does not exist"] - #[doc = "* [`Error::JobDefinitionNotFound`] - The job index is invalid"] - #[doc = "* [`Error::MaxFieldsExceeded`] - Too many result fields provided"] - #[doc = "* [`Error::TypeCheck`] - Result fields fail type checking"] - #[doc = "* [`Error::InvalidJobResult`] - Job result was rejected by hooks"] - #[doc = "* [`DispatchError::BadOrigin`] - Caller is not an operator"] - pub struct SubmitResult { - #[codec(compact)] - pub service_id: submit_result::ServiceId, - #[codec(compact)] - pub call_id: submit_result::CallId, - pub result: submit_result::Result, + #[doc = " Service Requst ID -> Service Payment"] + pub fn staging_service_payments( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey< + types::staging_service_payments::Param0, + >, + types::staging_service_payments::StagingServicePayments, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Services", + "StagingServicePayments", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 192u8, 196u8, 170u8, 27u8, 123u8, 252u8, 120u8, 33u8, 138u8, 77u8, + 224u8, 10u8, 9u8, 100u8, 175u8, 118u8, 86u8, 82u8, 147u8, 139u8, 223u8, + 187u8, 42u8, 108u8, 143u8, 226u8, 174u8, 159u8, 195u8, 179u8, 246u8, + 28u8, + ], + ) } - pub mod submit_result { - use super::runtime_types; - pub type ServiceId = ::core::primitive::u64; - pub type CallId = ::core::primitive::u64; - pub type Result = ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_primitives::services::field::Field< - ::subxt_core::utils::AccountId32, - >, - >; + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " PalletId used for deriving the AccountId and EVM address."] + #[doc = " This account receives slashed assets upon slash event processing."] + pub fn pallet_evm_account( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::subxt_core::utils::H160> + { + ::subxt_core::constants::address::StaticAddress::new_static( + "Services", + "PalletEvmAccount", + [ + 184u8, 103u8, 76u8, 37u8, 218u8, 155u8, 125u8, 78u8, 138u8, 122u8, + 255u8, 132u8, 124u8, 68u8, 65u8, 163u8, 97u8, 77u8, 80u8, 33u8, 69u8, + 55u8, 69u8, 230u8, 83u8, 135u8, 254u8, 221u8, 222u8, 177u8, 10u8, + 189u8, + ], + ) } - impl ::subxt_core::blocks::StaticExtrinsic for SubmitResult { - const PALLET: &'static str = "Services"; - const CALL: &'static str = "submit_result"; + #[doc = " Maximum number of fields in a job call."] + pub fn max_fields( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Services", + "MaxFields", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Slash an operator's stake for a service by scheduling a deferred slashing action."] - #[doc = ""] - #[doc = "This function schedules a deferred slashing action against an operator's stake for a specific service."] - #[doc = "The slash is not applied immediately, but rather queued to be executed by another entity later."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* The caller must be an authorized Slash Origin for the target service, as determined by"] - #[doc = " `query_slashing_origin`. If no slashing origin is set, or the caller does not match, the call"] - #[doc = " will fail."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call. Must be signed by an authorized Slash Origin."] - #[doc = "* `offender` - The account ID of the operator to be slashed."] - #[doc = "* `service_id` - The ID of the service for which to slash the operator."] - #[doc = "* `slash_percent` - The percentage of the operator's exposed stake to slash, as a `Percent` value."] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* `NoSlashingOrigin` - No slashing origin is set for the service"] - #[doc = "* `BadOrigin` - Caller is not the authorized slashing origin"] - #[doc = "* `OffenderNotOperator` - Target account is not an operator for this service"] - #[doc = "* `OffenderNotActiveOperator` - Target operator is not currently active"] - pub struct Slash { - pub offender: slash::Offender, - #[codec(compact)] - pub service_id: slash::ServiceId, - #[codec(compact)] - pub slash_percent: slash::SlashPercent, + #[doc = " Maximum size of a field in a job call."] + pub fn max_fields_size( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Services", + "MaxFieldsSize", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } - pub mod slash { - use super::runtime_types; - pub type Offender = ::subxt_core::utils::AccountId32; - pub type ServiceId = ::core::primitive::u64; - pub type SlashPercent = runtime_types::sp_arithmetic::per_things::Percent; + #[doc = " Maximum length of metadata string length."] + pub fn max_metadata_length( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Services", + "MaxMetadataLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } - impl ::subxt_core::blocks::StaticExtrinsic for Slash { - const PALLET: &'static str = "Services"; - const CALL: &'static str = "slash"; + #[doc = " Maximum number of jobs per service."] + pub fn max_jobs_per_service( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Services", + "MaxJobsPerService", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Maximum number of Operators per service."] + pub fn max_operators_per_service( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Services", + "MaxOperatorsPerService", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Disputes and removes an [UnappliedSlash] from storage."] - #[doc = ""] - #[doc = "The slash will not be applied once disputed and is permanently removed."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Caller must be the authorized dispute origin for the service"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `era` - Era containing the slash to dispute "] - #[doc = "* `index` - Index of the slash within the era"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [Error::NoDisputeOrigin] - Service has no dispute origin configured"] - #[doc = "* [DispatchError::BadOrigin] - Caller is not the authorized dispute origin"] - #[doc = ""] - pub struct Dispute { - #[codec(compact)] - pub era: dispute::Era, - #[codec(compact)] - pub index: dispute::Index, + #[doc = " Maximum number of permitted callers per service."] + pub fn max_permitted_callers( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Services", + "MaxPermittedCallers", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } - pub mod dispute { - use super::runtime_types; - pub type Era = ::core::primitive::u32; - pub type Index = ::core::primitive::u32; + #[doc = " Maximum number of services per operator."] + pub fn max_services_per_operator( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Services", + "MaxServicesPerOperator", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } - impl ::subxt_core::blocks::StaticExtrinsic for Dispute { - const PALLET: &'static str = "Services"; - const CALL: &'static str = "dispute"; + #[doc = " Maximum number of blueprints per operator."] + pub fn max_blueprints_per_operator( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Services", + "MaxBlueprintsPerOperator", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Updates the Master Blueprint Service Manager by adding a new revision."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Caller must be an authorized Master Blueprint Service Manager Update Origin"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `address` - New manager address to add"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [Error::MaxMasterBlueprintServiceManagerVersionsExceeded] - Maximum number of revisions reached"] - pub struct UpdateMasterBlueprintServiceManager { - pub address: update_master_blueprint_service_manager::Address, + #[doc = " Maximum number of services per user."] + pub fn max_services_per_user( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Services", + "MaxServicesPerUser", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } - pub mod update_master_blueprint_service_manager { - use super::runtime_types; - pub type Address = ::subxt_core::utils::H160; + #[doc = " Maximum number of binaries per gadget."] + pub fn max_binaries_per_gadget( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Services", + "MaxBinariesPerGadget", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } - impl ::subxt_core::blocks::StaticExtrinsic for UpdateMasterBlueprintServiceManager { - const PALLET: &'static str = "Services"; - const CALL: &'static str = "update_master_blueprint_service_manager"; + #[doc = " Maximum number of sources per gadget."] + pub fn max_sources_per_gadget( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Services", + "MaxSourcesPerGadget", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Join a service instance as an operator"] - pub struct JoinService { - pub instance_id: join_service::InstanceId, - pub security_commitments: join_service::SecurityCommitments, + #[doc = " Git owner maximum length."] + pub fn max_git_owner_length( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Services", + "MaxGitOwnerLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } - pub mod join_service { - use super::runtime_types; - pub type InstanceId = ::core::primitive::u64; - pub type SecurityCommitments = ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_primitives::services::types::AssetSecurityCommitment< - ::core::primitive::u128, - >, - >; + #[doc = " Git repository maximum length."] + pub fn max_git_repo_length( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Services", + "MaxGitRepoLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } - impl ::subxt_core::blocks::StaticExtrinsic for JoinService { - const PALLET: &'static str = "Services"; - const CALL: &'static str = "join_service"; + #[doc = " Git tag maximum length."] + pub fn max_git_tag_length( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Services", + "MaxGitTagLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Leave a service instance as an operator"] - pub struct LeaveService { - pub instance_id: leave_service::InstanceId, + #[doc = " binary name maximum length."] + pub fn max_binary_name_length( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Services", + "MaxBinaryNameLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } - pub mod leave_service { - use super::runtime_types; - pub type InstanceId = ::core::primitive::u64; + #[doc = " IPFS hash maximum length."] + pub fn max_ipfs_hash_length( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Services", + "MaxIpfsHashLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } - impl ::subxt_core::blocks::StaticExtrinsic for LeaveService { - const PALLET: &'static str = "Services"; - const CALL: &'static str = "leave_service"; + #[doc = " Container registry maximum length."] + pub fn max_container_registry_length( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Services", + "MaxContainerRegistryLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "Create a new service blueprint."] - #[doc = ""] - #[doc = "A Service Blueprint is a template for a service that can be instantiated by users. The blueprint"] - #[doc = "defines the service's constraints, requirements and behavior, including the master blueprint service"] - #[doc = "manager revision to use."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* The origin must be signed by the account that will own the blueprint"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call, must be signed by the account creating the blueprint"] - #[doc = "* `blueprint` - The service blueprint containing:"] - #[doc = " - Service constraints and requirements"] - #[doc = " - Master blueprint service manager revision (Latest or Specific)"] - #[doc = " - Template configuration for service instantiation"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::BadOrigin`] - Origin is not signed"] - #[doc = "* [`Error::MasterBlueprintServiceManagerRevisionNotFound`] - Specified MBSM revision does not exist"] - #[doc = "* [`Error::BlueprintCreationInterrupted`] - Blueprint creation is interrupted by hooks"] - #[doc = ""] - #[doc = "# Returns"] - #[doc = ""] - #[doc = "Returns a `DispatchResultWithPostInfo` which on success emits a [`Event::BlueprintCreated`] event"] - #[doc = "containing the owner and blueprint ID."] - pub fn create_blueprint( + #[doc = " Container image name maximum length."] + pub fn max_container_image_name_length( &self, - blueprint: types::create_blueprint::Blueprint, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( "Services", - "create_blueprint", - types::CreateBlueprint { blueprint }, + "MaxContainerImageNameLength", [ - 97u8, 187u8, 60u8, 103u8, 77u8, 132u8, 129u8, 72u8, 64u8, 201u8, 118u8, - 115u8, 49u8, 52u8, 21u8, 241u8, 176u8, 207u8, 22u8, 102u8, 194u8, - 163u8, 249u8, 51u8, 155u8, 221u8, 212u8, 172u8, 47u8, 250u8, 197u8, - 246u8, + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, ], ) } - #[doc = "Pre-register the caller as an operator for a specific blueprint."] - #[doc = ""] - #[doc = "This function allows an account to signal intent to become an operator for a blueprint by emitting"] - #[doc = "a `PreRegistration` event. The operator node can listen for this event to execute any custom"] - #[doc = "registration logic defined in the blueprint."] - #[doc = ""] - #[doc = "Pre-registration is the first step in the operator registration flow. After pre-registering,"] - #[doc = "operators must complete the full registration process by calling `register()` with their preferences"] - #[doc = "and registration arguments."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin: OriginFor` - The origin of the call. Must be signed by the account that wants to"] - #[doc = " become an operator."] - #[doc = "* `blueprint_id: u64` - The identifier of the service blueprint to pre-register for. Must refer"] - #[doc = " to an existing blueprint."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* The caller must be a signed account."] - #[doc = ""] - #[doc = "# Events"] - #[doc = ""] - #[doc = "* [`Event::PreRegistration`] - Emitted when pre-registration is successful, containing:"] - #[doc = " - `operator: T::AccountId` - The account ID of the pre-registering operator"] - #[doc = " - `blueprint_id: u64` - The ID of the blueprint being pre-registered for"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::BadOrigin`] - The origin was not signed."] - pub fn pre_register( + #[doc = " Container image tag maximum length."] + pub fn max_container_image_tag_length( &self, - blueprint_id: types::pre_register::BlueprintId, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( "Services", - "pre_register", - types::PreRegister { blueprint_id }, + "MaxContainerImageTagLength", [ - 217u8, 211u8, 242u8, 184u8, 133u8, 139u8, 206u8, 231u8, 34u8, 94u8, - 70u8, 103u8, 84u8, 252u8, 100u8, 234u8, 76u8, 60u8, 172u8, 32u8, 211u8, - 2u8, 179u8, 63u8, 135u8, 162u8, 110u8, 40u8, 203u8, 213u8, 5u8, 244u8, + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, ], ) } - #[doc = "Register the caller as an operator for a specific blueprint."] - #[doc = ""] - #[doc = "This function allows an account to register as an operator for a blueprint by providing their"] - #[doc = "service preferences, registration arguments, and staking the required tokens. The operator must"] - #[doc = "be active in the delegation system and may require approval before accepting service requests."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* The caller must be a signed account"] - #[doc = "* The caller must be an active operator in the delegation system"] - #[doc = "* The caller must not already be registered for this blueprint"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call. Must be signed."] - #[doc = "* `blueprint_id` - The identifier of the service blueprint to register for"] - #[doc = "* `preferences` - The operator's service preferences and configuration"] - #[doc = "* `registration_args` - Registration arguments required by the blueprint"] - #[doc = "* `value` - Amount of tokens to stake for registration"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::OperatorNotActive`] - Caller is not an active operator in the delegation system"] - #[doc = "* [`Error::AlreadyRegistered`] - Caller is already registered for this blueprint"] - #[doc = "* [`Error::TypeCheck`] - Registration arguments failed type checking"] - #[doc = "* [`Error::InvalidRegistrationInput`] - Registration hook rejected the registration"] - #[doc = "* [`Error::MaxServicesPerProviderExceeded`] - Operator has reached maximum services limit"] - pub fn register( + #[doc = " Maximum number of assets per service."] + pub fn max_assets_per_service( &self, - blueprint_id: types::register::BlueprintId, - preferences: types::register::Preferences, - registration_args: types::register::RegistrationArgs, - value: types::register::Value, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( "Services", - "register", - types::Register { blueprint_id, preferences, registration_args, value }, + "MaxAssetsPerService", [ - 27u8, 78u8, 182u8, 218u8, 112u8, 7u8, 58u8, 101u8, 105u8, 11u8, 246u8, - 118u8, 190u8, 228u8, 25u8, 232u8, 26u8, 188u8, 24u8, 223u8, 119u8, - 190u8, 127u8, 110u8, 172u8, 39u8, 22u8, 215u8, 35u8, 233u8, 83u8, - 255u8, + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, ], ) } - #[doc = "Unregisters a service provider from a specific service blueprint."] - #[doc = ""] - #[doc = "Can only be called if the no services are active for the blueprint."] - #[doc = "After unregistering, the provider will no longer receive new service"] - #[doc = "assignments for this blueprint."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call. Must be signed."] - #[doc = "* `blueprint_id` - The identifier of the service blueprint to unregister from."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by a registered service provider"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotRegistered`] - The caller is not registered for this blueprint"] - #[doc = "* [`Error::NotAllowedToUnregister`] - Unregistration is currently restricted"] - #[doc = "* [`Error::BlueprintNotFound`] - The blueprint_id does not exist"] - pub fn unregister( + #[doc = " Maximum number of versions of Master Blueprint Service Manager allowed."] + pub fn max_master_blueprint_service_manager_versions( &self, - blueprint_id: types::unregister::BlueprintId, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( "Services", - "unregister", - types::Unregister { blueprint_id }, + "MaxMasterBlueprintServiceManagerVersions", [ - 159u8, 137u8, 225u8, 1u8, 158u8, 129u8, 192u8, 17u8, 9u8, 163u8, 73u8, - 108u8, 130u8, 155u8, 196u8, 141u8, 203u8, 128u8, 3u8, 198u8, 23u8, - 48u8, 174u8, 104u8, 254u8, 98u8, 29u8, 51u8, 187u8, 122u8, 203u8, 14u8, + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, ], ) } - #[doc = "Updates the price targets for a registered operator's service blueprint."] - #[doc = ""] - #[doc = "Allows an operator to modify their price targets for a specific blueprint they are registered for."] - #[doc = "The operator must already be registered for the blueprint to update prices."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin: OriginFor` - The origin of the call. Must be signed by the operator."] - #[doc = "* `blueprint_id: u64` - The identifier of the blueprint to update price targets for."] - #[doc = "* `price_targets: PriceTargets` - The new price targets to set for the blueprint."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by a registered operator for this blueprint."] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::NotRegistered`] - The caller is not registered for this blueprint."] - #[doc = "* [`Error::NotAllowedToUpdatePriceTargets`] - Price target updates are currently restricted."] - #[doc = "* [`Error::BlueprintNotFound`] - The blueprint_id does not exist."] - pub fn update_price_targets( + #[doc = " Number of eras that slashes are deferred by, after computation."] + #[doc = ""] + #[doc = " This should be less than the bonding duration. Set to 0 if slashes"] + #[doc = " should be applied immediately, without opportunity for intervention."] + pub fn slash_defer_duration( &self, - blueprint_id: types::update_price_targets::BlueprintId, - price_targets: types::update_price_targets::PriceTargets, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( "Services", - "update_price_targets", - types::UpdatePriceTargets { blueprint_id, price_targets }, + "SlashDeferDuration", [ - 64u8, 243u8, 239u8, 182u8, 174u8, 160u8, 96u8, 140u8, 62u8, 187u8, - 247u8, 111u8, 78u8, 96u8, 33u8, 159u8, 95u8, 203u8, 204u8, 31u8, 254u8, - 57u8, 114u8, 219u8, 245u8, 19u8, 201u8, 6u8, 205u8, 145u8, 138u8, - 100u8, + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, ], ) } - #[doc = "Request a new service using a blueprint and specified operators."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin: OriginFor` - The origin of the call. Must be signed."] - #[doc = "* `evm_origin: Option` - Optional EVM address for ERC20 payments."] - #[doc = "* `blueprint_id: u64` - The identifier of the blueprint to use."] - #[doc = "* `permitted_callers: Vec` - Accounts allowed to call the service. If empty, only owner can call."] - #[doc = "* `operators: Vec` - List of operators that will run the service."] - #[doc = "* `request_args: Vec>` - Blueprint initialization arguments."] - #[doc = "* `assets: Vec` - Required assets for the service."] - #[doc = "* `ttl: BlockNumberFor` - Time-to-live in blocks for the service request."] - #[doc = "* `payment_asset: Asset` - Asset used for payment (native, custom or ERC20)."] - #[doc = "* `value: BalanceOf` - Payment amount for the service."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by an account with sufficient balance to pay for the service."] - #[doc = "* For ERC20 payments, the EVM origin must match the caller's mapped account."] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::TypeCheck`] - Request arguments fail blueprint type checking."] - #[doc = "* [`Error::NoAssetsProvided`] - No assets were specified."] - #[doc = "* [`Error::MissingEVMOrigin`] - EVM origin required but not provided for ERC20 payment."] - #[doc = "* [`Error::ERC20TransferFailed`] - ERC20 token transfer failed."] - #[doc = "* [`Error::NotRegistered`] - One or more operators not registered for blueprint."] - #[doc = "* [`Error::BlueprintNotFound`] - The blueprint_id does not exist."] - pub fn request( + #[doc = " The minimum percentage of native token stake that operators must expose for slashing."] + pub fn minimum_native_security_requirement( &self, - evm_origin: types::request::EvmOrigin, - blueprint_id: types::request::BlueprintId, - permitted_callers: types::request::PermittedCallers, - operators: types::request::Operators, - request_args: types::request::RequestArgs, - asset_security_requirements: types::request::AssetSecurityRequirements, - ttl: types::request::Ttl, - payment_asset: types::request::PaymentAsset, - value: types::request::Value, - membership_model: types::request::MembershipModel, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( + ) -> ::subxt_core::constants::address::StaticAddress< + runtime_types::sp_arithmetic::per_things::Percent, + > { + ::subxt_core::constants::address::StaticAddress::new_static( "Services", - "request", - types::Request { - evm_origin, - blueprint_id, - permitted_callers, - operators, - request_args, - asset_security_requirements, - ttl, - payment_asset, - value, - membership_model, - }, + "MinimumNativeSecurityRequirement", [ - 65u8, 20u8, 185u8, 17u8, 62u8, 217u8, 41u8, 220u8, 126u8, 184u8, 211u8, - 133u8, 254u8, 117u8, 206u8, 142u8, 26u8, 204u8, 254u8, 25u8, 10u8, - 91u8, 75u8, 206u8, 189u8, 72u8, 159u8, 130u8, 16u8, 239u8, 231u8, - 161u8, + 40u8, 171u8, 69u8, 196u8, 34u8, 184u8, 50u8, 128u8, 139u8, 192u8, 63u8, + 231u8, 249u8, 200u8, 252u8, 73u8, 244u8, 170u8, 51u8, 177u8, 106u8, + 47u8, 114u8, 234u8, 84u8, 104u8, 62u8, 118u8, 227u8, 50u8, 225u8, + 122u8, ], ) } - #[doc = "Approve a service request, allowing it to be initiated once all required approvals are received."] + } + } + } + pub mod lst { + use super::root_mod; + use super::runtime_types; + #[doc = "The `Error` enum of this pallet."] + pub type Error = runtime_types::pallet_tangle_lst::pallet::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::pallet_tangle_lst::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Stakes funds with a pool by transferring the bonded amount from member to pool account."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Caller must be a registered operator for the service blueprint"] - #[doc = "* Caller must be in the pending approvals list for this request"] + #[doc = "* Must be signed"] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] - #[doc = "* `origin` - The origin of the call, must be a signed account"] - #[doc = "* `request_id` - The ID of the service request to approve"] - #[doc = "* `native_exposure_percent` - Percentage of native token stake to expose"] - #[doc = "* `asset_exposure` - Vector of asset-specific exposure commitments"] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `amount` - Amount to stake"] + #[doc = "* `pool_id` - Target pool ID"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [`Error::ApprovalNotRequested`] - Caller is not in the pending approvals list"] - #[doc = "* [`Error::ApprovalInterrupted`] - Approval was rejected by blueprint hook"] - #[doc = "* [`Error::InvalidRequestInput`] - Asset exposure commitments don't meet requirements"] - pub fn approve( - &self, - request_id: types::approve::RequestId, - security_commitments: types::approve::SecurityCommitments, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Services", - "approve", - types::Approve { request_id, security_commitments }, - [ - 189u8, 91u8, 224u8, 77u8, 87u8, 147u8, 197u8, 28u8, 209u8, 28u8, 170u8, - 157u8, 14u8, 42u8, 18u8, 241u8, 146u8, 209u8, 60u8, 210u8, 204u8, - 168u8, 113u8, 30u8, 206u8, 233u8, 19u8, 36u8, 136u8, 115u8, 125u8, - 108u8, - ], - ) - } - #[doc = "Reject a service request, preventing its initiation."] + #[doc = "* [`Error::MinimumBondNotMet`] - Amount below minimum bond"] + #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] + #[doc = "* [`Error::DefensiveError`] - Reward pool not found"] #[doc = ""] - #[doc = "The service request will remain in the system but marked as rejected. The requester will"] - #[doc = "need to update the service request to proceed."] + #[doc = "# Note"] #[doc = ""] - #[doc = "# Permissions"] + #[doc = "* Member must have `existential deposit + amount` in account"] + #[doc = "* Pool must be in [`PoolState::Open`] state"] + pub struct Join { + #[codec(compact)] + pub amount: join::Amount, + pub pool_id: join::PoolId, + } + pub mod join { + use super::runtime_types; + pub type Amount = ::core::primitive::u128; + pub type PoolId = ::core::primitive::u32; + } + impl ::subxt_core::blocks::StaticExtrinsic for Join { + const PALLET: &'static str = "Lst"; + const CALL: &'static str = "join"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Bond additional funds into an existing pool position."] #[doc = ""] - #[doc = "* Caller must be a registered operator for the blueprint associated with this request"] - #[doc = "* Caller must be one of the operators required to approve this request"] + #[doc = "Additional funds can come from either free balance or accumulated rewards."] + #[doc = "Automatically pays out all pending rewards."] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] - #[doc = "* `origin` - The origin of the call, must be a signed account"] - #[doc = "* `request_id` - The ID of the service request to reject"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::ApprovalNotRequested`] - Caller is not one of the operators required to approve this request"] - #[doc = "* [`Error::ExpectedAccountId`] - Failed to convert refund address to account ID when refunding payment"] - #[doc = "* [`Error::RejectionInterrupted`] - Rejection was interrupted by blueprint hook"] - pub fn reject( - &self, - request_id: types::reject::RequestId, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Services", - "reject", - types::Reject { request_id }, - [ - 119u8, 137u8, 83u8, 229u8, 178u8, 252u8, 111u8, 82u8, 34u8, 195u8, - 132u8, 26u8, 136u8, 69u8, 244u8, 124u8, 138u8, 82u8, 249u8, 95u8, - 177u8, 91u8, 236u8, 63u8, 153u8, 82u8, 50u8, 207u8, 145u8, 86u8, 135u8, - 202u8, - ], - ) - } - #[doc = "Terminates a running service instance."] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `pool_id` - Target pool ID"] + #[doc = "* `extra` - Source and amount of additional funds"] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Must be signed by the service owner"] + #[doc = "* Must be signed"] + #[doc = "* Must have permission to bond extra if not self"] #[doc = ""] - #[doc = "# Arguments"] + #[doc = "# Errors"] #[doc = ""] - #[doc = "* `origin` - The origin of the call"] - #[doc = "* `service_id` - The identifier of the service to terminate"] + #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] + #[doc = "* [`Error::DoesNotHavePermission`] - Caller lacks permission"] + #[doc = "* [`Error::DefensiveError`] - Reward pool not found"] #[doc = ""] - #[doc = "# Errors"] + #[doc = "# Note"] #[doc = ""] - #[doc = "* [`Error::ServiceNotFound`] - The service_id does not exist"] - #[doc = "* [`Error::NotRegistered`] - Service operator not registered"] - #[doc = "* [`Error::TerminationInterrupted`] - Service termination was interrupted by hooks"] - #[doc = "* [`DispatchError::BadOrigin`] - Caller is not the service owner"] - pub fn terminate( - &self, - service_id: types::terminate::ServiceId, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Services", - "terminate", - types::Terminate { service_id }, - [ - 80u8, 226u8, 169u8, 82u8, 37u8, 5u8, 44u8, 217u8, 228u8, 230u8, 40u8, - 144u8, 149u8, 62u8, 225u8, 232u8, 222u8, 111u8, 67u8, 78u8, 31u8, - 209u8, 89u8, 183u8, 19u8, 187u8, 250u8, 1u8, 230u8, 160u8, 252u8, 91u8, - ], - ) + #[doc = "* This transaction prioritizes readability and correctness over optimization"] + #[doc = "* Multiple storage reads/writes are performed to reuse code"] + #[doc = "* See `bond_extra_other` to bond pending rewards of other members"] + pub struct BondExtra { + pub pool_id: bond_extra::PoolId, + pub extra: bond_extra::Extra, } - #[doc = "Call a job in the service with the provided arguments."] + pub mod bond_extra { + use super::runtime_types; + pub type PoolId = ::core::primitive::u32; + pub type Extra = + runtime_types::pallet_tangle_lst::types::BondExtra<::core::primitive::u128>; + } + impl ::subxt_core::blocks::StaticExtrinsic for BondExtra { + const PALLET: &'static str = "Lst"; + const CALL: &'static str = "bond_extra"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Unbond points from a member's pool position, collecting any pending rewards."] #[doc = ""] - #[doc = "# Permissions"] + #[doc = "# Arguments"] #[doc = ""] - #[doc = "* Must be signed by the service owner or a permitted caller"] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `member_account` - Account to unbond from"] + #[doc = "* `pool_id` - Target pool ID"] + #[doc = "* `unbonding_points` - Amount of points to unbond"] #[doc = ""] - #[doc = "# Arguments"] + #[doc = "# Permissions"] #[doc = ""] - #[doc = "* `origin` - The origin of the call"] - #[doc = "* `service_id` - The service identifier"] - #[doc = "* `job` - The job index to call"] - #[doc = "* `args` - The arguments to pass to the job"] + #[doc = "* Permissionless if:"] + #[doc = " - Pool is blocked and caller is root/bouncer (kick)"] + #[doc = " - Pool is destroying and member is not depositor"] + #[doc = " - Pool is destroying, member is depositor, and pool is empty"] + #[doc = "* Permissioned (caller must be member) if:"] + #[doc = " - Caller is not depositor"] + #[doc = " - Caller is depositor, pool is destroying, and pool is empty"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [`Error::ServiceNotFound`] - The service_id does not exist"] - #[doc = "* [`Error::JobDefinitionNotFound`] - The job index is invalid"] - #[doc = "* [`Error::MaxFieldsExceeded`] - Too many arguments provided"] - #[doc = "* [`Error::TypeCheck`] - Arguments fail type checking"] - #[doc = "* [`Error::InvalidJobCallInput`] - Job call was rejected by hooks"] - #[doc = "* [`DispatchError::BadOrigin`] - Caller is not owner or permitted caller"] - pub fn call( - &self, - service_id: types::call::ServiceId, - job: types::call::Job, - args: types::call::Args, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Services", - "call", - types::Call { service_id, job, args }, - [ - 67u8, 250u8, 225u8, 72u8, 114u8, 18u8, 228u8, 177u8, 223u8, 154u8, - 238u8, 127u8, 234u8, 32u8, 171u8, 44u8, 112u8, 203u8, 85u8, 13u8, - 191u8, 178u8, 246u8, 27u8, 60u8, 103u8, 52u8, 254u8, 173u8, 164u8, - 96u8, 11u8, - ], - ) - } - #[doc = "Submit a result for a previously called job."] + #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] + #[doc = "* [`Error::NoBalanceToUnbond`] - Member has insufficient points"] + #[doc = "* [`Error::DefensiveError`] - Not enough space in unbond pool"] #[doc = ""] - #[doc = "# Arguments"] + #[doc = "# Note"] + #[doc = "If no unlocking chunks are available, [`Call::pool_withdraw_unbonded`] can be called first."] + #[doc = "The staking interface will attempt this automatically but may still return `NoMoreChunks`"] + #[doc = "if chunks cannot be released."] + pub struct Unbond { + pub member_account: unbond::MemberAccount, + pub pool_id: unbond::PoolId, + #[codec(compact)] + pub unbonding_points: unbond::UnbondingPoints, + } + pub mod unbond { + use super::runtime_types; + pub type MemberAccount = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type PoolId = ::core::primitive::u32; + pub type UnbondingPoints = ::core::primitive::u128; + } + impl ::subxt_core::blocks::StaticExtrinsic for Unbond { + const PALLET: &'static str = "Lst"; + const CALL: &'static str = "unbond"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Withdraws unbonded funds from the pool's staking account."] #[doc = ""] - #[doc = "* `service_id` - ID of the service"] - #[doc = "* `call_id` - ID of the job call"] - #[doc = "* `result` - Vector of result fields"] + #[doc = "Useful for clearing unlocking chunks when there are too many to call `unbond`."] + #[doc = "Prevents `NoMoreChunks` errors from the staking system."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Caller must be an operator of the service"] + #[doc = "* Can be signed by any account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `pool_id` - Pool identifier"] + #[doc = "* `num_slashing_spans` - Number of slashing spans to check"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [`Error::ServiceNotFound`] - The service_id does not exist"] - #[doc = "* [`Error::JobCallNotFound`] - The call_id does not exist"] - #[doc = "* [`Error::JobDefinitionNotFound`] - The job index is invalid"] - #[doc = "* [`Error::MaxFieldsExceeded`] - Too many result fields provided"] - #[doc = "* [`Error::TypeCheck`] - Result fields fail type checking"] - #[doc = "* [`Error::InvalidJobResult`] - Job result was rejected by hooks"] - #[doc = "* [`DispatchError::BadOrigin`] - Caller is not an operator"] - pub fn submit_result( - &self, - service_id: types::submit_result::ServiceId, - call_id: types::submit_result::CallId, - result: types::submit_result::Result, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Services", - "submit_result", - types::SubmitResult { service_id, call_id, result }, - [ - 127u8, 31u8, 72u8, 147u8, 204u8, 177u8, 209u8, 217u8, 14u8, 67u8, 18u8, - 99u8, 212u8, 118u8, 89u8, 116u8, 183u8, 218u8, 252u8, 48u8, 0u8, 202u8, - 39u8, 37u8, 213u8, 242u8, 39u8, 19u8, 10u8, 184u8, 202u8, 150u8, - ], - ) + #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] + #[doc = "* [`Error::NotDestroying`] - Pool is in destroying state"] + pub struct PoolWithdrawUnbonded { + pub pool_id: pool_withdraw_unbonded::PoolId, + pub num_slashing_spans: pool_withdraw_unbonded::NumSlashingSpans, } - #[doc = "Slash an operator's stake for a service by scheduling a deferred slashing action."] - #[doc = ""] - #[doc = "This function schedules a deferred slashing action against an operator's stake for a specific service."] - #[doc = "The slash is not applied immediately, but rather queued to be executed by another entity later."] + pub mod pool_withdraw_unbonded { + use super::runtime_types; + pub type PoolId = ::core::primitive::u32; + pub type NumSlashingSpans = ::core::primitive::u32; + } + impl ::subxt_core::blocks::StaticExtrinsic for PoolWithdrawUnbonded { + const PALLET: &'static str = "Lst"; + const CALL: &'static str = "pool_withdraw_unbonded"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Withdraw unbonded funds from a member account."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* The caller must be an authorized Slash Origin for the target service, as determined by"] - #[doc = " `query_slashing_origin`. If no slashing origin is set, or the caller does not match, the call"] - #[doc = " will fail."] + #[doc = "* Permissionless if:"] + #[doc = " - Pool is in destroy mode and target is not depositor"] + #[doc = " - Target is depositor and only member in sub pools"] + #[doc = " - Pool is blocked and caller is root/bouncer"] + #[doc = "* Permissioned if caller is target and not depositor"] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] - #[doc = "* `origin` - The origin of the call. Must be signed by an authorized Slash Origin."] - #[doc = "* `offender` - The account ID of the operator to be slashed."] - #[doc = "* `service_id` - The ID of the service for which to slash the operator."] - #[doc = "* `slash_percent` - The percentage of the operator's exposed stake to slash, as a `Percent` value."] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `member_account` - Account to withdraw from"] + #[doc = "* `pool_id` - Pool identifier"] + #[doc = "* `num_slashing_spans` - Number of slashing spans"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* `NoSlashingOrigin` - No slashing origin is set for the service"] - #[doc = "* `BadOrigin` - Caller is not the authorized slashing origin"] - #[doc = "* `OffenderNotOperator` - Target account is not an operator for this service"] - #[doc = "* `OffenderNotActiveOperator` - Target operator is not currently active"] - pub fn slash( - &self, - offender: types::slash::Offender, - service_id: types::slash::ServiceId, - slash_percent: types::slash::SlashPercent, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Services", - "slash", - types::Slash { offender, service_id, slash_percent }, - [ - 23u8, 134u8, 226u8, 252u8, 149u8, 19u8, 46u8, 60u8, 128u8, 156u8, - 192u8, 208u8, 158u8, 76u8, 31u8, 255u8, 145u8, 23u8, 230u8, 15u8, 32u8, - 102u8, 110u8, 253u8, 1u8, 14u8, 154u8, 204u8, 198u8, 12u8, 185u8, - 148u8, - ], - ) - } - #[doc = "Disputes and removes an [UnappliedSlash] from storage."] + #[doc = "* [`Error::PoolMemberNotFound`] - Member account not found"] + #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] + #[doc = "* [`Error::SubPoolsNotFound`] - Sub pools not found"] + #[doc = "* [`Error::CannotWithdrawAny`] - No unbonded funds available"] #[doc = ""] - #[doc = "The slash will not be applied once disputed and is permanently removed."] + #[doc = "If target is depositor, pool will be destroyed."] + pub struct WithdrawUnbonded { + pub member_account: withdraw_unbonded::MemberAccount, + pub pool_id: withdraw_unbonded::PoolId, + pub num_slashing_spans: withdraw_unbonded::NumSlashingSpans, + } + pub mod withdraw_unbonded { + use super::runtime_types; + pub type MemberAccount = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type PoolId = ::core::primitive::u32; + pub type NumSlashingSpans = ::core::primitive::u32; + } + impl ::subxt_core::blocks::StaticExtrinsic for WithdrawUnbonded { + const PALLET: &'static str = "Lst"; + const CALL: &'static str = "withdraw_unbonded"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Create a new delegation pool."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Caller must be the authorized dispute origin for the service"] + #[doc = "* Must be signed by the account that will become the initial depositor"] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] #[doc = "* `origin` - Origin of the call"] - #[doc = "* `era` - Era containing the slash to dispute "] - #[doc = "* `index` - Index of the slash within the era"] + #[doc = "* `amount` - Amount to delegate to the pool"] + #[doc = "* `root` - Account to set as pool root"] + #[doc = "* `nominator` - Account to set as pool nominator"] + #[doc = "* `bouncer` - Account to set as pool bouncer"] + #[doc = "* `name` - Optional pool name bounded by `T::MaxNameLength`"] + #[doc = "* `icon` - Optional pool icon bounded by `T::MaxIconLength`"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [Error::NoDisputeOrigin] - Service has no dispute origin configured"] - #[doc = "* [DispatchError::BadOrigin] - Caller is not the authorized dispute origin"] + #[doc = "* [`Error::OverflowRisk`] - Pool ID increment would overflow"] #[doc = ""] - pub fn dispute( - &self, - era: types::dispute::Era, - index: types::dispute::Index, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Services", - "dispute", - types::Dispute { era, index }, - [ - 11u8, 20u8, 40u8, 197u8, 106u8, 155u8, 43u8, 220u8, 65u8, 245u8, 83u8, - 57u8, 99u8, 72u8, 115u8, 215u8, 198u8, 123u8, 58u8, 211u8, 238u8, - 194u8, 87u8, 11u8, 18u8, 9u8, 248u8, 159u8, 49u8, 138u8, 39u8, 69u8, - ], - ) + #[doc = "# Note"] + #[doc = ""] + #[doc = "Caller must have `amount + existential_deposit` transferable funds."] + pub struct Create { + #[codec(compact)] + pub amount: create::Amount, + pub root: create::Root, + pub nominator: create::Nominator, + pub bouncer: create::Bouncer, + pub name: create::Name, + pub icon: create::Icon, } - #[doc = "Updates the Master Blueprint Service Manager by adding a new revision."] + pub mod create { + use super::runtime_types; + pub type Amount = ::core::primitive::u128; + pub type Root = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Nominator = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Bouncer = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type Name = ::core::option::Option< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >; + pub type Icon = ::core::option::Option< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >; + } + impl ::subxt_core::blocks::StaticExtrinsic for Create { + const PALLET: &'static str = "Lst"; + const CALL: &'static str = "create"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Create a new delegation pool with a previously used pool ID."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Caller must be an authorized Master Blueprint Service Manager Update Origin"] + #[doc = "* Must be signed by the account that will become the depositor"] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] #[doc = "* `origin` - Origin of the call"] - #[doc = "* `address` - New manager address to add"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [Error::MaxMasterBlueprintServiceManagerVersionsExceeded] - Maximum number of revisions reached"] - pub fn update_master_blueprint_service_manager( - &self, - address: types::update_master_blueprint_service_manager::Address, - ) -> ::subxt_core::tx::payload::StaticPayload< - types::UpdateMasterBlueprintServiceManager, - > { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Services", - "update_master_blueprint_service_manager", - types::UpdateMasterBlueprintServiceManager { address }, - [ - 252u8, 219u8, 162u8, 106u8, 90u8, 65u8, 108u8, 176u8, 11u8, 107u8, - 15u8, 162u8, 137u8, 205u8, 165u8, 226u8, 66u8, 222u8, 234u8, 231u8, - 20u8, 85u8, 248u8, 147u8, 200u8, 203u8, 51u8, 242u8, 10u8, 152u8, - 167u8, 68u8, - ], - ) - } - #[doc = "Join a service instance as an operator"] - pub fn join_service( - &self, - instance_id: types::join_service::InstanceId, - security_commitments: types::join_service::SecurityCommitments, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Services", - "join_service", - types::JoinService { instance_id, security_commitments }, - [ - 53u8, 248u8, 31u8, 13u8, 125u8, 216u8, 98u8, 164u8, 255u8, 175u8, 41u8, - 218u8, 163u8, 209u8, 29u8, 245u8, 97u8, 93u8, 161u8, 119u8, 109u8, - 36u8, 108u8, 246u8, 252u8, 217u8, 36u8, 47u8, 246u8, 125u8, 188u8, - 107u8, - ], - ) - } - #[doc = "Leave a service instance as an operator"] - pub fn leave_service( - &self, - instance_id: types::leave_service::InstanceId, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Services", - "leave_service", - types::LeaveService { instance_id }, - [ - 224u8, 35u8, 93u8, 174u8, 1u8, 67u8, 35u8, 46u8, 195u8, 56u8, 103u8, - 19u8, 112u8, 218u8, 195u8, 149u8, 175u8, 203u8, 198u8, 44u8, 76u8, - 95u8, 0u8, 121u8, 82u8, 91u8, 244u8, 230u8, 27u8, 113u8, 12u8, 72u8, - ], - ) - } - } - } - #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::pallet_services::module::Event; - pub mod events { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A new service blueprint has been created."] - pub struct BlueprintCreated { - pub owner: blueprint_created::Owner, - pub blueprint_id: blueprint_created::BlueprintId, - } - pub mod blueprint_created { - use super::runtime_types; - pub type Owner = ::subxt_core::utils::AccountId32; - pub type BlueprintId = ::core::primitive::u64; - } - impl ::subxt_core::events::StaticEvent for BlueprintCreated { - const PALLET: &'static str = "Services"; - const EVENT: &'static str = "BlueprintCreated"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An operator has pre-registered for a service blueprint."] - pub struct PreRegistration { - pub operator: pre_registration::Operator, - pub blueprint_id: pre_registration::BlueprintId, - } - pub mod pre_registration { - use super::runtime_types; - pub type Operator = ::subxt_core::utils::AccountId32; - pub type BlueprintId = ::core::primitive::u64; - } - impl ::subxt_core::events::StaticEvent for PreRegistration { - const PALLET: &'static str = "Services"; - const EVENT: &'static str = "PreRegistration"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An new operator has been registered."] - pub struct Registered { - pub provider: registered::Provider, - pub blueprint_id: registered::BlueprintId, - pub preferences: registered::Preferences, - pub registration_args: registered::RegistrationArgs, - } - pub mod registered { - use super::runtime_types; - pub type Provider = ::subxt_core::utils::AccountId32; - pub type BlueprintId = ::core::primitive::u64; - pub type Preferences = - runtime_types::tangle_primitives::services::types::OperatorPreferences; - pub type RegistrationArgs = ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_primitives::services::field::Field< - ::subxt_core::utils::AccountId32, - >, - >; - } - impl ::subxt_core::events::StaticEvent for Registered { - const PALLET: &'static str = "Services"; - const EVENT: &'static str = "Registered"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An operator has been unregistered."] - pub struct Unregistered { - pub operator: unregistered::Operator, - pub blueprint_id: unregistered::BlueprintId, - } - pub mod unregistered { - use super::runtime_types; - pub type Operator = ::subxt_core::utils::AccountId32; - pub type BlueprintId = ::core::primitive::u64; - } - impl ::subxt_core::events::StaticEvent for Unregistered { - const PALLET: &'static str = "Services"; - const EVENT: &'static str = "Unregistered"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "The price targets for an operator has been updated."] - pub struct PriceTargetsUpdated { - pub operator: price_targets_updated::Operator, - pub blueprint_id: price_targets_updated::BlueprintId, - pub price_targets: price_targets_updated::PriceTargets, - } - pub mod price_targets_updated { - use super::runtime_types; - pub type Operator = ::subxt_core::utils::AccountId32; - pub type BlueprintId = ::core::primitive::u64; - pub type PriceTargets = - runtime_types::tangle_primitives::services::types::PriceTargets; - } - impl ::subxt_core::events::StaticEvent for PriceTargetsUpdated { - const PALLET: &'static str = "Services"; - const EVENT: &'static str = "PriceTargetsUpdated"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A new service has been requested."] - pub struct ServiceRequested { - pub owner: service_requested::Owner, - pub request_id: service_requested::RequestId, - pub blueprint_id: service_requested::BlueprintId, - pub pending_approvals: service_requested::PendingApprovals, - pub approved: service_requested::Approved, - pub security_requirements: service_requested::SecurityRequirements, - } - pub mod service_requested { - use super::runtime_types; - pub type Owner = ::subxt_core::utils::AccountId32; - pub type RequestId = ::core::primitive::u64; - pub type BlueprintId = ::core::primitive::u64; - pub type PendingApprovals = - ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; - pub type Approved = ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; - pub type SecurityRequirements = - runtime_types::bounded_collections::bounded_vec::BoundedVec< - runtime_types::tangle_primitives::services::types::AssetSecurityRequirement< - ::core::primitive::u128, - >, - >; - } - impl ::subxt_core::events::StaticEvent for ServiceRequested { - const PALLET: &'static str = "Services"; - const EVENT: &'static str = "ServiceRequested"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A service request has been approved."] - pub struct ServiceRequestApproved { - pub operator: service_request_approved::Operator, - pub request_id: service_request_approved::RequestId, - pub blueprint_id: service_request_approved::BlueprintId, - pub pending_approvals: service_request_approved::PendingApprovals, - pub approved: service_request_approved::Approved, - } - pub mod service_request_approved { - use super::runtime_types; - pub type Operator = ::subxt_core::utils::AccountId32; - pub type RequestId = ::core::primitive::u64; - pub type BlueprintId = ::core::primitive::u64; - pub type PendingApprovals = - ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; - pub type Approved = ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; - } - impl ::subxt_core::events::StaticEvent for ServiceRequestApproved { - const PALLET: &'static str = "Services"; - const EVENT: &'static str = "ServiceRequestApproved"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A service request has been rejected."] - pub struct ServiceRequestRejected { - pub operator: service_request_rejected::Operator, - pub request_id: service_request_rejected::RequestId, - pub blueprint_id: service_request_rejected::BlueprintId, - } - pub mod service_request_rejected { - use super::runtime_types; - pub type Operator = ::subxt_core::utils::AccountId32; - pub type RequestId = ::core::primitive::u64; - pub type BlueprintId = ::core::primitive::u64; - } - impl ::subxt_core::events::StaticEvent for ServiceRequestRejected { - const PALLET: &'static str = "Services"; - const EVENT: &'static str = "ServiceRequestRejected"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A service has been initiated."] - pub struct ServiceInitiated { - pub owner: service_initiated::Owner, - pub request_id: service_initiated::RequestId, - pub service_id: service_initiated::ServiceId, - pub blueprint_id: service_initiated::BlueprintId, - pub operator_security_commitments: service_initiated::OperatorSecurityCommitments, - } - pub mod service_initiated { - use super::runtime_types; - pub type Owner = ::subxt_core::utils::AccountId32; - pub type RequestId = ::core::primitive::u64; - pub type ServiceId = ::core::primitive::u64; - pub type BlueprintId = ::core::primitive::u64; - pub type OperatorSecurityCommitments = runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < (:: subxt_core :: utils :: AccountId32 , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: types :: AssetSecurityCommitment < :: core :: primitive :: u128 > > ,) > ; - } - impl ::subxt_core::events::StaticEvent for ServiceInitiated { - const PALLET: &'static str = "Services"; - const EVENT: &'static str = "ServiceInitiated"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A service has been terminated."] - pub struct ServiceTerminated { - pub owner: service_terminated::Owner, - pub service_id: service_terminated::ServiceId, - pub blueprint_id: service_terminated::BlueprintId, - } - pub mod service_terminated { - use super::runtime_types; - pub type Owner = ::subxt_core::utils::AccountId32; - pub type ServiceId = ::core::primitive::u64; - pub type BlueprintId = ::core::primitive::u64; - } - impl ::subxt_core::events::StaticEvent for ServiceTerminated { - const PALLET: &'static str = "Services"; - const EVENT: &'static str = "ServiceTerminated"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A job has been called."] - pub struct JobCalled { - pub caller: job_called::Caller, - pub service_id: job_called::ServiceId, - pub call_id: job_called::CallId, - pub job: job_called::Job, - pub args: job_called::Args, - } - pub mod job_called { - use super::runtime_types; - pub type Caller = ::subxt_core::utils::AccountId32; - pub type ServiceId = ::core::primitive::u64; - pub type CallId = ::core::primitive::u64; - pub type Job = ::core::primitive::u8; - pub type Args = ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_primitives::services::field::Field< + #[doc = "* `amount` - Amount to delegate to the pool"] + #[doc = "* `root` - Account to set as pool root"] + #[doc = "* `nominator` - Account to set as pool nominator"] + #[doc = "* `bouncer` - Account to set as pool bouncer"] + #[doc = "* `pool_id` - Pool ID to reuse"] + #[doc = "* `name` - Optional pool name"] + #[doc = "* `icon` - Optional pool icon"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::PoolIdInUse`] - Pool ID is already in use"] + #[doc = "* [`Error::InvalidPoolId`] - Pool ID is greater than last pool ID"] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "Caller must have `amount + existential_deposit` transferable funds."] + pub struct CreateWithPoolId { + #[codec(compact)] + pub amount: create_with_pool_id::Amount, + pub root: create_with_pool_id::Root, + pub nominator: create_with_pool_id::Nominator, + pub bouncer: create_with_pool_id::Bouncer, + pub pool_id: create_with_pool_id::PoolId, + pub name: create_with_pool_id::Name, + pub icon: create_with_pool_id::Icon, + } + pub mod create_with_pool_id { + use super::runtime_types; + pub type Amount = ::core::primitive::u128; + pub type Root = ::subxt_core::utils::MultiAddress< ::subxt_core::utils::AccountId32, - >, - >; - } - impl ::subxt_core::events::StaticEvent for JobCalled { - const PALLET: &'static str = "Services"; - const EVENT: &'static str = "JobCalled"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A job result has been submitted."] - pub struct JobResultSubmitted { - pub operator: job_result_submitted::Operator, - pub service_id: job_result_submitted::ServiceId, - pub call_id: job_result_submitted::CallId, - pub job: job_result_submitted::Job, - pub result: job_result_submitted::Result, - } - pub mod job_result_submitted { - use super::runtime_types; - pub type Operator = ::subxt_core::utils::AccountId32; - pub type ServiceId = ::core::primitive::u64; - pub type CallId = ::core::primitive::u64; - pub type Job = ::core::primitive::u8; - pub type Result = ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_primitives::services::field::Field< + ::core::primitive::u32, + >; + pub type Nominator = ::subxt_core::utils::MultiAddress< ::subxt_core::utils::AccountId32, - >, - >; - } - impl ::subxt_core::events::StaticEvent for JobResultSubmitted { - const PALLET: &'static str = "Services"; - const EVENT: &'static str = "JobResultSubmitted"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "EVM execution reverted with a reason."] - pub struct EvmReverted { - pub from: evm_reverted::From, - pub to: evm_reverted::To, - pub data: evm_reverted::Data, - pub reason: evm_reverted::Reason, - } - pub mod evm_reverted { - use super::runtime_types; - pub type From = ::subxt_core::utils::H160; - pub type To = ::subxt_core::utils::H160; - pub type Data = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; - pub type Reason = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; - } - impl ::subxt_core::events::StaticEvent for EvmReverted { - const PALLET: &'static str = "Services"; - const EVENT: &'static str = "EvmReverted"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An Operator has an unapplied slash."] - pub struct UnappliedSlash { - pub index: unapplied_slash::Index, - pub operator: unapplied_slash::Operator, - pub service_id: unapplied_slash::ServiceId, - pub blueprint_id: unapplied_slash::BlueprintId, - pub slash_percent: unapplied_slash::SlashPercent, - pub era: unapplied_slash::Era, - } - pub mod unapplied_slash { - use super::runtime_types; - pub type Index = ::core::primitive::u32; - pub type Operator = ::subxt_core::utils::AccountId32; - pub type ServiceId = ::core::primitive::u64; - pub type BlueprintId = ::core::primitive::u64; - pub type SlashPercent = runtime_types::sp_arithmetic::per_things::Percent; - pub type Era = ::core::primitive::u32; - } - impl ::subxt_core::events::StaticEvent for UnappliedSlash { - const PALLET: &'static str = "Services"; - const EVENT: &'static str = "UnappliedSlash"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "An Unapplied Slash got discarded."] - pub struct SlashDiscarded { - pub index: slash_discarded::Index, - pub operator: slash_discarded::Operator, - pub service_id: slash_discarded::ServiceId, - pub blueprint_id: slash_discarded::BlueprintId, - pub slash_percent: slash_discarded::SlashPercent, - pub era: slash_discarded::Era, - } - pub mod slash_discarded { - use super::runtime_types; - pub type Index = ::core::primitive::u32; - pub type Operator = ::subxt_core::utils::AccountId32; - pub type ServiceId = ::core::primitive::u64; - pub type BlueprintId = ::core::primitive::u64; - pub type SlashPercent = runtime_types::sp_arithmetic::per_things::Percent; - pub type Era = ::core::primitive::u32; - } - impl ::subxt_core::events::StaticEvent for SlashDiscarded { - const PALLET: &'static str = "Services"; - const EVENT: &'static str = "SlashDiscarded"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "The Master Blueprint Service Manager has been revised."] - pub struct MasterBlueprintServiceManagerRevised { - pub revision: master_blueprint_service_manager_revised::Revision, - pub address: master_blueprint_service_manager_revised::Address, - } - pub mod master_blueprint_service_manager_revised { - use super::runtime_types; - pub type Revision = ::core::primitive::u32; - pub type Address = ::subxt_core::utils::H160; - } - impl ::subxt_core::events::StaticEvent for MasterBlueprintServiceManagerRevised { - const PALLET: &'static str = "Services"; - const EVENT: &'static str = "MasterBlueprintServiceManagerRevised"; - } - } - pub mod storage { - use super::runtime_types; - pub mod types { - use super::runtime_types; - pub mod next_blueprint_id { + ::core::primitive::u32, + >; + pub type Bouncer = ::subxt_core::utils::MultiAddress< + ::subxt_core::utils::AccountId32, + ::core::primitive::u32, + >; + pub type PoolId = ::core::primitive::u32; + pub type Name = ::core::option::Option< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >; + pub type Icon = ::core::option::Option< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >; + } + impl ::subxt_core::blocks::StaticExtrinsic for CreateWithPoolId { + const PALLET: &'static str = "Lst"; + const CALL: &'static str = "create_with_pool_id"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Nominate validators on behalf of the pool."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Pool nominator or root role can nominate validators"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `pool_id` - Pool identifier"] + #[doc = "* `validators` - List of validator accounts to nominate"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] + #[doc = "* [`Error::NotNominator`] - Caller lacks nominator permissions"] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "Forwards nomination call to staking pallet using pool's bonded account."] + pub struct Nominate { + pub pool_id: nominate::PoolId, + pub validators: nominate::Validators, + } + pub mod nominate { use super::runtime_types; - pub type NextBlueprintId = ::core::primitive::u64; + pub type PoolId = ::core::primitive::u32; + pub type Validators = + ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; } - pub mod next_service_request_id { + impl ::subxt_core::blocks::StaticExtrinsic for Nominate { + const PALLET: &'static str = "Lst"; + const CALL: &'static str = "nominate"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Updates the state of a pool. Once a pool is in `Destroying` state, its state cannot be"] + #[doc = "changed again under any circumstances."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Pool bouncer or root role can set any state"] + #[doc = "* Any account can set state to `Destroying` if pool fails `ok_to_be_open` conditions"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `pool_id` - Pool identifier"] + #[doc = "* `state` - New state to set"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] + #[doc = "* [`Error::CanNotChangeState`] - Pool is in destroying state or caller lacks permissions"] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "State changes are validated through `ok_to_be_open` which checks pool properties like"] + #[doc = "commission, member count and roles."] + pub struct SetState { + pub pool_id: set_state::PoolId, + pub state: set_state::State, + } + pub mod set_state { use super::runtime_types; - pub type NextServiceRequestId = ::core::primitive::u64; + pub type PoolId = ::core::primitive::u32; + pub type State = runtime_types::pallet_tangle_lst::types::pools::PoolState; + } + impl ::subxt_core::blocks::StaticExtrinsic for SetState { + const PALLET: &'static str = "Lst"; + const CALL: &'static str = "set_state"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Updates the metadata for a given pool."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be called by the pool bouncer or root role"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `pool_id` - Pool identifier"] + #[doc = "* `metadata` - New metadata to set"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] + #[doc = "* [`Error::MetadataExceedsMaxLen`] - Metadata length exceeds maximum allowed"] + #[doc = "* [`Error::DoesNotHavePermission`] - Caller lacks required permissions"] + pub struct SetMetadata { + pub pool_id: set_metadata::PoolId, + pub metadata: set_metadata::Metadata, + } + pub mod set_metadata { + use super::runtime_types; + pub type PoolId = ::core::primitive::u32; + pub type Metadata = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; + } + impl ::subxt_core::blocks::StaticExtrinsic for SetMetadata { + const PALLET: &'static str = "Lst"; + const CALL: &'static str = "set_metadata"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Updates the global configuration parameters for nomination pools."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be called by Root"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `min_join_bond` - Config operation for minimum bond to join a pool"] + #[doc = "* `min_create_bond` - Config operation for minimum bond to create a pool "] + #[doc = "* `max_pools` - Config operation for maximum number of pools"] + #[doc = "* `global_max_commission` - Config operation for maximum global commission"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`DispatchError::BadOrigin`] - Caller is not Root"] + pub struct SetConfigs { + pub min_join_bond: set_configs::MinJoinBond, + pub min_create_bond: set_configs::MinCreateBond, + pub max_pools: set_configs::MaxPools, + pub global_max_commission: set_configs::GlobalMaxCommission, + } + pub mod set_configs { + use super::runtime_types; + pub type MinJoinBond = + runtime_types::pallet_tangle_lst::types::ConfigOp<::core::primitive::u128>; + pub type MinCreateBond = + runtime_types::pallet_tangle_lst::types::ConfigOp<::core::primitive::u128>; + pub type MaxPools = + runtime_types::pallet_tangle_lst::types::ConfigOp<::core::primitive::u32>; + pub type GlobalMaxCommission = + runtime_types::pallet_tangle_lst::types::ConfigOp< + runtime_types::sp_arithmetic::per_things::Perbill, + >; + } + impl ::subxt_core::blocks::StaticExtrinsic for SetConfigs { + const PALLET: &'static str = "Lst"; + const CALL: &'static str = "set_configs"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Update the roles of a pool."] + #[doc = ""] + #[doc = "Updates root, nominator and bouncer roles for a given pool. The depositor role cannot be changed."] + #[doc = "Emits a `RolesUpdated` event on successful update."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Origin must be Root or pool root"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `pool_id` - Pool identifier"] + #[doc = "* `new_root` - New root role configuration"] + #[doc = "* `new_nominator` - New nominator role configuration "] + #[doc = "* `new_bouncer` - New bouncer role configuration"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] + #[doc = "* [`Error::DoesNotHavePermission`] - Origin does not have permission"] + pub struct UpdateRoles { + pub pool_id: update_roles::PoolId, + pub new_root: update_roles::NewRoot, + pub new_nominator: update_roles::NewNominator, + pub new_bouncer: update_roles::NewBouncer, + } + pub mod update_roles { + use super::runtime_types; + pub type PoolId = ::core::primitive::u32; + pub type NewRoot = runtime_types::pallet_tangle_lst::types::ConfigOp< + ::subxt_core::utils::AccountId32, + >; + pub type NewNominator = runtime_types::pallet_tangle_lst::types::ConfigOp< + ::subxt_core::utils::AccountId32, + >; + pub type NewBouncer = runtime_types::pallet_tangle_lst::types::ConfigOp< + ::subxt_core::utils::AccountId32, + >; + } + impl ::subxt_core::blocks::StaticExtrinsic for UpdateRoles { + const PALLET: &'static str = "Lst"; + const CALL: &'static str = "update_roles"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Chill on behalf of the pool by forwarding the call to the staking pallet."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Origin must be signed by pool nominator or root role"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - The origin of the call"] + #[doc = "* `pool_id` - Pool identifier"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] + #[doc = "* [`Error::NotNominator`] - Origin lacks nomination permission"] + pub struct Chill { + pub pool_id: chill::PoolId, } - pub mod next_instance_id { + pub mod chill { use super::runtime_types; - pub type NextInstanceId = ::core::primitive::u64; + pub type PoolId = ::core::primitive::u32; } - pub mod next_job_call_id { - use super::runtime_types; - pub type NextJobCallId = ::core::primitive::u64; + impl ::subxt_core::blocks::StaticExtrinsic for Chill { + const PALLET: &'static str = "Lst"; + const CALL: &'static str = "chill"; } - pub mod next_unapplied_slash_index { - use super::runtime_types; - pub type NextUnappliedSlashIndex = ::core::primitive::u32; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Bond additional funds for a pool member into their respective pool."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Origin must match member account for bonding from free balance/pending rewards"] + #[doc = "* Any origin can bond from pending rewards if member has `PermissionlessAll` or"] + #[doc = " `PermissionlessCompound` claim permissions"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - The origin of the call"] + #[doc = "* `member` - Pool member account to bond for"] + #[doc = "* `pool_id` - Pool identifier"] + #[doc = "* `extra` - Amount to bond from free balance or pending rewards"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] + #[doc = "* [`Error::PoolMemberNotFound`] - Account is not a member of pool"] + #[doc = "* [`Error::NoPermission`] - Origin lacks permission to bond for member"] + pub struct BondExtraOther { + pub member: bond_extra_other::Member, + pub pool_id: bond_extra_other::PoolId, + pub extra: bond_extra_other::Extra, } - pub mod blueprints { + pub mod bond_extra_other { use super::runtime_types; - pub type Blueprints = ( + pub type Member = ::subxt_core::utils::MultiAddress< ::subxt_core::utils::AccountId32, - runtime_types::tangle_primitives::services::service::ServiceBlueprint, - ); - pub type Param0 = ::core::primitive::u64; - } - pub mod service_status { - use super::runtime_types; - pub type ServiceStatus = (); - pub type Param0 = ::core::primitive::u64; - pub type Param1 = ::core::primitive::u64; - } - pub mod operators { - use super::runtime_types; - pub type Operators = - runtime_types::tangle_primitives::services::types::OperatorPreferences; - pub type Param0 = ::core::primitive::u64; - pub type Param1 = ::subxt_core::utils::AccountId32; - } - pub mod service_requests { - use super::runtime_types; - pub type ServiceRequests = - runtime_types::tangle_primitives::services::service::ServiceRequest< - ::subxt_core::utils::AccountId32, - ::core::primitive::u64, - ::core::primitive::u128, - >; - pub type Param0 = ::core::primitive::u64; + ::core::primitive::u32, + >; + pub type PoolId = ::core::primitive::u32; + pub type Extra = + runtime_types::pallet_tangle_lst::types::BondExtra<::core::primitive::u128>; } - pub mod instances { - use super::runtime_types; - pub type Instances = - runtime_types::tangle_primitives::services::service::Service< - ::subxt_core::utils::AccountId32, - ::core::primitive::u64, - ::core::primitive::u128, - >; - pub type Param0 = ::core::primitive::u64; + impl ::subxt_core::blocks::StaticExtrinsic for BondExtraOther { + const PALLET: &'static str = "Lst"; + const CALL: &'static str = "bond_extra_other"; } - pub mod user_services { - use super::runtime_types; - pub type UserServices = - runtime_types::bounded_collections::bounded_btree_set::BoundedBTreeSet< - ::core::primitive::u64, - >; - pub type Param0 = ::subxt_core::utils::AccountId32; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Set or remove the commission rate and payee for a pool."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Caller must have commission management permission for the pool"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - The origin of the call"] + #[doc = "* `pool_id` - The pool identifier"] + #[doc = "* `new_commission` - Optional commission rate and payee. None removes existing commission"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::PoolNotFound`] - The pool_id does not exist"] + #[doc = "* [`Error::DoesNotHavePermission`] - Caller lacks commission management permission"] + pub struct SetCommission { + pub pool_id: set_commission::PoolId, + pub new_commission: set_commission::NewCommission, } - pub mod job_calls { + pub mod set_commission { use super::runtime_types; - pub type JobCalls = runtime_types::tangle_primitives::services::jobs::JobCall< + pub type PoolId = ::core::primitive::u32; + pub type NewCommission = ::core::option::Option<( + runtime_types::sp_arithmetic::per_things::Perbill, ::subxt_core::utils::AccountId32, - >; - pub type Param0 = ::core::primitive::u64; - pub type Param1 = ::core::primitive::u64; + )>; } - pub mod job_results { - use super::runtime_types; - pub type JobResults = - runtime_types::tangle_primitives::services::jobs::JobCallResult< - ::subxt_core::utils::AccountId32, - >; - pub type Param0 = ::core::primitive::u64; - pub type Param1 = ::core::primitive::u64; + impl ::subxt_core::blocks::StaticExtrinsic for SetCommission { + const PALLET: &'static str = "Lst"; + const CALL: &'static str = "set_commission"; } - pub mod unapplied_slashes { - use super::runtime_types; - pub type UnappliedSlashes = - runtime_types::tangle_primitives::services::types::UnappliedSlash< - ::subxt_core::utils::AccountId32, - >; - pub type Param0 = ::core::primitive::u32; - pub type Param1 = ::core::primitive::u32; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Set the maximum commission rate for a pool. Initial max can be set to any value, with only"] + #[doc = "lower values allowed thereafter. Current commission will be reduced if above new max."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Caller must have commission management permission for the pool"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - The origin of the call"] + #[doc = "* `pool_id` - The pool identifier"] + #[doc = "* `max_commission` - The new maximum commission rate"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::PoolNotFound`] - The pool_id does not exist"] + #[doc = "* [`Error::DoesNotHavePermission`] - Caller lacks commission management permission"] + pub struct SetCommissionMax { + pub pool_id: set_commission_max::PoolId, + pub max_commission: set_commission_max::MaxCommission, } - pub mod master_blueprint_service_manager_revisions { + pub mod set_commission_max { use super::runtime_types; - pub type MasterBlueprintServiceManagerRevisions = - runtime_types::bounded_collections::bounded_vec::BoundedVec< - ::subxt_core::utils::H160, - >; + pub type PoolId = ::core::primitive::u32; + pub type MaxCommission = runtime_types::sp_arithmetic::per_things::Perbill; } - pub mod operators_profile { - use super::runtime_types; - pub type OperatorsProfile = - runtime_types::tangle_primitives::services::types::OperatorProfile; - pub type Param0 = ::subxt_core::utils::AccountId32; + impl ::subxt_core::blocks::StaticExtrinsic for SetCommissionMax { + const PALLET: &'static str = "Lst"; + const CALL: &'static str = "set_commission_max"; } - pub mod staging_service_payments { + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Set the commission change rate for a pool."] + #[doc = ""] + #[doc = "Initial change rate is not bounded, whereas subsequent updates can only be more"] + #[doc = "restrictive than the current."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - The origin of the call. Must be signed by an account with commission management permission."] + #[doc = "* `pool_id` - The identifier of the pool to set commission change rate for."] + #[doc = "* `change_rate` - The new commission change rate configuration."] + pub struct SetCommissionChangeRate { + pub pool_id: set_commission_change_rate::PoolId, + pub change_rate: set_commission_change_rate::ChangeRate, + } + pub mod set_commission_change_rate { use super::runtime_types; - pub type StagingServicePayments = - runtime_types::tangle_primitives::services::service::StagingServicePayment< - ::subxt_core::utils::AccountId32, - ::core::primitive::u128, - ::core::primitive::u128, + pub type PoolId = ::core::primitive::u32; + pub type ChangeRate = + runtime_types::pallet_tangle_lst::types::commission::CommissionChangeRate< + ::core::primitive::u64, >; - pub type Param0 = ::core::primitive::u64; } - } - pub struct StorageApi; - impl StorageApi { - #[doc = " The next free ID for a service blueprint."] - pub fn next_blueprint_id( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::next_blueprint_id::NextBlueprintId, - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "NextBlueprintId", - (), - [ - 35u8, 44u8, 121u8, 43u8, 47u8, 227u8, 24u8, 214u8, 105u8, 224u8, 192u8, - 107u8, 93u8, 67u8, 237u8, 105u8, 147u8, 12u8, 106u8, 77u8, 106u8, 60u8, - 125u8, 136u8, 29u8, 74u8, 32u8, 116u8, 169u8, 29u8, 248u8, 191u8, - ], - ) + impl ::subxt_core::blocks::StaticExtrinsic for SetCommissionChangeRate { + const PALLET: &'static str = "Lst"; + const CALL: &'static str = "set_commission_change_rate"; } - #[doc = " The next free ID for a service request."] - pub fn next_service_request_id( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::next_service_request_id::NextServiceRequestId, - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "NextServiceRequestId", - (), - [ - 40u8, 205u8, 139u8, 150u8, 30u8, 95u8, 231u8, 50u8, 201u8, 122u8, 18u8, - 86u8, 153u8, 52u8, 66u8, 18u8, 223u8, 123u8, 81u8, 25u8, 124u8, 181u8, - 88u8, 131u8, 156u8, 54u8, 121u8, 244u8, 206u8, 54u8, 15u8, 218u8, - ], - ) + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Claim pending commission for a pool."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by an account with commission claim permission."] + #[doc = "Pending commission is paid out and added to total claimed commission. Total pending commission"] + #[doc = "is reset to zero."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - The origin of the call. Must be signed by an account with commission claim permission."] + #[doc = "* `pool_id` - The identifier of the pool to claim commission from."] + pub struct ClaimCommission { + pub pool_id: claim_commission::PoolId, } - #[doc = " The next free ID for a service Instance."] - pub fn next_instance_id( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::next_instance_id::NextInstanceId, - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "NextInstanceId", - (), - [ - 134u8, 80u8, 72u8, 175u8, 246u8, 17u8, 135u8, 164u8, 20u8, 191u8, 89u8, - 166u8, 9u8, 94u8, 74u8, 92u8, 98u8, 189u8, 199u8, 136u8, 27u8, 203u8, - 96u8, 193u8, 212u8, 151u8, 83u8, 178u8, 71u8, 44u8, 229u8, 101u8, - ], - ) + pub mod claim_commission { + use super::runtime_types; + pub type PoolId = ::core::primitive::u32; } - #[doc = " The next free ID for a service call."] - pub fn next_job_call_id( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::next_job_call_id::NextJobCallId, - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "NextJobCallId", - (), - [ - 91u8, 154u8, 224u8, 213u8, 133u8, 241u8, 107u8, 25u8, 9u8, 22u8, 190u8, - 236u8, 246u8, 67u8, 142u8, 223u8, 38u8, 184u8, 60u8, 6u8, 154u8, 229u8, - 170u8, 195u8, 109u8, 160u8, 23u8, 104u8, 229u8, 202u8, 10u8, 76u8, - ], - ) + impl ::subxt_core::blocks::StaticExtrinsic for ClaimCommission { + const PALLET: &'static str = "Lst"; + const CALL: &'static str = "claim_commission"; } - #[doc = " The next free ID for a unapplied slash."] - pub fn next_unapplied_slash_index( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::next_unapplied_slash_index::NextUnappliedSlashIndex, - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "NextUnappliedSlashIndex", - (), - [ - 140u8, 233u8, 25u8, 123u8, 172u8, 43u8, 141u8, 60u8, 203u8, 69u8, - 231u8, 163u8, 190u8, 51u8, 102u8, 76u8, 70u8, 188u8, 154u8, 127u8, - 246u8, 42u8, 27u8, 176u8, 50u8, 178u8, 222u8, 57u8, 57u8, 220u8, 60u8, - 74u8, - ], - ) + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Top up the deficit or withdraw the excess ED from the pool."] + #[doc = ""] + #[doc = "When a pool is created, the pool depositor transfers ED to the reward account of the"] + #[doc = "pool. ED is subject to change and over time, the deposit in the reward account may be"] + #[doc = "insufficient to cover the ED deficit of the pool or vice-versa where there is excess"] + #[doc = "deposit to the pool. This call allows anyone to adjust the ED deposit of the"] + #[doc = "pool by either topping up the deficit or claiming the excess."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - The origin of the call. Must be signed."] + #[doc = "* `pool_id` - The identifier of the pool to adjust the deposit for."] + pub struct AdjustPoolDeposit { + pub pool_id: adjust_pool_deposit::PoolId, } - #[doc = " The service blueprints along with their owner."] - pub fn blueprints_iter( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::blueprints::Blueprints, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "Blueprints", - (), - [ - 116u8, 183u8, 157u8, 81u8, 194u8, 185u8, 241u8, 139u8, 65u8, 133u8, - 72u8, 142u8, 79u8, 137u8, 107u8, 26u8, 239u8, 40u8, 230u8, 128u8, - 216u8, 151u8, 104u8, 130u8, 227u8, 61u8, 172u8, 52u8, 243u8, 161u8, - 38u8, 83u8, - ], - ) + pub mod adjust_pool_deposit { + use super::runtime_types; + pub type PoolId = ::core::primitive::u32; } - #[doc = " The service blueprints along with their owner."] - pub fn blueprints( - &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::blueprints::Blueprints, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "Blueprints", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - [ - 116u8, 183u8, 157u8, 81u8, 194u8, 185u8, 241u8, 139u8, 65u8, 133u8, - 72u8, 142u8, 79u8, 137u8, 107u8, 26u8, 239u8, 40u8, 230u8, 128u8, - 216u8, 151u8, 104u8, 130u8, 227u8, 61u8, 172u8, 52u8, 243u8, 161u8, - 38u8, 83u8, - ], - ) + impl ::subxt_core::blocks::StaticExtrinsic for AdjustPoolDeposit { + const PALLET: &'static str = "Lst"; + const CALL: &'static str = "adjust_pool_deposit"; } - #[doc = " The services for a particular blueprint and their active status."] - #[doc = " Blueprint ID -> Service ID -> active"] - pub fn service_status_iter( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::service_status::ServiceStatus, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "ServiceStatus", - (), - [ - 173u8, 206u8, 215u8, 186u8, 210u8, 128u8, 223u8, 252u8, 60u8, 32u8, - 210u8, 54u8, 169u8, 78u8, 220u8, 70u8, 144u8, 142u8, 143u8, 145u8, - 222u8, 3u8, 80u8, 164u8, 135u8, 175u8, 27u8, 178u8, 52u8, 88u8, 197u8, - 22u8, - ], - ) + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Set or remove a pool's commission claim permission."] + #[doc = ""] + #[doc = "Only the `Root` role of the pool is able to configure commission claim permissions."] + #[doc = "This determines which accounts are allowed to claim the pool's pending commission."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - The origin of the call. Must be signed by the pool's root account."] + #[doc = "* `pool_id` - The identifier of the pool to set permissions for."] + #[doc = "* `permission` - Optional commission claim permission configuration. If None, removes any existing permission."] + pub struct SetCommissionClaimPermission { + pub pool_id: set_commission_claim_permission::PoolId, + pub permission: set_commission_claim_permission::Permission, } - #[doc = " The services for a particular blueprint and their active status."] - #[doc = " Blueprint ID -> Service ID -> active"] - pub fn service_status_iter1( - &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::service_status::ServiceStatus, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "ServiceStatus", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - [ - 173u8, 206u8, 215u8, 186u8, 210u8, 128u8, 223u8, 252u8, 60u8, 32u8, - 210u8, 54u8, 169u8, 78u8, 220u8, 70u8, 144u8, 142u8, 143u8, 145u8, - 222u8, 3u8, 80u8, 164u8, 135u8, 175u8, 27u8, 178u8, 52u8, 88u8, 197u8, - 22u8, - ], - ) + pub mod set_commission_claim_permission { + use super::runtime_types; + pub type PoolId = ::core::primitive::u32; + pub type Permission = :: core :: option :: Option < runtime_types :: pallet_tangle_lst :: types :: commission :: CommissionClaimPermission < :: subxt_core :: utils :: AccountId32 > > ; } - #[doc = " The services for a particular blueprint and their active status."] - #[doc = " Blueprint ID -> Service ID -> active"] - pub fn service_status( - &self, - _0: impl ::core::borrow::Borrow, - _1: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ( - ::subxt_core::storage::address::StaticStorageKey< - types::service_status::Param0, - >, - ::subxt_core::storage::address::StaticStorageKey< - types::service_status::Param1, - >, - ), - types::service_status::ServiceStatus, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "ServiceStatus", - ( - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), - ), - [ - 173u8, 206u8, 215u8, 186u8, 210u8, 128u8, 223u8, 252u8, 60u8, 32u8, - 210u8, 54u8, 169u8, 78u8, 220u8, 70u8, 144u8, 142u8, 143u8, 145u8, - 222u8, 3u8, 80u8, 164u8, 135u8, 175u8, 27u8, 178u8, 52u8, 88u8, 197u8, - 22u8, - ], - ) + impl ::subxt_core::blocks::StaticExtrinsic for SetCommissionClaimPermission { + const PALLET: &'static str = "Lst"; + const CALL: &'static str = "set_commission_claim_permission"; } - #[doc = " The operators for a specific service blueprint."] - #[doc = " Blueprint ID -> Operator -> Operator Preferences"] - pub fn operators_iter( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::operators::Operators, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "Operators", - (), - [ - 167u8, 232u8, 100u8, 27u8, 110u8, 5u8, 85u8, 2u8, 25u8, 172u8, 131u8, - 21u8, 230u8, 12u8, 57u8, 92u8, 95u8, 18u8, 151u8, 243u8, 1u8, 147u8, - 130u8, 7u8, 16u8, 149u8, 66u8, 168u8, 208u8, 20u8, 132u8, 154u8, - ], - ) + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct SetLastPoolId { + pub pool_id: set_last_pool_id::PoolId, } - #[doc = " The operators for a specific service blueprint."] - #[doc = " Blueprint ID -> Operator -> Operator Preferences"] - pub fn operators_iter1( - &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::operators::Operators, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "Operators", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - [ - 167u8, 232u8, 100u8, 27u8, 110u8, 5u8, 85u8, 2u8, 25u8, 172u8, 131u8, - 21u8, 230u8, 12u8, 57u8, 92u8, 95u8, 18u8, 151u8, 243u8, 1u8, 147u8, - 130u8, 7u8, 16u8, 149u8, 66u8, 168u8, 208u8, 20u8, 132u8, 154u8, - ], - ) + pub mod set_last_pool_id { + use super::runtime_types; + pub type PoolId = ::core::primitive::u32; } - #[doc = " The operators for a specific service blueprint."] - #[doc = " Blueprint ID -> Operator -> Operator Preferences"] - pub fn operators( + impl ::subxt_core::blocks::StaticExtrinsic for SetLastPoolId { + const PALLET: &'static str = "Lst"; + const CALL: &'static str = "set_last_pool_id"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Stakes funds with a pool by transferring the bonded amount from member to pool account."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `amount` - Amount to stake"] + #[doc = "* `pool_id` - Target pool ID"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::MinimumBondNotMet`] - Amount below minimum bond"] + #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] + #[doc = "* [`Error::DefensiveError`] - Reward pool not found"] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "* Member must have `existential deposit + amount` in account"] + #[doc = "* Pool must be in [`PoolState::Open`] state"] + pub fn join( &self, - _0: impl ::core::borrow::Borrow, - _1: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ( - ::subxt_core::storage::address::StaticStorageKey, - ::subxt_core::storage::address::StaticStorageKey, - ), - types::operators::Operators, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "Operators", - ( - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), - ), + amount: types::join::Amount, + pool_id: types::join::PoolId, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Lst", + "join", + types::Join { amount, pool_id }, [ - 167u8, 232u8, 100u8, 27u8, 110u8, 5u8, 85u8, 2u8, 25u8, 172u8, 131u8, - 21u8, 230u8, 12u8, 57u8, 92u8, 95u8, 18u8, 151u8, 243u8, 1u8, 147u8, - 130u8, 7u8, 16u8, 149u8, 66u8, 168u8, 208u8, 20u8, 132u8, 154u8, + 9u8, 24u8, 209u8, 117u8, 242u8, 76u8, 192u8, 40u8, 196u8, 136u8, 158u8, + 182u8, 117u8, 140u8, 164u8, 64u8, 184u8, 160u8, 146u8, 143u8, 173u8, + 180u8, 6u8, 242u8, 203u8, 130u8, 41u8, 176u8, 158u8, 96u8, 94u8, 175u8, ], ) } - #[doc = " The service requests along with their owner."] - #[doc = " Request ID -> Service Request"] - pub fn service_requests_iter( + #[doc = "Bond additional funds into an existing pool position."] + #[doc = ""] + #[doc = "Additional funds can come from either free balance or accumulated rewards."] + #[doc = "Automatically pays out all pending rewards."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `pool_id` - Target pool ID"] + #[doc = "* `extra` - Source and amount of additional funds"] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed"] + #[doc = "* Must have permission to bond extra if not self"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] + #[doc = "* [`Error::DoesNotHavePermission`] - Caller lacks permission"] + #[doc = "* [`Error::DefensiveError`] - Reward pool not found"] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "* This transaction prioritizes readability and correctness over optimization"] + #[doc = "* Multiple storage reads/writes are performed to reuse code"] + #[doc = "* See `bond_extra_other` to bond pending rewards of other members"] + pub fn bond_extra( &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::service_requests::ServiceRequests, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "ServiceRequests", - (), + pool_id: types::bond_extra::PoolId, + extra: types::bond_extra::Extra, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Lst", + "bond_extra", + types::BondExtra { pool_id, extra }, [ - 77u8, 83u8, 44u8, 189u8, 40u8, 9u8, 162u8, 222u8, 98u8, 158u8, 153u8, - 61u8, 93u8, 63u8, 250u8, 152u8, 187u8, 215u8, 225u8, 166u8, 185u8, - 87u8, 145u8, 21u8, 148u8, 118u8, 212u8, 96u8, 129u8, 46u8, 248u8, 86u8, + 207u8, 223u8, 241u8, 142u8, 14u8, 243u8, 19u8, 200u8, 33u8, 143u8, + 71u8, 169u8, 109u8, 253u8, 165u8, 4u8, 122u8, 75u8, 223u8, 219u8, 97u8, + 115u8, 92u8, 219u8, 50u8, 219u8, 65u8, 236u8, 210u8, 74u8, 189u8, 23u8, ], ) } - #[doc = " The service requests along with their owner."] - #[doc = " Request ID -> Service Request"] - pub fn service_requests( + #[doc = "Unbond points from a member's pool position, collecting any pending rewards."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `member_account` - Account to unbond from"] + #[doc = "* `pool_id` - Target pool ID"] + #[doc = "* `unbonding_points` - Amount of points to unbond"] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Permissionless if:"] + #[doc = " - Pool is blocked and caller is root/bouncer (kick)"] + #[doc = " - Pool is destroying and member is not depositor"] + #[doc = " - Pool is destroying, member is depositor, and pool is empty"] + #[doc = "* Permissioned (caller must be member) if:"] + #[doc = " - Caller is not depositor"] + #[doc = " - Caller is depositor, pool is destroying, and pool is empty"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] + #[doc = "* [`Error::NoBalanceToUnbond`] - Member has insufficient points"] + #[doc = "* [`Error::DefensiveError`] - Not enough space in unbond pool"] + #[doc = ""] + #[doc = "# Note"] + #[doc = "If no unlocking chunks are available, [`Call::pool_withdraw_unbonded`] can be called first."] + #[doc = "The staking interface will attempt this automatically but may still return `NoMoreChunks`"] + #[doc = "if chunks cannot be released."] + pub fn unbond( &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey< - types::service_requests::Param0, - >, - types::service_requests::ServiceRequests, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "ServiceRequests", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + member_account: types::unbond::MemberAccount, + pool_id: types::unbond::PoolId, + unbonding_points: types::unbond::UnbondingPoints, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Lst", + "unbond", + types::Unbond { member_account, pool_id, unbonding_points }, [ - 77u8, 83u8, 44u8, 189u8, 40u8, 9u8, 162u8, 222u8, 98u8, 158u8, 153u8, - 61u8, 93u8, 63u8, 250u8, 152u8, 187u8, 215u8, 225u8, 166u8, 185u8, - 87u8, 145u8, 21u8, 148u8, 118u8, 212u8, 96u8, 129u8, 46u8, 248u8, 86u8, + 189u8, 203u8, 137u8, 121u8, 75u8, 69u8, 213u8, 105u8, 104u8, 118u8, + 109u8, 167u8, 88u8, 203u8, 168u8, 218u8, 229u8, 43u8, 69u8, 124u8, + 33u8, 139u8, 170u8, 102u8, 63u8, 150u8, 91u8, 103u8, 77u8, 50u8, 9u8, + 187u8, ], ) } - #[doc = " The Services Instances"] - #[doc = " Service ID -> Service"] - pub fn instances_iter( + #[doc = "Withdraws unbonded funds from the pool's staking account."] + #[doc = ""] + #[doc = "Useful for clearing unlocking chunks when there are too many to call `unbond`."] + #[doc = "Prevents `NoMoreChunks` errors from the staking system."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Can be signed by any account"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `pool_id` - Pool identifier"] + #[doc = "* `num_slashing_spans` - Number of slashing spans to check"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] + #[doc = "* [`Error::NotDestroying`] - Pool is in destroying state"] + pub fn pool_withdraw_unbonded( &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::instances::Instances, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "Instances", - (), + pool_id: types::pool_withdraw_unbonded::PoolId, + num_slashing_spans: types::pool_withdraw_unbonded::NumSlashingSpans, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Lst", + "pool_withdraw_unbonded", + types::PoolWithdrawUnbonded { pool_id, num_slashing_spans }, [ - 130u8, 153u8, 200u8, 4u8, 148u8, 83u8, 177u8, 33u8, 254u8, 234u8, - 215u8, 114u8, 36u8, 90u8, 143u8, 56u8, 71u8, 111u8, 230u8, 145u8, - 147u8, 252u8, 138u8, 236u8, 242u8, 92u8, 73u8, 8u8, 164u8, 130u8, - 182u8, 53u8, + 145u8, 39u8, 154u8, 109u8, 24u8, 233u8, 144u8, 66u8, 28u8, 252u8, + 180u8, 5u8, 54u8, 123u8, 28u8, 182u8, 26u8, 156u8, 69u8, 105u8, 226u8, + 208u8, 154u8, 34u8, 22u8, 201u8, 139u8, 104u8, 198u8, 195u8, 247u8, + 49u8, ], ) } - #[doc = " The Services Instances"] - #[doc = " Service ID -> Service"] - pub fn instances( + #[doc = "Withdraw unbonded funds from a member account."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Permissionless if:"] + #[doc = " - Pool is in destroy mode and target is not depositor"] + #[doc = " - Target is depositor and only member in sub pools"] + #[doc = " - Pool is blocked and caller is root/bouncer"] + #[doc = "* Permissioned if caller is target and not depositor"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `member_account` - Account to withdraw from"] + #[doc = "* `pool_id` - Pool identifier"] + #[doc = "* `num_slashing_spans` - Number of slashing spans"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::PoolMemberNotFound`] - Member account not found"] + #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] + #[doc = "* [`Error::SubPoolsNotFound`] - Sub pools not found"] + #[doc = "* [`Error::CannotWithdrawAny`] - No unbonded funds available"] + #[doc = ""] + #[doc = "If target is depositor, pool will be destroyed."] + pub fn withdraw_unbonded( &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::instances::Instances, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "Instances", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + member_account: types::withdraw_unbonded::MemberAccount, + pool_id: types::withdraw_unbonded::PoolId, + num_slashing_spans: types::withdraw_unbonded::NumSlashingSpans, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Lst", + "withdraw_unbonded", + types::WithdrawUnbonded { member_account, pool_id, num_slashing_spans }, [ - 130u8, 153u8, 200u8, 4u8, 148u8, 83u8, 177u8, 33u8, 254u8, 234u8, - 215u8, 114u8, 36u8, 90u8, 143u8, 56u8, 71u8, 111u8, 230u8, 145u8, - 147u8, 252u8, 138u8, 236u8, 242u8, 92u8, 73u8, 8u8, 164u8, 130u8, - 182u8, 53u8, + 179u8, 221u8, 113u8, 60u8, 166u8, 26u8, 168u8, 219u8, 3u8, 250u8, + 196u8, 76u8, 24u8, 109u8, 8u8, 191u8, 202u8, 111u8, 119u8, 184u8, 26u8, + 96u8, 53u8, 104u8, 71u8, 115u8, 173u8, 91u8, 200u8, 213u8, 209u8, + 100u8, ], ) } - #[doc = " User Service Instances"] - #[doc = " User Account ID -> Service ID"] - pub fn user_services_iter( + #[doc = "Create a new delegation pool."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the account that will become the initial depositor"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `amount` - Amount to delegate to the pool"] + #[doc = "* `root` - Account to set as pool root"] + #[doc = "* `nominator` - Account to set as pool nominator"] + #[doc = "* `bouncer` - Account to set as pool bouncer"] + #[doc = "* `name` - Optional pool name bounded by `T::MaxNameLength`"] + #[doc = "* `icon` - Optional pool icon bounded by `T::MaxIconLength`"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::OverflowRisk`] - Pool ID increment would overflow"] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "Caller must have `amount + existential_deposit` transferable funds."] + pub fn create( &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::user_services::UserServices, - (), - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "UserServices", - (), + amount: types::create::Amount, + root: types::create::Root, + nominator: types::create::Nominator, + bouncer: types::create::Bouncer, + name: types::create::Name, + icon: types::create::Icon, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Lst", + "create", + types::Create { amount, root, nominator, bouncer, name, icon }, [ - 228u8, 80u8, 139u8, 177u8, 57u8, 117u8, 175u8, 212u8, 37u8, 201u8, - 176u8, 12u8, 79u8, 136u8, 65u8, 250u8, 105u8, 37u8, 13u8, 176u8, 86u8, - 119u8, 111u8, 6u8, 44u8, 109u8, 193u8, 103u8, 199u8, 195u8, 56u8, - 235u8, + 155u8, 214u8, 57u8, 30u8, 13u8, 44u8, 25u8, 59u8, 143u8, 30u8, 135u8, + 176u8, 8u8, 168u8, 194u8, 130u8, 114u8, 155u8, 3u8, 80u8, 29u8, 243u8, + 145u8, 226u8, 28u8, 177u8, 102u8, 158u8, 32u8, 82u8, 0u8, 169u8, ], ) } - #[doc = " User Service Instances"] - #[doc = " User Account ID -> Service ID"] - pub fn user_services( + #[doc = "Create a new delegation pool with a previously used pool ID."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be signed by the account that will become the depositor"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `amount` - Amount to delegate to the pool"] + #[doc = "* `root` - Account to set as pool root"] + #[doc = "* `nominator` - Account to set as pool nominator"] + #[doc = "* `bouncer` - Account to set as pool bouncer"] + #[doc = "* `pool_id` - Pool ID to reuse"] + #[doc = "* `name` - Optional pool name"] + #[doc = "* `icon` - Optional pool icon"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::PoolIdInUse`] - Pool ID is already in use"] + #[doc = "* [`Error::InvalidPoolId`] - Pool ID is greater than last pool ID"] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "Caller must have `amount + existential_deposit` transferable funds."] + pub fn create_with_pool_id( &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::user_services::UserServices, - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "UserServices", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + amount: types::create_with_pool_id::Amount, + root: types::create_with_pool_id::Root, + nominator: types::create_with_pool_id::Nominator, + bouncer: types::create_with_pool_id::Bouncer, + pool_id: types::create_with_pool_id::PoolId, + name: types::create_with_pool_id::Name, + icon: types::create_with_pool_id::Icon, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Lst", + "create_with_pool_id", + types::CreateWithPoolId { + amount, + root, + nominator, + bouncer, + pool_id, + name, + icon, + }, [ - 228u8, 80u8, 139u8, 177u8, 57u8, 117u8, 175u8, 212u8, 37u8, 201u8, - 176u8, 12u8, 79u8, 136u8, 65u8, 250u8, 105u8, 37u8, 13u8, 176u8, 86u8, - 119u8, 111u8, 6u8, 44u8, 109u8, 193u8, 103u8, 199u8, 195u8, 56u8, - 235u8, + 63u8, 171u8, 225u8, 224u8, 51u8, 116u8, 96u8, 130u8, 128u8, 42u8, + 112u8, 58u8, 55u8, 183u8, 1u8, 200u8, 111u8, 255u8, 214u8, 233u8, + 120u8, 69u8, 17u8, 68u8, 233u8, 0u8, 65u8, 164u8, 41u8, 218u8, 174u8, + 119u8, ], ) } - #[doc = " The Service Job Calls"] - #[doc = " Service ID -> Call ID -> Job Call"] - pub fn job_calls_iter( + #[doc = "Nominate validators on behalf of the pool."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Pool nominator or root role can nominate validators"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `pool_id` - Pool identifier"] + #[doc = "* `validators` - List of validator accounts to nominate"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] + #[doc = "* [`Error::NotNominator`] - Caller lacks nominator permissions"] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "Forwards nomination call to staking pallet using pool's bonded account."] + pub fn nominate( &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::job_calls::JobCalls, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "JobCalls", - (), + pool_id: types::nominate::PoolId, + validators: types::nominate::Validators, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Lst", + "nominate", + types::Nominate { pool_id, validators }, [ - 76u8, 144u8, 160u8, 148u8, 87u8, 159u8, 134u8, 122u8, 242u8, 146u8, - 253u8, 163u8, 171u8, 89u8, 133u8, 88u8, 93u8, 151u8, 160u8, 135u8, - 34u8, 101u8, 57u8, 37u8, 14u8, 102u8, 53u8, 88u8, 15u8, 98u8, 226u8, - 132u8, + 118u8, 80u8, 137u8, 47u8, 102u8, 9u8, 20u8, 136u8, 76u8, 164u8, 161u8, + 114u8, 33u8, 159u8, 204u8, 49u8, 233u8, 199u8, 246u8, 67u8, 144u8, + 169u8, 211u8, 67u8, 12u8, 68u8, 198u8, 149u8, 87u8, 62u8, 226u8, 72u8, ], ) } - #[doc = " The Service Job Calls"] - #[doc = " Service ID -> Call ID -> Job Call"] - pub fn job_calls_iter1( + #[doc = "Updates the state of a pool. Once a pool is in `Destroying` state, its state cannot be"] + #[doc = "changed again under any circumstances."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Pool bouncer or root role can set any state"] + #[doc = "* Any account can set state to `Destroying` if pool fails `ok_to_be_open` conditions"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `pool_id` - Pool identifier"] + #[doc = "* `state` - New state to set"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] + #[doc = "* [`Error::CanNotChangeState`] - Pool is in destroying state or caller lacks permissions"] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "State changes are validated through `ok_to_be_open` which checks pool properties like"] + #[doc = "commission, member count and roles."] + pub fn set_state( &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::job_calls::JobCalls, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "JobCalls", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + pool_id: types::set_state::PoolId, + state: types::set_state::State, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Lst", + "set_state", + types::SetState { pool_id, state }, [ - 76u8, 144u8, 160u8, 148u8, 87u8, 159u8, 134u8, 122u8, 242u8, 146u8, - 253u8, 163u8, 171u8, 89u8, 133u8, 88u8, 93u8, 151u8, 160u8, 135u8, - 34u8, 101u8, 57u8, 37u8, 14u8, 102u8, 53u8, 88u8, 15u8, 98u8, 226u8, - 132u8, + 39u8, 221u8, 24u8, 65u8, 144u8, 230u8, 228u8, 24u8, 191u8, 53u8, 171u8, + 148u8, 131u8, 45u8, 10u8, 22u8, 222u8, 240u8, 13u8, 87u8, 123u8, 182u8, + 102u8, 26u8, 124u8, 205u8, 23u8, 31u8, 25u8, 43u8, 12u8, 140u8, ], ) } - #[doc = " The Service Job Calls"] - #[doc = " Service ID -> Call ID -> Job Call"] - pub fn job_calls( + #[doc = "Updates the metadata for a given pool."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be called by the pool bouncer or root role"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `pool_id` - Pool identifier"] + #[doc = "* `metadata` - New metadata to set"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] + #[doc = "* [`Error::MetadataExceedsMaxLen`] - Metadata length exceeds maximum allowed"] + #[doc = "* [`Error::DoesNotHavePermission`] - Caller lacks required permissions"] + pub fn set_metadata( &self, - _0: impl ::core::borrow::Borrow, - _1: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ( - ::subxt_core::storage::address::StaticStorageKey, - ::subxt_core::storage::address::StaticStorageKey, - ), - types::job_calls::JobCalls, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "JobCalls", - ( - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), - ), + pool_id: types::set_metadata::PoolId, + metadata: types::set_metadata::Metadata, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Lst", + "set_metadata", + types::SetMetadata { pool_id, metadata }, [ - 76u8, 144u8, 160u8, 148u8, 87u8, 159u8, 134u8, 122u8, 242u8, 146u8, - 253u8, 163u8, 171u8, 89u8, 133u8, 88u8, 93u8, 151u8, 160u8, 135u8, - 34u8, 101u8, 57u8, 37u8, 14u8, 102u8, 53u8, 88u8, 15u8, 98u8, 226u8, - 132u8, + 221u8, 189u8, 15u8, 232u8, 0u8, 49u8, 187u8, 67u8, 124u8, 26u8, 114u8, + 191u8, 81u8, 14u8, 253u8, 75u8, 88u8, 182u8, 136u8, 18u8, 238u8, 119u8, + 215u8, 248u8, 133u8, 160u8, 154u8, 193u8, 177u8, 140u8, 1u8, 16u8, ], ) } - #[doc = " The Service Job Call Results"] - #[doc = " Service ID -> Call ID -> Job Call Result"] - pub fn job_results_iter( + #[doc = "Updates the global configuration parameters for nomination pools."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Must be called by Root"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `min_join_bond` - Config operation for minimum bond to join a pool"] + #[doc = "* `min_create_bond` - Config operation for minimum bond to create a pool "] + #[doc = "* `max_pools` - Config operation for maximum number of pools"] + #[doc = "* `global_max_commission` - Config operation for maximum global commission"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`DispatchError::BadOrigin`] - Caller is not Root"] + pub fn set_configs( &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::job_results::JobResults, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "JobResults", - (), + min_join_bond: types::set_configs::MinJoinBond, + min_create_bond: types::set_configs::MinCreateBond, + max_pools: types::set_configs::MaxPools, + global_max_commission: types::set_configs::GlobalMaxCommission, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Lst", + "set_configs", + types::SetConfigs { + min_join_bond, + min_create_bond, + max_pools, + global_max_commission, + }, [ - 175u8, 59u8, 13u8, 154u8, 200u8, 178u8, 192u8, 244u8, 152u8, 199u8, - 107u8, 246u8, 199u8, 255u8, 151u8, 118u8, 140u8, 213u8, 241u8, 35u8, - 110u8, 248u8, 223u8, 165u8, 30u8, 39u8, 120u8, 237u8, 235u8, 183u8, - 25u8, 174u8, + 162u8, 185u8, 108u8, 89u8, 8u8, 208u8, 236u8, 194u8, 219u8, 228u8, + 157u8, 105u8, 247u8, 228u8, 145u8, 127u8, 91u8, 0u8, 1u8, 92u8, 231u8, + 183u8, 162u8, 241u8, 247u8, 148u8, 44u8, 68u8, 22u8, 220u8, 189u8, + 81u8, ], ) } - #[doc = " The Service Job Call Results"] - #[doc = " Service ID -> Call ID -> Job Call Result"] - pub fn job_results_iter1( + #[doc = "Update the roles of a pool."] + #[doc = ""] + #[doc = "Updates root, nominator and bouncer roles for a given pool. The depositor role cannot be changed."] + #[doc = "Emits a `RolesUpdated` event on successful update."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Origin must be Root or pool root"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `pool_id` - Pool identifier"] + #[doc = "* `new_root` - New root role configuration"] + #[doc = "* `new_nominator` - New nominator role configuration "] + #[doc = "* `new_bouncer` - New bouncer role configuration"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] + #[doc = "* [`Error::DoesNotHavePermission`] - Origin does not have permission"] + pub fn update_roles( &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::job_results::JobResults, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "JobResults", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + pool_id: types::update_roles::PoolId, + new_root: types::update_roles::NewRoot, + new_nominator: types::update_roles::NewNominator, + new_bouncer: types::update_roles::NewBouncer, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Lst", + "update_roles", + types::UpdateRoles { pool_id, new_root, new_nominator, new_bouncer }, [ - 175u8, 59u8, 13u8, 154u8, 200u8, 178u8, 192u8, 244u8, 152u8, 199u8, - 107u8, 246u8, 199u8, 255u8, 151u8, 118u8, 140u8, 213u8, 241u8, 35u8, - 110u8, 248u8, 223u8, 165u8, 30u8, 39u8, 120u8, 237u8, 235u8, 183u8, - 25u8, 174u8, + 48u8, 253u8, 39u8, 205u8, 196u8, 231u8, 254u8, 76u8, 238u8, 70u8, 2u8, + 192u8, 188u8, 240u8, 206u8, 91u8, 213u8, 98u8, 226u8, 51u8, 167u8, + 205u8, 120u8, 128u8, 40u8, 175u8, 238u8, 57u8, 147u8, 96u8, 116u8, + 133u8, ], ) } - #[doc = " The Service Job Call Results"] - #[doc = " Service ID -> Call ID -> Job Call Result"] - pub fn job_results( + #[doc = "Chill on behalf of the pool by forwarding the call to the staking pallet."] + #[doc = ""] + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Origin must be signed by pool nominator or root role"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - The origin of the call"] + #[doc = "* `pool_id` - Pool identifier"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] + #[doc = "* [`Error::NotNominator`] - Origin lacks nomination permission"] + pub fn chill( &self, - _0: impl ::core::borrow::Borrow, - _1: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ( - ::subxt_core::storage::address::StaticStorageKey< - types::job_results::Param0, - >, - ::subxt_core::storage::address::StaticStorageKey< - types::job_results::Param1, - >, - ), - types::job_results::JobResults, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "JobResults", - ( - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), - ), + pool_id: types::chill::PoolId, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Lst", + "chill", + types::Chill { pool_id }, [ - 175u8, 59u8, 13u8, 154u8, 200u8, 178u8, 192u8, 244u8, 152u8, 199u8, - 107u8, 246u8, 199u8, 255u8, 151u8, 118u8, 140u8, 213u8, 241u8, 35u8, - 110u8, 248u8, 223u8, 165u8, 30u8, 39u8, 120u8, 237u8, 235u8, 183u8, - 25u8, 174u8, + 65u8, 206u8, 54u8, 53u8, 37u8, 97u8, 161u8, 104u8, 62u8, 9u8, 93u8, + 236u8, 61u8, 185u8, 204u8, 245u8, 234u8, 218u8, 213u8, 40u8, 154u8, + 29u8, 244u8, 19u8, 207u8, 172u8, 142u8, 221u8, 38u8, 70u8, 39u8, 10u8, ], ) } - #[doc = " All unapplied slashes that are queued for later."] + #[doc = "Bond additional funds for a pool member into their respective pool."] #[doc = ""] - #[doc = " EraIndex -> Index -> UnappliedSlash"] - pub fn unapplied_slashes_iter( + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Origin must match member account for bonding from free balance/pending rewards"] + #[doc = "* Any origin can bond from pending rewards if member has `PermissionlessAll` or"] + #[doc = " `PermissionlessCompound` claim permissions"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - The origin of the call"] + #[doc = "* `member` - Pool member account to bond for"] + #[doc = "* `pool_id` - Pool identifier"] + #[doc = "* `extra` - Amount to bond from free balance or pending rewards"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] + #[doc = "* [`Error::PoolMemberNotFound`] - Account is not a member of pool"] + #[doc = "* [`Error::NoPermission`] - Origin lacks permission to bond for member"] + pub fn bond_extra_other( &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::unapplied_slashes::UnappliedSlashes, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "UnappliedSlashes", - (), + member: types::bond_extra_other::Member, + pool_id: types::bond_extra_other::PoolId, + extra: types::bond_extra_other::Extra, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Lst", + "bond_extra_other", + types::BondExtraOther { member, pool_id, extra }, [ - 241u8, 6u8, 166u8, 93u8, 49u8, 152u8, 8u8, 112u8, 250u8, 117u8, 206u8, - 37u8, 6u8, 3u8, 159u8, 205u8, 43u8, 40u8, 6u8, 87u8, 197u8, 149u8, - 234u8, 51u8, 46u8, 145u8, 133u8, 27u8, 33u8, 152u8, 176u8, 149u8, + 209u8, 101u8, 203u8, 149u8, 91u8, 1u8, 60u8, 191u8, 154u8, 70u8, 66u8, + 221u8, 33u8, 38u8, 239u8, 209u8, 23u8, 80u8, 87u8, 226u8, 121u8, 15u8, + 242u8, 80u8, 69u8, 127u8, 116u8, 25u8, 157u8, 233u8, 22u8, 40u8, ], ) } - #[doc = " All unapplied slashes that are queued for later."] + #[doc = "Set or remove the commission rate and payee for a pool."] #[doc = ""] - #[doc = " EraIndex -> Index -> UnappliedSlash"] - pub fn unapplied_slashes_iter1( + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Caller must have commission management permission for the pool"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - The origin of the call"] + #[doc = "* `pool_id` - The pool identifier"] + #[doc = "* `new_commission` - Optional commission rate and payee. None removes existing commission"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::PoolNotFound`] - The pool_id does not exist"] + #[doc = "* [`Error::DoesNotHavePermission`] - Caller lacks commission management permission"] + pub fn set_commission( &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey< - types::unapplied_slashes::Param0, - >, - types::unapplied_slashes::UnappliedSlashes, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "UnappliedSlashes", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + pool_id: types::set_commission::PoolId, + new_commission: types::set_commission::NewCommission, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Lst", + "set_commission", + types::SetCommission { pool_id, new_commission }, [ - 241u8, 6u8, 166u8, 93u8, 49u8, 152u8, 8u8, 112u8, 250u8, 117u8, 206u8, - 37u8, 6u8, 3u8, 159u8, 205u8, 43u8, 40u8, 6u8, 87u8, 197u8, 149u8, - 234u8, 51u8, 46u8, 145u8, 133u8, 27u8, 33u8, 152u8, 176u8, 149u8, + 77u8, 139u8, 221u8, 210u8, 51u8, 57u8, 243u8, 96u8, 25u8, 0u8, 42u8, + 81u8, 80u8, 7u8, 145u8, 28u8, 17u8, 44u8, 123u8, 28u8, 130u8, 194u8, + 153u8, 139u8, 222u8, 166u8, 169u8, 184u8, 46u8, 178u8, 236u8, 246u8, ], ) } - #[doc = " All unapplied slashes that are queued for later."] + #[doc = "Set the maximum commission rate for a pool. Initial max can be set to any value, with only"] + #[doc = "lower values allowed thereafter. Current commission will be reduced if above new max."] #[doc = ""] - #[doc = " EraIndex -> Index -> UnappliedSlash"] - pub fn unapplied_slashes( + #[doc = "# Permissions"] + #[doc = ""] + #[doc = "* Caller must have commission management permission for the pool"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - The origin of the call"] + #[doc = "* `pool_id` - The pool identifier"] + #[doc = "* `max_commission` - The new maximum commission rate"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "* [`Error::PoolNotFound`] - The pool_id does not exist"] + #[doc = "* [`Error::DoesNotHavePermission`] - Caller lacks commission management permission"] + pub fn set_commission_max( &self, - _0: impl ::core::borrow::Borrow, - _1: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ( - ::subxt_core::storage::address::StaticStorageKey< - types::unapplied_slashes::Param0, - >, - ::subxt_core::storage::address::StaticStorageKey< - types::unapplied_slashes::Param1, - >, - ), - types::unapplied_slashes::UnappliedSlashes, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "UnappliedSlashes", - ( - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), - ), - [ - 241u8, 6u8, 166u8, 93u8, 49u8, 152u8, 8u8, 112u8, 250u8, 117u8, 206u8, - 37u8, 6u8, 3u8, 159u8, 205u8, 43u8, 40u8, 6u8, 87u8, 197u8, 149u8, - 234u8, 51u8, 46u8, 145u8, 133u8, 27u8, 33u8, 152u8, 176u8, 149u8, + pool_id: types::set_commission_max::PoolId, + max_commission: types::set_commission_max::MaxCommission, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Lst", + "set_commission_max", + types::SetCommissionMax { pool_id, max_commission }, + [ + 198u8, 127u8, 255u8, 230u8, 96u8, 142u8, 9u8, 220u8, 204u8, 82u8, + 192u8, 76u8, 140u8, 52u8, 94u8, 80u8, 153u8, 30u8, 162u8, 21u8, 71u8, + 31u8, 218u8, 160u8, 254u8, 180u8, 160u8, 219u8, 163u8, 30u8, 193u8, + 6u8, ], ) } - #[doc = " All the Master Blueprint Service Managers revisions."] + #[doc = "Set the commission change rate for a pool."] #[doc = ""] - #[doc = " Where the index is the revision number."] pub fn master_blueprint_service_manager_revisions (& self ,) -> :: subxt_core :: storage :: address :: StaticAddress :: < () , types :: master_blueprint_service_manager_revisions :: MasterBlueprintServiceManagerRevisions , :: subxt_core :: utils :: Yes , :: subxt_core :: utils :: Yes , () >{ - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "MasterBlueprintServiceManagerRevisions", - (), + #[doc = "Initial change rate is not bounded, whereas subsequent updates can only be more"] + #[doc = "restrictive than the current."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - The origin of the call. Must be signed by an account with commission management permission."] + #[doc = "* `pool_id` - The identifier of the pool to set commission change rate for."] + #[doc = "* `change_rate` - The new commission change rate configuration."] + pub fn set_commission_change_rate( + &self, + pool_id: types::set_commission_change_rate::PoolId, + change_rate: types::set_commission_change_rate::ChangeRate, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Lst", + "set_commission_change_rate", + types::SetCommissionChangeRate { pool_id, change_rate }, [ - 189u8, 128u8, 221u8, 221u8, 88u8, 201u8, 75u8, 183u8, 233u8, 149u8, - 188u8, 66u8, 88u8, 166u8, 249u8, 15u8, 140u8, 119u8, 83u8, 86u8, 106u8, - 68u8, 14u8, 1u8, 194u8, 48u8, 241u8, 18u8, 19u8, 133u8, 114u8, 167u8, + 253u8, 128u8, 246u8, 46u8, 81u8, 204u8, 114u8, 21u8, 245u8, 99u8, 88u8, + 98u8, 194u8, 103u8, 85u8, 231u8, 181u8, 61u8, 146u8, 184u8, 225u8, + 175u8, 175u8, 99u8, 63u8, 141u8, 112u8, 218u8, 160u8, 226u8, 251u8, + 185u8, ], ) } - pub fn operators_profile_iter( + #[doc = "Claim pending commission for a pool."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by an account with commission claim permission."] + #[doc = "Pending commission is paid out and added to total claimed commission. Total pending commission"] + #[doc = "is reset to zero."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - The origin of the call. Must be signed by an account with commission claim permission."] + #[doc = "* `pool_id` - The identifier of the pool to claim commission from."] + pub fn claim_commission( &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::operators_profile::OperatorsProfile, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "OperatorsProfile", - (), + pool_id: types::claim_commission::PoolId, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Lst", + "claim_commission", + types::ClaimCommission { pool_id }, [ - 159u8, 133u8, 32u8, 36u8, 109u8, 170u8, 112u8, 253u8, 0u8, 50u8, 192u8, - 48u8, 162u8, 208u8, 41u8, 222u8, 191u8, 8u8, 207u8, 79u8, 159u8, 254u8, - 90u8, 69u8, 202u8, 5u8, 254u8, 176u8, 8u8, 49u8, 245u8, 153u8, + 51u8, 64u8, 163u8, 230u8, 2u8, 119u8, 68u8, 5u8, 154u8, 4u8, 84u8, + 149u8, 9u8, 195u8, 173u8, 37u8, 98u8, 48u8, 188u8, 65u8, 81u8, 11u8, + 64u8, 254u8, 126u8, 62u8, 29u8, 204u8, 92u8, 230u8, 240u8, 91u8, ], ) } - pub fn operators_profile( + #[doc = "Top up the deficit or withdraw the excess ED from the pool."] + #[doc = ""] + #[doc = "When a pool is created, the pool depositor transfers ED to the reward account of the"] + #[doc = "pool. ED is subject to change and over time, the deposit in the reward account may be"] + #[doc = "insufficient to cover the ED deficit of the pool or vice-versa where there is excess"] + #[doc = "deposit to the pool. This call allows anyone to adjust the ED deposit of the"] + #[doc = "pool by either topping up the deficit or claiming the excess."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - The origin of the call. Must be signed."] + #[doc = "* `pool_id` - The identifier of the pool to adjust the deposit for."] + pub fn adjust_pool_deposit( &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey< - types::operators_profile::Param0, - >, - types::operators_profile::OperatorsProfile, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "OperatorsProfile", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + pool_id: types::adjust_pool_deposit::PoolId, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Lst", + "adjust_pool_deposit", + types::AdjustPoolDeposit { pool_id }, [ - 159u8, 133u8, 32u8, 36u8, 109u8, 170u8, 112u8, 253u8, 0u8, 50u8, 192u8, - 48u8, 162u8, 208u8, 41u8, 222u8, 191u8, 8u8, 207u8, 79u8, 159u8, 254u8, - 90u8, 69u8, 202u8, 5u8, 254u8, 176u8, 8u8, 49u8, 245u8, 153u8, + 5u8, 203u8, 109u8, 141u8, 29u8, 58u8, 216u8, 21u8, 219u8, 139u8, 129u8, + 33u8, 49u8, 196u8, 255u8, 49u8, 79u8, 218u8, 24u8, 250u8, 254u8, 64u8, + 215u8, 33u8, 223u8, 205u8, 117u8, 209u8, 138u8, 115u8, 174u8, 181u8, ], ) } - #[doc = " Holds the service payment information for a service request."] - #[doc = " Once the service is initiated, the payment is transferred to the MBSM and this"] - #[doc = " information is removed."] + #[doc = "Set or remove a pool's commission claim permission."] #[doc = ""] - #[doc = " Service Requst ID -> Service Payment"] - pub fn staging_service_payments_iter( + #[doc = "Only the `Root` role of the pool is able to configure commission claim permissions."] + #[doc = "This determines which accounts are allowed to claim the pool's pending commission."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - The origin of the call. Must be signed by the pool's root account."] + #[doc = "* `pool_id` - The identifier of the pool to set permissions for."] + #[doc = "* `permission` - Optional commission claim permission configuration. If None, removes any existing permission."] + pub fn set_commission_claim_permission( &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::staging_service_payments::StagingServicePayments, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "StagingServicePayments", - (), + pool_id: types::set_commission_claim_permission::PoolId, + permission: types::set_commission_claim_permission::Permission, + ) -> ::subxt_core::tx::payload::StaticPayload + { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Lst", + "set_commission_claim_permission", + types::SetCommissionClaimPermission { pool_id, permission }, [ - 192u8, 196u8, 170u8, 27u8, 123u8, 252u8, 120u8, 33u8, 138u8, 77u8, - 224u8, 10u8, 9u8, 100u8, 175u8, 118u8, 86u8, 82u8, 147u8, 139u8, 223u8, - 187u8, 42u8, 108u8, 143u8, 226u8, 174u8, 159u8, 195u8, 179u8, 246u8, - 28u8, + 2u8, 140u8, 135u8, 31u8, 180u8, 2u8, 245u8, 33u8, 34u8, 204u8, 192u8, + 30u8, 131u8, 4u8, 108u8, 194u8, 154u8, 65u8, 104u8, 252u8, 84u8, 58u8, + 10u8, 47u8, 238u8, 185u8, 91u8, 162u8, 190u8, 239u8, 74u8, 38u8, ], ) } - #[doc = " Holds the service payment information for a service request."] - #[doc = " Once the service is initiated, the payment is transferred to the MBSM and this"] - #[doc = " information is removed."] - #[doc = ""] - #[doc = " Service Requst ID -> Service Payment"] - pub fn staging_service_payments( + pub fn set_last_pool_id( &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey< - types::staging_service_payments::Param0, + pool_id: types::set_last_pool_id::PoolId, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Lst", + "set_last_pool_id", + types::SetLastPoolId { pool_id }, + [ + 144u8, 224u8, 38u8, 208u8, 118u8, 48u8, 28u8, 112u8, 196u8, 139u8, + 69u8, 15u8, 119u8, 203u8, 144u8, 76u8, 255u8, 43u8, 23u8, 79u8, 27u8, + 30u8, 157u8, 242u8, 51u8, 91u8, 255u8, 79u8, 157u8, 242u8, 162u8, + 100u8, + ], + ) + } + } + } + #[doc = "Events of this pallet."] + pub type Event = runtime_types::pallet_tangle_lst::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A pool has been created."] + pub struct Created { + pub depositor: created::Depositor, + pub pool_id: created::PoolId, + } + pub mod created { + use super::runtime_types; + pub type Depositor = ::subxt_core::utils::AccountId32; + pub type PoolId = ::core::primitive::u32; + } + impl ::subxt_core::events::StaticEvent for Created { + const PALLET: &'static str = "Lst"; + const EVENT: &'static str = "Created"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A member has become bonded in a pool."] + pub struct Bonded { + pub member: bonded::Member, + pub pool_id: bonded::PoolId, + pub bonded: bonded::Bonded, + pub joined: bonded::Joined, + } + pub mod bonded { + use super::runtime_types; + pub type Member = ::subxt_core::utils::AccountId32; + pub type PoolId = ::core::primitive::u32; + pub type Bonded = ::core::primitive::u128; + pub type Joined = ::core::primitive::bool; + } + impl ::subxt_core::events::StaticEvent for Bonded { + const PALLET: &'static str = "Lst"; + const EVENT: &'static str = "Bonded"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A payout has been made to a member."] + pub struct PaidOut { + pub member: paid_out::Member, + pub pool_id: paid_out::PoolId, + pub payout: paid_out::Payout, + } + pub mod paid_out { + use super::runtime_types; + pub type Member = ::subxt_core::utils::AccountId32; + pub type PoolId = ::core::primitive::u32; + pub type Payout = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for PaidOut { + const PALLET: &'static str = "Lst"; + const EVENT: &'static str = "PaidOut"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A member has unbonded from their pool."] + #[doc = ""] + #[doc = "- `balance` is the corresponding balance of the number of points that has been"] + #[doc = " requested to be unbonded (the argument of the `unbond` transaction) from the bonded"] + #[doc = " pool."] + #[doc = "- `points` is the number of points that are issued as a result of `balance` being"] + #[doc = " dissolved into the corresponding unbonding pool."] + #[doc = "- `era` is the era in which the balance will be unbonded."] + #[doc = "In the absence of slashing, these values will match. In the presence of slashing, the"] + #[doc = "number of points that are issued in the unbonding pool will be less than the amount"] + #[doc = "requested to be unbonded."] + pub struct Unbonded { + pub member: unbonded::Member, + pub pool_id: unbonded::PoolId, + pub balance: unbonded::Balance, + pub points: unbonded::Points, + pub era: unbonded::Era, + } + pub mod unbonded { + use super::runtime_types; + pub type Member = ::subxt_core::utils::AccountId32; + pub type PoolId = ::core::primitive::u32; + pub type Balance = ::core::primitive::u128; + pub type Points = ::core::primitive::u128; + pub type Era = ::core::primitive::u32; + } + impl ::subxt_core::events::StaticEvent for Unbonded { + const PALLET: &'static str = "Lst"; + const EVENT: &'static str = "Unbonded"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A member has withdrawn from their pool."] + #[doc = ""] + #[doc = "The given number of `points` have been dissolved in return for `balance`."] + #[doc = ""] + #[doc = "Similar to `Unbonded` event, in the absence of slashing, the ratio of point to balance"] + #[doc = "will be 1."] + pub struct Withdrawn { + pub member: withdrawn::Member, + pub pool_id: withdrawn::PoolId, + pub balance: withdrawn::Balance, + pub points: withdrawn::Points, + } + pub mod withdrawn { + use super::runtime_types; + pub type Member = ::subxt_core::utils::AccountId32; + pub type PoolId = ::core::primitive::u32; + pub type Balance = ::core::primitive::u128; + pub type Points = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for Withdrawn { + const PALLET: &'static str = "Lst"; + const EVENT: &'static str = "Withdrawn"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A pool has been destroyed."] + pub struct Destroyed { + pub pool_id: destroyed::PoolId, + } + pub mod destroyed { + use super::runtime_types; + pub type PoolId = ::core::primitive::u32; + } + impl ::subxt_core::events::StaticEvent for Destroyed { + const PALLET: &'static str = "Lst"; + const EVENT: &'static str = "Destroyed"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "The state of a pool has changed"] + pub struct StateChanged { + pub pool_id: state_changed::PoolId, + pub new_state: state_changed::NewState, + } + pub mod state_changed { + use super::runtime_types; + pub type PoolId = ::core::primitive::u32; + pub type NewState = runtime_types::pallet_tangle_lst::types::pools::PoolState; + } + impl ::subxt_core::events::StaticEvent for StateChanged { + const PALLET: &'static str = "Lst"; + const EVENT: &'static str = "StateChanged"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A member has been removed from a pool."] + #[doc = ""] + #[doc = "The removal can be voluntary (withdrawn all unbonded funds) or involuntary (kicked)."] + pub struct MemberRemoved { + pub pool_id: member_removed::PoolId, + pub member: member_removed::Member, + } + pub mod member_removed { + use super::runtime_types; + pub type PoolId = ::core::primitive::u32; + pub type Member = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::events::StaticEvent for MemberRemoved { + const PALLET: &'static str = "Lst"; + const EVENT: &'static str = "MemberRemoved"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "The roles of a pool have been updated to the given new roles. Note that the depositor"] + #[doc = "can never change."] + pub struct RolesUpdated { + pub root: roles_updated::Root, + pub bouncer: roles_updated::Bouncer, + pub nominator: roles_updated::Nominator, + } + pub mod roles_updated { + use super::runtime_types; + pub type Root = ::core::option::Option<::subxt_core::utils::AccountId32>; + pub type Bouncer = ::core::option::Option<::subxt_core::utils::AccountId32>; + pub type Nominator = ::core::option::Option<::subxt_core::utils::AccountId32>; + } + impl ::subxt_core::events::StaticEvent for RolesUpdated { + const PALLET: &'static str = "Lst"; + const EVENT: &'static str = "RolesUpdated"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "The active balance of pool `pool_id` has been slashed to `balance`."] + pub struct PoolSlashed { + pub pool_id: pool_slashed::PoolId, + pub balance: pool_slashed::Balance, + } + pub mod pool_slashed { + use super::runtime_types; + pub type PoolId = ::core::primitive::u32; + pub type Balance = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for PoolSlashed { + const PALLET: &'static str = "Lst"; + const EVENT: &'static str = "PoolSlashed"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "The unbond pool at `era` of pool `pool_id` has been slashed to `balance`."] + pub struct UnbondingPoolSlashed { + pub pool_id: unbonding_pool_slashed::PoolId, + pub era: unbonding_pool_slashed::Era, + pub balance: unbonding_pool_slashed::Balance, + } + pub mod unbonding_pool_slashed { + use super::runtime_types; + pub type PoolId = ::core::primitive::u32; + pub type Era = ::core::primitive::u32; + pub type Balance = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for UnbondingPoolSlashed { + const PALLET: &'static str = "Lst"; + const EVENT: &'static str = "UnbondingPoolSlashed"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A pool's commission setting has been changed."] + pub struct PoolCommissionUpdated { + pub pool_id: pool_commission_updated::PoolId, + pub current: pool_commission_updated::Current, + } + pub mod pool_commission_updated { + use super::runtime_types; + pub type PoolId = ::core::primitive::u32; + pub type Current = ::core::option::Option<( + runtime_types::sp_arithmetic::per_things::Perbill, + ::subxt_core::utils::AccountId32, + )>; + } + impl ::subxt_core::events::StaticEvent for PoolCommissionUpdated { + const PALLET: &'static str = "Lst"; + const EVENT: &'static str = "PoolCommissionUpdated"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A pool's maximum commission setting has been changed."] + pub struct PoolMaxCommissionUpdated { + pub pool_id: pool_max_commission_updated::PoolId, + pub max_commission: pool_max_commission_updated::MaxCommission, + } + pub mod pool_max_commission_updated { + use super::runtime_types; + pub type PoolId = ::core::primitive::u32; + pub type MaxCommission = runtime_types::sp_arithmetic::per_things::Perbill; + } + impl ::subxt_core::events::StaticEvent for PoolMaxCommissionUpdated { + const PALLET: &'static str = "Lst"; + const EVENT: &'static str = "PoolMaxCommissionUpdated"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "A pool's commission `change_rate` has been changed."] + pub struct PoolCommissionChangeRateUpdated { + pub pool_id: pool_commission_change_rate_updated::PoolId, + pub change_rate: pool_commission_change_rate_updated::ChangeRate, + } + pub mod pool_commission_change_rate_updated { + use super::runtime_types; + pub type PoolId = ::core::primitive::u32; + pub type ChangeRate = + runtime_types::pallet_tangle_lst::types::commission::CommissionChangeRate< + ::core::primitive::u64, + >; + } + impl ::subxt_core::events::StaticEvent for PoolCommissionChangeRateUpdated { + const PALLET: &'static str = "Lst"; + const EVENT: &'static str = "PoolCommissionChangeRateUpdated"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Pool commission claim permission has been updated."] + pub struct PoolCommissionClaimPermissionUpdated { + pub pool_id: pool_commission_claim_permission_updated::PoolId, + pub permission: pool_commission_claim_permission_updated::Permission, + } + pub mod pool_commission_claim_permission_updated { + use super::runtime_types; + pub type PoolId = ::core::primitive::u32; + pub type Permission = ::core::option::Option< + runtime_types::pallet_tangle_lst::types::commission::CommissionClaimPermission< + ::subxt_core::utils::AccountId32, >, - types::staging_service_payments::StagingServicePayments, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Services", - "StagingServicePayments", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - [ - 192u8, 196u8, 170u8, 27u8, 123u8, 252u8, 120u8, 33u8, 138u8, 77u8, - 224u8, 10u8, 9u8, 100u8, 175u8, 118u8, 86u8, 82u8, 147u8, 139u8, 223u8, - 187u8, 42u8, 108u8, 143u8, 226u8, 174u8, 159u8, 195u8, 179u8, 246u8, - 28u8, - ], - ) - } + >; + } + impl ::subxt_core::events::StaticEvent for PoolCommissionClaimPermissionUpdated { + const PALLET: &'static str = "Lst"; + const EVENT: &'static str = "PoolCommissionClaimPermissionUpdated"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Pool commission has been claimed."] + pub struct PoolCommissionClaimed { + pub pool_id: pool_commission_claimed::PoolId, + pub commission: pool_commission_claimed::Commission, + } + pub mod pool_commission_claimed { + use super::runtime_types; + pub type PoolId = ::core::primitive::u32; + pub type Commission = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for PoolCommissionClaimed { + const PALLET: &'static str = "Lst"; + const EVENT: &'static str = "PoolCommissionClaimed"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Topped up deficit in frozen ED of the reward pool."] + pub struct MinBalanceDeficitAdjusted { + pub pool_id: min_balance_deficit_adjusted::PoolId, + pub amount: min_balance_deficit_adjusted::Amount, + } + pub mod min_balance_deficit_adjusted { + use super::runtime_types; + pub type PoolId = ::core::primitive::u32; + pub type Amount = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for MinBalanceDeficitAdjusted { + const PALLET: &'static str = "Lst"; + const EVENT: &'static str = "MinBalanceDeficitAdjusted"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Claimed excess frozen ED of the reward pool."] + pub struct MinBalanceExcessAdjusted { + pub pool_id: min_balance_excess_adjusted::PoolId, + pub amount: min_balance_excess_adjusted::Amount, + } + pub mod min_balance_excess_adjusted { + use super::runtime_types; + pub type PoolId = ::core::primitive::u32; + pub type Amount = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for MinBalanceExcessAdjusted { + const PALLET: &'static str = "Lst"; + const EVENT: &'static str = "MinBalanceExcessAdjusted"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "The last PoolId is updated"] + pub struct LastPoolIdUpdated { + pub pool_id: last_pool_id_updated::PoolId, + } + pub mod last_pool_id_updated { + use super::runtime_types; + pub type PoolId = ::core::primitive::u32; + } + impl ::subxt_core::events::StaticEvent for LastPoolIdUpdated { + const PALLET: &'static str = "Lst"; + const EVENT: &'static str = "LastPoolIdUpdated"; } } - pub mod constants { + pub mod storage { use super::runtime_types; - pub struct ConstantsApi; - impl ConstantsApi { - #[doc = " PalletId used for deriving the AccountId and EVM address."] - #[doc = " This account receives slashed assets upon slash event processing."] - pub fn pallet_evm_account( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::subxt_core::utils::H160> - { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "PalletEvmAccount", - [ - 184u8, 103u8, 76u8, 37u8, 218u8, 155u8, 125u8, 78u8, 138u8, 122u8, - 255u8, 132u8, 124u8, 68u8, 65u8, 163u8, 97u8, 77u8, 80u8, 33u8, 69u8, - 55u8, 69u8, 230u8, 83u8, 135u8, 254u8, 221u8, 222u8, 177u8, 10u8, - 189u8, - ], - ) + pub mod types { + use super::runtime_types; + pub mod total_value_locked { + use super::runtime_types; + pub type TotalValueLocked = ::core::primitive::u128; } - #[doc = " Maximum number of fields in a job call."] - pub fn max_fields( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "MaxFields", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) + pub mod min_join_bond { + use super::runtime_types; + pub type MinJoinBond = ::core::primitive::u128; } - #[doc = " Maximum size of a field in a job call."] - pub fn max_fields_size( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "MaxFieldsSize", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) + pub mod min_create_bond { + use super::runtime_types; + pub type MinCreateBond = ::core::primitive::u128; } - #[doc = " Maximum length of metadata string length."] - pub fn max_metadata_length( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "MaxMetadataLength", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) + pub mod max_pools { + use super::runtime_types; + pub type MaxPools = ::core::primitive::u32; } - #[doc = " Maximum number of jobs per service."] - pub fn max_jobs_per_service( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "MaxJobsPerService", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) + pub mod global_max_commission { + use super::runtime_types; + pub type GlobalMaxCommission = + runtime_types::sp_arithmetic::per_things::Perbill; } - #[doc = " Maximum number of Operators per service."] - pub fn max_operators_per_service( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "MaxOperatorsPerService", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) + pub mod bonded_pools { + use super::runtime_types; + pub type BondedPools = + runtime_types::pallet_tangle_lst::types::bonded_pool::BondedPoolInner; + pub type Param0 = ::core::primitive::u32; } - #[doc = " Maximum number of permitted callers per service."] - pub fn max_permitted_callers( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "MaxPermittedCallers", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) + pub mod counter_for_bonded_pools { + use super::runtime_types; + pub type CounterForBondedPools = ::core::primitive::u32; } - #[doc = " Maximum number of services per operator."] - pub fn max_services_per_operator( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "MaxServicesPerOperator", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) + pub mod reward_pools { + use super::runtime_types; + pub type RewardPools = + runtime_types::pallet_tangle_lst::types::sub_pools::RewardPool; + pub type Param0 = ::core::primitive::u32; } - #[doc = " Maximum number of blueprints per operator."] - pub fn max_blueprints_per_operator( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "MaxBlueprintsPerOperator", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) + pub mod counter_for_reward_pools { + use super::runtime_types; + pub type CounterForRewardPools = ::core::primitive::u32; } - #[doc = " Maximum number of services per user."] - pub fn max_services_per_user( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "MaxServicesPerUser", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) + pub mod sub_pools_storage { + use super::runtime_types; + pub type SubPoolsStorage = + runtime_types::pallet_tangle_lst::types::sub_pools::SubPools; + pub type Param0 = ::core::primitive::u32; } - #[doc = " Maximum number of binaries per gadget."] - pub fn max_binaries_per_gadget( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "MaxBinariesPerGadget", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) + pub mod counter_for_sub_pools_storage { + use super::runtime_types; + pub type CounterForSubPoolsStorage = ::core::primitive::u32; } - #[doc = " Maximum number of sources per gadget."] - pub fn max_sources_per_gadget( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "MaxSourcesPerGadget", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) + pub mod metadata { + use super::runtime_types; + pub type Metadata = runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >; + pub type Param0 = ::core::primitive::u32; } - #[doc = " Git owner maximum length."] - pub fn max_git_owner_length( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "MaxGitOwnerLength", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) + pub mod counter_for_metadata { + use super::runtime_types; + pub type CounterForMetadata = ::core::primitive::u32; + } + pub mod last_pool_id { + use super::runtime_types; + pub type LastPoolId = ::core::primitive::u32; + } + pub mod unbonding_members { + use super::runtime_types; + pub type UnbondingMembers = + runtime_types::pallet_tangle_lst::types::pools::PoolMember; + pub type Param0 = ::subxt_core::utils::AccountId32; + } + pub mod counter_for_unbonding_members { + use super::runtime_types; + pub type CounterForUnbondingMembers = ::core::primitive::u32; } - #[doc = " Git repository maximum length."] - pub fn max_git_repo_length( + pub mod reverse_pool_id_lookup { + use super::runtime_types; + pub type ReversePoolIdLookup = ::core::primitive::u32; + pub type Param0 = ::subxt_core::utils::AccountId32; + } + pub mod counter_for_reverse_pool_id_lookup { + use super::runtime_types; + pub type CounterForReversePoolIdLookup = ::core::primitive::u32; + } + pub mod claim_permissions { + use super::runtime_types; + pub type ClaimPermissions = + runtime_types::pallet_tangle_lst::types::ClaimPermission; + pub type Param0 = ::subxt_core::utils::AccountId32; + } + } + pub struct StorageApi; + impl StorageApi { + #[doc = " The sum of funds across all pools."] + #[doc = ""] + #[doc = " This might be lower but never higher than the sum of `total_balance` of all [`PoolMembers`]"] + #[doc = " because calling `pool_withdraw_unbonded` might decrease the total stake of the pool's"] + #[doc = " `bonded_account` without adjusting the pallet-internal `UnbondingPool`'s."] + pub fn total_value_locked( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "MaxGitRepoLength", + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::total_value_locked::TotalValueLocked, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "TotalValueLocked", + (), [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, + 141u8, 23u8, 101u8, 59u8, 165u8, 8u8, 41u8, 252u8, 239u8, 72u8, 142u8, + 19u8, 186u8, 29u8, 131u8, 8u8, 113u8, 64u8, 82u8, 158u8, 26u8, 87u8, + 142u8, 39u8, 80u8, 231u8, 46u8, 40u8, 71u8, 186u8, 35u8, 104u8, ], ) } - #[doc = " Git tag maximum length."] - pub fn max_git_tag_length( + #[doc = " Minimum amount to bond to join a pool."] + pub fn min_join_bond( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "MaxGitTagLength", + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::min_join_bond::MinJoinBond, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "MinJoinBond", + (), [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, + 64u8, 180u8, 71u8, 185u8, 81u8, 46u8, 155u8, 26u8, 251u8, 84u8, 108u8, + 80u8, 128u8, 44u8, 163u8, 118u8, 107u8, 79u8, 250u8, 211u8, 194u8, + 71u8, 87u8, 16u8, 247u8, 9u8, 76u8, 95u8, 103u8, 227u8, 180u8, 231u8, ], ) } - #[doc = " binary name maximum length."] - pub fn max_binary_name_length( + #[doc = " Minimum bond required to create a pool."] + #[doc = ""] + #[doc = " This is the amount that the depositor must put as their initial stake in the pool, as an"] + #[doc = " indication of \"skin in the game\"."] + #[doc = ""] + #[doc = " This is the value that will always exist in the staking ledger of the pool bonded account"] + #[doc = " while all other accounts leave."] + pub fn min_create_bond( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "MaxBinaryNameLength", + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::min_create_bond::MinCreateBond, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "MinCreateBond", + (), [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, + 210u8, 67u8, 92u8, 230u8, 231u8, 105u8, 54u8, 249u8, 154u8, 192u8, + 29u8, 217u8, 233u8, 79u8, 170u8, 126u8, 133u8, 98u8, 253u8, 153u8, + 248u8, 189u8, 63u8, 107u8, 170u8, 224u8, 12u8, 42u8, 198u8, 185u8, + 85u8, 46u8, ], ) } - #[doc = " IPFS hash maximum length."] - pub fn max_ipfs_hash_length( + #[doc = " Maximum number of nomination pools that can exist. If `None`, then an unbounded number of"] + #[doc = " pools can exist."] + pub fn max_pools( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "MaxIpfsHashLength", + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::max_pools::MaxPools, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "MaxPools", + (), [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, + 230u8, 184u8, 242u8, 91u8, 118u8, 111u8, 90u8, 204u8, 136u8, 61u8, + 228u8, 50u8, 212u8, 40u8, 83u8, 49u8, 121u8, 161u8, 245u8, 80u8, 46u8, + 184u8, 105u8, 134u8, 249u8, 225u8, 39u8, 3u8, 123u8, 137u8, 156u8, + 240u8, ], ) } - #[doc = " Container registry maximum length."] - pub fn max_container_registry_length( + #[doc = " The maximum commission that can be charged by a pool. Used on commission payouts to bound"] + #[doc = " pool commissions that are > `GlobalMaxCommission`, necessary if a future"] + #[doc = " `GlobalMaxCommission` is lower than some current pool commissions."] + pub fn global_max_commission( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "MaxContainerRegistryLength", + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::global_max_commission::GlobalMaxCommission, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "GlobalMaxCommission", + (), [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, + 2u8, 112u8, 8u8, 116u8, 114u8, 97u8, 250u8, 106u8, 170u8, 215u8, 218u8, + 217u8, 80u8, 235u8, 149u8, 81u8, 85u8, 185u8, 201u8, 127u8, 107u8, + 251u8, 191u8, 231u8, 142u8, 74u8, 8u8, 70u8, 151u8, 238u8, 117u8, + 173u8, ], ) } - #[doc = " Container image name maximum length."] - pub fn max_container_image_name_length( + #[doc = " Storage for bonded pools."] + pub fn bonded_pools_iter( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "MaxContainerImageNameLength", + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::bonded_pools::BondedPools, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "BondedPools", + (), [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, + 74u8, 250u8, 235u8, 10u8, 153u8, 148u8, 26u8, 163u8, 198u8, 48u8, 57u8, + 147u8, 9u8, 101u8, 63u8, 185u8, 86u8, 216u8, 172u8, 144u8, 173u8, + 182u8, 7u8, 146u8, 15u8, 57u8, 198u8, 90u8, 218u8, 31u8, 203u8, 29u8, ], ) } - #[doc = " Container image tag maximum length."] - pub fn max_container_image_tag_length( + #[doc = " Storage for bonded pools."] + pub fn bonded_pools( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "MaxContainerImageTagLength", + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::bonded_pools::BondedPools, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "BondedPools", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, + 74u8, 250u8, 235u8, 10u8, 153u8, 148u8, 26u8, 163u8, 198u8, 48u8, 57u8, + 147u8, 9u8, 101u8, 63u8, 185u8, 86u8, 216u8, 172u8, 144u8, 173u8, + 182u8, 7u8, 146u8, 15u8, 57u8, 198u8, 90u8, 218u8, 31u8, 203u8, 29u8, ], ) } - #[doc = " Maximum number of assets per service."] - pub fn max_assets_per_service( + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_bonded_pools( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "MaxAssetsPerService", + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::counter_for_bonded_pools::CounterForBondedPools, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "CounterForBondedPools", + (), [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, + 198u8, 6u8, 213u8, 92u8, 4u8, 114u8, 164u8, 244u8, 51u8, 55u8, 157u8, + 20u8, 224u8, 183u8, 40u8, 236u8, 115u8, 86u8, 171u8, 207u8, 31u8, + 111u8, 0u8, 210u8, 48u8, 198u8, 243u8, 153u8, 5u8, 216u8, 107u8, 113u8, ], ) } - #[doc = " Maximum number of versions of Master Blueprint Service Manager allowed."] - pub fn max_master_blueprint_service_manager_versions( + #[doc = " Reward pools. This is where there rewards for each pool accumulate. When a members payout is"] + #[doc = " claimed, the balance comes out fo the reward pool. Keyed by the bonded pools account."] + pub fn reward_pools_iter( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "MaxMasterBlueprintServiceManagerVersions", + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::reward_pools::RewardPools, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "RewardPools", + (), [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, + 9u8, 12u8, 53u8, 236u8, 133u8, 154u8, 71u8, 150u8, 220u8, 31u8, 130u8, + 126u8, 208u8, 240u8, 214u8, 66u8, 16u8, 43u8, 202u8, 222u8, 94u8, + 136u8, 76u8, 60u8, 174u8, 197u8, 130u8, 138u8, 253u8, 239u8, 89u8, + 46u8, ], ) } - #[doc = " Number of eras that slashes are deferred by, after computation."] - #[doc = ""] - #[doc = " This should be less than the bonding duration. Set to 0 if slashes"] - #[doc = " should be applied immediately, without opportunity for intervention."] - pub fn slash_defer_duration( + #[doc = " Reward pools. This is where there rewards for each pool accumulate. When a members payout is"] + #[doc = " claimed, the balance comes out fo the reward pool. Keyed by the bonded pools account."] + pub fn reward_pools( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "SlashDeferDuration", + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::reward_pools::RewardPools, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "RewardPools", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, + 9u8, 12u8, 53u8, 236u8, 133u8, 154u8, 71u8, 150u8, 220u8, 31u8, 130u8, + 126u8, 208u8, 240u8, 214u8, 66u8, 16u8, 43u8, 202u8, 222u8, 94u8, + 136u8, 76u8, 60u8, 174u8, 197u8, 130u8, 138u8, 253u8, 239u8, 89u8, + 46u8, ], ) } - #[doc = " The minimum percentage of native token stake that operators must expose for slashing."] - pub fn minimum_native_security_requirement( + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_reward_pools( &self, - ) -> ::subxt_core::constants::address::StaticAddress< - runtime_types::sp_arithmetic::per_things::Percent, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::counter_for_reward_pools::CounterForRewardPools, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), > { - ::subxt_core::constants::address::StaticAddress::new_static( - "Services", - "MinimumNativeSecurityRequirement", + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "CounterForRewardPools", + (), [ - 40u8, 171u8, 69u8, 196u8, 34u8, 184u8, 50u8, 128u8, 139u8, 192u8, 63u8, - 231u8, 249u8, 200u8, 252u8, 73u8, 244u8, 170u8, 51u8, 177u8, 106u8, - 47u8, 114u8, 234u8, 84u8, 104u8, 62u8, 118u8, 227u8, 50u8, 225u8, - 122u8, - ], - ) - } - } - } - } - pub mod lst { - use super::root_mod; - use super::runtime_types; - #[doc = "The `Error` enum of this pallet."] - pub type Error = runtime_types::pallet_tangle_lst::pallet::Error; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_tangle_lst::pallet::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Stakes funds with a pool by transferring the bonded amount from member to pool account."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `amount` - Amount to stake"] - #[doc = "* `pool_id` - Target pool ID"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::MinimumBondNotMet`] - Amount below minimum bond"] - #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] - #[doc = "* [`Error::DefensiveError`] - Reward pool not found"] - #[doc = ""] - #[doc = "# Note"] - #[doc = ""] - #[doc = "* Member must have `existential deposit + amount` in account"] - #[doc = "* Pool must be in [`PoolState::Open`] state"] - pub struct Join { - #[codec(compact)] - pub amount: join::Amount, - pub pool_id: join::PoolId, - } - pub mod join { - use super::runtime_types; - pub type Amount = ::core::primitive::u128; - pub type PoolId = ::core::primitive::u32; - } - impl ::subxt_core::blocks::StaticExtrinsic for Join { - const PALLET: &'static str = "Lst"; - const CALL: &'static str = "join"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Bond additional funds into an existing pool position."] - #[doc = ""] - #[doc = "Additional funds can come from either free balance or accumulated rewards."] - #[doc = "Automatically pays out all pending rewards."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `pool_id` - Target pool ID"] - #[doc = "* `extra` - Source and amount of additional funds"] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed"] - #[doc = "* Must have permission to bond extra if not self"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] - #[doc = "* [`Error::DoesNotHavePermission`] - Caller lacks permission"] - #[doc = "* [`Error::DefensiveError`] - Reward pool not found"] - #[doc = ""] - #[doc = "# Note"] - #[doc = ""] - #[doc = "* This transaction prioritizes readability and correctness over optimization"] - #[doc = "* Multiple storage reads/writes are performed to reuse code"] - #[doc = "* See `bond_extra_other` to bond pending rewards of other members"] - pub struct BondExtra { - pub pool_id: bond_extra::PoolId, - pub extra: bond_extra::Extra, - } - pub mod bond_extra { - use super::runtime_types; - pub type PoolId = ::core::primitive::u32; - pub type Extra = - runtime_types::pallet_tangle_lst::types::BondExtra<::core::primitive::u128>; - } - impl ::subxt_core::blocks::StaticExtrinsic for BondExtra { - const PALLET: &'static str = "Lst"; - const CALL: &'static str = "bond_extra"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Unbond points from a member's pool position, collecting any pending rewards."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `member_account` - Account to unbond from"] - #[doc = "* `pool_id` - Target pool ID"] - #[doc = "* `unbonding_points` - Amount of points to unbond"] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Permissionless if:"] - #[doc = " - Pool is blocked and caller is root/bouncer (kick)"] - #[doc = " - Pool is destroying and member is not depositor"] - #[doc = " - Pool is destroying, member is depositor, and pool is empty"] - #[doc = "* Permissioned (caller must be member) if:"] - #[doc = " - Caller is not depositor"] - #[doc = " - Caller is depositor, pool is destroying, and pool is empty"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] - #[doc = "* [`Error::NoBalanceToUnbond`] - Member has insufficient points"] - #[doc = "* [`Error::DefensiveError`] - Not enough space in unbond pool"] - #[doc = ""] - #[doc = "# Note"] - #[doc = "If no unlocking chunks are available, [`Call::pool_withdraw_unbonded`] can be called first."] - #[doc = "The staking interface will attempt this automatically but may still return `NoMoreChunks`"] - #[doc = "if chunks cannot be released."] - pub struct Unbond { - pub member_account: unbond::MemberAccount, - pub pool_id: unbond::PoolId, - #[codec(compact)] - pub unbonding_points: unbond::UnbondingPoints, - } - pub mod unbond { - use super::runtime_types; - pub type MemberAccount = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type PoolId = ::core::primitive::u32; - pub type UnbondingPoints = ::core::primitive::u128; + 218u8, 186u8, 28u8, 97u8, 205u8, 249u8, 187u8, 10u8, 127u8, 190u8, + 213u8, 152u8, 103u8, 20u8, 157u8, 183u8, 86u8, 104u8, 186u8, 236u8, + 84u8, 159u8, 117u8, 78u8, 5u8, 242u8, 193u8, 59u8, 112u8, 200u8, 34u8, + 166u8, + ], + ) } - impl ::subxt_core::blocks::StaticExtrinsic for Unbond { - const PALLET: &'static str = "Lst"; - const CALL: &'static str = "unbond"; + #[doc = " Groups of unbonding pools. Each group of unbonding pools belongs to a"] + #[doc = " bonded pool, hence the name sub-pools. Keyed by the bonded pools account."] + pub fn sub_pools_storage_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::sub_pools_storage::SubPoolsStorage, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "SubPoolsStorage", + (), + [ + 43u8, 35u8, 94u8, 197u8, 201u8, 86u8, 21u8, 118u8, 230u8, 10u8, 66u8, + 180u8, 104u8, 146u8, 250u8, 207u8, 159u8, 153u8, 203u8, 58u8, 20u8, + 247u8, 102u8, 155u8, 47u8, 58u8, 136u8, 150u8, 167u8, 83u8, 81u8, 44u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Withdraws unbonded funds from the pool's staking account."] - #[doc = ""] - #[doc = "Useful for clearing unlocking chunks when there are too many to call `unbond`."] - #[doc = "Prevents `NoMoreChunks` errors from the staking system."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Can be signed by any account"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `pool_id` - Pool identifier"] - #[doc = "* `num_slashing_spans` - Number of slashing spans to check"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] - #[doc = "* [`Error::NotDestroying`] - Pool is in destroying state"] - pub struct PoolWithdrawUnbonded { - pub pool_id: pool_withdraw_unbonded::PoolId, - pub num_slashing_spans: pool_withdraw_unbonded::NumSlashingSpans, + #[doc = " Groups of unbonding pools. Each group of unbonding pools belongs to a"] + #[doc = " bonded pool, hence the name sub-pools. Keyed by the bonded pools account."] + pub fn sub_pools_storage( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey< + types::sub_pools_storage::Param0, + >, + types::sub_pools_storage::SubPoolsStorage, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "SubPoolsStorage", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 43u8, 35u8, 94u8, 197u8, 201u8, 86u8, 21u8, 118u8, 230u8, 10u8, 66u8, + 180u8, 104u8, 146u8, 250u8, 207u8, 159u8, 153u8, 203u8, 58u8, 20u8, + 247u8, 102u8, 155u8, 47u8, 58u8, 136u8, 150u8, 167u8, 83u8, 81u8, 44u8, + ], + ) } - pub mod pool_withdraw_unbonded { - use super::runtime_types; - pub type PoolId = ::core::primitive::u32; - pub type NumSlashingSpans = ::core::primitive::u32; + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_sub_pools_storage( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::counter_for_sub_pools_storage::CounterForSubPoolsStorage, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "CounterForSubPoolsStorage", + (), + [ + 137u8, 162u8, 32u8, 44u8, 163u8, 30u8, 54u8, 158u8, 169u8, 118u8, + 196u8, 101u8, 78u8, 28u8, 184u8, 78u8, 185u8, 225u8, 226u8, 207u8, + 14u8, 119u8, 0u8, 116u8, 140u8, 141u8, 116u8, 106u8, 71u8, 161u8, + 200u8, 228u8, + ], + ) } - impl ::subxt_core::blocks::StaticExtrinsic for PoolWithdrawUnbonded { - const PALLET: &'static str = "Lst"; - const CALL: &'static str = "pool_withdraw_unbonded"; + #[doc = " Metadata for the pool."] + pub fn metadata_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::metadata::Metadata, + (), + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "Metadata", + (), + [ + 10u8, 171u8, 251u8, 5u8, 72u8, 74u8, 86u8, 144u8, 59u8, 67u8, 92u8, + 111u8, 217u8, 111u8, 175u8, 107u8, 119u8, 206u8, 199u8, 78u8, 182u8, + 84u8, 12u8, 102u8, 10u8, 124u8, 103u8, 9u8, 86u8, 199u8, 233u8, 54u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Withdraw unbonded funds from a member account."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Permissionless if:"] - #[doc = " - Pool is in destroy mode and target is not depositor"] - #[doc = " - Target is depositor and only member in sub pools"] - #[doc = " - Pool is blocked and caller is root/bouncer"] - #[doc = "* Permissioned if caller is target and not depositor"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `member_account` - Account to withdraw from"] - #[doc = "* `pool_id` - Pool identifier"] - #[doc = "* `num_slashing_spans` - Number of slashing spans"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolMemberNotFound`] - Member account not found"] - #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] - #[doc = "* [`Error::SubPoolsNotFound`] - Sub pools not found"] - #[doc = "* [`Error::CannotWithdrawAny`] - No unbonded funds available"] - #[doc = ""] - #[doc = "If target is depositor, pool will be destroyed."] - pub struct WithdrawUnbonded { - pub member_account: withdraw_unbonded::MemberAccount, - pub pool_id: withdraw_unbonded::PoolId, - pub num_slashing_spans: withdraw_unbonded::NumSlashingSpans, + #[doc = " Metadata for the pool."] + pub fn metadata( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::metadata::Metadata, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "Metadata", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 10u8, 171u8, 251u8, 5u8, 72u8, 74u8, 86u8, 144u8, 59u8, 67u8, 92u8, + 111u8, 217u8, 111u8, 175u8, 107u8, 119u8, 206u8, 199u8, 78u8, 182u8, + 84u8, 12u8, 102u8, 10u8, 124u8, 103u8, 9u8, 86u8, 199u8, 233u8, 54u8, + ], + ) } - pub mod withdraw_unbonded { - use super::runtime_types; - pub type MemberAccount = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type PoolId = ::core::primitive::u32; - pub type NumSlashingSpans = ::core::primitive::u32; + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_metadata( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::counter_for_metadata::CounterForMetadata, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "CounterForMetadata", + (), + [ + 49u8, 76u8, 175u8, 236u8, 99u8, 120u8, 156u8, 116u8, 153u8, 173u8, + 10u8, 102u8, 194u8, 139u8, 25u8, 149u8, 109u8, 195u8, 150u8, 21u8, + 43u8, 24u8, 196u8, 180u8, 231u8, 101u8, 69u8, 98u8, 82u8, 159u8, 183u8, + 174u8, + ], + ) } - impl ::subxt_core::blocks::StaticExtrinsic for WithdrawUnbonded { - const PALLET: &'static str = "Lst"; - const CALL: &'static str = "withdraw_unbonded"; + #[doc = " Ever increasing number of all pools created so far."] + pub fn last_pool_id( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::last_pool_id::LastPoolId, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "LastPoolId", + (), + [ + 178u8, 198u8, 245u8, 157u8, 176u8, 45u8, 214u8, 86u8, 73u8, 154u8, + 217u8, 39u8, 191u8, 53u8, 233u8, 145u8, 57u8, 100u8, 31u8, 13u8, 202u8, + 122u8, 115u8, 16u8, 205u8, 69u8, 157u8, 250u8, 216u8, 180u8, 113u8, + 30u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Create a new delegation pool."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the account that will become the initial depositor"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `amount` - Amount to delegate to the pool"] - #[doc = "* `root` - Account to set as pool root"] - #[doc = "* `nominator` - Account to set as pool nominator"] - #[doc = "* `bouncer` - Account to set as pool bouncer"] - #[doc = "* `name` - Optional pool name bounded by `T::MaxNameLength`"] - #[doc = "* `icon` - Optional pool icon bounded by `T::MaxIconLength`"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::OverflowRisk`] - Pool ID increment would overflow"] - #[doc = ""] - #[doc = "# Note"] + #[doc = " Unbonding members."] #[doc = ""] - #[doc = "Caller must have `amount + existential_deposit` transferable funds."] - pub struct Create { - #[codec(compact)] - pub amount: create::Amount, - pub root: create::Root, - pub nominator: create::Nominator, - pub bouncer: create::Bouncer, - pub name: create::Name, - pub icon: create::Icon, + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn unbonding_members_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::unbonding_members::UnbondingMembers, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "UnbondingMembers", + (), + [ + 46u8, 91u8, 211u8, 29u8, 83u8, 17u8, 148u8, 26u8, 183u8, 226u8, 240u8, + 39u8, 186u8, 86u8, 198u8, 55u8, 43u8, 125u8, 83u8, 249u8, 203u8, 33u8, + 123u8, 108u8, 179u8, 237u8, 193u8, 63u8, 85u8, 230u8, 194u8, 173u8, + ], + ) } - pub mod create { - use super::runtime_types; - pub type Amount = ::core::primitive::u128; - pub type Root = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Nominator = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Bouncer = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Name = ::core::option::Option< - runtime_types::bounded_collections::bounded_vec::BoundedVec< - ::core::primitive::u8, - >, - >; - pub type Icon = ::core::option::Option< - runtime_types::bounded_collections::bounded_vec::BoundedVec< - ::core::primitive::u8, - >, - >; + #[doc = " Unbonding members."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn unbonding_members( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey< + types::unbonding_members::Param0, + >, + types::unbonding_members::UnbondingMembers, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "UnbondingMembers", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 46u8, 91u8, 211u8, 29u8, 83u8, 17u8, 148u8, 26u8, 183u8, 226u8, 240u8, + 39u8, 186u8, 86u8, 198u8, 55u8, 43u8, 125u8, 83u8, 249u8, 203u8, 33u8, + 123u8, 108u8, 179u8, 237u8, 193u8, 63u8, 85u8, 230u8, 194u8, 173u8, + ], + ) } - impl ::subxt_core::blocks::StaticExtrinsic for Create { - const PALLET: &'static str = "Lst"; - const CALL: &'static str = "create"; + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_unbonding_members( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::counter_for_unbonding_members::CounterForUnbondingMembers, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "CounterForUnbondingMembers", + (), + [ + 35u8, 214u8, 51u8, 61u8, 101u8, 166u8, 164u8, 204u8, 50u8, 204u8, + 242u8, 138u8, 241u8, 35u8, 149u8, 204u8, 180u8, 250u8, 178u8, 148u8, + 199u8, 139u8, 206u8, 218u8, 200u8, 76u8, 130u8, 213u8, 186u8, 30u8, + 68u8, 79u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Create a new delegation pool with a previously used pool ID."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the account that will become the depositor"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `amount` - Amount to delegate to the pool"] - #[doc = "* `root` - Account to set as pool root"] - #[doc = "* `nominator` - Account to set as pool nominator"] - #[doc = "* `bouncer` - Account to set as pool bouncer"] - #[doc = "* `pool_id` - Pool ID to reuse"] - #[doc = "* `name` - Optional pool name"] - #[doc = "* `icon` - Optional pool icon"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolIdInUse`] - Pool ID is already in use"] - #[doc = "* [`Error::InvalidPoolId`] - Pool ID is greater than last pool ID"] - #[doc = ""] - #[doc = "# Note"] + #[doc = " A reverse lookup from the pool's account id to its id."] #[doc = ""] - #[doc = "Caller must have `amount + existential_deposit` transferable funds."] - pub struct CreateWithPoolId { - #[codec(compact)] - pub amount: create_with_pool_id::Amount, - pub root: create_with_pool_id::Root, - pub nominator: create_with_pool_id::Nominator, - pub bouncer: create_with_pool_id::Bouncer, - pub pool_id: create_with_pool_id::PoolId, - pub name: create_with_pool_id::Name, - pub icon: create_with_pool_id::Icon, + #[doc = " This is only used for slashing. In all other instances, the pool id is used, and the"] + #[doc = " accounts are deterministically derived from it."] + pub fn reverse_pool_id_lookup_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::reverse_pool_id_lookup::ReversePoolIdLookup, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "ReversePoolIdLookup", + (), + [ + 76u8, 76u8, 150u8, 33u8, 64u8, 81u8, 90u8, 75u8, 212u8, 221u8, 59u8, + 83u8, 178u8, 45u8, 86u8, 206u8, 196u8, 221u8, 117u8, 94u8, 229u8, + 160u8, 52u8, 54u8, 11u8, 64u8, 0u8, 103u8, 85u8, 86u8, 5u8, 71u8, + ], + ) } - pub mod create_with_pool_id { - use super::runtime_types; - pub type Amount = ::core::primitive::u128; - pub type Root = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Nominator = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type Bouncer = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type PoolId = ::core::primitive::u32; - pub type Name = ::core::option::Option< - runtime_types::bounded_collections::bounded_vec::BoundedVec< - ::core::primitive::u8, - >, - >; - pub type Icon = ::core::option::Option< - runtime_types::bounded_collections::bounded_vec::BoundedVec< - ::core::primitive::u8, - >, - >; + #[doc = " A reverse lookup from the pool's account id to its id."] + #[doc = ""] + #[doc = " This is only used for slashing. In all other instances, the pool id is used, and the"] + #[doc = " accounts are deterministically derived from it."] + pub fn reverse_pool_id_lookup( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey< + types::reverse_pool_id_lookup::Param0, + >, + types::reverse_pool_id_lookup::ReversePoolIdLookup, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "ReversePoolIdLookup", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 76u8, 76u8, 150u8, 33u8, 64u8, 81u8, 90u8, 75u8, 212u8, 221u8, 59u8, + 83u8, 178u8, 45u8, 86u8, 206u8, 196u8, 221u8, 117u8, 94u8, 229u8, + 160u8, 52u8, 54u8, 11u8, 64u8, 0u8, 103u8, 85u8, 86u8, 5u8, 71u8, + ], + ) } - impl ::subxt_core::blocks::StaticExtrinsic for CreateWithPoolId { - const PALLET: &'static str = "Lst"; - const CALL: &'static str = "create_with_pool_id"; + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_reverse_pool_id_lookup( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::counter_for_reverse_pool_id_lookup::CounterForReversePoolIdLookup, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "CounterForReversePoolIdLookup", + (), + [ + 135u8, 72u8, 203u8, 197u8, 101u8, 135u8, 114u8, 202u8, 122u8, 231u8, + 128u8, 17u8, 81u8, 70u8, 22u8, 146u8, 100u8, 138u8, 16u8, 74u8, 31u8, + 250u8, 110u8, 184u8, 250u8, 75u8, 249u8, 71u8, 171u8, 77u8, 95u8, + 251u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Nominate validators on behalf of the pool."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Pool nominator or root role can nominate validators"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `pool_id` - Pool identifier"] - #[doc = "* `validators` - List of validator accounts to nominate"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] - #[doc = "* [`Error::NotNominator`] - Caller lacks nominator permissions"] - #[doc = ""] - #[doc = "# Note"] - #[doc = ""] - #[doc = "Forwards nomination call to staking pallet using pool's bonded account."] - pub struct Nominate { - pub pool_id: nominate::PoolId, - pub validators: nominate::Validators, + #[doc = " Map from a pool member account to their opted claim permission."] + pub fn claim_permissions_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::claim_permissions::ClaimPermissions, + (), + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "ClaimPermissions", + (), + [ + 98u8, 241u8, 185u8, 102u8, 61u8, 53u8, 215u8, 105u8, 2u8, 148u8, 197u8, + 17u8, 107u8, 253u8, 74u8, 159u8, 14u8, 30u8, 213u8, 38u8, 35u8, 163u8, + 249u8, 19u8, 140u8, 201u8, 182u8, 106u8, 0u8, 21u8, 102u8, 15u8, + ], + ) } - pub mod nominate { - use super::runtime_types; - pub type PoolId = ::core::primitive::u32; - pub type Validators = - ::subxt_core::alloc::vec::Vec<::subxt_core::utils::AccountId32>; + #[doc = " Map from a pool member account to their opted claim permission."] + pub fn claim_permissions( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey< + types::claim_permissions::Param0, + >, + types::claim_permissions::ClaimPermissions, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Lst", + "ClaimPermissions", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 98u8, 241u8, 185u8, 102u8, 61u8, 53u8, 215u8, 105u8, 2u8, 148u8, 197u8, + 17u8, 107u8, 253u8, 74u8, 159u8, 14u8, 30u8, 213u8, 38u8, 35u8, 163u8, + 249u8, 19u8, 140u8, 201u8, 182u8, 106u8, 0u8, 21u8, 102u8, 15u8, + ], + ) } - impl ::subxt_core::blocks::StaticExtrinsic for Nominate { - const PALLET: &'static str = "Lst"; - const CALL: &'static str = "nominate"; + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The nomination pool's pallet id."] + pub fn pallet_id( + &self, + ) -> ::subxt_core::constants::address::StaticAddress< + runtime_types::frame_support::PalletId, + > { + ::subxt_core::constants::address::StaticAddress::new_static( + "Lst", + "PalletId", + [ + 56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8, + 161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8, + 129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Updates the state of a pool. Once a pool is in `Destroying` state, its state cannot be"] - #[doc = "changed again under any circumstances."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Pool bouncer or root role can set any state"] - #[doc = "* Any account can set state to `Destroying` if pool fails `ok_to_be_open` conditions"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `pool_id` - Pool identifier"] - #[doc = "* `state` - New state to set"] - #[doc = ""] - #[doc = "# Errors"] + #[doc = " The maximum pool points-to-balance ratio that an `open` pool can have."] #[doc = ""] - #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] - #[doc = "* [`Error::CanNotChangeState`] - Pool is in destroying state or caller lacks permissions"] + #[doc = " This is important in the event slashing takes place and the pool's points-to-balance"] + #[doc = " ratio becomes disproportional."] #[doc = ""] - #[doc = "# Note"] + #[doc = " Moreover, this relates to the `RewardCounter` type as well, as the arithmetic operations"] + #[doc = " are a function of number of points, and by setting this value to e.g. 10, you ensure"] + #[doc = " that the total number of points in the system are at most 10 times the total_issuance of"] + #[doc = " the chain, in the absolute worse case."] #[doc = ""] - #[doc = "State changes are validated through `ok_to_be_open` which checks pool properties like"] - #[doc = "commission, member count and roles."] - pub struct SetState { - pub pool_id: set_state::PoolId, - pub state: set_state::State, + #[doc = " For a value of 10, the threshold would be a pool points-to-balance ratio of 10:1."] + #[doc = " Such a scenario would also be the equivalent of the pool being 90% slashed."] + pub fn max_points_to_balance( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u8> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Lst", + "MaxPointsToBalance", + [ + 141u8, 130u8, 11u8, 35u8, 226u8, 114u8, 92u8, 179u8, 168u8, 110u8, + 28u8, 91u8, 221u8, 64u8, 4u8, 148u8, 201u8, 193u8, 185u8, 66u8, 226u8, + 114u8, 97u8, 79u8, 62u8, 212u8, 202u8, 114u8, 237u8, 228u8, 183u8, + 165u8, + ], + ) } - pub mod set_state { - use super::runtime_types; - pub type PoolId = ::core::primitive::u32; - pub type State = runtime_types::pallet_tangle_lst::types::pools::PoolState; + #[doc = " The maximum number of simultaneous unbonding chunks that can exist per member."] + pub fn max_unbonding( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Lst", + "MaxUnbonding", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } - impl ::subxt_core::blocks::StaticExtrinsic for SetState { - const PALLET: &'static str = "Lst"; - const CALL: &'static str = "set_state"; + #[doc = " The maximum length of a pool name."] + pub fn max_name_length( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Lst", + "MaxNameLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum length of a pool icon."] + pub fn max_icon_length( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { + ::subxt_core::constants::address::StaticAddress::new_static( + "Lst", + "MaxIconLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } + } + } + } + pub mod rewards { + use super::root_mod; + use super::runtime_types; + #[doc = "The `Error` enum of this pallet."] + pub type Error = runtime_types::pallet_rewards::pallet::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::pallet_rewards::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -51362,35 +50777,19 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Updates the metadata for a given pool."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be called by the pool bouncer or root role"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `pool_id` - Pool identifier"] - #[doc = "* `metadata` - New metadata to set"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] - #[doc = "* [`Error::MetadataExceedsMaxLen`] - Metadata length exceeds maximum allowed"] - #[doc = "* [`Error::DoesNotHavePermission`] - Caller lacks required permissions"] - pub struct SetMetadata { - pub pool_id: set_metadata::PoolId, - pub metadata: set_metadata::Metadata, + #[doc = "Claim rewards for a specific asset and reward type"] + pub struct ClaimRewards { + pub asset: claim_rewards::Asset, } - pub mod set_metadata { + pub mod claim_rewards { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; - pub type Metadata = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; } - impl ::subxt_core::blocks::StaticExtrinsic for SetMetadata { - const PALLET: &'static str = "Lst"; - const CALL: &'static str = "set_metadata"; + impl ::subxt_core::blocks::StaticExtrinsic for ClaimRewards { + const PALLET: &'static str = "Rewards"; + const CALL: &'static str = "claim_rewards"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -51406,45 +50805,29 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Updates the global configuration parameters for nomination pools."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be called by Root"] - #[doc = ""] - #[doc = "# Arguments"] + #[doc = "Claim rewards for another account"] #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `min_join_bond` - Config operation for minimum bond to join a pool"] - #[doc = "* `min_create_bond` - Config operation for minimum bond to create a pool "] - #[doc = "* `max_pools` - Config operation for maximum number of pools"] - #[doc = "* `global_max_commission` - Config operation for maximum global commission"] + #[doc = "The dispatch origin must be signed."] #[doc = ""] - #[doc = "# Errors"] + #[doc = "Parameters:"] + #[doc = "- `who`: The account to claim rewards for"] + #[doc = "- `asset`: The asset to claim rewards for"] #[doc = ""] - #[doc = "* [`DispatchError::BadOrigin`] - Caller is not Root"] - pub struct SetConfigs { - pub min_join_bond: set_configs::MinJoinBond, - pub min_create_bond: set_configs::MinCreateBond, - pub max_pools: set_configs::MaxPools, - pub global_max_commission: set_configs::GlobalMaxCommission, + #[doc = "Emits `RewardsClaimed` event when successful."] + pub struct ClaimRewardsOther { + pub who: claim_rewards_other::Who, + pub asset: claim_rewards_other::Asset, } - pub mod set_configs { + pub mod claim_rewards_other { use super::runtime_types; - pub type MinJoinBond = - runtime_types::pallet_tangle_lst::types::ConfigOp<::core::primitive::u128>; - pub type MinCreateBond = - runtime_types::pallet_tangle_lst::types::ConfigOp<::core::primitive::u128>; - pub type MaxPools = - runtime_types::pallet_tangle_lst::types::ConfigOp<::core::primitive::u32>; - pub type GlobalMaxCommission = - runtime_types::pallet_tangle_lst::types::ConfigOp< - runtime_types::sp_arithmetic::per_things::Perbill, - >; + pub type Who = ::subxt_core::utils::AccountId32; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; } - impl ::subxt_core::blocks::StaticExtrinsic for SetConfigs { - const PALLET: &'static str = "Lst"; - const CALL: &'static str = "set_configs"; + impl ::subxt_core::blocks::StaticExtrinsic for ClaimRewardsOther { + const PALLET: &'static str = "Rewards"; + const CALL: &'static str = "claim_rewards_other"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -51460,49 +50843,39 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Update the roles of a pool."] - #[doc = ""] - #[doc = "Updates root, nominator and bouncer roles for a given pool. The depositor role cannot be changed."] - #[doc = "Emits a `RolesUpdated` event on successful update."] + #[doc = "Manage asset id to vault rewards."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Origin must be Root or pool root"] + #[doc = "* Must be signed by an authorized account"] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] #[doc = "* `origin` - Origin of the call"] - #[doc = "* `pool_id` - Pool identifier"] - #[doc = "* `new_root` - New root role configuration"] - #[doc = "* `new_nominator` - New nominator role configuration "] - #[doc = "* `new_bouncer` - New bouncer role configuration"] + #[doc = "* `vault_id` - ID of the vault"] + #[doc = "* `asset` - ID of the asset"] + #[doc = "* `action` - Action to perform (Add/Remove)"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] - #[doc = "* [`Error::DoesNotHavePermission`] - Origin does not have permission"] - pub struct UpdateRoles { - pub pool_id: update_roles::PoolId, - pub new_root: update_roles::NewRoot, - pub new_nominator: update_roles::NewNominator, - pub new_bouncer: update_roles::NewBouncer, + #[doc = "* [`Error::AssetAlreadyInVault`] - Asset already exists in vault"] + #[doc = "* [`Error::AssetNotInVault`] - Asset does not exist in vault"] + pub struct ManageAssetRewardVault { + pub vault_id: manage_asset_reward_vault::VaultId, + pub asset: manage_asset_reward_vault::Asset, + pub action: manage_asset_reward_vault::Action, } - pub mod update_roles { + pub mod manage_asset_reward_vault { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; - pub type NewRoot = runtime_types::pallet_tangle_lst::types::ConfigOp< - ::subxt_core::utils::AccountId32, - >; - pub type NewNominator = runtime_types::pallet_tangle_lst::types::ConfigOp< - ::subxt_core::utils::AccountId32, - >; - pub type NewBouncer = runtime_types::pallet_tangle_lst::types::ConfigOp< - ::subxt_core::utils::AccountId32, + pub type VaultId = ::core::primitive::u32; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, >; + pub type Action = runtime_types::pallet_rewards::types::AssetAction; } - impl ::subxt_core::blocks::StaticExtrinsic for UpdateRoles { - const PALLET: &'static str = "Lst"; - const CALL: &'static str = "update_roles"; + impl ::subxt_core::blocks::StaticExtrinsic for ManageAssetRewardVault { + const PALLET: &'static str = "Rewards"; + const CALL: &'static str = "manage_asset_reward_vault"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -51518,31 +50891,39 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Chill on behalf of the pool by forwarding the call to the staking pallet."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Origin must be signed by pool nominator or root role"] + #[doc = "Creates a new reward configuration for a specific vault."] #[doc = ""] #[doc = "# Arguments"] + #[doc = "* `origin` - Origin of the call, must pass `ForceOrigin` check"] + #[doc = "* `vault_id` - The ID of the vault to update"] + #[doc = "* `new_config` - The new reward configuration containing:"] + #[doc = " * `apy` - Annual Perbillage Yield for the vault"] + #[doc = " * `deposit_cap` - Maximum amount that can be deposited"] + #[doc = " * `incentive_cap` - Maximum amount of incentives that can be distributed"] + #[doc = " * `boost_multiplier` - Optional multiplier to boost rewards"] #[doc = ""] - #[doc = "* `origin` - The origin of the call"] - #[doc = "* `pool_id` - Pool identifier"] + #[doc = "# Events"] + #[doc = "* `VaultRewardConfigUpdated` - Emitted when vault reward config is updated"] #[doc = ""] #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] - #[doc = "* [`Error::NotNominator`] - Origin lacks nomination permission"] - pub struct Chill { - pub pool_id: chill::PoolId, + #[doc = "* `BadOrigin` - If caller is not authorized through `ForceOrigin`"] + #[doc = "* `IncentiveCapGreaterThanDepositCap` - If incentive cap is greater than deposit cap"] + #[doc = "* `BoostMultiplierMustBeOne` - If boost multiplier is not 1"] + pub struct CreateRewardVault { + pub vault_id: create_reward_vault::VaultId, + pub new_config: create_reward_vault::NewConfig, } - pub mod chill { + pub mod create_reward_vault { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; + pub type VaultId = ::core::primitive::u32; + pub type NewConfig = + runtime_types::pallet_rewards::types::RewardConfigForAssetVault< + ::core::primitive::u128, + >; } - impl ::subxt_core::blocks::StaticExtrinsic for Chill { - const PALLET: &'static str = "Lst"; - const CALL: &'static str = "chill"; + impl ::subxt_core::blocks::StaticExtrinsic for CreateRewardVault { + const PALLET: &'static str = "Rewards"; + const CALL: &'static str = "create_reward_vault"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -51558,44 +50939,39 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Bond additional funds for a pool member into their respective pool."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Origin must match member account for bonding from free balance/pending rewards"] - #[doc = "* Any origin can bond from pending rewards if member has `PermissionlessAll` or"] - #[doc = " `PermissionlessCompound` claim permissions"] + #[doc = "Updates the reward configuration for a specific vault."] #[doc = ""] #[doc = "# Arguments"] + #[doc = "* `origin` - Origin of the call, must pass `ForceOrigin` check"] + #[doc = "* `vault_id` - The ID of the vault to update"] + #[doc = "* `new_config` - The new reward configuration containing:"] + #[doc = " * `apy` - Annual Perbillage Yield for the vault"] + #[doc = " * `deposit_cap` - Maximum amount that can be deposited"] + #[doc = " * `incentive_cap` - Maximum amount of incentives that can be distributed"] + #[doc = " * `boost_multiplier` - Optional multiplier to boost rewards"] #[doc = ""] - #[doc = "* `origin` - The origin of the call"] - #[doc = "* `member` - Pool member account to bond for"] - #[doc = "* `pool_id` - Pool identifier"] - #[doc = "* `extra` - Amount to bond from free balance or pending rewards"] + #[doc = "# Events"] + #[doc = "* `VaultRewardConfigUpdated` - Emitted when vault reward config is updated"] #[doc = ""] #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] - #[doc = "* [`Error::PoolMemberNotFound`] - Account is not a member of pool"] - #[doc = "* [`Error::NoPermission`] - Origin lacks permission to bond for member"] - pub struct BondExtraOther { - pub member: bond_extra_other::Member, - pub pool_id: bond_extra_other::PoolId, - pub extra: bond_extra_other::Extra, + #[doc = "* `BadOrigin` - If caller is not authorized through `ForceOrigin`"] + #[doc = "* `IncentiveCapGreaterThanDepositCap` - If incentive cap is greater than deposit cap"] + #[doc = "* `BoostMultiplierMustBeOne` - If boost multiplier is not 1"] + pub struct UpdateVaultRewardConfig { + pub vault_id: update_vault_reward_config::VaultId, + pub new_config: update_vault_reward_config::NewConfig, } - pub mod bond_extra_other { + pub mod update_vault_reward_config { use super::runtime_types; - pub type Member = ::subxt_core::utils::MultiAddress< - ::subxt_core::utils::AccountId32, - ::core::primitive::u32, - >; - pub type PoolId = ::core::primitive::u32; - pub type Extra = - runtime_types::pallet_tangle_lst::types::BondExtra<::core::primitive::u128>; + pub type VaultId = ::core::primitive::u32; + pub type NewConfig = + runtime_types::pallet_rewards::types::RewardConfigForAssetVault< + ::core::primitive::u128, + >; } - impl ::subxt_core::blocks::StaticExtrinsic for BondExtraOther { - const PALLET: &'static str = "Lst"; - const CALL: &'static str = "bond_extra_other"; + impl ::subxt_core::blocks::StaticExtrinsic for UpdateVaultRewardConfig { + const PALLET: &'static str = "Rewards"; + const CALL: &'static str = "update_vault_reward_config"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -51611,37 +50987,19 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Set or remove the commission rate and payee for a pool."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Caller must have commission management permission for the pool"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call"] - #[doc = "* `pool_id` - The pool identifier"] - #[doc = "* `new_commission` - Optional commission rate and payee. None removes existing commission"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolNotFound`] - The pool_id does not exist"] - #[doc = "* [`Error::DoesNotHavePermission`] - Caller lacks commission management permission"] - pub struct SetCommission { - pub pool_id: set_commission::PoolId, - pub new_commission: set_commission::NewCommission, + #[doc = "Update the decay configuration"] + pub struct UpdateDecayConfig { + pub start_period: update_decay_config::StartPeriod, + pub rate: update_decay_config::Rate, } - pub mod set_commission { + pub mod update_decay_config { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; - pub type NewCommission = ::core::option::Option<( - runtime_types::sp_arithmetic::per_things::Perbill, - ::subxt_core::utils::AccountId32, - )>; + pub type StartPeriod = ::core::primitive::u64; + pub type Rate = runtime_types::sp_arithmetic::per_things::Perbill; } - impl ::subxt_core::blocks::StaticExtrinsic for SetCommission { - const PALLET: &'static str = "Lst"; - const CALL: &'static str = "set_commission"; + impl ::subxt_core::blocks::StaticExtrinsic for UpdateDecayConfig { + const PALLET: &'static str = "Rewards"; + const CALL: &'static str = "update_decay_config"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -51657,1165 +51015,1325 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Set the maximum commission rate for a pool. Initial max can be set to any value, with only"] - #[doc = "lower values allowed thereafter. Current commission will be reduced if above new max."] + #[doc = "Update the number of blocks used for APY calculation"] + pub struct UpdateApyBlocks { + pub blocks: update_apy_blocks::Blocks, + } + pub mod update_apy_blocks { + use super::runtime_types; + pub type Blocks = ::core::primitive::u64; + } + impl ::subxt_core::blocks::StaticExtrinsic for UpdateApyBlocks { + const PALLET: &'static str = "Rewards"; + const CALL: &'static str = "update_apy_blocks"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Claim rewards for a specific asset and reward type"] + pub fn claim_rewards( + &self, + asset: types::claim_rewards::Asset, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Rewards", + "claim_rewards", + types::ClaimRewards { asset }, + [ + 146u8, 247u8, 206u8, 171u8, 49u8, 243u8, 126u8, 119u8, 11u8, 3u8, + 246u8, 122u8, 185u8, 167u8, 37u8, 175u8, 105u8, 52u8, 1u8, 229u8, + 118u8, 141u8, 131u8, 54u8, 72u8, 108u8, 95u8, 76u8, 170u8, 179u8, + 122u8, 84u8, + ], + ) + } + #[doc = "Claim rewards for another account"] + #[doc = ""] + #[doc = "The dispatch origin must be signed."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `who`: The account to claim rewards for"] + #[doc = "- `asset`: The asset to claim rewards for"] + #[doc = ""] + #[doc = "Emits `RewardsClaimed` event when successful."] + pub fn claim_rewards_other( + &self, + who: types::claim_rewards_other::Who, + asset: types::claim_rewards_other::Asset, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Rewards", + "claim_rewards_other", + types::ClaimRewardsOther { who, asset }, + [ + 156u8, 186u8, 123u8, 58u8, 164u8, 199u8, 154u8, 99u8, 175u8, 143u8, + 218u8, 147u8, 191u8, 177u8, 92u8, 155u8, 191u8, 133u8, 97u8, 60u8, + 41u8, 244u8, 232u8, 28u8, 213u8, 5u8, 52u8, 160u8, 161u8, 109u8, 121u8, + 181u8, + ], + ) + } + #[doc = "Manage asset id to vault rewards."] #[doc = ""] #[doc = "# Permissions"] #[doc = ""] - #[doc = "* Caller must have commission management permission for the pool"] + #[doc = "* Must be signed by an authorized account"] #[doc = ""] #[doc = "# Arguments"] #[doc = ""] - #[doc = "* `origin` - The origin of the call"] - #[doc = "* `pool_id` - The pool identifier"] - #[doc = "* `max_commission` - The new maximum commission rate"] + #[doc = "* `origin` - Origin of the call"] + #[doc = "* `vault_id` - ID of the vault"] + #[doc = "* `asset` - ID of the asset"] + #[doc = "* `action` - Action to perform (Add/Remove)"] #[doc = ""] #[doc = "# Errors"] #[doc = ""] - #[doc = "* [`Error::PoolNotFound`] - The pool_id does not exist"] - #[doc = "* [`Error::DoesNotHavePermission`] - Caller lacks commission management permission"] - pub struct SetCommissionMax { - pub pool_id: set_commission_max::PoolId, - pub max_commission: set_commission_max::MaxCommission, + #[doc = "* [`Error::AssetAlreadyInVault`] - Asset already exists in vault"] + #[doc = "* [`Error::AssetNotInVault`] - Asset does not exist in vault"] + pub fn manage_asset_reward_vault( + &self, + vault_id: types::manage_asset_reward_vault::VaultId, + asset: types::manage_asset_reward_vault::Asset, + action: types::manage_asset_reward_vault::Action, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Rewards", + "manage_asset_reward_vault", + types::ManageAssetRewardVault { vault_id, asset, action }, + [ + 228u8, 21u8, 16u8, 73u8, 162u8, 158u8, 52u8, 35u8, 103u8, 37u8, 76u8, + 160u8, 239u8, 222u8, 122u8, 120u8, 104u8, 31u8, 250u8, 254u8, 34u8, + 26u8, 182u8, 80u8, 112u8, 219u8, 251u8, 229u8, 4u8, 178u8, 4u8, 74u8, + ], + ) } - pub mod set_commission_max { + #[doc = "Creates a new reward configuration for a specific vault."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = "* `origin` - Origin of the call, must pass `ForceOrigin` check"] + #[doc = "* `vault_id` - The ID of the vault to update"] + #[doc = "* `new_config` - The new reward configuration containing:"] + #[doc = " * `apy` - Annual Perbillage Yield for the vault"] + #[doc = " * `deposit_cap` - Maximum amount that can be deposited"] + #[doc = " * `incentive_cap` - Maximum amount of incentives that can be distributed"] + #[doc = " * `boost_multiplier` - Optional multiplier to boost rewards"] + #[doc = ""] + #[doc = "# Events"] + #[doc = "* `VaultRewardConfigUpdated` - Emitted when vault reward config is updated"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "* `BadOrigin` - If caller is not authorized through `ForceOrigin`"] + #[doc = "* `IncentiveCapGreaterThanDepositCap` - If incentive cap is greater than deposit cap"] + #[doc = "* `BoostMultiplierMustBeOne` - If boost multiplier is not 1"] + pub fn create_reward_vault( + &self, + vault_id: types::create_reward_vault::VaultId, + new_config: types::create_reward_vault::NewConfig, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Rewards", + "create_reward_vault", + types::CreateRewardVault { vault_id, new_config }, + [ + 1u8, 23u8, 16u8, 60u8, 148u8, 74u8, 20u8, 137u8, 92u8, 83u8, 75u8, + 72u8, 95u8, 115u8, 185u8, 227u8, 7u8, 106u8, 180u8, 67u8, 213u8, 72u8, + 23u8, 72u8, 196u8, 70u8, 75u8, 98u8, 29u8, 58u8, 103u8, 63u8, + ], + ) + } + #[doc = "Updates the reward configuration for a specific vault."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = "* `origin` - Origin of the call, must pass `ForceOrigin` check"] + #[doc = "* `vault_id` - The ID of the vault to update"] + #[doc = "* `new_config` - The new reward configuration containing:"] + #[doc = " * `apy` - Annual Perbillage Yield for the vault"] + #[doc = " * `deposit_cap` - Maximum amount that can be deposited"] + #[doc = " * `incentive_cap` - Maximum amount of incentives that can be distributed"] + #[doc = " * `boost_multiplier` - Optional multiplier to boost rewards"] + #[doc = ""] + #[doc = "# Events"] + #[doc = "* `VaultRewardConfigUpdated` - Emitted when vault reward config is updated"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "* `BadOrigin` - If caller is not authorized through `ForceOrigin`"] + #[doc = "* `IncentiveCapGreaterThanDepositCap` - If incentive cap is greater than deposit cap"] + #[doc = "* `BoostMultiplierMustBeOne` - If boost multiplier is not 1"] + pub fn update_vault_reward_config( + &self, + vault_id: types::update_vault_reward_config::VaultId, + new_config: types::update_vault_reward_config::NewConfig, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Rewards", + "update_vault_reward_config", + types::UpdateVaultRewardConfig { vault_id, new_config }, + [ + 159u8, 220u8, 49u8, 15u8, 80u8, 235u8, 109u8, 168u8, 65u8, 1u8, 209u8, + 232u8, 242u8, 165u8, 46u8, 253u8, 85u8, 166u8, 246u8, 71u8, 0u8, 214u8, + 117u8, 149u8, 194u8, 175u8, 133u8, 3u8, 155u8, 128u8, 125u8, 195u8, + ], + ) + } + #[doc = "Update the decay configuration"] + pub fn update_decay_config( + &self, + start_period: types::update_decay_config::StartPeriod, + rate: types::update_decay_config::Rate, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Rewards", + "update_decay_config", + types::UpdateDecayConfig { start_period, rate }, + [ + 55u8, 242u8, 91u8, 49u8, 32u8, 54u8, 156u8, 96u8, 26u8, 70u8, 189u8, + 186u8, 30u8, 148u8, 187u8, 217u8, 235u8, 47u8, 137u8, 212u8, 33u8, + 34u8, 217u8, 50u8, 187u8, 189u8, 48u8, 237u8, 170u8, 215u8, 91u8, 44u8, + ], + ) + } + #[doc = "Update the number of blocks used for APY calculation"] + pub fn update_apy_blocks( + &self, + blocks: types::update_apy_blocks::Blocks, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Rewards", + "update_apy_blocks", + types::UpdateApyBlocks { blocks }, + [ + 98u8, 147u8, 159u8, 28u8, 148u8, 51u8, 110u8, 115u8, 31u8, 92u8, 175u8, + 43u8, 78u8, 246u8, 16u8, 77u8, 40u8, 52u8, 61u8, 174u8, 226u8, 105u8, + 243u8, 179u8, 62u8, 217u8, 211u8, 204u8, 146u8, 99u8, 139u8, 110u8, + ], + ) + } + } + } + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::pallet_rewards::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Rewards have been claimed by an account"] + pub struct RewardsClaimed { + pub account: rewards_claimed::Account, + pub asset: rewards_claimed::Asset, + pub amount: rewards_claimed::Amount, + } + pub mod rewards_claimed { + use super::runtime_types; + pub type Account = ::subxt_core::utils::AccountId32; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; + pub type Amount = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for RewardsClaimed { + const PALLET: &'static str = "Rewards"; + const EVENT: &'static str = "RewardsClaimed"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Event emitted when an incentive APY and cap are set for a reward vault"] + pub struct IncentiveAPYAndCapSet { + pub vault_id: incentive_apy_and_cap_set::VaultId, + pub apy: incentive_apy_and_cap_set::Apy, + pub cap: incentive_apy_and_cap_set::Cap, + } + pub mod incentive_apy_and_cap_set { + use super::runtime_types; + pub type VaultId = ::core::primitive::u32; + pub type Apy = runtime_types::sp_arithmetic::per_things::Perbill; + pub type Cap = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for IncentiveAPYAndCapSet { + const PALLET: &'static str = "Rewards"; + const EVENT: &'static str = "IncentiveAPYAndCapSet"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Event emitted when a blueprint is whitelisted for rewards"] + pub struct BlueprintWhitelisted { + pub blueprint_id: blueprint_whitelisted::BlueprintId, + } + pub mod blueprint_whitelisted { + use super::runtime_types; + pub type BlueprintId = ::core::primitive::u64; + } + impl ::subxt_core::events::StaticEvent for BlueprintWhitelisted { + const PALLET: &'static str = "Rewards"; + const EVENT: &'static str = "BlueprintWhitelisted"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Asset has been updated to reward vault"] + pub struct AssetUpdatedInVault { + pub vault_id: asset_updated_in_vault::VaultId, + pub asset: asset_updated_in_vault::Asset, + pub action: asset_updated_in_vault::Action, + } + pub mod asset_updated_in_vault { + use super::runtime_types; + pub type VaultId = ::core::primitive::u32; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; + pub type Action = runtime_types::pallet_rewards::types::AssetAction; + } + impl ::subxt_core::events::StaticEvent for AssetUpdatedInVault { + const PALLET: &'static str = "Rewards"; + const EVENT: &'static str = "AssetUpdatedInVault"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Vault reward config updated"] + pub struct VaultRewardConfigUpdated { + pub vault_id: vault_reward_config_updated::VaultId, + pub new_config: vault_reward_config_updated::NewConfig, + } + pub mod vault_reward_config_updated { + use super::runtime_types; + pub type VaultId = ::core::primitive::u32; + pub type NewConfig = + runtime_types::pallet_rewards::types::RewardConfigForAssetVault< + ::core::primitive::u128, + >; + } + impl ::subxt_core::events::StaticEvent for VaultRewardConfigUpdated { + const PALLET: &'static str = "Rewards"; + const EVENT: &'static str = "VaultRewardConfigUpdated"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Vault created"] + pub struct RewardVaultCreated { + pub vault_id: reward_vault_created::VaultId, + pub new_config: reward_vault_created::NewConfig, + pub pot_account: reward_vault_created::PotAccount, + } + pub mod reward_vault_created { + use super::runtime_types; + pub type VaultId = ::core::primitive::u32; + pub type NewConfig = + runtime_types::pallet_rewards::types::RewardConfigForAssetVault< + ::core::primitive::u128, + >; + pub type PotAccount = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::events::StaticEvent for RewardVaultCreated { + const PALLET: &'static str = "Rewards"; + const EVENT: &'static str = "RewardVaultCreated"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Total score in vault updated"] + pub struct TotalScoreUpdated { + pub vault_id: total_score_updated::VaultId, + pub asset: total_score_updated::Asset, + pub total_score: total_score_updated::TotalScore, + pub lock_multiplier: total_score_updated::LockMultiplier, + } + pub mod total_score_updated { + use super::runtime_types; + pub type VaultId = ::core::primitive::u32; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; + pub type TotalScore = ::core::primitive::u128; + pub type LockMultiplier = ::core::option::Option< + runtime_types::tangle_primitives::types::rewards::LockMultiplier, + >; + } + impl ::subxt_core::events::StaticEvent for TotalScoreUpdated { + const PALLET: &'static str = "Rewards"; + const EVENT: &'static str = "TotalScoreUpdated"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Total deposit in vault updated"] + pub struct TotalDepositUpdated { + pub vault_id: total_deposit_updated::VaultId, + pub asset: total_deposit_updated::Asset, + pub total_deposit: total_deposit_updated::TotalDeposit, + } + pub mod total_deposit_updated { + use super::runtime_types; + pub type VaultId = ::core::primitive::u32; + pub type Asset = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; + pub type TotalDeposit = ::core::primitive::u128; + } + impl ::subxt_core::events::StaticEvent for TotalDepositUpdated { + const PALLET: &'static str = "Rewards"; + const EVENT: &'static str = "TotalDepositUpdated"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Decay configuration was updated"] + pub struct DecayConfigUpdated { + pub start_period: decay_config_updated::StartPeriod, + pub rate: decay_config_updated::Rate, + } + pub mod decay_config_updated { + use super::runtime_types; + pub type StartPeriod = ::core::primitive::u64; + pub type Rate = runtime_types::sp_arithmetic::per_things::Perbill; + } + impl ::subxt_core::events::StaticEvent for DecayConfigUpdated { + const PALLET: &'static str = "Rewards"; + const EVENT: &'static str = "DecayConfigUpdated"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "The number of blocks for APY calculation has been updated"] + pub struct ApyBlocksUpdated { + pub blocks: apy_blocks_updated::Blocks, + } + pub mod apy_blocks_updated { + use super::runtime_types; + pub type Blocks = ::core::primitive::u64; + } + impl ::subxt_core::events::StaticEvent for ApyBlocksUpdated { + const PALLET: &'static str = "Rewards"; + const EVENT: &'static str = "ApyBlocksUpdated"; + } + } + pub mod storage { + use super::runtime_types; + pub mod types { + use super::runtime_types; + pub mod total_reward_vault_score { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; - pub type MaxCommission = runtime_types::sp_arithmetic::per_things::Perbill; - } - impl ::subxt_core::blocks::StaticExtrinsic for SetCommissionMax { - const PALLET: &'static str = "Lst"; - const CALL: &'static str = "set_commission_max"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Set the commission change rate for a pool."] - #[doc = ""] - #[doc = "Initial change rate is not bounded, whereas subsequent updates can only be more"] - #[doc = "restrictive than the current."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call. Must be signed by an account with commission management permission."] - #[doc = "* `pool_id` - The identifier of the pool to set commission change rate for."] - #[doc = "* `change_rate` - The new commission change rate configuration."] - pub struct SetCommissionChangeRate { - pub pool_id: set_commission_change_rate::PoolId, - pub change_rate: set_commission_change_rate::ChangeRate, + pub type TotalRewardVaultScore = ::core::primitive::u128; + pub type Param0 = ::core::primitive::u32; } - pub mod set_commission_change_rate { + pub mod total_reward_vault_deposit { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; - pub type ChangeRate = - runtime_types::pallet_tangle_lst::types::commission::CommissionChangeRate< - ::core::primitive::u64, - >; - } - impl ::subxt_core::blocks::StaticExtrinsic for SetCommissionChangeRate { - const PALLET: &'static str = "Lst"; - const CALL: &'static str = "set_commission_change_rate"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Claim pending commission for a pool."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be signed by an account with commission claim permission."] - #[doc = "Pending commission is paid out and added to total claimed commission. Total pending commission"] - #[doc = "is reset to zero."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call. Must be signed by an account with commission claim permission."] - #[doc = "* `pool_id` - The identifier of the pool to claim commission from."] - pub struct ClaimCommission { - pub pool_id: claim_commission::PoolId, + pub type TotalRewardVaultDeposit = ::core::primitive::u128; + pub type Param0 = ::core::primitive::u32; } - pub mod claim_commission { + pub mod user_service_reward { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; - } - impl ::subxt_core::blocks::StaticExtrinsic for ClaimCommission { - const PALLET: &'static str = "Lst"; - const CALL: &'static str = "claim_commission"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Top up the deficit or withdraw the excess ED from the pool."] - #[doc = ""] - #[doc = "When a pool is created, the pool depositor transfers ED to the reward account of the"] - #[doc = "pool. ED is subject to change and over time, the deposit in the reward account may be"] - #[doc = "insufficient to cover the ED deficit of the pool or vice-versa where there is excess"] - #[doc = "deposit to the pool. This call allows anyone to adjust the ED deposit of the"] - #[doc = "pool by either topping up the deficit or claiming the excess."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call. Must be signed."] - #[doc = "* `pool_id` - The identifier of the pool to adjust the deposit for."] - pub struct AdjustPoolDeposit { - pub pool_id: adjust_pool_deposit::PoolId, + pub type UserServiceReward = ::core::primitive::u128; + pub type Param0 = ::subxt_core::utils::AccountId32; + pub type Param1 = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; } - pub mod adjust_pool_deposit { + pub mod user_claimed_reward { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; + pub type UserClaimedReward = (::core::primitive::u64, ::core::primitive::u128); + pub type Param0 = ::subxt_core::utils::AccountId32; + pub type Param1 = ::core::primitive::u32; } - impl ::subxt_core::blocks::StaticExtrinsic for AdjustPoolDeposit { - const PALLET: &'static str = "Lst"; - const CALL: &'static str = "adjust_pool_deposit"; + pub mod reward_vaults { + use super::runtime_types; + pub type RewardVaults = ::subxt_core::alloc::vec::Vec< + runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >, + >; + pub type Param0 = ::core::primitive::u32; } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Set or remove a pool's commission claim permission."] - #[doc = ""] - #[doc = "Only the `Root` role of the pool is able to configure commission claim permissions."] - #[doc = "This determines which accounts are allowed to claim the pool's pending commission."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call. Must be signed by the pool's root account."] - #[doc = "* `pool_id` - The identifier of the pool to set permissions for."] - #[doc = "* `permission` - Optional commission claim permission configuration. If None, removes any existing permission."] - pub struct SetCommissionClaimPermission { - pub pool_id: set_commission_claim_permission::PoolId, - pub permission: set_commission_claim_permission::Permission, + pub mod asset_lookup_reward_vaults { + use super::runtime_types; + pub type AssetLookupRewardVaults = ::core::primitive::u32; + pub type Param0 = runtime_types::tangle_primitives::services::types::Asset< + ::core::primitive::u128, + >; } - pub mod set_commission_claim_permission { + pub mod reward_config_storage { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; - pub type Permission = :: core :: option :: Option < runtime_types :: pallet_tangle_lst :: types :: commission :: CommissionClaimPermission < :: subxt_core :: utils :: AccountId32 > > ; + pub type RewardConfigStorage = + runtime_types::pallet_rewards::types::RewardConfigForAssetVault< + ::core::primitive::u128, + >; + pub type Param0 = ::core::primitive::u32; } - impl ::subxt_core::blocks::StaticExtrinsic for SetCommissionClaimPermission { - const PALLET: &'static str = "Lst"; - const CALL: &'static str = "set_commission_claim_permission"; + pub mod reward_vaults_pot_account { + use super::runtime_types; + pub type RewardVaultsPotAccount = ::subxt_core::utils::AccountId32; + pub type Param0 = ::core::primitive::u32; } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct SetLastPoolId { - pub pool_id: set_last_pool_id::PoolId, + pub mod apy_blocks { + use super::runtime_types; + pub type ApyBlocks = ::core::primitive::u64; } - pub mod set_last_pool_id { + pub mod decay_start_period { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; + pub type DecayStartPeriod = ::core::primitive::u64; } - impl ::subxt_core::blocks::StaticExtrinsic for SetLastPoolId { - const PALLET: &'static str = "Lst"; - const CALL: &'static str = "set_last_pool_id"; + pub mod decay_rate { + use super::runtime_types; + pub type DecayRate = runtime_types::sp_arithmetic::per_things::Perbill; } } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "Stakes funds with a pool by transferring the bonded amount from member to pool account."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `amount` - Amount to stake"] - #[doc = "* `pool_id` - Target pool ID"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::MinimumBondNotMet`] - Amount below minimum bond"] - #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] - #[doc = "* [`Error::DefensiveError`] - Reward pool not found"] - #[doc = ""] - #[doc = "# Note"] - #[doc = ""] - #[doc = "* Member must have `existential deposit + amount` in account"] - #[doc = "* Pool must be in [`PoolState::Open`] state"] - pub fn join( - &self, - amount: types::join::Amount, - pool_id: types::join::PoolId, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Lst", - "join", - types::Join { amount, pool_id }, - [ - 9u8, 24u8, 209u8, 117u8, 242u8, 76u8, 192u8, 40u8, 196u8, 136u8, 158u8, - 182u8, 117u8, 140u8, 164u8, 64u8, 184u8, 160u8, 146u8, 143u8, 173u8, - 180u8, 6u8, 242u8, 203u8, 130u8, 41u8, 176u8, 158u8, 96u8, 94u8, 175u8, - ], - ) - } - #[doc = "Bond additional funds into an existing pool position."] - #[doc = ""] - #[doc = "Additional funds can come from either free balance or accumulated rewards."] - #[doc = "Automatically pays out all pending rewards."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `pool_id` - Target pool ID"] - #[doc = "* `extra` - Source and amount of additional funds"] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed"] - #[doc = "* Must have permission to bond extra if not self"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] - #[doc = "* [`Error::DoesNotHavePermission`] - Caller lacks permission"] - #[doc = "* [`Error::DefensiveError`] - Reward pool not found"] - #[doc = ""] - #[doc = "# Note"] - #[doc = ""] - #[doc = "* This transaction prioritizes readability and correctness over optimization"] - #[doc = "* Multiple storage reads/writes are performed to reuse code"] - #[doc = "* See `bond_extra_other` to bond pending rewards of other members"] - pub fn bond_extra( + pub struct StorageApi; + impl StorageApi { + #[doc = " Stores the total score for each vault"] + #[doc = " The difference between this and total_reward_vault_deposit is that this includes locked"] + #[doc = " deposits multiplied by the lock multiplier"] + pub fn total_reward_vault_score_iter( &self, - pool_id: types::bond_extra::PoolId, - extra: types::bond_extra::Extra, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Lst", - "bond_extra", - types::BondExtra { pool_id, extra }, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::total_reward_vault_score::TotalRewardVaultScore, + (), + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Rewards", + "TotalRewardVaultScore", + (), [ - 207u8, 223u8, 241u8, 142u8, 14u8, 243u8, 19u8, 200u8, 33u8, 143u8, - 71u8, 169u8, 109u8, 253u8, 165u8, 4u8, 122u8, 75u8, 223u8, 219u8, 97u8, - 115u8, 92u8, 219u8, 50u8, 219u8, 65u8, 236u8, 210u8, 74u8, 189u8, 23u8, + 81u8, 149u8, 62u8, 176u8, 255u8, 187u8, 21u8, 2u8, 204u8, 121u8, 214u8, + 125u8, 223u8, 182u8, 204u8, 248u8, 232u8, 123u8, 163u8, 177u8, 173u8, + 25u8, 97u8, 90u8, 204u8, 82u8, 152u8, 36u8, 20u8, 13u8, 13u8, 189u8, ], ) } - #[doc = "Unbond points from a member's pool position, collecting any pending rewards."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `member_account` - Account to unbond from"] - #[doc = "* `pool_id` - Target pool ID"] - #[doc = "* `unbonding_points` - Amount of points to unbond"] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Permissionless if:"] - #[doc = " - Pool is blocked and caller is root/bouncer (kick)"] - #[doc = " - Pool is destroying and member is not depositor"] - #[doc = " - Pool is destroying, member is depositor, and pool is empty"] - #[doc = "* Permissioned (caller must be member) if:"] - #[doc = " - Caller is not depositor"] - #[doc = " - Caller is depositor, pool is destroying, and pool is empty"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] - #[doc = "* [`Error::NoBalanceToUnbond`] - Member has insufficient points"] - #[doc = "* [`Error::DefensiveError`] - Not enough space in unbond pool"] - #[doc = ""] - #[doc = "# Note"] - #[doc = "If no unlocking chunks are available, [`Call::pool_withdraw_unbonded`] can be called first."] - #[doc = "The staking interface will attempt this automatically but may still return `NoMoreChunks`"] - #[doc = "if chunks cannot be released."] - pub fn unbond( + #[doc = " Stores the total score for each vault"] + #[doc = " The difference between this and total_reward_vault_deposit is that this includes locked"] + #[doc = " deposits multiplied by the lock multiplier"] + pub fn total_reward_vault_score( &self, - member_account: types::unbond::MemberAccount, - pool_id: types::unbond::PoolId, - unbonding_points: types::unbond::UnbondingPoints, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Lst", - "unbond", - types::Unbond { member_account, pool_id, unbonding_points }, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey< + types::total_reward_vault_score::Param0, + >, + types::total_reward_vault_score::TotalRewardVaultScore, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Rewards", + "TotalRewardVaultScore", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 189u8, 203u8, 137u8, 121u8, 75u8, 69u8, 213u8, 105u8, 104u8, 118u8, - 109u8, 167u8, 88u8, 203u8, 168u8, 218u8, 229u8, 43u8, 69u8, 124u8, - 33u8, 139u8, 170u8, 102u8, 63u8, 150u8, 91u8, 103u8, 77u8, 50u8, 9u8, - 187u8, + 81u8, 149u8, 62u8, 176u8, 255u8, 187u8, 21u8, 2u8, 204u8, 121u8, 214u8, + 125u8, 223u8, 182u8, 204u8, 248u8, 232u8, 123u8, 163u8, 177u8, 173u8, + 25u8, 97u8, 90u8, 204u8, 82u8, 152u8, 36u8, 20u8, 13u8, 13u8, 189u8, ], ) } - #[doc = "Withdraws unbonded funds from the pool's staking account."] - #[doc = ""] - #[doc = "Useful for clearing unlocking chunks when there are too many to call `unbond`."] - #[doc = "Prevents `NoMoreChunks` errors from the staking system."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Can be signed by any account"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `pool_id` - Pool identifier"] - #[doc = "* `num_slashing_spans` - Number of slashing spans to check"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] - #[doc = "* [`Error::NotDestroying`] - Pool is in destroying state"] - pub fn pool_withdraw_unbonded( + #[doc = " Stores the total deposit for each vault"] + pub fn total_reward_vault_deposit_iter( &self, - pool_id: types::pool_withdraw_unbonded::PoolId, - num_slashing_spans: types::pool_withdraw_unbonded::NumSlashingSpans, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Lst", - "pool_withdraw_unbonded", - types::PoolWithdrawUnbonded { pool_id, num_slashing_spans }, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::total_reward_vault_deposit::TotalRewardVaultDeposit, + (), + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Rewards", + "TotalRewardVaultDeposit", + (), [ - 145u8, 39u8, 154u8, 109u8, 24u8, 233u8, 144u8, 66u8, 28u8, 252u8, - 180u8, 5u8, 54u8, 123u8, 28u8, 182u8, 26u8, 156u8, 69u8, 105u8, 226u8, - 208u8, 154u8, 34u8, 22u8, 201u8, 139u8, 104u8, 198u8, 195u8, 247u8, - 49u8, + 153u8, 26u8, 119u8, 97u8, 24u8, 180u8, 52u8, 220u8, 10u8, 27u8, 120u8, + 176u8, 18u8, 120u8, 19u8, 196u8, 16u8, 104u8, 16u8, 73u8, 255u8, 227u8, + 177u8, 254u8, 182u8, 35u8, 27u8, 27u8, 5u8, 106u8, 0u8, 63u8, ], ) } - #[doc = "Withdraw unbonded funds from a member account."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Permissionless if:"] - #[doc = " - Pool is in destroy mode and target is not depositor"] - #[doc = " - Target is depositor and only member in sub pools"] - #[doc = " - Pool is blocked and caller is root/bouncer"] - #[doc = "* Permissioned if caller is target and not depositor"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `member_account` - Account to withdraw from"] - #[doc = "* `pool_id` - Pool identifier"] - #[doc = "* `num_slashing_spans` - Number of slashing spans"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolMemberNotFound`] - Member account not found"] - #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] - #[doc = "* [`Error::SubPoolsNotFound`] - Sub pools not found"] - #[doc = "* [`Error::CannotWithdrawAny`] - No unbonded funds available"] - #[doc = ""] - #[doc = "If target is depositor, pool will be destroyed."] - pub fn withdraw_unbonded( + #[doc = " Stores the total deposit for each vault"] + pub fn total_reward_vault_deposit( &self, - member_account: types::withdraw_unbonded::MemberAccount, - pool_id: types::withdraw_unbonded::PoolId, - num_slashing_spans: types::withdraw_unbonded::NumSlashingSpans, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Lst", - "withdraw_unbonded", - types::WithdrawUnbonded { member_account, pool_id, num_slashing_spans }, - [ - 179u8, 221u8, 113u8, 60u8, 166u8, 26u8, 168u8, 219u8, 3u8, 250u8, - 196u8, 76u8, 24u8, 109u8, 8u8, 191u8, 202u8, 111u8, 119u8, 184u8, 26u8, - 96u8, 53u8, 104u8, 71u8, 115u8, 173u8, 91u8, 200u8, 213u8, 209u8, - 100u8, - ], - ) - } - #[doc = "Create a new delegation pool."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the account that will become the initial depositor"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `amount` - Amount to delegate to the pool"] - #[doc = "* `root` - Account to set as pool root"] - #[doc = "* `nominator` - Account to set as pool nominator"] - #[doc = "* `bouncer` - Account to set as pool bouncer"] - #[doc = "* `name` - Optional pool name bounded by `T::MaxNameLength`"] - #[doc = "* `icon` - Optional pool icon bounded by `T::MaxIconLength`"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::OverflowRisk`] - Pool ID increment would overflow"] - #[doc = ""] - #[doc = "# Note"] - #[doc = ""] - #[doc = "Caller must have `amount + existential_deposit` transferable funds."] - pub fn create( + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey< + types::total_reward_vault_deposit::Param0, + >, + types::total_reward_vault_deposit::TotalRewardVaultDeposit, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Rewards", + "TotalRewardVaultDeposit", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 153u8, 26u8, 119u8, 97u8, 24u8, 180u8, 52u8, 220u8, 10u8, 27u8, 120u8, + 176u8, 18u8, 120u8, 19u8, 196u8, 16u8, 104u8, 16u8, 73u8, 255u8, 227u8, + 177u8, 254u8, 182u8, 35u8, 27u8, 27u8, 5u8, 106u8, 0u8, 63u8, + ], + ) + } + #[doc = " Stores the service reward for a given user"] + pub fn user_service_reward_iter( &self, - amount: types::create::Amount, - root: types::create::Root, - nominator: types::create::Nominator, - bouncer: types::create::Bouncer, - name: types::create::Name, - icon: types::create::Icon, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Lst", - "create", - types::Create { amount, root, nominator, bouncer, name, icon }, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::user_service_reward::UserServiceReward, + (), + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Rewards", + "UserServiceReward", + (), [ - 155u8, 214u8, 57u8, 30u8, 13u8, 44u8, 25u8, 59u8, 143u8, 30u8, 135u8, - 176u8, 8u8, 168u8, 194u8, 130u8, 114u8, 155u8, 3u8, 80u8, 29u8, 243u8, - 145u8, 226u8, 28u8, 177u8, 102u8, 158u8, 32u8, 82u8, 0u8, 169u8, + 17u8, 184u8, 103u8, 139u8, 191u8, 239u8, 87u8, 61u8, 131u8, 108u8, + 189u8, 182u8, 114u8, 33u8, 47u8, 131u8, 228u8, 166u8, 129u8, 195u8, + 95u8, 198u8, 106u8, 161u8, 83u8, 38u8, 144u8, 23u8, 243u8, 6u8, 134u8, + 164u8, ], ) } - #[doc = "Create a new delegation pool with a previously used pool ID."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by the account that will become the depositor"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `amount` - Amount to delegate to the pool"] - #[doc = "* `root` - Account to set as pool root"] - #[doc = "* `nominator` - Account to set as pool nominator"] - #[doc = "* `bouncer` - Account to set as pool bouncer"] - #[doc = "* `pool_id` - Pool ID to reuse"] - #[doc = "* `name` - Optional pool name"] - #[doc = "* `icon` - Optional pool icon"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolIdInUse`] - Pool ID is already in use"] - #[doc = "* [`Error::InvalidPoolId`] - Pool ID is greater than last pool ID"] - #[doc = ""] - #[doc = "# Note"] - #[doc = ""] - #[doc = "Caller must have `amount + existential_deposit` transferable funds."] - pub fn create_with_pool_id( + #[doc = " Stores the service reward for a given user"] + pub fn user_service_reward_iter1( &self, - amount: types::create_with_pool_id::Amount, - root: types::create_with_pool_id::Root, - nominator: types::create_with_pool_id::Nominator, - bouncer: types::create_with_pool_id::Bouncer, - pool_id: types::create_with_pool_id::PoolId, - name: types::create_with_pool_id::Name, - icon: types::create_with_pool_id::Icon, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Lst", - "create_with_pool_id", - types::CreateWithPoolId { - amount, - root, - nominator, - bouncer, - pool_id, - name, - icon, - }, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey< + types::user_service_reward::Param0, + >, + types::user_service_reward::UserServiceReward, + (), + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Rewards", + "UserServiceReward", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 63u8, 171u8, 225u8, 224u8, 51u8, 116u8, 96u8, 130u8, 128u8, 42u8, - 112u8, 58u8, 55u8, 183u8, 1u8, 200u8, 111u8, 255u8, 214u8, 233u8, - 120u8, 69u8, 17u8, 68u8, 233u8, 0u8, 65u8, 164u8, 41u8, 218u8, 174u8, - 119u8, + 17u8, 184u8, 103u8, 139u8, 191u8, 239u8, 87u8, 61u8, 131u8, 108u8, + 189u8, 182u8, 114u8, 33u8, 47u8, 131u8, 228u8, 166u8, 129u8, 195u8, + 95u8, 198u8, 106u8, 161u8, 83u8, 38u8, 144u8, 23u8, 243u8, 6u8, 134u8, + 164u8, ], ) } - #[doc = "Nominate validators on behalf of the pool."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Pool nominator or root role can nominate validators"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `pool_id` - Pool identifier"] - #[doc = "* `validators` - List of validator accounts to nominate"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] - #[doc = "* [`Error::NotNominator`] - Caller lacks nominator permissions"] - #[doc = ""] - #[doc = "# Note"] - #[doc = ""] - #[doc = "Forwards nomination call to staking pallet using pool's bonded account."] - pub fn nominate( + #[doc = " Stores the service reward for a given user"] + pub fn user_service_reward( &self, - pool_id: types::nominate::PoolId, - validators: types::nominate::Validators, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Lst", - "nominate", - types::Nominate { pool_id, validators }, + _0: impl ::core::borrow::Borrow, + _1: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ( + ::subxt_core::storage::address::StaticStorageKey< + types::user_service_reward::Param0, + >, + ::subxt_core::storage::address::StaticStorageKey< + types::user_service_reward::Param1, + >, + ), + types::user_service_reward::UserServiceReward, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Rewards", + "UserServiceReward", + ( + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), + ), [ - 118u8, 80u8, 137u8, 47u8, 102u8, 9u8, 20u8, 136u8, 76u8, 164u8, 161u8, - 114u8, 33u8, 159u8, 204u8, 49u8, 233u8, 199u8, 246u8, 67u8, 144u8, - 169u8, 211u8, 67u8, 12u8, 68u8, 198u8, 149u8, 87u8, 62u8, 226u8, 72u8, + 17u8, 184u8, 103u8, 139u8, 191u8, 239u8, 87u8, 61u8, 131u8, 108u8, + 189u8, 182u8, 114u8, 33u8, 47u8, 131u8, 228u8, 166u8, 129u8, 195u8, + 95u8, 198u8, 106u8, 161u8, 83u8, 38u8, 144u8, 23u8, 243u8, 6u8, 134u8, + 164u8, ], ) } - #[doc = "Updates the state of a pool. Once a pool is in `Destroying` state, its state cannot be"] - #[doc = "changed again under any circumstances."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Pool bouncer or root role can set any state"] - #[doc = "* Any account can set state to `Destroying` if pool fails `ok_to_be_open` conditions"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `pool_id` - Pool identifier"] - #[doc = "* `state` - New state to set"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] - #[doc = "* [`Error::CanNotChangeState`] - Pool is in destroying state or caller lacks permissions"] - #[doc = ""] - #[doc = "# Note"] - #[doc = ""] - #[doc = "State changes are validated through `ok_to_be_open` which checks pool properties like"] - #[doc = "commission, member count and roles."] - pub fn set_state( + #[doc = " Stores the service reward for a given user"] + pub fn user_claimed_reward_iter( &self, - pool_id: types::set_state::PoolId, - state: types::set_state::State, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Lst", - "set_state", - types::SetState { pool_id, state }, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::user_claimed_reward::UserClaimedReward, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Rewards", + "UserClaimedReward", + (), [ - 39u8, 221u8, 24u8, 65u8, 144u8, 230u8, 228u8, 24u8, 191u8, 53u8, 171u8, - 148u8, 131u8, 45u8, 10u8, 22u8, 222u8, 240u8, 13u8, 87u8, 123u8, 182u8, - 102u8, 26u8, 124u8, 205u8, 23u8, 31u8, 25u8, 43u8, 12u8, 140u8, + 206u8, 242u8, 28u8, 7u8, 152u8, 211u8, 16u8, 91u8, 52u8, 84u8, 0u8, + 224u8, 145u8, 43u8, 26u8, 136u8, 113u8, 169u8, 109u8, 251u8, 145u8, + 75u8, 183u8, 206u8, 220u8, 207u8, 232u8, 152u8, 219u8, 88u8, 209u8, + 94u8, ], ) } - #[doc = "Updates the metadata for a given pool."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be called by the pool bouncer or root role"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `pool_id` - Pool identifier"] - #[doc = "* `metadata` - New metadata to set"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] - #[doc = "* [`Error::MetadataExceedsMaxLen`] - Metadata length exceeds maximum allowed"] - #[doc = "* [`Error::DoesNotHavePermission`] - Caller lacks required permissions"] - pub fn set_metadata( + #[doc = " Stores the service reward for a given user"] + pub fn user_claimed_reward_iter1( &self, - pool_id: types::set_metadata::PoolId, - metadata: types::set_metadata::Metadata, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Lst", - "set_metadata", - types::SetMetadata { pool_id, metadata }, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey< + types::user_claimed_reward::Param0, + >, + types::user_claimed_reward::UserClaimedReward, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Rewards", + "UserClaimedReward", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 221u8, 189u8, 15u8, 232u8, 0u8, 49u8, 187u8, 67u8, 124u8, 26u8, 114u8, - 191u8, 81u8, 14u8, 253u8, 75u8, 88u8, 182u8, 136u8, 18u8, 238u8, 119u8, - 215u8, 248u8, 133u8, 160u8, 154u8, 193u8, 177u8, 140u8, 1u8, 16u8, + 206u8, 242u8, 28u8, 7u8, 152u8, 211u8, 16u8, 91u8, 52u8, 84u8, 0u8, + 224u8, 145u8, 43u8, 26u8, 136u8, 113u8, 169u8, 109u8, 251u8, 145u8, + 75u8, 183u8, 206u8, 220u8, 207u8, 232u8, 152u8, 219u8, 88u8, 209u8, + 94u8, ], ) } - #[doc = "Updates the global configuration parameters for nomination pools."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be called by Root"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `min_join_bond` - Config operation for minimum bond to join a pool"] - #[doc = "* `min_create_bond` - Config operation for minimum bond to create a pool "] - #[doc = "* `max_pools` - Config operation for maximum number of pools"] - #[doc = "* `global_max_commission` - Config operation for maximum global commission"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`DispatchError::BadOrigin`] - Caller is not Root"] - pub fn set_configs( + #[doc = " Stores the service reward for a given user"] + pub fn user_claimed_reward( &self, - min_join_bond: types::set_configs::MinJoinBond, - min_create_bond: types::set_configs::MinCreateBond, - max_pools: types::set_configs::MaxPools, - global_max_commission: types::set_configs::GlobalMaxCommission, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Lst", - "set_configs", - types::SetConfigs { - min_join_bond, - min_create_bond, - max_pools, - global_max_commission, - }, + _0: impl ::core::borrow::Borrow, + _1: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ( + ::subxt_core::storage::address::StaticStorageKey< + types::user_claimed_reward::Param0, + >, + ::subxt_core::storage::address::StaticStorageKey< + types::user_claimed_reward::Param1, + >, + ), + types::user_claimed_reward::UserClaimedReward, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Rewards", + "UserClaimedReward", + ( + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), + ), [ - 162u8, 185u8, 108u8, 89u8, 8u8, 208u8, 236u8, 194u8, 219u8, 228u8, - 157u8, 105u8, 247u8, 228u8, 145u8, 127u8, 91u8, 0u8, 1u8, 92u8, 231u8, - 183u8, 162u8, 241u8, 247u8, 148u8, 44u8, 68u8, 22u8, 220u8, 189u8, - 81u8, + 206u8, 242u8, 28u8, 7u8, 152u8, 211u8, 16u8, 91u8, 52u8, 84u8, 0u8, + 224u8, 145u8, 43u8, 26u8, 136u8, 113u8, 169u8, 109u8, 251u8, 145u8, + 75u8, 183u8, 206u8, 220u8, 207u8, 232u8, 152u8, 219u8, 88u8, 209u8, + 94u8, ], ) } - #[doc = "Update the roles of a pool."] - #[doc = ""] - #[doc = "Updates root, nominator and bouncer roles for a given pool. The depositor role cannot be changed."] - #[doc = "Emits a `RolesUpdated` event on successful update."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Origin must be Root or pool root"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `pool_id` - Pool identifier"] - #[doc = "* `new_root` - New root role configuration"] - #[doc = "* `new_nominator` - New nominator role configuration "] - #[doc = "* `new_bouncer` - New bouncer role configuration"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] - #[doc = "* [`Error::DoesNotHavePermission`] - Origin does not have permission"] - pub fn update_roles( + #[doc = " Storage for the reward vaults"] + pub fn reward_vaults_iter( &self, - pool_id: types::update_roles::PoolId, - new_root: types::update_roles::NewRoot, - new_nominator: types::update_roles::NewNominator, - new_bouncer: types::update_roles::NewBouncer, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Lst", - "update_roles", - types::UpdateRoles { pool_id, new_root, new_nominator, new_bouncer }, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::reward_vaults::RewardVaults, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Rewards", + "RewardVaults", + (), [ - 48u8, 253u8, 39u8, 205u8, 196u8, 231u8, 254u8, 76u8, 238u8, 70u8, 2u8, - 192u8, 188u8, 240u8, 206u8, 91u8, 213u8, 98u8, 226u8, 51u8, 167u8, - 205u8, 120u8, 128u8, 40u8, 175u8, 238u8, 57u8, 147u8, 96u8, 116u8, - 133u8, + 29u8, 120u8, 143u8, 243u8, 2u8, 41u8, 241u8, 174u8, 61u8, 231u8, 246u8, + 255u8, 254u8, 79u8, 10u8, 248u8, 59u8, 248u8, 189u8, 209u8, 84u8, 90u8, + 111u8, 27u8, 92u8, 110u8, 210u8, 152u8, 231u8, 154u8, 161u8, 112u8, ], ) } - #[doc = "Chill on behalf of the pool by forwarding the call to the staking pallet."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Origin must be signed by pool nominator or root role"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call"] - #[doc = "* `pool_id` - Pool identifier"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] - #[doc = "* [`Error::NotNominator`] - Origin lacks nomination permission"] - pub fn chill( + #[doc = " Storage for the reward vaults"] + pub fn reward_vaults( &self, - pool_id: types::chill::PoolId, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Lst", - "chill", - types::Chill { pool_id }, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::reward_vaults::RewardVaults, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Rewards", + "RewardVaults", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 65u8, 206u8, 54u8, 53u8, 37u8, 97u8, 161u8, 104u8, 62u8, 9u8, 93u8, - 236u8, 61u8, 185u8, 204u8, 245u8, 234u8, 218u8, 213u8, 40u8, 154u8, - 29u8, 244u8, 19u8, 207u8, 172u8, 142u8, 221u8, 38u8, 70u8, 39u8, 10u8, + 29u8, 120u8, 143u8, 243u8, 2u8, 41u8, 241u8, 174u8, 61u8, 231u8, 246u8, + 255u8, 254u8, 79u8, 10u8, 248u8, 59u8, 248u8, 189u8, 209u8, 84u8, 90u8, + 111u8, 27u8, 92u8, 110u8, 210u8, 152u8, 231u8, 154u8, 161u8, 112u8, ], ) } - #[doc = "Bond additional funds for a pool member into their respective pool."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Origin must match member account for bonding from free balance/pending rewards"] - #[doc = "* Any origin can bond from pending rewards if member has `PermissionlessAll` or"] - #[doc = " `PermissionlessCompound` claim permissions"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call"] - #[doc = "* `member` - Pool member account to bond for"] - #[doc = "* `pool_id` - Pool identifier"] - #[doc = "* `extra` - Amount to bond from free balance or pending rewards"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolNotFound`] - Pool does not exist"] - #[doc = "* [`Error::PoolMemberNotFound`] - Account is not a member of pool"] - #[doc = "* [`Error::NoPermission`] - Origin lacks permission to bond for member"] - pub fn bond_extra_other( + #[doc = " Storage for the reward vaults"] + pub fn asset_lookup_reward_vaults_iter( &self, - member: types::bond_extra_other::Member, - pool_id: types::bond_extra_other::PoolId, - extra: types::bond_extra_other::Extra, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Lst", - "bond_extra_other", - types::BondExtraOther { member, pool_id, extra }, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::asset_lookup_reward_vaults::AssetLookupRewardVaults, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Rewards", + "AssetLookupRewardVaults", + (), [ - 209u8, 101u8, 203u8, 149u8, 91u8, 1u8, 60u8, 191u8, 154u8, 70u8, 66u8, - 221u8, 33u8, 38u8, 239u8, 209u8, 23u8, 80u8, 87u8, 226u8, 121u8, 15u8, - 242u8, 80u8, 69u8, 127u8, 116u8, 25u8, 157u8, 233u8, 22u8, 40u8, + 102u8, 24u8, 170u8, 108u8, 171u8, 54u8, 53u8, 186u8, 3u8, 87u8, 224u8, + 25u8, 113u8, 74u8, 180u8, 59u8, 181u8, 120u8, 89u8, 36u8, 0u8, 245u8, + 81u8, 197u8, 154u8, 157u8, 52u8, 213u8, 151u8, 197u8, 46u8, 173u8, ], ) } - #[doc = "Set or remove the commission rate and payee for a pool."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Caller must have commission management permission for the pool"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call"] - #[doc = "* `pool_id` - The pool identifier"] - #[doc = "* `new_commission` - Optional commission rate and payee. None removes existing commission"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolNotFound`] - The pool_id does not exist"] - #[doc = "* [`Error::DoesNotHavePermission`] - Caller lacks commission management permission"] - pub fn set_commission( + #[doc = " Storage for the reward vaults"] + pub fn asset_lookup_reward_vaults( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey< + types::asset_lookup_reward_vaults::Param0, + >, + types::asset_lookup_reward_vaults::AssetLookupRewardVaults, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Rewards", + "AssetLookupRewardVaults", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 102u8, 24u8, 170u8, 108u8, 171u8, 54u8, 53u8, 186u8, 3u8, 87u8, 224u8, + 25u8, 113u8, 74u8, 180u8, 59u8, 181u8, 120u8, 89u8, 36u8, 0u8, 245u8, + 81u8, 197u8, 154u8, 157u8, 52u8, 213u8, 151u8, 197u8, 46u8, 173u8, + ], + ) + } + #[doc = " Storage for the reward configuration, which includes APY, cap for assets"] + pub fn reward_config_storage_iter( &self, - pool_id: types::set_commission::PoolId, - new_commission: types::set_commission::NewCommission, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Lst", - "set_commission", - types::SetCommission { pool_id, new_commission }, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::reward_config_storage::RewardConfigStorage, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Rewards", + "RewardConfigStorage", + (), [ - 77u8, 139u8, 221u8, 210u8, 51u8, 57u8, 243u8, 96u8, 25u8, 0u8, 42u8, - 81u8, 80u8, 7u8, 145u8, 28u8, 17u8, 44u8, 123u8, 28u8, 130u8, 194u8, - 153u8, 139u8, 222u8, 166u8, 169u8, 184u8, 46u8, 178u8, 236u8, 246u8, + 167u8, 13u8, 248u8, 73u8, 101u8, 33u8, 39u8, 129u8, 241u8, 211u8, + 177u8, 159u8, 73u8, 133u8, 168u8, 168u8, 249u8, 121u8, 83u8, 168u8, + 124u8, 215u8, 31u8, 197u8, 62u8, 13u8, 213u8, 16u8, 15u8, 142u8, 71u8, + 190u8, ], ) } - #[doc = "Set the maximum commission rate for a pool. Initial max can be set to any value, with only"] - #[doc = "lower values allowed thereafter. Current commission will be reduced if above new max."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Caller must have commission management permission for the pool"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call"] - #[doc = "* `pool_id` - The pool identifier"] - #[doc = "* `max_commission` - The new maximum commission rate"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::PoolNotFound`] - The pool_id does not exist"] - #[doc = "* [`Error::DoesNotHavePermission`] - Caller lacks commission management permission"] - pub fn set_commission_max( + #[doc = " Storage for the reward configuration, which includes APY, cap for assets"] + pub fn reward_config_storage( &self, - pool_id: types::set_commission_max::PoolId, - max_commission: types::set_commission_max::MaxCommission, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Lst", - "set_commission_max", - types::SetCommissionMax { pool_id, max_commission }, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey< + types::reward_config_storage::Param0, + >, + types::reward_config_storage::RewardConfigStorage, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Rewards", + "RewardConfigStorage", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 198u8, 127u8, 255u8, 230u8, 96u8, 142u8, 9u8, 220u8, 204u8, 82u8, - 192u8, 76u8, 140u8, 52u8, 94u8, 80u8, 153u8, 30u8, 162u8, 21u8, 71u8, - 31u8, 218u8, 160u8, 254u8, 180u8, 160u8, 219u8, 163u8, 30u8, 193u8, - 6u8, + 167u8, 13u8, 248u8, 73u8, 101u8, 33u8, 39u8, 129u8, 241u8, 211u8, + 177u8, 159u8, 73u8, 133u8, 168u8, 168u8, 249u8, 121u8, 83u8, 168u8, + 124u8, 215u8, 31u8, 197u8, 62u8, 13u8, 213u8, 16u8, 15u8, 142u8, 71u8, + 190u8, ], ) } - #[doc = "Set the commission change rate for a pool."] - #[doc = ""] - #[doc = "Initial change rate is not bounded, whereas subsequent updates can only be more"] - #[doc = "restrictive than the current."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call. Must be signed by an account with commission management permission."] - #[doc = "* `pool_id` - The identifier of the pool to set commission change rate for."] - #[doc = "* `change_rate` - The new commission change rate configuration."] - pub fn set_commission_change_rate( + #[doc = " Storage for the reward vaults"] + pub fn reward_vaults_pot_account_iter( &self, - pool_id: types::set_commission_change_rate::PoolId, - change_rate: types::set_commission_change_rate::ChangeRate, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Lst", - "set_commission_change_rate", - types::SetCommissionChangeRate { pool_id, change_rate }, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::reward_vaults_pot_account::RewardVaultsPotAccount, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Rewards", + "RewardVaultsPotAccount", + (), [ - 253u8, 128u8, 246u8, 46u8, 81u8, 204u8, 114u8, 21u8, 245u8, 99u8, 88u8, - 98u8, 194u8, 103u8, 85u8, 231u8, 181u8, 61u8, 146u8, 184u8, 225u8, - 175u8, 175u8, 99u8, 63u8, 141u8, 112u8, 218u8, 160u8, 226u8, 251u8, - 185u8, + 37u8, 51u8, 253u8, 251u8, 66u8, 90u8, 154u8, 16u8, 216u8, 200u8, 64u8, + 151u8, 93u8, 34u8, 232u8, 112u8, 13u8, 166u8, 96u8, 33u8, 163u8, 36u8, + 214u8, 248u8, 191u8, 206u8, 24u8, 245u8, 60u8, 21u8, 115u8, 123u8, ], ) } - #[doc = "Claim pending commission for a pool."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be signed by an account with commission claim permission."] - #[doc = "Pending commission is paid out and added to total claimed commission. Total pending commission"] - #[doc = "is reset to zero."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call. Must be signed by an account with commission claim permission."] - #[doc = "* `pool_id` - The identifier of the pool to claim commission from."] - pub fn claim_commission( + #[doc = " Storage for the reward vaults"] + pub fn reward_vaults_pot_account( &self, - pool_id: types::claim_commission::PoolId, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Lst", - "claim_commission", - types::ClaimCommission { pool_id }, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey< + types::reward_vaults_pot_account::Param0, + >, + types::reward_vaults_pot_account::RewardVaultsPotAccount, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Rewards", + "RewardVaultsPotAccount", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 51u8, 64u8, 163u8, 230u8, 2u8, 119u8, 68u8, 5u8, 154u8, 4u8, 84u8, - 149u8, 9u8, 195u8, 173u8, 37u8, 98u8, 48u8, 188u8, 65u8, 81u8, 11u8, - 64u8, 254u8, 126u8, 62u8, 29u8, 204u8, 92u8, 230u8, 240u8, 91u8, + 37u8, 51u8, 253u8, 251u8, 66u8, 90u8, 154u8, 16u8, 216u8, 200u8, 64u8, + 151u8, 93u8, 34u8, 232u8, 112u8, 13u8, 166u8, 96u8, 33u8, 163u8, 36u8, + 214u8, 248u8, 191u8, 206u8, 24u8, 245u8, 60u8, 21u8, 115u8, 123u8, ], ) } - #[doc = "Top up the deficit or withdraw the excess ED from the pool."] - #[doc = ""] - #[doc = "When a pool is created, the pool depositor transfers ED to the reward account of the"] - #[doc = "pool. ED is subject to change and over time, the deposit in the reward account may be"] - #[doc = "insufficient to cover the ED deficit of the pool or vice-versa where there is excess"] - #[doc = "deposit to the pool. This call allows anyone to adjust the ED deposit of the"] - #[doc = "pool by either topping up the deficit or claiming the excess."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call. Must be signed."] - #[doc = "* `pool_id` - The identifier of the pool to adjust the deposit for."] - pub fn adjust_pool_deposit( + #[doc = " Storage for the reward configuration, which includes APY, cap for assets"] + pub fn apy_blocks( &self, - pool_id: types::adjust_pool_deposit::PoolId, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Lst", - "adjust_pool_deposit", - types::AdjustPoolDeposit { pool_id }, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::apy_blocks::ApyBlocks, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Rewards", + "ApyBlocks", + (), [ - 5u8, 203u8, 109u8, 141u8, 29u8, 58u8, 216u8, 21u8, 219u8, 139u8, 129u8, - 33u8, 49u8, 196u8, 255u8, 49u8, 79u8, 218u8, 24u8, 250u8, 254u8, 64u8, - 215u8, 33u8, 223u8, 205u8, 117u8, 209u8, 138u8, 115u8, 174u8, 181u8, + 71u8, 90u8, 224u8, 106u8, 55u8, 84u8, 146u8, 87u8, 161u8, 20u8, 43u8, + 111u8, 227u8, 227u8, 185u8, 203u8, 21u8, 232u8, 91u8, 165u8, 12u8, + 94u8, 49u8, 109u8, 220u8, 193u8, 205u8, 54u8, 30u8, 41u8, 137u8, 135u8, ], ) } - #[doc = "Set or remove a pool's commission claim permission."] - #[doc = ""] - #[doc = "Only the `Root` role of the pool is able to configure commission claim permissions."] - #[doc = "This determines which accounts are allowed to claim the pool's pending commission."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - The origin of the call. Must be signed by the pool's root account."] - #[doc = "* `pool_id` - The identifier of the pool to set permissions for."] - #[doc = "* `permission` - Optional commission claim permission configuration. If None, removes any existing permission."] - pub fn set_commission_claim_permission( + #[doc = " Number of blocks after which decay starts (e.g., 432000 for 30 days with 6s blocks)"] + pub fn decay_start_period( &self, - pool_id: types::set_commission_claim_permission::PoolId, - permission: types::set_commission_claim_permission::Permission, - ) -> ::subxt_core::tx::payload::StaticPayload - { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Lst", - "set_commission_claim_permission", - types::SetCommissionClaimPermission { pool_id, permission }, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::decay_start_period::DecayStartPeriod, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Rewards", + "DecayStartPeriod", + (), [ - 2u8, 140u8, 135u8, 31u8, 180u8, 2u8, 245u8, 33u8, 34u8, 204u8, 192u8, - 30u8, 131u8, 4u8, 108u8, 194u8, 154u8, 65u8, 104u8, 252u8, 84u8, 58u8, - 10u8, 47u8, 238u8, 185u8, 91u8, 162u8, 190u8, 239u8, 74u8, 38u8, + 74u8, 132u8, 62u8, 230u8, 220u8, 148u8, 138u8, 23u8, 193u8, 248u8, + 78u8, 1u8, 90u8, 174u8, 38u8, 101u8, 163u8, 242u8, 17u8, 217u8, 197u8, + 80u8, 222u8, 187u8, 116u8, 101u8, 139u8, 146u8, 138u8, 103u8, 109u8, + 122u8, ], ) } - pub fn set_last_pool_id( + #[doc = " Per-block decay rate in basis points (1/10000). e.g., 1 = 0.01% per block"] + pub fn decay_rate( &self, - pool_id: types::set_last_pool_id::PoolId, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Lst", - "set_last_pool_id", - types::SetLastPoolId { pool_id }, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::decay_rate::DecayRate, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Rewards", + "DecayRate", + (), [ - 144u8, 224u8, 38u8, 208u8, 118u8, 48u8, 28u8, 112u8, 196u8, 139u8, - 69u8, 15u8, 119u8, 203u8, 144u8, 76u8, 255u8, 43u8, 23u8, 79u8, 27u8, - 30u8, 157u8, 242u8, 51u8, 91u8, 255u8, 79u8, 157u8, 242u8, 162u8, - 100u8, + 5u8, 116u8, 51u8, 176u8, 82u8, 107u8, 221u8, 189u8, 34u8, 234u8, 219u8, + 165u8, 106u8, 189u8, 225u8, 31u8, 195u8, 30u8, 87u8, 132u8, 140u8, + 152u8, 77u8, 212u8, 252u8, 253u8, 153u8, 128u8, 21u8, 232u8, 74u8, + 159u8, ], ) } } } - #[doc = "Events of this pallet."] - pub type Event = runtime_types::pallet_tangle_lst::pallet::Event; - pub mod events { + } + pub mod ismp { + use super::root_mod; + use super::runtime_types; + #[doc = "Pallet errors"] + pub type Error = runtime_types::pallet_ismp::pallet::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::pallet_ismp::pallet::Call; + pub mod calls { + use super::root_mod; use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A pool has been created."] - pub struct Created { - pub depositor: created::Depositor, - pub pool_id: created::PoolId, - } - pub mod created { - use super::runtime_types; - pub type Depositor = ::subxt_core::utils::AccountId32; - pub type PoolId = ::core::primitive::u32; - } - impl ::subxt_core::events::StaticEvent for Created { - const PALLET: &'static str = "Lst"; - const EVENT: &'static str = "Created"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A member has become bonded in a pool."] - pub struct Bonded { - pub member: bonded::Member, - pub pool_id: bonded::PoolId, - pub bonded: bonded::Bonded, - pub joined: bonded::Joined, - } - pub mod bonded { - use super::runtime_types; - pub type Member = ::subxt_core::utils::AccountId32; - pub type PoolId = ::core::primitive::u32; - pub type Bonded = ::core::primitive::u128; - pub type Joined = ::core::primitive::bool; - } - impl ::subxt_core::events::StaticEvent for Bonded { - const PALLET: &'static str = "Lst"; - const EVENT: &'static str = "Bonded"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A payout has been made to a member."] - pub struct PaidOut { - pub member: paid_out::Member, - pub pool_id: paid_out::PoolId, - pub payout: paid_out::Payout, - } - pub mod paid_out { - use super::runtime_types; - pub type Member = ::subxt_core::utils::AccountId32; - pub type PoolId = ::core::primitive::u32; - pub type Payout = ::core::primitive::u128; - } - impl ::subxt_core::events::StaticEvent for PaidOut { - const PALLET: &'static str = "Lst"; - const EVENT: &'static str = "PaidOut"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A member has unbonded from their pool."] - #[doc = ""] - #[doc = "- `balance` is the corresponding balance of the number of points that has been"] - #[doc = " requested to be unbonded (the argument of the `unbond` transaction) from the bonded"] - #[doc = " pool."] - #[doc = "- `points` is the number of points that are issued as a result of `balance` being"] - #[doc = " dissolved into the corresponding unbonding pool."] - #[doc = "- `era` is the era in which the balance will be unbonded."] - #[doc = "In the absence of slashing, these values will match. In the presence of slashing, the"] - #[doc = "number of points that are issued in the unbonding pool will be less than the amount"] - #[doc = "requested to be unbonded."] - pub struct Unbonded { - pub member: unbonded::Member, - pub pool_id: unbonded::PoolId, - pub balance: unbonded::Balance, - pub points: unbonded::Points, - pub era: unbonded::Era, - } - pub mod unbonded { - use super::runtime_types; - pub type Member = ::subxt_core::utils::AccountId32; - pub type PoolId = ::core::primitive::u32; - pub type Balance = ::core::primitive::u128; - pub type Points = ::core::primitive::u128; - pub type Era = ::core::primitive::u32; - } - impl ::subxt_core::events::StaticEvent for Unbonded { - const PALLET: &'static str = "Lst"; - const EVENT: &'static str = "Unbonded"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A member has withdrawn from their pool."] - #[doc = ""] - #[doc = "The given number of `points` have been dissolved in return for `balance`."] - #[doc = ""] - #[doc = "Similar to `Unbonded` event, in the absence of slashing, the ratio of point to balance"] - #[doc = "will be 1."] - pub struct Withdrawn { - pub member: withdrawn::Member, - pub pool_id: withdrawn::PoolId, - pub balance: withdrawn::Balance, - pub points: withdrawn::Points, - } - pub mod withdrawn { - use super::runtime_types; - pub type Member = ::subxt_core::utils::AccountId32; - pub type PoolId = ::core::primitive::u32; - pub type Balance = ::core::primitive::u128; - pub type Points = ::core::primitive::u128; - } - impl ::subxt_core::events::StaticEvent for Withdrawn { - const PALLET: &'static str = "Lst"; - const EVENT: &'static str = "Withdrawn"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A pool has been destroyed."] - pub struct Destroyed { - pub pool_id: destroyed::PoolId, - } - pub mod destroyed { + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Execute the provided batch of ISMP messages, this will short-circuit and revert if any"] + #[doc = "of the provided messages are invalid. This is an unsigned extrinsic that permits anyone"] + #[doc = "execute ISMP messages for free, provided they have valid proofs and the messages have"] + #[doc = "not been previously processed."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be an unsigned one."] + #[doc = ""] + #[doc = "- `messages`: the messages to handle or process."] + #[doc = ""] + #[doc = "Emits different message events based on the Message received if successful."] + pub struct HandleUnsigned { + pub messages: handle_unsigned::Messages, + } + pub mod handle_unsigned { + use super::runtime_types; + pub type Messages = + ::subxt_core::alloc::vec::Vec; + } + impl ::subxt_core::blocks::StaticExtrinsic for HandleUnsigned { + const PALLET: &'static str = "Ismp"; + const CALL: &'static str = "handle_unsigned"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Create a consensus client, using a subjectively chosen consensus state. This can also"] + #[doc = "be used to overwrite an existing consensus state. The dispatch origin for this"] + #[doc = "call must be `T::AdminOrigin`."] + #[doc = ""] + #[doc = "- `message`: [`CreateConsensusState`] struct."] + #[doc = ""] + #[doc = "Emits [`Event::ConsensusClientCreated`] if successful."] + pub struct CreateConsensusClient { + pub message: create_consensus_client::Message, + } + pub mod create_consensus_client { + use super::runtime_types; + pub type Message = runtime_types::ismp::messaging::CreateConsensusState; + } + impl ::subxt_core::blocks::StaticExtrinsic for CreateConsensusClient { + const PALLET: &'static str = "Ismp"; + const CALL: &'static str = "create_consensus_client"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Modify the unbonding period and challenge period for a consensus state."] + #[doc = "The dispatch origin for this call must be `T::AdminOrigin`."] + #[doc = ""] + #[doc = "- `message`: `UpdateConsensusState` struct."] + pub struct UpdateConsensusState { + pub message: update_consensus_state::Message, + } + pub mod update_consensus_state { + use super::runtime_types; + pub type Message = runtime_types::pallet_ismp::utils::UpdateConsensusState; + } + impl ::subxt_core::blocks::StaticExtrinsic for UpdateConsensusState { + const PALLET: &'static str = "Ismp"; + const CALL: &'static str = "update_consensus_state"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Add more funds to a message (request or response) to be used for delivery and execution."] + #[doc = ""] + #[doc = "Should not be called on a message that has been completed (delivered or timed-out) as"] + #[doc = "those funds will be lost forever."] + pub struct FundMessage { + pub message: fund_message::Message, + } + pub mod fund_message { + use super::runtime_types; + pub type Message = runtime_types::pallet_ismp::utils::FundMessageParams< + ::core::primitive::u128, + >; + } + impl ::subxt_core::blocks::StaticExtrinsic for FundMessage { + const PALLET: &'static str = "Ismp"; + const CALL: &'static str = "fund_message"; + } } - impl ::subxt_core::events::StaticEvent for Destroyed { - const PALLET: &'static str = "Lst"; - const EVENT: &'static str = "Destroyed"; + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Execute the provided batch of ISMP messages, this will short-circuit and revert if any"] + #[doc = "of the provided messages are invalid. This is an unsigned extrinsic that permits anyone"] + #[doc = "execute ISMP messages for free, provided they have valid proofs and the messages have"] + #[doc = "not been previously processed."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be an unsigned one."] + #[doc = ""] + #[doc = "- `messages`: the messages to handle or process."] + #[doc = ""] + #[doc = "Emits different message events based on the Message received if successful."] + pub fn handle_unsigned( + &self, + messages: types::handle_unsigned::Messages, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Ismp", + "handle_unsigned", + types::HandleUnsigned { messages }, + [ + 89u8, 128u8, 73u8, 218u8, 88u8, 57u8, 205u8, 4u8, 66u8, 147u8, 68u8, + 52u8, 134u8, 116u8, 26u8, 42u8, 27u8, 32u8, 61u8, 135u8, 213u8, 203u8, + 137u8, 227u8, 142u8, 173u8, 213u8, 157u8, 69u8, 200u8, 15u8, 119u8, + ], + ) + } + #[doc = "Create a consensus client, using a subjectively chosen consensus state. This can also"] + #[doc = "be used to overwrite an existing consensus state. The dispatch origin for this"] + #[doc = "call must be `T::AdminOrigin`."] + #[doc = ""] + #[doc = "- `message`: [`CreateConsensusState`] struct."] + #[doc = ""] + #[doc = "Emits [`Event::ConsensusClientCreated`] if successful."] + pub fn create_consensus_client( + &self, + message: types::create_consensus_client::Message, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Ismp", + "create_consensus_client", + types::CreateConsensusClient { message }, + [ + 84u8, 48u8, 206u8, 178u8, 205u8, 189u8, 245u8, 160u8, 138u8, 33u8, + 107u8, 229u8, 223u8, 184u8, 179u8, 252u8, 64u8, 127u8, 166u8, 44u8, + 93u8, 250u8, 248u8, 65u8, 32u8, 172u8, 114u8, 123u8, 107u8, 34u8, + 138u8, 42u8, + ], + ) + } + #[doc = "Modify the unbonding period and challenge period for a consensus state."] + #[doc = "The dispatch origin for this call must be `T::AdminOrigin`."] + #[doc = ""] + #[doc = "- `message`: `UpdateConsensusState` struct."] + pub fn update_consensus_state( + &self, + message: types::update_consensus_state::Message, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Ismp", + "update_consensus_state", + types::UpdateConsensusState { message }, + [ + 205u8, 23u8, 170u8, 121u8, 206u8, 137u8, 225u8, 159u8, 241u8, 238u8, + 97u8, 142u8, 201u8, 190u8, 177u8, 246u8, 80u8, 214u8, 140u8, 173u8, + 221u8, 65u8, 162u8, 135u8, 146u8, 43u8, 223u8, 27u8, 146u8, 191u8, + 77u8, 247u8, + ], + ) + } + #[doc = "Add more funds to a message (request or response) to be used for delivery and execution."] + #[doc = ""] + #[doc = "Should not be called on a message that has been completed (delivered or timed-out) as"] + #[doc = "those funds will be lost forever."] + pub fn fund_message( + &self, + message: types::fund_message::Message, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "Ismp", + "fund_message", + types::FundMessage { message }, + [ + 61u8, 68u8, 29u8, 251u8, 220u8, 212u8, 80u8, 45u8, 65u8, 205u8, 111u8, + 91u8, 88u8, 95u8, 61u8, 160u8, 27u8, 153u8, 38u8, 7u8, 247u8, 94u8, + 214u8, 216u8, 204u8, 237u8, 208u8, 216u8, 3u8, 178u8, 53u8, 6u8, + ], + ) + } } + } + #[doc = "Pallet Events"] + pub type Event = runtime_types::pallet_ismp::pallet::Event; + pub mod events { + use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -52830,19 +52348,19 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "The state of a pool has changed"] - pub struct StateChanged { - pub pool_id: state_changed::PoolId, - pub new_state: state_changed::NewState, + #[doc = "Emitted when a state machine is successfully updated to a new height"] + pub struct StateMachineUpdated { + pub state_machine_id: state_machine_updated::StateMachineId, + pub latest_height: state_machine_updated::LatestHeight, } - pub mod state_changed { + pub mod state_machine_updated { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; - pub type NewState = runtime_types::pallet_tangle_lst::types::pools::PoolState; + pub type StateMachineId = runtime_types::ismp::consensus::StateMachineId; + pub type LatestHeight = ::core::primitive::u64; } - impl ::subxt_core::events::StaticEvent for StateChanged { - const PALLET: &'static str = "Lst"; - const EVENT: &'static str = "StateChanged"; + impl ::subxt_core::events::StaticEvent for StateMachineUpdated { + const PALLET: &'static str = "Ismp"; + const EVENT: &'static str = "StateMachineUpdated"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -52858,21 +52376,21 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A member has been removed from a pool."] - #[doc = ""] - #[doc = "The removal can be voluntary (withdrawn all unbonded funds) or involuntary (kicked)."] - pub struct MemberRemoved { - pub pool_id: member_removed::PoolId, - pub member: member_removed::Member, + #[doc = "Emitted when a state commitment is vetoed by a fisherman"] + pub struct StateCommitmentVetoed { + pub height: state_commitment_vetoed::Height, + pub fisherman: state_commitment_vetoed::Fisherman, } - pub mod member_removed { + pub mod state_commitment_vetoed { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; - pub type Member = ::subxt_core::utils::AccountId32; + pub type Height = runtime_types::ismp::consensus::StateMachineHeight; + pub type Fisherman = runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >; } - impl ::subxt_core::events::StaticEvent for MemberRemoved { - const PALLET: &'static str = "Lst"; - const EVENT: &'static str = "MemberRemoved"; + impl ::subxt_core::events::StaticEvent for StateCommitmentVetoed { + const PALLET: &'static str = "Ismp"; + const EVENT: &'static str = "StateCommitmentVetoed"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -52888,22 +52406,17 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "The roles of a pool have been updated to the given new roles. Note that the depositor"] - #[doc = "can never change."] - pub struct RolesUpdated { - pub root: roles_updated::Root, - pub bouncer: roles_updated::Bouncer, - pub nominator: roles_updated::Nominator, + #[doc = "Indicates that a consensus client has been created"] + pub struct ConsensusClientCreated { + pub consensus_client_id: consensus_client_created::ConsensusClientId, } - pub mod roles_updated { + pub mod consensus_client_created { use super::runtime_types; - pub type Root = ::core::option::Option<::subxt_core::utils::AccountId32>; - pub type Bouncer = ::core::option::Option<::subxt_core::utils::AccountId32>; - pub type Nominator = ::core::option::Option<::subxt_core::utils::AccountId32>; + pub type ConsensusClientId = [::core::primitive::u8; 4usize]; } - impl ::subxt_core::events::StaticEvent for RolesUpdated { - const PALLET: &'static str = "Lst"; - const EVENT: &'static str = "RolesUpdated"; + impl ::subxt_core::events::StaticEvent for ConsensusClientCreated { + const PALLET: &'static str = "Ismp"; + const EVENT: &'static str = "ConsensusClientCreated"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -52919,19 +52432,17 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "The active balance of pool `pool_id` has been slashed to `balance`."] - pub struct PoolSlashed { - pub pool_id: pool_slashed::PoolId, - pub balance: pool_slashed::Balance, + #[doc = "Indicates that a consensus client has been created"] + pub struct ConsensusClientFrozen { + pub consensus_client_id: consensus_client_frozen::ConsensusClientId, } - pub mod pool_slashed { + pub mod consensus_client_frozen { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; - pub type Balance = ::core::primitive::u128; + pub type ConsensusClientId = [::core::primitive::u8; 4usize]; } - impl ::subxt_core::events::StaticEvent for PoolSlashed { - const PALLET: &'static str = "Lst"; - const EVENT: &'static str = "PoolSlashed"; + impl ::subxt_core::events::StaticEvent for ConsensusClientFrozen { + const PALLET: &'static str = "Ismp"; + const EVENT: &'static str = "ConsensusClientFrozen"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -52947,21 +52458,25 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "The unbond pool at `era` of pool `pool_id` has been slashed to `balance`."] - pub struct UnbondingPoolSlashed { - pub pool_id: unbonding_pool_slashed::PoolId, - pub era: unbonding_pool_slashed::Era, - pub balance: unbonding_pool_slashed::Balance, - } - pub mod unbonding_pool_slashed { + #[doc = "An Outgoing Response has been deposited"] + pub struct Response { + pub dest_chain: response::DestChain, + pub source_chain: response::SourceChain, + pub request_nonce: response::RequestNonce, + pub commitment: response::Commitment, + pub req_commitment: response::ReqCommitment, + } + pub mod response { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; - pub type Era = ::core::primitive::u32; - pub type Balance = ::core::primitive::u128; + pub type DestChain = runtime_types::ismp::host::StateMachine; + pub type SourceChain = runtime_types::ismp::host::StateMachine; + pub type RequestNonce = ::core::primitive::u64; + pub type Commitment = ::subxt_core::utils::H256; + pub type ReqCommitment = ::subxt_core::utils::H256; } - impl ::subxt_core::events::StaticEvent for UnbondingPoolSlashed { - const PALLET: &'static str = "Lst"; - const EVENT: &'static str = "UnbondingPoolSlashed"; + impl ::subxt_core::events::StaticEvent for Response { + const PALLET: &'static str = "Ismp"; + const EVENT: &'static str = "Response"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -52977,22 +52492,23 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A pool's commission setting has been changed."] - pub struct PoolCommissionUpdated { - pub pool_id: pool_commission_updated::PoolId, - pub current: pool_commission_updated::Current, - } - pub mod pool_commission_updated { + #[doc = "An Outgoing Request has been deposited"] + pub struct Request { + pub dest_chain: request::DestChain, + pub source_chain: request::SourceChain, + pub request_nonce: request::RequestNonce, + pub commitment: request::Commitment, + } + pub mod request { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; - pub type Current = ::core::option::Option<( - runtime_types::sp_arithmetic::per_things::Perbill, - ::subxt_core::utils::AccountId32, - )>; + pub type DestChain = runtime_types::ismp::host::StateMachine; + pub type SourceChain = runtime_types::ismp::host::StateMachine; + pub type RequestNonce = ::core::primitive::u64; + pub type Commitment = ::subxt_core::utils::H256; } - impl ::subxt_core::events::StaticEvent for PoolCommissionUpdated { - const PALLET: &'static str = "Lst"; - const EVENT: &'static str = "PoolCommissionUpdated"; + impl ::subxt_core::events::StaticEvent for Request { + const PALLET: &'static str = "Ismp"; + const EVENT: &'static str = "Request"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -53008,19 +52524,19 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A pool's maximum commission setting has been changed."] - pub struct PoolMaxCommissionUpdated { - pub pool_id: pool_max_commission_updated::PoolId, - pub max_commission: pool_max_commission_updated::MaxCommission, + #[doc = "Some errors handling some ismp messages"] + pub struct Errors { + pub errors: errors::Errors, } - pub mod pool_max_commission_updated { + pub mod errors { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; - pub type MaxCommission = runtime_types::sp_arithmetic::per_things::Perbill; + pub type Errors = ::subxt_core::alloc::vec::Vec< + runtime_types::pallet_ismp::errors::HandlingError, + >; } - impl ::subxt_core::events::StaticEvent for PoolMaxCommissionUpdated { - const PALLET: &'static str = "Lst"; - const EVENT: &'static str = "PoolMaxCommissionUpdated"; + impl ::subxt_core::events::StaticEvent for Errors { + const PALLET: &'static str = "Ismp"; + const EVENT: &'static str = "Errors"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -53036,22 +52552,15 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "A pool's commission `change_rate` has been changed."] - pub struct PoolCommissionChangeRateUpdated { - pub pool_id: pool_commission_change_rate_updated::PoolId, - pub change_rate: pool_commission_change_rate_updated::ChangeRate, - } - pub mod pool_commission_change_rate_updated { + #[doc = "Post Request Handled"] + pub struct PostRequestHandled(pub post_request_handled::Field0); + pub mod post_request_handled { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; - pub type ChangeRate = - runtime_types::pallet_tangle_lst::types::commission::CommissionChangeRate< - ::core::primitive::u64, - >; + pub type Field0 = runtime_types::ismp::events::RequestResponseHandled; } - impl ::subxt_core::events::StaticEvent for PoolCommissionChangeRateUpdated { - const PALLET: &'static str = "Lst"; - const EVENT: &'static str = "PoolCommissionChangeRateUpdated"; + impl ::subxt_core::events::StaticEvent for PostRequestHandled { + const PALLET: &'static str = "Ismp"; + const EVENT: &'static str = "PostRequestHandled"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -53067,23 +52576,15 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Pool commission claim permission has been updated."] - pub struct PoolCommissionClaimPermissionUpdated { - pub pool_id: pool_commission_claim_permission_updated::PoolId, - pub permission: pool_commission_claim_permission_updated::Permission, - } - pub mod pool_commission_claim_permission_updated { + #[doc = "Post Response Handled"] + pub struct PostResponseHandled(pub post_response_handled::Field0); + pub mod post_response_handled { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; - pub type Permission = ::core::option::Option< - runtime_types::pallet_tangle_lst::types::commission::CommissionClaimPermission< - ::subxt_core::utils::AccountId32, - >, - >; + pub type Field0 = runtime_types::ismp::events::RequestResponseHandled; } - impl ::subxt_core::events::StaticEvent for PoolCommissionClaimPermissionUpdated { - const PALLET: &'static str = "Lst"; - const EVENT: &'static str = "PoolCommissionClaimPermissionUpdated"; + impl ::subxt_core::events::StaticEvent for PostResponseHandled { + const PALLET: &'static str = "Ismp"; + const EVENT: &'static str = "PostResponseHandled"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -53099,19 +52600,15 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Pool commission has been claimed."] - pub struct PoolCommissionClaimed { - pub pool_id: pool_commission_claimed::PoolId, - pub commission: pool_commission_claimed::Commission, - } - pub mod pool_commission_claimed { + #[doc = "Get Response Handled"] + pub struct GetRequestHandled(pub get_request_handled::Field0); + pub mod get_request_handled { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; - pub type Commission = ::core::primitive::u128; + pub type Field0 = runtime_types::ismp::events::RequestResponseHandled; } - impl ::subxt_core::events::StaticEvent for PoolCommissionClaimed { - const PALLET: &'static str = "Lst"; - const EVENT: &'static str = "PoolCommissionClaimed"; + impl ::subxt_core::events::StaticEvent for GetRequestHandled { + const PALLET: &'static str = "Ismp"; + const EVENT: &'static str = "GetRequestHandled"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -53127,19 +52624,15 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Topped up deficit in frozen ED of the reward pool."] - pub struct MinBalanceDeficitAdjusted { - pub pool_id: min_balance_deficit_adjusted::PoolId, - pub amount: min_balance_deficit_adjusted::Amount, - } - pub mod min_balance_deficit_adjusted { + #[doc = "Post request timeout handled"] + pub struct PostRequestTimeoutHandled(pub post_request_timeout_handled::Field0); + pub mod post_request_timeout_handled { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; - pub type Amount = ::core::primitive::u128; + pub type Field0 = runtime_types::ismp::events::TimeoutHandled; } - impl ::subxt_core::events::StaticEvent for MinBalanceDeficitAdjusted { - const PALLET: &'static str = "Lst"; - const EVENT: &'static str = "MinBalanceDeficitAdjusted"; + impl ::subxt_core::events::StaticEvent for PostRequestTimeoutHandled { + const PALLET: &'static str = "Ismp"; + const EVENT: &'static str = "PostRequestTimeoutHandled"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -53155,19 +52648,15 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Claimed excess frozen ED of the reward pool."] - pub struct MinBalanceExcessAdjusted { - pub pool_id: min_balance_excess_adjusted::PoolId, - pub amount: min_balance_excess_adjusted::Amount, - } - pub mod min_balance_excess_adjusted { + #[doc = "Post response timeout handled"] + pub struct PostResponseTimeoutHandled(pub post_response_timeout_handled::Field0); + pub mod post_response_timeout_handled { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; - pub type Amount = ::core::primitive::u128; + pub type Field0 = runtime_types::ismp::events::TimeoutHandled; } - impl ::subxt_core::events::StaticEvent for MinBalanceExcessAdjusted { - const PALLET: &'static str = "Lst"; - const EVENT: &'static str = "MinBalanceExcessAdjusted"; + impl ::subxt_core::events::StaticEvent for PostResponseTimeoutHandled { + const PALLET: &'static str = "Ismp"; + const EVENT: &'static str = "PostResponseTimeoutHandled"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -53183,1035 +52672,601 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "The last PoolId is updated"] - pub struct LastPoolIdUpdated { - pub pool_id: last_pool_id_updated::PoolId, - } - pub mod last_pool_id_updated { + #[doc = "Get request timeout handled"] + pub struct GetRequestTimeoutHandled(pub get_request_timeout_handled::Field0); + pub mod get_request_timeout_handled { use super::runtime_types; - pub type PoolId = ::core::primitive::u32; + pub type Field0 = runtime_types::ismp::events::TimeoutHandled; } - impl ::subxt_core::events::StaticEvent for LastPoolIdUpdated { - const PALLET: &'static str = "Lst"; - const EVENT: &'static str = "LastPoolIdUpdated"; + impl ::subxt_core::events::StaticEvent for GetRequestTimeoutHandled { + const PALLET: &'static str = "Ismp"; + const EVENT: &'static str = "GetRequestTimeoutHandled"; } } pub mod storage { use super::runtime_types; pub mod types { use super::runtime_types; - pub mod total_value_locked { - use super::runtime_types; - pub type TotalValueLocked = ::core::primitive::u128; - } - pub mod min_join_bond { - use super::runtime_types; - pub type MinJoinBond = ::core::primitive::u128; - } - pub mod min_create_bond { - use super::runtime_types; - pub type MinCreateBond = ::core::primitive::u128; - } - pub mod max_pools { - use super::runtime_types; - pub type MaxPools = ::core::primitive::u32; - } - pub mod global_max_commission { - use super::runtime_types; - pub type GlobalMaxCommission = - runtime_types::sp_arithmetic::per_things::Perbill; - } - pub mod bonded_pools { - use super::runtime_types; - pub type BondedPools = - runtime_types::pallet_tangle_lst::types::bonded_pool::BondedPoolInner; - pub type Param0 = ::core::primitive::u32; - } - pub mod counter_for_bonded_pools { - use super::runtime_types; - pub type CounterForBondedPools = ::core::primitive::u32; - } - pub mod reward_pools { + pub mod state_commitments { use super::runtime_types; - pub type RewardPools = - runtime_types::pallet_tangle_lst::types::sub_pools::RewardPool; - pub type Param0 = ::core::primitive::u32; + pub type StateCommitments = runtime_types::ismp::consensus::StateCommitment; + pub type Param0 = runtime_types::ismp::consensus::StateMachineHeight; } - pub mod counter_for_reward_pools { + pub mod consensus_states { use super::runtime_types; - pub type CounterForRewardPools = ::core::primitive::u32; + pub type ConsensusStates = ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; + pub type Param0 = [::core::primitive::u8; 4usize]; } - pub mod sub_pools_storage { + pub mod consensus_state_client { use super::runtime_types; - pub type SubPoolsStorage = - runtime_types::pallet_tangle_lst::types::sub_pools::SubPools; - pub type Param0 = ::core::primitive::u32; + pub type ConsensusStateClient = [::core::primitive::u8; 4usize]; + pub type Param0 = [::core::primitive::u8; 4usize]; } - pub mod counter_for_sub_pools_storage { + pub mod unbonding_period { use super::runtime_types; - pub type CounterForSubPoolsStorage = ::core::primitive::u32; + pub type UnbondingPeriod = ::core::primitive::u64; + pub type Param0 = [::core::primitive::u8; 4usize]; } - pub mod metadata { + pub mod challenge_period { use super::runtime_types; - pub type Metadata = runtime_types::bounded_collections::bounded_vec::BoundedVec< - ::core::primitive::u8, - >; - pub type Param0 = ::core::primitive::u32; + pub type ChallengePeriod = ::core::primitive::u64; + pub type Param0 = runtime_types::ismp::consensus::StateMachineId; } - pub mod counter_for_metadata { + pub mod frozen_consensus_clients { use super::runtime_types; - pub type CounterForMetadata = ::core::primitive::u32; + pub type FrozenConsensusClients = ::core::primitive::bool; + pub type Param0 = [::core::primitive::u8; 4usize]; } - pub mod last_pool_id { + pub mod latest_state_machine_height { use super::runtime_types; - pub type LastPoolId = ::core::primitive::u32; + pub type LatestStateMachineHeight = ::core::primitive::u64; + pub type Param0 = runtime_types::ismp::consensus::StateMachineId; } - pub mod unbonding_members { + pub mod consensus_client_update_time { use super::runtime_types; - pub type UnbondingMembers = - runtime_types::pallet_tangle_lst::types::pools::PoolMember; - pub type Param0 = ::subxt_core::utils::AccountId32; + pub type ConsensusClientUpdateTime = ::core::primitive::u64; + pub type Param0 = [::core::primitive::u8; 4usize]; } - pub mod counter_for_unbonding_members { + pub mod state_machine_update_time { use super::runtime_types; - pub type CounterForUnbondingMembers = ::core::primitive::u32; + pub type StateMachineUpdateTime = ::core::primitive::u64; + pub type Param0 = runtime_types::ismp::consensus::StateMachineHeight; } - pub mod reverse_pool_id_lookup { + pub mod responded { use super::runtime_types; - pub type ReversePoolIdLookup = ::core::primitive::u32; - pub type Param0 = ::subxt_core::utils::AccountId32; + pub type Responded = ::core::primitive::bool; + pub type Param0 = ::subxt_core::utils::H256; } - pub mod counter_for_reverse_pool_id_lookup { + pub mod nonce { use super::runtime_types; - pub type CounterForReversePoolIdLookup = ::core::primitive::u32; + pub type Nonce = ::core::primitive::u64; } - pub mod claim_permissions { + pub mod child_trie_root { use super::runtime_types; - pub type ClaimPermissions = - runtime_types::pallet_tangle_lst::types::ClaimPermission; - pub type Param0 = ::subxt_core::utils::AccountId32; - } - } - pub struct StorageApi; - impl StorageApi { - #[doc = " The sum of funds across all pools."] - #[doc = ""] - #[doc = " This might be lower but never higher than the sum of `total_balance` of all [`PoolMembers`]"] - #[doc = " because calling `pool_withdraw_unbonded` might decrease the total stake of the pool's"] - #[doc = " `bonded_account` without adjusting the pallet-internal `UnbondingPool`'s."] - pub fn total_value_locked( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::total_value_locked::TotalValueLocked, - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "TotalValueLocked", - (), - [ - 141u8, 23u8, 101u8, 59u8, 165u8, 8u8, 41u8, 252u8, 239u8, 72u8, 142u8, - 19u8, 186u8, 29u8, 131u8, 8u8, 113u8, 64u8, 82u8, 158u8, 26u8, 87u8, - 142u8, 39u8, 80u8, 231u8, 46u8, 40u8, 71u8, 186u8, 35u8, 104u8, - ], - ) - } - #[doc = " Minimum amount to bond to join a pool."] - pub fn min_join_bond( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::min_join_bond::MinJoinBond, - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "MinJoinBond", - (), - [ - 64u8, 180u8, 71u8, 185u8, 81u8, 46u8, 155u8, 26u8, 251u8, 84u8, 108u8, - 80u8, 128u8, 44u8, 163u8, 118u8, 107u8, 79u8, 250u8, 211u8, 194u8, - 71u8, 87u8, 16u8, 247u8, 9u8, 76u8, 95u8, 103u8, 227u8, 180u8, 231u8, - ], - ) - } - #[doc = " Minimum bond required to create a pool."] - #[doc = ""] - #[doc = " This is the amount that the depositor must put as their initial stake in the pool, as an"] - #[doc = " indication of \"skin in the game\"."] - #[doc = ""] - #[doc = " This is the value that will always exist in the staking ledger of the pool bonded account"] - #[doc = " while all other accounts leave."] - pub fn min_create_bond( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::min_create_bond::MinCreateBond, - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "MinCreateBond", - (), - [ - 210u8, 67u8, 92u8, 230u8, 231u8, 105u8, 54u8, 249u8, 154u8, 192u8, - 29u8, 217u8, 233u8, 79u8, 170u8, 126u8, 133u8, 98u8, 253u8, 153u8, - 248u8, 189u8, 63u8, 107u8, 170u8, 224u8, 12u8, 42u8, 198u8, 185u8, - 85u8, 46u8, - ], - ) - } - #[doc = " Maximum number of nomination pools that can exist. If `None`, then an unbounded number of"] - #[doc = " pools can exist."] - pub fn max_pools( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::max_pools::MaxPools, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "MaxPools", - (), - [ - 230u8, 184u8, 242u8, 91u8, 118u8, 111u8, 90u8, 204u8, 136u8, 61u8, - 228u8, 50u8, 212u8, 40u8, 83u8, 49u8, 121u8, 161u8, 245u8, 80u8, 46u8, - 184u8, 105u8, 134u8, 249u8, 225u8, 39u8, 3u8, 123u8, 137u8, 156u8, - 240u8, - ], - ) - } - #[doc = " The maximum commission that can be charged by a pool. Used on commission payouts to bound"] - #[doc = " pool commissions that are > `GlobalMaxCommission`, necessary if a future"] - #[doc = " `GlobalMaxCommission` is lower than some current pool commissions."] - pub fn global_max_commission( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::global_max_commission::GlobalMaxCommission, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "GlobalMaxCommission", - (), - [ - 2u8, 112u8, 8u8, 116u8, 114u8, 97u8, 250u8, 106u8, 170u8, 215u8, 218u8, - 217u8, 80u8, 235u8, 149u8, 81u8, 85u8, 185u8, 201u8, 127u8, 107u8, - 251u8, 191u8, 231u8, 142u8, 74u8, 8u8, 70u8, 151u8, 238u8, 117u8, - 173u8, - ], - ) - } - #[doc = " Storage for bonded pools."] - pub fn bonded_pools_iter( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::bonded_pools::BondedPools, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "BondedPools", - (), - [ - 74u8, 250u8, 235u8, 10u8, 153u8, 148u8, 26u8, 163u8, 198u8, 48u8, 57u8, - 147u8, 9u8, 101u8, 63u8, 185u8, 86u8, 216u8, 172u8, 144u8, 173u8, - 182u8, 7u8, 146u8, 15u8, 57u8, 198u8, 90u8, 218u8, 31u8, 203u8, 29u8, - ], - ) - } - #[doc = " Storage for bonded pools."] - pub fn bonded_pools( - &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::bonded_pools::BondedPools, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "BondedPools", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - [ - 74u8, 250u8, 235u8, 10u8, 153u8, 148u8, 26u8, 163u8, 198u8, 48u8, 57u8, - 147u8, 9u8, 101u8, 63u8, 185u8, 86u8, 216u8, 172u8, 144u8, 173u8, - 182u8, 7u8, 146u8, 15u8, 57u8, 198u8, 90u8, 218u8, 31u8, 203u8, 29u8, - ], - ) - } - #[doc = "Counter for the related counted storage map"] - pub fn counter_for_bonded_pools( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::counter_for_bonded_pools::CounterForBondedPools, - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "CounterForBondedPools", - (), - [ - 198u8, 6u8, 213u8, 92u8, 4u8, 114u8, 164u8, 244u8, 51u8, 55u8, 157u8, - 20u8, 224u8, 183u8, 40u8, 236u8, 115u8, 86u8, 171u8, 207u8, 31u8, - 111u8, 0u8, 210u8, 48u8, 198u8, 243u8, 153u8, 5u8, 216u8, 107u8, 113u8, - ], - ) - } - #[doc = " Reward pools. This is where there rewards for each pool accumulate. When a members payout is"] - #[doc = " claimed, the balance comes out fo the reward pool. Keyed by the bonded pools account."] - pub fn reward_pools_iter( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::reward_pools::RewardPools, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "RewardPools", - (), - [ - 9u8, 12u8, 53u8, 236u8, 133u8, 154u8, 71u8, 150u8, 220u8, 31u8, 130u8, - 126u8, 208u8, 240u8, 214u8, 66u8, 16u8, 43u8, 202u8, 222u8, 94u8, - 136u8, 76u8, 60u8, 174u8, 197u8, 130u8, 138u8, 253u8, 239u8, 89u8, - 46u8, - ], - ) + pub type ChildTrieRoot = ::subxt_core::utils::H256; } - #[doc = " Reward pools. This is where there rewards for each pool accumulate. When a members payout is"] - #[doc = " claimed, the balance comes out fo the reward pool. Keyed by the bonded pools account."] - pub fn reward_pools( + } + pub struct StorageApi; + impl StorageApi { + #[doc = " Holds a map of state machine heights to their verified state commitments. These state"] + #[doc = " commitments end up here after they are successfully verified by a `ConsensusClient`"] + pub fn state_commitments_iter( &self, - _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::reward_pools::RewardPools, - ::subxt_core::utils::Yes, (), + types::state_commitments::StateCommitments, (), + (), + ::subxt_core::utils::Yes, > { ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "RewardPools", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + "Ismp", + "StateCommitments", + (), [ - 9u8, 12u8, 53u8, 236u8, 133u8, 154u8, 71u8, 150u8, 220u8, 31u8, 130u8, - 126u8, 208u8, 240u8, 214u8, 66u8, 16u8, 43u8, 202u8, 222u8, 94u8, - 136u8, 76u8, 60u8, 174u8, 197u8, 130u8, 138u8, 253u8, 239u8, 89u8, - 46u8, + 177u8, 50u8, 10u8, 47u8, 56u8, 72u8, 127u8, 138u8, 194u8, 182u8, 195u8, + 19u8, 36u8, 233u8, 158u8, 254u8, 127u8, 122u8, 96u8, 54u8, 66u8, 61u8, + 97u8, 80u8, 1u8, 70u8, 166u8, 126u8, 153u8, 16u8, 136u8, 141u8, ], ) } - #[doc = "Counter for the related counted storage map"] - pub fn counter_for_reward_pools( + #[doc = " Holds a map of state machine heights to their verified state commitments. These state"] + #[doc = " commitments end up here after they are successfully verified by a `ConsensusClient`"] + pub fn state_commitments( &self, + _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::counter_for_reward_pools::CounterForRewardPools, - ::subxt_core::utils::Yes, + ::subxt_core::storage::address::StaticStorageKey< + types::state_commitments::Param0, + >, + types::state_commitments::StateCommitments, ::subxt_core::utils::Yes, (), + (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "CounterForRewardPools", - (), + "Ismp", + "StateCommitments", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 218u8, 186u8, 28u8, 97u8, 205u8, 249u8, 187u8, 10u8, 127u8, 190u8, - 213u8, 152u8, 103u8, 20u8, 157u8, 183u8, 86u8, 104u8, 186u8, 236u8, - 84u8, 159u8, 117u8, 78u8, 5u8, 242u8, 193u8, 59u8, 112u8, 200u8, 34u8, - 166u8, + 177u8, 50u8, 10u8, 47u8, 56u8, 72u8, 127u8, 138u8, 194u8, 182u8, 195u8, + 19u8, 36u8, 233u8, 158u8, 254u8, 127u8, 122u8, 96u8, 54u8, 66u8, 61u8, + 97u8, 80u8, 1u8, 70u8, 166u8, 126u8, 153u8, 16u8, 136u8, 141u8, ], ) } - #[doc = " Groups of unbonding pools. Each group of unbonding pools belongs to a"] - #[doc = " bonded pool, hence the name sub-pools. Keyed by the bonded pools account."] - pub fn sub_pools_storage_iter( + #[doc = " Holds a map of consensus state identifiers to their consensus state."] + pub fn consensus_states_iter( &self, ) -> ::subxt_core::storage::address::StaticAddress< (), - types::sub_pools_storage::SubPoolsStorage, + types::consensus_states::ConsensusStates, (), (), ::subxt_core::utils::Yes, > { ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "SubPoolsStorage", + "Ismp", + "ConsensusStates", (), [ - 43u8, 35u8, 94u8, 197u8, 201u8, 86u8, 21u8, 118u8, 230u8, 10u8, 66u8, - 180u8, 104u8, 146u8, 250u8, 207u8, 159u8, 153u8, 203u8, 58u8, 20u8, - 247u8, 102u8, 155u8, 47u8, 58u8, 136u8, 150u8, 167u8, 83u8, 81u8, 44u8, + 93u8, 68u8, 6u8, 50u8, 68u8, 143u8, 143u8, 137u8, 62u8, 219u8, 174u8, + 84u8, 44u8, 166u8, 180u8, 168u8, 8u8, 120u8, 199u8, 50u8, 79u8, 33u8, + 35u8, 90u8, 101u8, 246u8, 125u8, 197u8, 18u8, 116u8, 110u8, 178u8, ], ) } - #[doc = " Groups of unbonding pools. Each group of unbonding pools belongs to a"] - #[doc = " bonded pool, hence the name sub-pools. Keyed by the bonded pools account."] - pub fn sub_pools_storage( + #[doc = " Holds a map of consensus state identifiers to their consensus state."] + pub fn consensus_states( &self, - _0: impl ::core::borrow::Borrow, + _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< ::subxt_core::storage::address::StaticStorageKey< - types::sub_pools_storage::Param0, + types::consensus_states::Param0, >, - types::sub_pools_storage::SubPoolsStorage, + types::consensus_states::ConsensusStates, ::subxt_core::utils::Yes, (), (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "SubPoolsStorage", + "Ismp", + "ConsensusStates", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 43u8, 35u8, 94u8, 197u8, 201u8, 86u8, 21u8, 118u8, 230u8, 10u8, 66u8, - 180u8, 104u8, 146u8, 250u8, 207u8, 159u8, 153u8, 203u8, 58u8, 20u8, - 247u8, 102u8, 155u8, 47u8, 58u8, 136u8, 150u8, 167u8, 83u8, 81u8, 44u8, + 93u8, 68u8, 6u8, 50u8, 68u8, 143u8, 143u8, 137u8, 62u8, 219u8, 174u8, + 84u8, 44u8, 166u8, 180u8, 168u8, 8u8, 120u8, 199u8, 50u8, 79u8, 33u8, + 35u8, 90u8, 101u8, 246u8, 125u8, 197u8, 18u8, 116u8, 110u8, 178u8, ], ) } - #[doc = "Counter for the related counted storage map"] - pub fn counter_for_sub_pools_storage( + #[doc = " A mapping of consensus state identifier to it's associated consensus client identifier"] + pub fn consensus_state_client_iter( &self, ) -> ::subxt_core::storage::address::StaticAddress< (), - types::counter_for_sub_pools_storage::CounterForSubPoolsStorage, - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "CounterForSubPoolsStorage", - (), - [ - 137u8, 162u8, 32u8, 44u8, 163u8, 30u8, 54u8, 158u8, 169u8, 118u8, - 196u8, 101u8, 78u8, 28u8, 184u8, 78u8, 185u8, 225u8, 226u8, 207u8, - 14u8, 119u8, 0u8, 116u8, 140u8, 141u8, 116u8, 106u8, 71u8, 161u8, - 200u8, 228u8, - ], - ) - } - #[doc = " Metadata for the pool."] - pub fn metadata_iter( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< + types::consensus_state_client::ConsensusStateClient, (), - types::metadata::Metadata, (), ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, > { ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "Metadata", + "Ismp", + "ConsensusStateClient", (), [ - 10u8, 171u8, 251u8, 5u8, 72u8, 74u8, 86u8, 144u8, 59u8, 67u8, 92u8, - 111u8, 217u8, 111u8, 175u8, 107u8, 119u8, 206u8, 199u8, 78u8, 182u8, - 84u8, 12u8, 102u8, 10u8, 124u8, 103u8, 9u8, 86u8, 199u8, 233u8, 54u8, + 63u8, 119u8, 17u8, 2u8, 193u8, 194u8, 243u8, 241u8, 152u8, 164u8, + 250u8, 200u8, 176u8, 51u8, 213u8, 116u8, 198u8, 216u8, 25u8, 7u8, 31u8, + 254u8, 100u8, 157u8, 144u8, 239u8, 89u8, 14u8, 160u8, 194u8, 0u8, 21u8, ], ) } - #[doc = " Metadata for the pool."] - pub fn metadata( + #[doc = " A mapping of consensus state identifier to it's associated consensus client identifier"] + pub fn consensus_state_client( &self, - _0: impl ::core::borrow::Borrow, + _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::metadata::Metadata, - ::subxt_core::utils::Yes, + ::subxt_core::storage::address::StaticStorageKey< + types::consensus_state_client::Param0, + >, + types::consensus_state_client::ConsensusStateClient, ::subxt_core::utils::Yes, (), + (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "Metadata", + "Ismp", + "ConsensusStateClient", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 10u8, 171u8, 251u8, 5u8, 72u8, 74u8, 86u8, 144u8, 59u8, 67u8, 92u8, - 111u8, 217u8, 111u8, 175u8, 107u8, 119u8, 206u8, 199u8, 78u8, 182u8, - 84u8, 12u8, 102u8, 10u8, 124u8, 103u8, 9u8, 86u8, 199u8, 233u8, 54u8, + 63u8, 119u8, 17u8, 2u8, 193u8, 194u8, 243u8, 241u8, 152u8, 164u8, + 250u8, 200u8, 176u8, 51u8, 213u8, 116u8, 198u8, 216u8, 25u8, 7u8, 31u8, + 254u8, 100u8, 157u8, 144u8, 239u8, 89u8, 14u8, 160u8, 194u8, 0u8, 21u8, ], ) } - #[doc = "Counter for the related counted storage map"] - pub fn counter_for_metadata( + #[doc = " A mapping of consensus state identifiers to their unbonding periods"] + pub fn unbonding_period_iter( &self, ) -> ::subxt_core::storage::address::StaticAddress< (), - types::counter_for_metadata::CounterForMetadata, - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, + types::unbonding_period::UnbondingPeriod, + (), (), + ::subxt_core::utils::Yes, > { ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "CounterForMetadata", + "Ismp", + "UnbondingPeriod", (), [ - 49u8, 76u8, 175u8, 236u8, 99u8, 120u8, 156u8, 116u8, 153u8, 173u8, - 10u8, 102u8, 194u8, 139u8, 25u8, 149u8, 109u8, 195u8, 150u8, 21u8, - 43u8, 24u8, 196u8, 180u8, 231u8, 101u8, 69u8, 98u8, 82u8, 159u8, 183u8, - 174u8, + 47u8, 119u8, 19u8, 162u8, 154u8, 45u8, 45u8, 73u8, 200u8, 98u8, 171u8, + 157u8, 161u8, 23u8, 201u8, 49u8, 30u8, 123u8, 127u8, 187u8, 212u8, + 220u8, 121u8, 120u8, 94u8, 16u8, 20u8, 28u8, 105u8, 22u8, 57u8, 103u8, ], ) } - #[doc = " Ever increasing number of all pools created so far."] - pub fn last_pool_id( + #[doc = " A mapping of consensus state identifiers to their unbonding periods"] + pub fn unbonding_period( &self, + _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::last_pool_id::LastPoolId, - ::subxt_core::utils::Yes, + ::subxt_core::storage::address::StaticStorageKey< + types::unbonding_period::Param0, + >, + types::unbonding_period::UnbondingPeriod, ::subxt_core::utils::Yes, (), + (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "LastPoolId", - (), + "Ismp", + "UnbondingPeriod", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 178u8, 198u8, 245u8, 157u8, 176u8, 45u8, 214u8, 86u8, 73u8, 154u8, - 217u8, 39u8, 191u8, 53u8, 233u8, 145u8, 57u8, 100u8, 31u8, 13u8, 202u8, - 122u8, 115u8, 16u8, 205u8, 69u8, 157u8, 250u8, 216u8, 180u8, 113u8, - 30u8, + 47u8, 119u8, 19u8, 162u8, 154u8, 45u8, 45u8, 73u8, 200u8, 98u8, 171u8, + 157u8, 161u8, 23u8, 201u8, 49u8, 30u8, 123u8, 127u8, 187u8, 212u8, + 220u8, 121u8, 120u8, 94u8, 16u8, 20u8, 28u8, 105u8, 22u8, 57u8, 103u8, ], ) } - #[doc = " Unbonding members."] - #[doc = ""] - #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] - pub fn unbonding_members_iter( + #[doc = " A mapping of state machine Ids to their challenge periods"] + pub fn challenge_period_iter( &self, ) -> ::subxt_core::storage::address::StaticAddress< (), - types::unbonding_members::UnbondingMembers, + types::challenge_period::ChallengePeriod, (), (), ::subxt_core::utils::Yes, > { ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "UnbondingMembers", + "Ismp", + "ChallengePeriod", (), [ - 46u8, 91u8, 211u8, 29u8, 83u8, 17u8, 148u8, 26u8, 183u8, 226u8, 240u8, - 39u8, 186u8, 86u8, 198u8, 55u8, 43u8, 125u8, 83u8, 249u8, 203u8, 33u8, - 123u8, 108u8, 179u8, 237u8, 193u8, 63u8, 85u8, 230u8, 194u8, 173u8, + 200u8, 85u8, 115u8, 238u8, 83u8, 255u8, 234u8, 165u8, 35u8, 185u8, + 213u8, 36u8, 237u8, 120u8, 207u8, 53u8, 66u8, 0u8, 168u8, 188u8, 46u8, + 182u8, 12u8, 76u8, 111u8, 101u8, 185u8, 231u8, 73u8, 78u8, 82u8, 22u8, ], ) } - #[doc = " Unbonding members."] - #[doc = ""] - #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] - pub fn unbonding_members( + #[doc = " A mapping of state machine Ids to their challenge periods"] + pub fn challenge_period( &self, - _0: impl ::core::borrow::Borrow, + _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< ::subxt_core::storage::address::StaticStorageKey< - types::unbonding_members::Param0, + types::challenge_period::Param0, >, - types::unbonding_members::UnbondingMembers, + types::challenge_period::ChallengePeriod, ::subxt_core::utils::Yes, (), (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "UnbondingMembers", + "Ismp", + "ChallengePeriod", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 46u8, 91u8, 211u8, 29u8, 83u8, 17u8, 148u8, 26u8, 183u8, 226u8, 240u8, - 39u8, 186u8, 86u8, 198u8, 55u8, 43u8, 125u8, 83u8, 249u8, 203u8, 33u8, - 123u8, 108u8, 179u8, 237u8, 193u8, 63u8, 85u8, 230u8, 194u8, 173u8, + 200u8, 85u8, 115u8, 238u8, 83u8, 255u8, 234u8, 165u8, 35u8, 185u8, + 213u8, 36u8, 237u8, 120u8, 207u8, 53u8, 66u8, 0u8, 168u8, 188u8, 46u8, + 182u8, 12u8, 76u8, 111u8, 101u8, 185u8, 231u8, 73u8, 78u8, 82u8, 22u8, ], ) } - #[doc = "Counter for the related counted storage map"] - pub fn counter_for_unbonding_members( + #[doc = " Holds a map of consensus clients frozen due to byzantine"] + #[doc = " behaviour"] + pub fn frozen_consensus_clients_iter( &self, ) -> ::subxt_core::storage::address::StaticAddress< (), - types::counter_for_unbonding_members::CounterForUnbondingMembers, + types::frozen_consensus_clients::FrozenConsensusClients, + (), ::subxt_core::utils::Yes, ::subxt_core::utils::Yes, - (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "CounterForUnbondingMembers", + "Ismp", + "FrozenConsensusClients", (), [ - 35u8, 214u8, 51u8, 61u8, 101u8, 166u8, 164u8, 204u8, 50u8, 204u8, - 242u8, 138u8, 241u8, 35u8, 149u8, 204u8, 180u8, 250u8, 178u8, 148u8, - 199u8, 139u8, 206u8, 218u8, 200u8, 76u8, 130u8, 213u8, 186u8, 30u8, - 68u8, 79u8, + 91u8, 246u8, 143u8, 73u8, 69u8, 255u8, 61u8, 108u8, 130u8, 177u8, + 160u8, 25u8, 77u8, 135u8, 2u8, 137u8, 36u8, 57u8, 44u8, 86u8, 124u8, + 111u8, 153u8, 170u8, 73u8, 22u8, 16u8, 169u8, 218u8, 157u8, 146u8, + 143u8, ], ) } - #[doc = " A reverse lookup from the pool's account id to its id."] - #[doc = ""] - #[doc = " This is only used for slashing. In all other instances, the pool id is used, and the"] - #[doc = " accounts are deterministically derived from it."] - pub fn reverse_pool_id_lookup_iter( + #[doc = " Holds a map of consensus clients frozen due to byzantine"] + #[doc = " behaviour"] + pub fn frozen_consensus_clients( &self, + _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::reverse_pool_id_lookup::ReversePoolIdLookup, - (), - (), + ::subxt_core::storage::address::StaticStorageKey< + types::frozen_consensus_clients::Param0, + >, + types::frozen_consensus_clients::FrozenConsensusClients, + ::subxt_core::utils::Yes, ::subxt_core::utils::Yes, + (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "ReversePoolIdLookup", - (), + "Ismp", + "FrozenConsensusClients", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 76u8, 76u8, 150u8, 33u8, 64u8, 81u8, 90u8, 75u8, 212u8, 221u8, 59u8, - 83u8, 178u8, 45u8, 86u8, 206u8, 196u8, 221u8, 117u8, 94u8, 229u8, - 160u8, 52u8, 54u8, 11u8, 64u8, 0u8, 103u8, 85u8, 86u8, 5u8, 71u8, + 91u8, 246u8, 143u8, 73u8, 69u8, 255u8, 61u8, 108u8, 130u8, 177u8, + 160u8, 25u8, 77u8, 135u8, 2u8, 137u8, 36u8, 57u8, 44u8, 86u8, 124u8, + 111u8, 153u8, 170u8, 73u8, 22u8, 16u8, 169u8, 218u8, 157u8, 146u8, + 143u8, ], ) } - #[doc = " A reverse lookup from the pool's account id to its id."] - #[doc = ""] - #[doc = " This is only used for slashing. In all other instances, the pool id is used, and the"] - #[doc = " accounts are deterministically derived from it."] - pub fn reverse_pool_id_lookup( + #[doc = " The latest verified height for a state machine"] + pub fn latest_state_machine_height_iter( &self, - _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey< - types::reverse_pool_id_lookup::Param0, - >, - types::reverse_pool_id_lookup::ReversePoolIdLookup, - ::subxt_core::utils::Yes, + (), + types::latest_state_machine_height::LatestStateMachineHeight, (), (), + ::subxt_core::utils::Yes, > { ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "ReversePoolIdLookup", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + "Ismp", + "LatestStateMachineHeight", + (), [ - 76u8, 76u8, 150u8, 33u8, 64u8, 81u8, 90u8, 75u8, 212u8, 221u8, 59u8, - 83u8, 178u8, 45u8, 86u8, 206u8, 196u8, 221u8, 117u8, 94u8, 229u8, - 160u8, 52u8, 54u8, 11u8, 64u8, 0u8, 103u8, 85u8, 86u8, 5u8, 71u8, + 243u8, 29u8, 147u8, 133u8, 1u8, 251u8, 12u8, 60u8, 153u8, 238u8, 101u8, + 39u8, 153u8, 2u8, 238u8, 163u8, 231u8, 61u8, 38u8, 81u8, 122u8, 1u8, + 220u8, 247u8, 72u8, 131u8, 153u8, 21u8, 98u8, 159u8, 147u8, 64u8, ], ) } - #[doc = "Counter for the related counted storage map"] - pub fn counter_for_reverse_pool_id_lookup( + #[doc = " The latest verified height for a state machine"] + pub fn latest_state_machine_height( &self, + _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::counter_for_reverse_pool_id_lookup::CounterForReversePoolIdLookup, - ::subxt_core::utils::Yes, + ::subxt_core::storage::address::StaticStorageKey< + types::latest_state_machine_height::Param0, + >, + types::latest_state_machine_height::LatestStateMachineHeight, ::subxt_core::utils::Yes, (), + (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "CounterForReversePoolIdLookup", - (), + "Ismp", + "LatestStateMachineHeight", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 135u8, 72u8, 203u8, 197u8, 101u8, 135u8, 114u8, 202u8, 122u8, 231u8, - 128u8, 17u8, 81u8, 70u8, 22u8, 146u8, 100u8, 138u8, 16u8, 74u8, 31u8, - 250u8, 110u8, 184u8, 250u8, 75u8, 249u8, 71u8, 171u8, 77u8, 95u8, - 251u8, + 243u8, 29u8, 147u8, 133u8, 1u8, 251u8, 12u8, 60u8, 153u8, 238u8, 101u8, + 39u8, 153u8, 2u8, 238u8, 163u8, 231u8, 61u8, 38u8, 81u8, 122u8, 1u8, + 220u8, 247u8, 72u8, 131u8, 153u8, 21u8, 98u8, 159u8, 147u8, 64u8, ], ) } - #[doc = " Map from a pool member account to their opted claim permission."] - pub fn claim_permissions_iter( + #[doc = " Holds the timestamp at which a consensus client was recently updated."] + #[doc = " Used in ensuring that the configured challenge period elapses."] + pub fn consensus_client_update_time_iter( &self, ) -> ::subxt_core::storage::address::StaticAddress< (), - types::claim_permissions::ClaimPermissions, + types::consensus_client_update_time::ConsensusClientUpdateTime, + (), (), - ::subxt_core::utils::Yes, ::subxt_core::utils::Yes, > { ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "ClaimPermissions", + "Ismp", + "ConsensusClientUpdateTime", (), [ - 98u8, 241u8, 185u8, 102u8, 61u8, 53u8, 215u8, 105u8, 2u8, 148u8, 197u8, - 17u8, 107u8, 253u8, 74u8, 159u8, 14u8, 30u8, 213u8, 38u8, 35u8, 163u8, - 249u8, 19u8, 140u8, 201u8, 182u8, 106u8, 0u8, 21u8, 102u8, 15u8, + 87u8, 226u8, 222u8, 152u8, 112u8, 144u8, 222u8, 120u8, 37u8, 135u8, + 245u8, 229u8, 180u8, 162u8, 244u8, 167u8, 123u8, 190u8, 80u8, 99u8, + 234u8, 205u8, 118u8, 196u8, 21u8, 20u8, 222u8, 87u8, 144u8, 83u8, + 154u8, 102u8, ], ) } - #[doc = " Map from a pool member account to their opted claim permission."] - pub fn claim_permissions( + #[doc = " Holds the timestamp at which a consensus client was recently updated."] + #[doc = " Used in ensuring that the configured challenge period elapses."] + pub fn consensus_client_update_time( &self, - _0: impl ::core::borrow::Borrow, + _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< ::subxt_core::storage::address::StaticStorageKey< - types::claim_permissions::Param0, + types::consensus_client_update_time::Param0, >, - types::claim_permissions::ClaimPermissions, - ::subxt_core::utils::Yes, + types::consensus_client_update_time::ConsensusClientUpdateTime, ::subxt_core::utils::Yes, (), + (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "Lst", - "ClaimPermissions", + "Ismp", + "ConsensusClientUpdateTime", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 98u8, 241u8, 185u8, 102u8, 61u8, 53u8, 215u8, 105u8, 2u8, 148u8, 197u8, - 17u8, 107u8, 253u8, 74u8, 159u8, 14u8, 30u8, 213u8, 38u8, 35u8, 163u8, - 249u8, 19u8, 140u8, 201u8, 182u8, 106u8, 0u8, 21u8, 102u8, 15u8, + 87u8, 226u8, 222u8, 152u8, 112u8, 144u8, 222u8, 120u8, 37u8, 135u8, + 245u8, 229u8, 180u8, 162u8, 244u8, 167u8, 123u8, 190u8, 80u8, 99u8, + 234u8, 205u8, 118u8, 196u8, 21u8, 20u8, 222u8, 87u8, 144u8, 83u8, + 154u8, 102u8, ], ) } - } - } - pub mod constants { - use super::runtime_types; - pub struct ConstantsApi; - impl ConstantsApi { - #[doc = " The nomination pool's pallet id."] - pub fn pallet_id( + #[doc = " Holds the timestamp at which a state machine height was updated."] + #[doc = " Used in ensuring that the configured challenge period elapses."] + pub fn state_machine_update_time_iter( &self, - ) -> ::subxt_core::constants::address::StaticAddress< - runtime_types::frame_support::PalletId, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::state_machine_update_time::StateMachineUpdateTime, + (), + (), + ::subxt_core::utils::Yes, > { - ::subxt_core::constants::address::StaticAddress::new_static( - "Lst", - "PalletId", - [ - 56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8, - 161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8, - 129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8, - ], - ) - } - #[doc = " The maximum pool points-to-balance ratio that an `open` pool can have."] - #[doc = ""] - #[doc = " This is important in the event slashing takes place and the pool's points-to-balance"] - #[doc = " ratio becomes disproportional."] - #[doc = ""] - #[doc = " Moreover, this relates to the `RewardCounter` type as well, as the arithmetic operations"] - #[doc = " are a function of number of points, and by setting this value to e.g. 10, you ensure"] - #[doc = " that the total number of points in the system are at most 10 times the total_issuance of"] - #[doc = " the chain, in the absolute worse case."] - #[doc = ""] - #[doc = " For a value of 10, the threshold would be a pool points-to-balance ratio of 10:1."] - #[doc = " Such a scenario would also be the equivalent of the pool being 90% slashed."] - pub fn max_points_to_balance( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u8> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Lst", - "MaxPointsToBalance", - [ - 141u8, 130u8, 11u8, 35u8, 226u8, 114u8, 92u8, 179u8, 168u8, 110u8, - 28u8, 91u8, 221u8, 64u8, 4u8, 148u8, 201u8, 193u8, 185u8, 66u8, 226u8, - 114u8, 97u8, 79u8, 62u8, 212u8, 202u8, 114u8, 237u8, 228u8, 183u8, - 165u8, - ], - ) - } - #[doc = " The maximum number of simultaneous unbonding chunks that can exist per member."] - pub fn max_unbonding( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Lst", - "MaxUnbonding", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) - } - #[doc = " The maximum length of a pool name."] - pub fn max_name_length( - &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Lst", - "MaxNameLength", + ::subxt_core::storage::address::StaticAddress::new_static( + "Ismp", + "StateMachineUpdateTime", + (), [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, + 114u8, 1u8, 222u8, 101u8, 82u8, 128u8, 22u8, 163u8, 57u8, 30u8, 240u8, + 33u8, 216u8, 248u8, 147u8, 96u8, 41u8, 18u8, 153u8, 77u8, 80u8, 158u8, + 187u8, 71u8, 94u8, 176u8, 194u8, 227u8, 255u8, 133u8, 35u8, 87u8, ], ) } - #[doc = " The maximum length of a pool icon."] - pub fn max_icon_length( + #[doc = " Holds the timestamp at which a state machine height was updated."] + #[doc = " Used in ensuring that the configured challenge period elapses."] + pub fn state_machine_update_time( &self, - ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u32> { - ::subxt_core::constants::address::StaticAddress::new_static( - "Lst", - "MaxIconLength", + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey< + types::state_machine_update_time::Param0, + >, + types::state_machine_update_time::StateMachineUpdateTime, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Ismp", + "StateMachineUpdateTime", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, + 114u8, 1u8, 222u8, 101u8, 82u8, 128u8, 22u8, 163u8, 57u8, 30u8, 240u8, + 33u8, 216u8, 248u8, 147u8, 96u8, 41u8, 18u8, 153u8, 77u8, 80u8, 158u8, + 187u8, 71u8, 94u8, 176u8, 194u8, 227u8, 255u8, 133u8, 35u8, 87u8, ], ) } - } - } - } - pub mod rewards { - use super::root_mod; - use super::runtime_types; - #[doc = "The `Error` enum of this pallet."] - pub type Error = runtime_types::pallet_rewards::pallet::Error; - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub type Call = runtime_types::pallet_rewards::pallet::Call; - pub mod calls { - use super::root_mod; - use super::runtime_types; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Claim rewards for a specific asset and reward type"] - pub struct ClaimRewards { - pub asset: claim_rewards::Asset, - } - pub mod claim_rewards { - use super::runtime_types; - pub type Asset = runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, - >; - } - impl ::subxt_core::blocks::StaticExtrinsic for ClaimRewards { - const PALLET: &'static str = "Rewards"; - const CALL: &'static str = "claim_rewards"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Claim rewards for another account"] - #[doc = ""] - #[doc = "The dispatch origin must be signed."] - #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `who`: The account to claim rewards for"] - #[doc = "- `asset`: The asset to claim rewards for"] - #[doc = ""] - #[doc = "Emits `RewardsClaimed` event when successful."] - pub struct ClaimRewardsOther { - pub who: claim_rewards_other::Who, - pub asset: claim_rewards_other::Asset, - } - pub mod claim_rewards_other { - use super::runtime_types; - pub type Who = ::subxt_core::utils::AccountId32; - pub type Asset = runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, - >; - } - impl ::subxt_core::blocks::StaticExtrinsic for ClaimRewardsOther { - const PALLET: &'static str = "Rewards"; - const CALL: &'static str = "claim_rewards_other"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Manage asset id to vault rewards."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by an authorized account"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `vault_id` - ID of the vault"] - #[doc = "* `asset` - ID of the asset"] - #[doc = "* `action` - Action to perform (Add/Remove)"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::AssetAlreadyInVault`] - Asset already exists in vault"] - #[doc = "* [`Error::AssetNotInVault`] - Asset does not exist in vault"] - pub struct ManageAssetRewardVault { - pub vault_id: manage_asset_reward_vault::VaultId, - pub asset: manage_asset_reward_vault::Asset, - pub action: manage_asset_reward_vault::Action, - } - pub mod manage_asset_reward_vault { - use super::runtime_types; - pub type VaultId = ::core::primitive::u32; - pub type Asset = runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, - >; - pub type Action = runtime_types::pallet_rewards::types::AssetAction; - } - impl ::subxt_core::blocks::StaticExtrinsic for ManageAssetRewardVault { - const PALLET: &'static str = "Rewards"; - const CALL: &'static str = "manage_asset_reward_vault"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Creates a new reward configuration for a specific vault."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = "* `origin` - Origin of the call, must pass `ForceOrigin` check"] - #[doc = "* `vault_id` - The ID of the vault to update"] - #[doc = "* `new_config` - The new reward configuration containing:"] - #[doc = " * `apy` - Annual Perbillage Yield for the vault"] - #[doc = " * `deposit_cap` - Maximum amount that can be deposited"] - #[doc = " * `incentive_cap` - Maximum amount of incentives that can be distributed"] - #[doc = " * `boost_multiplier` - Optional multiplier to boost rewards"] - #[doc = ""] - #[doc = "# Events"] - #[doc = "* `VaultRewardConfigUpdated` - Emitted when vault reward config is updated"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = "* `BadOrigin` - If caller is not authorized through `ForceOrigin`"] - #[doc = "* `IncentiveCapGreaterThanDepositCap` - If incentive cap is greater than deposit cap"] - #[doc = "* `BoostMultiplierMustBeOne` - If boost multiplier is not 1"] - pub struct CreateRewardVault { - pub vault_id: create_reward_vault::VaultId, - pub new_config: create_reward_vault::NewConfig, - } - pub mod create_reward_vault { - use super::runtime_types; - pub type VaultId = ::core::primitive::u32; - pub type NewConfig = - runtime_types::pallet_rewards::types::RewardConfigForAssetVault< - ::core::primitive::u128, - >; - } - impl ::subxt_core::blocks::StaticExtrinsic for CreateRewardVault { - const PALLET: &'static str = "Rewards"; - const CALL: &'static str = "create_reward_vault"; + #[doc = " Tracks requests that have been responded to"] + #[doc = " The key is the request commitment"] + pub fn responded_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::responded::Responded, + (), + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Ismp", + "Responded", + (), + [ + 151u8, 204u8, 21u8, 237u8, 146u8, 5u8, 22u8, 175u8, 101u8, 164u8, + 203u8, 66u8, 248u8, 97u8, 70u8, 11u8, 20u8, 219u8, 9u8, 164u8, 145u8, + 66u8, 83u8, 157u8, 34u8, 19u8, 127u8, 16u8, 252u8, 59u8, 194u8, 24u8, + ], + ) } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Updates the reward configuration for a specific vault."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = "* `origin` - Origin of the call, must pass `ForceOrigin` check"] - #[doc = "* `vault_id` - The ID of the vault to update"] - #[doc = "* `new_config` - The new reward configuration containing:"] - #[doc = " * `apy` - Annual Perbillage Yield for the vault"] - #[doc = " * `deposit_cap` - Maximum amount that can be deposited"] - #[doc = " * `incentive_cap` - Maximum amount of incentives that can be distributed"] - #[doc = " * `boost_multiplier` - Optional multiplier to boost rewards"] - #[doc = ""] - #[doc = "# Events"] - #[doc = "* `VaultRewardConfigUpdated` - Emitted when vault reward config is updated"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = "* `BadOrigin` - If caller is not authorized through `ForceOrigin`"] - #[doc = "* `IncentiveCapGreaterThanDepositCap` - If incentive cap is greater than deposit cap"] - #[doc = "* `BoostMultiplierMustBeOne` - If boost multiplier is not 1"] - pub struct UpdateVaultRewardConfig { - pub vault_id: update_vault_reward_config::VaultId, - pub new_config: update_vault_reward_config::NewConfig, + #[doc = " Tracks requests that have been responded to"] + #[doc = " The key is the request commitment"] + pub fn responded( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey, + types::responded::Responded, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Ismp", + "Responded", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 151u8, 204u8, 21u8, 237u8, 146u8, 5u8, 22u8, 175u8, 101u8, 164u8, + 203u8, 66u8, 248u8, 97u8, 70u8, 11u8, 20u8, 219u8, 9u8, 164u8, 145u8, + 66u8, 83u8, 157u8, 34u8, 19u8, 127u8, 16u8, 252u8, 59u8, 194u8, 24u8, + ], + ) } - pub mod update_vault_reward_config { - use super::runtime_types; - pub type VaultId = ::core::primitive::u32; - pub type NewConfig = - runtime_types::pallet_rewards::types::RewardConfigForAssetVault< - ::core::primitive::u128, - >; + #[doc = " Latest nonce for messages sent from this chain"] + pub fn nonce( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::nonce::Nonce, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Ismp", + "Nonce", + (), + [ + 47u8, 101u8, 89u8, 252u8, 98u8, 25u8, 178u8, 154u8, 17u8, 57u8, 185u8, + 10u8, 133u8, 94u8, 73u8, 160u8, 137u8, 150u8, 97u8, 119u8, 8u8, 146u8, + 149u8, 146u8, 212u8, 60u8, 141u8, 24u8, 124u8, 28u8, 57u8, 19u8, + ], + ) } - impl ::subxt_core::blocks::StaticExtrinsic for UpdateVaultRewardConfig { - const PALLET: &'static str = "Rewards"; - const CALL: &'static str = "update_vault_reward_config"; + #[doc = " The child trie root of messages"] + pub fn child_trie_root( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::child_trie_root::ChildTrieRoot, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Ismp", + "ChildTrieRoot", + (), + [ + 34u8, 16u8, 226u8, 194u8, 6u8, 122u8, 213u8, 244u8, 234u8, 160u8, + 196u8, 243u8, 17u8, 59u8, 90u8, 186u8, 107u8, 66u8, 22u8, 129u8, 161u8, + 226u8, 111u8, 122u8, 207u8, 173u8, 11u8, 207u8, 202u8, 187u8, 140u8, + 116u8, + ], + ) } + } + } + } + pub mod ismp_grandpa { + use super::root_mod; + use super::runtime_types; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::ismp_grandpa::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -54226,19 +53281,18 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Update the decay configuration"] - pub struct UpdateDecayConfig { - pub start_period: update_decay_config::StartPeriod, - pub rate: update_decay_config::Rate, + #[doc = "Add some a state machine to the list of supported state machines"] + pub struct AddStateMachines { + pub new_state_machines: add_state_machines::NewStateMachines, } - pub mod update_decay_config { + pub mod add_state_machines { use super::runtime_types; - pub type StartPeriod = ::core::primitive::u64; - pub type Rate = runtime_types::sp_arithmetic::per_things::Perbill; + pub type NewStateMachines = + ::subxt_core::alloc::vec::Vec; } - impl ::subxt_core::blocks::StaticExtrinsic for UpdateDecayConfig { - const PALLET: &'static str = "Rewards"; - const CALL: &'static str = "update_decay_config"; + impl ::subxt_core::blocks::StaticExtrinsic for AddStateMachines { + const PALLET: &'static str = "IsmpGrandpa"; + const CALL: &'static str = "add_state_machines"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -54254,203 +53308,59 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Update the number of blocks used for APY calculation"] - pub struct UpdateApyBlocks { - pub blocks: update_apy_blocks::Blocks, + #[doc = "Remove a state machine from the list of supported state machines"] + pub struct RemoveStateMachines { + pub state_machines: remove_state_machines::StateMachines, } - pub mod update_apy_blocks { + pub mod remove_state_machines { use super::runtime_types; - pub type Blocks = ::core::primitive::u64; + pub type StateMachines = + ::subxt_core::alloc::vec::Vec; } - impl ::subxt_core::blocks::StaticExtrinsic for UpdateApyBlocks { - const PALLET: &'static str = "Rewards"; - const CALL: &'static str = "update_apy_blocks"; + impl ::subxt_core::blocks::StaticExtrinsic for RemoveStateMachines { + const PALLET: &'static str = "IsmpGrandpa"; + const CALL: &'static str = "remove_state_machines"; } } pub struct TransactionApi; impl TransactionApi { - #[doc = "Claim rewards for a specific asset and reward type"] - pub fn claim_rewards( - &self, - asset: types::claim_rewards::Asset, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Rewards", - "claim_rewards", - types::ClaimRewards { asset }, - [ - 146u8, 247u8, 206u8, 171u8, 49u8, 243u8, 126u8, 119u8, 11u8, 3u8, - 246u8, 122u8, 185u8, 167u8, 37u8, 175u8, 105u8, 52u8, 1u8, 229u8, - 118u8, 141u8, 131u8, 54u8, 72u8, 108u8, 95u8, 76u8, 170u8, 179u8, - 122u8, 84u8, - ], - ) - } - #[doc = "Claim rewards for another account"] - #[doc = ""] - #[doc = "The dispatch origin must be signed."] - #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `who`: The account to claim rewards for"] - #[doc = "- `asset`: The asset to claim rewards for"] - #[doc = ""] - #[doc = "Emits `RewardsClaimed` event when successful."] - pub fn claim_rewards_other( - &self, - who: types::claim_rewards_other::Who, - asset: types::claim_rewards_other::Asset, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Rewards", - "claim_rewards_other", - types::ClaimRewardsOther { who, asset }, - [ - 156u8, 186u8, 123u8, 58u8, 164u8, 199u8, 154u8, 99u8, 175u8, 143u8, - 218u8, 147u8, 191u8, 177u8, 92u8, 155u8, 191u8, 133u8, 97u8, 60u8, - 41u8, 244u8, 232u8, 28u8, 213u8, 5u8, 52u8, 160u8, 161u8, 109u8, 121u8, - 181u8, - ], - ) - } - #[doc = "Manage asset id to vault rewards."] - #[doc = ""] - #[doc = "# Permissions"] - #[doc = ""] - #[doc = "* Must be signed by an authorized account"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `origin` - Origin of the call"] - #[doc = "* `vault_id` - ID of the vault"] - #[doc = "* `asset` - ID of the asset"] - #[doc = "* `action` - Action to perform (Add/Remove)"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = ""] - #[doc = "* [`Error::AssetAlreadyInVault`] - Asset already exists in vault"] - #[doc = "* [`Error::AssetNotInVault`] - Asset does not exist in vault"] - pub fn manage_asset_reward_vault( - &self, - vault_id: types::manage_asset_reward_vault::VaultId, - asset: types::manage_asset_reward_vault::Asset, - action: types::manage_asset_reward_vault::Action, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Rewards", - "manage_asset_reward_vault", - types::ManageAssetRewardVault { vault_id, asset, action }, - [ - 228u8, 21u8, 16u8, 73u8, 162u8, 158u8, 52u8, 35u8, 103u8, 37u8, 76u8, - 160u8, 239u8, 222u8, 122u8, 120u8, 104u8, 31u8, 250u8, 254u8, 34u8, - 26u8, 182u8, 80u8, 112u8, 219u8, 251u8, 229u8, 4u8, 178u8, 4u8, 74u8, - ], - ) - } - #[doc = "Creates a new reward configuration for a specific vault."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = "* `origin` - Origin of the call, must pass `ForceOrigin` check"] - #[doc = "* `vault_id` - The ID of the vault to update"] - #[doc = "* `new_config` - The new reward configuration containing:"] - #[doc = " * `apy` - Annual Perbillage Yield for the vault"] - #[doc = " * `deposit_cap` - Maximum amount that can be deposited"] - #[doc = " * `incentive_cap` - Maximum amount of incentives that can be distributed"] - #[doc = " * `boost_multiplier` - Optional multiplier to boost rewards"] - #[doc = ""] - #[doc = "# Events"] - #[doc = "* `VaultRewardConfigUpdated` - Emitted when vault reward config is updated"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = "* `BadOrigin` - If caller is not authorized through `ForceOrigin`"] - #[doc = "* `IncentiveCapGreaterThanDepositCap` - If incentive cap is greater than deposit cap"] - #[doc = "* `BoostMultiplierMustBeOne` - If boost multiplier is not 1"] - pub fn create_reward_vault( - &self, - vault_id: types::create_reward_vault::VaultId, - new_config: types::create_reward_vault::NewConfig, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Rewards", - "create_reward_vault", - types::CreateRewardVault { vault_id, new_config }, - [ - 1u8, 23u8, 16u8, 60u8, 148u8, 74u8, 20u8, 137u8, 92u8, 83u8, 75u8, - 72u8, 95u8, 115u8, 185u8, 227u8, 7u8, 106u8, 180u8, 67u8, 213u8, 72u8, - 23u8, 72u8, 196u8, 70u8, 75u8, 98u8, 29u8, 58u8, 103u8, 63u8, - ], - ) - } - #[doc = "Updates the reward configuration for a specific vault."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = "* `origin` - Origin of the call, must pass `ForceOrigin` check"] - #[doc = "* `vault_id` - The ID of the vault to update"] - #[doc = "* `new_config` - The new reward configuration containing:"] - #[doc = " * `apy` - Annual Perbillage Yield for the vault"] - #[doc = " * `deposit_cap` - Maximum amount that can be deposited"] - #[doc = " * `incentive_cap` - Maximum amount of incentives that can be distributed"] - #[doc = " * `boost_multiplier` - Optional multiplier to boost rewards"] - #[doc = ""] - #[doc = "# Events"] - #[doc = "* `VaultRewardConfigUpdated` - Emitted when vault reward config is updated"] - #[doc = ""] - #[doc = "# Errors"] - #[doc = "* `BadOrigin` - If caller is not authorized through `ForceOrigin`"] - #[doc = "* `IncentiveCapGreaterThanDepositCap` - If incentive cap is greater than deposit cap"] - #[doc = "* `BoostMultiplierMustBeOne` - If boost multiplier is not 1"] - pub fn update_vault_reward_config( + #[doc = "Add some a state machine to the list of supported state machines"] + pub fn add_state_machines( &self, - vault_id: types::update_vault_reward_config::VaultId, - new_config: types::update_vault_reward_config::NewConfig, - ) -> ::subxt_core::tx::payload::StaticPayload { - ::subxt_core::tx::payload::StaticPayload::new_static( - "Rewards", - "update_vault_reward_config", - types::UpdateVaultRewardConfig { vault_id, new_config }, - [ - 159u8, 220u8, 49u8, 15u8, 80u8, 235u8, 109u8, 168u8, 65u8, 1u8, 209u8, - 232u8, 242u8, 165u8, 46u8, 253u8, 85u8, 166u8, 246u8, 71u8, 0u8, 214u8, - 117u8, 149u8, 194u8, 175u8, 133u8, 3u8, 155u8, 128u8, 125u8, 195u8, - ], - ) - } - #[doc = "Update the decay configuration"] - pub fn update_decay_config( - &self, - start_period: types::update_decay_config::StartPeriod, - rate: types::update_decay_config::Rate, - ) -> ::subxt_core::tx::payload::StaticPayload { + new_state_machines: types::add_state_machines::NewStateMachines, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "Rewards", - "update_decay_config", - types::UpdateDecayConfig { start_period, rate }, + "IsmpGrandpa", + "add_state_machines", + types::AddStateMachines { new_state_machines }, [ - 55u8, 242u8, 91u8, 49u8, 32u8, 54u8, 156u8, 96u8, 26u8, 70u8, 189u8, - 186u8, 30u8, 148u8, 187u8, 217u8, 235u8, 47u8, 137u8, 212u8, 33u8, - 34u8, 217u8, 50u8, 187u8, 189u8, 48u8, 237u8, 170u8, 215u8, 91u8, 44u8, + 102u8, 159u8, 167u8, 29u8, 116u8, 116u8, 99u8, 163u8, 239u8, 118u8, + 236u8, 173u8, 210u8, 132u8, 195u8, 211u8, 137u8, 168u8, 153u8, 194u8, + 43u8, 78u8, 25u8, 88u8, 240u8, 99u8, 108u8, 170u8, 134u8, 240u8, 5u8, + 109u8, ], ) } - #[doc = "Update the number of blocks used for APY calculation"] - pub fn update_apy_blocks( + #[doc = "Remove a state machine from the list of supported state machines"] + pub fn remove_state_machines( &self, - blocks: types::update_apy_blocks::Blocks, - ) -> ::subxt_core::tx::payload::StaticPayload { + state_machines: types::remove_state_machines::StateMachines, + ) -> ::subxt_core::tx::payload::StaticPayload { ::subxt_core::tx::payload::StaticPayload::new_static( - "Rewards", - "update_apy_blocks", - types::UpdateApyBlocks { blocks }, + "IsmpGrandpa", + "remove_state_machines", + types::RemoveStateMachines { state_machines }, [ - 98u8, 147u8, 159u8, 28u8, 148u8, 51u8, 110u8, 115u8, 31u8, 92u8, 175u8, - 43u8, 78u8, 246u8, 16u8, 77u8, 40u8, 52u8, 61u8, 174u8, 226u8, 105u8, - 243u8, 179u8, 62u8, 217u8, 211u8, 204u8, 146u8, 99u8, 139u8, 110u8, + 230u8, 108u8, 41u8, 105u8, 231u8, 111u8, 50u8, 251u8, 66u8, 95u8, 21u8, + 228u8, 176u8, 138u8, 139u8, 161u8, 43u8, 169u8, 203u8, 195u8, 148u8, + 108u8, 157u8, 25u8, 112u8, 211u8, 11u8, 171u8, 211u8, 2u8, 89u8, 38u8, ], ) } } } - #[doc = "The `Event` enum of this pallet"] - pub type Event = runtime_types::pallet_rewards::pallet::Event; + #[doc = "Events emitted by this pallet"] + pub type Event = runtime_types::ismp_grandpa::pallet::Event; pub mod events { use super::runtime_types; #[derive( @@ -54467,23 +53377,18 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Rewards have been claimed by an account"] - pub struct RewardsClaimed { - pub account: rewards_claimed::Account, - pub asset: rewards_claimed::Asset, - pub amount: rewards_claimed::Amount, + #[doc = "State machines have been added to whitelist"] + pub struct StateMachineAdded { + pub state_machines: state_machine_added::StateMachines, } - pub mod rewards_claimed { + pub mod state_machine_added { use super::runtime_types; - pub type Account = ::subxt_core::utils::AccountId32; - pub type Asset = runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, - >; - pub type Amount = ::core::primitive::u128; + pub type StateMachines = + ::subxt_core::alloc::vec::Vec; } - impl ::subxt_core::events::StaticEvent for RewardsClaimed { - const PALLET: &'static str = "Rewards"; - const EVENT: &'static str = "RewardsClaimed"; + impl ::subxt_core::events::StaticEvent for StateMachineAdded { + const PALLET: &'static str = "IsmpGrandpa"; + const EVENT: &'static str = "StateMachineAdded"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -54499,22 +53404,91 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Event emitted when an incentive APY and cap are set for a reward vault"] - pub struct IncentiveAPYAndCapSet { - pub vault_id: incentive_apy_and_cap_set::VaultId, - pub apy: incentive_apy_and_cap_set::Apy, - pub cap: incentive_apy_and_cap_set::Cap, + #[doc = "State machines have been removed from the whitelist"] + pub struct StateMachineRemoved { + pub state_machines: state_machine_removed::StateMachines, } - pub mod incentive_apy_and_cap_set { + pub mod state_machine_removed { use super::runtime_types; - pub type VaultId = ::core::primitive::u32; - pub type Apy = runtime_types::sp_arithmetic::per_things::Perbill; - pub type Cap = ::core::primitive::u128; + pub type StateMachines = + ::subxt_core::alloc::vec::Vec; } - impl ::subxt_core::events::StaticEvent for IncentiveAPYAndCapSet { - const PALLET: &'static str = "Rewards"; - const EVENT: &'static str = "IncentiveAPYAndCapSet"; + impl ::subxt_core::events::StaticEvent for StateMachineRemoved { + const PALLET: &'static str = "IsmpGrandpa"; + const EVENT: &'static str = "StateMachineRemoved"; } + } + pub mod storage { + use super::runtime_types; + pub mod types { + use super::runtime_types; + pub mod supported_state_machines { + use super::runtime_types; + pub type SupportedStateMachines = ::core::primitive::u64; + pub type Param0 = runtime_types::ismp::host::StateMachine; + } + } + pub struct StorageApi; + impl StorageApi { + #[doc = " Registered state machines for the grandpa consensus client"] + pub fn supported_state_machines_iter( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::supported_state_machines::SupportedStateMachines, + (), + (), + ::subxt_core::utils::Yes, + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "IsmpGrandpa", + "SupportedStateMachines", + (), + [ + 171u8, 231u8, 104u8, 190u8, 164u8, 85u8, 220u8, 72u8, 33u8, 38u8, 32u8, + 187u8, 52u8, 135u8, 14u8, 107u8, 183u8, 101u8, 171u8, 61u8, 27u8, + 130u8, 100u8, 220u8, 237u8, 111u8, 235u8, 174u8, 251u8, 44u8, 153u8, + 87u8, + ], + ) + } + #[doc = " Registered state machines for the grandpa consensus client"] + pub fn supported_state_machines( + &self, + _0: impl ::core::borrow::Borrow, + ) -> ::subxt_core::storage::address::StaticAddress< + ::subxt_core::storage::address::StaticStorageKey< + types::supported_state_machines::Param0, + >, + types::supported_state_machines::SupportedStateMachines, + ::subxt_core::utils::Yes, + (), + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "IsmpGrandpa", + "SupportedStateMachines", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + [ + 171u8, 231u8, 104u8, 190u8, 164u8, 85u8, 220u8, 72u8, 33u8, 38u8, 32u8, + 187u8, 52u8, 135u8, 14u8, 107u8, 183u8, 101u8, 171u8, 61u8, 27u8, + 130u8, 100u8, 220u8, 237u8, 111u8, 235u8, 174u8, 251u8, 44u8, 153u8, + 87u8, + ], + ) + } + } + } + } + pub mod hyperbridge { + use super::root_mod; + use super::runtime_types; + #[doc = "The `Error` enum of this pallet."] + pub type Error = runtime_types::pallet_hyperbridge::pallet::Error; + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::pallet_hyperbridge::pallet::Event; + pub mod events { + use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -54529,17 +53503,21 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Event emitted when a blueprint is whitelisted for rewards"] - pub struct BlueprintWhitelisted { - pub blueprint_id: blueprint_whitelisted::BlueprintId, + #[doc = "Hyperbridge governance has now updated it's host params on this chain."] + pub struct HostParamsUpdated { + pub old: host_params_updated::Old, + pub new: host_params_updated::New, } - pub mod blueprint_whitelisted { + pub mod host_params_updated { use super::runtime_types; - pub type BlueprintId = ::core::primitive::u64; + pub type Old = + runtime_types::pallet_hyperbridge::VersionedHostParams<::core::primitive::u128>; + pub type New = + runtime_types::pallet_hyperbridge::VersionedHostParams<::core::primitive::u128>; } - impl ::subxt_core::events::StaticEvent for BlueprintWhitelisted { - const PALLET: &'static str = "Rewards"; - const EVENT: &'static str = "BlueprintWhitelisted"; + impl ::subxt_core::events::StaticEvent for HostParamsUpdated { + const PALLET: &'static str = "Hyperbridge"; + const EVENT: &'static str = "HostParamsUpdated"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -54555,23 +53533,19 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Asset has been updated to reward vault"] - pub struct AssetUpdatedInVault { - pub vault_id: asset_updated_in_vault::VaultId, - pub asset: asset_updated_in_vault::Asset, - pub action: asset_updated_in_vault::Action, + #[doc = "A relayer has withdrawn some fees"] + pub struct RelayerFeeWithdrawn { + pub amount: relayer_fee_withdrawn::Amount, + pub account: relayer_fee_withdrawn::Account, } - pub mod asset_updated_in_vault { + pub mod relayer_fee_withdrawn { use super::runtime_types; - pub type VaultId = ::core::primitive::u32; - pub type Asset = runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, - >; - pub type Action = runtime_types::pallet_rewards::types::AssetAction; + pub type Amount = ::core::primitive::u128; + pub type Account = ::subxt_core::utils::AccountId32; } - impl ::subxt_core::events::StaticEvent for AssetUpdatedInVault { - const PALLET: &'static str = "Rewards"; - const EVENT: &'static str = "AssetUpdatedInVault"; + impl ::subxt_core::events::StaticEvent for RelayerFeeWithdrawn { + const PALLET: &'static str = "Hyperbridge"; + const EVENT: &'static str = "RelayerFeeWithdrawn"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -54587,56 +53561,317 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Vault reward config updated"] - pub struct VaultRewardConfigUpdated { - pub vault_id: vault_reward_config_updated::VaultId, - pub new_config: vault_reward_config_updated::NewConfig, + #[doc = "Hyperbridge has withdrawn it's protocol revenue"] + pub struct ProtocolRevenueWithdrawn { + pub amount: protocol_revenue_withdrawn::Amount, + pub account: protocol_revenue_withdrawn::Account, } - pub mod vault_reward_config_updated { + pub mod protocol_revenue_withdrawn { use super::runtime_types; - pub type VaultId = ::core::primitive::u32; - pub type NewConfig = - runtime_types::pallet_rewards::types::RewardConfigForAssetVault< + pub type Amount = ::core::primitive::u128; + pub type Account = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::events::StaticEvent for ProtocolRevenueWithdrawn { + const PALLET: &'static str = "Hyperbridge"; + const EVENT: &'static str = "ProtocolRevenueWithdrawn"; + } + } + pub mod storage { + use super::runtime_types; + pub mod types { + use super::runtime_types; + pub mod host_params { + use super::runtime_types; + pub type HostParams = runtime_types::pallet_hyperbridge::VersionedHostParams< ::core::primitive::u128, >; + } } - impl ::subxt_core::events::StaticEvent for VaultRewardConfigUpdated { - const PALLET: &'static str = "Rewards"; - const EVENT: &'static str = "VaultRewardConfigUpdated"; - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Vault created"] - pub struct RewardVaultCreated { - pub vault_id: reward_vault_created::VaultId, - pub new_config: reward_vault_created::NewConfig, - pub pot_account: reward_vault_created::PotAccount, + pub struct StorageApi; + impl StorageApi { + #[doc = " The host parameters of the pallet-hyperbridge."] + pub fn host_params( + &self, + ) -> ::subxt_core::storage::address::StaticAddress< + (), + types::host_params::HostParams, + ::subxt_core::utils::Yes, + ::subxt_core::utils::Yes, + (), + > { + ::subxt_core::storage::address::StaticAddress::new_static( + "Hyperbridge", + "HostParams", + (), + [ + 63u8, 161u8, 59u8, 10u8, 66u8, 169u8, 151u8, 95u8, 136u8, 225u8, 228u8, + 44u8, 4u8, 35u8, 109u8, 92u8, 129u8, 184u8, 94u8, 30u8, 190u8, 74u8, + 108u8, 129u8, 127u8, 9u8, 93u8, 219u8, 6u8, 153u8, 35u8, 67u8, + ], + ) + } } - pub mod reward_vault_created { + } + } + pub mod token_gateway { + use super::root_mod; + use super::runtime_types; + #[doc = "Errors that can be returned by this pallet."] + pub type Error = runtime_types::pallet_token_gateway::pallet::Error; + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub type Call = runtime_types::pallet_token_gateway::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { use super::runtime_types; - pub type VaultId = ::core::primitive::u32; - pub type NewConfig = - runtime_types::pallet_rewards::types::RewardConfigForAssetVault< + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Teleports a registered asset"] + #[doc = "locks the asset and dispatches a request to token gateway on the destination"] + pub struct Teleport { + pub params: teleport::Params, + } + pub mod teleport { + use super::runtime_types; + pub type Params = runtime_types::pallet_token_gateway::types::TeleportParams< + ::core::primitive::u128, + ::core::primitive::u128, + >; + } + impl ::subxt_core::blocks::StaticExtrinsic for Teleport { + const PALLET: &'static str = "TokenGateway"; + const CALL: &'static str = "teleport"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Set the token gateway address for specified chains"] + pub struct SetTokenGatewayAddresses { + pub addresses: set_token_gateway_addresses::Addresses, + } + pub mod set_token_gateway_addresses { + use super::runtime_types; + pub type Addresses = ::subxt_core::utils::KeyedVec< + runtime_types::ismp::host::StateMachine, + ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + >; + } + impl ::subxt_core::blocks::StaticExtrinsic for SetTokenGatewayAddresses { + const PALLET: &'static str = "TokenGateway"; + const CALL: &'static str = "set_token_gateway_addresses"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Registers a multi-chain ERC6160 asset. The asset should not already exist."] + #[doc = ""] + #[doc = "This works by dispatching a request to the TokenGateway module on each requested chain"] + #[doc = "to create the asset."] + #[doc = "`native` should be true if this asset originates from this chain"] + pub struct CreateErc6160Asset { + pub asset: create_erc6160_asset::Asset, + } + pub mod create_erc6160_asset { + use super::runtime_types; + pub type Asset = runtime_types::pallet_token_gateway::types::AssetRegistration< ::core::primitive::u128, >; - pub type PotAccount = ::subxt_core::utils::AccountId32; + } + impl ::subxt_core::blocks::StaticExtrinsic for CreateErc6160Asset { + const PALLET: &'static str = "TokenGateway"; + const CALL: &'static str = "create_erc6160_asset"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Registers a multi-chain ERC6160 asset. The asset should not already exist."] + #[doc = ""] + #[doc = "This works by dispatching a request to the TokenGateway module on each requested chain"] + #[doc = "to create the asset."] + pub struct UpdateErc6160Asset { + pub asset: update_erc6160_asset::Asset, + } + pub mod update_erc6160_asset { + use super::runtime_types; + pub type Asset = runtime_types::token_gateway_primitives::GatewayAssetUpdate; + } + impl ::subxt_core::blocks::StaticExtrinsic for UpdateErc6160Asset { + const PALLET: &'static str = "TokenGateway"; + const CALL: &'static str = "update_erc6160_asset"; + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Update the precision for an existing asset"] + pub struct UpdateAssetPrecision { + pub update: update_asset_precision::Update, + } + pub mod update_asset_precision { + use super::runtime_types; + pub type Update = runtime_types::pallet_token_gateway::types::PrecisionUpdate< + ::core::primitive::u128, + >; + } + impl ::subxt_core::blocks::StaticExtrinsic for UpdateAssetPrecision { + const PALLET: &'static str = "TokenGateway"; + const CALL: &'static str = "update_asset_precision"; + } } - impl ::subxt_core::events::StaticEvent for RewardVaultCreated { - const PALLET: &'static str = "Rewards"; - const EVENT: &'static str = "RewardVaultCreated"; + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Teleports a registered asset"] + #[doc = "locks the asset and dispatches a request to token gateway on the destination"] + pub fn teleport( + &self, + params: types::teleport::Params, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "TokenGateway", + "teleport", + types::Teleport { params }, + [ + 107u8, 178u8, 205u8, 7u8, 68u8, 82u8, 70u8, 94u8, 233u8, 36u8, 150u8, + 118u8, 2u8, 239u8, 148u8, 75u8, 227u8, 181u8, 128u8, 76u8, 57u8, 206u8, + 81u8, 255u8, 210u8, 194u8, 166u8, 8u8, 102u8, 61u8, 90u8, 184u8, + ], + ) + } + #[doc = "Set the token gateway address for specified chains"] + pub fn set_token_gateway_addresses( + &self, + addresses: types::set_token_gateway_addresses::Addresses, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "TokenGateway", + "set_token_gateway_addresses", + types::SetTokenGatewayAddresses { addresses }, + [ + 75u8, 247u8, 223u8, 126u8, 244u8, 65u8, 124u8, 16u8, 224u8, 32u8, 33u8, + 83u8, 219u8, 70u8, 156u8, 188u8, 121u8, 45u8, 46u8, 104u8, 228u8, + 208u8, 102u8, 185u8, 25u8, 14u8, 61u8, 226u8, 200u8, 227u8, 117u8, + 149u8, + ], + ) + } + #[doc = "Registers a multi-chain ERC6160 asset. The asset should not already exist."] + #[doc = ""] + #[doc = "This works by dispatching a request to the TokenGateway module on each requested chain"] + #[doc = "to create the asset."] + #[doc = "`native` should be true if this asset originates from this chain"] + pub fn create_erc6160_asset( + &self, + asset: types::create_erc6160_asset::Asset, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "TokenGateway", + "create_erc6160_asset", + types::CreateErc6160Asset { asset }, + [ + 53u8, 111u8, 80u8, 30u8, 215u8, 88u8, 46u8, 124u8, 4u8, 100u8, 150u8, + 83u8, 93u8, 144u8, 50u8, 187u8, 250u8, 39u8, 171u8, 153u8, 67u8, 170u8, + 116u8, 52u8, 216u8, 53u8, 166u8, 115u8, 181u8, 10u8, 242u8, 105u8, + ], + ) + } + #[doc = "Registers a multi-chain ERC6160 asset. The asset should not already exist."] + #[doc = ""] + #[doc = "This works by dispatching a request to the TokenGateway module on each requested chain"] + #[doc = "to create the asset."] + pub fn update_erc6160_asset( + &self, + asset: types::update_erc6160_asset::Asset, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "TokenGateway", + "update_erc6160_asset", + types::UpdateErc6160Asset { asset }, + [ + 211u8, 55u8, 237u8, 211u8, 169u8, 128u8, 105u8, 18u8, 185u8, 153u8, + 33u8, 249u8, 86u8, 241u8, 209u8, 153u8, 88u8, 136u8, 11u8, 8u8, 85u8, + 71u8, 225u8, 17u8, 226u8, 150u8, 32u8, 92u8, 111u8, 192u8, 20u8, 17u8, + ], + ) + } + #[doc = "Update the precision for an existing asset"] + pub fn update_asset_precision( + &self, + update: types::update_asset_precision::Update, + ) -> ::subxt_core::tx::payload::StaticPayload { + ::subxt_core::tx::payload::StaticPayload::new_static( + "TokenGateway", + "update_asset_precision", + types::UpdateAssetPrecision { update }, + [ + 80u8, 202u8, 205u8, 46u8, 6u8, 60u8, 151u8, 26u8, 94u8, 181u8, 6u8, + 136u8, 251u8, 239u8, 57u8, 201u8, 255u8, 89u8, 20u8, 35u8, 115u8, 80u8, + 160u8, 77u8, 214u8, 125u8, 207u8, 24u8, 32u8, 173u8, 50u8, 37u8, + ], + ) + } } + } + #[doc = "Pallet events that functions in this pallet can emit."] + pub type Event = runtime_types::pallet_token_gateway::pallet::Event; + pub mod events { + use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -54651,27 +53886,25 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Total score in vault updated"] - pub struct TotalScoreUpdated { - pub vault_id: total_score_updated::VaultId, - pub asset: total_score_updated::Asset, - pub total_score: total_score_updated::TotalScore, - pub lock_multiplier: total_score_updated::LockMultiplier, - } - pub mod total_score_updated { + #[doc = "An asset has been teleported"] + pub struct AssetTeleported { + pub from: asset_teleported::From, + pub to: asset_teleported::To, + pub amount: asset_teleported::Amount, + pub dest: asset_teleported::Dest, + pub commitment: asset_teleported::Commitment, + } + pub mod asset_teleported { use super::runtime_types; - pub type VaultId = ::core::primitive::u32; - pub type Asset = runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, - >; - pub type TotalScore = ::core::primitive::u128; - pub type LockMultiplier = ::core::option::Option< - runtime_types::tangle_primitives::types::rewards::LockMultiplier, - >; + pub type From = ::subxt_core::utils::AccountId32; + pub type To = ::subxt_core::utils::H256; + pub type Amount = ::core::primitive::u128; + pub type Dest = runtime_types::ismp::host::StateMachine; + pub type Commitment = ::subxt_core::utils::H256; } - impl ::subxt_core::events::StaticEvent for TotalScoreUpdated { - const PALLET: &'static str = "Rewards"; - const EVENT: &'static str = "TotalScoreUpdated"; + impl ::subxt_core::events::StaticEvent for AssetTeleported { + const PALLET: &'static str = "TokenGateway"; + const EVENT: &'static str = "AssetTeleported"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -54687,23 +53920,21 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Total deposit in vault updated"] - pub struct TotalDepositUpdated { - pub vault_id: total_deposit_updated::VaultId, - pub asset: total_deposit_updated::Asset, - pub total_deposit: total_deposit_updated::TotalDeposit, + #[doc = "An asset has been received and transferred to the beneficiary's account"] + pub struct AssetReceived { + pub beneficiary: asset_received::Beneficiary, + pub amount: asset_received::Amount, + pub source: asset_received::Source, } - pub mod total_deposit_updated { + pub mod asset_received { use super::runtime_types; - pub type VaultId = ::core::primitive::u32; - pub type Asset = runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, - >; - pub type TotalDeposit = ::core::primitive::u128; + pub type Beneficiary = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + pub type Source = runtime_types::ismp::host::StateMachine; } - impl ::subxt_core::events::StaticEvent for TotalDepositUpdated { - const PALLET: &'static str = "Rewards"; - const EVENT: &'static str = "TotalDepositUpdated"; + impl ::subxt_core::events::StaticEvent for AssetReceived { + const PALLET: &'static str = "TokenGateway"; + const EVENT: &'static str = "AssetReceived"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -54719,19 +53950,21 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Decay configuration was updated"] - pub struct DecayConfigUpdated { - pub start_period: decay_config_updated::StartPeriod, - pub rate: decay_config_updated::Rate, + #[doc = "An asset has been refunded and transferred to the beneficiary's account"] + pub struct AssetRefunded { + pub beneficiary: asset_refunded::Beneficiary, + pub amount: asset_refunded::Amount, + pub source: asset_refunded::Source, } - pub mod decay_config_updated { + pub mod asset_refunded { use super::runtime_types; - pub type StartPeriod = ::core::primitive::u64; - pub type Rate = runtime_types::sp_arithmetic::per_things::Perbill; + pub type Beneficiary = ::subxt_core::utils::AccountId32; + pub type Amount = ::core::primitive::u128; + pub type Source = runtime_types::ismp::host::StateMachine; } - impl ::subxt_core::events::StaticEvent for DecayConfigUpdated { - const PALLET: &'static str = "Rewards"; - const EVENT: &'static str = "DecayConfigUpdated"; + impl ::subxt_core::events::StaticEvent for AssetRefunded { + const PALLET: &'static str = "TokenGateway"; + const EVENT: &'static str = "AssetRefunded"; } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -54747,600 +53980,759 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "The number of blocks for APY calculation has been updated"] - pub struct ApyBlocksUpdated { - pub blocks: apy_blocks_updated::Blocks, + #[doc = "ERC6160 asset creation request dispatched to hyperbridge"] + pub struct ERC6160AssetRegistrationDispatched { + pub commitment: erc6160_asset_registration_dispatched::Commitment, } - pub mod apy_blocks_updated { + pub mod erc6160_asset_registration_dispatched { use super::runtime_types; - pub type Blocks = ::core::primitive::u64; + pub type Commitment = ::subxt_core::utils::H256; } - impl ::subxt_core::events::StaticEvent for ApyBlocksUpdated { - const PALLET: &'static str = "Rewards"; - const EVENT: &'static str = "ApyBlocksUpdated"; + impl ::subxt_core::events::StaticEvent for ERC6160AssetRegistrationDispatched { + const PALLET: &'static str = "TokenGateway"; + const EVENT: &'static str = "ERC6160AssetRegistrationDispatched"; } } pub mod storage { use super::runtime_types; pub mod types { use super::runtime_types; - pub mod total_reward_vault_score { - use super::runtime_types; - pub type TotalRewardVaultScore = ::core::primitive::u128; - pub type Param0 = ::core::primitive::u32; - } - pub mod total_reward_vault_deposit { - use super::runtime_types; - pub type TotalRewardVaultDeposit = ::core::primitive::u128; - pub type Param0 = ::core::primitive::u32; - } - pub mod user_service_reward { + pub mod supported_assets { use super::runtime_types; - pub type UserServiceReward = ::core::primitive::u128; - pub type Param0 = ::subxt_core::utils::AccountId32; - pub type Param1 = runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, - >; - } - pub mod user_claimed_reward { - use super::runtime_types; - pub type UserClaimedReward = (::core::primitive::u64, ::core::primitive::u128); - pub type Param0 = ::subxt_core::utils::AccountId32; - pub type Param1 = ::core::primitive::u32; - } - pub mod reward_vaults { - use super::runtime_types; - pub type RewardVaults = ::subxt_core::alloc::vec::Vec< - runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, - >, - >; - pub type Param0 = ::core::primitive::u32; - } - pub mod asset_lookup_reward_vaults { - use super::runtime_types; - pub type AssetLookupRewardVaults = ::core::primitive::u32; - pub type Param0 = runtime_types::tangle_primitives::services::types::Asset< - ::core::primitive::u128, - >; - } - pub mod reward_config_storage { - use super::runtime_types; - pub type RewardConfigStorage = - runtime_types::pallet_rewards::types::RewardConfigForAssetVault< - ::core::primitive::u128, - >; - pub type Param0 = ::core::primitive::u32; + pub type SupportedAssets = ::subxt_core::utils::H256; + pub type Param0 = ::core::primitive::u128; } - pub mod reward_vaults_pot_account { + pub mod native_assets { use super::runtime_types; - pub type RewardVaultsPotAccount = ::subxt_core::utils::AccountId32; - pub type Param0 = ::core::primitive::u32; + pub type NativeAssets = ::core::primitive::bool; + pub type Param0 = ::core::primitive::u128; } - pub mod apy_blocks { + pub mod local_assets { use super::runtime_types; - pub type ApyBlocks = ::core::primitive::u64; + pub type LocalAssets = ::core::primitive::u128; + pub type Param0 = ::subxt_core::utils::H256; } - pub mod decay_start_period { + pub mod precisions { use super::runtime_types; - pub type DecayStartPeriod = ::core::primitive::u64; + pub type Precisions = ::core::primitive::u8; + pub type Param0 = ::core::primitive::u128; + pub type Param1 = runtime_types::ismp::host::StateMachine; } - pub mod decay_rate { + pub mod token_gateway_addresses { use super::runtime_types; - pub type DecayRate = runtime_types::sp_arithmetic::per_things::Perbill; + pub type TokenGatewayAddresses = + ::subxt_core::alloc::vec::Vec<::core::primitive::u8>; + pub type Param0 = runtime_types::ismp::host::StateMachine; } } pub struct StorageApi; impl StorageApi { - #[doc = " Stores the total score for each vault"] - #[doc = " The difference between this and total_reward_vault_deposit is that this includes locked"] - #[doc = " deposits multiplied by the lock multiplier"] - pub fn total_reward_vault_score_iter( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::total_reward_vault_score::TotalRewardVaultScore, - (), - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Rewards", - "TotalRewardVaultScore", - (), - [ - 81u8, 149u8, 62u8, 176u8, 255u8, 187u8, 21u8, 2u8, 204u8, 121u8, 214u8, - 125u8, 223u8, 182u8, 204u8, 248u8, 232u8, 123u8, 163u8, 177u8, 173u8, - 25u8, 97u8, 90u8, 204u8, 82u8, 152u8, 36u8, 20u8, 13u8, 13u8, 189u8, - ], - ) - } - #[doc = " Stores the total score for each vault"] - #[doc = " The difference between this and total_reward_vault_deposit is that this includes locked"] - #[doc = " deposits multiplied by the lock multiplier"] - pub fn total_reward_vault_score( + #[doc = " Assets supported by this instance of token gateway"] + #[doc = " A map of the local asset id to the token gateway asset id"] + pub fn supported_assets_iter( &self, - _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey< - types::total_reward_vault_score::Param0, - >, - types::total_reward_vault_score::TotalRewardVaultScore, - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Rewards", - "TotalRewardVaultScore", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - [ - 81u8, 149u8, 62u8, 176u8, 255u8, 187u8, 21u8, 2u8, 204u8, 121u8, 214u8, - 125u8, 223u8, 182u8, 204u8, 248u8, 232u8, 123u8, 163u8, 177u8, 173u8, - 25u8, 97u8, 90u8, 204u8, 82u8, 152u8, 36u8, 20u8, 13u8, 13u8, 189u8, - ], - ) - } - #[doc = " Stores the total deposit for each vault"] - pub fn total_reward_vault_deposit_iter( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< + types::supported_assets::SupportedAssets, (), - types::total_reward_vault_deposit::TotalRewardVaultDeposit, (), ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, > { ::subxt_core::storage::address::StaticAddress::new_static( - "Rewards", - "TotalRewardVaultDeposit", + "TokenGateway", + "SupportedAssets", (), [ - 153u8, 26u8, 119u8, 97u8, 24u8, 180u8, 52u8, 220u8, 10u8, 27u8, 120u8, - 176u8, 18u8, 120u8, 19u8, 196u8, 16u8, 104u8, 16u8, 73u8, 255u8, 227u8, - 177u8, 254u8, 182u8, 35u8, 27u8, 27u8, 5u8, 106u8, 0u8, 63u8, + 102u8, 231u8, 227u8, 1u8, 179u8, 86u8, 48u8, 234u8, 18u8, 211u8, 253u8, + 13u8, 165u8, 19u8, 96u8, 229u8, 186u8, 88u8, 173u8, 90u8, 27u8, 21u8, + 73u8, 236u8, 203u8, 24u8, 92u8, 19u8, 152u8, 6u8, 102u8, 93u8, ], ) } - #[doc = " Stores the total deposit for each vault"] - pub fn total_reward_vault_deposit( + #[doc = " Assets supported by this instance of token gateway"] + #[doc = " A map of the local asset id to the token gateway asset id"] + pub fn supported_assets( &self, - _0: impl ::core::borrow::Borrow, + _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< ::subxt_core::storage::address::StaticStorageKey< - types::total_reward_vault_deposit::Param0, + types::supported_assets::Param0, >, - types::total_reward_vault_deposit::TotalRewardVaultDeposit, + types::supported_assets::SupportedAssets, ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Rewards", - "TotalRewardVaultDeposit", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - [ - 153u8, 26u8, 119u8, 97u8, 24u8, 180u8, 52u8, 220u8, 10u8, 27u8, 120u8, - 176u8, 18u8, 120u8, 19u8, 196u8, 16u8, 104u8, 16u8, 73u8, 255u8, 227u8, - 177u8, 254u8, 182u8, 35u8, 27u8, 27u8, 5u8, 106u8, 0u8, 63u8, - ], - ) - } - #[doc = " Stores the service reward for a given user"] - pub fn user_service_reward_iter( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< (), - types::user_service_reward::UserServiceReward, - (), - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Rewards", - "UserServiceReward", - (), - [ - 17u8, 184u8, 103u8, 139u8, 191u8, 239u8, 87u8, 61u8, 131u8, 108u8, - 189u8, 182u8, 114u8, 33u8, 47u8, 131u8, 228u8, 166u8, 129u8, 195u8, - 95u8, 198u8, 106u8, 161u8, 83u8, 38u8, 144u8, 23u8, 243u8, 6u8, 134u8, - 164u8, - ], - ) - } - #[doc = " Stores the service reward for a given user"] - pub fn user_service_reward_iter1( - &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey< - types::user_service_reward::Param0, - >, - types::user_service_reward::UserServiceReward, (), - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, > { ::subxt_core::storage::address::StaticAddress::new_static( - "Rewards", - "UserServiceReward", + "TokenGateway", + "SupportedAssets", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 17u8, 184u8, 103u8, 139u8, 191u8, 239u8, 87u8, 61u8, 131u8, 108u8, - 189u8, 182u8, 114u8, 33u8, 47u8, 131u8, 228u8, 166u8, 129u8, 195u8, - 95u8, 198u8, 106u8, 161u8, 83u8, 38u8, 144u8, 23u8, 243u8, 6u8, 134u8, - 164u8, - ], - ) - } - #[doc = " Stores the service reward for a given user"] - pub fn user_service_reward( - &self, - _0: impl ::core::borrow::Borrow, - _1: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ( - ::subxt_core::storage::address::StaticStorageKey< - types::user_service_reward::Param0, - >, - ::subxt_core::storage::address::StaticStorageKey< - types::user_service_reward::Param1, - >, - ), - types::user_service_reward::UserServiceReward, - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Rewards", - "UserServiceReward", - ( - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), - ), - [ - 17u8, 184u8, 103u8, 139u8, 191u8, 239u8, 87u8, 61u8, 131u8, 108u8, - 189u8, 182u8, 114u8, 33u8, 47u8, 131u8, 228u8, 166u8, 129u8, 195u8, - 95u8, 198u8, 106u8, 161u8, 83u8, 38u8, 144u8, 23u8, 243u8, 6u8, 134u8, - 164u8, - ], - ) - } - #[doc = " Stores the service reward for a given user"] - pub fn user_claimed_reward_iter( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::user_claimed_reward::UserClaimedReward, - (), - (), - ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Rewards", - "UserClaimedReward", - (), - [ - 206u8, 242u8, 28u8, 7u8, 152u8, 211u8, 16u8, 91u8, 52u8, 84u8, 0u8, - 224u8, 145u8, 43u8, 26u8, 136u8, 113u8, 169u8, 109u8, 251u8, 145u8, - 75u8, 183u8, 206u8, 220u8, 207u8, 232u8, 152u8, 219u8, 88u8, 209u8, - 94u8, + 102u8, 231u8, 227u8, 1u8, 179u8, 86u8, 48u8, 234u8, 18u8, 211u8, 253u8, + 13u8, 165u8, 19u8, 96u8, 229u8, 186u8, 88u8, 173u8, 90u8, 27u8, 21u8, + 73u8, 236u8, 203u8, 24u8, 92u8, 19u8, 152u8, 6u8, 102u8, 93u8, ], ) } - #[doc = " Stores the service reward for a given user"] - pub fn user_claimed_reward_iter1( + #[doc = " Assets that originate from this chain"] + pub fn native_assets_iter( &self, - _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey< - types::user_claimed_reward::Param0, - >, - types::user_claimed_reward::UserClaimedReward, (), + types::native_assets::NativeAssets, (), ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Rewards", - "UserClaimedReward", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - [ - 206u8, 242u8, 28u8, 7u8, 152u8, 211u8, 16u8, 91u8, 52u8, 84u8, 0u8, - 224u8, 145u8, 43u8, 26u8, 136u8, 113u8, 169u8, 109u8, 251u8, 145u8, - 75u8, 183u8, 206u8, 220u8, 207u8, 232u8, 152u8, 219u8, 88u8, 209u8, - 94u8, - ], - ) - } - #[doc = " Stores the service reward for a given user"] - pub fn user_claimed_reward( - &self, - _0: impl ::core::borrow::Borrow, - _1: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ( - ::subxt_core::storage::address::StaticStorageKey< - types::user_claimed_reward::Param0, - >, - ::subxt_core::storage::address::StaticStorageKey< - types::user_claimed_reward::Param1, - >, - ), - types::user_claimed_reward::UserClaimedReward, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Rewards", - "UserClaimedReward", - ( - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), - ), - [ - 206u8, 242u8, 28u8, 7u8, 152u8, 211u8, 16u8, 91u8, 52u8, 84u8, 0u8, - 224u8, 145u8, 43u8, 26u8, 136u8, 113u8, 169u8, 109u8, 251u8, 145u8, - 75u8, 183u8, 206u8, 220u8, 207u8, 232u8, 152u8, 219u8, 88u8, 209u8, - 94u8, - ], - ) - } - #[doc = " Storage for the reward vaults"] - pub fn reward_vaults_iter( - &self, - ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::reward_vaults::RewardVaults, - (), - (), ::subxt_core::utils::Yes, > { ::subxt_core::storage::address::StaticAddress::new_static( - "Rewards", - "RewardVaults", + "TokenGateway", + "NativeAssets", (), [ - 29u8, 120u8, 143u8, 243u8, 2u8, 41u8, 241u8, 174u8, 61u8, 231u8, 246u8, - 255u8, 254u8, 79u8, 10u8, 248u8, 59u8, 248u8, 189u8, 209u8, 84u8, 90u8, - 111u8, 27u8, 92u8, 110u8, 210u8, 152u8, 231u8, 154u8, 161u8, 112u8, - ], - ) - } - #[doc = " Storage for the reward vaults"] - pub fn reward_vaults( - &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey, - types::reward_vaults::RewardVaults, - ::subxt_core::utils::Yes, - (), - (), - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Rewards", - "RewardVaults", - ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), - [ - 29u8, 120u8, 143u8, 243u8, 2u8, 41u8, 241u8, 174u8, 61u8, 231u8, 246u8, - 255u8, 254u8, 79u8, 10u8, 248u8, 59u8, 248u8, 189u8, 209u8, 84u8, 90u8, - 111u8, 27u8, 92u8, 110u8, 210u8, 152u8, 231u8, 154u8, 161u8, 112u8, + 20u8, 236u8, 238u8, 93u8, 137u8, 6u8, 85u8, 4u8, 179u8, 181u8, 213u8, + 205u8, 97u8, 13u8, 76u8, 221u8, 64u8, 134u8, 220u8, 36u8, 228u8, 216u8, + 195u8, 242u8, 53u8, 146u8, 126u8, 229u8, 109u8, 86u8, 161u8, 27u8, ], ) } - #[doc = " Storage for the reward vaults"] - pub fn asset_lookup_reward_vaults_iter( + #[doc = " Assets that originate from this chain"] + pub fn native_assets( &self, + _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::asset_lookup_reward_vaults::AssetLookupRewardVaults, - (), - (), + ::subxt_core::storage::address::StaticStorageKey, + types::native_assets::NativeAssets, ::subxt_core::utils::Yes, - > { - ::subxt_core::storage::address::StaticAddress::new_static( - "Rewards", - "AssetLookupRewardVaults", - (), - [ - 102u8, 24u8, 170u8, 108u8, 171u8, 54u8, 53u8, 186u8, 3u8, 87u8, 224u8, - 25u8, 113u8, 74u8, 180u8, 59u8, 181u8, 120u8, 89u8, 36u8, 0u8, 245u8, - 81u8, 197u8, 154u8, 157u8, 52u8, 213u8, 151u8, 197u8, 46u8, 173u8, - ], - ) - } - #[doc = " Storage for the reward vaults"] - pub fn asset_lookup_reward_vaults( - &self, - _0: impl ::core::borrow::Borrow, - ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey< - types::asset_lookup_reward_vaults::Param0, - >, - types::asset_lookup_reward_vaults::AssetLookupRewardVaults, ::subxt_core::utils::Yes, (), - (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "Rewards", - "AssetLookupRewardVaults", + "TokenGateway", + "NativeAssets", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 102u8, 24u8, 170u8, 108u8, 171u8, 54u8, 53u8, 186u8, 3u8, 87u8, 224u8, - 25u8, 113u8, 74u8, 180u8, 59u8, 181u8, 120u8, 89u8, 36u8, 0u8, 245u8, - 81u8, 197u8, 154u8, 157u8, 52u8, 213u8, 151u8, 197u8, 46u8, 173u8, + 20u8, 236u8, 238u8, 93u8, 137u8, 6u8, 85u8, 4u8, 179u8, 181u8, 213u8, + 205u8, 97u8, 13u8, 76u8, 221u8, 64u8, 134u8, 220u8, 36u8, 228u8, 216u8, + 195u8, 242u8, 53u8, 146u8, 126u8, 229u8, 109u8, 86u8, 161u8, 27u8, ], ) } - #[doc = " Storage for the reward configuration, which includes APY, cap for assets"] - pub fn reward_config_storage_iter( + #[doc = " Assets supported by this instance of token gateway"] + #[doc = " A map of the token gateway asset id to the local asset id"] + pub fn local_assets_iter( &self, ) -> ::subxt_core::storage::address::StaticAddress< (), - types::reward_config_storage::RewardConfigStorage, + types::local_assets::LocalAssets, (), (), ::subxt_core::utils::Yes, > { ::subxt_core::storage::address::StaticAddress::new_static( - "Rewards", - "RewardConfigStorage", + "TokenGateway", + "LocalAssets", (), [ - 167u8, 13u8, 248u8, 73u8, 101u8, 33u8, 39u8, 129u8, 241u8, 211u8, - 177u8, 159u8, 73u8, 133u8, 168u8, 168u8, 249u8, 121u8, 83u8, 168u8, - 124u8, 215u8, 31u8, 197u8, 62u8, 13u8, 213u8, 16u8, 15u8, 142u8, 71u8, - 190u8, + 235u8, 71u8, 13u8, 47u8, 104u8, 86u8, 139u8, 132u8, 197u8, 31u8, 205u8, + 194u8, 62u8, 246u8, 226u8, 179u8, 77u8, 12u8, 205u8, 23u8, 46u8, 75u8, + 127u8, 139u8, 161u8, 122u8, 250u8, 179u8, 145u8, 133u8, 126u8, 210u8, ], ) } - #[doc = " Storage for the reward configuration, which includes APY, cap for assets"] - pub fn reward_config_storage( + #[doc = " Assets supported by this instance of token gateway"] + #[doc = " A map of the token gateway asset id to the local asset id"] + pub fn local_assets( &self, - _0: impl ::core::borrow::Borrow, + _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey< - types::reward_config_storage::Param0, - >, - types::reward_config_storage::RewardConfigStorage, + ::subxt_core::storage::address::StaticStorageKey, + types::local_assets::LocalAssets, ::subxt_core::utils::Yes, (), (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "Rewards", - "RewardConfigStorage", + "TokenGateway", + "LocalAssets", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 167u8, 13u8, 248u8, 73u8, 101u8, 33u8, 39u8, 129u8, 241u8, 211u8, - 177u8, 159u8, 73u8, 133u8, 168u8, 168u8, 249u8, 121u8, 83u8, 168u8, - 124u8, 215u8, 31u8, 197u8, 62u8, 13u8, 213u8, 16u8, 15u8, 142u8, 71u8, - 190u8, + 235u8, 71u8, 13u8, 47u8, 104u8, 86u8, 139u8, 132u8, 197u8, 31u8, 205u8, + 194u8, 62u8, 246u8, 226u8, 179u8, 77u8, 12u8, 205u8, 23u8, 46u8, 75u8, + 127u8, 139u8, 161u8, 122u8, 250u8, 179u8, 145u8, 133u8, 126u8, 210u8, ], ) } - #[doc = " Storage for the reward vaults"] - pub fn reward_vaults_pot_account_iter( + #[doc = " The decimals used by the EVM counterpart of this asset"] + pub fn precisions_iter( &self, ) -> ::subxt_core::storage::address::StaticAddress< (), - types::reward_vaults_pot_account::RewardVaultsPotAccount, + types::precisions::Precisions, (), (), ::subxt_core::utils::Yes, > { ::subxt_core::storage::address::StaticAddress::new_static( - "Rewards", - "RewardVaultsPotAccount", + "TokenGateway", + "Precisions", (), [ - 37u8, 51u8, 253u8, 251u8, 66u8, 90u8, 154u8, 16u8, 216u8, 200u8, 64u8, - 151u8, 93u8, 34u8, 232u8, 112u8, 13u8, 166u8, 96u8, 33u8, 163u8, 36u8, - 214u8, 248u8, 191u8, 206u8, 24u8, 245u8, 60u8, 21u8, 115u8, 123u8, + 236u8, 59u8, 110u8, 21u8, 53u8, 219u8, 169u8, 129u8, 21u8, 158u8, + 232u8, 14u8, 7u8, 174u8, 83u8, 218u8, 146u8, 210u8, 74u8, 112u8, 221u8, + 55u8, 186u8, 42u8, 92u8, 75u8, 124u8, 68u8, 221u8, 24u8, 15u8, 179u8, ], ) } - #[doc = " Storage for the reward vaults"] - pub fn reward_vaults_pot_account( + #[doc = " The decimals used by the EVM counterpart of this asset"] + pub fn precisions_iter1( &self, - _0: impl ::core::borrow::Borrow, + _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< - ::subxt_core::storage::address::StaticStorageKey< - types::reward_vaults_pot_account::Param0, - >, - types::reward_vaults_pot_account::RewardVaultsPotAccount, - ::subxt_core::utils::Yes, + ::subxt_core::storage::address::StaticStorageKey, + types::precisions::Precisions, (), (), + ::subxt_core::utils::Yes, > { ::subxt_core::storage::address::StaticAddress::new_static( - "Rewards", - "RewardVaultsPotAccount", + "TokenGateway", + "Precisions", ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 37u8, 51u8, 253u8, 251u8, 66u8, 90u8, 154u8, 16u8, 216u8, 200u8, 64u8, - 151u8, 93u8, 34u8, 232u8, 112u8, 13u8, 166u8, 96u8, 33u8, 163u8, 36u8, - 214u8, 248u8, 191u8, 206u8, 24u8, 245u8, 60u8, 21u8, 115u8, 123u8, + 236u8, 59u8, 110u8, 21u8, 53u8, 219u8, 169u8, 129u8, 21u8, 158u8, + 232u8, 14u8, 7u8, 174u8, 83u8, 218u8, 146u8, 210u8, 74u8, 112u8, 221u8, + 55u8, 186u8, 42u8, 92u8, 75u8, 124u8, 68u8, 221u8, 24u8, 15u8, 179u8, ], ) } - #[doc = " Storage for the reward configuration, which includes APY, cap for assets"] - pub fn apy_blocks( + #[doc = " The decimals used by the EVM counterpart of this asset"] + pub fn precisions( &self, + _0: impl ::core::borrow::Borrow, + _1: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::apy_blocks::ApyBlocks, - ::subxt_core::utils::Yes, + ( + ::subxt_core::storage::address::StaticStorageKey, + ::subxt_core::storage::address::StaticStorageKey, + ), + types::precisions::Precisions, ::subxt_core::utils::Yes, (), + (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "Rewards", - "ApyBlocks", - (), + "TokenGateway", + "Precisions", + ( + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), + ::subxt_core::storage::address::StaticStorageKey::new(_1.borrow()), + ), [ - 71u8, 90u8, 224u8, 106u8, 55u8, 84u8, 146u8, 87u8, 161u8, 20u8, 43u8, - 111u8, 227u8, 227u8, 185u8, 203u8, 21u8, 232u8, 91u8, 165u8, 12u8, - 94u8, 49u8, 109u8, 220u8, 193u8, 205u8, 54u8, 30u8, 41u8, 137u8, 135u8, + 236u8, 59u8, 110u8, 21u8, 53u8, 219u8, 169u8, 129u8, 21u8, 158u8, + 232u8, 14u8, 7u8, 174u8, 83u8, 218u8, 146u8, 210u8, 74u8, 112u8, 221u8, + 55u8, 186u8, 42u8, 92u8, 75u8, 124u8, 68u8, 221u8, 24u8, 15u8, 179u8, ], ) } - #[doc = " Number of blocks after which decay starts (e.g., 432000 for 30 days with 6s blocks)"] - pub fn decay_start_period( + #[doc = " The token gateway adresses on different chains"] + pub fn token_gateway_addresses_iter( &self, ) -> ::subxt_core::storage::address::StaticAddress< (), - types::decay_start_period::DecayStartPeriod, - ::subxt_core::utils::Yes, - ::subxt_core::utils::Yes, + types::token_gateway_addresses::TokenGatewayAddresses, + (), (), + ::subxt_core::utils::Yes, > { ::subxt_core::storage::address::StaticAddress::new_static( - "Rewards", - "DecayStartPeriod", + "TokenGateway", + "TokenGatewayAddresses", (), [ - 74u8, 132u8, 62u8, 230u8, 220u8, 148u8, 138u8, 23u8, 193u8, 248u8, - 78u8, 1u8, 90u8, 174u8, 38u8, 101u8, 163u8, 242u8, 17u8, 217u8, 197u8, - 80u8, 222u8, 187u8, 116u8, 101u8, 139u8, 146u8, 138u8, 103u8, 109u8, - 122u8, + 246u8, 148u8, 122u8, 115u8, 217u8, 240u8, 23u8, 177u8, 99u8, 37u8, + 30u8, 107u8, 237u8, 126u8, 35u8, 194u8, 217u8, 195u8, 21u8, 235u8, + 120u8, 131u8, 206u8, 102u8, 214u8, 141u8, 35u8, 119u8, 122u8, 177u8, + 48u8, 148u8, ], ) } - #[doc = " Per-block decay rate in basis points (1/10000). e.g., 1 = 0.01% per block"] - pub fn decay_rate( + #[doc = " The token gateway adresses on different chains"] + pub fn token_gateway_addresses( &self, + _0: impl ::core::borrow::Borrow, ) -> ::subxt_core::storage::address::StaticAddress< - (), - types::decay_rate::DecayRate, - ::subxt_core::utils::Yes, + ::subxt_core::storage::address::StaticStorageKey< + types::token_gateway_addresses::Param0, + >, + types::token_gateway_addresses::TokenGatewayAddresses, ::subxt_core::utils::Yes, (), + (), > { ::subxt_core::storage::address::StaticAddress::new_static( - "Rewards", - "DecayRate", - (), + "TokenGateway", + "TokenGatewayAddresses", + ::subxt_core::storage::address::StaticStorageKey::new(_0.borrow()), [ - 5u8, 116u8, 51u8, 176u8, 82u8, 107u8, 221u8, 189u8, 34u8, 234u8, 219u8, - 165u8, 106u8, 189u8, 225u8, 31u8, 195u8, 30u8, 87u8, 132u8, 140u8, - 152u8, 77u8, 212u8, 252u8, 253u8, 153u8, 128u8, 21u8, 232u8, 74u8, - 159u8, + 246u8, 148u8, 122u8, 115u8, 217u8, 240u8, 23u8, 177u8, 99u8, 37u8, + 30u8, 107u8, 237u8, 126u8, 35u8, 194u8, 217u8, 195u8, 21u8, 235u8, + 120u8, 131u8, 206u8, 102u8, 214u8, 141u8, 35u8, 119u8, 122u8, 177u8, + 48u8, 148u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The decimals of the native currency"] + pub fn decimals( + &self, + ) -> ::subxt_core::constants::address::StaticAddress<::core::primitive::u8> { + ::subxt_core::constants::address::StaticAddress::new_static( + "TokenGateway", + "Decimals", + [ + 141u8, 130u8, 11u8, 35u8, 226u8, 114u8, 92u8, 179u8, 168u8, 110u8, + 28u8, 91u8, 221u8, 64u8, 4u8, 148u8, 201u8, 193u8, 185u8, 66u8, 226u8, + 114u8, 97u8, 79u8, 62u8, 212u8, 202u8, 114u8, 237u8, 228u8, 183u8, + 165u8, ], ) } } } - } - pub mod runtime_types { - use super::runtime_types; - pub mod bounded_collections { + } + pub mod runtime_types { + use super::runtime_types; + pub mod bounded_collections { + use super::runtime_types; + pub mod bounded_btree_map { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct BoundedBTreeMap<_0, _1>(pub ::subxt_core::utils::KeyedVec<_0, _1>); + } + pub mod bounded_btree_set { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct BoundedBTreeSet<_0>(pub ::subxt_core::alloc::vec::Vec<_0>); + } + pub mod bounded_vec { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + serde :: Deserialize, + serde :: Serialize, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct BoundedVec<_0>(pub ::subxt_core::alloc::vec::Vec<_0>); + } + pub mod weak_bounded_vec { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct WeakBoundedVec<_0>(pub ::subxt_core::alloc::vec::Vec<_0>); + } + } + pub mod ethbloom { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct Bloom(pub [::core::primitive::u8; 256usize]); + } + pub mod ethereum { + use super::runtime_types; + pub mod block { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct Block<_0> { + pub header: runtime_types::ethereum::header::Header, + pub transactions: ::subxt_core::alloc::vec::Vec<_0>, + pub ommers: + ::subxt_core::alloc::vec::Vec, + } + } + pub mod header { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct Header { + pub parent_hash: ::subxt_core::utils::H256, + pub ommers_hash: ::subxt_core::utils::H256, + pub beneficiary: ::subxt_core::utils::H160, + pub state_root: ::subxt_core::utils::H256, + pub transactions_root: ::subxt_core::utils::H256, + pub receipts_root: ::subxt_core::utils::H256, + pub logs_bloom: runtime_types::ethbloom::Bloom, + pub difficulty: runtime_types::primitive_types::U256, + pub number: runtime_types::primitive_types::U256, + pub gas_limit: runtime_types::primitive_types::U256, + pub gas_used: runtime_types::primitive_types::U256, + pub timestamp: ::core::primitive::u64, + pub extra_data: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + pub mix_hash: ::subxt_core::utils::H256, + pub nonce: runtime_types::ethereum_types::hash::H64, + } + } + pub mod log { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct Log { + pub address: ::subxt_core::utils::H160, + pub topics: ::subxt_core::alloc::vec::Vec<::subxt_core::utils::H256>, + pub data: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + } + } + pub mod receipt { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct EIP658ReceiptData { + pub status_code: ::core::primitive::u8, + pub used_gas: runtime_types::primitive_types::U256, + pub logs_bloom: runtime_types::ethbloom::Bloom, + pub logs: ::subxt_core::alloc::vec::Vec, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum ReceiptV3 { + #[codec(index = 0)] + Legacy(runtime_types::ethereum::receipt::EIP658ReceiptData), + #[codec(index = 1)] + EIP2930(runtime_types::ethereum::receipt::EIP658ReceiptData), + #[codec(index = 2)] + EIP1559(runtime_types::ethereum::receipt::EIP658ReceiptData), + } + } + pub mod transaction { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct AccessListItem { + pub address: ::subxt_core::utils::H160, + pub storage_keys: ::subxt_core::alloc::vec::Vec<::subxt_core::utils::H256>, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct EIP1559Transaction { + pub chain_id: ::core::primitive::u64, + pub nonce: runtime_types::primitive_types::U256, + pub max_priority_fee_per_gas: runtime_types::primitive_types::U256, + pub max_fee_per_gas: runtime_types::primitive_types::U256, + pub gas_limit: runtime_types::primitive_types::U256, + pub action: runtime_types::ethereum::transaction::TransactionAction, + pub value: runtime_types::primitive_types::U256, + pub input: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + pub access_list: ::subxt_core::alloc::vec::Vec< + runtime_types::ethereum::transaction::AccessListItem, + >, + pub odd_y_parity: ::core::primitive::bool, + pub r: ::subxt_core::utils::H256, + pub s: ::subxt_core::utils::H256, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct EIP2930Transaction { + pub chain_id: ::core::primitive::u64, + pub nonce: runtime_types::primitive_types::U256, + pub gas_price: runtime_types::primitive_types::U256, + pub gas_limit: runtime_types::primitive_types::U256, + pub action: runtime_types::ethereum::transaction::TransactionAction, + pub value: runtime_types::primitive_types::U256, + pub input: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + pub access_list: ::subxt_core::alloc::vec::Vec< + runtime_types::ethereum::transaction::AccessListItem, + >, + pub odd_y_parity: ::core::primitive::bool, + pub r: ::subxt_core::utils::H256, + pub s: ::subxt_core::utils::H256, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct LegacyTransaction { + pub nonce: runtime_types::primitive_types::U256, + pub gas_price: runtime_types::primitive_types::U256, + pub gas_limit: runtime_types::primitive_types::U256, + pub action: runtime_types::ethereum::transaction::TransactionAction, + pub value: runtime_types::primitive_types::U256, + pub input: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + pub signature: runtime_types::ethereum::transaction::TransactionSignature, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum TransactionAction { + #[codec(index = 0)] + Call(::subxt_core::utils::H160), + #[codec(index = 1)] + Create, + } + #[derive( + :: subxt_core :: ext :: codec :: CompactAs, + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct TransactionRecoveryId(pub ::core::primitive::u64); + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct TransactionSignature { + pub v: runtime_types::ethereum::transaction::TransactionRecoveryId, + pub r: ::subxt_core::utils::H256, + pub s: ::subxt_core::utils::H256, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum TransactionV2 { + #[codec(index = 0)] + Legacy(runtime_types::ethereum::transaction::LegacyTransaction), + #[codec(index = 1)] + EIP2930(runtime_types::ethereum::transaction::EIP2930Transaction), + #[codec(index = 2)] + EIP1559(runtime_types::ethereum::transaction::EIP1559Transaction), + } + } + } + pub mod ethereum_types { + use super::runtime_types; + pub mod hash { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct H64(pub [::core::primitive::u8; 8usize]); + } + } + pub mod evm { use super::runtime_types; - pub mod bounded_btree_map { + pub mod backend { use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -55356,9 +54748,15 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct BoundedBTreeMap<_0, _1>(pub ::subxt_core::utils::KeyedVec<_0, _1>); + pub struct Basic { + pub balance: runtime_types::primitive_types::U256, + pub nonce: runtime_types::primitive_types::U256, + } } - pub mod bounded_btree_set { + } + pub mod evm_core { + use super::runtime_types; + pub mod error { use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -55374,11 +54772,133 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct BoundedBTreeSet<_0>(pub ::subxt_core::alloc::vec::Vec<_0>); + pub enum ExitError { + #[codec(index = 0)] + StackUnderflow, + #[codec(index = 1)] + StackOverflow, + #[codec(index = 2)] + InvalidJump, + #[codec(index = 3)] + InvalidRange, + #[codec(index = 4)] + DesignatedInvalid, + #[codec(index = 5)] + CallTooDeep, + #[codec(index = 6)] + CreateCollision, + #[codec(index = 7)] + CreateContractLimit, + #[codec(index = 15)] + InvalidCode(runtime_types::evm_core::opcode::Opcode), + #[codec(index = 8)] + OutOfOffset, + #[codec(index = 9)] + OutOfGas, + #[codec(index = 10)] + OutOfFund, + #[codec(index = 11)] + PCUnderflow, + #[codec(index = 12)] + CreateEmpty, + #[codec(index = 13)] + Other(::subxt_core::alloc::string::String), + #[codec(index = 14)] + MaxNonce, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum ExitFatal { + #[codec(index = 0)] + NotSupported, + #[codec(index = 1)] + UnhandledInterrupt, + #[codec(index = 2)] + CallErrorAsFatal(runtime_types::evm_core::error::ExitError), + #[codec(index = 3)] + Other(::subxt_core::alloc::string::String), + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum ExitReason { + #[codec(index = 0)] + Succeed(runtime_types::evm_core::error::ExitSucceed), + #[codec(index = 1)] + Error(runtime_types::evm_core::error::ExitError), + #[codec(index = 2)] + Revert(runtime_types::evm_core::error::ExitRevert), + #[codec(index = 3)] + Fatal(runtime_types::evm_core::error::ExitFatal), + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum ExitRevert { + #[codec(index = 0)] + Reverted, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum ExitSucceed { + #[codec(index = 0)] + Stopped, + #[codec(index = 1)] + Returned, + #[codec(index = 2)] + Suicided, + } } - pub mod bounded_vec { + pub mod opcode { use super::runtime_types; #[derive( + :: subxt_core :: ext :: codec :: CompactAs, :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, :: subxt_core :: ext :: scale_decode :: DecodeAsType, @@ -55387,16 +54907,164 @@ pub mod api { Debug, Eq, PartialEq, - serde :: Deserialize, - serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct BoundedVec<_0>(pub ::subxt_core::alloc::vec::Vec<_0>); + pub struct Opcode(pub ::core::primitive::u8); } - pub mod weak_bounded_vec { + } + pub mod finality_grandpa { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct Equivocation<_0, _1, _2> { + pub round_number: ::core::primitive::u64, + pub identity: _0, + pub first: (_1, _2), + pub second: (_1, _2), + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct Precommit<_0, _1> { + pub target_hash: _0, + pub target_number: _1, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct Prevote<_0, _1> { + pub target_hash: _0, + pub target_number: _1, + } + } + pub mod fp_evm { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct ExecutionInfoV2<_0> { + pub exit_reason: runtime_types::evm_core::error::ExitReason, + pub value: _0, + pub used_gas: runtime_types::fp_evm::UsedGas, + pub weight_info: ::core::option::Option, + pub logs: ::subxt_core::alloc::vec::Vec, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct UsedGas { + pub standard: runtime_types::primitive_types::U256, + pub effective: runtime_types::primitive_types::U256, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct WeightInfo { + pub ref_time_limit: ::core::option::Option<::core::primitive::u64>, + pub proof_size_limit: ::core::option::Option<::core::primitive::u64>, + pub ref_time_usage: ::core::option::Option<::core::primitive::u64>, + pub proof_size_usage: ::core::option::Option<::core::primitive::u64>, + } + } + pub mod fp_rpc { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct TransactionStatus { + pub transaction_hash: ::subxt_core::utils::H256, + pub transaction_index: ::core::primitive::u32, + pub from: ::subxt_core::utils::H160, + pub to: ::core::option::Option<::subxt_core::utils::H160>, + pub contract_address: ::core::option::Option<::subxt_core::utils::H160>, + pub logs: ::subxt_core::alloc::vec::Vec, + pub logs_bloom: runtime_types::ethbloom::Bloom, + } + } + pub mod fp_self_contained { + use super::runtime_types; + pub mod unchecked_extrinsic { use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -55412,10 +55080,12 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct WeakBoundedVec<_0>(pub ::subxt_core::alloc::vec::Vec<_0>); + pub struct UncheckedExtrinsic<_0, _1, _2, _3>( + pub ::subxt_core::utils::UncheckedExtrinsic<_0, _1, _2, _3>, + ); } } - pub mod ethbloom { + pub mod frame_metadata_hash_extension { use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -55431,11 +55101,33 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct Bloom(pub [::core::primitive::u8; 256usize]); + pub struct CheckMetadataHash { + pub mode: runtime_types::frame_metadata_hash_extension::Mode, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum Mode { + #[codec(index = 0)] + Disabled, + #[codec(index = 1)] + Enabled, + } } - pub mod ethereum { + pub mod frame_support { use super::runtime_types; - pub mod block { + pub mod dispatch { use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -55451,15 +55143,14 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct Block<_0> { - pub header: runtime_types::ethereum::header::Header, - pub transactions: ::subxt_core::alloc::vec::Vec<_0>, - pub ommers: - ::subxt_core::alloc::vec::Vec, + pub enum DispatchClass { + #[codec(index = 0)] + Normal, + #[codec(index = 1)] + Operational, + #[codec(index = 2)] + Mandatory, } - } - pub mod header { - use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -55474,26 +55165,11 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct Header { - pub parent_hash: ::subxt_core::utils::H256, - pub ommers_hash: ::subxt_core::utils::H256, - pub beneficiary: ::subxt_core::utils::H160, - pub state_root: ::subxt_core::utils::H256, - pub transactions_root: ::subxt_core::utils::H256, - pub receipts_root: ::subxt_core::utils::H256, - pub logs_bloom: runtime_types::ethbloom::Bloom, - pub difficulty: runtime_types::primitive_types::U256, - pub number: runtime_types::primitive_types::U256, - pub gas_limit: runtime_types::primitive_types::U256, - pub gas_used: runtime_types::primitive_types::U256, - pub timestamp: ::core::primitive::u64, - pub extra_data: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, - pub mix_hash: ::subxt_core::utils::H256, - pub nonce: runtime_types::ethereum_types::hash::H64, + pub struct DispatchInfo { + pub weight: runtime_types::sp_weights::weight_v2::Weight, + pub class: runtime_types::frame_support::dispatch::DispatchClass, + pub pays_fee: runtime_types::frame_support::dispatch::Pays, } - } - pub mod log { - use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -55508,58 +55184,284 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct Log { - pub address: ::subxt_core::utils::H160, - pub topics: ::subxt_core::alloc::vec::Vec<::subxt_core::utils::H256>, - pub data: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + pub enum Pays { + #[codec(index = 0)] + Yes, + #[codec(index = 1)] + No, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct PerDispatchClass<_0> { + pub normal: _0, + pub operational: _0, + pub mandatory: _0, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum RawOrigin<_0> { + #[codec(index = 0)] + Root, + #[codec(index = 1)] + Signed(_0), + #[codec(index = 2)] + None, + } + } + pub mod traits { + use super::runtime_types; + pub mod preimages { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum Bounded<_0, _1> { + #[codec(index = 0)] + Legacy { + hash: ::subxt_core::utils::H256, + }, + #[codec(index = 1)] + Inline( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ), + #[codec(index = 2)] + Lookup { + hash: ::subxt_core::utils::H256, + len: ::core::primitive::u32, + }, + __Ignore(::core::marker::PhantomData<(_0, _1)>), + } + } + pub mod tokens { + use super::runtime_types; + pub mod misc { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum BalanceStatus { + #[codec(index = 0)] + Free, + #[codec(index = 1)] + Reserved, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct IdAmount<_0, _1> { + pub id: _0, + pub amount: _1, + } + } } } - pub mod receipt { + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct PalletId(pub [::core::primitive::u8; 8usize]); + } + pub mod frame_system { + use super::runtime_types; + pub mod extensions { use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct EIP658ReceiptData { - pub status_code: ::core::primitive::u8, - pub used_gas: runtime_types::primitive_types::U256, - pub logs_bloom: runtime_types::ethbloom::Bloom, - pub logs: ::subxt_core::alloc::vec::Vec, + pub mod check_genesis { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct CheckGenesis; } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum ReceiptV3 { - #[codec(index = 0)] - Legacy(runtime_types::ethereum::receipt::EIP658ReceiptData), - #[codec(index = 1)] - EIP2930(runtime_types::ethereum::receipt::EIP658ReceiptData), - #[codec(index = 2)] - EIP1559(runtime_types::ethereum::receipt::EIP658ReceiptData), + pub mod check_mortality { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct CheckMortality(pub runtime_types::sp_runtime::generic::era::Era); + } + pub mod check_non_zero_sender { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct CheckNonZeroSender; + } + pub mod check_nonce { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32); + } + pub mod check_spec_version { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct CheckSpecVersion; + } + pub mod check_tx_version { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct CheckTxVersion; + } + pub mod check_weight { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct CheckWeight; } } - pub mod transaction { + pub mod limits { use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -55575,39 +55477,10 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct AccessListItem { - pub address: ::subxt_core::utils::H160, - pub storage_keys: ::subxt_core::alloc::vec::Vec<::subxt_core::utils::H256>, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct EIP1559Transaction { - pub chain_id: ::core::primitive::u64, - pub nonce: runtime_types::primitive_types::U256, - pub max_priority_fee_per_gas: runtime_types::primitive_types::U256, - pub max_fee_per_gas: runtime_types::primitive_types::U256, - pub gas_limit: runtime_types::primitive_types::U256, - pub action: runtime_types::ethereum::transaction::TransactionAction, - pub value: runtime_types::primitive_types::U256, - pub input: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, - pub access_list: ::subxt_core::alloc::vec::Vec< - runtime_types::ethereum::transaction::AccessListItem, + pub struct BlockLength { + pub max: runtime_types::frame_support::dispatch::PerDispatchClass< + ::core::primitive::u32, >, - pub odd_y_parity: ::core::primitive::bool, - pub r: ::subxt_core::utils::H256, - pub s: ::subxt_core::utils::H256, } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -55623,20 +55496,12 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct EIP2930Transaction { - pub chain_id: ::core::primitive::u64, - pub nonce: runtime_types::primitive_types::U256, - pub gas_price: runtime_types::primitive_types::U256, - pub gas_limit: runtime_types::primitive_types::U256, - pub action: runtime_types::ethereum::transaction::TransactionAction, - pub value: runtime_types::primitive_types::U256, - pub input: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, - pub access_list: ::subxt_core::alloc::vec::Vec< - runtime_types::ethereum::transaction::AccessListItem, + pub struct BlockWeights { + pub base_block: runtime_types::sp_weights::weight_v2::Weight, + pub max_block: runtime_types::sp_weights::weight_v2::Weight, + pub per_class: runtime_types::frame_support::dispatch::PerDispatchClass< + runtime_types::frame_system::limits::WeightsPerClass, >, - pub odd_y_parity: ::core::primitive::bool, - pub r: ::subxt_core::utils::H256, - pub s: ::subxt_core::utils::H256, } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -55652,15 +55517,18 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct LegacyTransaction { - pub nonce: runtime_types::primitive_types::U256, - pub gas_price: runtime_types::primitive_types::U256, - pub gas_limit: runtime_types::primitive_types::U256, - pub action: runtime_types::ethereum::transaction::TransactionAction, - pub value: runtime_types::primitive_types::U256, - pub input: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, - pub signature: runtime_types::ethereum::transaction::TransactionSignature, + pub struct WeightsPerClass { + pub base_extrinsic: runtime_types::sp_weights::weight_v2::Weight, + pub max_extrinsic: + ::core::option::Option, + pub max_total: + ::core::option::Option, + pub reserved: + ::core::option::Option, } + } + pub mod pallet { + use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -55675,14 +55543,87 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum TransactionAction { + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub enum Call { #[codec(index = 0)] - Call(::subxt_core::utils::H160), + #[doc = "Make some on-chain remark."] + #[doc = ""] + #[doc = "Can be executed by every `origin`."] + remark { remark: ::subxt_core::alloc::vec::Vec<::core::primitive::u8> }, #[codec(index = 1)] - Create, + #[doc = "Set the number of pages in the WebAssembly environment's heap."] + set_heap_pages { pages: ::core::primitive::u64 }, + #[codec(index = 2)] + #[doc = "Set the new runtime code."] + set_code { code: ::subxt_core::alloc::vec::Vec<::core::primitive::u8> }, + #[codec(index = 3)] + #[doc = "Set the new runtime code without doing any checks of the given `code`."] + #[doc = ""] + #[doc = "Note that runtime upgrades will not run if this is called with a not-increasing spec"] + #[doc = "version!"] + set_code_without_checks { + code: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 4)] + #[doc = "Set some items of storage."] + set_storage { + items: ::subxt_core::alloc::vec::Vec<( + ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + )>, + }, + #[codec(index = 5)] + #[doc = "Kill some items from storage."] + kill_storage { + keys: ::subxt_core::alloc::vec::Vec< + ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + >, + }, + #[codec(index = 6)] + #[doc = "Kill all storage items with a key that starts with the given prefix."] + #[doc = ""] + #[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"] + #[doc = "the prefix we are removing to accurately calculate the weight of this function."] + kill_prefix { + prefix: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + subkeys: ::core::primitive::u32, + }, + #[codec(index = 7)] + #[doc = "Make some on-chain remark and emit event."] + remark_with_event { + remark: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 9)] + #[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"] + #[doc = "later."] + #[doc = ""] + #[doc = "This call requires Root origin."] + authorize_upgrade { code_hash: ::subxt_core::utils::H256 }, + #[codec(index = 10)] + #[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"] + #[doc = "later."] + #[doc = ""] + #[doc = "WARNING: This authorizes an upgrade that will take place without any safety checks, for"] + #[doc = "example that the spec name remains the same and that the version number increases. Not"] + #[doc = "recommended for normal use. Use `authorize_upgrade` instead."] + #[doc = ""] + #[doc = "This call requires Root origin."] + authorize_upgrade_without_checks { code_hash: ::subxt_core::utils::H256 }, + #[codec(index = 11)] + #[doc = "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized."] + #[doc = ""] + #[doc = "If the authorization required a version check, this call will ensure the spec name"] + #[doc = "remains unchanged and that the spec version has increased."] + #[doc = ""] + #[doc = "Depending on the runtime's `OnSetCode` configuration, this function may directly apply"] + #[doc = "the new `code` in the same block or attempt to schedule the upgrade."] + #[doc = ""] + #[doc = "All origins are allowed."] + apply_authorized_upgrade { + code: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + }, } #[derive( - :: subxt_core :: ext :: codec :: CompactAs, :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, :: subxt_core :: ext :: scale_decode :: DecodeAsType, @@ -55696,7 +55637,40 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct TransactionRecoveryId(pub ::core::primitive::u64); + #[doc = "Error for the System pallet"] + pub enum Error { + #[codec(index = 0)] + #[doc = "The name of specification does not match between the current runtime"] + #[doc = "and the new runtime."] + InvalidSpecName, + #[codec(index = 1)] + #[doc = "The specification version is not allowed to decrease between the current runtime"] + #[doc = "and the new runtime."] + SpecVersionNeedsToIncrease, + #[codec(index = 2)] + #[doc = "Failed to extract the runtime version from the new runtime."] + #[doc = ""] + #[doc = "Either calling `Core_version` or decoding `RuntimeVersion` failed."] + FailedToExtractRuntimeVersion, + #[codec(index = 3)] + #[doc = "Suicide called when the account has non-default composite data."] + NonDefaultComposite, + #[codec(index = 4)] + #[doc = "There is a non-zero reference count preventing the account from being purged."] + NonZeroRefCount, + #[codec(index = 5)] + #[doc = "The origin filter prevent the call to be dispatched."] + CallFiltered, + #[codec(index = 6)] + #[doc = "A multi-block migration is ongoing and prevents the current code from being replaced."] + MultiBlockMigrationsOngoing, + #[codec(index = 7)] + #[doc = "No upgrade authorized."] + NothingAuthorized, + #[codec(index = 8)] + #[doc = "The submitted code is not authorized."] + Unauthorized, + } #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -55711,11 +55685,146 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct TransactionSignature { - pub v: runtime_types::ethereum::transaction::TransactionRecoveryId, - pub r: ::subxt_core::utils::H256, - pub s: ::subxt_core::utils::H256, + #[doc = "Event for the System pallet."] + pub enum Event { + #[codec(index = 0)] + #[doc = "An extrinsic completed successfully."] + ExtrinsicSuccess { + dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo, + }, + #[codec(index = 1)] + #[doc = "An extrinsic failed."] + ExtrinsicFailed { + dispatch_error: runtime_types::sp_runtime::DispatchError, + dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo, + }, + #[codec(index = 2)] + #[doc = "`:code` was updated."] + CodeUpdated, + #[codec(index = 3)] + #[doc = "A new account was created."] + NewAccount { account: ::subxt_core::utils::AccountId32 }, + #[codec(index = 4)] + #[doc = "An account was reaped."] + KilledAccount { account: ::subxt_core::utils::AccountId32 }, + #[codec(index = 5)] + #[doc = "On on-chain remark happened."] + Remarked { + sender: ::subxt_core::utils::AccountId32, + hash: ::subxt_core::utils::H256, + }, + #[codec(index = 6)] + #[doc = "An upgrade was authorized."] + UpgradeAuthorized { + code_hash: ::subxt_core::utils::H256, + check_version: ::core::primitive::bool, + }, } + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct AccountInfo<_0, _1> { + pub nonce: _0, + pub consumers: ::core::primitive::u32, + pub providers: ::core::primitive::u32, + pub sufficients: ::core::primitive::u32, + pub data: _1, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct CodeUpgradeAuthorization { + pub code_hash: ::subxt_core::utils::H256, + pub check_version: ::core::primitive::bool, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct EventRecord<_0, _1> { + pub phase: runtime_types::frame_system::Phase, + pub event: _0, + pub topics: ::subxt_core::alloc::vec::Vec<_1>, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct LastRuntimeUpgradeInfo { + #[codec(compact)] + pub spec_version: ::core::primitive::u32, + pub spec_name: ::subxt_core::alloc::string::String, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum Phase { + #[codec(index = 0)] + ApplyExtrinsic(::core::primitive::u32), + #[codec(index = 1)] + Finalization, + #[codec(index = 2)] + Initialization, + } + } + pub mod ismp { + use super::runtime_types; + pub mod consensus { + use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -55730,20 +55839,11 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum TransactionV2 { - #[codec(index = 0)] - Legacy(runtime_types::ethereum::transaction::LegacyTransaction), - #[codec(index = 1)] - EIP2930(runtime_types::ethereum::transaction::EIP2930Transaction), - #[codec(index = 2)] - EIP1559(runtime_types::ethereum::transaction::EIP1559Transaction), + pub struct StateCommitment { + pub timestamp: ::core::primitive::u64, + pub overlay_root: ::core::option::Option<::subxt_core::utils::H256>, + pub state_root: ::subxt_core::utils::H256, } - } - } - pub mod ethereum_types { - use super::runtime_types; - pub mod hash { - use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -55758,13 +55858,10 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct H64(pub [::core::primitive::u8; 8usize]); - } - } - pub mod evm { - use super::runtime_types; - pub mod backend { - use super::runtime_types; + pub struct StateMachineHeight { + pub id: runtime_types::ismp::consensus::StateMachineId, + pub height: ::core::primitive::u64, + } #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -55779,15 +55876,12 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct Basic { - pub balance: runtime_types::primitive_types::U256, - pub nonce: runtime_types::primitive_types::U256, + pub struct StateMachineId { + pub state_id: runtime_types::ismp::host::StateMachine, + pub consensus_state_id: [::core::primitive::u8; 4usize], } } - } - pub mod evm_core { - use super::runtime_types; - pub mod error { + pub mod events { use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -55803,39 +55897,31 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum ExitError { + pub enum Event { #[codec(index = 0)] - StackUnderflow, + StateMachineUpdated(runtime_types::ismp::events::StateMachineUpdated), #[codec(index = 1)] - StackOverflow, + StateCommitmentVetoed(runtime_types::ismp::events::StateCommitmentVetoed), #[codec(index = 2)] - InvalidJump, + PostRequest(runtime_types::ismp::router::PostRequest), #[codec(index = 3)] - InvalidRange, + PostResponse(runtime_types::ismp::router::PostResponse), #[codec(index = 4)] - DesignatedInvalid, + GetResponse(runtime_types::ismp::router::GetResponse), #[codec(index = 5)] - CallTooDeep, + GetRequest(runtime_types::ismp::router::GetRequest), #[codec(index = 6)] - CreateCollision, + PostRequestHandled(runtime_types::ismp::events::RequestResponseHandled), #[codec(index = 7)] - CreateContractLimit, - #[codec(index = 15)] - InvalidCode(runtime_types::evm_core::opcode::Opcode), + PostResponseHandled(runtime_types::ismp::events::RequestResponseHandled), #[codec(index = 8)] - OutOfOffset, + PostRequestTimeoutHandled(runtime_types::ismp::events::TimeoutHandled), #[codec(index = 9)] - OutOfGas, + PostResponseTimeoutHandled(runtime_types::ismp::events::TimeoutHandled), #[codec(index = 10)] - OutOfFund, + GetRequestHandled(runtime_types::ismp::events::RequestResponseHandled), #[codec(index = 11)] - PCUnderflow, - #[codec(index = 12)] - CreateEmpty, - #[codec(index = 13)] - Other(::subxt_core::alloc::string::String), - #[codec(index = 14)] - MaxNonce, + GetRequestTimeoutHandled(runtime_types::ismp::events::TimeoutHandled), } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -55851,15 +55937,9 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum ExitFatal { - #[codec(index = 0)] - NotSupported, - #[codec(index = 1)] - UnhandledInterrupt, - #[codec(index = 2)] - CallErrorAsFatal(runtime_types::evm_core::error::ExitError), - #[codec(index = 3)] - Other(::subxt_core::alloc::string::String), + pub struct RequestResponseHandled { + pub commitment: ::subxt_core::utils::H256, + pub relayer: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -55875,15 +55955,9 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum ExitReason { - #[codec(index = 0)] - Succeed(runtime_types::evm_core::error::ExitSucceed), - #[codec(index = 1)] - Error(runtime_types::evm_core::error::ExitError), - #[codec(index = 2)] - Revert(runtime_types::evm_core::error::ExitRevert), - #[codec(index = 3)] - Fatal(runtime_types::evm_core::error::ExitFatal), + pub struct StateCommitmentVetoed { + pub height: runtime_types::ismp::consensus::StateMachineHeight, + pub fisherman: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -55899,9 +55973,9 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum ExitRevert { - #[codec(index = 0)] - Reverted, + pub struct StateMachineUpdated { + pub state_machine_id: runtime_types::ismp::consensus::StateMachineId, + pub latest_height: ::core::primitive::u64, } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -55917,19 +55991,15 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum ExitSucceed { - #[codec(index = 0)] - Stopped, - #[codec(index = 1)] - Returned, - #[codec(index = 2)] - Suicided, + pub struct TimeoutHandled { + pub commitment: ::subxt_core::utils::H256, + pub source: runtime_types::ismp::host::StateMachine, + pub dest: runtime_types::ismp::host::StateMachine, } } - pub mod opcode { + pub mod host { use super::runtime_types; #[derive( - :: subxt_core :: ext :: codec :: CompactAs, :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, :: subxt_core :: ext :: scale_decode :: DecodeAsType, @@ -55943,159 +56013,20 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct Opcode(pub ::core::primitive::u8); - } - } - pub mod finality_grandpa { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct Equivocation<_0, _1, _2> { - pub round_number: ::core::primitive::u64, - pub identity: _0, - pub first: (_1, _2), - pub second: (_1, _2), - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct Precommit<_0, _1> { - pub target_hash: _0, - pub target_number: _1, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct Prevote<_0, _1> { - pub target_hash: _0, - pub target_number: _1, - } - } - pub mod fp_evm { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct ExecutionInfoV2<_0> { - pub exit_reason: runtime_types::evm_core::error::ExitReason, - pub value: _0, - pub used_gas: runtime_types::fp_evm::UsedGas, - pub weight_info: ::core::option::Option, - pub logs: ::subxt_core::alloc::vec::Vec, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct UsedGas { - pub standard: runtime_types::primitive_types::U256, - pub effective: runtime_types::primitive_types::U256, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct WeightInfo { - pub ref_time_limit: ::core::option::Option<::core::primitive::u64>, - pub proof_size_limit: ::core::option::Option<::core::primitive::u64>, - pub ref_time_usage: ::core::option::Option<::core::primitive::u64>, - pub proof_size_usage: ::core::option::Option<::core::primitive::u64>, - } - } - pub mod fp_rpc { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct TransactionStatus { - pub transaction_hash: ::subxt_core::utils::H256, - pub transaction_index: ::core::primitive::u32, - pub from: ::subxt_core::utils::H160, - pub to: ::core::option::Option<::subxt_core::utils::H160>, - pub contract_address: ::core::option::Option<::subxt_core::utils::H160>, - pub logs: ::subxt_core::alloc::vec::Vec, - pub logs_bloom: runtime_types::ethbloom::Bloom, + pub enum StateMachine { + #[codec(index = 0)] + Evm(::core::primitive::u32), + #[codec(index = 1)] + Polkadot(::core::primitive::u32), + #[codec(index = 2)] + Kusama(::core::primitive::u32), + #[codec(index = 3)] + Substrate([::core::primitive::u8; 4usize]), + #[codec(index = 4)] + Tendermint([::core::primitive::u8; 4usize]), + } } - } - pub mod fp_self_contained { - use super::runtime_types; - pub mod unchecked_extrinsic { + pub mod messaging { use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -56111,55 +56042,11 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct UncheckedExtrinsic<_0, _1, _2, _3>( - pub ::subxt_core::utils::UncheckedExtrinsic<_0, _1, _2, _3>, - ); - } - } - pub mod frame_metadata_hash_extension { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct CheckMetadataHash { - pub mode: runtime_types::frame_metadata_hash_extension::Mode, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum Mode { - #[codec(index = 0)] - Disabled, - #[codec(index = 1)] - Enabled, - } - } - pub mod frame_support { - use super::runtime_types; - pub mod dispatch { - use super::runtime_types; + pub struct ConsensusMessage { + pub consensus_proof: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + pub consensus_state_id: [::core::primitive::u8; 4usize], + pub signer: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + } #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -56174,13 +56061,19 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum DispatchClass { - #[codec(index = 0)] - Normal, - #[codec(index = 1)] - Operational, - #[codec(index = 2)] - Mandatory, + pub struct CreateConsensusState { + pub consensus_state: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + pub consensus_client_id: [::core::primitive::u8; 4usize], + pub consensus_state_id: [::core::primitive::u8; 4usize], + pub unbonding_period: ::core::primitive::u64, + pub challenge_periods: ::subxt_core::utils::KeyedVec< + runtime_types::ismp::host::StateMachine, + ::core::primitive::u64, + >, + pub state_machine_commitments: ::subxt_core::alloc::vec::Vec<( + runtime_types::ismp::consensus::StateMachineId, + runtime_types::ismp::messaging::StateCommitmentHeight, + )>, } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -56196,10 +56089,10 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct DispatchInfo { - pub weight: runtime_types::sp_weights::weight_v2::Weight, - pub class: runtime_types::frame_support::dispatch::DispatchClass, - pub pays_fee: runtime_types::frame_support::dispatch::Pays, + pub struct FraudProofMessage { + pub proof_1: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + pub proof_2: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + pub consensus_state_id: [::core::primitive::u8; 4usize], } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -56215,11 +56108,17 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum Pays { + pub enum Message { #[codec(index = 0)] - Yes, + Consensus(runtime_types::ismp::messaging::ConsensusMessage), #[codec(index = 1)] - No, + FraudProof(runtime_types::ismp::messaging::FraudProofMessage), + #[codec(index = 2)] + Request(runtime_types::ismp::messaging::RequestMessage), + #[codec(index = 3)] + Response(runtime_types::ismp::messaging::ResponseMessage), + #[codec(index = 4)] + Timeout(runtime_types::ismp::messaging::TimeoutMessage), } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -56235,264 +56134,103 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct PerDispatchClass<_0> { - pub normal: _0, - pub operational: _0, - pub mandatory: _0, + pub struct Proof { + pub height: runtime_types::ismp::consensus::StateMachineHeight, + pub proof: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, } #[derive( :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum RawOrigin<_0> { - #[codec(index = 0)] - Root, - #[codec(index = 1)] - Signed(_0), - #[codec(index = 2)] - None, - } - } - pub mod traits { - use super::runtime_types; - pub mod preimages { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum Bounded<_0, _1> { - #[codec(index = 0)] - Legacy { - hash: ::subxt_core::utils::H256, - }, - #[codec(index = 1)] - Inline( - runtime_types::bounded_collections::bounded_vec::BoundedVec< - ::core::primitive::u8, - >, - ), - #[codec(index = 2)] - Lookup { - hash: ::subxt_core::utils::H256, - len: ::core::primitive::u32, - }, - __Ignore(::core::marker::PhantomData<(_0, _1)>), - } - } - pub mod tokens { - use super::runtime_types; - pub mod misc { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum BalanceStatus { - #[codec(index = 0)] - Free, - #[codec(index = 1)] - Reserved, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct IdAmount<_0, _1> { - pub id: _0, - pub amount: _1, - } - } - } - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct PalletId(pub [::core::primitive::u8; 8usize]); - } - pub mod frame_system { - use super::runtime_types; - pub mod extensions { - use super::runtime_types; - pub mod check_genesis { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct CheckGenesis; - } - pub mod check_mortality { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct CheckMortality(pub runtime_types::sp_runtime::generic::era::Era); - } - pub mod check_non_zero_sender { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct CheckNonZeroSender; - } - pub mod check_nonce { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32); + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct RequestMessage { + pub requests: + ::subxt_core::alloc::vec::Vec, + pub proof: runtime_types::ismp::messaging::Proof, + pub signer: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, } - pub mod check_spec_version { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct CheckSpecVersion; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct ResponseMessage { + pub datagram: runtime_types::ismp::router::RequestResponse, + pub proof: runtime_types::ismp::messaging::Proof, + pub signer: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, } - pub mod check_tx_version { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct CheckTxVersion; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct StateCommitmentHeight { + pub commitment: runtime_types::ismp::consensus::StateCommitment, + pub height: ::core::primitive::u64, } - pub mod check_weight { - use super::runtime_types; - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct CheckWeight; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum TimeoutMessage { + #[codec(index = 0)] + Post { + requests: + ::subxt_core::alloc::vec::Vec, + timeout_proof: runtime_types::ismp::messaging::Proof, + }, + #[codec(index = 1)] + PostResponse { + responses: ::subxt_core::alloc::vec::Vec< + runtime_types::ismp::router::PostResponse, + >, + timeout_proof: runtime_types::ismp::messaging::Proof, + }, + #[codec(index = 2)] + Get { + requests: + ::subxt_core::alloc::vec::Vec, + }, } } - pub mod limits { + pub mod router { use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -56508,10 +56246,17 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct BlockLength { - pub max: runtime_types::frame_support::dispatch::PerDispatchClass< - ::core::primitive::u32, + pub struct GetRequest { + pub source: runtime_types::ismp::host::StateMachine, + pub dest: runtime_types::ismp::host::StateMachine, + pub nonce: ::core::primitive::u64, + pub from: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + pub keys: ::subxt_core::alloc::vec::Vec< + ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, >, + pub height: ::core::primitive::u64, + pub context: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + pub timeout_timestamp: ::core::primitive::u64, } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -56527,12 +56272,10 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct BlockWeights { - pub base_block: runtime_types::sp_weights::weight_v2::Weight, - pub max_block: runtime_types::sp_weights::weight_v2::Weight, - pub per_class: runtime_types::frame_support::dispatch::PerDispatchClass< - runtime_types::frame_system::limits::WeightsPerClass, - >, + pub struct GetResponse { + pub get: runtime_types::ismp::router::GetRequest, + pub values: + ::subxt_core::alloc::vec::Vec, } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -56548,18 +56291,15 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct WeightsPerClass { - pub base_extrinsic: runtime_types::sp_weights::weight_v2::Weight, - pub max_extrinsic: - ::core::option::Option, - pub max_total: - ::core::option::Option, - pub reserved: - ::core::option::Option, + pub struct PostRequest { + pub source: runtime_types::ismp::host::StateMachine, + pub dest: runtime_types::ismp::host::StateMachine, + pub nonce: ::core::primitive::u64, + pub from: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + pub to: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + pub timeout_timestamp: ::core::primitive::u64, + pub body: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, } - } - pub mod pallet { - use super::runtime_types; #[derive( :: subxt_core :: ext :: codec :: Decode, :: subxt_core :: ext :: codec :: Encode, @@ -56574,85 +56314,30 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] - pub enum Call { + pub struct PostResponse { + pub post: runtime_types::ismp::router::PostRequest, + pub response: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + pub timeout_timestamp: ::core::primitive::u64, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum Request { #[codec(index = 0)] - #[doc = "Make some on-chain remark."] - #[doc = ""] - #[doc = "Can be executed by every `origin`."] - remark { remark: ::subxt_core::alloc::vec::Vec<::core::primitive::u8> }, + Post(runtime_types::ismp::router::PostRequest), #[codec(index = 1)] - #[doc = "Set the number of pages in the WebAssembly environment's heap."] - set_heap_pages { pages: ::core::primitive::u64 }, - #[codec(index = 2)] - #[doc = "Set the new runtime code."] - set_code { code: ::subxt_core::alloc::vec::Vec<::core::primitive::u8> }, - #[codec(index = 3)] - #[doc = "Set the new runtime code without doing any checks of the given `code`."] - #[doc = ""] - #[doc = "Note that runtime upgrades will not run if this is called with a not-increasing spec"] - #[doc = "version!"] - set_code_without_checks { - code: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, - }, - #[codec(index = 4)] - #[doc = "Set some items of storage."] - set_storage { - items: ::subxt_core::alloc::vec::Vec<( - ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, - ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, - )>, - }, - #[codec(index = 5)] - #[doc = "Kill some items from storage."] - kill_storage { - keys: ::subxt_core::alloc::vec::Vec< - ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, - >, - }, - #[codec(index = 6)] - #[doc = "Kill all storage items with a key that starts with the given prefix."] - #[doc = ""] - #[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"] - #[doc = "the prefix we are removing to accurately calculate the weight of this function."] - kill_prefix { - prefix: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, - subkeys: ::core::primitive::u32, - }, - #[codec(index = 7)] - #[doc = "Make some on-chain remark and emit event."] - remark_with_event { - remark: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, - }, - #[codec(index = 9)] - #[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"] - #[doc = "later."] - #[doc = ""] - #[doc = "This call requires Root origin."] - authorize_upgrade { code_hash: ::subxt_core::utils::H256 }, - #[codec(index = 10)] - #[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"] - #[doc = "later."] - #[doc = ""] - #[doc = "WARNING: This authorizes an upgrade that will take place without any safety checks, for"] - #[doc = "example that the spec name remains the same and that the version number increases. Not"] - #[doc = "recommended for normal use. Use `authorize_upgrade` instead."] - #[doc = ""] - #[doc = "This call requires Root origin."] - authorize_upgrade_without_checks { code_hash: ::subxt_core::utils::H256 }, - #[codec(index = 11)] - #[doc = "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized."] - #[doc = ""] - #[doc = "If the authorization required a version check, this call will ensure the spec name"] - #[doc = "remains unchanged and that the spec version has increased."] - #[doc = ""] - #[doc = "Depending on the runtime's `OnSetCode` configuration, this function may directly apply"] - #[doc = "the new `code` in the same block or attempt to schedule the upgrade."] - #[doc = ""] - #[doc = "All origins are allowed."] - apply_authorized_upgrade { - code: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, - }, + Get(runtime_types::ismp::router::GetRequest), } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -56668,39 +56353,11 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Error for the System pallet"] - pub enum Error { + pub enum RequestResponse { #[codec(index = 0)] - #[doc = "The name of specification does not match between the current runtime"] - #[doc = "and the new runtime."] - InvalidSpecName, + Request(::subxt_core::alloc::vec::Vec), #[codec(index = 1)] - #[doc = "The specification version is not allowed to decrease between the current runtime"] - #[doc = "and the new runtime."] - SpecVersionNeedsToIncrease, - #[codec(index = 2)] - #[doc = "Failed to extract the runtime version from the new runtime."] - #[doc = ""] - #[doc = "Either calling `Core_version` or decoding `RuntimeVersion` failed."] - FailedToExtractRuntimeVersion, - #[codec(index = 3)] - #[doc = "Suicide called when the account has non-default composite data."] - NonDefaultComposite, - #[codec(index = 4)] - #[doc = "There is a non-zero reference count preventing the account from being purged."] - NonZeroRefCount, - #[codec(index = 5)] - #[doc = "The origin filter prevent the call to be dispatched."] - CallFiltered, - #[codec(index = 6)] - #[doc = "A multi-block migration is ongoing and prevents the current code from being replaced."] - MultiBlockMigrationsOngoing, - #[codec(index = 7)] - #[doc = "No upgrade authorized."] - NothingAuthorized, - #[codec(index = 8)] - #[doc = "The submitted code is not authorized."] - Unauthorized, + Response(::subxt_core::alloc::vec::Vec), } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -56716,39 +56373,95 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - #[doc = "Event for the System pallet."] - pub enum Event { + pub enum Response { #[codec(index = 0)] - #[doc = "An extrinsic completed successfully."] - ExtrinsicSuccess { - dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo, + Post(runtime_types::ismp::router::PostResponse), + #[codec(index = 1)] + Get(runtime_types::ismp::router::GetResponse), + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct StorageValue { + pub key: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + pub value: ::core::option::Option< + ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + >, + } + } + } + pub mod ismp_grandpa { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Add some a state machine to the list of supported state machines"] + add_state_machines { + new_state_machines: ::subxt_core::alloc::vec::Vec< + runtime_types::ismp_grandpa::AddStateMachine, + >, }, #[codec(index = 1)] - #[doc = "An extrinsic failed."] - ExtrinsicFailed { - dispatch_error: runtime_types::sp_runtime::DispatchError, - dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo, + #[doc = "Remove a state machine from the list of supported state machines"] + remove_state_machines { + state_machines: + ::subxt_core::alloc::vec::Vec, }, - #[codec(index = 2)] - #[doc = "`:code` was updated."] - CodeUpdated, - #[codec(index = 3)] - #[doc = "A new account was created."] - NewAccount { account: ::subxt_core::utils::AccountId32 }, - #[codec(index = 4)] - #[doc = "An account was reaped."] - KilledAccount { account: ::subxt_core::utils::AccountId32 }, - #[codec(index = 5)] - #[doc = "On on-chain remark happened."] - Remarked { - sender: ::subxt_core::utils::AccountId32, - hash: ::subxt_core::utils::H256, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Events emitted by this pallet"] + pub enum Event { + #[codec(index = 0)] + #[doc = "State machines have been added to whitelist"] + StateMachineAdded { + state_machines: + ::subxt_core::alloc::vec::Vec, }, - #[codec(index = 6)] - #[doc = "An upgrade was authorized."] - UpgradeAuthorized { - code_hash: ::subxt_core::utils::H256, - check_version: ::core::primitive::bool, + #[codec(index = 1)] + #[doc = "State machines have been removed from the whitelist"] + StateMachineRemoved { + state_machines: + ::subxt_core::alloc::vec::Vec, }, } } @@ -56766,90 +56479,9 @@ pub mod api { #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct AccountInfo<_0, _1> { - pub nonce: _0, - pub consumers: ::core::primitive::u32, - pub providers: ::core::primitive::u32, - pub sufficients: ::core::primitive::u32, - pub data: _1, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct CodeUpgradeAuthorization { - pub code_hash: ::subxt_core::utils::H256, - pub check_version: ::core::primitive::bool, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct EventRecord<_0, _1> { - pub phase: runtime_types::frame_system::Phase, - pub event: _0, - pub topics: ::subxt_core::alloc::vec::Vec<_1>, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub struct LastRuntimeUpgradeInfo { - #[codec(compact)] - pub spec_version: ::core::primitive::u32, - pub spec_name: ::subxt_core::alloc::string::String, - } - #[derive( - :: subxt_core :: ext :: codec :: Decode, - :: subxt_core :: ext :: codec :: Encode, - :: subxt_core :: ext :: scale_decode :: DecodeAsType, - :: subxt_core :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt_core :: ext :: codec)] - #[codec(dumb_trait_bound)] - #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] - pub enum Phase { - #[codec(index = 0)] - ApplyExtrinsic(::core::primitive::u32), - #[codec(index = 1)] - Finalization, - #[codec(index = 2)] - Initialization, + pub struct AddStateMachine { + pub state_machine: runtime_types::ismp::host::StateMachine, + pub slot_duration: ::core::primitive::u64, } } pub mod pallet_airdrop_claims { @@ -62065,6 +61697,105 @@ pub mod api { } } } + pub mod pallet_hyperbridge { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "The `Error` enum of this pallet."] + pub enum Error {} + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "The `Event` enum of this pallet"] + pub enum Event { + #[codec(index = 0)] + #[doc = "Hyperbridge governance has now updated it's host params on this chain."] + HostParamsUpdated { + old: runtime_types::pallet_hyperbridge::VersionedHostParams< + ::core::primitive::u128, + >, + new: runtime_types::pallet_hyperbridge::VersionedHostParams< + ::core::primitive::u128, + >, + }, + #[codec(index = 1)] + #[doc = "A relayer has withdrawn some fees"] + RelayerFeeWithdrawn { + amount: ::core::primitive::u128, + account: ::subxt_core::utils::AccountId32, + }, + #[codec(index = 2)] + #[doc = "Hyperbridge has withdrawn it's protocol revenue"] + ProtocolRevenueWithdrawn { + amount: ::core::primitive::u128, + account: ::subxt_core::utils::AccountId32, + }, + } + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct SubstrateHostParams<_0> { + pub default_per_byte_fee: _0, + pub per_byte_fees: + ::subxt_core::utils::KeyedVec, + pub asset_registration_fee: _0, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum VersionedHostParams<_0> { + #[codec(index = 0)] + V1(runtime_types::pallet_hyperbridge::SubstrateHostParams<_0>), + } + } pub mod pallet_identity { use super::runtime_types; pub mod legacy { @@ -63140,6 +62871,269 @@ pub mod api { } } } + pub mod pallet_ismp { + use super::runtime_types; + pub mod errors { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct HandlingError { + pub message: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + } + } + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Execute the provided batch of ISMP messages, this will short-circuit and revert if any"] + #[doc = "of the provided messages are invalid. This is an unsigned extrinsic that permits anyone"] + #[doc = "execute ISMP messages for free, provided they have valid proofs and the messages have"] + #[doc = "not been previously processed."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be an unsigned one."] + #[doc = ""] + #[doc = "- `messages`: the messages to handle or process."] + #[doc = ""] + #[doc = "Emits different message events based on the Message received if successful."] + handle_unsigned { + messages: + ::subxt_core::alloc::vec::Vec, + }, + #[codec(index = 2)] + #[doc = "Create a consensus client, using a subjectively chosen consensus state. This can also"] + #[doc = "be used to overwrite an existing consensus state. The dispatch origin for this"] + #[doc = "call must be `T::AdminOrigin`."] + #[doc = ""] + #[doc = "- `message`: [`CreateConsensusState`] struct."] + #[doc = ""] + #[doc = "Emits [`Event::ConsensusClientCreated`] if successful."] + create_consensus_client { + message: runtime_types::ismp::messaging::CreateConsensusState, + }, + #[codec(index = 3)] + #[doc = "Modify the unbonding period and challenge period for a consensus state."] + #[doc = "The dispatch origin for this call must be `T::AdminOrigin`."] + #[doc = ""] + #[doc = "- `message`: `UpdateConsensusState` struct."] + update_consensus_state { + message: runtime_types::pallet_ismp::utils::UpdateConsensusState, + }, + #[codec(index = 4)] + #[doc = "Add more funds to a message (request or response) to be used for delivery and execution."] + #[doc = ""] + #[doc = "Should not be called on a message that has been completed (delivered or timed-out) as"] + #[doc = "those funds will be lost forever."] + fund_message { + message: runtime_types::pallet_ismp::utils::FundMessageParams< + ::core::primitive::u128, + >, + }, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Pallet errors"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Invalid ISMP message"] + InvalidMessage, + #[codec(index = 1)] + #[doc = "Requested message was not found"] + MessageNotFound, + #[codec(index = 2)] + #[doc = "Encountered an error while creating the consensus client."] + ConsensusClientCreationFailed, + #[codec(index = 3)] + #[doc = "Couldn't update unbonding period"] + UnbondingPeriodUpdateFailed, + #[codec(index = 4)] + #[doc = "Couldn't update challenge period"] + ChallengePeriodUpdateFailed, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Pallet Events"] + pub enum Event { + #[codec(index = 0)] + #[doc = "Emitted when a state machine is successfully updated to a new height"] + StateMachineUpdated { + state_machine_id: runtime_types::ismp::consensus::StateMachineId, + latest_height: ::core::primitive::u64, + }, + #[codec(index = 1)] + #[doc = "Emitted when a state commitment is vetoed by a fisherman"] + StateCommitmentVetoed { + height: runtime_types::ismp::consensus::StateMachineHeight, + fisherman: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + }, + #[codec(index = 2)] + #[doc = "Indicates that a consensus client has been created"] + ConsensusClientCreated { consensus_client_id: [::core::primitive::u8; 4usize] }, + #[codec(index = 3)] + #[doc = "Indicates that a consensus client has been created"] + ConsensusClientFrozen { consensus_client_id: [::core::primitive::u8; 4usize] }, + #[codec(index = 4)] + #[doc = "An Outgoing Response has been deposited"] + Response { + dest_chain: runtime_types::ismp::host::StateMachine, + source_chain: runtime_types::ismp::host::StateMachine, + request_nonce: ::core::primitive::u64, + commitment: ::subxt_core::utils::H256, + req_commitment: ::subxt_core::utils::H256, + }, + #[codec(index = 5)] + #[doc = "An Outgoing Request has been deposited"] + Request { + dest_chain: runtime_types::ismp::host::StateMachine, + source_chain: runtime_types::ismp::host::StateMachine, + request_nonce: ::core::primitive::u64, + commitment: ::subxt_core::utils::H256, + }, + #[codec(index = 6)] + #[doc = "Some errors handling some ismp messages"] + Errors { + errors: ::subxt_core::alloc::vec::Vec< + runtime_types::pallet_ismp::errors::HandlingError, + >, + }, + #[codec(index = 7)] + #[doc = "Post Request Handled"] + PostRequestHandled(runtime_types::ismp::events::RequestResponseHandled), + #[codec(index = 8)] + #[doc = "Post Response Handled"] + PostResponseHandled(runtime_types::ismp::events::RequestResponseHandled), + #[codec(index = 9)] + #[doc = "Get Response Handled"] + GetRequestHandled(runtime_types::ismp::events::RequestResponseHandled), + #[codec(index = 10)] + #[doc = "Post request timeout handled"] + PostRequestTimeoutHandled(runtime_types::ismp::events::TimeoutHandled), + #[codec(index = 11)] + #[doc = "Post response timeout handled"] + PostResponseTimeoutHandled(runtime_types::ismp::events::TimeoutHandled), + #[codec(index = 12)] + #[doc = "Get request timeout handled"] + GetRequestTimeoutHandled(runtime_types::ismp::events::TimeoutHandled), + } + } + pub mod utils { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct FundMessageParams<_0> { + pub commitment: runtime_types::pallet_ismp::utils::MessageCommitment, + pub amount: _0, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub enum MessageCommitment { + #[codec(index = 0)] + Request(::subxt_core::utils::H256), + #[codec(index = 1)] + Response(::subxt_core::utils::H256), + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct UpdateConsensusState { + pub consensus_state_id: [::core::primitive::u8; 4usize], + pub unbonding_period: ::core::option::Option<::core::primitive::u64>, + pub challenge_periods: ::subxt_core::utils::KeyedVec< + runtime_types::ismp::host::StateMachine, + ::core::primitive::u64, + >, + } + } + } pub mod pallet_multi_asset_delegation { use super::runtime_types; pub mod pallet { @@ -68458,6 +68452,233 @@ pub mod api { } } } + pub mod pallet_token_gateway { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Teleports a registered asset"] + #[doc = "locks the asset and dispatches a request to token gateway on the destination"] + teleport { + params: runtime_types::pallet_token_gateway::types::TeleportParams< + ::core::primitive::u128, + ::core::primitive::u128, + >, + }, + #[codec(index = 1)] + #[doc = "Set the token gateway address for specified chains"] + set_token_gateway_addresses { + addresses: ::subxt_core::utils::KeyedVec< + runtime_types::ismp::host::StateMachine, + ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + >, + }, + #[codec(index = 2)] + #[doc = "Registers a multi-chain ERC6160 asset. The asset should not already exist."] + #[doc = ""] + #[doc = "This works by dispatching a request to the TokenGateway module on each requested chain"] + #[doc = "to create the asset."] + #[doc = "`native` should be true if this asset originates from this chain"] + create_erc6160_asset { + asset: runtime_types::pallet_token_gateway::types::AssetRegistration< + ::core::primitive::u128, + >, + }, + #[codec(index = 3)] + #[doc = "Registers a multi-chain ERC6160 asset. The asset should not already exist."] + #[doc = ""] + #[doc = "This works by dispatching a request to the TokenGateway module on each requested chain"] + #[doc = "to create the asset."] + update_erc6160_asset { + asset: runtime_types::token_gateway_primitives::GatewayAssetUpdate, + }, + #[codec(index = 4)] + #[doc = "Update the precision for an existing asset"] + update_asset_precision { + update: runtime_types::pallet_token_gateway::types::PrecisionUpdate< + ::core::primitive::u128, + >, + }, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Errors that can be returned by this pallet."] + pub enum Error { + #[codec(index = 0)] + #[doc = "A asset that has not been registered"] + UnregisteredAsset, + #[codec(index = 1)] + #[doc = "Error while teleporting asset"] + AssetTeleportError, + #[codec(index = 2)] + #[doc = "Coprocessor was not configured in the runtime"] + CoprocessorNotConfigured, + #[codec(index = 3)] + #[doc = "Asset or update Dispatch Error"] + DispatchError, + #[codec(index = 4)] + #[doc = "Asset Id creation failed"] + AssetCreationError, + #[codec(index = 5)] + #[doc = "Asset decimals not found"] + AssetDecimalsNotFound, + #[codec(index = 6)] + #[doc = "Protocol Params have not been initialized"] + NotInitialized, + #[codec(index = 7)] + #[doc = "Unknown Asset"] + UnknownAsset, + #[codec(index = 8)] + #[doc = "Only root or asset owner can update asset"] + NotAssetOwner, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + #[doc = "Pallet events that functions in this pallet can emit."] + pub enum Event { + #[codec(index = 0)] + #[doc = "An asset has been teleported"] + AssetTeleported { + from: ::subxt_core::utils::AccountId32, + to: ::subxt_core::utils::H256, + amount: ::core::primitive::u128, + dest: runtime_types::ismp::host::StateMachine, + commitment: ::subxt_core::utils::H256, + }, + #[codec(index = 1)] + #[doc = "An asset has been received and transferred to the beneficiary's account"] + AssetReceived { + beneficiary: ::subxt_core::utils::AccountId32, + amount: ::core::primitive::u128, + source: runtime_types::ismp::host::StateMachine, + }, + #[codec(index = 2)] + #[doc = "An asset has been refunded and transferred to the beneficiary's account"] + AssetRefunded { + beneficiary: ::subxt_core::utils::AccountId32, + amount: ::core::primitive::u128, + source: runtime_types::ismp::host::StateMachine, + }, + #[codec(index = 3)] + #[doc = "ERC6160 asset creation request dispatched to hyperbridge"] + ERC6160AssetRegistrationDispatched { commitment: ::subxt_core::utils::H256 }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct AssetRegistration<_0> { + pub local_id: _0, + pub reg: runtime_types::token_gateway_primitives::GatewayAssetRegistration, + pub native: ::core::primitive::bool, + pub precision: ::subxt_core::utils::KeyedVec< + runtime_types::ismp::host::StateMachine, + ::core::primitive::u8, + >, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct PrecisionUpdate<_0> { + pub asset_id: _0, + pub precisions: ::subxt_core::utils::KeyedVec< + runtime_types::ismp::host::StateMachine, + ::core::primitive::u8, + >, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct TeleportParams<_0, _1> { + pub asset_id: _0, + pub destination: runtime_types::ismp::host::StateMachine, + pub recepient: ::subxt_core::utils::H256, + pub amount: _1, + pub timeout: ::core::primitive::u64, + pub token_gateway: ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + pub relayer_fee: _1, + pub call_data: ::core::option::Option< + ::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + >, + pub redeem: ::core::primitive::bool, + } + } + } pub mod pallet_transaction_payment { use super::runtime_types; pub mod pallet { @@ -72711,8 +72932,6 @@ pub mod api { Sudo(runtime_types::pallet_sudo::pallet::Call), #[codec(index = 5)] Assets(runtime_types::pallet_assets::pallet::Call), - #[codec(index = 54)] - PoolAssets(runtime_types::pallet_assets::pallet::Call), #[codec(index = 6)] Balances(runtime_types::pallet_balances::pallet::Call), #[codec(index = 9)] @@ -72783,6 +73002,12 @@ pub mod api { Lst(runtime_types::pallet_tangle_lst::pallet::Call), #[codec(index = 53)] Rewards(runtime_types::pallet_rewards::pallet::Call), + #[codec(index = 55)] + Ismp(runtime_types::pallet_ismp::pallet::Call), + #[codec(index = 56)] + IsmpGrandpa(runtime_types::ismp_grandpa::pallet::Call), + #[codec(index = 58)] + TokenGateway(runtime_types::pallet_token_gateway::pallet::Call), } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -72805,8 +73030,6 @@ pub mod api { Sudo(runtime_types::pallet_sudo::pallet::Error), #[codec(index = 5)] Assets(runtime_types::pallet_assets::pallet::Error), - #[codec(index = 54)] - PoolAssets(runtime_types::pallet_assets::pallet::Error), #[codec(index = 6)] Balances(runtime_types::pallet_balances::pallet::Error), #[codec(index = 9)] @@ -72873,6 +73096,12 @@ pub mod api { Lst(runtime_types::pallet_tangle_lst::pallet::Error), #[codec(index = 53)] Rewards(runtime_types::pallet_rewards::pallet::Error), + #[codec(index = 55)] + Ismp(runtime_types::pallet_ismp::pallet::Error), + #[codec(index = 57)] + Hyperbridge(runtime_types::pallet_hyperbridge::pallet::Error), + #[codec(index = 58)] + TokenGateway(runtime_types::pallet_token_gateway::pallet::Error), } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -72895,8 +73124,6 @@ pub mod api { Sudo(runtime_types::pallet_sudo::pallet::Event), #[codec(index = 5)] Assets(runtime_types::pallet_assets::pallet::Event), - #[codec(index = 54)] - PoolAssets(runtime_types::pallet_assets::pallet::Event), #[codec(index = 6)] Balances(runtime_types::pallet_balances::pallet::Event), #[codec(index = 7)] @@ -72965,6 +73192,14 @@ pub mod api { Lst(runtime_types::pallet_tangle_lst::pallet::Event), #[codec(index = 53)] Rewards(runtime_types::pallet_rewards::pallet::Event), + #[codec(index = 55)] + Ismp(runtime_types::pallet_ismp::pallet::Event), + #[codec(index = 56)] + IsmpGrandpa(runtime_types::ismp_grandpa::pallet::Event), + #[codec(index = 57)] + Hyperbridge(runtime_types::pallet_hyperbridge::pallet::Event), + #[codec(index = 58)] + TokenGateway(runtime_types::pallet_token_gateway::pallet::Event), } #[derive( :: subxt_core :: ext :: codec :: Decode, @@ -73005,5 +73240,59 @@ pub mod api { Preimage(runtime_types::pallet_preimage::pallet::HoldReason), } } + pub mod token_gateway_primitives { + use super::runtime_types; + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct GatewayAssetRegistration { + pub name: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + pub symbol: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + pub chains: ::subxt_core::alloc::vec::Vec, + pub minimum_balance: ::core::option::Option<::core::primitive::u128>, + } + #[derive( + :: subxt_core :: ext :: codec :: Decode, + :: subxt_core :: ext :: codec :: Encode, + :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] + #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] + pub struct GatewayAssetUpdate { + pub asset_id: ::subxt_core::utils::H256, + pub add_chains: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ismp::host::StateMachine, + >, + pub remove_chains: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ismp::host::StateMachine, + >, + pub new_admins: runtime_types::bounded_collections::bounded_vec::BoundedVec<( + runtime_types::ismp::host::StateMachine, + ::subxt_core::utils::H160, + )>, + } + } } -} \ No newline at end of file +} From 00b860d7de9340b782d94b5896ef3de4b3bbb8e2 Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Sat, 1 Mar 2025 00:56:09 +0530 Subject: [PATCH 13/30] clippy --- Cargo.lock | 36 +++++++++++++++---------------- Cargo.toml | 2 +- runtime/testnet/src/lib.rs | 4 ++-- runtime/testnet/src/migrations.rs | 13 +++++++++++ 4 files changed, 34 insertions(+), 21 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index eb25a7ef0..44e697180 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14,7 +14,7 @@ dependencies = [ [[package]] name = "account-util" -version = "1.2.11" +version = "1.2.12" dependencies = [ "frame-support 37.1.0", "pallet-airdrop-claims", @@ -6167,7 +6167,7 @@ dependencies = [ [[package]] name = "frost-ed448" -version = "1.2.11" +version = "1.2.12" dependencies = [ "ed448-goldilocks-plus", "parity-scale-codec", @@ -6194,7 +6194,7 @@ dependencies = [ [[package]] name = "frost-p384" -version = "1.2.11" +version = "1.2.12" dependencies = [ "p384", "parity-scale-codec", @@ -6248,7 +6248,7 @@ dependencies = [ [[package]] name = "frost-secp256k1-tr" -version = "1.2.11" +version = "1.2.12" dependencies = [ "k256", "parity-scale-codec", @@ -9801,7 +9801,7 @@ dependencies = [ [[package]] name = "pallet-airdrop-claims" -version = "1.2.11" +version = "1.2.12" dependencies = [ "frame-benchmarking 37.0.0", "frame-support 37.1.0", @@ -11905,7 +11905,7 @@ dependencies = [ [[package]] name = "pallet-multi-asset-delegation" -version = "1.2.11" +version = "1.2.12" dependencies = [ "ethabi", "ethereum", @@ -12505,7 +12505,7 @@ dependencies = [ [[package]] name = "pallet-rewards" -version = "1.2.11" +version = "1.2.12" dependencies = [ "ethabi", "ethereum", @@ -12564,7 +12564,7 @@ dependencies = [ [[package]] name = "pallet-rewards-rpc" -version = "1.2.11" +version = "1.2.12" dependencies = [ "jsonrpsee 0.23.2", "pallet-rewards-rpc-runtime-api", @@ -12577,7 +12577,7 @@ dependencies = [ [[package]] name = "pallet-rewards-rpc-runtime-api" -version = "1.2.11" +version = "1.2.12" dependencies = [ "parity-scale-codec", "sp-api 34.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", @@ -12706,7 +12706,7 @@ dependencies = [ [[package]] name = "pallet-services" -version = "1.2.11" +version = "1.2.12" dependencies = [ "ethabi", "ethereum", @@ -12767,7 +12767,7 @@ dependencies = [ [[package]] name = "pallet-services-rpc" -version = "1.2.11" +version = "1.2.12" dependencies = [ "jsonrpsee 0.23.2", "pallet-services-rpc-runtime-api", @@ -12780,7 +12780,7 @@ dependencies = [ [[package]] name = "pallet-services-rpc-runtime-api" -version = "1.2.11" +version = "1.2.12" dependencies = [ "parity-scale-codec", "sp-api 34.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", @@ -21159,7 +21159,7 @@ dependencies = [ [[package]] name = "tangle" -version = "1.2.11" +version = "1.2.12" dependencies = [ "alloy", "anyhow", @@ -21255,7 +21255,7 @@ dependencies = [ [[package]] name = "tangle-crypto-primitives" -version = "1.2.11" +version = "1.2.12" dependencies = [ "parity-scale-codec", "scale-info", @@ -21264,7 +21264,7 @@ dependencies = [ [[package]] name = "tangle-primitives" -version = "1.2.11" +version = "1.2.12" dependencies = [ "ark-bn254", "ark-crypto-primitives", @@ -21295,7 +21295,7 @@ dependencies = [ [[package]] name = "tangle-runtime" -version = "1.2.11" +version = "1.2.12" dependencies = [ "evm-tracer", "fp-evm", @@ -21423,7 +21423,7 @@ dependencies = [ [[package]] name = "tangle-testnet-runtime" -version = "1.2.11" +version = "1.2.12" dependencies = [ "anyhow", "evm-tracer", @@ -21630,7 +21630,7 @@ dependencies = [ [[package]] name = "tg-frost-core" -version = "1.2.11" +version = "1.2.12" dependencies = [ "byteorder", "const-crc32-nostd", diff --git a/Cargo.toml b/Cargo.toml index 8db68df36..a3fad9b96 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [workspace.package] -version = "1.2.11" +version = "1.2.12" authors = ["Tangle Foundation."] edition = "2021" license = "Unlicense" diff --git a/runtime/testnet/src/lib.rs b/runtime/testnet/src/lib.rs index 44415baa7..ebf4b896a 100644 --- a/runtime/testnet/src/lib.rs +++ b/runtime/testnet/src/lib.rs @@ -178,7 +178,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("tangle-testnet"), impl_name: create_runtime_str!("tangle-testnet"), authoring_version: 1, - spec_version: 1211, // v1.2.11 + spec_version: 1212, // v1.2.12 impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, @@ -1381,7 +1381,7 @@ pub type Executive = frame_executive::Executive< frame_system::ChainContext, Runtime, AllPalletsWithSystem, - (migrations::MigrateSessionKeys,), + migrations::RemoveNextAssetId, >; impl fp_self_contained::SelfContainedCall for RuntimeCall { diff --git a/runtime/testnet/src/migrations.rs b/runtime/testnet/src/migrations.rs index ac7f94ee5..987eae86f 100644 --- a/runtime/testnet/src/migrations.rs +++ b/runtime/testnet/src/migrations.rs @@ -69,3 +69,16 @@ impl OnRuntimeUpgrade for MigrateSessionKeys { T::DbWeight::get().reads_writes(10, 10) } } + +/// Runtime upgrade for removing the next asset id. +/// +/// This struct implements the `OnRuntimeUpgrade` trait and removes the next asset id from the +/// storage. It reads and writes to the database as needed. +pub struct RemoveNextAssetId(sp_std::marker::PhantomData, sp_std::marker::PhantomData); + +impl, I: 'static> OnRuntimeUpgrade for RemoveNextAssetId { + fn on_runtime_upgrade() -> Weight { + pallet_assets::NextAssetId::::set(None); + T::DbWeight::get().reads_writes(1, 1) + } +} From 8093a1502a4e56ce75ac62cbd99fd4bcbfd33f3c Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Sat, 1 Mar 2025 01:06:25 +0530 Subject: [PATCH 14/30] bump versions --- Cargo.lock | 2 +- tangle-subxt/Cargo.toml | 2 +- types/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 44e697180..f476d064f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -21411,7 +21411,7 @@ dependencies = [ [[package]] name = "tangle-subxt" -version = "0.13.0" +version = "0.14.0" dependencies = [ "parity-scale-codec", "scale-info", diff --git a/tangle-subxt/Cargo.toml b/tangle-subxt/Cargo.toml index cd8438684..e0d0d53ff 100644 --- a/tangle-subxt/Cargo.toml +++ b/tangle-subxt/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tangle-subxt" -version = "0.13.0" +version = "0.14.0" description = "Rust bindings and interface to interact with Tangle Network using subxt" authors = { workspace = true } edition = { workspace = true } diff --git a/types/package.json b/types/package.json index ff6b17831..0acaa5d09 100644 --- a/types/package.json +++ b/types/package.json @@ -1,6 +1,6 @@ { "name": "@tangle-network/tangle-substrate-types", - "version": "0.9.14", + "version": "0.9.15", "description": "Polkadot.js type definitions required for interacting with Tangle's tangle network", "author": "Tangle Developers ", "license": "Apache-2.0", From 58d9080cbcb67bd1276b4c207c331fadf407480e Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Tue, 4 Mar 2025 00:46:41 +0530 Subject: [PATCH 15/30] fix metadata --- .../metadata/tangle-testnet-runtime.scale | Bin 422055 -> 422055 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tangle-subxt/metadata/tangle-testnet-runtime.scale b/tangle-subxt/metadata/tangle-testnet-runtime.scale index 75e95d23dd9d18ac66f823024cd74654b1c81217..aa3c1cc04ff8500c0ab96379817561e8652a452d 100644 GIT binary patch delta 31 ncmZ4fP;&W0$%Yoj7N!>F7M3lnX~v9u+S83$x2GGkIoJXK#Q+NC delta 31 ncmZ4fP;&W0$%Yoj7N!>F7M3lnX~vAZ+tZC%x2GGkIoJXK#Ptg0 From c8f568fddd426e3f3eb74b5a96347cce240a9094 Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Tue, 4 Mar 2025 14:29:26 +0530 Subject: [PATCH 16/30] add ismp rpc --- Cargo.lock | 123 +++++++++++++++++++----------- node/Cargo.toml | 2 + node/src/manual_seal.rs | 1 + node/src/rpc/mod.rs | 15 +++- node/src/service.rs | 2 + pallets/rewards/src/migrations.rs | 116 ++++++++++++++++++++++++++++ 6 files changed, 210 insertions(+), 49 deletions(-) create mode 100644 pallets/rewards/src/migrations.rs diff --git a/Cargo.lock b/Cargo.lock index f476d064f..db06b5e61 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4513,7 +4513,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -5575,7 +5575,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "frame-support 37.1.0", "frame-support-procedural 30.0.5", @@ -5851,7 +5851,7 @@ dependencies = [ [[package]] name = "frame-support" version = "37.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "aquamarine", "array-bytes", @@ -5934,7 +5934,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "30.0.5" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "Inflector", "cfg-expr", @@ -5974,7 +5974,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "frame-support-procedural-tools-derive 12.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", "proc-macro-crate 3.2.0", @@ -6010,7 +6010,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "proc-macro2", "quote", @@ -6020,7 +6020,7 @@ dependencies = [ [[package]] name = "frame-system" version = "37.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "cfg-if", "docify", @@ -7611,7 +7611,7 @@ checksum = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37" dependencies = [ "hermit-abi 0.4.0", "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -11783,6 +11783,35 @@ dependencies = [ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", ] +[[package]] +name = "pallet-ismp-rpc" +version = "15.0.0" +source = "git+https://github.com/polytope-labs/hyperbridge?branch=polkadot-stable2407-1#4c58d522274dadcf4b1fbe8a931d1ebf15df26b8" +dependencies = [ + "anyhow", + "frame-system 37.1.0", + "hash-db", + "hex", + "hex-literal 0.4.1", + "ismp", + "jsonrpsee 0.23.2", + "pallet-ismp", + "pallet-ismp-runtime-api", + "parity-scale-codec", + "sc-client-api", + "sc-rpc", + "serde", + "serde_json", + "sp-api 34.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-blockchain", + "sp-core 34.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-runtime 39.0.3", + "sp-storage 21.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-trie 37.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "tower 0.4.13", + "trie-db", +] + [[package]] name = "pallet-ismp-runtime-api" version = "15.0.0" @@ -16024,7 +16053,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.4.15", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -18733,7 +18762,7 @@ dependencies = [ [[package]] name = "sp-api" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "docify", "hash-db", @@ -18770,7 +18799,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "Inflector", "blake2 0.10.6", @@ -18797,7 +18826,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "parity-scale-codec", "scale-info", @@ -18825,7 +18854,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "docify", "integer-sqrt", @@ -18924,7 +18953,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.40.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "async-trait", "parity-scale-codec", @@ -18959,7 +18988,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.40.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "async-trait", "parity-scale-codec", @@ -19017,7 +19046,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "finality-grandpa", "log", @@ -19046,7 +19075,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.40.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "parity-scale-codec", "scale-info", @@ -19116,7 +19145,7 @@ dependencies = [ [[package]] name = "sp-core" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "array-bytes", "bitflags 1.3.2", @@ -19206,7 +19235,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "blake2b_simd", "byteorder", @@ -19230,7 +19259,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "quote", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", @@ -19260,7 +19289,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "proc-macro2", "quote", @@ -19281,7 +19310,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "environmental", "parity-scale-codec", @@ -19291,7 +19320,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.15.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "parity-scale-codec", "scale-info", @@ -19330,7 +19359,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -19370,7 +19399,7 @@ dependencies = [ [[package]] name = "sp-io" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "bytes", "docify", @@ -19429,7 +19458,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.40.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -19470,7 +19499,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "frame-metadata 16.0.0", "parity-scale-codec", @@ -19503,7 +19532,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "log", "parity-scale-codec", @@ -19586,7 +19615,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "backtrace", "lazy_static", @@ -19616,7 +19645,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "39.0.3" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "docify", "either", @@ -19689,7 +19718,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -19722,7 +19751,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "Inflector", "expander", @@ -19778,7 +19807,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -19826,7 +19855,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "hash-db", "log", @@ -19901,7 +19930,7 @@ checksum = "12f8ee986414b0a9ad741776762f4083cd3a5128449b982a3919c4df36874834" [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" [[package]] name = "sp-storage" @@ -19919,7 +19948,7 @@ dependencies = [ [[package]] name = "sp-storage" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", @@ -19944,7 +19973,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "async-trait", "parity-scale-codec", @@ -19956,7 +19985,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "parity-scale-codec", "tracing", @@ -20051,7 +20080,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "ahash 0.8.11", "hash-db", @@ -20092,7 +20121,7 @@ dependencies = [ [[package]] name = "sp-version" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", @@ -20121,7 +20150,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -20132,7 +20161,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -20172,7 +20201,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -20672,7 +20701,7 @@ dependencies = [ [[package]] name = "substrate-bip39" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#7642d6b5dea6dd7871ef8bbfcb9d48ba8a8b0f77" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#0f858bae0a27ffda3351574012fafff1beb09384" dependencies = [ "hmac 0.12.1", "pbkdf2 0.12.2", @@ -21189,6 +21218,8 @@ dependencies = [ "log", "pallet-airdrop-claims", "pallet-im-online 36.0.0", + "pallet-ismp-rpc", + "pallet-ismp-runtime-api", "pallet-rewards-rpc", "pallet-services-rpc", "pallet-transaction-payment 37.0.1", @@ -21573,7 +21604,7 @@ dependencies = [ "getrandom 0.3.1", "once_cell", "rustix 0.38.44", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -23139,7 +23170,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] diff --git a/node/Cargo.toml b/node/Cargo.toml index 285b00c4b..d87791453 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -85,6 +85,8 @@ pallet-transaction-payment = { workspace = true } pallet-transaction-payment-rpc = { workspace = true } pallet-transaction-payment-rpc-runtime-api = { workspace = true } sc-transaction-pool-api = { workspace = true } +pallet-ismp-runtime-api = { workspace = true } +pallet-ismp-rpc = { workspace = true } # Frontier fc-api = { workspace = true } diff --git a/node/src/manual_seal.rs b/node/src/manual_seal.rs index 403731227..34823b453 100644 --- a/node/src/manual_seal.rs +++ b/node/src/manual_seal.rs @@ -524,6 +524,7 @@ pub async fn new_full { pub select_chain: SC, /// GRANDPA specific dependencies. pub grandpa: GrandpaDeps, + /// Backend + pub backend: Arc, } pub struct DefaultEthConfig(std::marker::PhantomData<(C, BE)>); @@ -113,7 +118,7 @@ pub fn create_full( >, ) -> Result, Box> where - C: CallApiAt + ProvideRuntimeApi, + C: CallApiAt + ProvideRuntimeApi + ProofProvider + BlockBackend, C::Api: substrate_frame_rpc_system::AccountNonceApi, C::Api: sp_block_builder::BlockBuilder, C::Api: pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi, @@ -134,6 +139,7 @@ where + HeaderMetadata + StorageProvider, BE: Backend + 'static, + C::Api: pallet_ismp_runtime_api::IsmpRuntimeApi, P: TransactionPool + 'static, A: ChainApi + 'static, CT: fp_rpc::ConvertTransaction<::Extrinsic> + Send + Sync + 'static, @@ -150,7 +156,7 @@ where use substrate_frame_rpc_system::{System, SystemApiServer}; let mut io = RpcModule::new(()); - let FullDeps { client, pool, deny_unsafe, eth, babe, select_chain, grandpa } = deps; + let FullDeps { client, pool, deny_unsafe, eth, babe, select_chain, grandpa, backend } = deps; let GrandpaDeps { shared_voter_state, @@ -164,6 +170,7 @@ where io.merge(TransactionPayment::new(client.clone()).into_rpc())?; io.merge(ServicesClient::new(client.clone()).into_rpc())?; io.merge(RewardsClient::new(client.clone()).into_rpc())?; + io.merge(IsmpRpcHandler::new(client.clone(), backend)?.into_rpc())?; if let Some(babe) = babe { let BabeDeps { babe_worker_handle, keystore } = babe; @@ -221,6 +228,7 @@ where + HeaderMetadata + StorageProvider, BE: Backend + 'static, + C::Api: pallet_ismp_runtime_api::IsmpRuntimeApi, P: TransactionPool + 'static, A: ChainApi + 'static, CT: fp_rpc::ConvertTransaction<::Extrinsic> + Send + Sync + 'static, @@ -235,7 +243,7 @@ where use substrate_frame_rpc_system::{System, SystemApiServer}; let mut io = RpcModule::new(()); - let FullDeps { client, pool, deny_unsafe, eth, babe, select_chain, grandpa } = deps; + let FullDeps { client, pool, deny_unsafe, eth, babe, select_chain, grandpa, backend } = deps; if let Some(babe) = babe { let BabeDeps { babe_worker_handle, keystore } = babe; @@ -255,6 +263,7 @@ where io.merge(System::new(client.clone(), pool, deny_unsafe).into_rpc())?; io.merge(TransactionPayment::new(client.clone()).into_rpc())?; + io.merge(IsmpRpcHandler::new(client.clone(), backend)?.into_rpc())?; io.merge( Grandpa::new( diff --git a/node/src/service.rs b/node/src/service.rs index 394eb7f08..9a185bd14 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -525,6 +525,7 @@ pub async fn new_full. + +use crate::{Config, RewardConfigStorage, RewardConfigForAssetVault, BalanceOf}; +use frame_support::{ + pallet_prelude::*, + traits::OnRuntimeUpgrade, + weights::{Weight, RuntimeDbWeight}, + migration::storage_key_iter, +}; +use sp_runtime::{Perbill, Percent}; +use sp_std::marker::PhantomData; + +/// Migration to convert APY from percentage to Perbill in `RewardConfigForAssetVault` +pub struct PercentageToPerbillMigration(PhantomData); + +impl OnRuntimeUpgrade for PercentageToPerbillMigration { + fn on_runtime_upgrade() -> Weight { + let mut weight = Weight::from_parts(0, 0); + let db_weights = T::DbWeight::get(); + + // Define the old version of the structure + #[derive(Clone, Encode, Decode, RuntimeDebug, TypeInfo, Eq, PartialEq)] + pub struct OldRewardConfigForAssetVault { + // The annual percentage yield (APY) for the asset, represented as a percentage + pub apy: Percent, // Percentage value + pub incentive_cap: Balance, + pub deposit_cap: Balance, + pub boost_multiplier: Option, + } + + // Iterate through all entries in the RewardConfigStorage + let iter = storage_key_iter::>, Blake2_128Concat>( + &RewardConfigStorage::::prefix_hash(), + ); + + let mut migrated_count = 0; + + for (vault_id, old_config) in iter { + // Read operation + weight = weight.saturating_add(db_weights.read); + let new_apy = Perbill::from_percent(old_config.apy); + + // Create new config with converted APY + let new_config = RewardConfigForAssetVault { + apy: new_apy, + incentive_cap: old_config.incentive_cap, + deposit_cap: old_config.deposit_cap, + boost_multiplier: old_config.boost_multiplier, + }; + + // Update the storage with the new config + RewardConfigStorage::::insert(&vault_id, new_config); + + // Write operation + weight = weight.saturating_add(db_weights.write); + + migrated_count += 1; + } + + log::info!( + "PercentageToPerbillMigration: Migrated {} reward configurations", + migrated_count + ); + + weight + } + + #[cfg(feature = "try-runtime")] + fn pre_upgrade() -> Result, &'static str> { + // Count how many entries we have pre-migration + let count = RewardConfigStorage::::iter().count() as u32; + Ok(count.encode()) + } + + #[cfg(feature = "try-runtime")] + fn post_upgrade(state: Vec) -> Result<(), &'static str> { + // Ensure we have the same number of entries post-migration + let pre_count = u32::decode(&mut &state[..]).expect("pre_upgrade should have encoded a u32"); + let post_count = RewardConfigStorage::::iter().count() as u32; + + assert_eq!( + pre_count, post_count, + "Number of reward configurations changed during migration" + ); + + // Validate all APY values are now proper Perbill values + for (_vault_id, config) in RewardConfigStorage::::iter() { + // Ensure APY is within Perbill range (0..=1_000_000_000) + assert!( + config.apy.deconstruct() <= 1_000_000_000, + "APY value exceeds Perbill maximum" + ); + } + + log::info!( + "PercentageToPerbillMigration: Successfully migrated {} reward configurations", + post_count + ); + + Ok(()) + } +} \ No newline at end of file From 45b460ac9ab182e21186b366cad316a1c33fbc8e Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Tue, 4 Mar 2025 14:41:47 +0530 Subject: [PATCH 17/30] add migration for reward config --- node/src/rpc/mod.rs | 4 +- pallets/rewards/src/lib.rs | 1 + pallets/rewards/src/migrations.rs | 176 ++++++++++++++---------------- runtime/testnet/src/lib.rs | 2 +- 4 files changed, 87 insertions(+), 96 deletions(-) diff --git a/node/src/rpc/mod.rs b/node/src/rpc/mod.rs index c299b31bd..e1f989cc7 100644 --- a/node/src/rpc/mod.rs +++ b/node/src/rpc/mod.rs @@ -18,6 +18,7 @@ use jsonrpsee::RpcModule; use std::sync::Arc; // Substrate +use pallet_ismp_rpc::{IsmpApiServer, IsmpRpcHandler}; use sc_client_api::{ backend::{Backend, StorageProvider}, client::BlockchainEvents, @@ -27,8 +28,6 @@ use sc_consensus_babe::BabeWorkerHandle; use sc_consensus_grandpa::{ FinalityProofProvider, GrandpaJustificationStream, SharedAuthoritySet, SharedVoterState, }; -use pallet_ismp_rpc::{IsmpApiServer, IsmpRpcHandler}; -use sp_core::H256; use sc_rpc::SubscriptionTaskExecutor; use sc_rpc_api::DenyUnsafe; use sc_service::TransactionPool; @@ -37,6 +36,7 @@ use sp_api::{CallApiAt, ProvideRuntimeApi}; use sp_blockchain::{Error as BlockChainError, HeaderBackend, HeaderMetadata}; use sp_consensus::SelectChain; use sp_consensus_babe::BabeApi; +use sp_core::H256; use sp_keystore::KeystorePtr; use sp_runtime::traits::Block as BlockT; use tangle_primitives::Block; diff --git a/pallets/rewards/src/lib.rs b/pallets/rewards/src/lib.rs index f475df3c7..45c5f6605 100644 --- a/pallets/rewards/src/lib.rs +++ b/pallets/rewards/src/lib.rs @@ -78,6 +78,7 @@ pub mod functions; pub mod impls; pub mod weights; pub use weights::*; +pub mod migrations; use sp_std::vec::Vec; use tangle_primitives::BlueprintId; diff --git a/pallets/rewards/src/migrations.rs b/pallets/rewards/src/migrations.rs index dc5f2b34b..102685103 100644 --- a/pallets/rewards/src/migrations.rs +++ b/pallets/rewards/src/migrations.rs @@ -14,13 +14,8 @@ // You should have received a copy of the GNU General Public License // along with Tangle. If not, see . -use crate::{Config, RewardConfigStorage, RewardConfigForAssetVault, BalanceOf}; -use frame_support::{ - pallet_prelude::*, - traits::OnRuntimeUpgrade, - weights::{Weight, RuntimeDbWeight}, - migration::storage_key_iter, -}; +use crate::{Config, RewardConfigForAssetVault, RewardConfigStorage}; +use frame_support::{pallet_prelude::*, traits::OnRuntimeUpgrade, weights::Weight}; use sp_runtime::{Perbill, Percent}; use sp_std::marker::PhantomData; @@ -28,89 +23,84 @@ use sp_std::marker::PhantomData; pub struct PercentageToPerbillMigration(PhantomData); impl OnRuntimeUpgrade for PercentageToPerbillMigration { - fn on_runtime_upgrade() -> Weight { - let mut weight = Weight::from_parts(0, 0); - let db_weights = T::DbWeight::get(); - - // Define the old version of the structure - #[derive(Clone, Encode, Decode, RuntimeDebug, TypeInfo, Eq, PartialEq)] - pub struct OldRewardConfigForAssetVault { - // The annual percentage yield (APY) for the asset, represented as a percentage - pub apy: Percent, // Percentage value - pub incentive_cap: Balance, - pub deposit_cap: Balance, - pub boost_multiplier: Option, - } - - // Iterate through all entries in the RewardConfigStorage - let iter = storage_key_iter::>, Blake2_128Concat>( - &RewardConfigStorage::::prefix_hash(), - ); - - let mut migrated_count = 0; - - for (vault_id, old_config) in iter { - // Read operation - weight = weight.saturating_add(db_weights.read); - let new_apy = Perbill::from_percent(old_config.apy); - - // Create new config with converted APY - let new_config = RewardConfigForAssetVault { - apy: new_apy, - incentive_cap: old_config.incentive_cap, - deposit_cap: old_config.deposit_cap, - boost_multiplier: old_config.boost_multiplier, - }; - - // Update the storage with the new config - RewardConfigStorage::::insert(&vault_id, new_config); - - // Write operation - weight = weight.saturating_add(db_weights.write); - - migrated_count += 1; - } - - log::info!( - "PercentageToPerbillMigration: Migrated {} reward configurations", - migrated_count - ); - - weight - } - - #[cfg(feature = "try-runtime")] - fn pre_upgrade() -> Result, &'static str> { - // Count how many entries we have pre-migration - let count = RewardConfigStorage::::iter().count() as u32; - Ok(count.encode()) - } - - #[cfg(feature = "try-runtime")] - fn post_upgrade(state: Vec) -> Result<(), &'static str> { - // Ensure we have the same number of entries post-migration - let pre_count = u32::decode(&mut &state[..]).expect("pre_upgrade should have encoded a u32"); - let post_count = RewardConfigStorage::::iter().count() as u32; - - assert_eq!( - pre_count, post_count, - "Number of reward configurations changed during migration" - ); - - // Validate all APY values are now proper Perbill values - for (_vault_id, config) in RewardConfigStorage::::iter() { - // Ensure APY is within Perbill range (0..=1_000_000_000) - assert!( - config.apy.deconstruct() <= 1_000_000_000, - "APY value exceeds Perbill maximum" - ); - } - - log::info!( - "PercentageToPerbillMigration: Successfully migrated {} reward configurations", - post_count - ); - - Ok(()) - } -} \ No newline at end of file + fn on_runtime_upgrade() -> Weight { + let mut weight = Weight::from_parts(0, 0); + + // Define the old version of the structure + #[derive(Clone, Encode, Decode, RuntimeDebug, TypeInfo, Eq, PartialEq)] + pub struct OldRewardConfigForAssetVault { + // The annual percentage yield (APY) for the asset, represented as a percentage + pub apy: Percent, // Percentage value + pub incentive_cap: Balance, + pub deposit_cap: Balance, + pub boost_multiplier: Option, + } + + // Iterate through all entries in the RewardConfigStorage + let iter = RewardConfigStorage::::iter(); + + let mut migrated_count = 0; + + for (vault_id, old_config) in iter { + // Read operation + weight = weight.saturating_add(T::DbWeight::get().reads(1_u64)); + let new_apy = Perbill::from_percent(old_config.apy.deconstruct() as u32); + + // Create new config with converted APY + let new_config = RewardConfigForAssetVault { + apy: new_apy, + incentive_cap: old_config.incentive_cap, + deposit_cap: old_config.deposit_cap, + boost_multiplier: old_config.boost_multiplier, + }; + + // Update the storage with the new config + RewardConfigStorage::::insert(&vault_id, new_config); + + // Write operation + weight = weight.saturating_add(T::DbWeight::get().writes(1_u64)); + + migrated_count += 1; + } + + log::info!( + "PercentageToPerbillMigration: Migrated {} reward configurations", + migrated_count + ); + + weight + } + + #[cfg(feature = "try-runtime")] + fn pre_upgrade() -> Result, &'static str> { + // Count how many entries we have pre-migration + let count = RewardConfigStorage::::iter().count() as u32; + Ok(count.encode()) + } + + #[cfg(feature = "try-runtime")] + fn post_upgrade(state: Vec) -> Result<(), &'static str> { + // Ensure we have the same number of entries post-migration + let pre_count = + u32::decode(&mut &state[..]).expect("pre_upgrade should have encoded a u32"); + let post_count = RewardConfigStorage::::iter().count() as u32; + + assert_eq!( + pre_count, post_count, + "Number of reward configurations changed during migration" + ); + + // Validate all APY values are now proper Perbill values + for (_vault_id, config) in RewardConfigStorage::::iter() { + // Ensure APY is within Perbill range (0..=1_000_000_000) + assert!(config.apy.deconstruct() <= 1_000_000_000, "APY value exceeds Perbill maximum"); + } + + log::info!( + "PercentageToPerbillMigration: Successfully migrated {} reward configurations", + post_count + ); + + Ok(()) + } +} diff --git a/runtime/testnet/src/lib.rs b/runtime/testnet/src/lib.rs index ebf4b896a..13550e33b 100644 --- a/runtime/testnet/src/lib.rs +++ b/runtime/testnet/src/lib.rs @@ -1381,7 +1381,7 @@ pub type Executive = frame_executive::Executive< frame_system::ChainContext, Runtime, AllPalletsWithSystem, - migrations::RemoveNextAssetId, + pallet_rewards::migrations::PercentageToPerbillMigration, >; impl fp_self_contained::SelfContainedCall for RuntimeCall { From e0872bd5427f24d03840348d0d9e88ff92663261 Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Tue, 4 Mar 2025 17:47:38 +0530 Subject: [PATCH 18/30] fix --- Cargo.lock | 36 +++++++++++++++---------------- Cargo.toml | 2 +- node/src/rpc/mod.rs | 8 ++++--- pallets/rewards/src/migrations.rs | 4 ++-- runtime/testnet/src/lib.rs | 2 +- 5 files changed, 27 insertions(+), 25 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index db06b5e61..077d05526 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14,7 +14,7 @@ dependencies = [ [[package]] name = "account-util" -version = "1.2.12" +version = "1.2.15" dependencies = [ "frame-support 37.1.0", "pallet-airdrop-claims", @@ -6167,7 +6167,7 @@ dependencies = [ [[package]] name = "frost-ed448" -version = "1.2.12" +version = "1.2.15" dependencies = [ "ed448-goldilocks-plus", "parity-scale-codec", @@ -6194,7 +6194,7 @@ dependencies = [ [[package]] name = "frost-p384" -version = "1.2.12" +version = "1.2.15" dependencies = [ "p384", "parity-scale-codec", @@ -6248,7 +6248,7 @@ dependencies = [ [[package]] name = "frost-secp256k1-tr" -version = "1.2.12" +version = "1.2.15" dependencies = [ "k256", "parity-scale-codec", @@ -9801,7 +9801,7 @@ dependencies = [ [[package]] name = "pallet-airdrop-claims" -version = "1.2.12" +version = "1.2.15" dependencies = [ "frame-benchmarking 37.0.0", "frame-support 37.1.0", @@ -11934,7 +11934,7 @@ dependencies = [ [[package]] name = "pallet-multi-asset-delegation" -version = "1.2.12" +version = "1.2.15" dependencies = [ "ethabi", "ethereum", @@ -12534,7 +12534,7 @@ dependencies = [ [[package]] name = "pallet-rewards" -version = "1.2.12" +version = "1.2.15" dependencies = [ "ethabi", "ethereum", @@ -12593,7 +12593,7 @@ dependencies = [ [[package]] name = "pallet-rewards-rpc" -version = "1.2.12" +version = "1.2.15" dependencies = [ "jsonrpsee 0.23.2", "pallet-rewards-rpc-runtime-api", @@ -12606,7 +12606,7 @@ dependencies = [ [[package]] name = "pallet-rewards-rpc-runtime-api" -version = "1.2.12" +version = "1.2.15" dependencies = [ "parity-scale-codec", "sp-api 34.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", @@ -12735,7 +12735,7 @@ dependencies = [ [[package]] name = "pallet-services" -version = "1.2.12" +version = "1.2.15" dependencies = [ "ethabi", "ethereum", @@ -12796,7 +12796,7 @@ dependencies = [ [[package]] name = "pallet-services-rpc" -version = "1.2.12" +version = "1.2.15" dependencies = [ "jsonrpsee 0.23.2", "pallet-services-rpc-runtime-api", @@ -12809,7 +12809,7 @@ dependencies = [ [[package]] name = "pallet-services-rpc-runtime-api" -version = "1.2.12" +version = "1.2.15" dependencies = [ "parity-scale-codec", "sp-api 34.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", @@ -21188,7 +21188,7 @@ dependencies = [ [[package]] name = "tangle" -version = "1.2.12" +version = "1.2.15" dependencies = [ "alloy", "anyhow", @@ -21286,7 +21286,7 @@ dependencies = [ [[package]] name = "tangle-crypto-primitives" -version = "1.2.12" +version = "1.2.15" dependencies = [ "parity-scale-codec", "scale-info", @@ -21295,7 +21295,7 @@ dependencies = [ [[package]] name = "tangle-primitives" -version = "1.2.12" +version = "1.2.15" dependencies = [ "ark-bn254", "ark-crypto-primitives", @@ -21326,7 +21326,7 @@ dependencies = [ [[package]] name = "tangle-runtime" -version = "1.2.12" +version = "1.2.15" dependencies = [ "evm-tracer", "fp-evm", @@ -21454,7 +21454,7 @@ dependencies = [ [[package]] name = "tangle-testnet-runtime" -version = "1.2.12" +version = "1.2.15" dependencies = [ "anyhow", "evm-tracer", @@ -21661,7 +21661,7 @@ dependencies = [ [[package]] name = "tg-frost-core" -version = "1.2.12" +version = "1.2.15" dependencies = [ "byteorder", "const-crc32-nostd", diff --git a/Cargo.toml b/Cargo.toml index a3fad9b96..0b3e80584 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [workspace.package] -version = "1.2.12" +version = "1.2.15" authors = ["Tangle Foundation."] edition = "2021" license = "Unlicense" diff --git a/node/src/rpc/mod.rs b/node/src/rpc/mod.rs index e1f989cc7..034fa935d 100644 --- a/node/src/rpc/mod.rs +++ b/node/src/rpc/mod.rs @@ -214,7 +214,7 @@ pub fn create_full( >, ) -> Result, Box> where - C: CallApiAt + ProvideRuntimeApi, + C: CallApiAt + ProvideRuntimeApi + ProofProvider + BlockBackend, C::Api: substrate_frame_rpc_system::AccountNonceApi, C::Api: sp_block_builder::BlockBuilder, C::Api: pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi, @@ -228,7 +228,7 @@ where + HeaderMetadata + StorageProvider, BE: Backend + 'static, - C::Api: pallet_ismp_runtime_api::IsmpRuntimeApi, + // C::Api: pallet_ismp_runtime_api::IsmpRuntimeApi, P: TransactionPool + 'static, A: ChainApi + 'static, CT: fp_rpc::ConvertTransaction<::Extrinsic> + Send + Sync + 'static, @@ -243,6 +243,8 @@ where use substrate_frame_rpc_system::{System, SystemApiServer}; let mut io = RpcModule::new(()); + + #[allow(unused_variables)] let FullDeps { client, pool, deny_unsafe, eth, babe, select_chain, grandpa, backend } = deps; if let Some(babe) = babe { @@ -263,7 +265,7 @@ where io.merge(System::new(client.clone(), pool, deny_unsafe).into_rpc())?; io.merge(TransactionPayment::new(client.clone()).into_rpc())?; - io.merge(IsmpRpcHandler::new(client.clone(), backend)?.into_rpc())?; + //io.merge(IsmpRpcHandler::new(client.clone(), backend)?.into_rpc())?; io.merge( Grandpa::new( diff --git a/pallets/rewards/src/migrations.rs b/pallets/rewards/src/migrations.rs index 102685103..d99bab2a1 100644 --- a/pallets/rewards/src/migrations.rs +++ b/pallets/rewards/src/migrations.rs @@ -44,7 +44,7 @@ impl OnRuntimeUpgrade for PercentageToPerbillMigration { for (vault_id, old_config) in iter { // Read operation weight = weight.saturating_add(T::DbWeight::get().reads(1_u64)); - let new_apy = Perbill::from_percent(old_config.apy.deconstruct() as u32); + let new_apy = Perbill::from_percent(old_config.apy.deconstruct()); // Create new config with converted APY let new_config = RewardConfigForAssetVault { @@ -55,7 +55,7 @@ impl OnRuntimeUpgrade for PercentageToPerbillMigration { }; // Update the storage with the new config - RewardConfigStorage::::insert(&vault_id, new_config); + RewardConfigStorage::::insert(vault_id, new_config); // Write operation weight = weight.saturating_add(T::DbWeight::get().writes(1_u64)); diff --git a/runtime/testnet/src/lib.rs b/runtime/testnet/src/lib.rs index 13550e33b..d84cfe3f0 100644 --- a/runtime/testnet/src/lib.rs +++ b/runtime/testnet/src/lib.rs @@ -178,7 +178,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("tangle-testnet"), impl_name: create_runtime_str!("tangle-testnet"), authoring_version: 1, - spec_version: 1212, // v1.2.12 + spec_version: 1215, // v1.2.15 impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, From 508f55a5850e45a04f53fdade710db1f0abde128 Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Tue, 4 Mar 2025 20:12:51 +0530 Subject: [PATCH 19/30] clippy --- node/src/manual_seal.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/node/src/manual_seal.rs b/node/src/manual_seal.rs index 34823b453..e1a773d1b 100644 --- a/node/src/manual_seal.rs +++ b/node/src/manual_seal.rs @@ -508,6 +508,7 @@ pub async fn new_full Date: Thu, 6 Mar 2025 17:45:17 +0530 Subject: [PATCH 20/30] fixes --- pallets/multi-asset-delegation/src/lib.rs | 1 + .../multi-asset-delegation/src/migrations.rs | 132 ++++++++++++++++++ 2 files changed, 133 insertions(+) create mode 100644 pallets/multi-asset-delegation/src/migrations.rs diff --git a/pallets/multi-asset-delegation/src/lib.rs b/pallets/multi-asset-delegation/src/lib.rs index 5f602ac02..6cc381758 100644 --- a/pallets/multi-asset-delegation/src/lib.rs +++ b/pallets/multi-asset-delegation/src/lib.rs @@ -78,6 +78,7 @@ mod benchmarking; pub mod functions; pub mod traits; pub mod types; +pub mod migrations; /// The log target of this pallet. pub const LOG_TARGET: &str = "runtime::multi-asset-delegation"; diff --git a/pallets/multi-asset-delegation/src/migrations.rs b/pallets/multi-asset-delegation/src/migrations.rs new file mode 100644 index 000000000..6902464e6 --- /dev/null +++ b/pallets/multi-asset-delegation/src/migrations.rs @@ -0,0 +1,132 @@ +// This file is part of Tangle. +// Copyright (C) 2022-2024 Tangle Foundation. +// +// Tangle is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Tangle is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Tangle. If not, see . + +use crate::{Config, DelegatorMetadata, Delegators}; +use frame_support::{pallet_prelude::*, traits::OnRuntimeUpgrade, weights::Weight}; +use sp_runtime::{Perbill, Percent}; +use sp_std::marker::PhantomData; + +/// Migration to convert APY from percentage to Perbill in `RewardConfigForAssetVault` +pub struct PercentageToPerbillMigration(PhantomData); + +impl OnRuntimeUpgrade for PercentageToPerbillMigration { + fn on_runtime_upgrade() -> Weight { + let mut weight = Weight::from_parts(0, 0); + + /// Stores the state of a delegator, including deposits, delegations, and requests. + #[derive(Encode, Decode, RuntimeDebug, TypeInfo)] + pub struct OldDelegatorMetadata< + AccountId, + Balance, + AssetId: Encode + Decode + TypeInfo, + MaxWithdrawRequests: Get, + MaxDelegations: Get, + MaxUnstakeRequests: Get, + MaxBlueprints: Get, + BlockNumber, + MaxLocks: Get, + > { + /// A map of deposited assets and their respective amounts. + pub deposits: BTreeMap, Deposit>, + /// A vector of withdraw requests. + pub withdraw_requests: BoundedVec, MaxWithdrawRequests>, + /// A list of all current delegations. + pub delegations: + BoundedVec, MaxDelegations>, + /// A vector of requests to reduce the bonded amount. + pub delegator_unstake_requests: + BoundedVec, MaxUnstakeRequests>, + /// The current status of the delegator. + pub status: DelegatorStatus, + } + + /// Represents a request to withdraw a specific amount of an asset. + #[derive(Clone, PartialEq, Encode, Decode, RuntimeDebug, TypeInfo)] + pub struct OldWithdrawRequest { + /// The ID of the asset to be withdrawd. + pub asset_id: Asset, + /// The amount of the asset to be withdrawn. + pub amount: Balance, + /// The round in which the withdraw was requested. + pub requested_round: RoundIndex, + } + + /// Represents a request to reduce the bonded amount of a specific asset. + #[derive(Clone, PartialEq, Encode, Decode, RuntimeDebug, TypeInfo)] + pub struct OldBondLessRequest> { + /// The account ID of the operator. + pub operator: AccountId, + /// The ID of the asset to reduce the stake of. + pub asset_id: Asset, + /// The amount by which to reduce the stake. + pub amount: Balance, + /// The round in which the stake reduction was requested. + pub requested_round: RoundIndex, + /// The blueprint selection of the delegator. + pub blueprint_selection: DelegatorBlueprintSelection, + } + + /// Represents a delegation bond from a delegator to an operator. + #[derive(Clone, Encode, Decode, RuntimeDebug, TypeInfo, Eq, PartialEq)] + pub struct OldBondInfoDelegator> + { + /// The operator being delegated to. + pub operator: AccountId, + /// The amount being delegated. + pub amount: Balance, + /// The asset being delegated. + pub asset_id: Asset, + /// The blueprint selection for this delegation. + pub blueprint_selection: DelegatorBlueprintSelection, + } + + // Iterate through all entries in the RewardConfigStorage + let iter = Delegators::::iter(); + + let mut migrated_count = 0; + + for (account, metadata) in iter { + // Read operation + weight = weight.saturating_add(T::DbWeight::get().reads(1_u64)); + + // Convert old metadata to new metadata + + // Write operation + weight = weight.saturating_add(T::DbWeight::get().writes(1_u64)); + + migrated_count += 1; + } + + log::info!( + "PercentageToPerbillMigration: Migrated {} reward configurations", + migrated_count + ); + + weight + } + + #[cfg(feature = "try-runtime")] + fn pre_upgrade() -> Result, &'static str> { + // Count how many entries we have pre-migration + let count = RewardConfigStorage::::iter().count() as u32; + Ok(count.encode()) + } + + #[cfg(feature = "try-runtime")] + fn post_upgrade(state: Vec) -> Result<(), &'static str> { + Ok(()) + } +} From c57219aa6ba7e7ebd063347841d91655160255bd Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Thu, 6 Mar 2025 17:48:28 +0530 Subject: [PATCH 21/30] fixes --- .../multi-asset-delegation/src/migrations.rs | 53 +++++++++++++++++-- 1 file changed, 50 insertions(+), 3 deletions(-) diff --git a/pallets/multi-asset-delegation/src/migrations.rs b/pallets/multi-asset-delegation/src/migrations.rs index 6902464e6..6acd2c0e6 100644 --- a/pallets/multi-asset-delegation/src/migrations.rs +++ b/pallets/multi-asset-delegation/src/migrations.rs @@ -14,9 +14,10 @@ // You should have received a copy of the GNU General Public License // along with Tangle. If not, see . -use crate::{Config, DelegatorMetadata, Delegators}; +use crate::{Config, DelegatorMetadata, Delegators, types::delegator::*}; use frame_support::{pallet_prelude::*, traits::OnRuntimeUpgrade, weights::Weight}; use sp_runtime::{Perbill, Percent}; +use sp_std::collections::btree_map::BTreeMap; use sp_std::marker::PhantomData; /// Migration to convert APY from percentage to Perbill in `RewardConfigForAssetVault` @@ -103,6 +104,52 @@ impl OnRuntimeUpgrade for PercentageToPerbillMigration { weight = weight.saturating_add(T::DbWeight::get().reads(1_u64)); // Convert old metadata to new metadata + let new_metadata = DelegatorMetadata::< + T::AccountId, + T::Balance, + T::AssetId, + T::MaxWithdrawRequests, + T::MaxDelegations, + T::MaxUnstakeRequests, + T::MaxBlueprints, + T::BlockNumber, + T::MaxLocks, + > { + deposits: metadata.deposits, + withdraw_requests: metadata.withdraw_requests + .into_iter() + .map(|req| WithdrawRequest { + asset: req.asset_id, + amount: req.amount, + requested_round: req.requested_round, + }) + .collect::>(), + delegations: metadata.delegations + .into_iter() + .map(|delegation| BondInfoDelegator { + operator: delegation.operator, + amount: delegation.amount, + asset: delegation.asset_id, + blueprint_selection: delegation.blueprint_selection, + is_nomination: false, // Default to false for migrated delegations + }) + .collect::>(), + delegator_unstake_requests: metadata.delegator_unstake_requests + .into_iter() + .map(|req| BondLessRequest { + operator: req.operator, + asset: req.asset_id, + amount: req.amount, + requested_round: req.requested_round, + blueprint_selection: req.blueprint_selection, + is_nomination: false, // Default to false for migrated requests + }) + .collect::>(), + status: metadata.status, + }; + + // Update the storage with the new metadata + Delegators::::insert(account, new_metadata); // Write operation weight = weight.saturating_add(T::DbWeight::get().writes(1_u64)); @@ -111,7 +158,7 @@ impl OnRuntimeUpgrade for PercentageToPerbillMigration { } log::info!( - "PercentageToPerbillMigration: Migrated {} reward configurations", + "PercentageToPerbillMigration: Migrated {} delegator metadata entries", migrated_count ); @@ -121,7 +168,7 @@ impl OnRuntimeUpgrade for PercentageToPerbillMigration { #[cfg(feature = "try-runtime")] fn pre_upgrade() -> Result, &'static str> { // Count how many entries we have pre-migration - let count = RewardConfigStorage::::iter().count() as u32; + let count = Delegators::::iter().count() as u32; Ok(count.encode()) } From 9e5a06551e1acebe37cc7a4e7b030ed6ed0f8ad1 Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Thu, 6 Mar 2025 20:06:58 +0530 Subject: [PATCH 22/30] v1.2.16 --- pallets/multi-asset-delegation/src/lib.rs | 2 +- .../multi-asset-delegation/src/migrations.rs | 294 ++++++++++++++---- runtime/testnet/src/lib.rs | 4 +- .../metadata/tangle-testnet-runtime.scale | Bin 422055 -> 422055 bytes 4 files changed, 240 insertions(+), 60 deletions(-) diff --git a/pallets/multi-asset-delegation/src/lib.rs b/pallets/multi-asset-delegation/src/lib.rs index 6cc381758..00d39204b 100644 --- a/pallets/multi-asset-delegation/src/lib.rs +++ b/pallets/multi-asset-delegation/src/lib.rs @@ -76,9 +76,9 @@ use weights::WeightInfo; mod benchmarking; pub mod functions; +pub mod migrations; pub mod traits; pub mod types; -pub mod migrations; /// The log target of this pallet. pub const LOG_TARGET: &str = "runtime::multi-asset-delegation"; diff --git a/pallets/multi-asset-delegation/src/migrations.rs b/pallets/multi-asset-delegation/src/migrations.rs index 6acd2c0e6..49f45caed 100644 --- a/pallets/multi-asset-delegation/src/migrations.rs +++ b/pallets/multi-asset-delegation/src/migrations.rs @@ -14,16 +14,22 @@ // You should have received a copy of the GNU General Public License // along with Tangle. If not, see . -use crate::{Config, DelegatorMetadata, Delegators, types::delegator::*}; +use crate::{ + types::{delegator::*, DelegatorMetadata}, + Config, Delegators, +}; +use frame_support::traits::Currency; use frame_support::{pallet_prelude::*, traits::OnRuntimeUpgrade, weights::Weight}; -use sp_runtime::{Perbill, Percent}; +use frame_system; +use frame_system::pallet_prelude::BlockNumberFor; use sp_std::collections::btree_map::BTreeMap; use sp_std::marker::PhantomData; +use tangle_primitives::{services::Asset, RoundIndex}; -/// Migration to convert APY from percentage to Perbill in `RewardConfigForAssetVault` -pub struct PercentageToPerbillMigration(PhantomData); +/// Migration to update DelegatorMetadata structure with new field names and add is_nomination field +pub struct DelegatorMetadataMigration(PhantomData); -impl OnRuntimeUpgrade for PercentageToPerbillMigration { +impl OnRuntimeUpgrade for DelegatorMetadataMigration { fn on_runtime_upgrade() -> Weight { let mut weight = Weight::from_parts(0, 0); @@ -43,13 +49,18 @@ impl OnRuntimeUpgrade for PercentageToPerbillMigration { /// A map of deposited assets and their respective amounts. pub deposits: BTreeMap, Deposit>, /// A vector of withdraw requests. - pub withdraw_requests: BoundedVec, MaxWithdrawRequests>, + pub withdraw_requests: + BoundedVec, MaxWithdrawRequests>, /// A list of all current delegations. - pub delegations: - BoundedVec, MaxDelegations>, + pub delegations: BoundedVec< + OldBondInfoDelegator, + MaxDelegations, + >, /// A vector of requests to reduce the bonded amount. - pub delegator_unstake_requests: - BoundedVec, MaxUnstakeRequests>, + pub delegator_unstake_requests: BoundedVec< + OldBondLessRequest, + MaxUnstakeRequests, + >, /// The current status of the delegator. pub status: DelegatorStatus, } @@ -57,7 +68,7 @@ impl OnRuntimeUpgrade for PercentageToPerbillMigration { /// Represents a request to withdraw a specific amount of an asset. #[derive(Clone, PartialEq, Encode, Decode, RuntimeDebug, TypeInfo)] pub struct OldWithdrawRequest { - /// The ID of the asset to be withdrawd. + /// The ID of the asset to be withdrawn. pub asset_id: Asset, /// The amount of the asset to be withdrawn. pub amount: Balance, @@ -67,7 +78,12 @@ impl OnRuntimeUpgrade for PercentageToPerbillMigration { /// Represents a request to reduce the bonded amount of a specific asset. #[derive(Clone, PartialEq, Encode, Decode, RuntimeDebug, TypeInfo)] - pub struct OldBondLessRequest> { + pub struct OldBondLessRequest< + AccountId, + AssetId: Encode + Decode, + Balance, + MaxBlueprints: Get, + > { /// The account ID of the operator. pub operator: AccountId, /// The ID of the asset to reduce the stake of. @@ -82,8 +98,12 @@ impl OnRuntimeUpgrade for PercentageToPerbillMigration { /// Represents a delegation bond from a delegator to an operator. #[derive(Clone, Encode, Decode, RuntimeDebug, TypeInfo, Eq, PartialEq)] - pub struct OldBondInfoDelegator> - { + pub struct OldBondInfoDelegator< + AccountId, + Balance, + AssetId: Encode + Decode, + MaxBlueprints: Get, + > { /// The operator being delegated to. pub operator: AccountId, /// The amount being delegated. @@ -94,62 +114,148 @@ impl OnRuntimeUpgrade for PercentageToPerbillMigration { pub blueprint_selection: DelegatorBlueprintSelection, } - // Iterate through all entries in the RewardConfigStorage - let iter = Delegators::::iter(); + log::info!("Starting DelegatorMetadataMigration..."); + // Iterate through all entries in the storage + let iter = Delegators::::iter_keys(); let mut migrated_count = 0; + let mut failed_count = 0; - for (account, metadata) in iter { + for account_id in iter { // Read operation weight = weight.saturating_add(T::DbWeight::get().reads(1_u64)); - // Convert old metadata to new metadata - let new_metadata = DelegatorMetadata::< - T::AccountId, - T::Balance, + // Get the raw bytes of the metadata + let raw_metadata = Delegators::::hashed_key_for(&account_id); + + // Try to decode using our old metadata format + let old_metadata = match OldDelegatorMetadata::< + ::AccountId, + <::Currency as Currency<::AccountId>>::Balance, T::AssetId, T::MaxWithdrawRequests, T::MaxDelegations, T::MaxUnstakeRequests, - T::MaxBlueprints, - T::BlockNumber, - T::MaxLocks, - > { - deposits: metadata.deposits, - withdraw_requests: metadata.withdraw_requests - .into_iter() - .map(|req| WithdrawRequest { - asset: req.asset_id, - amount: req.amount, - requested_round: req.requested_round, + T::MaxDelegatorBlueprints, + BlockNumberFor, + ::MaxDelegations, + >::decode(&mut &raw_metadata[..]) { + Ok(metadata) => metadata, + Err(e) => { + log::error!("Failed to decode delegator metadata for account {:?}: {:?}", account_id, e); + failed_count += 1; + continue; + } + }; + + // Create new bounded vectors for the new metadata format + let mut new_withdraw_requests = + BoundedVec::< + WithdrawRequest< + T::AssetId, + <::Currency as Currency< + ::AccountId, + >>::Balance, + >, + T::MaxWithdrawRequests, + >::default(); + + let mut new_delegations = + BoundedVec::< + BondInfoDelegator< + ::AccountId, + <::Currency as Currency< + ::AccountId, + >>::Balance, + T::AssetId, + T::MaxDelegatorBlueprints, + >, + T::MaxDelegations, + >::default(); + + let mut new_unstake_requests = + BoundedVec::< + BondLessRequest< + ::AccountId, + T::AssetId, + <::Currency as Currency< + ::AccountId, + >>::Balance, + T::MaxDelegatorBlueprints, + >, + T::MaxUnstakeRequests, + >::default(); + + // Migrate withdraw requests (rename asset_id -> asset) + for old_req in old_metadata.withdraw_requests.into_iter() { + if new_withdraw_requests + .try_push(WithdrawRequest { + asset: old_req.asset_id, // Rename field + amount: old_req.amount, + requested_round: old_req.requested_round, }) - .collect::>(), - delegations: metadata.delegations - .into_iter() - .map(|delegation| BondInfoDelegator { - operator: delegation.operator, - amount: delegation.amount, - asset: delegation.asset_id, - blueprint_selection: delegation.blueprint_selection, - is_nomination: false, // Default to false for migrated delegations + .is_err() + { + log::warn!( + "Failed to migrate a withdraw request for account {:?}: exceeded capacity", + account_id + ); + break; + } + } + + // Migrate delegations (rename asset_id -> asset, add is_nomination = false) + for old_delegation in old_metadata.delegations.into_iter() { + if new_delegations + .try_push(BondInfoDelegator { + operator: old_delegation.operator, + amount: old_delegation.amount, + asset: old_delegation.asset_id, // Rename field + blueprint_selection: old_delegation.blueprint_selection, + is_nomination: false, // New field with default value }) - .collect::>(), - delegator_unstake_requests: metadata.delegator_unstake_requests - .into_iter() - .map(|req| BondLessRequest { - operator: req.operator, - asset: req.asset_id, - amount: req.amount, - requested_round: req.requested_round, - blueprint_selection: req.blueprint_selection, - is_nomination: false, // Default to false for migrated requests + .is_err() + { + log::warn!( + "Failed to migrate a delegation for account {:?}: exceeded capacity", + account_id + ); + break; + } + } + + // Migrate unstake requests (rename asset_id -> asset, add is_nomination = false) + for old_req in old_metadata.delegator_unstake_requests.into_iter() { + if new_unstake_requests + .try_push(BondLessRequest { + operator: old_req.operator, + asset: old_req.asset_id, // Rename field + amount: old_req.amount, + requested_round: old_req.requested_round, + blueprint_selection: old_req.blueprint_selection, + is_nomination: false, // New field with default value }) - .collect::>(), - status: metadata.status, + .is_err() + { + log::warn!( + "Failed to migrate an unstake request for account {:?}: exceeded capacity", + account_id + ); + break; + } + } + + // Create the new metadata with converted components + let new_metadata = DelegatorMetadata { + deposits: old_metadata.deposits, + withdraw_requests: new_withdraw_requests, + delegations: new_delegations, + delegator_unstake_requests: new_unstake_requests, + status: old_metadata.status, }; // Update the storage with the new metadata - Delegators::::insert(account, new_metadata); + Delegators::::insert(account_id, new_metadata); // Write operation weight = weight.saturating_add(T::DbWeight::get().writes(1_u64)); @@ -158,8 +264,9 @@ impl OnRuntimeUpgrade for PercentageToPerbillMigration { } log::info!( - "PercentageToPerbillMigration: Migrated {} delegator metadata entries", - migrated_count + "DelegatorMetadataMigration completed: Migrated {} delegator metadata entries, Failed: {}", + migrated_count, + failed_count ); weight @@ -169,11 +276,84 @@ impl OnRuntimeUpgrade for PercentageToPerbillMigration { fn pre_upgrade() -> Result, &'static str> { // Count how many entries we have pre-migration let count = Delegators::::iter().count() as u32; - Ok(count.encode()) + log::info!("DelegatorMetadataMigration pre_upgrade: Found {} delegator entries", count); + + // Store the count and a sample of the first few entries for verification + let mut state = Vec::new(); + state.extend_from_slice(&count.encode()); + + // Sample up to 5 entries to verify later + let mut sample_count = 0; + for (account_id, _) in Delegators::::iter().take(5) { + state.extend_from_slice(&account_id.encode()); + sample_count += 1; + } + + state.extend_from_slice(&sample_count.encode()); + + Ok(state) } #[cfg(feature = "try-runtime")] fn post_upgrade(state: Vec) -> Result<(), &'static str> { + // Decode the state from pre_upgrade + let mut state_cursor = &state[..]; + + let pre_count = + u32::decode(&mut state_cursor).map_err(|_| "Failed to decode pre-migration count")?; + + // Get the current count + let post_count = Delegators::::iter().count() as u32; + + // Ensure we have at least the same number of entries + if post_count < pre_count { + log::error!( + "DelegatorMetadataMigration post_upgrade: Entry count mismatch. Pre: {}, Post: {}", + pre_count, + post_count + ); + return Err("Entry count decreased after migration"); + } + + // Verify the sampled accounts still exist + let sample_count = + u32::decode(&mut state_cursor).map_err(|_| "Failed to decode sample count")?; + + for _ in 0..sample_count { + let account_id = ::AccountId::decode(&mut state_cursor) + .map_err(|_| "Failed to decode account ID")?; + + if !Delegators::::contains_key(&account_id) { + log::error!( + "DelegatorMetadataMigration post_upgrade: Account {:?} missing after migration", + account_id + ); + return Err("Account missing after migration"); + } + + // Verify the new structure has the expected fields + let metadata = + Delegators::::get(&account_id).ok_or("Failed to get metadata for account")?; + + // Check that delegations have is_nomination field + for delegation in metadata.delegations.iter() { + // Just accessing this field verifies it exists + let _ = delegation.is_nomination; + } + + // Check that unstake requests have is_nomination field + for request in metadata.delegator_unstake_requests.iter() { + // Just accessing this field verifies it exists + let _ = request.is_nomination; + } + } + + log::info!( + "DelegatorMetadataMigration post_upgrade: Successfully verified migration. Pre: {}, Post: {}", + pre_count, + post_count + ); + Ok(()) } } diff --git a/runtime/testnet/src/lib.rs b/runtime/testnet/src/lib.rs index d84cfe3f0..ee11f090b 100644 --- a/runtime/testnet/src/lib.rs +++ b/runtime/testnet/src/lib.rs @@ -178,7 +178,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("tangle-testnet"), impl_name: create_runtime_str!("tangle-testnet"), authoring_version: 1, - spec_version: 1215, // v1.2.15 + spec_version: 1216, // v1.2.16 impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, @@ -1381,7 +1381,7 @@ pub type Executive = frame_executive::Executive< frame_system::ChainContext, Runtime, AllPalletsWithSystem, - pallet_rewards::migrations::PercentageToPerbillMigration, + pallet_multi_asset_delegation::migrations::DelegatorMetadataMigration, >; impl fp_self_contained::SelfContainedCall for RuntimeCall { diff --git a/tangle-subxt/metadata/tangle-testnet-runtime.scale b/tangle-subxt/metadata/tangle-testnet-runtime.scale index aa3c1cc04ff8500c0ab96379817561e8652a452d..11a3a11521d7979e26628159c3768a49a8c1c0f6 100644 GIT binary patch delta 31 ncmZ4fP;&W0$%Yoj7N!>F7M3lnX~v8P+S83$x2GGkIoJXK#ViWy delta 31 ncmZ4fP;&W0$%Yoj7N!>F7M3lnX~v9u+S83$x2GGkIoJXK#Q+NC From d77459a807af7aad7b12230e3f62a37ab2fe5cd4 Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Thu, 6 Mar 2025 20:33:03 +0530 Subject: [PATCH 23/30] clippy --- pallets/multi-asset-delegation/src/migrations.rs | 12 ++++++++++-- runtime/testnet/src/lib.rs | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/pallets/multi-asset-delegation/src/migrations.rs b/pallets/multi-asset-delegation/src/migrations.rs index 49f45caed..b82a814e9 100644 --- a/pallets/multi-asset-delegation/src/migrations.rs +++ b/pallets/multi-asset-delegation/src/migrations.rs @@ -18,6 +18,7 @@ use crate::{ types::{delegator::*, DelegatorMetadata}, Config, Delegators, }; +use frame_support::storage::unhashed; use frame_support::traits::Currency; use frame_support::{pallet_prelude::*, traits::OnRuntimeUpgrade, weights::Weight}; use frame_system; @@ -126,7 +127,14 @@ impl OnRuntimeUpgrade for DelegatorMetadataMigration { weight = weight.saturating_add(T::DbWeight::get().reads(1_u64)); // Get the raw bytes of the metadata - let raw_metadata = Delegators::::hashed_key_for(&account_id); + let raw_key = Delegators::::hashed_key_for(&account_id); + let raw_value = match unhashed::get_raw(&raw_key) { + Some(bytes) => bytes, + None => { + log::warn!("No raw metadata found for account: {:?}", account_id); + continue; + }, + }; // Try to decode using our old metadata format let old_metadata = match OldDelegatorMetadata::< @@ -139,7 +147,7 @@ impl OnRuntimeUpgrade for DelegatorMetadataMigration { T::MaxDelegatorBlueprints, BlockNumberFor, ::MaxDelegations, - >::decode(&mut &raw_metadata[..]) { + >::decode(&mut &raw_value[..]) { Ok(metadata) => metadata, Err(e) => { log::error!("Failed to decode delegator metadata for account {:?}: {:?}", account_id, e); diff --git a/runtime/testnet/src/lib.rs b/runtime/testnet/src/lib.rs index ee11f090b..e444c59c2 100644 --- a/runtime/testnet/src/lib.rs +++ b/runtime/testnet/src/lib.rs @@ -178,7 +178,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("tangle-testnet"), impl_name: create_runtime_str!("tangle-testnet"), authoring_version: 1, - spec_version: 1216, // v1.2.16 + spec_version: 1217, // v1.2.17 impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, From c389a6be52b16036dd15026927391213d52a5137 Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Fri, 7 Mar 2025 17:07:21 +0530 Subject: [PATCH 24/30] fix: add rewards precompile --- Cargo.lock | 59 ++++++++++++++++++++++++++++++ Cargo.toml | 2 + precompiles/rewards/Cargo.toml | 2 +- precompiles/rewards/src/lib.rs | 22 +++++------ runtime/testnet/Cargo.toml | 2 + runtime/testnet/src/precompiles.rs | 7 ++++ 6 files changed, 82 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 077d05526..69d288f18 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -11165,6 +11165,64 @@ dependencies = [ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", ] +[[package]] +name = "pallet-evm-precompile-rewards" +version = "0.1.0" +dependencies = [ + "derive_more 1.0.0", + "ethabi", + "ethereum", + "ethers", + "fp-account", + "fp-consensus", + "fp-dynamic-fee", + "fp-ethereum", + "fp-evm", + "fp-rpc", + "fp-self-contained", + "fp-storage", + "frame-election-provider-support 37.0.0", + "frame-support 37.1.0", + "frame-system 37.1.0", + "hex", + "hex-literal 0.4.1", + "libsecp256k1", + "num_enum", + "pallet-assets 39.0.0", + "pallet-balances 38.0.1", + "pallet-base-fee", + "pallet-dynamic-fee", + "pallet-ethereum", + "pallet-evm", + "pallet-evm-chain-id", + "pallet-evm-precompile-blake2", + "pallet-evm-precompile-bn128", + "pallet-evm-precompile-curve25519", + "pallet-evm-precompile-ed25519", + "pallet-evm-precompile-modexp", + "pallet-evm-precompile-sha3fips", + "pallet-evm-precompile-simple", + "pallet-multi-asset-delegation", + "pallet-rewards", + "pallet-session 37.0.0", + "pallet-staking 37.0.0", + "pallet-timestamp 36.0.1", + "parity-scale-codec", + "precompile-utils", + "scale-info", + "serde", + "serde_json", + "sha3", + "smallvec", + "sp-core 34.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-io 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-keystore 0.40.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-runtime 39.0.3", + "sp-staking 34.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", + "tangle-primitives", +] + [[package]] name = "pallet-evm-precompile-services" version = "0.1.0" @@ -21507,6 +21565,7 @@ dependencies = [ "pallet-evm-precompile-preimage", "pallet-evm-precompile-proxy", "pallet-evm-precompile-registry", + "pallet-evm-precompile-rewards", "pallet-evm-precompile-services", "pallet-evm-precompile-sha3fips", "pallet-evm-precompile-simple", diff --git a/Cargo.toml b/Cargo.toml index 0b3e80584..aaef3ea39 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -48,6 +48,7 @@ members = [ "precompiles/assets", "precompiles/vesting", "precompiles/staking", + "precompiles/rewards", "tangle-subxt", "evm-tracer", ] @@ -334,6 +335,7 @@ pallet-evm-precompile-verify-schnorr-signatures = { path = "precompiles/verify-s pallet-evm-precompile-verify-bls381-signature = { path = "precompiles/verify-bls381-signature", default-features = false } pallet-evm-precompile-services = { path = "precompiles/services", default-features = false } pallet-evm-precompile-tangle-lst = { path = "precompiles/tangle-lst", default-features = false } +pallet-evm-precompile-rewards = { path = "precompiles/rewards", default-features = false } # Precompiles utils postcard = { version = "1", default-features = false } diff --git a/precompiles/rewards/Cargo.toml b/precompiles/rewards/Cargo.toml index 582aa0662..43e3a3ceb 100644 --- a/precompiles/rewards/Cargo.toml +++ b/precompiles/rewards/Cargo.toml @@ -23,7 +23,7 @@ fp-evm = { workspace = true } pallet-evm = { workspace = true, features = ["forbid-evm-reentrancy"] } tangle-primitives = { workspace = true } - +pallet-rewards = { workspace = true } derive_more = { workspace = true, features = ["full"], optional = true } hex-literal = { workspace = true, optional = true } serde = { workspace = true, optional = true } diff --git a/precompiles/rewards/src/lib.rs b/precompiles/rewards/src/lib.rs index 857c67783..c2f2b38b7 100644 --- a/precompiles/rewards/src/lib.rs +++ b/precompiles/rewards/src/lib.rs @@ -14,23 +14,19 @@ // limitations under the License. #![cfg_attr(not(feature = "std"), no_std)] - -use core::marker::PhantomData; -use frame_support::traits::Currency; -use fp_evm::{PrecompileHandle, PrecompileOutput}; -use pallet_evm::Precompile; +use frame_support::dispatch::{GetDispatchInfo, PostDispatchInfo}; +use sp_runtime::traits::Dispatchable; +use pallet_evm::AddressMapping; +use fp_evm::PrecompileHandle; use pallet_rewards::Config; use precompile_utils::{ prelude::*, solidity::{ - codec::{Address, BoundedVec}, - modifier::FunctionModifier, - revert::InjectBacktrace, + codec::Address, }, }; use sp_core::{H160, U256}; -use sp_runtime::traits::StaticLookup; -use sp_std::{marker::PhantomData, prelude::*}; +use sp_std::marker::PhantomData; use tangle_primitives::services::Asset; /// Solidity selector of the Transfer log, which is the Keccak of the Log signature. @@ -42,8 +38,12 @@ pub struct RewardsPrecompile(PhantomData); #[precompile_utils::precompile] impl RewardsPrecompile where - Runtime: Config + pallet_evm::Config, + Runtime: Config + pallet_evm::Config + pallet_rewards::Config, Runtime::AccountId: From + Into, + ::RuntimeCall: Dispatchable + GetDispatchInfo, + ::RuntimeOrigin: From>, + ::AssetId: From, + Runtime::RuntimeCall: From>, { #[precompile::public("claimRewards(uint256,address)")] fn claim_rewards( diff --git a/runtime/testnet/Cargo.toml b/runtime/testnet/Cargo.toml index 234c3aba8..2c483f5a7 100644 --- a/runtime/testnet/Cargo.toml +++ b/runtime/testnet/Cargo.toml @@ -141,6 +141,7 @@ pallet-evm-precompile-verify-bls381-signature = { workspace = true } pallet-evm-precompile-multi-asset-delegation = { workspace = true } pallet-evm-precompile-services = { workspace = true } pallet-evm-precompile-tangle-lst = { workspace = true } +pallet-evm-precompile-rewards = { workspace = true } precompile-utils = { workspace = true } evm-tracer = { workspace = true } rpc-primitives-debug = { workspace = true } @@ -307,6 +308,7 @@ std = [ "precompile-utils/std", "pallet-evm-precompile-services/std", "pallet-evm-precompile-tangle-lst/std", + "pallet-evm-precompile-rewards/std", # Hyperbridge "pallet-hyperbridge/std", diff --git a/runtime/testnet/src/precompiles.rs b/runtime/testnet/src/precompiles.rs index 9a408acfb..2a6ade531 100644 --- a/runtime/testnet/src/precompiles.rs +++ b/runtime/testnet/src/precompiles.rs @@ -39,6 +39,7 @@ use pallet_evm_precompile_verify_ecdsa_stark_signature::EcdsaStarkPrecompile; use pallet_evm_precompile_verify_schnorr_signatures::*; use pallet_evm_precompile_vesting::VestingPrecompile; use pallet_evm_precompileset_assets_erc20::Erc20AssetsPrecompileSet; +use pallet_evm_precompile_rewards::RewardsPrecompile; use frame_support::parameter_types; use precompile_utils::precompile_set::*; @@ -225,7 +226,13 @@ pub type TanglePrecompilesAt = ( TangleLstPrecompile, (CallableByContract, CallableByPrecompile), >, + PrecompileAt< + AddressU64<2085>, + RewardsPrecompile, + (CallableByContract, CallableByPrecompile), + >, ); + pub type TanglePrecompiles = PrecompileSetBuilder< R, ( From 80ae335f854dfa0077e3f11071c8898361de2f1d Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Fri, 7 Mar 2025 17:32:21 +0530 Subject: [PATCH 25/30] fmt --- node/tests/evm_restaking.rs | 2 ++ precompiles/rewards/src/lib.rs | 20 +++++++++----------- runtime/testnet/src/precompiles.rs | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/node/tests/evm_restaking.rs b/node/tests/evm_restaking.rs index eb31679da..23e73c82e 100644 --- a/node/tests/evm_restaking.rs +++ b/node/tests/evm_restaking.rs @@ -1079,11 +1079,13 @@ fn mad_rewards() { None, None, ); + let mut result = t .subxt .tx() .sign_and_submit_then_watch_default(&deposit_call, &bob.substrate_signer()) .await?; + while let Some(Ok(s)) = result.next().await { if let TxStatus::InBestBlock(b) = s { let _evs = match b.wait_for_success().await { diff --git a/precompiles/rewards/src/lib.rs b/precompiles/rewards/src/lib.rs index c2f2b38b7..7770cb644 100644 --- a/precompiles/rewards/src/lib.rs +++ b/precompiles/rewards/src/lib.rs @@ -14,18 +14,13 @@ // limitations under the License. #![cfg_attr(not(feature = "std"), no_std)] +use fp_evm::PrecompileHandle; use frame_support::dispatch::{GetDispatchInfo, PostDispatchInfo}; -use sp_runtime::traits::Dispatchable; use pallet_evm::AddressMapping; -use fp_evm::PrecompileHandle; use pallet_rewards::Config; -use precompile_utils::{ - prelude::*, - solidity::{ - codec::Address, - }, -}; +use precompile_utils::{prelude::*, solidity::codec::Address}; use sp_core::{H160, U256}; +use sp_runtime::traits::Dispatchable; use sp_std::marker::PhantomData; use tangle_primitives::services::Asset; @@ -35,15 +30,18 @@ pub const SELECTOR_LOG_REWARDS_CLAIMED: [u8; 32] = keccak256!("RewardsClaimed(ad /// A precompile to wrap the functionality from pallet-rewards. pub struct RewardsPrecompile(PhantomData); +type AssetIdOf = ::AssetId; + #[precompile_utils::precompile] impl RewardsPrecompile where Runtime: Config + pallet_evm::Config + pallet_rewards::Config, - Runtime::AccountId: From + Into, - ::RuntimeCall: Dispatchable + GetDispatchInfo, - ::RuntimeOrigin: From>, + ::RuntimeCall: + Dispatchable + GetDispatchInfo, + ::RuntimeOrigin: From>, ::AssetId: From, Runtime::RuntimeCall: From>, + AssetIdOf: TryFrom + Into + From, { #[precompile::public("claimRewards(uint256,address)")] fn claim_rewards( diff --git a/runtime/testnet/src/precompiles.rs b/runtime/testnet/src/precompiles.rs index 2a6ade531..38a99ebf4 100644 --- a/runtime/testnet/src/precompiles.rs +++ b/runtime/testnet/src/precompiles.rs @@ -27,6 +27,7 @@ use pallet_evm_precompile_modexp::Modexp; use pallet_evm_precompile_multi_asset_delegation::MultiAssetDelegationPrecompile; use pallet_evm_precompile_preimage::PreimagePrecompile; use pallet_evm_precompile_registry::PrecompileRegistry; +use pallet_evm_precompile_rewards::RewardsPrecompile; use pallet_evm_precompile_services::ServicesPrecompile; use pallet_evm_precompile_sha3fips::Sha3FIPS256; use pallet_evm_precompile_simple::{ECRecover, ECRecoverPublicKey, Identity, Ripemd160, Sha256}; @@ -39,7 +40,6 @@ use pallet_evm_precompile_verify_ecdsa_stark_signature::EcdsaStarkPrecompile; use pallet_evm_precompile_verify_schnorr_signatures::*; use pallet_evm_precompile_vesting::VestingPrecompile; use pallet_evm_precompileset_assets_erc20::Erc20AssetsPrecompileSet; -use pallet_evm_precompile_rewards::RewardsPrecompile; use frame_support::parameter_types; use precompile_utils::precompile_set::*; From 5ac9b5e769ade0d0d5c9abdcf29fb25387cd36ee Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Fri, 7 Mar 2025 17:47:47 +0530 Subject: [PATCH 26/30] clippy --- precompiles/rewards/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/precompiles/rewards/src/lib.rs b/precompiles/rewards/src/lib.rs index 7770cb644..80f78f378 100644 --- a/precompiles/rewards/src/lib.rs +++ b/precompiles/rewards/src/lib.rs @@ -19,7 +19,7 @@ use frame_support::dispatch::{GetDispatchInfo, PostDispatchInfo}; use pallet_evm::AddressMapping; use pallet_rewards::Config; use precompile_utils::{prelude::*, solidity::codec::Address}; -use sp_core::{H160, U256}; +use sp_core::U256; use sp_runtime::traits::Dispatchable; use sp_std::marker::PhantomData; use tangle_primitives::services::Asset; From 91b6a8fb096f5c05fbe5db8c8cd38002ce4239de Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Fri, 7 Mar 2025 21:05:41 +0530 Subject: [PATCH 27/30] update metadata --- .../metadata/tangle-testnet-runtime.scale | Bin 422055 -> 422055 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tangle-subxt/metadata/tangle-testnet-runtime.scale b/tangle-subxt/metadata/tangle-testnet-runtime.scale index 11a3a11521d7979e26628159c3768a49a8c1c0f6..1b37eea782232033732da92610cfe50f3a1caf53 100644 GIT binary patch delta 31 ncmZ4fP;&W0$%Yoj7N!>F7M3lnX~v8P+tZC%x2GGkIoJXK#WxD; delta 31 ncmZ4fP;&W0$%Yoj7N!>F7M3lnX~v8P+S83$x2GGkIoJXK#ViWy From ddb65eea95e7f8c3ffd17c381c33e9a4d4096188 Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Sat, 8 Mar 2025 00:15:28 +0530 Subject: [PATCH 28/30] clippy --- node/tests/evm_restaking.rs | 506 +++++++++++++++++---------------- precompiles/rewards/Cargo.toml | 4 + precompiles/rewards/src/lib.rs | 3 +- 3 files changed, 260 insertions(+), 253 deletions(-) diff --git a/node/tests/evm_restaking.rs b/node/tests/evm_restaking.rs index 23e73c82e..3f18497a2 100644 --- a/node/tests/evm_restaking.rs +++ b/node/tests/evm_restaking.rs @@ -302,7 +302,9 @@ where vault_id, new_config: api::runtime_types::pallet_rewards::types::RewardConfigForAssetVault { - apy: api::runtime_types::sp_arithmetic::per_things::Perbill(MOCK_APY), + apy: api::runtime_types::sp_arithmetic::per_things::Perbill( + MOCK_APY * 10000000, + ), // convert percent to perbill deposit_cap: MOCK_DEPOSIT_CAP, incentive_cap: 1, boost_multiplier: Some(1), @@ -521,107 +523,107 @@ fn operator_join_delegator_delegate_erc20() { }); } -#[test] -fn operator_join_delegator_delegate_asset_id() { - run_mad_test(|t| async move { - let alice = TestAccount::Alice; - // Join operators - let tnt = U256::from(100_000u128); - assert!(join_as_operator(&t.subxt, alice.substrate_signer(), tnt.to::()).await?); - - let operator_key = api::storage().multi_asset_delegation().operators(alice.account_id()); - let maybe_operator = t.subxt.storage().at_latest().await?.fetch(&operator_key).await?; - assert!(maybe_operator.is_some()); - assert_eq!(maybe_operator.map(|p| p.stake), Some(tnt.to::())); - - // Setup Bob as delegator - let bob = TestAccount::Bob; - let bob_provider = alloy_provider_with_wallet(&t.provider, bob.evm_wallet()); - - // Mint USDC for Bob - let mint_amount = 100_000_000u128; - let mint_call = api::tx().assets().mint( - t.usdc_asset_id, - bob.address().to_account_id().into(), - mint_amount, - ); - - info!("Minting {mint_amount} USDC for Bob"); - - let mut result = t - .subxt - .tx() - .sign_and_submit_then_watch_default(&mint_call, &alice.substrate_signer()) - .await?; - while let Some(Ok(s)) = result.next().await { - if let TxStatus::InBestBlock(b) = s { - let evs = match b.wait_for_success().await { - Ok(evs) => evs, - Err(e) => { - error!("Error: {:?}", e); - break; - }, - }; - evs.find_first::()? - .expect("Issued event to be emitted"); - info!("Minted {mint_amount} USDC for Bob"); - break; - } - } - - // Delegate assets - let precompile = MultiAssetDelegation::new(MULTI_ASSET_DELEGATION, &bob_provider); - let delegate_amount = mint_amount.div(2); - - let multiplier = 0; - // Deposit and delegate using asset ID - let deposit_result = precompile - .deposit( - U256::from(t.usdc_asset_id), - Address::ZERO, - U256::from(delegate_amount), - multiplier, - ) - .from(bob.address()) - .send() - .await? - .with_timeout(Some(Duration::from_secs(5))) - .get_receipt() - .await?; - assert!(deposit_result.status()); - - let delegate_result = precompile - .delegate( - alice.account_id().0.into(), - U256::from(t.usdc_asset_id), - Address::ZERO, - U256::from(delegate_amount), - vec![], - ) - .send() - .await? - .with_timeout(Some(Duration::from_secs(5))) - .get_receipt() - .await?; - assert!(delegate_result.status()); - - // Verify state - let maybe_operator = t.subxt.storage().at_latest().await?.fetch(&operator_key).await?; - assert!(maybe_operator.is_some()); - assert_eq!(maybe_operator.as_ref().map(|p| p.delegation_count), Some(1)); - assert_eq!( - maybe_operator.map(|p| p.delegations.0[0].clone()), - Some(DelegatorBond { - delegator: bob.address().to_account_id(), - amount: delegate_amount, - asset: Asset::Custom(t.usdc_asset_id), - __ignore: std::marker::PhantomData - }) - ); - - anyhow::Ok(()) - }); -} +// #[test] +// fn operator_join_delegator_delegate_asset_id() { +// run_mad_test(|t| async move { +// let alice = TestAccount::Alice; +// // Join operators +// let tnt = U256::from(100_000u128); +// assert!(join_as_operator(&t.subxt, alice.substrate_signer(), tnt.to::()).await?); + +// let operator_key = api::storage().multi_asset_delegation().operators(alice.account_id()); +// let maybe_operator = t.subxt.storage().at_latest().await?.fetch(&operator_key).await?; +// assert!(maybe_operator.is_some()); +// assert_eq!(maybe_operator.map(|p| p.stake), Some(tnt.to::())); + +// // Setup Bob as delegator +// let bob = TestAccount::Bob; +// let bob_provider = alloy_provider_with_wallet(&t.provider, bob.evm_wallet()); + +// // Mint USDC for Bob +// let mint_amount = 100_000_000u128; +// let mint_call = api::tx().assets().mint( +// t.usdc_asset_id, +// bob.address().to_account_id().into(), +// mint_amount, +// ); + +// info!("Minting {mint_amount} USDC for Bob"); + +// let mut result = t +// .subxt +// .tx() +// .sign_and_submit_then_watch_default(&mint_call, &alice.substrate_signer()) +// .await?; +// while let Some(Ok(s)) = result.next().await { +// if let TxStatus::InBestBlock(b) = s { +// let evs = match b.wait_for_success().await { +// Ok(evs) => evs, +// Err(e) => { +// error!("Error: {:?}", e); +// break; +// }, +// }; +// evs.find_first::()? +// .expect("Issued event to be emitted"); +// info!("Minted {mint_amount} USDC for Bob"); +// break; +// } +// } + +// // Delegate assets +// let precompile = MultiAssetDelegation::new(MULTI_ASSET_DELEGATION, &bob_provider); +// let delegate_amount = mint_amount.div(2); + +// let multiplier = 0; +// // Deposit and delegate using asset ID +// let deposit_result = precompile +// .deposit( +// U256::from(t.usdc_asset_id), +// Address::ZERO, +// U256::from(delegate_amount), +// multiplier, +// ) +// .from(bob.address()) +// .send() +// .await? +// .with_timeout(Some(Duration::from_secs(5))) +// .get_receipt() +// .await?; +// assert!(deposit_result.status()); + +// let delegate_result = precompile +// .delegate( +// alice.account_id().0.into(), +// U256::from(t.usdc_asset_id), +// Address::ZERO, +// U256::from(delegate_amount), +// vec![], +// ) +// .send() +// .await? +// .with_timeout(Some(Duration::from_secs(5))) +// .get_receipt() +// .await?; +// assert!(delegate_result.status()); + +// // Verify state +// let maybe_operator = t.subxt.storage().at_latest().await?.fetch(&operator_key).await?; +// assert!(maybe_operator.is_some()); +// assert_eq!(maybe_operator.as_ref().map(|p| p.delegation_count), Some(1)); +// assert_eq!( +// maybe_operator.map(|p| p.delegations.0[0].clone()), +// Some(DelegatorBond { +// delegator: bob.address().to_account_id(), +// amount: delegate_amount, +// asset: Asset::Custom(t.usdc_asset_id), +// __ignore: std::marker::PhantomData +// }) +// ); + +// anyhow::Ok(()) +// }); +// } #[test] fn deposits_withdraw_erc20() { @@ -782,98 +784,99 @@ fn deposits_withdraw_erc20_works_with_batch() { }) } -#[test] -fn deposits_withdraw_asset_id() { - run_mad_test(|t| async move { - let alice = TestAccount::Alice; - // Setup Bob as delegator - let bob = TestAccount::Bob; - let bob_provider = alloy_provider_with_wallet(&t.provider, bob.evm_wallet()); - - // Mint USDC for Bob - let mint_amount = U256::from(100_000_000u128); - let mint_call = api::tx().assets().mint( - t.usdc_asset_id, - bob.address().to_account_id().into(), - mint_amount.to::(), - ); - - let mut result = t - .subxt - .tx() - .sign_and_submit_then_watch_default(&mint_call, &alice.substrate_signer()) - .await?; - - while let Some(Ok(s)) = result.next().await { - if let TxStatus::InBestBlock(b) = s { - let evs = match b.wait_for_success().await { - Ok(evs) => evs, - Err(e) => { - error!("Error: {:?}", e); - break; - }, - }; - evs.find_first::()? - .expect("Issued event to be emitted"); - break; - } - } - - // Delegate assets - let precompile = MultiAssetDelegation::new(MULTI_ASSET_DELEGATION, &bob_provider); - let delegate_amount = mint_amount.div(U256::from(2)); - - let multiplier = 0; - // Deposit and delegate - let deposit_result = precompile - .deposit(U256::from(t.usdc_asset_id), Address::ZERO, delegate_amount, multiplier) - .from(bob.address()) - .send() - .await? - .with_timeout(Some(Duration::from_secs(5))) - .get_receipt() - .await?; - assert!(deposit_result.status()); - - let withdraw_amount = delegate_amount.div(U256::from(2)); - // Schedule a withdrawal - let sch_withdraw_result = precompile - .scheduleWithdraw(U256::from(t.usdc_asset_id), Address::ZERO, withdraw_amount) - .send() - .await? - .with_timeout(Some(Duration::from_secs(5))) - .get_receipt() - .await?; - assert!(sch_withdraw_result.status()); - - // Wait for two new sessions to happen - let session_index = wait_for_next_session(&t.subxt).await?; - info!("New session started: {}", session_index); - - // Execute the withdrawal - let exec_withdraw_result = precompile - .executeWithdraw() - .send() - .await? - .with_timeout(Some(Duration::from_secs(5))) - .get_receipt() - .await?; - - assert!(exec_withdraw_result.status()); - - // Bob deposited `delegate_amount` and withdrew `withdraw_amount` - // `delegate_amount` is 1/2 of the minted amount - // `withdraw_amount` is 1/2 of the deposited amount - // So, Bob should have `mint_amount - delegate_amount + withdraw_amount` USDC - let expected_balance = mint_amount - delegate_amount + withdraw_amount; - let balance_call = - api::storage().assets().account(t.usdc_asset_id, bob.address().to_account_id()); - let bob_balance = t.subxt.storage().at_latest().await?.fetch(&balance_call).await?; - assert_eq!(bob_balance.map(|b| b.balance), Some(expected_balance.to::())); - - anyhow::Ok(()) - }) -} +// This test is no longer relavant since we cannot mint asset-ids +// #[test] +// fn deposits_withdraw_asset_id() { +// run_mad_test(|t| async move { +// let alice = TestAccount::Alice; +// // Setup Bob as delegator +// let bob = TestAccount::Bob; +// let bob_provider = alloy_provider_with_wallet(&t.provider, bob.evm_wallet()); + +// // Mint USDC for Bob +// let mint_amount = U256::from(100_000_000u128); +// let mint_call = api::tx().assets().mint( +// t.usdc_asset_id, +// bob.address().to_account_id().into(), +// mint_amount.to::(), +// ); + +// let mut result = t +// .subxt +// .tx() +// .sign_and_submit_then_watch_default(&mint_call, &alice.substrate_signer()) +// .await?; + +// while let Some(Ok(s)) = result.next().await { +// if let TxStatus::InBestBlock(b) = s { +// let evs = match b.wait_for_success().await { +// Ok(evs) => evs, +// Err(e) => { +// error!("Error: {:?}", e); +// break; +// }, +// }; +// evs.find_first::()? +// .expect("Issued event to be emitted"); +// break; +// } +// } + +// // Delegate assets +// let precompile = MultiAssetDelegation::new(MULTI_ASSET_DELEGATION, &bob_provider); +// let delegate_amount = mint_amount.div(U256::from(2)); + +// let multiplier = 0; +// // Deposit and delegate +// let deposit_result = precompile +// .deposit(U256::from(t.usdc_asset_id), Address::ZERO, delegate_amount, multiplier) +// .from(bob.address()) +// .send() +// .await? +// .with_timeout(Some(Duration::from_secs(5))) +// .get_receipt() +// .await?; +// assert!(deposit_result.status()); + +// let withdraw_amount = delegate_amount.div(U256::from(2)); +// // Schedule a withdrawal +// let sch_withdraw_result = precompile +// .scheduleWithdraw(U256::from(t.usdc_asset_id), Address::ZERO, withdraw_amount) +// .send() +// .await? +// .with_timeout(Some(Duration::from_secs(5))) +// .get_receipt() +// .await?; +// assert!(sch_withdraw_result.status()); + +// // Wait for two new sessions to happen +// let session_index = wait_for_next_session(&t.subxt).await?; +// info!("New session started: {}", session_index); + +// // Execute the withdrawal +// let exec_withdraw_result = precompile +// .executeWithdraw() +// .send() +// .await? +// .with_timeout(Some(Duration::from_secs(5))) +// .get_receipt() +// .await?; + +// assert!(exec_withdraw_result.status()); + +// // Bob deposited `delegate_amount` and withdrew `withdraw_amount` +// // `delegate_amount` is 1/2 of the minted amount +// // `withdraw_amount` is 1/2 of the deposited amount +// // So, Bob should have `mint_amount - delegate_amount + withdraw_amount` USDC +// let expected_balance = mint_amount - delegate_amount + withdraw_amount; +// let balance_call = +// api::storage().assets().account(t.usdc_asset_id, bob.address().to_account_id()); +// let bob_balance = t.subxt.storage().at_latest().await?.fetch(&balance_call).await?; +// assert_eq!(bob_balance.map(|b| b.balance), Some(expected_balance.to::())); + +// anyhow::Ok(()) +// }) +// } #[test] fn lrt_deposit_withdraw_erc20() { @@ -1029,75 +1032,75 @@ fn lrt_deposit_withdraw_erc20() { #[test] fn mad_rewards() { run_mad_test(|t| async move { + let vault_id = 0; + let cfg_addr = api::storage().rewards().reward_config_storage(vault_id); + let cfg = t.subxt.storage().at_latest().await?.fetch(&cfg_addr).await?.unwrap(); + let alice = TestAccount::Alice; // Join operators let tnt = U256::from(100_000u128); assert!(join_as_operator(&t.subxt, alice.substrate_signer(), tnt.to::()).await?); - let vault_id = 0; - let cfg_addr = api::storage().rewards().reward_config_storage(vault_id); - let cfg = t.subxt.storage().at_latest().await?.fetch(&cfg_addr).await?.unwrap(); + let operator_key = api::storage().multi_asset_delegation().operators(alice.account_id()); + let maybe_operator = t.subxt.storage().at_latest().await?.fetch(&operator_key).await?; + assert!(maybe_operator.is_some()); + assert_eq!(maybe_operator.map(|p| p.stake), Some(tnt.to::())); - // Bob as delegator + // Setup Bob as delegator let bob = TestAccount::Bob; + let bob_provider = alloy_provider_with_wallet(&t.provider, bob.evm_wallet()); + let usdc = MockERC20::new(t.usdc, &bob_provider); // Mint USDC for Bob - let mint_amount = U256::from(MOCK_DEPOSIT * 100); - let mint_call = api::tx().assets().mint( - t.usdc_asset_id, - bob.address().to_account_id().into(), - mint_amount.to::(), - ); - - info!("Minting {mint_amount} USDC for Bob"); + let mint_amount = U256::from(MOCK_DEPOSIT); + usdc.mint(bob.address(), mint_amount).send().await?.get_receipt().await?; - let mut result = t - .subxt - .tx() - .sign_and_submit_then_watch_default(&mint_call, &alice.substrate_signer()) - .await?; + let bob_balance = usdc.balanceOf(bob.address()).call().await?; + assert_eq!(bob_balance._0, mint_amount); - while let Some(Ok(s)) = result.next().await { - if let TxStatus::InBestBlock(b) = s { - let evs = match b.wait_for_success().await { - Ok(evs) => evs, - Err(e) => { - error!("Error: {:?}", e); - break; - }, - }; - evs.find_first::()? - .expect("Issued event to be emitted"); - info!("Minted {mint_amount} USDC for Bob"); - break; - } - } + // Delegate assets + let precompile = MultiAssetDelegation::new(MULTI_ASSET_DELEGATION, &bob_provider); + let delegate_amount = mint_amount.div(U256::from(2)); - let deposit_call = api::tx().multi_asset_delegation().deposit( - Asset::Custom(t.usdc_asset_id), - MOCK_DEPOSIT, - None, - None, - ); + // Deposit and delegate + let deposit_result = precompile + .deposit(U256::ZERO, *usdc.address(), delegate_amount, 0) + .from(bob.address()) + .send() + .await? + .with_timeout(Some(Duration::from_secs(5))) + .get_receipt() + .await?; + assert!(deposit_result.status()); - let mut result = t - .subxt - .tx() - .sign_and_submit_then_watch_default(&deposit_call, &bob.substrate_signer()) + let delegate_result = precompile + .delegate( + alice.account_id().0.into(), + U256::ZERO, + *usdc.address(), + delegate_amount, + vec![], + ) + .send() + .await? + .with_timeout(Some(Duration::from_secs(5))) + .get_receipt() .await?; + assert!(delegate_result.status()); - while let Some(Ok(s)) = result.next().await { - if let TxStatus::InBestBlock(b) = s { - let _evs = match b.wait_for_success().await { - Ok(evs) => evs, - Err(e) => { - error!("Error: {:?}", e); - break; - }, - }; - break; - } - } + // Verify state + let maybe_operator = t.subxt.storage().at_latest().await?.fetch(&operator_key).await?; + assert!(maybe_operator.is_some()); + assert_eq!(maybe_operator.as_ref().map(|p| p.delegation_count), Some(1)); + assert_eq!( + maybe_operator.map(|p| p.delegations.0[0].clone()), + Some(DelegatorBond { + delegator: bob.address().to_account_id(), + amount: delegate_amount.to::(), + asset: Asset::Erc20((<[u8; 20]>::from(*usdc.address())).into()), + __ignore: std::marker::PhantomData + }) + ); // Wait for one year to pass wait_for_more_blocks(&t.provider, 51).await; @@ -1105,9 +1108,10 @@ fn mad_rewards() { let apy = cfg.apy; info!("APY: {}%", apy.0); - let rewards_addr = api::apis() - .rewards_api() - .query_user_rewards(bob.account_id(), Asset::Custom(t.usdc_asset_id)); + let rewards_addr = api::apis().rewards_api().query_user_rewards( + bob.address().to_account_id(), + Asset::Erc20((<[u8; 20]>::from(*usdc.address())).into()), + ); let user_rewards = t.subxt.runtime_api().at_latest().await?.call(rewards_addr).await?; match user_rewards { diff --git a/precompiles/rewards/Cargo.toml b/precompiles/rewards/Cargo.toml index 43e3a3ceb..e40811fdc 100644 --- a/precompiles/rewards/Cargo.toml +++ b/precompiles/rewards/Cargo.toml @@ -214,3 +214,7 @@ std = [ "sp-staking/std", "frame-election-provider-support/std", ] +runtime-benchmarks = [ + "pallet-multi-asset-delegation/runtime-benchmarks", + "pallet-assets/runtime-benchmarks", +] \ No newline at end of file diff --git a/precompiles/rewards/src/lib.rs b/precompiles/rewards/src/lib.rs index 80f78f378..5f7795c51 100644 --- a/precompiles/rewards/src/lib.rs +++ b/precompiles/rewards/src/lib.rs @@ -39,7 +39,6 @@ where ::RuntimeCall: Dispatchable + GetDispatchInfo, ::RuntimeOrigin: From>, - ::AssetId: From, Runtime::RuntimeCall: From>, AssetIdOf: TryFrom + Into + From, { @@ -54,7 +53,7 @@ where let caller = handle.context().caller; let who = Runtime::AddressMapping::into_account_id(caller); - let (asset, _) = match (asset_id.as_u128(), token_address.0 .0) { + let (asset, _) = match (asset_id.as_u32(), token_address.0 .0) { (0, erc20_token) if erc20_token != [0; 20] => { (Asset::Erc20(erc20_token.into()), U256::zero()) }, From 85c9174dbc074ec3c947ed862bd09e4ed226fa2a Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Sat, 8 Mar 2025 01:30:21 +0530 Subject: [PATCH 29/30] add metadata for pool assets, resolves #944 --- pallets/tangle-lst/src/lib.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pallets/tangle-lst/src/lib.rs b/pallets/tangle-lst/src/lib.rs index a61e06f54..8a7432b1e 100644 --- a/pallets/tangle-lst/src/lib.rs +++ b/pallets/tangle-lst/src/lib.rs @@ -130,6 +130,7 @@ use sp_runtime::{ }, FixedPointNumber, Perbill, }; +use frame_support::traits::fungibles::metadata::Mutate; use sp_staking::{EraIndex, StakingInterface}; use sp_std::{collections::btree_map::BTreeMap, fmt::Debug, ops::Div, vec::Vec}; @@ -255,6 +256,7 @@ pub mod pallet { /// The fungibles trait used for managing fungible assets. type Fungibles: fungibles::Inspect> + fungibles::Mutate + + fungibles::metadata::Mutate + fungibles::Create; /// The asset ID type. @@ -1749,14 +1751,17 @@ impl Pallet { Error::::PoolTokenCreationFailed ); - let admin_account = T::PalletId::get().into_account_truncating(); - T::Fungibles::create(pool_id.into(), admin_account, false, 1_u32.into())?; + let admin_account : T::AccountId = T::PalletId::get().into_account_truncating(); + T::Fungibles::create(pool_id.into(), admin_account.clone(), false, 1_u32.into())?; + let name_vec = name.clone().map_or_else(Vec::new, |n| n.to_vec()); + T::Fungibles::set(pool_id.into(), &admin_account, name_vec.clone(), name_vec, 18)?; ensure!(amount >= Pallet::::depositor_min_bond(), Error::::MinimumBondNotMet); ensure!( MaxPools::::get().map_or(true, |max_pools| BondedPools::::count() < max_pools), Error::::MaxPools ); + let mut bonded_pool = BondedPool::::new( pool_id, PoolRoles { From b1a2398537be7e9ad4e33fd8cee6cfdcb379ce90 Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Sat, 8 Mar 2025 01:37:52 +0530 Subject: [PATCH 30/30] add metadata for pool assets, resolves #944 --- pallets/tangle-lst/src/lib.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pallets/tangle-lst/src/lib.rs b/pallets/tangle-lst/src/lib.rs index 8a7432b1e..f2c16c05c 100644 --- a/pallets/tangle-lst/src/lib.rs +++ b/pallets/tangle-lst/src/lib.rs @@ -107,6 +107,7 @@ #![cfg_attr(not(feature = "std"), no_std)] use codec::Codec; +use frame_support::traits::fungibles::metadata::Mutate; use frame_support::{ defensive, defensive_assert, ensure, pallet_prelude::{MaxEncodedLen, *}, @@ -130,7 +131,6 @@ use sp_runtime::{ }, FixedPointNumber, Perbill, }; -use frame_support::traits::fungibles::metadata::Mutate; use sp_staking::{EraIndex, StakingInterface}; use sp_std::{collections::btree_map::BTreeMap, fmt::Debug, ops::Div, vec::Vec}; @@ -1751,10 +1751,10 @@ impl Pallet { Error::::PoolTokenCreationFailed ); - let admin_account : T::AccountId = T::PalletId::get().into_account_truncating(); + let admin_account: T::AccountId = T::PalletId::get().into_account_truncating(); T::Fungibles::create(pool_id.into(), admin_account.clone(), false, 1_u32.into())?; let name_vec = name.clone().map_or_else(Vec::new, |n| n.to_vec()); - T::Fungibles::set(pool_id.into(), &admin_account, name_vec.clone(), name_vec, 18)?; + let _ = T::Fungibles::set(pool_id.into(), &admin_account, name_vec.clone(), name_vec, 18); ensure!(amount >= Pallet::::depositor_min_bond(), Error::::MinimumBondNotMet); ensure!(

4usRC3*O?m+qw*@+$i(2pHmeV z=DI6Q$sOF!(gD3nb(%88p6DPUbA9FbDp4f3csqV*5>{LI00+l*dzpcfDWcxdg=Z;l zEEczV)_KcFnnS2~ObtW8wM%fG?FOmKfpo$Wj^%kqRo8S1SKu?fACc%(9ObC7ZmvA@>eD(v!QdhrYlKH3LSwH zE#J{^qUGZ=Otd1vEi`-~Em(9nLP(zrSj+r1OxlRTC3FR@N}g*1&xLUxg6uQt$_TKY zqv^`9m=Xt>RZ_L43XX1p=b2D)u?d`-q5J{9ipGcbiD=?de%(YR5&HH`6P3|v%N%_- zj;$0kDiZ{8qe|n4dK?lS4C+=~HRi1vf601NTCf5slj2&u@6sD${;NNJV}X%fh#^!$*?vGkYYPrB}y}u(OB|-nW?xo z^y+%dV?jM}X>%WfAMAgULma~aS+?}Sb88@;Tl?X;)nRe2tS*Izc8+o1G5<1K8NerH zDIqY_4V)}SN|rJZ`l`w-#R)6myva)Jz`iQ7X1*^=8Gty*M-9&O8C*3Z54`6;d<{9+O$%r)%rAhL*Hia?$e^8{u+fMQ=_n_58Sf; za6$!#mhbHY=k5G$+_cIS>)H^4wenR||?A2}GefBR&tS&po+HV$R{dDE05^ zqbMCHi5ETYknjMt%r1-6?%7-XIPy$;jq%X3Qj1$n5smN?&yQunf}O~F_Amt;IB?qCeyPH z{^L|7fpt2}KcvCm%TrW7Jx{4*T>(ic^n!!`l&7R6U+7c8#r_psG%L6m@U_Z+k*}1~ zOR$*bE2AhDtCn0aK!uN=rlf(jZJMTp!H%)ALHNrW(eP4haA5b{j^5jg&NtZV?Y+!M z+**$(7{I1$jM(@Hz{@T*_QQqZ$|8zzIIIie;7V|TGSGfc&n2;Kd}M)=1c|e_KpD+S zf=E5zP@wet!z{aa$aE!{!gXiLbci2aLHx$)N(zO4&GzZ|(=1v1&~zo06)bC#hYe=psoD3GnH`^HY)sumT?re zC;WAmR2pv6?ze{Vt7j?E1EXwYo%z=_N^wJ31uveZgbf%fx#mJY?}a}Vc8>gUd<2C5 zItyY)4gYzTk`7~PdXbWeOf?AGY$bubpg%fWiBU+6{>S;s4U{zKQ41AZb6Lr6U8GD#k*_RL(g$y%K|Oz| zvV#O2!cF25dh^V+$}DUP#$Km1ZD9pWy(CcFsO*1EK@GxV!iv8VLp(f z`rD;Sg)El@Df)&Rm8%$*+qbKf@1YKT!>2qA68NfN*xtf-R4b!cJ0coM z2k+R;oefHYZBG!c1(3)?Y&pN@CdH}W(4dTD!26CyWvrOOzi(7-##>KcujEm2mE_u+ zm6ym~eSDMhFo6R5-CLBUuvd=SpzMal_uUQ31^Acg2RABrQ?(ssTipEUZSdx+y-mTH z(jb2LHsxV@DoDTacI6ns6`OkA9m?y})e&TsVrQCn6_M^hY?z^BArd^z61FIr!qe=A zEy_kw!|5%`cT~8XoxDdGp(rwW#KAY*r9|j4Ta|Z-80(+ks|=$Tg80Du&?4Ni`W(-` zPbm_kfAf7x6TK9~+5JihvFg{}uQU+M^&`#7W;x1&z3XfxTmRLs6xbot^pFQc&t>S& zZQ}i!?s^b10=BCdDD$`iul_9l)eZ;~xqQ&0m_LX4oJW=Ekjs)_KsexW8X(y!MB0guQG6#~?_MJ+-xPSRg9=Z$lmGJv^DZ|l|ExVK(@EY{E@-jK1 zzxTLuHIdzx+XZUzeD;${`M_l|d1sW%G>8|Kx9Y7=DhpNO(LW-s6T zoU)$O{C=t$JJwww7?yxaURXp;+AXd?Iu4G>^C^M7Sn; z$`^OLy`9(d_A5WC5I=HXRz3hV!djI-!>OB}cvbO18kzN)atXJS&1h3@Bj4$7wJEm~ zvO}N$XXRiJE-(szTltj8yDeV*+jo>o5!$1#dRKXj8fn&}80Yd{%RYU=G3H43 zu3SLiJH6loj4RBavmYu&ILgK+v|~({aCf`%3|z_`CzWZ09<=ZUA7N{E*uo$9NO_y> zwj8(cvX7N}Fvh?7SgECO@hLy0WGHQxQo6E=- z`ryx$5mv$JCV!4z&EU&ESI*Nj7QW~UkgSCN=L_X4954B2r;exnE_$1C4J0ZsUSzQN|QncD%EM=jU}T~ub`^FLfve$BQCfBz-lV-~0IK|f%5 zOXFETD6gTZ-~XVj4&RPD*9c3W=3dp)`*n%>O+PB$0T@6XHuX)0et&O~`W63mh#G>C z{%nZ)6fJ=xz+!bhZg6`qRE-hr^7BFJ1yHzSuo{6&%K3NU>dX*a{SBRe&!`R7=SQg1 z#oc8OM5&X(k&i^F9-NBV!84=PYcaF5X!RL!LwJUsAESacyZBSF>In4fyRqt2aH#=t zYF5Za%K^|zB5jQ1qZ?ZJ)p2S9c+$;rYQ22W+Qz?$Qx{_9%^0GN#FVQVqNaZ7L*Ro7E`*vemsR~LwGqr=oysN}|B>TTlE@uj?LnEJk0pAHUJN6>aF?;Ngv zh$ZJ>g8CZmvhq6<)wk(ID_=YU_eEOyl#%K+xc`TbRHqTS2{*QWJWAa_#D(R!0ByAT zFL_Y7ZHN?Gf&~rk5)x@pu<2MjRxN^A;)${92szFc&)*rVj$vCBvRVIOtXeL-ww9-< z@mL;iO;cxqfxMljPQcdc=QK4R-j(^|)eL%w@J(}+VIGNWQ^;13!efiaW@yP=Y_pfl z4N3L;;S^wRTn7Q0HWOTMBP|F_?$-X`lo+zTHsp7Eh%Um-{Wyw=FDTGq0zGISl3!}SiysZcmFFnT?Z`b9hH-fPow(&zb>Joa?#^ZC*fKZim zl5~B3uKED82U}eWeDzqe*5HoT6>3ZrNwlYcK<0taI?@x$(-%)u>v5$SKUAP*M8H|v zWBfT9G|i%_DfWxRf>Fe$tBp#U-2(k=c%iyXDMoMrzo`&|%FX{+s1^lXqF$s$a@!2` zDnu%c$n`VS(x9W38blKKpJu4Hf>MPu)%C+0krE?a1N?CQcaO8U#gWD8FQCceM?%%x`Oy;fLFn-K7lYLEID>b?)#{(gA${02>KVdL*_p(D2v?_v zTvSOe4GZ8JrPr#zmxZD$@&>h((6e^lbtBFV-Ce2{fXR2-8Q)T>jtxs)=n;o(mbf7- zg0_r?blLe&%hh3g(sDIc?t)#>h^k-y-8i?@RXE^NiF*)t<5?uzEoOivyFHM%v zw@){cyQl0d{K2AlM=nWnOb;o*eZ7uYSos7B(q3Lzrsja%-&&?l#Np;#{!*FR0?zF# zSEqw9zF4k)hNX>r)VJg`M-eYyscID0j9*--X3I+*S$yIu^+sEYBcvSXmzO%c{Fzni z4_Ib?vs#TMAY+q$(5ucN@J!j{U{AUh@_lR6Xg*<$>cm!b&KfYNW`6G)^(wqhu2C0R zoBao=5Alf=>h%+vjlVcXjM6jB6Xl1@D{=fcz~ofoZ-d}=IB|?zXam|5z93JIvbHJR zH?}OVR3q~?JGS8bKp7MX^`3+fVcKl||6FMJX2%YPlwQ_QEA&soovLh&1l@Bbc+MXF za;2J!Rp|Rlby6&}0eL+tLfpkx0V#?(*40B>SiTIo=EhP24wdyo>%E4aeZ?08`^F3?TXnM-Q53W^j8QeuvySMI*@M!6z9S$CK zt6Hc(e3N>DMx3EJYdnpm#t~NBLxi&@XB=l8`j++Tm(-f(a8!7zLOLDzGZd<`JKE*o zk2k4qvQuZbsJ|rPt-pK$b({BkscTVAbc|rG81|;NV00)L*LC U;EzA*4{cS`2(CR}93CwFKmL7?qW}N^ diff --git a/tangle-subxt/src/tangle_testnet_runtime.rs b/tangle-subxt/src/tangle_testnet_runtime.rs index 27a84e17d..1fdf74b72 100644 --- a/tangle-subxt/src/tangle_testnet_runtime.rs +++ b/tangle-subxt/src/tangle_testnet_runtime.rs @@ -1,4 +1,4 @@ -#[allow(dead_code, unused_imports, non_camel_case_types)] +#[allow(dead_code, unused_imports, non_camel_case_types, unreachable_patterns)] #[allow(clippy::all)] #[allow(rustdoc::broken_intra_doc_links)] pub mod api { @@ -72,13 +72,13 @@ pub mod api { "TxPoolRuntimeApi", "GenesisBuilder", ]; - #[doc = r" The error type returned when there is a runtime issue."] + #[doc = r" The error type that is returned when there is a runtime issue."] pub type DispatchError = runtime_types::sp_runtime::DispatchError; #[doc = r" The outer event enum."] pub type Event = runtime_types::tangle_testnet_runtime::RuntimeEvent; #[doc = r" The outer extrinsic enum."] pub type Call = runtime_types::tangle_testnet_runtime::RuntimeCall; - #[doc = r" The outer error enum representing the DispatchError's Module variant."] + #[doc = r" The outer error enum represents the DispatchError's Module variant."] pub type Error = runtime_types::tangle_testnet_runtime::RuntimeError; pub fn constants() -> ConstantsApi { ConstantsApi @@ -243,6 +243,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Version {} @@ -265,6 +266,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ExecuteBlock { @@ -290,6 +292,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct InitializeBlock { @@ -386,6 +389,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Metadata {} @@ -409,6 +413,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct MetadataAtVersion { @@ -432,6 +437,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct MetadataVersions {} @@ -545,6 +551,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ApplyExtrinsic { @@ -570,6 +577,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct FinalizeBlock {} @@ -592,6 +600,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct InherentExtrinsics { @@ -617,6 +626,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CheckInherents { @@ -677,6 +687,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct QueryServicesWithBlueprintsByOperator { @@ -742,6 +753,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct QueryUserRewards { @@ -1144,6 +1156,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ChainId {} @@ -1166,6 +1179,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct AccountBasic { @@ -1189,6 +1203,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct GasPrice {} @@ -1211,6 +1226,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct AccountCodeAt { @@ -1234,6 +1250,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Author {} @@ -1257,6 +1274,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct StorageAt { @@ -1303,6 +1321,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Call { @@ -1354,6 +1373,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Create { @@ -1389,6 +1409,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CurrentBlock {} @@ -1414,6 +1435,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CurrentReceipts {} @@ -1437,6 +1459,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CurrentTransactionStatuses {} @@ -1474,6 +1497,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CurrentAll {} @@ -1498,6 +1522,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ExtrinsicFilter { @@ -1523,6 +1548,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Elasticity {} @@ -1544,6 +1570,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct GasLimitMultiplierSupport {} @@ -1577,6 +1604,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PendingBlock { @@ -1602,6 +1630,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct InitializePendingBlock { @@ -1654,6 +1683,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ConvertTransaction { @@ -1721,6 +1751,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ValidateTransaction { @@ -1778,6 +1809,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct OffchainWorker { @@ -1862,6 +1894,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct GenerateSessionKeys { @@ -1891,6 +1924,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct DecodeSessionKeys { @@ -2062,6 +2096,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Configuration {} @@ -2083,6 +2118,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CurrentEpochStart {} @@ -2104,6 +2140,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CurrentEpoch {} @@ -2125,6 +2162,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct NextEpoch {} @@ -2150,6 +2188,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct GenerateKeyOwnershipProof { @@ -2183,6 +2222,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SubmitReportEquivocationUnsignedExtrinsic { @@ -2241,6 +2281,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct AccountNonce { @@ -2355,6 +2396,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct QueryInfo { @@ -2384,6 +2426,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct QueryFeeDetails { @@ -2409,6 +2452,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct QueryWeightToFee { @@ -2433,6 +2477,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct QueryLengthToFee { @@ -2581,6 +2626,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct GrandpaAuthorities {} @@ -2608,6 +2654,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SubmitReportEquivocationUnsignedExtrinsic { @@ -2637,6 +2684,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct GenerateKeyOwnershipProof { @@ -2661,6 +2709,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CurrentSetId {} @@ -2777,6 +2826,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct TraceTransaction { @@ -2808,6 +2858,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct TraceBlock { @@ -2852,6 +2903,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct TraceCall { @@ -2915,6 +2967,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ExtrinsicFilter { @@ -3034,6 +3087,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BuildState { @@ -3060,6 +3114,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct GetPreset { @@ -3084,6 +3139,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PresetNames {} @@ -3489,6 +3545,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Make some on-chain remark."] @@ -3516,6 +3573,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the number of pages in the WebAssembly environment's heap."] @@ -3541,6 +3599,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the new runtime code."] @@ -3566,6 +3625,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the new runtime code without doing any checks of the given `code`."] @@ -3594,6 +3654,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set some items of storage."] @@ -3622,6 +3683,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Kill some items from storage."] @@ -3649,6 +3711,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Kill all storage items with a key that starts with the given prefix."] @@ -3679,6 +3742,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Make some on-chain remark and emit event."] @@ -3704,6 +3768,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"] @@ -3732,6 +3797,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"] @@ -3764,6 +3830,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized."] @@ -4018,6 +4085,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An extrinsic completed successfully."] @@ -4043,6 +4111,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An extrinsic failed."] @@ -4070,6 +4139,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "`:code` was updated."] @@ -4089,6 +4159,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A new account was created."] @@ -4114,6 +4185,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account was reaped."] @@ -4139,6 +4211,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "On on-chain remark happened."] @@ -4166,6 +4239,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An upgrade was authorized."] @@ -4907,6 +4981,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the current time."] @@ -5093,6 +5168,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."] @@ -5118,6 +5194,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."] @@ -5149,6 +5226,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"] @@ -5178,6 +5256,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Authenticates the sudo key and dispatches a function call with `Signed` origin from"] @@ -5211,6 +5290,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Permanently removes the sudo key."] @@ -5339,6 +5419,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A sudo call just took place."] @@ -5365,6 +5446,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The sudo key has been updated."] @@ -5392,6 +5474,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The key was permanently removed."] @@ -5411,6 +5494,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A [sudo_as](Pallet::sudo_as) call just took place."] @@ -5530,6 +5614,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Issue a new class of fungible assets from a public origin."] @@ -5581,6 +5666,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Issue a new class of fungible assets from a privileged origin."] @@ -5635,6 +5721,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Start the process of destroying a fungible asset class."] @@ -5671,6 +5758,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Destroy all accounts associated with a given asset."] @@ -5708,6 +5796,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit)."] @@ -5745,6 +5834,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Complete destroying asset and unreserve currency."] @@ -5780,6 +5870,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Mint assets of a particular class."] @@ -5825,6 +5916,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`."] @@ -5873,6 +5965,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Move some assets from the sender account to another."] @@ -5924,6 +6017,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Move some assets from the sender account to another, keeping the sender account alive."] @@ -5975,6 +6069,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Move some assets from one account to another."] @@ -6032,6 +6127,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`"] @@ -6074,6 +6170,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Allow unprivileged transfers to and from an account again."] @@ -6114,6 +6211,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Disallow further unprivileged transfers for the asset class."] @@ -6148,6 +6246,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Allow unprivileged transfers for the asset again."] @@ -6182,6 +6281,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Change the Owner of an asset."] @@ -6222,6 +6322,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Change the Issuer, Admin and Freezer of an asset."] @@ -6274,6 +6375,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the metadata for an asset."] @@ -6321,6 +6423,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Clear the metadata for an asset."] @@ -6357,6 +6460,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Force the metadata for an asset to some value."] @@ -6404,6 +6508,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Clear the metadata for an asset."] @@ -6440,6 +6545,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Alter the attributes of a given asset."] @@ -6514,6 +6620,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Approve an amount of asset for transfer by a delegated third-party account."] @@ -6567,6 +6674,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."] @@ -6610,6 +6718,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."] @@ -6658,6 +6767,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Transfer some asset balance from a previously delegated account to some third-party"] @@ -6714,6 +6824,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Create an asset account for non-provider assets."] @@ -6748,6 +6859,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Return the deposit (if any) of an asset account or a consumer reference (if any) of an"] @@ -6785,6 +6897,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Sets the minimum balance of an asset."] @@ -6824,6 +6937,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Create an asset account for `who`."] @@ -6864,6 +6978,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Return the deposit (if any) of a target asset account. Useful if you are the depositor."] @@ -6904,6 +7019,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Disallow further unprivileged transfers of an asset `id` to and from an account `who`."] @@ -7929,6 +8045,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some asset class was created."] @@ -7958,6 +8075,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some assets were issued."] @@ -7987,6 +8105,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some assets were transferred."] @@ -8018,6 +8137,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some assets were destroyed."] @@ -8047,6 +8167,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The management team changed."] @@ -8078,6 +8199,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The owner changed."] @@ -8105,6 +8227,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some account `who` was frozen."] @@ -8132,6 +8255,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some account `who` was thawed."] @@ -8159,6 +8283,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some asset `asset_id` was frozen."] @@ -8184,6 +8309,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some asset `asset_id` was thawed."] @@ -8209,6 +8335,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Accounts were destroyed for given asset."] @@ -8238,6 +8365,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Approvals were destroyed for given asset."] @@ -8267,6 +8395,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An asset class is in the process of being destroyed."] @@ -8292,6 +8421,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An asset class was destroyed."] @@ -8317,6 +8447,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some asset class was force-created."] @@ -8344,6 +8475,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "New metadata has been set for an asset."] @@ -8377,6 +8509,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Metadata has been cleared for an asset."] @@ -8402,6 +8535,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "(Additional) funds have been approved for transfer to a destination account."] @@ -8433,6 +8567,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An approval for account `delegate` was cancelled by `owner`."] @@ -8462,6 +8597,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An `amount` was transferred in its entirety from `owner` to `destination` by"] @@ -8496,6 +8632,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An asset has had its attributes changed by the `Force` origin."] @@ -8521,6 +8658,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The min_balance of an asset has been updated by the asset owner."] @@ -8548,6 +8686,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some account `who` was created with a deposit from `depositor`."] @@ -8577,6 +8716,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some account `who` was blocked."] @@ -8604,6 +8744,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some assets were deposited (e.g. for transaction fees)."] @@ -8633,6 +8774,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some assets were withdrawn from the account (e.g. for transaction fees)."] @@ -9145,6 +9287,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Issue a new class of fungible assets from a public origin."] @@ -9196,6 +9339,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Issue a new class of fungible assets from a privileged origin."] @@ -9250,6 +9394,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Start the process of destroying a fungible asset class."] @@ -9286,6 +9431,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Destroy all accounts associated with a given asset."] @@ -9323,6 +9469,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit)."] @@ -9360,6 +9507,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Complete destroying asset and unreserve currency."] @@ -9395,6 +9543,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Mint assets of a particular class."] @@ -9440,6 +9589,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`."] @@ -9488,6 +9638,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Move some assets from the sender account to another."] @@ -9539,6 +9690,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Move some assets from the sender account to another, keeping the sender account alive."] @@ -9590,6 +9742,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Move some assets from one account to another."] @@ -9647,6 +9800,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`"] @@ -9689,6 +9843,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Allow unprivileged transfers to and from an account again."] @@ -9729,6 +9884,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Disallow further unprivileged transfers for the asset class."] @@ -9763,6 +9919,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Allow unprivileged transfers for the asset again."] @@ -9797,6 +9954,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Change the Owner of an asset."] @@ -9837,6 +9995,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Change the Issuer, Admin and Freezer of an asset."] @@ -9889,6 +10048,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the metadata for an asset."] @@ -9936,6 +10096,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Clear the metadata for an asset."] @@ -9972,6 +10133,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Force the metadata for an asset to some value."] @@ -10019,6 +10181,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Clear the metadata for an asset."] @@ -10055,6 +10218,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Alter the attributes of a given asset."] @@ -10129,6 +10293,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Approve an amount of asset for transfer by a delegated third-party account."] @@ -10182,6 +10347,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."] @@ -10225,6 +10391,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."] @@ -10273,6 +10440,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Transfer some asset balance from a previously delegated account to some third-party"] @@ -10329,6 +10497,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Create an asset account for non-provider assets."] @@ -10363,6 +10532,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Return the deposit (if any) of an asset account or a consumer reference (if any) of an"] @@ -10400,6 +10570,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Sets the minimum balance of an asset."] @@ -10439,6 +10610,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Create an asset account for `who`."] @@ -10479,6 +10651,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Return the deposit (if any) of a target asset account. Useful if you are the depositor."] @@ -10519,6 +10692,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Disallow further unprivileged transfers of an asset `id` to and from an account `who`."] @@ -11544,6 +11718,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some asset class was created."] @@ -11573,6 +11748,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some assets were issued."] @@ -11602,6 +11778,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some assets were transferred."] @@ -11633,6 +11810,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some assets were destroyed."] @@ -11662,6 +11840,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The management team changed."] @@ -11693,6 +11872,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The owner changed."] @@ -11720,6 +11900,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some account `who` was frozen."] @@ -11747,6 +11928,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some account `who` was thawed."] @@ -11774,6 +11956,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some asset `asset_id` was frozen."] @@ -11799,6 +11982,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some asset `asset_id` was thawed."] @@ -11824,6 +12008,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Accounts were destroyed for given asset."] @@ -11853,6 +12038,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Approvals were destroyed for given asset."] @@ -11882,6 +12068,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An asset class is in the process of being destroyed."] @@ -11907,6 +12094,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An asset class was destroyed."] @@ -11932,6 +12120,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some asset class was force-created."] @@ -11959,6 +12148,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "New metadata has been set for an asset."] @@ -11992,6 +12182,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Metadata has been cleared for an asset."] @@ -12017,6 +12208,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "(Additional) funds have been approved for transfer to a destination account."] @@ -12048,6 +12240,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An approval for account `delegate` was cancelled by `owner`."] @@ -12077,6 +12270,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An `amount` was transferred in its entirety from `owner` to `destination` by"] @@ -12111,6 +12305,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An asset has had its attributes changed by the `Force` origin."] @@ -12136,6 +12331,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The min_balance of an asset has been updated by the asset owner."] @@ -12163,6 +12359,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some account `who` was created with a deposit from `depositor`."] @@ -12192,6 +12389,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some account `who` was blocked."] @@ -12219,6 +12417,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some assets were deposited (e.g. for transaction fees)."] @@ -12248,6 +12447,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some assets were withdrawn from the account (e.g. for transaction fees)."] @@ -12760,6 +12960,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Transfer some liquid free balance to another account."] @@ -12797,6 +12998,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"] @@ -12834,6 +13036,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"] @@ -12870,6 +13073,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Transfer the entire transferable balance from the caller account."] @@ -12914,6 +13118,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Unreserve some balance from a user by force."] @@ -12946,6 +13151,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Upgrade a specified account."] @@ -12978,6 +13184,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the regular balance of a given account."] @@ -13011,6 +13218,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Adjust the total issuance in a saturating way."] @@ -13043,6 +13251,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Burn the specified liquid free balance from the origin account."] @@ -13291,6 +13500,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account was created with some free balance."] @@ -13318,6 +13528,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account was removed whose balance was non-zero but below ExistentialDeposit,"] @@ -13346,6 +13557,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Transfer succeeded."] @@ -13375,6 +13587,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A balance was set by root."] @@ -13402,6 +13615,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some balance was reserved (moved from free to reserved)."] @@ -13429,6 +13643,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some balance was unreserved (moved from reserved to free)."] @@ -13456,6 +13671,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some balance was moved from the reserve of the first account to the second account."] @@ -13489,6 +13705,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some amount was deposited (e.g. for transaction fees)."] @@ -13516,6 +13733,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some amount was withdrawn from the account (e.g. for transaction fees)."] @@ -13543,6 +13761,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some amount was removed from the account (e.g. for misbehavior)."] @@ -13570,6 +13789,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some amount was minted into an account."] @@ -13597,6 +13817,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some amount was burned from an account."] @@ -13624,6 +13845,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some amount was suspended from an account (it can be restored later)."] @@ -13651,6 +13873,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some amount was restored into an account."] @@ -13678,6 +13901,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account was upgraded."] @@ -13703,6 +13927,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Total issuance was increased by `amount`, creating a credit to be balanced."] @@ -13728,6 +13953,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Total issuance was decreased by `amount`, creating a debt to be balanced."] @@ -13753,6 +13979,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some balance was locked."] @@ -13780,6 +14007,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some balance was unlocked."] @@ -13807,6 +14035,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some balance was frozen."] @@ -13834,6 +14063,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some balance was thawed."] @@ -13861,6 +14091,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `TotalIssuance` was forcefully changed."] @@ -14353,6 +14584,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"] @@ -14538,6 +14770,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Report authority equivocation/misbehavior. This method will verify"] @@ -14575,6 +14808,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Report authority equivocation/misbehavior. This method will verify"] @@ -14617,6 +14851,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Plan an epoch config change. The epoch config change is recorded and will be enacted on"] @@ -15340,6 +15575,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Report voter equivocation/misbehavior. This method will verify the"] @@ -15375,6 +15611,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Report voter equivocation/misbehavior. This method will verify the"] @@ -15416,6 +15653,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Note that the current authority set of the GRANDPA finality gadget has stalled."] @@ -15548,6 +15786,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "New authority set has been applied."] @@ -15576,6 +15815,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Current authority set has been paused."] @@ -15595,6 +15835,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Current authority set has been resumed."] @@ -15920,6 +16161,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Assign an previously unassigned index."] @@ -15956,6 +16198,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Assign an index already owned by the sender to another account. The balance reservation"] @@ -15997,6 +16240,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Free up an index owned by the sender."] @@ -16033,6 +16277,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Force an index to an account. This doesn't require a deposit. If the index is already"] @@ -16077,6 +16322,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Freeze an index so it will always point to the sender account. This consumes the"] @@ -16265,6 +16511,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A account index was assigned."] @@ -16292,6 +16539,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A account index has been freed up (unassigned)."] @@ -16317,6 +16565,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A account index has been frozen to its current account ID."] @@ -16442,6 +16691,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Propose a sensitive action to be taken."] @@ -16481,6 +16731,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Signals agreement with a particular proposal."] @@ -16512,6 +16763,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Vote in a referendum. If `vote.is_aye()`, the vote is to enact the proposal;"] @@ -16547,6 +16799,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedule an emergency cancellation of a referendum. Cannot happen twice to the same"] @@ -16579,6 +16832,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedule a referendum to be tabled once it is legal to schedule an external"] @@ -16612,6 +16866,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedule a majority-carries referendum to be tabled next once it is legal to schedule"] @@ -16650,6 +16905,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedule a negative-turnout-bias referendum to be tabled next once it is legal to"] @@ -16688,6 +16944,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedule the currently externally-proposed majority-carries referendum to be tabled"] @@ -16732,6 +16989,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Veto and blacklist the external proposal hash."] @@ -16765,6 +17023,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove a referendum."] @@ -16797,6 +17056,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Delegate the voting power (with some given conviction) of the sending account."] @@ -16848,6 +17108,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Undelegate the voting power of the sending account."] @@ -16878,6 +17139,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Clears all public proposals."] @@ -16901,6 +17163,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Unlock tokens that have an expired lock."] @@ -16935,6 +17198,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove a vote for a referendum."] @@ -16986,6 +17250,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove a vote for a referendum."] @@ -17030,6 +17295,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Permanently place a proposal into the blacklist. This prevents it from ever being"] @@ -17071,6 +17337,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove a proposal."] @@ -17103,6 +17370,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set or clear a metadata of a proposal or a referendum."] @@ -17667,6 +17935,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A motion has been proposed by a public account."] @@ -17694,6 +17963,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A public proposal has been tabled for referendum vote."] @@ -17721,6 +17991,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An external proposal has been tabled."] @@ -17740,6 +18011,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A referendum has begun."] @@ -17767,6 +18039,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A proposal has been approved by referendum."] @@ -17792,6 +18065,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A proposal has been rejected by referendum."] @@ -17817,6 +18091,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A referendum has been cancelled."] @@ -17842,6 +18117,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account has delegated their vote to another account."] @@ -17869,6 +18145,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account has cancelled a previous delegation operation."] @@ -17894,6 +18171,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An external proposal has been vetoed."] @@ -17923,6 +18201,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A proposal_hash has been blacklisted permanently."] @@ -17948,6 +18227,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account has voted in a referendum"] @@ -17978,6 +18258,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account has seconded a proposal"] @@ -18005,6 +18286,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A proposal got canceled."] @@ -18030,6 +18312,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Metadata for a proposal or a referendum has been set."] @@ -18057,6 +18340,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Metadata for a proposal or a referendum has been cleared."] @@ -18084,6 +18368,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Metadata has been transferred to new owner."] @@ -18851,6 +19136,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the collective's membership."] @@ -18904,6 +19190,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Dispatch a proposal from a member using the `Member` origin."] @@ -18940,6 +19227,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Add a new proposal to either be voted on or executed directly."] @@ -18984,6 +19272,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Add an aye or nay vote for the sender to the given proposal."] @@ -19022,6 +19311,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Disapprove a proposal, close, and remove it from the system, regardless of its current"] @@ -19056,6 +19346,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Close a vote that is either approved, disapproved or whose voting period has ended."] @@ -19321,6 +19612,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A motion (given hash) has been proposed (by given account) with a threshold (given"] @@ -19353,6 +19645,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A motion (given hash) has been voted on by given account, leaving"] @@ -19387,6 +19680,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A motion was approved by the required threshold."] @@ -19412,6 +19706,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A motion was not approved by the required threshold."] @@ -19437,6 +19732,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A motion was executed; result will be `Ok` if it returned without error."] @@ -19465,6 +19761,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A single member did some action; result will be `Ok` if it returned without error."] @@ -19493,6 +19790,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A proposal was closed because its threshold was reached or after its duration was up."] @@ -19774,6 +20072,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Unlock any vested funds of the sender account."] @@ -19801,6 +20100,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Unlock any vested funds of a `target` account."] @@ -19839,6 +20139,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Create a vested transfer."] @@ -19884,6 +20185,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Force a vested transfer."] @@ -19935,6 +20237,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Merge two vesting schedules together, creating a new vesting schedule that unlocks over"] @@ -19982,6 +20285,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Force remove a vesting schedule"] @@ -20196,6 +20500,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The amount vested has been updated. This could indicate a change in funds available."] @@ -20224,6 +20529,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An \\[account\\] has become fully vested."] @@ -20387,6 +20693,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Vote for a set of candidates for the upcoming round of election. This can be called to"] @@ -20434,6 +20741,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove `origin` as a voter."] @@ -20457,6 +20765,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Submit oneself for candidacy. A fixed amount of deposit is recorded."] @@ -20497,6 +20806,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Renounce one's intention to be a candidate for the next election round. 3 potential"] @@ -20541,6 +20851,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove a particular member from the set. This is effective immediately and the bond of"] @@ -20588,6 +20899,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Clean all voters who are defunct (i.e. they do not serve any purpose at all). The"] @@ -20813,6 +21125,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A new term with new_members. This indicates that enough candidates existed to run"] @@ -20845,6 +21158,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "No (or not enough) candidates existed for this round. This is different from"] @@ -20865,6 +21179,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Internal error happened while trying to perform election."] @@ -20884,6 +21199,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A member has been removed. This should always be followed by either `NewTerm` or"] @@ -20910,6 +21226,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Someone has renounced their candidacy."] @@ -20935,6 +21252,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A candidate was slashed by amount due to failing to obtain a seat as member or"] @@ -20965,6 +21283,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A seat holder was slashed by amount by being forcefully removed from the set."] @@ -21366,6 +21685,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Submit a solution for the unsigned phase."] @@ -21410,6 +21730,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set a new value for `MinimumUntrustedScore`."] @@ -21440,6 +21761,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set a solution in the queue, to be handed out to the client of this pallet in the next"] @@ -21475,6 +21797,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Submit a solution for the signed phase."] @@ -21511,6 +21834,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Trigger the governance fallback."] @@ -21675,6 +21999,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A solution was stored with the given compute."] @@ -21711,6 +22036,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The election has been finalized, with the given computation and score."] @@ -21739,6 +22065,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An election failed."] @@ -21760,6 +22087,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account has been rewarded for their signed submission being finalized."] @@ -21787,6 +22115,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account has been slashed for submitting an invalid signed submission."] @@ -21814,6 +22143,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "There was a phase transition in a given round."] @@ -22444,6 +22774,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Take the origin account as a stash and lock up `value` of its balance. `controller` will"] @@ -22489,6 +22820,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Add some extra amount that have appeared in the stash `free_balance` into the balance up"] @@ -22528,6 +22860,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedule a portion of the stash to be unlocked ready for transfer out after the bond"] @@ -22572,6 +22905,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove any unlocked chunks from the `unlocking` queue from our management."] @@ -22619,6 +22953,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Declare the desire to validate for the origin controller."] @@ -22648,6 +22983,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Declare the desire to nominate `targets` for the origin controller."] @@ -22687,6 +23023,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Declare no desire to either validate or nominate."] @@ -22715,6 +23052,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "(Re-)set the payment target for a controller."] @@ -22753,6 +23091,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "(Re-)sets the controller of a stash to the stash itself. This function previously"] @@ -22785,6 +23124,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Sets the ideal number of validators."] @@ -22816,6 +23156,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Increments the ideal number of validators up to maximum of"] @@ -22848,6 +23189,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Scale up the ideal number of validators by a factor up to maximum of"] @@ -22879,6 +23221,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Force there to be no new eras indefinitely."] @@ -22910,6 +23253,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Force there to be a new era at the end of the next session. After this, it will be"] @@ -22942,6 +23286,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the validators who cannot be slashed (if any)."] @@ -22970,6 +23315,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Force a current staker to become completely unstaked, immediately."] @@ -23004,6 +23350,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Force there to be a new era at the end of sessions indefinitely."] @@ -23031,6 +23378,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel enactment of a deferred slash."] @@ -23062,6 +23410,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Pay out next page of the stakers behind a validator for the given era."] @@ -23101,6 +23450,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Rebond a portion of the stash scheduled to be unlocked."] @@ -23133,6 +23483,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove all data structures concerning a staker/stash once it is at a state where it can"] @@ -23177,6 +23528,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove the given nominations from the calling validator."] @@ -23217,6 +23569,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Update the various staking configurations ."] @@ -23291,6 +23644,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Declare a `controller` to stop participating as either a validator or nominator."] @@ -23341,6 +23695,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Force a validator to have at least the minimum commission. This will not affect a"] @@ -23368,6 +23723,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Sets the minimum amount of commission that each validators must maintain."] @@ -23396,6 +23752,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Pay out a page of the stakers behind a validator for the given era and page."] @@ -23441,6 +23798,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Migrates an account's `RewardDestination::Controller` to"] @@ -23471,6 +23829,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Updates a batch of controller accounts to their corresponding stash account if they are"] @@ -23505,6 +23864,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Restores the state of a ledger which is in an inconsistent state."] @@ -24381,6 +24741,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The era payout has been set; the first balance is the validator-payout; the second is"] @@ -24411,6 +24772,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The nominator has been rewarded by this amount to this destination."] @@ -24442,6 +24804,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A staker (validator or nominator) has been slashed by the given amount."] @@ -24469,6 +24832,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A slash for the given validator, for the given percentage of their stake, at the given"] @@ -24499,6 +24863,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An old slashing report from a prior era was discarded because it could"] @@ -24525,6 +24890,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A new set of stakers was elected."] @@ -24544,6 +24910,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account has bonded this amount. \\[stash, amount\\]"] @@ -24574,6 +24941,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account has unbonded this amount."] @@ -24601,6 +24969,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`"] @@ -24629,6 +24998,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A nominator has been kicked from a validator."] @@ -24656,6 +25026,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The election failed. No new era is planned."] @@ -24675,6 +25046,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An account has stopped participating as either a validator or nominator."] @@ -24700,6 +25072,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The stakers' rewards are getting paid."] @@ -24727,6 +25100,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A validator has set their preferences."] @@ -24754,6 +25128,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Voters size limit reached."] @@ -24779,6 +25154,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Targets size limit reached."] @@ -24804,6 +25180,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A new force era mode was set."] @@ -24829,6 +25206,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Report of a controller batch deprecation."] @@ -27268,6 +27646,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Sets the session key(s) of the function caller to `keys`."] @@ -27303,6 +27682,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Removes any session key(s) of the function caller."] @@ -27394,6 +27774,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "New session has happened. Note that the argument is the session index, not the"] @@ -27803,6 +28184,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Propose and approve a spend of treasury funds."] @@ -27850,6 +28232,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Force a previously approved proposal to be removed from the approval queue."] @@ -27896,6 +28279,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Propose and approve a spend of treasury funds."] @@ -27953,6 +28337,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Claim a spend."] @@ -27996,6 +28381,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Check the status of the spend and remove it from the storage if processed."] @@ -28039,6 +28425,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Void previously approved spend."] @@ -28307,6 +28694,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "We have ended a spend period and will now allocate funds."] @@ -28332,6 +28720,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some funds have been allocated."] @@ -28361,6 +28750,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some of our funds have been burnt."] @@ -28386,6 +28776,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Spending has finished; this is the amount that rolls over until next spend."] @@ -28411,6 +28802,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Some funds have been deposited."] @@ -28436,6 +28828,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A new spend proposal has been approved."] @@ -28465,6 +28858,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The inactive funds of the pallet have been updated."] @@ -28492,6 +28886,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A new asset spend proposal has been approved."] @@ -28527,6 +28922,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An approved spend was voided."] @@ -28552,6 +28948,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A payment happened."] @@ -28579,6 +28976,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A payment failed and can be retried."] @@ -28606,6 +29004,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A spend was processed and removed from the storage. It might have been successfully"] @@ -28953,6 +29352,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Propose a new bounty."] @@ -28992,6 +29392,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Approve a bounty proposal. At a later time, the bounty will be funded and become active"] @@ -29024,6 +29425,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Propose a curator to a funded bounty."] @@ -29063,6 +29465,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Unassign curator from a bounty."] @@ -29105,6 +29508,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Accept the curator role for a bounty."] @@ -29137,6 +29541,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Award bounty to a beneficiary account. The beneficiary will be able to claim the funds"] @@ -29177,6 +29582,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Claim the payout from an awarded bounty after payout delay."] @@ -29210,6 +29616,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel a proposed or active bounty. All the funds will be sent to treasury and"] @@ -29244,6 +29651,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Extend the expiry time of an active bounty."] @@ -29520,6 +29928,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "New bounty proposal."] @@ -29545,6 +29954,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A bounty proposal was rejected; funds were slashed."] @@ -29572,6 +29982,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A bounty proposal is funded and became active."] @@ -29597,6 +30008,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A bounty is awarded to a beneficiary."] @@ -29624,6 +30036,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A bounty is claimed by beneficiary."] @@ -29653,6 +30066,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A bounty is cancelled."] @@ -29678,6 +30092,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A bounty expiry is extended."] @@ -29703,6 +30118,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A bounty is approved."] @@ -29728,6 +30144,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A bounty curator is proposed."] @@ -29755,6 +30172,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A bounty curator is unassigned."] @@ -29780,6 +30198,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A bounty curator is accepted."] @@ -30138,6 +30557,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Add a new child-bounty."] @@ -30187,6 +30607,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Propose curator for funded child-bounty."] @@ -30238,6 +30659,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Accept the curator role for the child-bounty."] @@ -30285,6 +30707,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Unassign curator from a child-bounty."] @@ -30347,6 +30770,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Award child-bounty to a beneficiary."] @@ -30397,6 +30821,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Claim the payout from an awarded child-bounty after payout delay."] @@ -30441,6 +30866,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel a proposed or active child-bounty. Child-bounty account funds"] @@ -30762,6 +31188,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A child-bounty is added."] @@ -30789,6 +31216,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A child-bounty is awarded to a beneficiary."] @@ -30818,6 +31246,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A child-bounty is claimed by beneficiary."] @@ -30849,6 +31278,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A child-bounty is cancelled."] @@ -31204,6 +31634,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Declare that some `dislocated` account has, through rewards or penalties, sufficiently"] @@ -31241,6 +31672,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Move the caller's Id directly in front of `lighter`."] @@ -31278,6 +31710,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Same as [`Pallet::put_in_front_of`], but it can be called by anyone."] @@ -31392,6 +31825,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Moved an account from one bag to another."] @@ -31421,6 +31855,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Updated the score of some account to the given amount."] @@ -31666,6 +32101,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Stake funds with a pool. The amount to bond is transferred from the member to the"] @@ -31703,6 +32139,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Bond `extra` more funds from `origin` into the pool to which they already belong."] @@ -31735,6 +32172,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A bonded member can use this to claim their payout based on the rewards that the pool"] @@ -31761,6 +32199,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Unbond up to `unbonding_points` of the `member_account`'s funds from the pool. It"] @@ -31822,6 +32261,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Call `withdraw_unbonded` for the pools account. This call can be made by any account."] @@ -31854,6 +32294,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Withdraw unbonded funds from `member_account`. If no bonded funds can be unbonded, an"] @@ -31905,6 +32346,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Create a new delegation pool."] @@ -31962,6 +32404,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Create a new delegation pool with a previously used pool id"] @@ -32010,6 +32453,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Nominate on behalf of the pool."] @@ -32049,6 +32493,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set a new state for the pool."] @@ -32085,6 +32530,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set a new metadata for the pool."] @@ -32115,6 +32561,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Update configurations for the nomination pools. The origin for this call must be"] @@ -32167,6 +32614,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Update the roles of the pool."] @@ -32210,6 +32658,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Chill on behalf of the pool."] @@ -32250,6 +32699,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "`origin` bonds funds from `extra` for some pool member `member` into their respective"] @@ -32289,6 +32739,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Allows a pool member to set a claim permission to allow or disallow permissionless"] @@ -32320,6 +32771,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "`origin` can claim payouts on some pool member `other`'s behalf."] @@ -32348,6 +32800,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the commission of a pool."] @@ -32382,6 +32835,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the maximum commission of a pool."] @@ -32413,6 +32867,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the commission change rate for a pool."] @@ -32446,6 +32901,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Claim pending commission."] @@ -32475,6 +32931,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Top up the deficit or withdraw the excess ED from the pool."] @@ -32506,6 +32963,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set or remove a pool's commission claim permission."] @@ -32540,6 +32998,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Apply a pending slash on a member."] @@ -32576,6 +33035,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Migrates delegated funds from the pool account to the `member_account`."] @@ -32612,6 +33072,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Migrate pool from [`adapter::StakeStrategyType::Transfer`] to"] @@ -33333,6 +33794,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A pool has been created."] @@ -33360,6 +33822,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A member has became bonded in a pool."] @@ -33391,6 +33854,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A payout has been made to a member."] @@ -33420,6 +33884,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A member has unbonded from their pool."] @@ -33463,6 +33928,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A member has withdrawn from their pool."] @@ -33499,6 +33965,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A pool has been destroyed."] @@ -33524,6 +33991,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The state of a pool has changed"] @@ -33551,6 +34019,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A member has been removed from a pool."] @@ -33580,6 +34049,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The roles of a pool have been updated to the given new roles. Note that the depositor"] @@ -33610,6 +34080,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The active balance of pool `pool_id` has been slashed to `balance`."] @@ -33637,6 +34108,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The unbond pool at `era` of pool `pool_id` has been slashed to `balance`."] @@ -33666,6 +34138,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A pool's commission setting has been changed."] @@ -33696,6 +34169,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A pool's maximum commission setting has been changed."] @@ -33723,6 +34197,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A pool's commission `change_rate` has been changed."] @@ -33752,6 +34227,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Pool commission claim permission has been updated."] @@ -33783,6 +34259,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Pool commission has been claimed."] @@ -33810,6 +34287,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Topped up deficit in frozen ED of the reward pool."] @@ -33837,6 +34315,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Claimed excess frozen ED of af the reward pool."] @@ -34692,6 +35171,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Anonymously schedule a task."] @@ -34724,6 +35204,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel an anonymously scheduled task."] @@ -34751,6 +35232,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedule a named task."] @@ -34785,6 +35267,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel a named scheduled task."] @@ -34810,6 +35293,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Anonymously schedule a task after a delay."] @@ -34842,6 +35326,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedule a named task after a delay."] @@ -34876,6 +35361,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set a retry configuration for a task so that, in case its scheduled run fails, it will"] @@ -34916,6 +35402,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set a retry configuration for a named task so that, in case its scheduled run fails, it"] @@ -34956,6 +35443,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Removes the retry configuration of a task."] @@ -34981,6 +35469,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel the retry configuration of a named task."] @@ -35241,6 +35730,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Scheduled some task."] @@ -35268,6 +35758,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Canceled some task."] @@ -35295,6 +35786,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Dispatched some task."] @@ -35325,6 +35817,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set a retry configuration for some task."] @@ -35356,6 +35849,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel a retry configuration for some task."] @@ -35383,6 +35877,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The call for the provided hash was not found so the task has been aborted."] @@ -35410,6 +35905,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The given task was unable to be renewed since the agenda is full at that block."] @@ -35437,6 +35933,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The given task was unable to be retried since the agenda is full at that block or there"] @@ -35465,6 +35962,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The given task can never be executed since it is overweight."] @@ -35781,6 +36279,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Register a preimage on-chain."] @@ -35809,6 +36308,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Clear an unrequested preimage from the runtime storage."] @@ -35839,6 +36339,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Request a preimage be uploaded to the chain without paying any fees or deposits."] @@ -35867,6 +36368,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Clear a previously made request for a preimage."] @@ -35894,6 +36396,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Ensure that the a bulk of pre-images is upgraded."] @@ -36028,6 +36531,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A preimage has been noted."] @@ -36053,6 +36557,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A preimage has been requested."] @@ -36078,6 +36583,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A preimage has ben cleared."] @@ -36312,6 +36818,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "There is an offence reported of the given `kind` happened at the `session_index` and"] @@ -36510,6 +37017,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Pause a call."] @@ -36545,6 +37053,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Un-pause a call."] @@ -36628,6 +37137,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "This pallet, or a specific call is now paused."] @@ -36660,6 +37170,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "This pallet, or a specific call is now unpaused."] @@ -36825,6 +37336,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "## Complexity:"] @@ -36884,6 +37396,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A new heartbeat was received from `AuthorityId`."] @@ -36910,6 +37423,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "At the end of the session, no offence was committed."] @@ -36929,6 +37443,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "At the end of the session, at least one validator was found to be offline."] @@ -37246,6 +37761,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Add a registrar to the system."] @@ -37280,6 +37796,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set an account's identity information and reserve the appropriate deposit."] @@ -37314,6 +37831,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the sub-accounts of the sender."] @@ -37350,6 +37868,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Clear an account's identity info and all sub-accounts and return all deposits."] @@ -37376,6 +37895,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Request a judgement from a registrar."] @@ -37420,6 +37940,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel a previous request."] @@ -37454,6 +37975,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the fee required for a judgement to be requested from a registrar."] @@ -37489,6 +38011,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Change the account associated with a registrar."] @@ -37526,6 +38049,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the field information for a registrar."] @@ -37560,6 +38084,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Provide a judgement for an account's identity."] @@ -37610,6 +38135,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove an account's identity and sub-account information and slash the deposits."] @@ -37649,6 +38175,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Add the given account to the sender's subs."] @@ -37685,6 +38212,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Alter the associated name of the given sub-account."] @@ -37718,6 +38246,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove the given account from the sender's subs."] @@ -37752,6 +38281,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove the sender as a sub-account."] @@ -37780,6 +38310,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Add an `AccountId` with permission to grant usernames with a given `suffix` appended."] @@ -37815,6 +38346,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove `authority` from the username authorities."] @@ -37843,6 +38375,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the username for `who`. Must be called by a username authority."] @@ -37884,6 +38417,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Accept a given username that an `authority` granted. The call must include the full"] @@ -37912,6 +38446,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove an expired username approval. The username was approved by an authority but never"] @@ -37941,6 +38476,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set a given username as the primary. The username should include the suffix."] @@ -37968,6 +38504,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove a username that corresponds to an account with no identity. Exists when a user"] @@ -38513,6 +39050,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A name was set or reset (which will remove all judgements)."] @@ -38538,6 +39076,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A name was cleared, and the given balance returned."] @@ -38565,6 +39104,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A name was removed and the given balance slashed."] @@ -38592,6 +39132,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A judgement was asked from a registrar."] @@ -38619,6 +39160,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A judgement request was retracted."] @@ -38646,6 +39188,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A judgement was given by a registrar."] @@ -38673,6 +39216,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A registrar was added."] @@ -38698,6 +39242,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A sub-identity was added to an identity and the deposit paid."] @@ -38727,6 +39272,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A sub-identity was removed from an identity and the deposit freed."] @@ -38756,6 +39302,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A sub-identity was cleared, and the given deposit repatriated from the"] @@ -38786,6 +39333,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A username authority was added."] @@ -38811,6 +39359,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A username authority was removed."] @@ -38836,6 +39385,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A username was set for `who`."] @@ -38865,6 +39415,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A username was queued, but `who` must accept it prior to `expiration`."] @@ -38896,6 +39447,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A queued username passed its expiration without being claimed and was removed."] @@ -38921,6 +39473,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A username was set as a primary and can be looked up from `who`."] @@ -38950,6 +39503,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A dangling username (as in, a username corresponding to an account that has removed its"] @@ -39530,6 +40084,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Send a batch of dispatch calls."] @@ -39574,6 +40129,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Send a call through an indexed pseudonym of the sender."] @@ -39613,6 +40169,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Send a batch of dispatch calls and atomically execute them."] @@ -39652,6 +40209,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Dispatches a function call with a provided origin."] @@ -39684,6 +40242,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Send a batch of dispatch calls."] @@ -39723,6 +40282,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Dispatch a function call with a specified weight."] @@ -39939,6 +40499,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"] @@ -39967,6 +40528,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Batch of dispatches completed fully with no error."] @@ -39986,6 +40548,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Batch of dispatches completed but has errors."] @@ -40005,6 +40568,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A single item within a Batch of dispatches has completed with no error."] @@ -40024,6 +40588,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A single item within a Batch of dispatches has completed with error."] @@ -40049,6 +40614,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A call was dispatched."] @@ -40111,6 +40677,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Immediately dispatch a multi-signature call using a single approval from the caller."] @@ -40150,6 +40717,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] @@ -40224,6 +40792,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] @@ -40289,6 +40858,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously"] @@ -40542,6 +41112,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A new multisig operation has begun."] @@ -40571,6 +41142,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A multisig operation has been approved by someone."] @@ -40603,6 +41175,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A multisig operation has been executed."] @@ -40638,6 +41211,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A multisig operation has been cancelled."] @@ -40835,6 +41409,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Transact an Ethereum transaction."] @@ -40885,6 +41460,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An ethereum transaction was successfully executed."] @@ -41098,6 +41674,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Withdraw balance from EVM into currency/balances pallet."] @@ -41125,6 +41702,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Issue an EVM call operation. This is similar to a message call transaction in Ethereum."] @@ -41170,6 +41748,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Issue an EVM create operation. This is similar to a contract creation transaction in"] @@ -41214,6 +41793,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Issue an EVM create2 operation."] @@ -41388,6 +41968,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Ethereum events from contracts."] @@ -41413,6 +41994,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A contract has been created at given address."] @@ -41438,6 +42020,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A contract was attempted to be created, but the execution failed."] @@ -41463,6 +42046,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A contract has been executed successfully with states applied."] @@ -41488,6 +42072,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A contract has been executed with errors. States are reverted with only gas fees applied."] @@ -41797,6 +42382,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct NoteMinGasPriceTarget { @@ -41910,6 +42496,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SetBaseFeePerGas { @@ -41934,6 +42521,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SetElasticity { @@ -41998,6 +42586,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct NewBaseFeePerGas { @@ -42022,6 +42611,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BaseFeeOverflow; @@ -42040,6 +42630,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct NewElasticity { @@ -42136,6 +42727,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Increment `sufficients` for existing accounts having a nonzero `nonce` but zero `sufficients`, `consumers` and `providers` value."] @@ -42204,6 +42796,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Make a claim to collect your tokens."] @@ -42261,6 +42854,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Mint a new claim to collect native tokens."] @@ -42313,6 +42907,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Make a claim to collect your native tokens by signing a statement."] @@ -42375,6 +42970,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct MoveClaim { @@ -42401,6 +42997,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the value for expiryconfig"] @@ -42429,6 +43026,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Claim from signed origin"] @@ -42638,6 +43236,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Someone claimed some native tokens."] @@ -42918,6 +43517,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Dispatch the given `call` from an account that the sender is authorised for through"] @@ -42959,6 +43559,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Register a proxy account for the sender that is able to make calls on its behalf."] @@ -42999,6 +43600,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Unregister a proxy account for the sender."] @@ -43037,6 +43639,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Unregister all proxy accounts for the sender."] @@ -43061,6 +43664,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and"] @@ -43107,6 +43711,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Removes a previously spawned pure proxy."] @@ -43160,6 +43765,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Publish the hash of a proxy-call that will be made in the future."] @@ -43204,6 +43810,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove a given announcement."] @@ -43243,6 +43850,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Remove the given announcement of a delegate."] @@ -43282,6 +43890,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Dispatch the given `call` from an account that the sender is authorized for through"] @@ -43628,6 +44237,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A proxy was executed correctly, with the given."] @@ -43654,6 +44264,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A pure account has been created by new proxy with given"] @@ -43686,6 +44297,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An announcement was placed to make a call in the future."] @@ -43715,6 +44327,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A proxy was added."] @@ -43746,6 +44359,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A proxy was removed."] @@ -44024,6 +44638,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Allows an account to join as an operator by staking the required bond amount."] @@ -44063,6 +44678,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedules an operator to leave the system."] @@ -44095,6 +44711,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancels a scheduled leave for an operator."] @@ -44127,6 +44744,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Executes a scheduled leave for an operator."] @@ -44160,6 +44778,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Allows an operator to increase their stake."] @@ -44199,6 +44818,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedules an operator to decrease their stake."] @@ -44239,6 +44859,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Executes a scheduled stake decrease for an operator."] @@ -44272,6 +44893,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancels a scheduled stake decrease for an operator."] @@ -44304,6 +44926,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Allows an operator to go offline."] @@ -44339,6 +44962,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Allows an operator to go online."] @@ -44371,6 +44995,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Allows a user to deposit an asset."] @@ -44422,6 +45047,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedules a withdraw request."] @@ -44466,6 +45092,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Executes a scheduled withdraw request."] @@ -44505,6 +45132,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancels a scheduled withdraw request."] @@ -44548,6 +45176,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Allows a user to delegate an amount of an asset to an operator."] @@ -44599,6 +45228,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedules a request to reduce a delegator's stake."] @@ -44647,6 +45277,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Executes a scheduled request to reduce a delegator's stake."] @@ -44680,6 +45311,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancels a scheduled request to reduce a delegator's stake."] @@ -44727,6 +45359,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Delegates nominated tokens to an operator."] @@ -44770,6 +45403,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Schedules an unstake request for nomination delegations."] @@ -44812,6 +45446,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Executes a scheduled unstake request for nomination delegations."] @@ -44848,6 +45483,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Cancels a scheduled unstake request for nomination delegations."] @@ -44881,6 +45517,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Adds a blueprint ID to a delegator's selection."] @@ -44922,6 +45559,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Removes a blueprint ID from a delegator's selection."] @@ -45714,6 +46352,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has joined."] @@ -45739,6 +46378,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has scheduled to leave."] @@ -45764,6 +46404,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has cancelled their leave request."] @@ -45789,6 +46430,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has executed their leave request."] @@ -45814,6 +46456,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has increased their stake."] @@ -45841,6 +46484,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has scheduled to decrease their stake."] @@ -45868,6 +46512,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has executed their stake decrease."] @@ -45893,6 +46538,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has cancelled their stake decrease request."] @@ -45918,6 +46564,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has gone offline."] @@ -45943,6 +46590,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has gone online."] @@ -45968,6 +46616,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A deposit has been made."] @@ -45999,6 +46648,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An withdraw has been scheduled."] @@ -46030,6 +46680,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An withdraw has been executed."] @@ -46055,6 +46706,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An withdraw has been cancelled."] @@ -46080,6 +46732,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A delegation has been made."] @@ -46113,6 +46766,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A delegator unstake request has been scheduled."] @@ -46148,6 +46802,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A delegator unstake request has been executed."] @@ -46181,6 +46836,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A delegator unstake request has been cancelled."] @@ -46214,6 +46870,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An Operator has been slashed."] @@ -46247,6 +46904,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A Delegator has been slashed."] @@ -46284,6 +46942,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A Delegator's nominated stake has been slashed."] @@ -46319,6 +46978,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "EVM execution reverted with a reason."] @@ -46350,6 +47010,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A nomination has been delegated"] @@ -46379,6 +47040,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A nomination unstake request has been scheduled."] @@ -46410,6 +47072,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A nomination unstake request has been executed."] @@ -46439,6 +47102,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A nomination unstake request has been cancelled."] @@ -46911,6 +47575,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Create a new service blueprint."] @@ -46964,6 +47629,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Pre-register the caller as an operator for a specific blueprint."] @@ -47019,6 +47685,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Register the caller as an operator for a specific blueprint."] @@ -47083,6 +47750,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Unregisters a service provider from a specific service blueprint."] @@ -47128,6 +47796,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Updates the price targets for a registered operator's service blueprint."] @@ -47176,6 +47845,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Request a new service using a blueprint and specified operators."] @@ -47263,6 +47933,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Approve a service request, allowing it to be initiated once all required approvals are received."] @@ -47313,6 +47984,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Reject a service request, preventing its initiation."] @@ -47358,6 +48030,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Terminates a running service instance."] @@ -47400,6 +48073,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Call a job in the service with the provided arguments."] @@ -47455,6 +48129,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Submit a result for a previously called job."] @@ -47510,6 +48185,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Slash an operator's stake for a service by scheduling a deferred slashing action."] @@ -47564,6 +48240,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Disputes and removes an [UnappliedSlash] from storage."] @@ -47611,6 +48288,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Updates the Master Blueprint Service Manager by adding a new revision."] @@ -47649,6 +48327,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Join a service instance as an operator"] @@ -47680,6 +48359,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Leave a service instance as an operator"] @@ -48307,6 +48987,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A new service blueprint has been created."] @@ -48334,6 +49015,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has pre-registered for a service blueprint."] @@ -48361,6 +49043,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An new operator has been registered."] @@ -48397,6 +49080,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An operator has been unregistered."] @@ -48424,6 +49108,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The price targets for an operator has been updated."] @@ -48454,6 +49139,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A new service has been requested."] @@ -48495,6 +49181,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A service request has been approved."] @@ -48529,6 +49216,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A service request has been rejected."] @@ -48558,6 +49246,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A service has been initiated."] @@ -48591,6 +49280,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A service has been terminated."] @@ -48620,6 +49310,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A job has been called."] @@ -48657,6 +49348,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A job result has been submitted."] @@ -48694,6 +49386,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "EVM execution reverted with a reason."] @@ -48725,6 +49418,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An Operator has an unapplied slash."] @@ -48760,6 +49454,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "An Unapplied Slash got discarded."] @@ -48795,6 +49490,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The Master Blueprint Service Manager has been revised."] @@ -50144,6 +50840,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Stakes funds with a pool by transferring the bonded amount from member to pool account."] @@ -50193,6 +50890,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Bond additional funds into an existing pool position."] @@ -50247,6 +50945,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Unbond points from a member's pool position, collecting any pending rewards."] @@ -50308,6 +51007,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Withdraws unbonded funds from the pool's staking account."] @@ -50353,6 +51053,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Withdraw unbonded funds from a member account."] @@ -50409,6 +51110,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Create a new delegation pool."] @@ -50484,6 +51186,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Create a new delegation pool with a previously used pool ID."] @@ -50563,6 +51266,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Nominate validators on behalf of the pool."] @@ -50610,6 +51314,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Updates the state of a pool. Once a pool is in `Destroying` state, its state cannot be"] @@ -50659,6 +51364,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Updates the metadata for a given pool."] @@ -50702,6 +51408,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Updates the global configuration parameters for nomination pools."] @@ -50755,6 +51462,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Update the roles of a pool."] @@ -50812,6 +51520,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Chill on behalf of the pool by forwarding the call to the staking pallet."] @@ -50851,6 +51560,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Bond additional funds for a pool member into their respective pool."] @@ -50903,6 +51613,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set or remove the commission rate and payee for a pool."] @@ -50948,6 +51659,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the maximum commission rate for a pool. Initial max can be set to any value, with only"] @@ -50991,6 +51703,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set the commission change rate for a pool."] @@ -51030,6 +51743,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Claim pending commission for a pool."] @@ -51064,6 +51778,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Top up the deficit or withdraw the excess ED from the pool."] @@ -51100,6 +51815,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Set or remove a pool's commission claim permission."] @@ -51136,6 +51852,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SetLastPoolId { @@ -51918,6 +52635,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A pool has been created."] @@ -51945,6 +52663,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A member has become bonded in a pool."] @@ -51976,6 +52695,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A payout has been made to a member."] @@ -52005,6 +52725,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A member has unbonded from their pool."] @@ -52048,6 +52769,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A member has withdrawn from their pool."] @@ -52084,6 +52806,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A pool has been destroyed."] @@ -52109,6 +52832,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The state of a pool has changed"] @@ -52136,6 +52860,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A member has been removed from a pool."] @@ -52165,6 +52890,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The roles of a pool have been updated to the given new roles. Note that the depositor"] @@ -52195,6 +52921,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The active balance of pool `pool_id` has been slashed to `balance`."] @@ -52222,6 +52949,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The unbond pool at `era` of pool `pool_id` has been slashed to `balance`."] @@ -52251,6 +52979,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A pool's commission setting has been changed."] @@ -52281,6 +53010,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A pool's maximum commission setting has been changed."] @@ -52308,6 +53038,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "A pool's commission `change_rate` has been changed."] @@ -52338,6 +53069,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Pool commission claim permission has been updated."] @@ -52369,6 +53101,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Pool commission has been claimed."] @@ -52396,6 +53129,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Topped up deficit in frozen ED of the reward pool."] @@ -52423,6 +53157,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Claimed excess frozen ED of the reward pool."] @@ -52450,6 +53185,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The last PoolId is updated"] @@ -53282,6 +54018,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Claim rewards for a specific asset and reward type"] @@ -53309,6 +54046,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Claim rewards for another account"] @@ -53346,6 +54084,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Manage asset id to vault rewards."] @@ -53393,6 +54132,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Creates a new reward configuration for a specific vault."] @@ -53440,6 +54180,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Updates the reward configuration for a specific vault."] @@ -53487,6 +54228,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Update the decay configuration"] @@ -53514,6 +54256,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Update the number of blocks used for APY calculation"] @@ -53726,6 +54469,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Rewards have been claimed by an account"] @@ -53757,6 +54501,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Event emitted when an incentive APY and cap are set for a reward vault"] @@ -53786,6 +54531,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Event emitted when a blueprint is whitelisted for rewards"] @@ -53811,6 +54557,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Asset has been updated to reward vault"] @@ -53842,6 +54589,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Vault reward config updated"] @@ -53872,6 +54620,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Vault created"] @@ -53904,6 +54653,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Total score in vault updated"] @@ -53939,6 +54689,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Total deposit in vault updated"] @@ -53970,6 +54721,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Decay configuration was updated"] @@ -53997,6 +54749,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The number of blocks for APY calculation has been updated"] @@ -54605,6 +55358,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BoundedBTreeMap<_0, _1>(pub ::subxt_core::utils::KeyedVec<_0, _1>); @@ -54622,6 +55376,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BoundedBTreeSet<_0>(pub ::subxt_core::alloc::vec::Vec<_0>); @@ -54641,6 +55396,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BoundedVec<_0>(pub ::subxt_core::alloc::vec::Vec<_0>); @@ -54658,6 +55414,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct WeakBoundedVec<_0>(pub ::subxt_core::alloc::vec::Vec<_0>); @@ -54676,6 +55433,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Bloom(pub [::core::primitive::u8; 256usize]); @@ -54695,6 +55453,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Block<_0> { @@ -54717,6 +55476,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Header { @@ -54750,6 +55510,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Log { @@ -54771,6 +55532,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct EIP658ReceiptData { @@ -54790,6 +55552,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ReceiptV3 { @@ -54814,6 +55577,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct AccessListItem { @@ -54831,6 +55595,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct EIP1559Transaction { @@ -54860,6 +55625,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct EIP2930Transaction { @@ -54888,6 +55654,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct LegacyTransaction { @@ -54910,6 +55677,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum TransactionAction { @@ -54930,6 +55698,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct TransactionRecoveryId(pub ::core::primitive::u64); @@ -54944,6 +55713,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct TransactionSignature { @@ -54962,6 +55732,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum TransactionV2 { @@ -54989,6 +55760,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct H64(pub [::core::primitive::u8; 8usize]); @@ -55009,6 +55781,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Basic { @@ -55032,6 +55805,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ExitError { @@ -55079,6 +55853,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ExitFatal { @@ -55102,6 +55877,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ExitReason { @@ -55125,6 +55901,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ExitRevert { @@ -55142,6 +55919,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ExitSucceed { @@ -55167,6 +55945,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Opcode(pub ::core::primitive::u8); @@ -55185,6 +55964,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Equivocation<_0, _1, _2> { @@ -55204,6 +55984,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Precommit<_0, _1> { @@ -55221,6 +56002,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Prevote<_0, _1> { @@ -55241,6 +56023,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ExecutionInfoV2<_0> { @@ -55261,6 +56044,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct UsedGas { @@ -55278,6 +56062,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct WeightInfo { @@ -55300,6 +56085,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct TransactionStatus { @@ -55327,6 +56113,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct UncheckedExtrinsic<_0, _1, _2, _3>( @@ -55347,6 +56134,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CheckMetadataHash { @@ -55363,6 +56151,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Mode { @@ -55387,6 +56176,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum DispatchClass { @@ -55408,6 +56198,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct DispatchInfo { @@ -55426,6 +56217,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Pays { @@ -55445,6 +56237,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PerDispatchClass<_0> { @@ -55463,6 +56256,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum RawOrigin<_0> { @@ -55489,6 +56283,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Bounded<_0, _1> { @@ -55525,6 +56320,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum BalanceStatus { @@ -55544,6 +56340,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct IdAmount<_0, _1> { @@ -55564,6 +56361,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PalletId(pub [::core::primitive::u8; 8usize]); @@ -55585,6 +56383,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CheckGenesis; @@ -55602,6 +56401,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CheckMortality(pub runtime_types::sp_runtime::generic::era::Era); @@ -55619,6 +56419,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CheckNonZeroSender; @@ -55636,6 +56437,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32); @@ -55653,6 +56455,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CheckSpecVersion; @@ -55670,6 +56473,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CheckTxVersion; @@ -55687,6 +56491,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CheckWeight; @@ -55705,6 +56510,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BlockLength { @@ -55723,6 +56529,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BlockWeights { @@ -55743,6 +56550,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct WeightsPerClass { @@ -55768,6 +56576,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -55861,6 +56670,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Error for the System pallet"] @@ -55908,6 +56718,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Event for the System pallet."] @@ -55957,6 +56768,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct AccountInfo<_0, _1> { @@ -55977,6 +56789,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CodeUpgradeAuthorization { @@ -55994,6 +56807,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct EventRecord<_0, _1> { @@ -56012,6 +56826,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct LastRuntimeUpgradeInfo { @@ -56030,6 +56845,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Phase { @@ -56056,6 +56872,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -56195,6 +57012,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -56236,6 +57054,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -56264,6 +57083,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct EcdsaSignature(pub [::core::primitive::u8; 65usize]); @@ -56278,6 +57098,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct EthereumAddress(pub [::core::primitive::u8; 20usize]); @@ -56293,6 +57114,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum MultiAddress { @@ -56308,6 +57130,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum MultiAddressSignature { @@ -56323,6 +57146,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Sr25519Signature(pub [::core::primitive::u8; 64usize]); @@ -56338,6 +57162,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum StatementKind { @@ -56362,6 +57187,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -57103,6 +57929,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -57185,6 +58012,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -57364,6 +58192,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum AccountStatus { @@ -57385,6 +58214,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Approval<_0, _1> { @@ -57402,6 +58232,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct AssetAccount<_0, _1, _2, _3> { @@ -57423,6 +58254,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct AssetDetails<_0, _1, _2> { @@ -57450,6 +58282,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct AssetMetadata<_0, _1> { @@ -57470,6 +58303,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum AssetStatus { @@ -57491,6 +58325,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ExistenceReason<_0, _1> { @@ -57522,6 +58357,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -57582,6 +58418,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -57616,6 +58453,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Bag { @@ -57633,6 +58471,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ListError { @@ -57656,6 +58495,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Node { @@ -57679,6 +58519,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -57743,6 +58584,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -57762,6 +58604,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -57797,6 +58640,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -57941,6 +58785,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -57993,6 +58838,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -58141,6 +58987,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct AccountData<_0> { @@ -58160,6 +59007,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum AdjustmentDirection { @@ -58179,6 +59027,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BalanceLock<_0> { @@ -58198,6 +59047,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ExtraFlags(pub ::core::primitive::u128); @@ -58212,6 +59062,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Reasons { @@ -58233,6 +59084,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ReserveData<_0, _1> { @@ -58256,6 +59108,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -58276,6 +59129,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -58304,6 +59158,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -58462,6 +59317,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -58512,6 +59368,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -58575,6 +59432,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Bounty<_0, _1, _2> { @@ -58596,6 +59454,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum BountyStatus<_0, _1> { @@ -58628,6 +59487,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -58846,6 +59706,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -58871,6 +59732,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -58909,6 +59771,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ChildBounty<_0, _1, _2> { @@ -58929,6 +59792,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ChildBountyStatus<_0, _1> { @@ -58957,6 +59821,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -59106,6 +59971,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -59155,6 +60021,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -59218,6 +60085,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum RawOrigin<_0> { @@ -59239,6 +60107,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Votes<_0, _1> { @@ -59264,6 +60133,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Conviction { @@ -59296,6 +60166,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -59628,6 +60499,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -59717,6 +60589,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -59822,6 +60695,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Delegations<_0> { @@ -59839,6 +60713,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum MetadataOwner { @@ -59860,6 +60735,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ReferendumInfo<_0, _1, _2> { @@ -59879,6 +60755,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ReferendumStatus<_0, _1, _2> { @@ -59899,6 +60776,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Tally<_0> { @@ -59920,6 +60798,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum AccountVote<_0> { @@ -59939,6 +60818,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PriorLock<_0, _1>(pub _0, pub _1); @@ -59954,6 +60834,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Vote(pub ::core::primitive::u8); @@ -59968,6 +60849,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Voting<_0, _1, _2> { @@ -60003,6 +60885,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum VoteThreshold { @@ -60030,6 +60913,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -60054,6 +60938,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -60070,6 +60955,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Error of the pallet that can be returned in response to dispatches."] @@ -60131,6 +61017,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -60199,6 +61086,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SignedSubmission<_0, _1, _2> { @@ -60220,6 +61108,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ElectionCompute { @@ -60245,6 +61134,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Phase<_0> { @@ -60268,6 +61158,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct RawSolution<_0> { @@ -60286,6 +61177,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ReadySolution { @@ -60307,6 +61199,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct RoundSnapshot<_0, _1> { @@ -60324,6 +61217,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SolutionOrSnapshotSize { @@ -60348,6 +61242,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -60479,6 +61374,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -60546,6 +61442,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -60604,6 +61501,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Renouncing { @@ -60625,6 +61523,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SeatHolder<_0, _1> { @@ -60643,6 +61542,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Voter<_0, _1> { @@ -60666,6 +61566,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -60685,6 +61586,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -60707,6 +61609,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -60733,6 +61636,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum RawOrigin { @@ -60755,6 +61659,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -60825,6 +61730,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -60880,6 +61786,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -60912,6 +61819,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CodeMetadata { @@ -60934,6 +61842,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -61000,6 +61909,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -61039,6 +61949,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -61070,6 +61981,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct StoredPendingChange<_0> { @@ -61093,6 +62005,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum StoredState<_0> { @@ -61121,6 +62034,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -61145,6 +62059,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -61170,6 +62085,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct IdentityInfo { @@ -61200,6 +62116,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Identity pallet declaration."] @@ -61522,6 +62439,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -61616,6 +62534,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -61736,6 +62655,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct AuthorityProperties<_0> { @@ -61753,6 +62673,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Data { @@ -61844,6 +62765,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Judgement<_0> { @@ -61873,6 +62795,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct RegistrarInfo<_0, _1, _2> { @@ -61891,6 +62814,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Registration<_0, _2> { @@ -61918,6 +62842,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -61943,6 +62868,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -61965,6 +62891,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -62005,6 +62932,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Public(pub [::core::primitive::u8; 32usize]); @@ -62019,6 +62947,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Signature(pub [::core::primitive::u8; 64usize]); @@ -62035,6 +62964,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Heartbeat<_0> { @@ -62059,6 +62989,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -62159,6 +63090,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -62190,6 +63122,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -62227,6 +63160,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The callable functions (extrinsics) of the pallet."] @@ -62243,6 +63177,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Errors emitted by the pallet."] @@ -62427,6 +63362,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Events emitted by the pallet."] @@ -62617,6 +63553,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BondInfoDelegator < _0 , _1 , _2 , _3 > { pub operator : _0 , pub amount : _1 , pub asset : runtime_types :: tangle_primitives :: services :: types :: Asset < _1 > , pub blueprint_selection : runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorBlueprintSelection < _3 > , pub is_nomination : :: core :: primitive :: bool , # [codec (skip)] pub __ignore : :: core :: marker :: PhantomData < _2 > } @@ -62631,6 +63568,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BondLessRequest < _0 , _1 , _2 , _3 > { pub operator : _0 , pub asset : runtime_types :: tangle_primitives :: services :: types :: Asset < _1 > , pub amount : _2 , pub requested_round : :: core :: primitive :: u32 , pub blueprint_selection : runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorBlueprintSelection < _3 > , pub is_nomination : :: core :: primitive :: bool , } @@ -62645,6 +63583,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum DelegatorBlueprintSelection<_0> { @@ -62669,6 +63608,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct DelegatorMetadata < _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 > { pub deposits : :: subxt_core :: utils :: KeyedVec < runtime_types :: tangle_primitives :: services :: types :: Asset < _1 > , runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: Deposit < _1 , _7 , _4 > > , pub withdraw_requests : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: WithdrawRequest < _1 , _1 > > , pub delegations : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: BondInfoDelegator < _0 , _1 , _1 , _6 > > , pub delegator_unstake_requests : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: BondLessRequest < _0 , _1 , _1 , _6 > > , pub status : runtime_types :: pallet_multi_asset_delegation :: types :: delegator :: DelegatorStatus , # [codec (skip)] pub __ignore : :: core :: marker :: PhantomData < (_2 , _8 , _3 , _5) > } @@ -62683,6 +63623,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum DelegatorStatus { @@ -62702,6 +63643,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Deposit<_0, _1, _2> { @@ -62726,6 +63668,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct WithdrawRequest<_0, _1> { @@ -62747,6 +63690,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct DelegatorBond<_0, _1, _2> { @@ -62767,6 +63711,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct OperatorBondLessRequest<_0> { @@ -62784,6 +63729,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct OperatorMetadata < _0 , _1 , _2 , _3 , _4 > { pub stake : _1 , pub delegation_count : :: core :: primitive :: u32 , pub request : :: core :: option :: Option < runtime_types :: pallet_multi_asset_delegation :: types :: operator :: OperatorBondLessRequest < _1 > > , pub delegations : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: pallet_multi_asset_delegation :: types :: operator :: DelegatorBond < _0 , _1 , _1 > > , pub status : runtime_types :: pallet_multi_asset_delegation :: types :: operator :: OperatorStatus , pub blueprint_ids : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u32 > , # [codec (skip)] pub __ignore : :: core :: marker :: PhantomData < (_2 , _3 , _4) > } @@ -62798,6 +63744,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct OperatorSnapshot < _0 , _1 , _2 , _3 > { pub stake : _1 , pub delegations : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: pallet_multi_asset_delegation :: types :: operator :: DelegatorBond < _0 , _1 , _1 > > , # [codec (skip)] pub __ignore : :: core :: marker :: PhantomData < (_2 , _3) > } @@ -62812,6 +63759,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum OperatorStatus { @@ -62840,6 +63788,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -62999,6 +63948,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -63057,6 +64007,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -63110,6 +64061,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Multisig<_0, _1, _2> { @@ -63129,6 +64081,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Timepoint<_0> { @@ -63151,6 +64104,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -63598,6 +64552,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum DefensiveError { @@ -63627,6 +64582,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -63762,6 +64718,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Events of this pallet."] @@ -63920,6 +64877,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum FreezeReason { @@ -63938,6 +64896,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum BondExtra<_0> { @@ -63957,6 +64916,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BondedPoolInner { @@ -63979,6 +64939,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ClaimPermission { @@ -64002,6 +64963,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Commission { @@ -64033,6 +64995,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CommissionChangeRate<_0> { @@ -64050,6 +65013,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum CommissionClaimPermission<_0> { @@ -64069,6 +65033,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ConfigOp<_0> { @@ -64090,6 +65055,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PoolMember { @@ -64114,6 +65080,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PoolRoles<_0> { @@ -64133,6 +65100,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum PoolState { @@ -64154,6 +65122,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct RewardPool { @@ -64175,6 +65144,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SubPools { @@ -64196,6 +65166,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct UnbondPool { @@ -64218,6 +65189,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Events type."] @@ -64248,6 +65220,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -64296,6 +65269,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -64339,6 +65313,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -64364,6 +65339,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum HoldReason { @@ -64382,6 +65358,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum OldRequestStatus<_0, _1> { @@ -64405,6 +65382,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum RequestStatus<_0, _1> { @@ -64433,6 +65411,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -64653,6 +65632,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -64693,6 +65673,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -64748,6 +65729,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Announcement<_0, _1, _2> { @@ -64766,6 +65748,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ProxyDefinition<_0, _1, _2> { @@ -64789,6 +65772,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -64912,6 +65896,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -65000,6 +65985,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -65094,6 +66080,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum AssetAction { @@ -65113,6 +66100,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct RewardConfigForAssetVault<_0> { @@ -65138,6 +66126,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -65256,6 +66245,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -65287,6 +66277,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Events type."] @@ -65357,6 +66348,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct RetryConfig<_0> { @@ -65375,6 +66367,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Scheduled<_0, _1, _2, _3, _4> { @@ -65402,6 +66395,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -65418,6 +66412,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -65652,6 +66647,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -65674,6 +66670,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -65718,6 +66715,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Error for the session pallet."] @@ -65749,6 +66747,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -65777,6 +66776,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -66297,6 +67297,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ConfigOp<_0> { @@ -66318,6 +67319,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -66431,6 +67433,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -66547,6 +67550,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SlashingSpans { @@ -66566,6 +67570,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SpanRecord<_0> { @@ -66584,6 +67589,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ActiveEraInfo { @@ -66601,6 +67607,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct EraRewardPoints<_0> { @@ -66618,6 +67625,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Forcing { @@ -66641,6 +67649,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Nominations { @@ -66661,6 +67670,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum RewardDestination<_0> { @@ -66686,6 +67696,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct StakingLedger { @@ -66713,6 +67724,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct UnappliedSlash<_0, _1> { @@ -66733,6 +67745,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct UnlockChunk<_0> { @@ -66752,6 +67765,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ValidatorPrefs { @@ -66775,6 +67789,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -66838,6 +67853,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Error for the Sudo pallet."] @@ -66857,6 +67873,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -66900,6 +67917,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -66916,6 +67934,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum DefensiveError { @@ -66941,6 +67960,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -67063,6 +68083,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Events of this pallet."] @@ -67079,6 +68100,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum FreezeReason { @@ -67101,6 +68123,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BondedPoolInner { @@ -67124,6 +68147,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PoolMetadata { @@ -67152,6 +68176,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Commission { pub current : :: core :: option :: Option < (runtime_types :: sp_arithmetic :: per_things :: Perbill , :: subxt_core :: utils :: AccountId32 ,) > , pub max : :: core :: option :: Option < runtime_types :: sp_arithmetic :: per_things :: Perbill > , pub change_rate : :: core :: option :: Option < runtime_types :: pallet_tangle_lst :: types :: commission :: CommissionChangeRate < :: core :: primitive :: u64 > > , pub throttle_from : :: core :: option :: Option < :: core :: primitive :: u64 > , pub claim_permission : :: core :: option :: Option < runtime_types :: pallet_tangle_lst :: types :: commission :: CommissionClaimPermission < :: subxt_core :: utils :: AccountId32 > > , } @@ -67166,6 +68191,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CommissionChangeRate<_0> { @@ -67183,6 +68209,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum CommissionClaimPermission<_0> { @@ -67205,6 +68232,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PoolMember { @@ -67225,6 +68253,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PoolRoles<_0> { @@ -67244,6 +68273,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum PoolState { @@ -67268,6 +68298,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct RewardPool { @@ -67289,6 +68320,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SubPools { @@ -67310,6 +68342,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct UnbondPool { @@ -67328,6 +68361,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum BondExtra<_0> { @@ -67345,6 +68379,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ClaimPermission { @@ -67368,6 +68403,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ConfigOp<_0> { @@ -67395,6 +68431,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -67441,6 +68478,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -67468,6 +68506,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct FeeDetails<_0> { @@ -67487,6 +68526,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct InclusionFee<_0> { @@ -67505,6 +68545,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct RuntimeDispatchInfo<_0, _1> { @@ -67524,6 +68565,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ChargeTransactionPayment(#[codec(compact)] pub ::core::primitive::u128); @@ -67538,6 +68580,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Releases { @@ -67562,6 +68605,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -67725,6 +68769,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Error for the treasury pallet."] @@ -67775,6 +68820,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -67847,6 +68893,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum PaymentState<_0> { @@ -67868,6 +68915,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Proposal<_0, _1> { @@ -67887,6 +68935,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SpendStatus<_0, _1, _2, _3, _4> { @@ -67915,6 +68964,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -67961,6 +69011,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -67988,6 +69039,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -68034,6 +69086,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -68160,6 +69213,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Error` enum of this pallet."] @@ -68179,6 +69233,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -68226,6 +69281,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] @@ -68364,6 +69420,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "Error for the vesting pallet."] @@ -68396,6 +69453,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] #[doc = "The `Event` enum of this pallet"] @@ -68425,6 +69483,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct VestingInfo<_0, _1> { @@ -68444,6 +69503,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Releases { @@ -68466,6 +69526,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct U256(pub [::core::primitive::u64; 4usize]); @@ -68483,6 +69544,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct TxPoolResponse { @@ -68510,6 +69572,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct FixedU128(pub ::core::primitive::u128); @@ -68528,6 +69591,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PerU16(pub ::core::primitive::u16); @@ -68543,6 +69607,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Perbill(pub ::core::primitive::u32); @@ -68558,6 +69623,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Percent(pub ::core::primitive::u8); @@ -68573,6 +69639,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Permill(pub ::core::primitive::u32); @@ -68588,6 +69655,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ArithmeticError { @@ -68614,6 +69682,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Public(pub [::core::primitive::u8; 32usize]); @@ -68631,6 +69700,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum NextConfigDescriptor { @@ -68651,6 +69721,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum PreDigest { @@ -68674,6 +69745,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PrimaryPreDigest { @@ -68692,6 +69764,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SecondaryPlainPreDigest { @@ -68709,6 +69782,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SecondaryVRFPreDigest { @@ -68728,6 +69802,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum AllowedSlots { @@ -68749,6 +69824,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BabeConfiguration { @@ -68773,6 +69849,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BabeEpochConfiguration { @@ -68790,6 +69867,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Epoch { @@ -68814,6 +69892,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct OpaqueKeyOwnershipProof( @@ -68835,6 +69914,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Public(pub [::core::primitive::u8; 32usize]); @@ -68849,6 +69929,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Signature(pub [::core::primitive::u8; 64usize]); @@ -68864,6 +69945,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Equivocation<_0, _1> { @@ -68895,6 +69977,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct EquivocationProof<_0, _1> { @@ -68915,6 +69998,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct EquivocationProof<_0, _1> { @@ -68935,6 +70019,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Slot(pub ::core::primitive::u64); @@ -68954,6 +70039,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]); @@ -68973,6 +70059,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct VrfSignature { @@ -68992,6 +70079,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct OpaqueMetadata(pub ::subxt_core::alloc::vec::Vec<::core::primitive::u8>); @@ -69006,6 +70094,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Void {} @@ -69023,6 +70112,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct CheckInherentsResult { @@ -69041,6 +70131,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct InherentData { @@ -69063,6 +70154,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ElectionScore { @@ -69081,6 +70173,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Support<_0> { @@ -69105,6 +70198,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Block<_0, _1> { @@ -69125,6 +70219,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Digest { @@ -69143,6 +70238,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum DigestItem { @@ -69180,6 +70276,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Era { @@ -69710,6 +70807,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Header<_0> { @@ -69735,6 +70833,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BlakeTwo256; @@ -69752,6 +70851,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum InvalidTransaction { @@ -69789,6 +70889,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum TransactionSource { @@ -69810,6 +70911,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum TransactionValidityError { @@ -69829,6 +70931,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum UnknownTransaction { @@ -69850,6 +70953,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ValidTransaction { @@ -69875,6 +70979,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum DispatchError { @@ -69918,6 +71023,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ExtrinsicInclusionMode { @@ -69937,6 +71043,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ModuleError { @@ -69954,6 +71061,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum MultiSignature { @@ -69975,6 +71083,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct OpaqueValue(pub ::subxt_core::alloc::vec::Vec<::core::primitive::u8>); @@ -69989,6 +71098,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum TokenError { @@ -70024,6 +71134,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum TransactionalError { @@ -70046,6 +71157,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct MembershipProof { @@ -70071,6 +71183,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct OffenceDetails<_0, _1> { @@ -70089,6 +71202,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Exposure<_0, _1> { @@ -70111,6 +71225,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ExposurePage<_0, _1> { @@ -70131,6 +71246,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct IndividualExposure<_0, _1> { @@ -70149,6 +71265,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PagedExposureMetadata<_0> { @@ -70173,6 +71290,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct RuntimeVersion { @@ -70204,6 +71322,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Weight { @@ -70224,6 +71343,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct RuntimeDbWeight { @@ -70250,6 +71370,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct BoundedString( @@ -70286,6 +71407,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum FieldType { @@ -70361,6 +71483,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Architecture { @@ -70398,6 +71521,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ContainerGadget { @@ -70418,6 +71542,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Gadget { @@ -70443,6 +71568,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct GadgetBinary { @@ -70464,6 +71590,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct GadgetSource { @@ -70483,6 +71610,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum GadgetSourceFetcher { @@ -70500,6 +71628,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct GithubFetcher { @@ -70523,6 +71652,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ImageRegistryFetcher { @@ -70544,6 +71674,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct NativeGadget { @@ -70564,6 +71695,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum OperatingSystem { @@ -70591,6 +71723,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct TestFetcher { @@ -70614,6 +71747,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct WasmGadget { @@ -70636,6 +71770,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum WasmRuntime { @@ -70658,6 +71793,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct JobCall<_1> { @@ -70678,6 +71814,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct JobCallResult<_1> { @@ -70700,6 +71837,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct JobDefinition { @@ -70724,6 +71862,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct JobMetadata { @@ -70748,6 +71887,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum BlueprintServiceManager { @@ -70767,6 +71907,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum MasterBlueprintServiceManagerRevision { @@ -70786,6 +71927,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct RpcServicesWithBlueprint<_1, _2, _3> { @@ -70811,6 +71953,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Service < _1 , _2 , _3 > { pub id : :: core :: primitive :: u64 , pub blueprint : :: core :: primitive :: u64 , pub owner : _1 , pub operator_security_commitments : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < (_1 , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: types :: AssetSecurityCommitment < _3 > > ,) > , pub security_requirements : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: types :: AssetSecurityRequirement < _3 > > , pub permitted_callers : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < _1 > , pub ttl : _2 , pub membership_model : runtime_types :: tangle_primitives :: services :: types :: MembershipModel , } @@ -70827,6 +71970,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ServiceBlueprint { pub metadata : runtime_types :: tangle_primitives :: services :: service :: ServiceMetadata , pub jobs : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: jobs :: JobDefinition > , pub registration_params : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: field :: FieldType > , pub request_params : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: field :: FieldType > , pub manager : runtime_types :: tangle_primitives :: services :: service :: BlueprintServiceManager , pub master_manager_revision : runtime_types :: tangle_primitives :: services :: service :: MasterBlueprintServiceManagerRevision , pub gadget : runtime_types :: tangle_primitives :: services :: gadget :: Gadget , pub supported_membership_models : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: types :: MembershipModelType > , } @@ -70843,6 +71987,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ServiceMetadata { @@ -70880,6 +72025,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct ServiceRequest < _1 , _2 , _3 > { pub blueprint : :: core :: primitive :: u64 , pub owner : _1 , pub security_requirements : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: types :: AssetSecurityRequirement < _3 > > , pub ttl : _2 , pub args : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: tangle_primitives :: services :: field :: Field < _1 > > , pub permitted_callers : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < _1 > , pub operators_with_approval_state : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < (_1 , runtime_types :: tangle_primitives :: services :: types :: ApprovalState < _3 > ,) > , pub membership_model : runtime_types :: tangle_primitives :: services :: types :: MembershipModel , } @@ -70894,6 +72040,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct StagingServicePayment<_0, _1, _2> { @@ -70916,6 +72063,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ApprovalState<_0> { @@ -70931,6 +72079,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Asset<_0> { @@ -70950,6 +72099,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct AssetSecurityCommitment<_0> { @@ -70967,6 +72117,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct AssetSecurityRequirement<_0> { @@ -70985,6 +72136,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum MembershipModel { @@ -71009,6 +72161,7 @@ pub mod api { serde :: Serialize, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum MembershipModelType { @@ -71028,6 +72181,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct OperatorPreferences { @@ -71046,6 +72200,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct OperatorProfile { @@ -71069,6 +72224,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct PriceTargets { @@ -71089,6 +72245,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum TypeCheckError { @@ -71121,6 +72278,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct UnappliedSlash<_0> { @@ -71147,6 +72305,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct LockInfo<_0, _1> { @@ -71166,6 +72325,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum LockMultiplier { @@ -71190,6 +72350,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum Account<_0> { @@ -71215,6 +72376,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct SessionKeys { @@ -71234,6 +72396,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct MaxDelegations; @@ -71248,6 +72411,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct MaxDelegatorBlueprints; @@ -71262,6 +72426,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct MaxOperatorBlueprints; @@ -71276,6 +72441,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct MaxUnstakeRequests; @@ -71290,6 +72456,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct MaxWithdrawRequests; @@ -71304,6 +72471,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct NposSolution16 { @@ -71473,6 +72641,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum OriginCaller { @@ -71500,6 +72669,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum ProxyType { @@ -71523,6 +72693,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub struct Runtime; @@ -71537,6 +72708,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum RuntimeCall { @@ -71632,6 +72804,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum RuntimeError { @@ -71721,6 +72894,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum RuntimeEvent { @@ -71812,6 +72986,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum RuntimeFreezeReason { @@ -71831,6 +73006,7 @@ pub mod api { PartialEq, )] # [codec (crate = :: subxt_core :: ext :: codec)] + #[codec(dumb_trait_bound)] #[decode_as_type(crate_path = ":: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt_core :: ext :: scale_encode")] pub enum RuntimeHoldReason { From c5edfbbb1ba7fe7b29390a9b60052ac2545edd40 Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Thu, 27 Feb 2025 14:32:36 +0530 Subject: [PATCH 05/30] debug --- precompiles/batch/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/precompiles/batch/src/lib.rs b/precompiles/batch/src/lib.rs index d41dc2f17..1bd692bc1 100644 --- a/precompiles/batch/src/lib.rs +++ b/precompiles/batch/src/lib.rs @@ -20,7 +20,7 @@ #![cfg_attr(not(feature = "std"), no_std)] -use fp_evm::{Context, ExitError, ExitReason, Log, PrecompileFailure, PrecompileHandle, Transfer}; +use fp_evm::{ExitError, ExitReason, Log, PrecompileFailure, PrecompileHandle, Transfer}; use frame_support::traits::ConstU32; use precompile_utils::{evm::costs::call_cost, prelude::*}; use sp_core::{H160, U256}; From 2ee9a9f47464fa362464c1a0b61d6c1d95d84ba7 Mon Sep 17 00:00:00 2001 From: 1xstj <106580853+1xstj@users.noreply.github.com> Date: Thu, 27 Feb 2025 18:28:12 +0530 Subject: [PATCH 06/30] fixes --- node/tests/evm_restaking.rs | 120 +++++++++++++++++++++++-- precompiles/batch/Batch.sol | 7 +- precompiles/batch/src/lib.rs | 52 +++++------ precompiles/call-permit/CallPermit.sol | 4 +- precompiles/preimage/Preimage.sol | 4 +- 5 files changed, 145 insertions(+), 42 deletions(-) diff --git a/node/tests/evm_restaking.rs b/node/tests/evm_restaking.rs index 1c57c5ebb..d017be2ba 100644 --- a/node/tests/evm_restaking.rs +++ b/node/tests/evm_restaking.rs @@ -39,6 +39,11 @@ sol! { "../precompiles/multi-asset-delegation/MultiAssetDelegation.sol", } +sol! { + #[sol(rpc, all_derives)] + "../precompiles/batch/Batch.sol", +} + sol! { #[allow(clippy::too_many_arguments)] #[sol(rpc, all_derives)] @@ -47,6 +52,7 @@ sol! { } const MULTI_ASSET_DELEGATION: Address = address!("0000000000000000000000000000000000000822"); +const BATCH_ADDRESS: Address = address!("0000000000000000000000000000000000000804"); /// Waits for a specific block number to be reached pub async fn wait_for_block(provider: &impl Provider, block_number: u64) { @@ -172,7 +178,8 @@ async fn deploy_tangle_lrt( %base_token, %name, %symbol, - "Deploying Tangle LRT contract..."); + "Deploying Tangle LRT contract..." + ); let token = TangleLiquidRestakingVault::deploy( provider.clone(), base_token, @@ -532,19 +539,20 @@ fn operator_join_delegator_delegate_asset_id() { let bob = TestAccount::Bob; let bob_provider = alloy_provider_with_wallet(&t.provider, bob.evm_wallet()); - // Mint USDC for Bob using asset ID + // Mint USDC for Bob let mint_amount = 100_000_000u128; - let mint_call = |who| api::tx().assets().mint(t.usdc_asset_id, who, mint_amount); + let mint_call = api::tx().assets().mint( + t.usdc_asset_id, + bob.address().to_account_id().into(), + mint_amount, + ); info!("Minting {mint_amount} USDC for Bob"); let mut result = t .subxt .tx() - .sign_and_submit_then_watch_default( - &mint_call(bob.address().to_account_id().into()), - &alice.substrate_signer(), - ) + .sign_and_submit_then_watch_default(&mint_call, &alice.substrate_signer()) .await?; while let Some(Ok(s)) = result.next().await { if let TxStatus::InBestBlock(b) = s { @@ -566,9 +574,15 @@ fn operator_join_delegator_delegate_asset_id() { let precompile = MultiAssetDelegation::new(MULTI_ASSET_DELEGATION, &bob_provider); let delegate_amount = mint_amount.div(2); + let multiplier = 0; // Deposit and delegate using asset ID let deposit_result = precompile - .deposit(U256::from(t.usdc_asset_id), Address::ZERO, U256::from(delegate_amount), 0) + .deposit( + U256::from(t.usdc_asset_id), + Address::ZERO, + U256::from(delegate_amount), + multiplier, + ) .from(bob.address()) .send() .await? @@ -625,6 +639,24 @@ fn deposits_withdraw_erc20() { let bob_balance = usdc.balanceOf(bob.address()).call().await?; assert_eq!(bob_balance._0, mint_amount); + // Approve MULTI_ASSET_DELEGATION to spend tokens + let approve_result = usdc + .approve(Address::from(*MULTI_ASSET_DELEGATION), mint_amount) + .send() + .await? + .get_receipt() + .await?; + assert!(approve_result.status()); + + // Also approve BATCH_ADDRESS to spend tokens + let approve_batch_result = usdc + .approve(Address::from(*BATCH_ADDRESS), mint_amount) + .send() + .await? + .get_receipt() + .await?; + assert!(approve_batch_result.status()); + // Delegate assets let precompile = MultiAssetDelegation::new(MULTI_ASSET_DELEGATION, &bob_provider); let delegate_amount = mint_amount.div(U256::from(2)); @@ -679,6 +711,78 @@ fn deposits_withdraw_erc20() { }) } +#[test] +fn deposits_withdraw_erc20_works_with_batch() { + run_mad_test(|t| async move { + // Setup Bob as delegator + let bob = TestAccount::Bob; + let bob_provider = alloy_provider_with_wallet(&t.provider, bob.evm_wallet()); + let usdc = MockERC20::new(t.usdc, &bob_provider); + + // Mint USDC for Bob + let mint_amount = U256::from(100_000_000u128); + usdc.mint(bob.address(), mint_amount).send().await?.get_receipt().await?; + + let bob_balance = usdc.balanceOf(bob.address()).call().await?; + assert_eq!(bob_balance._0, mint_amount); + + // Initialize the precompiles + let precompile = MultiAssetDelegation::new(MULTI_ASSET_DELEGATION, &bob_provider); + let batch_precompile = Batch::new(BATCH_ADDRESS, &bob_provider); + let delegate_amount = mint_amount.div(U256::from(2)); + let multiplier = 0; + + // Approve the MultiAssetDelegation contract to spend tokens + let approve_result = usdc + .approve(Address::from(*MULTI_ASSET_DELEGATION), mint_amount) + .send() + .await? + .get_receipt() + .await?; + assert!(approve_result.status(), "Failed to approve MultiAssetDelegation contract"); + + // Test only the deposit operation through batch to isolate the issue + let mut to_addresses = Vec::