diff --git a/node/service/src/chain_spec/asgard.rs b/node/service/src/chain_spec/asgard.rs index 32f44b451..36822cd5b 100644 --- a/node/service/src/chain_spec/asgard.rs +++ b/node/service/src/chain_spec/asgard.rs @@ -20,8 +20,8 @@ use asgard_runtime::{ constants::currency::DOLLARS, AccountId, AuraId, Balance, BalancesConfig, BancorConfig, BlockNumber, CollatorSelectionConfig, CouncilConfig, DemocracyConfig, GenesisConfig, IndicesConfig, MinterRewardConfig, ParachainInfoConfig, PolkadotXcmConfig, SS58Prefix, - SessionConfig, SudoConfig, SystemConfig, TechnicalCommitteeConfig, TokensConfig, VestingConfig, - VtokenMintConfig, WASM_BINARY, + SalpConfig, SalpLiteConfig, SessionConfig, SudoConfig, SystemConfig, TechnicalCommitteeConfig, + TokensConfig, VestingConfig, VtokenMintConfig, WASM_BINARY, }; use bifrost_runtime_common::constants::time::*; use cumulus_primitives_core::ParaId; @@ -81,6 +81,8 @@ pub fn asgard_genesis( balances: Vec<(AccountId, Balance)>, vestings: Vec<(AccountId, BlockNumber, BlockNumber, Balance)>, tokens: Vec<(AccountId, CurrencyId, Balance)>, + salp_multisig_key: AccountId, + salp_lite_multisig_key_salp: AccountId, ) -> GenesisConfig { GenesisConfig { system: SystemConfig { @@ -154,6 +156,8 @@ pub fn asgard_genesis( ], }, polkadot_xcm: PolkadotXcmConfig { safe_xcm_version: Some(2) }, + salp: SalpConfig { initial_multisig_account: Some(salp_multisig_key) }, + salp_lite: SalpLiteConfig { initial_multisig_account: Some(salp_lite_multisig_key_salp) }, } } @@ -183,6 +187,10 @@ fn development_config_genesis(id: ParaId) -> GenesisConfig { ] }) .collect(); + let salp_multisig: AccountId = + hex!["49daa32c7287890f38b7e1a8cd2961723d36d20baa0bf3b82e0c4bdda93b1c0a"].into(); + let salp_lite_multisig: AccountId = + hex!["49daa32c7287890f38b7e1a8cd2961723d36d20baa0bf3b82e0c4bdda93b1c0a"].into(); asgard_genesis( vec![( @@ -194,6 +202,8 @@ fn development_config_genesis(id: ParaId) -> GenesisConfig { balances, vestings, tokens, + salp_multisig, + salp_lite_multisig, ) } @@ -260,6 +270,11 @@ fn local_config_genesis(id: ParaId) -> GenesisConfig { }) .collect(); + let salp_multisig: AccountId = + hex!["49daa32c7287890f38b7e1a8cd2961723d36d20baa0bf3b82e0c4bdda93b1c0a"].into(); + let salp_lite_multisig: AccountId = + hex!["49daa32c7287890f38b7e1a8cd2961723d36d20baa0bf3b82e0c4bdda93b1c0a"].into(); + asgard_genesis( vec![ ( @@ -273,6 +288,8 @@ fn local_config_genesis(id: ParaId) -> GenesisConfig { balances, vestings, tokens, + salp_multisig, + salp_lite_multisig, ) } @@ -356,6 +373,10 @@ fn asgard_config_genesis(id: ParaId) -> GenesisConfig { ] }) .collect(); + let salp_multisig: AccountId = + hex!["49daa32c7287890f38b7e1a8cd2961723d36d20baa0bf3b82e0c4bdda93b1c0a"].into(); + let salp_lite_multisig: AccountId = + hex!["49daa32c7287890f38b7e1a8cd2961723d36d20baa0bf3b82e0c4bdda93b1c0a"].into(); asgard_genesis( invulnerables, @@ -364,6 +385,8 @@ fn asgard_config_genesis(id: ParaId) -> GenesisConfig { balances, vesting_configs.into_iter().flat_map(|vc| vc.vesting).collect(), tokens, + salp_multisig, + salp_lite_multisig, ) } diff --git a/node/service/src/chain_spec/bifrost_kusama.rs b/node/service/src/chain_spec/bifrost_kusama.rs index 1c1bfda35..08e05c9e1 100644 --- a/node/service/src/chain_spec/bifrost_kusama.rs +++ b/node/service/src/chain_spec/bifrost_kusama.rs @@ -24,8 +24,9 @@ use std::{ use bifrost_kusama_runtime::{ AccountId, AuraId, Balance, BalancesConfig, BlockNumber, CollatorSelectionConfig, CouncilConfig, CouncilMembershipConfig, DemocracyConfig, GenesisConfig, IndicesConfig, - ParachainInfoConfig, PolkadotXcmConfig, SS58Prefix, SessionConfig, SystemConfig, - TechnicalCommitteeConfig, TechnicalMembershipConfig, TokensConfig, VestingConfig, WASM_BINARY, + ParachainInfoConfig, PolkadotXcmConfig, SS58Prefix, SalpConfig, SalpLiteConfig, SessionConfig, + SystemConfig, TechnicalCommitteeConfig, TechnicalMembershipConfig, TokensConfig, VestingConfig, + WASM_BINARY, }; use bifrost_runtime_common::dollar; use cumulus_primitives_core::ParaId; @@ -90,6 +91,8 @@ pub fn bifrost_genesis( tokens: Vec<(AccountId, CurrencyId, Balance)>, council_membership: Vec, technical_committee_membership: Vec, + salp_multisig_key: AccountId, + salp_lite_multisig_key_salp: AccountId, ) -> GenesisConfig { GenesisConfig { system: SystemConfig { @@ -138,6 +141,8 @@ pub fn bifrost_genesis( vesting: VestingConfig { vesting: vestings }, tokens: TokensConfig { balances: tokens }, polkadot_xcm: PolkadotXcmConfig { safe_xcm_version: Some(2) }, + salp: SalpConfig { initial_multisig_account: Some(salp_multisig_key) }, + salp_lite: SalpLiteConfig { initial_multisig_account: Some(salp_lite_multisig_key_salp) }, } } @@ -168,6 +173,12 @@ fn development_config_genesis(id: ParaId) -> GenesisConfig { let council_membership = vec![get_account_id_from_seed::("Alice")]; let technical_committee_membership = vec![get_account_id_from_seed::("Alice")]; + let salp_multisig: AccountId = + hex!["49daa32c7287890f38b7e1a8cd2961723d36d20baa0bf3b82e0c4bdda93b1c0a"].into(); + + let salp_lite_multisig: AccountId = + hex!["49daa32c7287890f38b7e1a8cd2961723d36d20baa0bf3b82e0c4bdda93b1c0a"].into(); + bifrost_genesis( vec![( get_account_id_from_seed::("Alice"), @@ -179,6 +190,8 @@ fn development_config_genesis(id: ParaId) -> GenesisConfig { tokens, council_membership, technical_committee_membership, + salp_multisig, + salp_lite_multisig, ) } @@ -244,6 +257,10 @@ fn local_config_genesis(id: ParaId) -> GenesisConfig { let council_membership = vec![get_account_id_from_seed::("Alice")]; let technical_committee_membership = vec![get_account_id_from_seed::("Alice")]; + let salp_multisig: AccountId = + hex!["49daa32c7287890f38b7e1a8cd2961723d36d20baa0bf3b82e0c4bdda93b1c0a"].into(); + let salp_lite_multisig: AccountId = + hex!["49daa32c7287890f38b7e1a8cd2961723d36d20baa0bf3b82e0c4bdda93b1c0a"].into(); bifrost_genesis( vec![ @@ -259,6 +276,8 @@ fn local_config_genesis(id: ParaId) -> GenesisConfig { tokens, council_membership, technical_committee_membership, + salp_multisig, + salp_lite_multisig, ) } @@ -358,6 +377,11 @@ fn bifrost_config_genesis(id: ParaId) -> GenesisConfig { let vesting_configs: Vec = config_from_json_files(exe_dir.join("res/genesis_config/vesting")).unwrap(); + let salp_multisig: AccountId = + hex!["e4da05f08e89bf6c43260d96f26fffcfc7deae5b465da08669a9d008e64c2c63"].into(); + let salp_lite_multisig: AccountId = + hex!["e4f78719c654cd8e8ac1375c447b7a80f9476cfe6505ea401c4b15bd6b967c93"].into(); + use sp_core::sp_std::collections::btree_map::BTreeMap; bifrost_genesis( invulnerables, @@ -367,6 +391,8 @@ fn bifrost_config_genesis(id: ParaId) -> GenesisConfig { vec![], // tokens vec![], // council membership vec![], // technical committee membership + salp_multisig, + salp_lite_multisig, ) } diff --git a/pallets/salp-lite/src/lib.rs b/pallets/salp-lite/src/lib.rs index ee7451f6c..78757831a 100644 --- a/pallets/salp-lite/src/lib.rs +++ b/pallets/salp-lite/src/lib.rs @@ -48,7 +48,7 @@ pub enum FundStatus { Failed, RefundWithdrew, RedeemWithdrew, - End, + FailedToContinue, } impl Default for FundStatus { @@ -143,7 +143,6 @@ pub mod pallet { type EnsureConfirmAsGovernance: EnsureOrigin<::Origin>; - /// Weight information for the extrinsics in this module. type WeightInfo: WeightInfo; } @@ -161,7 +160,7 @@ pub mod pallet { /// Withdrew full balance of a contributor. [who, fund_index, amount] Withdrew(ParaId, BalanceOf), /// refund to account. [who, fund_index,value] - Refunded(AccountIdOf, ParaId, BalanceOf), + Refunded(AccountIdOf, ParaId, LeasePeriod, LeasePeriod, BalanceOf), /// redeem to account. [who, fund_index, first_slot, last_slot, value] Redeemed(AccountIdOf, ParaId, LeasePeriod, LeasePeriod, BalanceOf), /// Fund is edited. [fund_index] @@ -175,9 +174,8 @@ pub mod pallet { Failed(ParaId), Success(ParaId), Retired(ParaId), - End(ParaId), - /// vsAssets migrated - AllMigrated(ParaId), + Continued(ParaId, LeasePeriod, LeasePeriod), + RefundedDissolved(ParaId, LeasePeriod, LeasePeriod), } #[pallet::error] @@ -216,8 +214,18 @@ pub mod pallet { NotEnoughFreeAssetsToRedeem, /// Don't have enough token to redeem by users NotEnoughBalanceInRedeemPool, + /// Invalid Fund when refund/redeem + NotEnoughBalanceInFund, + InvalidFundSameSlot, + InvalidFundNotExist, + InvalidRefund, } + /// Multisig confirm account + #[pallet::storage] + #[pallet::getter(fn multisig_confirm_account)] + pub type MultisigConfirmAccount = StorageValue<_, AccountIdOf, ValueQuery>; + /// Tracker for the next available fund index #[pallet::storage] #[pallet::getter(fn current_trie_index)] @@ -234,60 +242,60 @@ pub mod pallet { ValueQuery, >; - /// The balance can be redeemed to users. - #[pallet::storage] - #[pallet::getter(fn redeem_pool)] - pub(super) type RedeemPool = StorageValue<_, BalanceOf, ValueQuery>; - - /// Funds to migrate + /// Info on all of the fail-to-continue funds. #[pallet::storage] - #[pallet::getter(fn to_migrate_funds)] - pub(super) type FundsToMigrate = StorageMap< + #[pallet::getter(fn failed_funds_to_refund)] + pub(super) type FailedFundsToRefund = StorageNMap< _, - Blake2_128Concat, - ParaId, + ( + NMapKey, + NMapKey, + NMapKey, + ), Option, LeasePeriod>>, ValueQuery, >; - #[pallet::call] - impl Pallet { - #[pallet::weight(( - 0, - DispatchClass::Normal, - Pays::No - ))] - pub fn fund_success( - origin: OriginFor, - #[pallet::compact] index: ParaId, - ) -> DispatchResult { - T::EnsureConfirmAsGovernance::ensure_origin(origin)?; + /// The balance can be redeemed to users. + #[pallet::storage] + #[pallet::getter(fn redeem_pool)] + pub(super) type RedeemPool = StorageValue<_, BalanceOf, ValueQuery>; - let fund = Self::funds(index).ok_or(Error::::InvalidParaId)?; - ensure!(fund.status == FundStatus::Ongoing, Error::::InvalidFundStatus); + #[pallet::genesis_config] + pub struct GenesisConfig { + pub initial_multisig_account: Option>, + } - let fund_new = FundInfo { status: FundStatus::Success, ..fund }; - Funds::::insert(index, Some(fund_new)); - Self::deposit_event(Event::::Success(index)); + #[cfg(feature = "std")] + impl Default for GenesisConfig { + fn default() -> Self { + Self { initial_multisig_account: None } + } + } - Ok(()) + #[pallet::genesis_build] + impl GenesisBuild for GenesisConfig { + fn build(&self) { + if let Some(ref key) = self.initial_multisig_account { + MultisigConfirmAccount::::put(key) + } } + } + #[pallet::call] + impl Pallet { #[pallet::weight(( 0, DispatchClass::Normal, Pays::No ))] - pub fn fund_fail(origin: OriginFor, #[pallet::compact] index: ParaId) -> DispatchResult { + pub fn set_multisig_confirm_account( + origin: OriginFor, + account: AccountIdOf, + ) -> DispatchResult { T::EnsureConfirmAsGovernance::ensure_origin(origin)?; - // crownload is failed, so enable the withdrawal function of vsToken/vsBond - let fund = Self::funds(index).ok_or(Error::::InvalidParaId)?; - ensure!(fund.status == FundStatus::Ongoing, Error::::InvalidFundStatus); - - let fund_new = FundInfo { status: FundStatus::Failed, ..fund }; - Funds::::insert(index, Some(fund_new)); - Self::deposit_event(Event::::Failed(index)); + Self::set_multisig_account(account); Ok(()) } @@ -297,18 +305,18 @@ pub mod pallet { DispatchClass::Normal, Pays::No ))] - pub fn fund_retire( + pub fn fund_success( origin: OriginFor, #[pallet::compact] index: ParaId, ) -> DispatchResult { T::EnsureConfirmAsGovernance::ensure_origin(origin)?; let fund = Self::funds(index).ok_or(Error::::InvalidParaId)?; - ensure!(fund.status == FundStatus::Success, Error::::InvalidFundStatus); + ensure!(fund.status == FundStatus::Ongoing, Error::::InvalidFundStatus); - let fund_new = FundInfo { status: FundStatus::Retired, ..fund }; + let fund_new = FundInfo { status: FundStatus::Success, ..fund }; Funds::::insert(index, Some(fund_new)); - Self::deposit_event(Event::::Retired(index)); + Self::deposit_event(Event::::Success(index)); Ok(()) } @@ -318,119 +326,38 @@ pub mod pallet { DispatchClass::Normal, Pays::No ))] - pub fn fund_end(origin: OriginFor, #[pallet::compact] index: ParaId) -> DispatchResult { + pub fn fund_fail(origin: OriginFor, #[pallet::compact] index: ParaId) -> DispatchResult { T::EnsureConfirmAsGovernance::ensure_origin(origin)?; + // crownload is failed, so enable the withdrawal function of vsToken/vsBond let fund = Self::funds(index).ok_or(Error::::InvalidParaId)?; - ensure!( - fund.status == FundStatus::RefundWithdrew || - fund.status == FundStatus::RedeemWithdrew, - Error::::InvalidFundStatus - ); + ensure!(fund.status == FundStatus::Ongoing, Error::::InvalidFundStatus); - let fund_new = FundInfo { status: FundStatus::End, ..fund }; + let fund_new = FundInfo { status: FundStatus::Failed, ..fund }; Funds::::insert(index, Some(fund_new)); - Self::deposit_event(Event::::End(index)); + + Self::deposit_event(Event::::Failed(index)); Ok(()) } - /// Edit the configuration for an in-progress crowdloan. - /// - /// Can only be called by Root origin. #[pallet::weight(( 0, DispatchClass::Normal, Pays::No ))] - pub fn edit( + pub fn fund_retire( origin: OriginFor, #[pallet::compact] index: ParaId, - #[pallet::compact] cap: BalanceOf, - #[pallet::compact] first_slot: LeasePeriod, - #[pallet::compact] last_slot: LeasePeriod, - fund_status: Option, ) -> DispatchResult { T::EnsureConfirmAsGovernance::ensure_origin(origin)?; let fund = Self::funds(index).ok_or(Error::::InvalidParaId)?; + ensure!(fund.status == FundStatus::Success, Error::::InvalidFundStatus); - let status = match fund_status { - None => fund.status, - Some(status) => status, - }; - FundsToMigrate::::insert( - index, - Some(FundInfo { - cap, - first_slot, - last_slot, - status, - raised: fund.raised, - trie_index: fund.trie_index, - }), - ); - Self::deposit_event(Event::::Edited(index)); - Ok(()) - } - - /// Batch migrate old vsBond to new - #[pallet::weight(T::WeightInfo::batch_migrate(T::BatchKeysLimit::get()))] - #[transactional] - pub fn batch_migrate( - origin: OriginFor, - #[pallet::compact] index: ParaId, - ) -> DispatchResult { - ensure_signed(origin)?; - let fund = Self::funds(index).ok_or(Error::::InvalidParaId)?; - ensure!( - fund.status == FundStatus::Failed || fund.status == FundStatus::RefundWithdrew, - Error::::InvalidFundStatus - ); - let to_migrate_fund = Self::to_migrate_funds(index).ok_or(Error::::InvalidParaId)?; - - let mut migrate_count = 0u32; - let contributions = Self::contribution_iterator(fund.trie_index); - let mut all_migrated = true; - - if fund.first_slot != to_migrate_fund.first_slot || - fund.last_slot != to_migrate_fund.last_slot - { - for (who, (contributed, status)) in contributions { - if migrate_count >= T::BatchKeysLimit::get() { - // Not everyone was able to be refunded this time around. - all_migrated = false; - break; - } - if status != ContributionStatus::MigrateToIdle { - #[allow(non_snake_case)] - let (_, vsBond) = Self::vsAssets(index, fund.first_slot, fund.last_slot); - - T::MultiCurrency::withdraw(vsBond, &who, contributed)?; - - let (_, vs_bond_new) = Self::vsAssets( - index, - to_migrate_fund.first_slot, - to_migrate_fund.last_slot, - ); - T::MultiCurrency::deposit(vs_bond_new, &who, contributed)?; - - Self::put_contribution( - fund.trie_index, - &who, - contributed, - ContributionStatus::MigrateToIdle, - ); - migrate_count += 1; - } - } - } - - if all_migrated { - FundsToMigrate::::remove(index); - Funds::::insert(index, Some(to_migrate_fund)); - Self::deposit_event(Event::::AllMigrated(index)); - } + let fund_new = FundInfo { status: FundStatus::Retired, ..fund }; + Funds::::insert(index, Some(fund_new)); + Self::deposit_event(Event::::Retired(index)); Ok(()) } @@ -492,7 +419,10 @@ pub mod pallet { #[pallet::compact] value: BalanceOf, message_id: MessageId, ) -> DispatchResult { - T::EnsureConfirmAsMultiSig::ensure_origin(origin.clone())?; + let issuer = ensure_signed(origin.clone())?; + if issuer != MultisigConfirmAccount::::get() { + return Err(DispatchError::BadOrigin.into()); + } let fund = Self::funds(index).ok_or(Error::::InvalidParaId)?; ensure!(fund.status == FundStatus::Ongoing, Error::::InvalidFundStatus); @@ -568,15 +498,10 @@ pub mod pallet { let who = ensure_signed(origin.clone())?; let mut fund = Self::funds(index).ok_or(Error::::InvalidParaId)?; - ensure!( - fund.status == FundStatus::RefundWithdrew || - fund.status == FundStatus::RedeemWithdrew, - Error::::InvalidFundStatus - ); - + ensure!(fund.status == FundStatus::RedeemWithdrew, Error::::InvalidFundStatus); + ensure!(fund.raised >= value, Error::::NotEnoughBalanceInFund); ensure!(Self::redeem_pool() >= value, Error::::NotEnoughBalanceInRedeemPool); - let (contributed, _) = Self::contribution(fund.trie_index, &who); #[allow(non_snake_case)] let (vsToken, vsBond) = Self::vsAssets(index, fund.first_slot, fund.last_slot); @@ -588,16 +513,9 @@ pub mod pallet { T::MultiCurrency::withdraw(vsToken, &who, value)?; T::MultiCurrency::withdraw(vsBond, &who, value)?; RedeemPool::::set(Self::redeem_pool().saturating_sub(value)); - fund.raised = fund.raised.saturating_sub(value); + Funds::::insert(index, Some(fund.clone())); - let contributed_new = contributed.saturating_sub(value); - Self::put_contribution( - fund.trie_index, - &who, - contributed_new, - ContributionStatus::Redeemed, - ); Self::deposit_event(Event::Redeemed( who, index, @@ -620,7 +538,11 @@ pub mod pallet { T::EnsureConfirmAsGovernance::ensure_origin(origin)?; let mut fund = Self::funds(index).ok_or(Error::::InvalidParaId)?; - ensure!(fund.status == FundStatus::End, Error::::InvalidFundStatus); + ensure!( + fund.status == FundStatus::RedeemWithdrew || + fund.status == FundStatus::RefundWithdrew, + Error::::InvalidFundStatus + ); let mut refund_count = 0u32; // Try killing the crowdloan child trie and Assume everyone will be refunded. @@ -644,6 +566,129 @@ pub mod pallet { Ok(()) } + + #[pallet::weight(( + 0, + DispatchClass::Normal, + Pays::No + ))] + pub fn continue_fund( + origin: OriginFor, + #[pallet::compact] index: ParaId, + #[pallet::compact] first_slot: LeasePeriod, + #[pallet::compact] last_slot: LeasePeriod, + ) -> DispatchResult { + T::EnsureConfirmAsGovernance::ensure_origin(origin)?; + + // crownload is failed, so enable the withdrawal function of vsToken/vsBond + let fund = Self::funds(index).ok_or(Error::::InvalidParaId)?; + ensure!(fund.status == FundStatus::RefundWithdrew, Error::::InvalidFundStatus); + ensure!( + fund.first_slot != first_slot || fund.last_slot != last_slot, + Error::::InvalidFundSameSlot + ); + + let fund_old = FundInfo { status: FundStatus::FailedToContinue, ..fund }; + FailedFundsToRefund::::insert( + (index, fund.first_slot, fund.last_slot), + Some(fund_old.clone()), + ); + let fund_new = FundInfo { status: FundStatus::Ongoing, first_slot, last_slot, ..fund }; + Funds::::insert(index, Some(fund_new)); + + Self::deposit_event(Event::::Continued( + index, + fund_old.first_slot, + fund_old.last_slot, + )); + + Ok(()) + } + + #[pallet::weight(T::WeightInfo::refund())] + #[transactional] + pub fn refund( + origin: OriginFor, + #[pallet::compact] index: ParaId, + #[pallet::compact] first_slot: LeasePeriod, + #[pallet::compact] last_slot: LeasePeriod, + #[pallet::compact] value: BalanceOf, + ) -> DispatchResult { + let who = ensure_signed(origin.clone())?; + + let mut fund = Self::find_fund(index, first_slot, last_slot) + .map_err(|_| Error::::InvalidFundNotExist)?; + ensure!( + fund.status == FundStatus::FailedToContinue || + fund.status == FundStatus::RefundWithdrew, + Error::::InvalidRefund + ); + ensure!( + fund.first_slot == first_slot && fund.last_slot == last_slot, + Error::::InvalidRefund + ); + ensure!(fund.raised >= value, Error::::NotEnoughBalanceInFund); + ensure!(Self::redeem_pool() >= value, Error::::NotEnoughBalanceInRefundPool); + + #[allow(non_snake_case)] + let (vsToken, vsBond) = Self::vsAssets(index, fund.first_slot, fund.last_slot); + T::MultiCurrency::ensure_can_withdraw(vsToken, &who, value) + .map_err(|_e| Error::::NotEnoughFreeAssetsToRedeem)?; + T::MultiCurrency::ensure_can_withdraw(vsBond, &who, value) + .map_err(|_e| Error::::NotEnoughFreeAssetsToRedeem)?; + + T::MultiCurrency::withdraw(vsToken, &who, value)?; + T::MultiCurrency::withdraw(vsBond, &who, value)?; + + RedeemPool::::set(Self::redeem_pool().saturating_sub(value)); + let mut fund_new = Self::funds(index).ok_or(Error::::InvalidParaId)?; + fund_new.raised = fund_new.raised.saturating_sub(value); + Funds::::insert(index, Some(fund_new)); + if fund.status == FundStatus::FailedToContinue { + fund.raised = fund.raised.saturating_sub(value); + FailedFundsToRefund::::insert( + (index, first_slot, last_slot), + Some(fund.clone()), + ); + } + + Self::deposit_event(Event::Refunded( + who, + index, + fund.first_slot, + fund.last_slot, + value, + )); + + Ok(()) + } + + /// Remove a fund after the retirement period has ended and all funds have been returned. + #[pallet::weight(( + 0, + DispatchClass::Normal, + Pays::No + ))] + #[transactional] + pub fn dissolve_refunded( + origin: OriginFor, + #[pallet::compact] index: ParaId, + #[pallet::compact] first_slot: LeasePeriod, + #[pallet::compact] last_slot: LeasePeriod, + ) -> DispatchResult { + T::EnsureConfirmAsGovernance::ensure_origin(origin)?; + + let fund = Self::failed_funds_to_refund((index, first_slot, last_slot)) + .ok_or(Error::::InvalidRefund)?; + + ensure!(fund.status == FundStatus::FailedToContinue, Error::::InvalidFundStatus); + + FailedFundsToRefund::::remove((index, first_slot, last_slot)); + + Self::deposit_event(Event::::RefundedDissolved(index, first_slot, last_slot)); + + Ok(()) + } } #[pallet::hooks] @@ -675,6 +720,24 @@ pub mod pallet { } impl Pallet { + /// set multisig account + pub fn set_multisig_account(account: AccountIdOf) { + MultisigConfirmAccount::::put(account); + } + + pub fn find_fund( + index: ParaId, + first_slot: LeasePeriod, + last_slot: LeasePeriod, + ) -> Result, LeasePeriod>, Error> { + return match Self::failed_funds_to_refund((index, first_slot, last_slot)) { + Some(fund) => Ok(fund), + _ => match Self::funds(index) { + Some(fund) => Ok(fund), + _ => Err(Error::::InvalidFundNotExist), + }, + }; + } pub fn fund_account_id(index: ParaId) -> T::AccountId { T::PalletId::get().into_sub_account(index) } @@ -761,13 +824,13 @@ pub mod pallet { } pub trait WeightInfo { - fn batch_migrate(k: u32) -> Weight; + fn refund() -> Weight; fn redeem() -> Weight; } // For backwards compatibility and tests impl WeightInfo for () { - fn batch_migrate(_k: u32) -> Weight { + fn refund() -> Weight { 50_000_000 as Weight } diff --git a/pallets/salp-lite/src/mock.rs b/pallets/salp-lite/src/mock.rs index a1f5f76ca..52bac8353 100644 --- a/pallets/salp-lite/src/mock.rs +++ b/pallets/salp-lite/src/mock.rs @@ -251,7 +251,7 @@ impl WeightInfo for SalpWeightInfo { 0 } - fn batch_migrate(_k: u32) -> Weight { + fn refund() -> Weight { 0 } } diff --git a/pallets/salp-lite/src/tests.rs b/pallets/salp-lite/src/tests.rs index aa4088f90..9463e7493 100644 --- a/pallets/salp-lite/src/tests.rs +++ b/pallets/salp-lite/src/tests.rs @@ -194,55 +194,6 @@ fn set_fund_retire_with_with_wrong_fund_status_should_fail() { }); } -#[test] -fn set_fund_end_should_work() { - new_test_ext().execute_with(|| { - assert_ok!(Salp::create(Some(ALICE).into(), 3_000, 1_000, 1, SlotLength::get())); - assert_ok!(Salp::fund_success(Some(ALICE).into(), 3_000)); - assert_ok!(Salp::fund_retire(Some(ALICE).into(), 3_000)); - assert_ok!(Salp::withdraw(Some(ALICE).into(), 3_000)); - assert_ok!(Salp::fund_end(Some(ALICE).into(), 3_000)); - - // Check storage - let fund = Salp::funds(3_000).unwrap(); - assert_eq!(fund.status, FundStatus::End); - }); -} - -#[test] -fn set_fund_end_with_wrong_origin_should_fail() { - new_test_ext().execute_with(|| { - assert_ok!(Salp::create(Some(ALICE).into(), 3_000, 1_000, 1, SlotLength::get())); - assert_ok!(Salp::fund_success(Some(ALICE).into(), 3_000)); - assert_ok!(Salp::fund_retire(Some(ALICE).into(), 3_000)); - assert_ok!(Salp::withdraw(Some(ALICE).into(), 3_000)); - - assert_noop!(Salp::fund_end(Origin::none(), 3_000), DispatchError::BadOrigin); - }); -} - -#[test] -fn set_fund_end_with_wrong_wrong_para_id_should_fail() { - new_test_ext().execute_with(|| { - assert_ok!(Salp::create(Some(ALICE).into(), 3_000, 1_000, 1, SlotLength::get())); - assert_ok!(Salp::fund_success(Some(ALICE).into(), 3_000)); - assert_ok!(Salp::fund_retire(Some(ALICE).into(), 3_000)); - assert_ok!(Salp::withdraw(Some(ALICE).into(), 3_000)); - - assert_noop!(Salp::fund_end(Some(ALICE).into(), 4_000), Error::::InvalidParaId); - }); -} - -#[test] -fn set_fund_end_with_wrong_fund_status_should_fail() { - new_test_ext().execute_with(|| { - assert_ok!(Salp::create(Some(ALICE).into(), 3_000, 1_000, 1, SlotLength::get())); - assert_ok!(Salp::fund_success(Some(ALICE).into(), 3_000)); - - assert_noop!(Salp::fund_end(Some(ALICE).into(), 3_000), Error::::InvalidFundStatus); - }); -} - #[test] fn contribute_should_work() { new_test_ext().execute_with(|| { @@ -461,12 +412,7 @@ fn refund_should_work() { assert_ok!(Salp::issue(Some(ALICE).into(), BRUCE, 3_000, 100, CONTRIBUTON_INDEX)); assert_ok!(Salp::fund_fail(Some(ALICE).into(), 3_000)); assert_ok!(Salp::withdraw(Some(ALICE).into(), 3_000)); - assert_ok!(Salp::redeem(Some(BRUCE).into(), 3_000, 100)); - - let fund = Salp::funds(3_000).unwrap(); - let (contributed, status) = Salp::contribution(fund.trie_index, &BRUCE); - assert_eq!(contributed, 0); - assert_eq!(status, ContributionStatus::Redeemed); + assert_ok!(Salp::refund(Some(BRUCE).into(), 3_000, 1, SlotLength::get(), 100)); #[allow(non_snake_case)] let (vsToken, vsBond) = Salp::vsAssets(3_000, 1, SlotLength::get()); @@ -487,8 +433,8 @@ fn refund_with_zero_contribution_should_fail() { assert_ok!(Salp::withdraw(Some(ALICE).into(), 3_000)); assert_noop!( - Salp::redeem(Some(BRUCE).into(), 3_000, 1000), - Error::::NotEnoughBalanceInRedeemPool + Salp::refund(Some(BRUCE).into(), 3_000, 1, SlotLength::get(), 100), + Error::::NotEnoughBalanceInFund ); }); } @@ -501,10 +447,16 @@ fn refund_with_wrong_origin_should_fail() { assert_ok!(Salp::fund_fail(Some(ALICE).into(), 3_000)); assert_ok!(Salp::withdraw(Some(ALICE).into(), 3_000)); - assert_noop!(Salp::redeem(Origin::root(), 3_000, 100), DispatchError::BadOrigin); - assert_noop!(Salp::redeem(Origin::none(), 3_000, 100), DispatchError::BadOrigin); + assert_noop!( + Salp::refund(Origin::root(), 3_000, 1, SlotLength::get(), 100), + DispatchError::BadOrigin + ); + assert_noop!( + Salp::refund(Origin::none(), 3_000, 1, SlotLength::get(), 100), + DispatchError::BadOrigin + ); - assert_ok!(Salp::redeem(Some(BRUCE).into(), 3_000, 100)); + assert_ok!(Salp::refund(Some(BRUCE).into(), 3_000, 1, SlotLength::get(), 100)); }); } @@ -539,7 +491,6 @@ fn dissolve_should_work() { assert_ok!(Salp::fund_success(Some(ALICE).into(), 3_000)); assert_ok!(Salp::fund_retire(Some(ALICE).into(), 3_000)); assert_ok!(Salp::withdraw(Some(ALICE).into(), 3_000)); - assert_ok!(Salp::fund_end(Some(ALICE).into(), 3_000)); for _ in 0..remove_times { assert_ok!(Salp::dissolve(Some(ALICE).into(), 3_000)); @@ -557,7 +508,6 @@ fn dissolve_with_wrong_origin_should_fail() { assert_ok!(Salp::fund_success(Some(ALICE).into(), 3_000)); assert_ok!(Salp::fund_retire(Some(ALICE).into(), 3_000)); assert_ok!(Salp::withdraw(Some(ALICE).into(), 3_000)); - assert_ok!(Salp::fund_end(Some(ALICE).into(), 3_000)); assert_noop!(Salp::dissolve(Origin::none(), 3_000), DispatchError::BadOrigin); }); @@ -570,24 +520,11 @@ fn dissolve_with_wrong_para_id_should_fail() { assert_ok!(Salp::fund_success(Some(ALICE).into(), 3_000)); assert_ok!(Salp::fund_retire(Some(ALICE).into(), 3_000)); assert_ok!(Salp::withdraw(Some(ALICE).into(), 3_000)); - assert_ok!(Salp::fund_end(Some(ALICE).into(), 3_000)); assert_noop!(Salp::dissolve(Some(ALICE).into(), 4_000), Error::::InvalidParaId); }); } -#[test] -fn dissolve_with_wrong_fund_status_should_fail() { - new_test_ext().execute_with(|| { - assert_ok!(Salp::create(Some(ALICE).into(), 3_000, 1_000, 1, SlotLength::get())); - assert_ok!(Salp::fund_success(Some(ALICE).into(), 3_000)); - assert_ok!(Salp::fund_retire(Some(ALICE).into(), 3_000)); - assert_ok!(Salp::withdraw(Some(ALICE).into(), 3_000)); - - assert_noop!(Salp::dissolve(Some(ALICE).into(), 3_000), Error::::InvalidFundStatus); - }); -} - #[test] fn redeem_should_work() { new_test_ext().execute_with(|| { @@ -761,7 +698,7 @@ fn redeem_without_enough_balance_in_pool_should_fail() { // Before withdraw assert_noop!( Salp::redeem(Some(BRUCE).into(), 3_000, 200), - Error::::NotEnoughBalanceInRedeemPool + Error::::NotEnoughBalanceInFund ); }); } @@ -809,38 +746,7 @@ fn check_next_trie_index() { } #[test] -fn batch_migrate_should_work() { - new_test_ext().execute_with(|| { - assert_ok!(Salp::create(Some(ALICE).into(), 3_000, 1_000, 1, SlotLength::get())); - assert_ok!(Salp::issue(Some(ALICE).into(), BRUCE, 3_000, 100, CONTRIBUTON_INDEX)); - assert_ok!(Salp::fund_fail(Some(ALICE).into(), 3_000)); - - assert_ok!(Salp::edit( - Some(ALICE).into(), - 3_000, - 1_000, - 2, - SlotLength::get() + 1, - Some(FundStatus::Ongoing) - )); - let to_migrate_fund = Salp::to_migrate_funds(3_000).unwrap(); - assert_eq!(to_migrate_fund.first_slot, 2); - - let (_, _) = Salp::vsAssets(3000, 1, SlotLength::get()); - - assert_ok!(Salp::batch_migrate(Some(ALICE).into(), 3_000)); - - let migrated = Salp::to_migrate_funds(3_000); - assert!(migrated.is_none()); - - let fund = Salp::funds(3_000).unwrap(); - assert_eq!(fund.status, FundStatus::Ongoing); - assert_eq!(fund.first_slot, 2); - }) -} - -#[test] -fn redeem_when_fund_failed_should_work() { +fn refund_when_fund_failed_should_work() { new_test_ext().execute_with(|| { assert_ok!(Salp::create(Some(ALICE).into(), 3_000, 1_000, 1, SlotLength::get())); assert_ok!(Salp::issue(Some(ALICE).into(), BRUCE, 3_000, 100, CONTRIBUTON_INDEX)); @@ -854,7 +760,7 @@ fn redeem_when_fund_failed_should_work() { assert_ok!(>::transfer(vsToken, &BRUCE, &CATHI, 50)); assert_ok!(>::transfer(vsBond, &BRUCE, &CATHI, 50)); - assert_ok!(Salp::redeem(Some(BRUCE).into(), 3_000, 50)); + assert_ok!(Salp::refund(Some(BRUCE).into(), 3_000, 1, SlotLength::get(), 50)); assert_eq!(Tokens::accounts(BRUCE, vsToken).free, 0); assert_eq!(Tokens::accounts(BRUCE, vsToken).frozen, 0); @@ -863,7 +769,7 @@ fn redeem_when_fund_failed_should_work() { assert_eq!(Tokens::accounts(BRUCE, vsBond).frozen, 0); assert_eq!(Tokens::accounts(BRUCE, vsBond).reserved, 0); - assert_ok!(Salp::redeem(Some(CATHI).into(), 3_000, 50)); + assert_ok!(Salp::refund(Some(CATHI).into(), 3_000, 1, SlotLength::get(), 50)); assert_eq!(Tokens::accounts(CATHI, vsToken).free, 0); assert_eq!(Tokens::accounts(CATHI, vsToken).frozen, 0); @@ -875,7 +781,7 @@ fn redeem_when_fund_failed_should_work() { } #[test] -fn redeem_with_more_than_contribute_should_work() { +fn refund_with_more_than_contribute_should_fail() { new_test_ext().execute_with(|| { assert_ok!(Salp::create(Some(ALICE).into(), 3_000, 1_000, 1, SlotLength::get())); assert_ok!(Salp::issue(Some(ALICE).into(), BRUCE, 3_000, 100, CONTRIBUTON_INDEX)); @@ -890,8 +796,73 @@ fn redeem_with_more_than_contribute_should_work() { assert_ok!(>::transfer(vsBond, &BRUCE, &CATHI, 50)); assert_noop!( - Salp::redeem(Some(BRUCE).into(), 3_000, 60), + Salp::refund(Some(BRUCE).into(), 3_000, 1, SlotLength::get(), 60), Error::::NotEnoughFreeAssetsToRedeem ); }); } + +#[test] +fn set_confirmor_should_work() { + new_test_ext().execute_with(|| { + assert_ok!(Salp::create(Some(ALICE).into(), 3_000, 1_000, 1, SlotLength::get())); + assert_noop!( + Salp::issue(Some(BRUCE).into(), BRUCE, 3_000, 100, CONTRIBUTON_INDEX), + DispatchError::BadOrigin, + ); + assert_ok!(Salp::set_multisig_confirm_account(Some(ALICE).into(), BRUCE)); + assert_ok!(Salp::issue(Some(BRUCE).into(), BRUCE, 3_000, 100, CONTRIBUTON_INDEX)); + }); +} + +#[test] +fn refund_meanwhile_issue_should_work() { + new_test_ext().execute_with(|| { + assert_ok!(Salp::create(Some(ALICE).into(), 3_000, 1_000, 1, SlotLength::get())); + assert_ok!(Salp::issue(Some(ALICE).into(), BRUCE, 3_000, 100, CONTRIBUTON_INDEX)); + assert_ok!(Salp::fund_fail(Some(ALICE).into(), 3_000)); + assert_ok!(Salp::withdraw(Some(ALICE).into(), 3_000)); + let (_, vs_bond_old) = Salp::vsAssets(3_000, 1, SlotLength::get()); + assert_eq!(Tokens::accounts(BRUCE, vs_bond_old).free, 100); + assert_ok!(Salp::continue_fund(Some(ALICE).into(), 3_000, 2, SlotLength::get() + 1)); + let old_fund = Salp::failed_funds_to_refund((3_000, 1, SlotLength::get())).unwrap(); + assert_eq!(old_fund.first_slot, 1); + assert_eq!(old_fund.raised, 100); + let mut new_fund = Salp::funds(3_000).unwrap(); + assert_eq!(new_fund.first_slot, 2); + assert_eq!(new_fund.raised, 100); + let (_, vs_bond_new) = Salp::vsAssets(3_000, 2, SlotLength::get() + 1); + assert_ok!(Salp::issue(Some(ALICE).into(), BRUCE, 3_000, 100, CONTRIBUTON_INDEX)); + new_fund = Salp::funds(3_000).unwrap(); + assert_eq!(new_fund.raised, 200); + assert_eq!(Tokens::accounts(BRUCE, vs_bond_new).free, 100); + // refund from old failed fund should success + assert_ok!(Salp::refund(Some(BRUCE).into(), 3_000, 1, SlotLength::get(), 50)); + assert_eq!(Tokens::accounts(BRUCE, vs_bond_old).free, 50); + // refund from new fund should failed + assert_noop!( + Salp::refund(Some(BRUCE).into(), 3_000, 2, SlotLength::get() + 1, 100), + Error::::InvalidRefund, + ); + // refund from not exist fund should failed + assert_noop!( + Salp::refund(Some(BRUCE).into(), 4_000, 2, SlotLength::get() + 1, 100), + Error::::InvalidFundNotExist, + ); + // after dissolve failed fund refund from old should fail + assert_ok!(Salp::dissolve_refunded(Some(ALICE).into(), 3_000, 1, SlotLength::get())); + assert_noop!( + Salp::refund(Some(BRUCE).into(), 3_000, 1, SlotLength::get(), 50), + Error::::InvalidRefund, + ); + // after new fund finally success redeem should success + assert_ok!(Salp::fund_success(Some(ALICE).into(), 3_000)); + assert_ok!(Salp::fund_retire(Some(ALICE).into(), 3_000)); + assert_ok!(Salp::withdraw(Some(ALICE).into(), 3_000)); + assert_ok!(Salp::redeem(Some(BRUCE).into(), 3_000, 50)); + assert_eq!(Tokens::accounts(BRUCE, vs_bond_new).free, 50); + // after fund dissolved redeem should fail + assert_ok!(Salp::dissolve(Some(ALICE).into(), 3_000)); + assert_noop!(Salp::redeem(Some(BRUCE).into(), 3_000, 50), Error::::InvalidParaId); + }); +} diff --git a/pallets/salp/src/lib.rs b/pallets/salp/src/lib.rs index 5cc2e1121..7a839ce6b 100644 --- a/pallets/salp/src/lib.rs +++ b/pallets/salp/src/lib.rs @@ -297,6 +297,11 @@ pub mod pallet { NotEnoughBalanceInRedeemPool, } + /// Multisig confirm account + #[pallet::storage] + #[pallet::getter(fn multisig_confirm_account)] + pub type MultisigConfirmAccount = StorageValue<_, AccountIdOf, ValueQuery>; + /// Tracker for the next available fund index #[pallet::storage] #[pallet::getter(fn current_trie_index)] @@ -325,8 +330,45 @@ pub mod pallet { #[pallet::getter(fn redeem_pool)] pub(super) type RedeemPool = StorageValue<_, BalanceOf, ValueQuery>; + #[pallet::genesis_config] + pub struct GenesisConfig { + pub initial_multisig_account: Option>, + } + + #[cfg(feature = "std")] + impl Default for GenesisConfig { + fn default() -> Self { + Self { initial_multisig_account: None } + } + } + + #[pallet::genesis_build] + impl GenesisBuild for GenesisConfig { + fn build(&self) { + if let Some(ref key) = self.initial_multisig_account { + MultisigConfirmAccount::::put(key) + } + } + } + #[pallet::call] impl Pallet { + #[pallet::weight(( + 0, + DispatchClass::Normal, + Pays::No + ))] + pub fn set_multisig_confirm_account( + origin: OriginFor, + account: AccountIdOf, + ) -> DispatchResult { + T::EnsureConfirmAsGovernance::ensure_origin(origin)?; + + Self::set_multisig_account(account); + + Ok(()) + } + #[pallet::weight(( 0, DispatchClass::Normal, @@ -637,7 +679,10 @@ pub mod pallet { is_success: bool, message_id: MessageId, ) -> DispatchResult { - T::EnsureConfirmAsMultiSig::ensure_origin(origin)?; + let confirmor = ensure_signed(origin.clone())?; + if confirmor != MultisigConfirmAccount::::get() { + return Err(DispatchError::BadOrigin.into()); + } let fund = Self::funds(index).ok_or(Error::::InvalidParaId)?; let can_confirm = fund.status == FundStatus::Ongoing || fund.status == FundStatus::Failed || @@ -1002,6 +1047,10 @@ pub mod pallet { } impl Pallet { + /// set multisig account + pub fn set_multisig_account(account: AccountIdOf) { + MultisigConfirmAccount::::put(account); + } /// Check if the vsBond is `past` the redeemable date pub(crate) fn is_expired(block: BlockNumberFor, last_slot: LeasePeriod) -> bool { let block_begin_redeem = Self::block_end_of_lease_period_index(last_slot); diff --git a/pallets/salp/src/tests.rs b/pallets/salp/src/tests.rs index 5ea78839b..db37347d3 100644 --- a/pallets/salp/src/tests.rs +++ b/pallets/salp/src/tests.rs @@ -406,10 +406,6 @@ fn contribute_with_wrong_origin_should_fail() { assert_ok!(Salp::create(Some(ALICE).into(), 3_000, 1_000, 1, SlotLength::get())); assert_noop!(Salp::contribute(Origin::none(), 3_000, 100), DispatchError::BadOrigin); - assert_noop!( - Salp::confirm_contribute(Origin::root(), BRUCE, 3000, true, CONTRIBUTON_INDEX), - Error::::InvalidContributionStatus, - ); assert_noop!( Salp::confirm_contribute(Origin::none(), BRUCE, 3000, true, CONTRIBUTON_INDEX), DispatchError::BadOrigin, diff --git a/runtime/asgard/src/lib.rs b/runtime/asgard/src/lib.rs index c203644d5..820ecdff2 100644 --- a/runtime/asgard/src/lib.rs +++ b/runtime/asgard/src/lib.rs @@ -1680,13 +1680,13 @@ construct_runtime! { FlexibleFee: bifrost_flexible_fee::{Pallet, Call, Storage, Event} = 100, VtokenMint: bifrost_vtoken_mint::{Pallet, Call, Storage, Event, Config} = 101, MinterReward: bifrost_minter_reward::{Pallet, Call, Storage, Event, Config} = 102, - Salp: bifrost_salp::{Pallet, Call, Storage, Event} = 105, + Salp: bifrost_salp::{Pallet, Call, Storage, Event,Config} = 105, Bancor: bifrost_bancor::{Pallet, Call, Storage, Event, Config} = 106, LiquidityMiningDOT: bifrost_liquidity_mining::::{Pallet, Call, Storage, Event} = 107, LiquidityMining: bifrost_liquidity_mining::::{Pallet, Call, Storage, Event} = 108, TokenIssuer: bifrost_token_issuer::{Pallet, Call, Storage, Event} = 109, LighteningRedeem: bifrost_lightening_redeem::{Pallet, Call, Storage, Event} = 110, - SalpLite: bifrost_salp_lite::{Pallet, Call, Storage, Event} = 111, + SalpLite: bifrost_salp_lite::{Pallet, Call, Storage, Event, Config} = 111, CallSwitchgear: bifrost_call_switchgear::{Pallet, Storage, Call, Event} = 112, VSBondAuction: bifrost_vsbond_auction::{Pallet, Call, Storage, Event} = 113, } @@ -1731,7 +1731,7 @@ pub type Executive = frame_executive::Executive< frame_system::ChainContext, Runtime, AllPallets, - CustomOnRuntimeUpgrade, + (), >; impl_runtime_apis! { @@ -2059,24 +2059,6 @@ impl_runtime_apis! { } } -pub struct CustomOnRuntimeUpgrade; -impl OnRuntimeUpgrade for CustomOnRuntimeUpgrade { - #[cfg(feature = "try-runtime")] - fn pre_upgrade() -> Result<(), &'static str> { - #[allow(unused_imports)] - use frame_support::{migration, Identity}; - log::info!("Asgard `pre_upgrade`..."); - Ok(()) - } - - #[cfg(feature = "try-runtime")] - fn on_runtime_upgrade() -> Weight { - log::info!("Asgard `on_runtime_upgrade`..."); - log::info!("Asgard `on_runtime_upgrade finished`"); - RocksDbWeight::get().writes(1) - } -} - struct CheckInherents; impl cumulus_pallet_parachain_system::CheckInherents for CheckInherents { diff --git a/runtime/asgard/src/weights/bifrost_salp_lite.rs b/runtime/asgard/src/weights/bifrost_salp_lite.rs index f8fcc87c4..d4b983167 100644 --- a/runtime/asgard/src/weights/bifrost_salp_lite.rs +++ b/runtime/asgard/src/weights/bifrost_salp_lite.rs @@ -48,518 +48,20 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl bifrost_salp_lite::WeightInfo for WeightInfo { // Storage: SalpLite Funds (r:1 w:0) + // Storage: SalpLite RedeemPool (r:1 w:1) // Storage: Tokens Accounts (r:2 w:2) - // Storage: System Account (r:1 w:1) + // Storage: Tokens TotalIssuance (r:2 w:2) // Storage: System Number (r:1 w:0) // Storage: System ExecutionPhase (r:1 w:0) // Storage: System EventCount (r:1 w:1) // Storage: System Events (r:1 w:1) - // Storage: unknown [0x] (r:1 w:0) - // Storage: unknown [0xc85982571aa615c788ef9b2c16f54f25773fd439e8ee1ed2aa3ae43d48e880f0] (r:1 w:1) - // Storage: unknown [0x1793e0dee28dc36e243edc2691a5a966f4c15d0d4d432426816fcdad0229ee46] (r:1 w:1) - // Storage: unknown [0x262b3fa18a914183e88378d5601925c49b7bcbf07101f6a73b1e7c38b6c23d23] (r:1 w:1) - // Storage: unknown [0x273401c6dc3eb9f6a74a2f7181b1eef87e486620f91dd0fb5ed0ff69747447ae] (r:1 w:1) - // Storage: unknown [0xb2233113701bdbed1e43339a304e77ade52c7b0204a5366dba4c12c9c1a90811] (r:1 w:1) - // Storage: unknown [0xbcf11cdfc92c4bf5c40d1adc80e83b0c91148a8079347419a0890363e3e0186c] (r:1 w:1) - // Storage: unknown [0xbfb77688785d1f34aaea15726de0f743afd4cd1eb8a9b2f03ec8f6cfcd2c1a8a] (r:1 w:1) - // Storage: unknown [0xc040e64ae303602c545b547ce74b24952443cfb1ea9c77f6fd49c41efcf68102] (r:1 w:1) - // Storage: unknown [0xecc728efb63d13c538d0122cd7dba2964c47c6750030158f57908845b086ca70] (r:1 w:1) - // Storage: unknown [0xfaeaef9ced7ec5a1f1d74d225cf03d269643a95c94a2892c8184227481765683] (r:1 w:1) - // Storage: unknown [0x1e14f015894dbfd07ff4c7907acc885a26b4773a7f5a907e73d1e916b7059d2b] (r:1 w:1) - // Storage: unknown [0x31363b6a3c3285cda230e1c805b99e473215cf1f2446ae76c616ab164260fab3] (r:1 w:1) - // Storage: unknown [0x57a81f30e61dd3e10fc6529335e4462cfa2bac1eda902566c924437cbe25360b] (r:1 w:1) - // Storage: unknown [0x5852d9d9072edcf8c92059e5fd0db36dd4462052ab7cec264b2c7d199d50ac3f] (r:1 w:1) - // Storage: unknown [0x63ae89fe4d673aee0b2ce473376da36c60dbd3edc5a7608cb4cf311cd5e0d635] (r:1 w:1) - // Storage: unknown [0x70c0824966fc4dfe90a9740b284e131eebfa28cac4c010724376afaa88fcddde] (r:1 w:1) - // Storage: unknown [0x7d1a7c7da2798aac8bd51675f08ddfb11a44ada2c5d5a621493d6ba35b9c3caf] (r:1 w:1) - // Storage: unknown [0xaa3b015c528422deb5b272951c9b21f64439baa57d273243f378ce9d291a30c9] (r:1 w:1) - // Storage: unknown [0xffa01c2b1e8481410b1207bac0e1f357e41581e001324873c809b383c16dd8b7] (r:1 w:1) - // Storage: unknown [0x19b003210a923977355564d664c01287ecfe83be2d465f5e99d3c03105fc2ab0] (r:1 w:1) - // Storage: unknown [0x2c1108b7cbe36e4a037eb29c204116b2f5fdb9da2635802c4de3404053c51d77] (r:1 w:1) - // Storage: unknown [0x4b6f8a87cdd23768e3dfce3ee7a2614b998a767e39035e94344f0a6089c0c4c5] (r:1 w:1) - // Storage: unknown [0x5ab0d964adf1f6ac3436b3b9e171a345ce07f01b0b35fac58e780d0dcdbf9e4c] (r:1 w:1) - // Storage: unknown [0x670d01023ac8c64b2c3da33e1d19c36c4eb1981b46571225c472841fef9e702c] (r:1 w:1) - // Storage: unknown [0x9a794f2ba173e4d3987f32b26f23634bc6a1ea6ede13756210243f026d395864] (r:1 w:1) - // Storage: unknown [0xc2c3cf3e838ea0936aac2272be3da5b1258dc53931e63045fda2a4e61cc9897b] (r:1 w:1) - // Storage: unknown [0xcbb519bbda43dcb93203c892789842e2cbf8eabbde279832fd91bb8e4fba31de] (r:1 w:1) - // Storage: unknown [0xdd8302d27abf6dc2270eca7a21b5b7af02495e7a2c33dbfbdedd421ecd7180af] (r:1 w:1) - // Storage: unknown [0x035c36e54d78f5a657005187bcadc31d6dd01bc9017ec5e1a479a673964346e6] (r:1 w:1) - // Storage: unknown [0x0f9ffb8ec2a1a1dd8bca07156eeebf830debcb4c345cd72d7377c31f98eab91a] (r:1 w:1) - // Storage: unknown [0x30ed371d94305cd05ebc3278d5faafa023b26db1fbecdcef3d2b9fab82ca8c27] (r:1 w:1) - // Storage: unknown [0x38ef26608ce2d8c63881c1957367989c990a9333cde334da98e5f5661668fea8] (r:1 w:1) - // Storage: unknown [0x397eb4b5c8440d7a1ce08239fb58b1c22700484295d3521198f162562ae772ed] (r:1 w:1) - // Storage: unknown [0x47a4353adb1bbf8f6f65faf93d0a56282d0cbe38db077ce85e35e3f466097a73] (r:1 w:1) - // Storage: unknown [0x4bf4fcbfd0cfa9763b2c40ff5957889c326f76e0ac3e364b6da7e28f3cb89e50] (r:1 w:1) - // Storage: unknown [0xd60aed2c8769890ed9d6fb94170b46fac79639c65d0dc0289340a62e86c4d831] (r:1 w:1) - // Storage: unknown [0xe92b49436c78a30d1aae41c733ac088a70a8ce9a306725618f52bdd4c4c07501] (r:1 w:1) - // Storage: unknown [0x2a8e3ae3f7519353a0e8a85c5c6d897cff5032bd945dac42e09ce6e310c143f1] (r:1 w:1) - // Storage: unknown [0x30397d885abd14d5eabc75a21e336852ac3dce3879a83b90035ceb2d607ebee9] (r:1 w:1) - // Storage: unknown [0x37c9fbaffb8eb93dc54894e8378d4e185a69e1157561a98d059657eedf5b2670] (r:1 w:1) - // Storage: unknown [0x3b24032554271fa66764953ae519d33a87bfed97231b99cba4466b3dbf99908c] (r:1 w:1) - // Storage: unknown [0xb9698194cdd5645046662d66f4a3279103508d78c9978ec54b154d42534763f1] (r:1 w:1) - // Storage: unknown [0xbba68e0920c2c5bd3487b448919c27a6867c5ee7d6699b713f56a90a651614ce] (r:1 w:1) - // Storage: unknown [0xddf83f4806c915fd142e344deb063eb5ed5721772a4feb56cfa469046d6edba1] (r:1 w:1) - // Storage: unknown [0xef325b1c8537772ada5b06519f8929f3ff049d0c09579a739a18e50370700c59] (r:1 w:1) - // Storage: unknown [0xfe2b10355a2516b8572175f4e3ef8ba8687cca3fee426b3b80bb1b8db4e08564] (r:1 w:1) - // Storage: unknown [0x2a8ec737d3db7565d0f4bbdc6f9c253d1e534f9b468d0402110d12658d50116e] (r:1 w:1) - // Storage: unknown [0x2ae6a2134fdcd8ca414b654e56361e6ac92a4674ce055ceab01fd3d9e5a204e0] (r:1 w:1) - // Storage: unknown [0x3016a40a91959adc6086e79a17cf8ee2f9e038f8d5250c724aa627c2fed9f47f] (r:1 w:1) - // Storage: unknown [0x323d73caf3f762d77ae5193f9715f8703d6bd2f3f19626fae62e7bcfab07b767] (r:1 w:1) - // Storage: unknown [0x816bb2f6c9cceafebee78babc8a3c8095aec357db1b8b6e5a4ac832492c469bc] (r:1 w:1) - // Storage: unknown [0xa50750b066f781e63bccebb57775f9d3ba7b44624bae77b9997d2a4bb80fa8d4] (r:1 w:1) - // Storage: unknown [0xa6691dea20613080f29237be39585440a5c37bd78cb3075e9f02c903b03f1e29] (r:1 w:1) - // Storage: unknown [0xc2f159a33d7f609b890d30c9af2422967c2423865bfc1d31b26046cba4c2965a] (r:1 w:1) - // Storage: unknown [0xeae0a2566b6ac214cb5298a9a8e160b8c5d467ec2543b4a6c57c31a166e082a0] (r:1 w:1) - // Storage: unknown [0x0255fb7cbf688b17898bda454f34de10cd5864bf0c9938ca898013d8c04bdb06] (r:1 w:1) - // Storage: unknown [0x0caf43f6381fb628135727230d6c750ed6004e34a8c1bb3b4f208b4819cfcf01] (r:1 w:1) - // Storage: unknown [0x23711525360aeeae0643bb1db76a386cd0cad86ecc96d99bc2d55691b0bd6d09] (r:1 w:1) - // Storage: unknown [0x314275cc77a136e89b93f70dba690912ed9927c4be09fcf7d3ad6aafb38b4b5a] (r:1 w:1) - // Storage: unknown [0x5caf00cbf2d1e5f34267b787f8515e50ca011dd67273439e2f8be3e16d1307eb] (r:1 w:1) - // Storage: unknown [0x9599e8bb6188bfc0f66c0769a7b882d686ac4de6dd64244ad3444622ee2dfa12] (r:1 w:1) - // Storage: unknown [0xc37c05727fbf73ebc724a77289e362dec9b0c3f15a3766c0ce18ccbc35abf0fb] (r:1 w:1) - // Storage: unknown [0xc7a39567e780e01f5132b82054f6b88c3fc3976dc07abf06b36f1cb3818bc45d] (r:1 w:1) - // Storage: unknown [0xcc9b77338ca78833152ff0221eb0d68eb8630515a262d1b76bbfa55c2bc0cc5b] (r:1 w:1) - // Storage: unknown [0x388cf112e930ffac757fd416bbfa6976ea3ccb42a573b182faa41a5d4e2c764a] (r:1 w:1) - // Storage: unknown [0x496ebfd4773f19bb23b23b5d22e17d1a95c575eac659ac5c01943f01ab7cd1ff] (r:1 w:1) - // Storage: unknown [0x58bc2d38e66911c6539e2e1e265b69ee36a7d5f2d9dd82b0688d45bbd64f7e6f] (r:1 w:1) - // Storage: unknown [0x847ff6f6158483969d76e0b4114493657e4d9a92008c04c4ead16fd1405fb9c1] (r:1 w:1) - // Storage: unknown [0x9388f896df5ed34ca45308f5e5c81cea93e24bd85d42dbef1e8a704c81d38b9e] (r:1 w:1) - // Storage: unknown [0xb79d749059601a3d8c72ff43e58db5f8d24bfd35228be610746544b95669a347] (r:1 w:1) - // Storage: unknown [0xc7a2a8698a7345317f4dc279d7840841c25358906c915e7ca5b8b4c09ccda808] (r:1 w:1) - // Storage: unknown [0xe5b92f2f3cc3b0ad16d1157b61df06abf15de6f133d6dee62d10f7ac45f85cc1] (r:1 w:1) - // Storage: unknown [0xfcbd15685a27928b84290bd6a4e893ad56ba73df7149a82091a8b37b502cbeb0] (r:1 w:1) - // Storage: unknown [0x0392a02d23fecb158ac27d3c28a51f0686024a9841e71710c66bcec6e29f8e0f] (r:1 w:1) - // Storage: unknown [0x2a00f03d467cd9683a9be7c4a8613015086dd05f6a7bf9a2d3bd4ef478732936] (r:1 w:1) - // Storage: unknown [0x3231b5f56292cc339ac941159eba4be941fdb8efa47e43cb28e1bb5c4266817d] (r:1 w:1) - // Storage: unknown [0x42d69131243a9e11dbe162524864c388a81a2ae550d66076b7864623c0f645e0] (r:1 w:1) - // Storage: unknown [0x586e8e7e98386d6dd27217632dba2d8314a0eca72a42409ce07a31f0638cb92d] (r:1 w:1) - // Storage: unknown [0x5b8abb2b3dceca152086f6d22af03bd1e425f7c04ad31db49e862770f394d25b] (r:1 w:1) - // Storage: unknown [0x8af99dd7260367cbf7bcbc222a092d37a2eaaeb75dc9357042d393f8d708899a] (r:1 w:1) - // Storage: unknown [0x9c16707397d0b463ed30c3826c42efe3eac8cb571c4da3b41809ddc81b0ee787] (r:1 w:1) - // Storage: unknown [0xfd9a4d435d8028aed79ecac41ba335234585df62d5d2cba54569df84da6b4b8b] (r:1 w:1) - // Storage: unknown [0x1d7d044749500157cdc9a315eaf3843cd96eaa0b8c081fd14ec8dd6e6b98ba55] (r:1 w:1) - // Storage: unknown [0x240a4e8b59a1f7d43a38a3846eaa3d638461dd509da91ec7fdd560f3afbd3c87] (r:1 w:1) - // Storage: unknown [0x63fefdf2bc89739939d368992763fe514b8e9138eb5934a64c1d0d41e1e5d7f2] (r:1 w:1) - // Storage: unknown [0x7366b11aa7e0a7a6a1bff6b1ceb7e328e840ce5494f957ee2516a439131210b3] (r:1 w:1) - // Storage: unknown [0x77682073647ac00a2e2a19c45db7979db0086d206067193b2aee81095c5500d2] (r:1 w:1) - // Storage: unknown [0xa21de1e492bfe777e3c7327fc330a6ea7dadc7d19776203e7459d34167f1b434] (r:1 w:1) - // Storage: unknown [0xac686fede961a86d2ef3223cf1c1ca6ccd9cae19e6c6362cced13401e16075f0] (r:1 w:1) - // Storage: unknown [0xb03b1adc3c8f79cdc660c09a2db4ceabe6a1a296f58eb9661dfd7d4b09eb8f1c] (r:1 w:1) - // Storage: unknown [0xe37317823a93ff9fd7a417342622ae0303245a4070e5e1434963e22f9ef7bc9e] (r:1 w:1) - // Storage: unknown [0x3ca470713b4c72106c42b22ddd848ea50dcdb3532d81b5919e496fc2ba5e4c43] (r:1 w:1) - // Storage: unknown [0x52861333b2032b6d6c01e2ae23614f208ff6444e653e17f2a09aa6b770314e20] (r:1 w:1) - // Storage: unknown [0x7a0a59a42308d5bd214941d6bfa806bcf0c15326b8298fa34493111c773604a6] (r:1 w:1) - // Storage: unknown [0x8f1fcdcf13d1ac4d60f551970f84a6f83718709b89698940caacface75bf86b8] (r:1 w:1) - // Storage: unknown [0x90de7d39f8f140e75d6c2a4cd171e0f7679030148ddf3c27d0d51719f8b46d3a] (r:1 w:1) - // Storage: unknown [0xbe13505791367e4b18783b822135776d73168dd0e8459649b93b4afbf66a47a7] (r:1 w:1) - // Storage: unknown [0xd5a45cb71afb47663c7931bc609f18203481124c132f5a2c00677a5974ecf8cf] (r:1 w:1) - // Storage: unknown [0xd82869ba4c71f32577e4c9b0b3b03e7c78b7ad7752b0f4da522e0db48d4f29a8] (r:1 w:1) - // Storage: unknown [0xd9b56a5d56fea4601b9c8eb74d156a75737ec2c23ddd28325553efa98a89849a] (r:1 w:1) - // Storage: unknown [0x63a9a48dc9889dcdb542e4756ebfe4fd4e151eedc944cf8fce8eed831e625213] (r:1 w:1) - // Storage: unknown [0x8946ef807fd99c2bb0953b4329d2881bdba2d01150e10f92b352953a60ae55de] (r:1 w:1) - // Storage: unknown [0x8dcb2165b826e2e8255fdab745a4be6833ad397ed714d95b2b65b2f971eb163f] (r:1 w:1) - // Storage: unknown [0x9b808e8559c3e77acd148d550f1bec8b5b3dae546f9dd31af9bcf7a66c4f7702] (r:1 w:1) - // Storage: unknown [0xaa8236e290b748a5df7ef66c11fb1bb74d584454be8b9a41760728daa291fa3e] (r:1 w:1) - // Storage: unknown [0xae86dbe88589fd0c835ec3ad6bc60af179ac34606cb5ef83d0e88ca2ec566aa7] (r:1 w:1) - // Storage: unknown [0xc614ff510337f671dd38dc2e8a682712d98a56847ba391356fed764345e35b26] (r:1 w:1) - // Storage: unknown [0xd5f29e9b3e39b0acd8c0553df2d51ca8650ffc86db593503d3e4a44467e3fb01] (r:1 w:1) - // Storage: unknown [0xdbafc2262c1f2f19c1175f138897165b774738d2ed51fe68701b0699f99aece3] (r:1 w:1) - // Storage: unknown [0x0778d7501991b13132ccd11471c817ea12d8c854ed0001535bb6ebf6c32aaecb] (r:1 w:1) - // Storage: unknown [0x092911fd1f91e76d07387555c0918a3a5e0e4c74e363405fd7af1659d89400f0] (r:1 w:1) - // Storage: unknown [0x0a04d087381d5acd884e1d64245af63561c7c5d1a317dca5cc3b4fa8fa631566] (r:1 w:1) - // Storage: unknown [0x189a7edf15097613065c2730b8ca2b8a250ed384a688f428539fe261b11113db] (r:1 w:1) - // Storage: unknown [0x28803fc1d667cd700cd1eb6b5e11a34a295a85b41cafd02086660f40d148dbed] (r:1 w:1) - // Storage: unknown [0x4504d19a2b788dab7f5c0c69c730fd64cd195c1c4d34359c827b7679b264cd18] (r:1 w:1) - // Storage: unknown [0x49c795e8525c4ef9c48fb6086cc2faaeef0a6182607b9fc944bcf4219d05b612] (r:1 w:1) - // Storage: unknown [0xf3fe2278bb1690c33583cc1b103aa0d9d397b50907767735319bd5d46f7bbb93] (r:1 w:1) - // Storage: unknown [0xfe68284f9c5354e6bbba0d09bfcd5e372c0ef4a66b8819b5c86021debc679208] (r:1 w:1) - // Storage: unknown [0x5442aefbc03aac1f97f6ecfee26cf9c8fa2e8cf7d366c3dbaf640a2ec280cc8e] (r:1 w:1) - // Storage: unknown [0x7afdb74eaec6f0c4abe2bba629952769e61f234e47b9f0617dde6b5fc7a06980] (r:1 w:1) - // Storage: unknown [0x8305f933e51efc14bf29b9a8996a86bb750f46699f3bb422175be5ebf16dbb50] (r:1 w:1) - // Storage: unknown [0x914c3991677898e736196d9cf3e8ab7acb205247fc645c5a576754bea40d261e] (r:1 w:1) - // Storage: unknown [0x9b98126a54cc090ed6209e6b8b53d474e5c9948f2f8c9f431d0acfb915d2ef59] (r:1 w:1) - // Storage: unknown [0xa22d1ad0661f6f3889c1cb28ae75e54c2efd41c154d41e531754bc1633d18ffb] (r:1 w:1) - // Storage: unknown [0xb19461f65e09aa3db1742d4ce3c8e92326bd1cd474234908dc97be6da9e8bbb4] (r:1 w:1) - // Storage: unknown [0xb965ddc866cb308a73a54977e01d2993cd881f57e8258800587562d292b75716] (r:1 w:1) - // Storage: unknown [0xcc6e350018b598b1e16ab4f9a46b3420e9f2142b90b35a9dc9cdf815168b127d] (r:1 w:1) - // Storage: unknown [0x03f78a0ae86588eb9fa56342a1bce9092937c05e97bdc6123adf5ce90fa5a3ec] (r:1 w:1) - // Storage: unknown [0x1dc502d3e93e9fd47a41ed20ccd7e59e0c03fd0d361b0815b9fa749ee4014ed6] (r:1 w:1) - // Storage: unknown [0x29546c1c2a4489ecd2a8d4fe12a11d2512d43e34e3eff69718c8cfd2d3d0071d] (r:1 w:1) - // Storage: unknown [0x3d3d028eb048ae2cd4e82e5609f3b86fbde4153442df785e8d3ca8bfed2cf4fd] (r:1 w:1) - // Storage: unknown [0x525c0fea64cf4d9c8c7277df429077ae9c31bcc34f595bf21c0c6005cd1cf001] (r:1 w:1) - // Storage: unknown [0x7159a7481a485dcb603f4ba2a225bdf00e0f04cfcc6690498480bbd6c90dc0c5] (r:1 w:1) - // Storage: unknown [0x8dc8b29d47360bf65fb984a859eb9564e5b71ab96829e125e5f64819f6808a70] (r:1 w:1) - // Storage: unknown [0xa073b6d6ab9a4070ae3ff167f9ad62342deb60c6b6d23dc99f038638fb8cfb4a] (r:1 w:1) - // Storage: unknown [0xbf1b7e1e75f5a090f8277557bf6f6c559a442c49828b938903351a8decf966be] (r:1 w:1) - // Storage: unknown [0x02c87740582a36cee9aec75d96945b7e2e89a5f613e85d1da7a7b6b511bc0646] (r:1 w:1) - // Storage: unknown [0x2f233781c2eed5e66fb637a747439e21e11db72c26eaacab3d0d2da11661513f] (r:1 w:1) - // Storage: unknown [0x63ae2203e6ee8fd038b677462121d5a15ad4c83b3a0abc9591fe31ef094b8d11] (r:1 w:1) - // Storage: unknown [0x732928ef558ce73c389b9858c3908ad4b784df1df5506d851c4bedbe0b93c42f] (r:1 w:1) - // Storage: unknown [0x804b85d6cd00f0b59bee93e1ca95795594986d0325364905b1e1e986759b7f3a] (r:1 w:1) - // Storage: unknown [0x9b9b935c5d7385ea63f1f4d8f4fba9ca77333c522b93f69456cf9e3d2b95735d] (r:1 w:1) - // Storage: unknown [0xce90a43f168474d0d85e7fdc662adb53320a85bac319d97abf9aa53fe4736bf1] (r:1 w:1) - // Storage: unknown [0xe7d911018d6fbb1c9c94e9325e4593bf276a2cb3a3cc937c80f0ef4c9272433c] (r:1 w:1) - // Storage: unknown [0xf3dd9a6cfcdb9127c2c114548b1b0826f0bb1d27e6dc0b7933d85672d937a514] (r:1 w:1) - // Storage: unknown [0x014502832fd6542b9131555c82966f144f62e8de7174ebacfd0d0ff2cfbe9a79] (r:1 w:1) - // Storage: unknown [0x092ff3743bbe2d8dbf8cb90c8a760389484b4e730be0323f51d85f43477c9878] (r:1 w:1) - // Storage: unknown [0x168bda7797ae0f4cb90fad3e8879e16edc5707b6f46e95aefc014cf8ced6e3e3] (r:1 w:1) - // Storage: unknown [0x51bae63e4129f50b542841d912a335ec8573a8aa7f46362d4c093a8b61eb1929] (r:1 w:1) - // Storage: unknown [0x811eceac5ad0b2648804d685b2e0c3a807bf67d12a3b54fd9dca9a078be98048] (r:1 w:1) - // Storage: unknown [0x945f12d2abdd23e5bc7f91524b6dfd2bc296834ab5bfd9d2e124b467a714cf1a] (r:1 w:1) - // Storage: unknown [0x9bc2e45b52e764017a0a322a586a1e37ce2a4afb239f8c6cc73dd0da76818a86] (r:1 w:1) - // Storage: unknown [0xcef2f93165875b8dd6caf7e5f8056cbeeed8b010b5b03b052df14f5e36156922] (r:1 w:1) - // Storage: unknown [0xe737bec58619859a19624d9cbe60e1848f339cbea12d5cd3fbfe5ef02def791f] (r:1 w:1) - // Storage: unknown [0x1f24f16f939428a33d5410529f11f7a573d2513df7a830f85551948fbf547fdf] (r:1 w:1) - // Storage: unknown [0x2eb381f6b73f0b9300d94f4f0b50ae4b35a5ea2ef407d796d95e4715d42cf940] (r:1 w:1) - // Storage: unknown [0x42ff8a2d17d124e2b40684c3c9ad8e1e9108b416eebc47ef183909b0952b32c3] (r:1 w:1) - // Storage: unknown [0x9b9b4d9443a2b5010644690956503eff1fa73d4fdf61c981aa4762a71a78877b] (r:1 w:1) - // Storage: unknown [0xa40fd6fa12fe90cd1a630001d90f83b12f442f9e8f508919fc8605685386f9b8] (r:1 w:1) - // Storage: unknown [0xc0847c2ed89d0e133347393fcbe8ccd722be616870187ec4c2c8c1fc14d16900] (r:1 w:1) - // Storage: unknown [0xccd6e6aac2c49b2ea854411986569e0f8dfc90e92065a2028c47c57e04669306] (r:1 w:1) - // Storage: unknown [0xef83243496cd71f9414a0eabec74b732a2e5b3cfb8c038f2891f988e0753555f] (r:1 w:1) - // Storage: unknown [0xfa2081d0272500dd465f66e48229eb243ec7aae07a81437c33f7042ccc273c90] (r:1 w:1) - // Storage: unknown [0x029de76adc7295ed41bbe6c450f4c7cb4f78f9b9a7d3edf67994cd6b1f511a7b] (r:1 w:1) - // Storage: unknown [0x11a2c57e147ad91b425775b77163fd83fd7ad15aa13f6ba1800fb0d486497868] (r:1 w:1) - // Storage: unknown [0x4874c9cd117e7a33a80fc59628c503e94be9296da73a8f463f2d40e0f044e11d] (r:1 w:1) - // Storage: unknown [0x629d17f361203449a9f588968037b3f8f170ae2687f29519aca2616228eee2b8] (r:1 w:1) - // Storage: unknown [0x7f192102f64f68a23e9de1a8e4c13c6c1ea1871d4d283046c9a431d758b1938d] (r:1 w:1) - // Storage: unknown [0x847cf95e67d5fc3da1c782f50c01c28cc75a458f8b3c1312d1c13f1f7cb8cff8] (r:1 w:1) - // Storage: unknown [0xa978a38b1ea1fea358dd03cba3280630218d4d52f3c5da9e0c728084df42483a] (r:1 w:1) - // Storage: unknown [0xc1948997f3e5d401de1e1d83cd6ee6b6c066a1ddca76c812bcc1c0c72e96b5f7] (r:1 w:1) - // Storage: unknown [0xf916345caf4690064d760040f4f053ab3ae8e675038cd67c4ae0b6df90fec567] (r:1 w:1) - // Storage: unknown [0x02d22f07ca8b30c749e4e5f6f724014e31e29e62579ef725a8d4a65069ac411c] (r:1 w:1) - // Storage: unknown [0x1c3356adf4350bf3bdedd5749147d18f9caa996e7aeb2033f1afbd010b912c4d] (r:1 w:1) - // Storage: unknown [0x38bcc692c3b7402da5bed46cf8e1a7c10b223116cdf1a2f4696df2b48f11122b] (r:1 w:1) - // Storage: unknown [0x48503bb95dbc5310a682c67b6f2949a8fa08f1e45418eab1a054dc6d919c9ec9] (r:1 w:1) - // Storage: unknown [0x59474766bbcaf25024437f6352f00a3fd5d1e6979bab6d456c0934178b91252f] (r:1 w:1) - // Storage: unknown [0xb4acf66b46284f06be1c289acdbb3cdb81f0c376478257695c16448daf064cf5] (r:1 w:1) - // Storage: unknown [0xb7fefbad6c8ea1c6cc0ddc69253b2e5f2c8905ade22c32c07368b7d686fa34b2] (r:1 w:1) - // Storage: unknown [0xd4722610951697839b4d9d8c6af980583b0198eae3053f9c732e8d94171ad4de] (r:1 w:1) - // Storage: unknown [0xeb34374c15d84b2d704c3e841453dbb1b8a05998e466b62e137646684823ebb5] (r:1 w:1) - // Storage: unknown [0x1f70aa6c83dd98f810dcaf611bdae5e011e5bc715d823e419c1e7e1943cf6f89] (r:1 w:1) - // Storage: unknown [0x302b1758e1ac8d5f9e8033966aa4f5c7e77512e1218b4b670afc098cb8c1f837] (r:1 w:1) - // Storage: unknown [0x31a782760fa7b79819505ff67e3a779a44efca82364dac907dd7bdc2692ed2d0] (r:1 w:1) - // Storage: unknown [0x4645cbc2f008fe9373ffd704ab8289810b5c10bba9303331e41c627583256adb] (r:1 w:1) - // Storage: unknown [0xa5c276fe36330f279b5fdc38a1a74a3dba974c7d819ef03cdb00ab5fad89f315] (r:1 w:1) - // Storage: unknown [0xbaeb1685aee142cf6d46f5929cfb222b8783de3b28121a7686c007c268785951] (r:1 w:1) - // Storage: unknown [0xc83b05e6f372fdf597b0f10cca15a53a5df46a46316bc5637dba4d0cd829b593] (r:1 w:1) - // Storage: unknown [0xca62e9f75f02064c89bf8c2d3e396024ca01ccc2038daa2a6fd2b5081bdd404b] (r:1 w:1) - // Storage: unknown [0xce880731cb3814ea9563bd0333b5eec23d7b3a3bda6375d75a2eae72dc15e18d] (r:1 w:1) - // Storage: unknown [0x33e9abdb07e28ca62cc53735e1627ecdacb61f748503df59cdfdf92fbc55f30e] (r:1 w:1) - // Storage: unknown [0x49d2ae779e34bfc15479b8613feb8c379c95173dc593fa66cf743cc079b790de] (r:1 w:1) - // Storage: unknown [0x49d7358ca22724d5c54acdf7fd593eb1908c6cebe3202ac07880236aa12dae56] (r:1 w:1) - // Storage: unknown [0x60d5c55c0e3c2d71a5bd70a177e22166fc205a6d69673bdf7f730469690a450c] (r:1 w:1) - // Storage: unknown [0x80bfc26d07f5767e0ecaea78cb96adb509bb879357342cbfce4a71edc370c30a] (r:1 w:1) - // Storage: unknown [0xc00905cda576b91dc0362b6770fba56e5324c650e43eff1503a2802a4e056ea3] (r:1 w:1) - // Storage: unknown [0xcd15694f12f82b6eb2df1f55e20bc431b37e88b006a1e8861863fae26134a9b1] (r:1 w:1) - // Storage: unknown [0xd5873d069c99592802c0d4da14a20afa74109019f9d47b766637fc5cffbe2a01] (r:1 w:1) - // Storage: unknown [0xe2457ea4be0b54d78eec228c73f68a84e316f0b5c8516edc1791d6904338674a] (r:1 w:1) - // Storage: unknown [0x145db170b8204d0c5e31ac757be2ab626b628419ea745e8b75c14cb606f85100] (r:1 w:1) - // Storage: unknown [0x5df05b79602a7278a9b2c04514eeb33dbb923ce016bf90bea1cf81744a445535] (r:1 w:1) - // Storage: unknown [0x986b7f7212341d0c17047a84e41b842c917eef7b6a038af4e3264b803250c2c9] (r:1 w:1) - // Storage: unknown [0x9e6b5952d5c876d0e88532a69519a2bb2ea71ae4eebb4492c16b1192966e8354] (r:1 w:1) - // Storage: unknown [0xa6a946a4cd6ec4adec7a3a5ca20fe7f83015cbcf5d60bf35a27aab38bd8ec72c] (r:1 w:1) - // Storage: unknown [0xb3af15676dc7ff5955afad0f4f764a9e508af856855249841e439391b3bb0098] (r:1 w:1) - // Storage: unknown [0xcf1b3bc717b8e7905f01d0e2531b92b4e292dd724fa36fef6e83b194d92b806f] (r:1 w:1) - // Storage: unknown [0xdcc77b6cade77f9f73e151eb609dc510f3437777635d586cbadad6b96fa0d8c0] (r:1 w:1) - // Storage: unknown [0xea2d58c504ca7bb0df13c1c38ec94349a9175e39c606bb5d5029c9cb2e15c387] (r:1 w:1) - // Storage: unknown [0x16b5c4b24af1dd526291c2f81753f92a092ed37320f17bfab12184400f6a9f50] (r:1 w:1) - // Storage: unknown [0x26cb13235a11327b22555f3512c737b9518cf8205371033bac55a0e89a85994a] (r:1 w:1) - // Storage: unknown [0x4a9753b9eeef39fd60c9559e3468ea605cbc03fcd2faa29cbe63e799c81e8469] (r:1 w:1) - // Storage: unknown [0xb6582ae0991727fc0bf192047d16a31f5e4cbf90321cea9d3d49b9e1b5407dad] (r:1 w:1) - // Storage: unknown [0xc0fa605b92057dee3e77f6dc0c6e91621d09d8b91c5cfafdbcb38830960e0bdd] (r:1 w:1) - // Storage: unknown [0xcf2e8ba860b7041752b2b1fb8e0360d1b40fd41617c7934746bb1e244c77016a] (r:1 w:1) - // Storage: unknown [0xd08934b7a2d1ee349de3ae53bd2286b123adca84023306014c2d75c822e74af7] (r:1 w:1) - // Storage: unknown [0xe5985dffc1ac88a03cd7a8ea79d35d6813529a692a9380a2ad04fc0db20c0e05] (r:1 w:1) - // Storage: unknown [0xf00871f755719a8c1ac33f2fa611c1736e64a16e450bfea842baf8d9114d7041] (r:1 w:1) - // Storage: unknown [0x2d86b69fa25bcdbc7a3ad6cb76e12641ef01e00dcacbf31ddde60d2d228f9ae6] (r:1 w:1) - // Storage: unknown [0x4654293309c9d9ab4282485875ec1b776dba729b6146e9bc3966a9a819c017df] (r:1 w:1) - // Storage: unknown [0x5b9007f9119be10a7d1ae77002e96ecb7f79dfa7a9f300818812048748cf55d2] (r:1 w:1) - // Storage: unknown [0x5d96a67962f8613c419566d4dcb0697c8ec617897769b55a4ac4dd93155d4578] (r:1 w:1) - // Storage: unknown [0x85825e6cce4096e5a7dc169434fa91d22210b6c7ab8897b30985aea6ae20fd53] (r:1 w:1) - // Storage: unknown [0xa1b69262faff4cd2563e3b4931f2e8956362bef384adf9db005f3b1fbdd0d4d1] (r:1 w:1) - // Storage: unknown [0xb7c9da42ebd963aa3b0eaaf14e1e7356a082f13e57028c18c99f740aef5fd5c6] (r:1 w:1) - // Storage: unknown [0xd68485a52f9f464924546f77ebccc5fad66a93e22a1fc60c4bee070012896ce6] (r:1 w:1) - // Storage: unknown [0xf5626fa70a62fa697416f25b3e7e282a6b099cc9f63f6cca84d2500a9e23891f] (r:1 w:1) - // Storage: unknown [0x00fbe4c87dfafd81acde0c62d71afdad98b6fcd3ac7c5978a5bc6e2263d5943a] (r:1 w:1) - // Storage: unknown [0x0c079912425799c807fe6c182742aaa56a3b3fec7a2a9d954147f10e0c1e5afe] (r:1 w:1) - // Storage: unknown [0x11df950500fabbfc9570427f37c48cdbebcc94c5046fd4bc41a974e1dbe3d7f6] (r:1 w:1) - // Storage: unknown [0x1364fb94ec0dfbe5aa25a5f7427fc57ec8aa3ca7185c6246478add1d2d6f9faa] (r:1 w:1) - // Storage: unknown [0x27719eaca95aa18d9c543ab4a618fb1a51801ff2039b76a44e660d3974fb870b] (r:1 w:1) - // Storage: unknown [0x5c83011c24766f0080212191a03acb9e0ab086bb3c34b5beacd0d75d1d851846] (r:1 w:1) - // Storage: unknown [0x5cf4866b18bde15f76add7faf64e389e33b2e3c80b9f030e13e6b4eef3d6f23a] (r:1 w:1) - // Storage: unknown [0x87f065cba864c0ba39f6f0f3d11014f11da5b47eb8e713a4ff563dd8b0d7714c] (r:1 w:1) - // Storage: unknown [0xec9ef3dc71ba02a92626ebafc549db307121d398e7d53f773173333d020081d7] (r:1 w:1) - // Storage: unknown [0x4da8525f1f71b5fa7c393567e81e1dd66971d9fc5f031ebdc0fed9067d53f468] (r:1 w:1) - // Storage: unknown [0x6042de2b474edc72726c1d63652d328bf1d7baaeb992c55ebce5c0176608a8cf] (r:1 w:1) - // Storage: unknown [0x851eddee51237cc23ca00399b49e23c4ae44f5ab90b9249fa3e45780b4cae285] (r:1 w:1) - // Storage: unknown [0xa4a3811d91079e816d9a640c1a18e7f20a07f1fe33ca70aed4ba60f4bae6b1b0] (r:1 w:1) - // Storage: unknown [0xc88e6b7e019a0ae3b458533fea59b67ea36088034fd75333f60a80c280d79567] (r:1 w:1) - // Storage: unknown [0xcefdb5a6dbb7dce411445e4cfa61ad6f94c535835337a04cabcd3e1f8b857c95] (r:1 w:1) - // Storage: unknown [0xcfd8d84d37947062d49533c3ecc87470cea87db911ff65dd30f5c1db01430753] (r:1 w:1) - // Storage: unknown [0xda4d234593241eb8e2ea34328f2d6dbd2d7b33c0ed622e3cef00ad33967c09ea] (r:1 w:1) - // Storage: unknown [0xe52748c1a2cfb8c55639657bcf8999e084b1f4922562f2004d034a267c060e68] (r:1 w:1) - // Storage: unknown [0x35a386fbec1c4fc3b1ccc64c3caa55412ed03a613d7444008f3c820aa5b17bbf] (r:1 w:1) - // Storage: unknown [0x5a9de37e4f97e367a194298f06dc78713654a6087aed324b2df9f30e60298d7a] (r:1 w:1) - // Storage: unknown [0x6b8ed23e3a83354f761aa53087b88fdfee9d95f3d3b140ebad9542574c1439e8] (r:1 w:1) - // Storage: unknown [0x76c147f0828a67ce3d00dd2a657f618d183ac0a968c3c1952ebc9bf4c1382c7e] (r:1 w:1) - // Storage: unknown [0x9a644b6e7d6fecdc4ea972ccb4468de093e6c8066974d5e96d736df2e7ee0f84] (r:1 w:1) - // Storage: unknown [0xc14a6a92f5e2c95c9bcd26bf4210cfb628aca80d4662dfaaad0d7e89c12c7796] (r:1 w:1) - // Storage: unknown [0xd2b915f9e77d771de5421ee94839e2c61d529da30018195a2cdd77dee3b932fe] (r:1 w:1) - // Storage: unknown [0xf2f2be4594311ff3e9f8795baf0fad3d984dd750d9b8b66f1551b517c511b66e] (r:1 w:1) - // Storage: unknown [0xfb92258fc6d0c6f5cf211734bcf1779b22b86f919cbea6600f09787e33cef27d] (r:1 w:1) - // Storage: unknown [0x3b2c201b2eba43083a922bb7f99b66175259c5ffa9b5f90f78557ffcbebd1be3] (r:1 w:1) - // Storage: unknown [0x4739757a07f6af63682496729933cd92ddcbdae3617bce4769a087f6fb128c1f] (r:1 w:1) - // Storage: unknown [0x5a19744d580bdab0ac65664cadaa3e46cb10efc0ebd65f03d2a05ff648bc39ba] (r:1 w:1) - // Storage: unknown [0x9205671a8148815a8b414d028efab35292a41efe38a095bc3b83ca3b35e59dd1] (r:1 w:1) - // Storage: unknown [0xa274879999b34be6f96d1b3e31c2b6767c8dc656465635fa67c3740afaaae366] (r:1 w:1) - // Storage: unknown [0xaf946540d176e593860ca2290489fd7c16e0a804c48ebd11a8a9eea4bb80f7c3] (r:1 w:1) - // Storage: unknown [0xbb458c5f8b1b5cfa50b7e825fc1f8e78115e10e9db8597c4ef35549251465333] (r:1 w:1) - // Storage: unknown [0xbd8bf13aaa21833efc3add680619ddd4ef27f761437b8ba8d52d83e44413baa2] (r:1 w:1) - // Storage: unknown [0xdce9aecbadeae369d0c7ef002c41109c8a140bd7000ad4ff381cd50e785a262f] (r:1 w:1) - // Storage: unknown [0x1184d106dc781c07114d3a4560d00ba52b987e6ef4192105edca47599e3d079f] (r:1 w:1) - // Storage: unknown [0x298a7203eb1841c29a31c051cf0559ace866196b249bf1bcc1500eda35382b59] (r:1 w:1) - // Storage: unknown [0x5361d7d91627565c545e4844a53782f73741204ad5f3d517142ead6ca4d040f8] (r:1 w:1) - // Storage: unknown [0x623fc7609e608684e874840e045ec1ee7cabea4d390f591af4f34116963e62f4] (r:1 w:1) - // Storage: unknown [0x7eacc962a34ad7de3a66b92e4067b79a0f2e1815a6b261963d60a8f93c0a87b7] (r:1 w:1) - // Storage: unknown [0xb3e6e83f56be1b97c7e8c0ac5dcba5592e9129a77d95b1c79b27fa9a2ccc6863] (r:1 w:1) - // Storage: unknown [0xbd3719c0ed684f33ec28d93bd293d5a6330d7800bf928784bd0a107c296e96f0] (r:1 w:1) - // Storage: unknown [0xfbde54f17dbe9856d1e47a704fd9ea30281e4256671a63f37515d090df7f789f] (r:1 w:1) - // Storage: unknown [0xff98de6b90b3193de12945bc91d51fc38529ca4736d72bff21e90c7264c2f71a] (r:1 w:1) - // Storage: unknown [0x14dea875e0cedebfdd7d6dd9cd735842f31f0eb5897cf78ea0689a5a40f0a1a8] (r:1 w:1) - // Storage: unknown [0x19c9221c80f963bd72706bf3e0b63101d13d0d802aba95b9fcbc973fd287de59] (r:1 w:1) - // Storage: unknown [0x26aeb0fd26ac70ca2100d361a38a1a1fbcb19073a66853b14c59dbd56232dec6] (r:1 w:1) - // Storage: unknown [0x296551be0ba05b759efee2f02ca8d66ebb30120f246e83998c479f02c544e6ce] (r:1 w:1) - // Storage: unknown [0x5b5d43ded5ec8bcbc324492bd7739e92aee01a6f2c92bdb406abf5cc22f94552] (r:1 w:1) - // Storage: unknown [0x9f1850be63238c511db8ed703865cf530c5b0130b9e05a6de7e64627c6ad28ee] (r:1 w:1) - // Storage: unknown [0xa392d69bb5702f4417e0539366bd6ba139091fee633cf80d002d65c17111c9ae] (r:1 w:1) - // Storage: unknown [0xa67c6c2e46a40b67a88da9ce19133a1fe82491454c3f9b46a780de7e39341818] (r:1 w:1) - // Storage: unknown [0xb4acab02d78565e75ded51cee3273bcb2c98c0ffe8ffc545e4443b9bb07acaa2] (r:1 w:1) - // Storage: unknown [0x068082b39adf010e46c67f9d309ab9f500e5871d35b2993dd2ed0efd7a608018] (r:1 w:1) - // Storage: unknown [0x142f5546e7f86dddfe61211c399e1ace2be267bd8e4588b5682e73190ec29013] (r:1 w:1) - // Storage: unknown [0x2a0063f1a695f4d5563cabf3a6509d4f1491f40def624da9ade96dca3e933fb7] (r:1 w:1) - // Storage: unknown [0x356a887fd94f35b96ba15ec380500124befe1d3a17db608206161f22fccc7b86] (r:1 w:1) - // Storage: unknown [0x469f13dbe853651de759d758e8c30fdd20509367438c0275374a4c65f12e932b] (r:1 w:1) - // Storage: unknown [0x5c236523c6cef783c51c5d0dcdd4004f9aae4672b0ac997a777a0f3e2a629f8c] (r:1 w:1) - // Storage: unknown [0x5e4fcef0c7b973d39202d6fb0b06382887cb4389e61c27eb6224d006507a603f] (r:1 w:1) - // Storage: unknown [0xefa37685db10d0006e32e246cfaeb3cb6f33e8bd8f9ee84e61ee74ddbe35751a] (r:1 w:1) - // Storage: unknown [0xf8f59457a17aa1c34a1ea10fdeae16073f984657e0de6f7ae83f1405fde4f5c9] (r:1 w:1) - // Storage: unknown [0x32383cbb91d30600129e5ac97215741c81a86e63ae195adc057d29851b1e0635] (r:1 w:1) - // Storage: unknown [0x4ef4e5b5393914626c4570a05e7285ed225afce30a0d44476430fb385003d620] (r:1 w:1) - // Storage: unknown [0x52d5dc7ed11587378e6f063077d77430ba03c9ae21af62d277b7d23652b0f343] (r:1 w:1) - // Storage: unknown [0x8b6e86ff35b3bc955e9a8b706de850f5af7333311a692d7d1f6c892c9e0743d9] (r:1 w:1) - // Storage: unknown [0x9a57b167d72f9f3f5691f126d9b48942121a334340431be4d54903611add9cf6] (r:1 w:1) - // Storage: unknown [0xbecd8975089980917398dff92cf36548f1fa9b6b3d96eab120bfcd0a08be1133] (r:1 w:1) - // Storage: unknown [0xcaac1573f11eeaedbdfbe22884270e52a46a445d4f41c98fe95dd39fb0628fd2] (r:1 w:1) - // Storage: unknown [0xd37a7f79ab5c1c824fde6f849a12fbdec5bf8b8ae7b7df8bac21df690d1ac566] (r:1 w:1) - // Storage: unknown [0xf38e1806d2b2118a231477732019db23ca62831e3e0b8cc816a99a2182391eac] (r:1 w:1) - // Storage: unknown [0x29c03696410a0dcbf4e9bc8d076151124b7edc54fbc0cfbdc3faf7789164e206] (r:1 w:1) - // Storage: unknown [0x3195c59775014b156b70f95e90ab361304fb260bcc381c33c20b5e7293d4c7fc] (r:1 w:1) - // Storage: unknown [0x569d226e75a0eb467301f6fa4cb938d4fcd849d3efe969c161542ad1e75279cc] (r:1 w:1) - // Storage: unknown [0x93295b594fc192103b95e0638dd9f254d36a2e9b299bee6d275df67c8af4d759] (r:1 w:1) - // Storage: unknown [0xb7be2c897eac67b4b3a5da1a02b4b1816992ee98f6112b4d5262f73fc255c3a4] (r:1 w:1) - // Storage: unknown [0xc611fe61e43f3ba3182c4c6785a2a3ac060e2679bb8174a0ac1e234551428752] (r:1 w:1) - // Storage: unknown [0xd4f9a331a2eb206dc43bc6fa02586bd740021c262d4a5b74ff2ec74b24bb07b6] (r:1 w:1) - // Storage: unknown [0xdbf56dd98c667cdce364a53557f373d98947f7fe0bd7da6d72168e6572bfb622] (r:1 w:1) - // Storage: unknown [0xf74ed7b12e94dff551fb1db30d97245cca3374be5e04826487f83154a7ca79dc] (r:1 w:1) - // Storage: unknown [0x38478fb97716aa0a228f48ab751be24feab89ba4997894f4748c3784434852e7] (r:1 w:1) - // Storage: unknown [0x3935ad150e4eee0800486d78e89c19b55ddade16282d29f5fd75e398a03adeed] (r:1 w:1) - // Storage: unknown [0x65085b97bb627b7c8c3b4f09e5f174d1938737422c6154bd173ac6d0d75b6ea0] (r:1 w:1) - // Storage: unknown [0x7646ee188a1eb4daa60fccda6425d15a42eb1a25a2cb8252faa604ae48046dc6] (r:1 w:1) - // Storage: unknown [0x7b6c8e917003b1a2b8ea5c05efdd4eac91892086faac90cc893e2b7987222ad3] (r:1 w:1) - // Storage: unknown [0x94a9e5b0983394edf89c1193a94b8d5903d3bedcfb5bd892d2211f3a92beed21] (r:1 w:1) - // Storage: unknown [0xbc8dd82eb384558ef8afaddadb2534ad0d3b84350e42c080b92a318972afae84] (r:1 w:1) - // Storage: unknown [0xcc0292b10dc5b24ebfb31ecf1b60f5dd86c030def71e418f5d5ea58662d0e928] (r:1 w:1) - // Storage: unknown [0xd1b96b87e9f4bdd1d26a51daaa1e4dfc72baf9c8d0eab927c39de1d913759d1a] (r:1 w:1) - // Storage: unknown [0x01407b106cb8d8b1662ca8a44f362e1d99445ac4f611e160dc794fe19e91b9ef] (r:1 w:1) - // Storage: unknown [0x21f921d2a08b6c668f1575f8d69a2e27faed15e73a5813476d34a006d37dc9d8] (r:1 w:1) - // Storage: unknown [0x5574f592ca3417c1b74110fe7a3111bbcc0bc2cac6700cdf744d358734618c62] (r:1 w:1) - // Storage: unknown [0x5c182c2454b1ab519763417f95d564e2f77481dc5d5144ba489126dba6ce4f5f] (r:1 w:1) - // Storage: unknown [0x9b47d63344f6bbca64de1f01ad61d1e96af27f8bdafbdd8e638fc662452b4a05] (r:1 w:1) - // Storage: unknown [0x9c3a5cab41c65e4012798e7a06ddfd0546d455cfd46e94dfb84f4db210c29f6a] (r:1 w:1) - // Storage: unknown [0xc5928d7aa41aaa4efa11f127abace229d1265f4aaab036ab2093b26d3d25a318] (r:1 w:1) - // Storage: unknown [0xd251d389ae41aa428d7988c8e21995955dbb7dea36d2ac7570c85c43dc93c283] (r:1 w:1) - // Storage: unknown [0xf74f8fbdd0c70dffcc0218967818fad4252365bbc70ce33911f2112c9b312a15] (r:1 w:1) - // Storage: unknown [0x09a9376f1f7cb70af3a8b9b5c92fa34f1e40d6b518dbab9e0456bdaf2d322d0a] (r:1 w:1) - // Storage: unknown [0x2eecbb5fe19bbdbf62c79dba3456e92353a669f824bca8fb182f64d434e5d3ba] (r:1 w:1) - // Storage: unknown [0x4d332ce8f79870034022a949e25bae7943f8a2b69809bb9b6924542c2dc515f8] (r:1 w:1) - // Storage: unknown [0x875a7c5b801553193ab832bde427cd32f4159eecda9360ce4ea5185bd346422a] (r:1 w:1) - // Storage: unknown [0x8d8b1441f3859ef83c3ba5317547a84315ea29f41a83b6ff6da7039a88cac242] (r:1 w:1) - // Storage: unknown [0xc20f284dc00bb5f2932de03004d66c3a3bf3185c39ff61305a37198e3fbbd556] (r:1 w:1) - // Storage: unknown [0xd4f841abc893dc3cdea7c3d0d48ffcae53f63273f02c4391c2ccae0e52b5d43b] (r:1 w:1) - // Storage: unknown [0xd871ea178240c567bb4b8f35499644f8a013cdd76b381270540e9262b3da6a7e] (r:1 w:1) - // Storage: unknown [0xe5d24a5d239ad66f0cd6f13870d9747268a20306547f18dfcc91a88d84b056d6] (r:1 w:1) - // Storage: unknown [0x0f9026200cd5a19cd525379b24be34bcfd7016632fbb2891727e2c25513a5b70] (r:1 w:1) - // Storage: unknown [0x1489c4130501c2541e6c08aac4366599c37afb7ae0b4596e2ef2df4f9e0e6e6d] (r:1 w:1) - // Storage: unknown [0x25449a9001eed866e08345dd7d9a4c8234dfefff889899f3cff3b11bd0323f77] (r:1 w:1) - // Storage: unknown [0x3a689c9258d7959693de61d227fd6387894b4f48d201153c07057f808f9e7c5e] (r:1 w:1) - // Storage: unknown [0x9b6bd652c8562ea2e8071c6d604ebd41b2f3512b00d5ba7c20bc84fb2c1ccc2b] (r:1 w:1) - // Storage: unknown [0xb58f57a77781f6c9c5e12dd8e9fc1c8a9803b9dbba298538ab8d44985b74ab62] (r:1 w:1) - // Storage: unknown [0xcdbbb235046f6dafcb1913e53d45908631d73da7ed44263114432f3aae07ca71] (r:1 w:1) - // Storage: unknown [0xd1fd28c56fba032c65b1ad0a259ccab7f504346d22eafb2914c1dff1969d2a99] (r:1 w:1) - // Storage: unknown [0xe5860e29baab88a2f5fba4e38ba443968e067a279b72e87809d0228d631d89e6] (r:1 w:1) - // Storage: unknown [0x03fc50a53f8b55b7eb687d52bf0b688002613765a93b82f781065d6aae154b73] (r:1 w:1) - // Storage: unknown [0x36bfc1799952138154bf8020abbac8cfef585b3d5b8e24e24cc64e462db8992c] (r:1 w:1) - // Storage: unknown [0x390714b65f121ddc2954b7b9332fded961e58d32610a78724690ef87368bf7b6] (r:1 w:1) - // Storage: unknown [0x4b0192c61e4a1b2facce37c15309708bcd5bfc05c909cc76dd891478c84e3024] (r:1 w:1) - // Storage: unknown [0x7bfa441f3dee7aee4705a770c11edf7c4e05aba0b61c07094368e3d9d8e084c6] (r:1 w:1) - // Storage: unknown [0x7f10f8460f8af980c7d997040fcefb774538925362a0d956a11a77b40e6a5eba] (r:1 w:1) - // Storage: unknown [0x94b27a6ef159c56e0738bb35091863e326d1673b6548448bae7ac7e65fdab57e] (r:1 w:1) - // Storage: unknown [0xb1ffd2ee81d0411cd8698179bd8d84a9d436e7990185f336ac5953dd47e43ba5] (r:1 w:1) - // Storage: unknown [0xd0ea5cb1c4c9b8ca8bcf3f51dee17f42d030373e6ab09f45d75893c6364289d4] (r:1 w:1) - // Storage: unknown [0x15212ee014dc075c0e6f42b242af7e4d121f7d41e9caff916f7a524a4c29776d] (r:1 w:1) - // Storage: unknown [0x4187f2f0fdf610dc9d337c1cf46958c7db0394b0974296637d5a84fb7c2b3a8b] (r:1 w:1) - // Storage: unknown [0x4732d393876184fe46ea5cfa83b627f7bd1b6727003b9a0088a03636b4356243] (r:1 w:1) - // Storage: unknown [0x4be2d0c811822615e4848cd3054f3d9b1a7c34b18470d9a6f89100c0445fb010] (r:1 w:1) - // Storage: unknown [0x6da525e61d6b36723c2b5a2ca124c85d1856816e0b35238d0a850f9943e7ba66] (r:1 w:1) - // Storage: unknown [0x9c802f738e1b04601ed0d0abe32bdcf042074f8edaf2fa4571b124b01fa70846] (r:1 w:1) - // Storage: unknown [0xa73ce6f8f9d23682724f09954f06a53d3c4007cb29af7ebf5a8e606c5732cc86] (r:1 w:1) - // Storage: unknown [0xc1da305dcb85ec2893959f2ae65b4b22ae8bd45693ab0e3fce81d72cb2552577] (r:1 w:1) - // Storage: unknown [0xd3c6d933b4be80010db2b04898cd1f86bef1f05f4910ea6ec76cd893764cde57] (r:1 w:1) - // Storage: unknown [0x6a347d8997bcb43ef505e6876c09195b98dac72be6e9f08899090815a8bcde0e] (r:1 w:1) - // Storage: unknown [0x6cbadf65e4209acb1dfe5cc362ff515ffc407404026c48b83267237ca296beec] (r:1 w:1) - // Storage: unknown [0x7788a3a1aa009c1ba85f5f4bcdb8c4d371a45b6ed7b3d125f14ccbaf907bed68] (r:1 w:1) - // Storage: unknown [0xb141aef67c001419ce515c56c58b59d29d52e73eaadcaf464410553d1035f33a] (r:1 w:1) - // Storage: unknown [0xc0a79638a9bd36ef462f127f86035f874c9c7559d9e7dce1273c583e1539df83] (r:1 w:1) - // Storage: unknown [0xc0d5f26bb40d24ab056e1bd440482fb7db86ab2d0f9868977397c038c6230e9b] (r:1 w:1) - // Storage: unknown [0xc5cbbca4f0275eee449ae706cd0ed9de748d575507d8f045ad9f14712971090c] (r:1 w:1) - // Storage: unknown [0xd2e619fb36c5659aabe595bf30254a3e35c315d46d2afe91ab22801c35a1e8e0] (r:1 w:1) - // Storage: unknown [0xe2645307c930fa6f7ef89428b23f1cfcaa7e1218e99223f8d3f33bd8a0d742f8] (r:1 w:1) - // Storage: unknown [0x2e4e39c5b08d717d1808350db637f08e1b2cf6e9539595440e3d27ab3c719903] (r:1 w:1) - // Storage: unknown [0x43efa67dab5b54814027207019c7a820cb5415238f9b1250f234c3116933325c] (r:1 w:1) - // Storage: unknown [0x4e3ad2f84a1efe894ef7c96a4d086262a0d2de21f30121237e4d459c8c7a6f0f] (r:1 w:1) - // Storage: unknown [0x51f0a4a31006ed7e745dc8dc0d0d9e4cd78cf6d47d50e363b7975907ef548afd] (r:1 w:1) - // Storage: unknown [0x5f64929bcef4ccdf44d337a9ae8c17b203952240df87f49a5b10ee976e87f2ea] (r:1 w:1) - // Storage: unknown [0x6cb369ca9f516aabc21356337ee21e4b6bd7682c4325ec8d1481aa7686df9913] (r:1 w:1) - // Storage: unknown [0x9e8f653956af16e4b6e9759b8411451382d6749ef6dd44a6179293bad1bea1bc] (r:1 w:1) - // Storage: unknown [0xb192b38245587a98a41cacead1ceeeea650df259cc3c03902d7b6550a7a01b2d] (r:1 w:1) - // Storage: unknown [0xe11c6afab8139f5ea3d2dbfb377e756458f3d7f4d1f97c2fbdad93a745bd1403] (r:1 w:1) - // Storage: unknown [0x09a6e269066844934a3ca55c5c095f8112f4492f292a0d3ab1a374621a8f829c] (r:1 w:1) - // Storage: unknown [0x0a76588d48ee18219d4cb75458b1dcdc677263106ade9c9a30c728face6ca80d] (r:1 w:1) - // Storage: unknown [0x21fee12be772e78a59541b5d650b2186ec4cda36c4d37328d514ea66fde98904] (r:1 w:1) - // Storage: unknown [0x3e73e9aa06c5d5e22894a96e184a6dbedea5139f48e02980d2efcad0b758cdc2] (r:1 w:1) - // Storage: unknown [0x654c9261c5825253ff541d8993e72fe856a9f79b3598d447f38279e898a2b4e0] (r:1 w:1) - // Storage: unknown [0x768a3118cdd3b2a2759a0c75f20d3212dfc86cfcc249655bfe3bebb06bc1cc8e] (r:1 w:1) - // Storage: unknown [0x8b204a61cc4033ce6ce7af095ed891dfd7d19a642ef5561b4c510def6edb78ad] (r:1 w:1) - // Storage: unknown [0xc8dbe9efd7c11f55ac197805b9d8dd04426703cc4521b808dfd24b342ade9b03] (r:1 w:1) - // Storage: unknown [0xfeb9426ed2d7f338977a3257b6729210dfd069a0274230dc74267c2ee7ed0b77] (r:1 w:1) - // Storage: unknown [0x0232d463305f8fcea7214c40efa268b26f6853c420ef75961761315a09e7b7bb] (r:1 w:1) - // Storage: unknown [0x1a350d01aad2f424d54ab323adbddefe00b1ec517f8ba9d4a8587e1ab6825fd7] (r:1 w:1) - // Storage: unknown [0x20afbef21dfb3b37883c4e0eb83a8f1f33b5676fcbef51339631429d5d921279] (r:1 w:1) - // Storage: unknown [0x6b0fd9c9e97dad955d766b7a4ff67adcbb5bff2ebec6a407e8b7c4bd4d45c5ad] (r:1 w:1) - // Storage: unknown [0x758ff77cb1f5d2032a7e366371426e160ccd0b96925f06bbc9329f98de0e19ca] (r:1 w:1) - // Storage: unknown [0x8dd87fc444419a4a88abe89607b045d3141156f5b2d716290910ec732899d1a5] (r:1 w:1) - // Storage: unknown [0xbc74be6da6abfeac2567acdb80142289c6da87a0f3682f96e4a387350028ecdd] (r:1 w:1) - // Storage: unknown [0xd856c79bf100dc8b235a733d120ba3e6575dec83527bf0312a9f2ddb41f83df7] (r:1 w:1) - // Storage: unknown [0xeab25b78085c98a9b4688df96c04ef8b39158fd62e6e52e33590fb21c1328dcc] (r:1 w:1) - // Storage: unknown [0x0fd1b2d3599d3ff280c2880169ee61ce60a3df6183220f88c57c637f73641101] (r:1 w:1) - // Storage: unknown [0x250c74e6a150be40d25a748d04adebe88c1efbb9508443fd9655f88592a692d7] (r:1 w:1) - // Storage: unknown [0x7a2e58ba4d1f6ce180e06278d12bb8090221c0b181ba26f2b1a91897d312b723] (r:1 w:1) - // Storage: unknown [0x8e2c35f4209f4902ac5c733e6ac0c213ee089994c63ae8424be9fe625ce3d843] (r:1 w:1) - // Storage: unknown [0x9a7ca4148e063f02caaa764e89a6338fb598082b807ad2253127aa1ddccab5a3] (r:1 w:1) - // Storage: unknown [0xaacab268ca7cbb3c5a6c7030c43362d255f6cc408b83fd68b7ae6ee31ccb7e20] (r:1 w:1) - // Storage: unknown [0xb4f410c11de2e2060206ca18d5ff89d2bbf64aa94583a0693733ca98ca481b2f] (r:1 w:1) - // Storage: unknown [0xdbd5457c02ad4f1b32be421421b81cc926c4bf998df2ee94ee9363e74ea064c1] (r:1 w:1) - // Storage: unknown [0xea1bea5c24f8335580a71d29a7a773541dbd384134f88f11965ba6b3412d9ee7] (r:1 w:1) - // Storage: unknown [0x16e516ebd01eb6570a956dca7cdbd4a886a8c1509afb1d5dd3bf7102ac8e0653] (r:1 w:1) - // Storage: unknown [0x17ea99a7d60cbee014631f3438603e36ef7d7bf1bdaea7740f33079ccd219240] (r:1 w:1) - // Storage: unknown [0x36325a2003628d7ae9c30d6264688ba0ddf93c2dadc10623218a697ba807784e] (r:1 w:1) - // Storage: unknown [0x3f2edae08b19a7878d65c7245b7608ba1b6597e6d448652a89667ecaa2c10658] (r:1 w:1) - // Storage: unknown [0x4a325faac35d245e0eb3f57ab651ba6641e2617505390a4388ef08e2dbebb38f] (r:1 w:1) - // Storage: unknown [0x5e5b6c2bca3c4617a35b60ac68dd56733e2cacd9528658e086317d1e4ae33c10] (r:1 w:1) - // Storage: unknown [0x78dcf8ae0c638ce501342ee0e3844e77011fde109607e17d68e912c28b55afed] (r:1 w:1) - // Storage: unknown [0x821525922b4f0ceb302c003259c7f5bf65fffa46d17dfb4eb996e8b0647daec4] (r:1 w:1) - // Storage: unknown [0xf7417a27daa0204a3aa339f2c077a3eb5f90752122333c123c4e4ee31d8fb68b] (r:1 w:1) - // Storage: unknown [0x078779e40d3c775ac8c135ec9e505babb035597b3bb09fa7f789891997f0d650] (r:1 w:1) - // Storage: unknown [0x30fe9bfb3bd1e640e99769310b3c7cba2b47e8e8b783eb3d5893d6d1f59f8042] (r:1 w:1) - // Storage: unknown [0x337025af84c7381996544f1ac8cee4709c0ae9500a276f7031902d1096e7582f] (r:1 w:1) - // Storage: unknown [0x674985c60108f89ff55cab7c53a76fd7a9a334e8fb709477b2d9d18ee770590d] (r:1 w:1) - // Storage: unknown [0xc19e5eee149c75097d549f969006d7f8c7e797c836a15ca423a18a4a4432e138] (r:1 w:1) - // Storage: unknown [0xc9f9cd749702c3f010221d225bcf304e54e7f0e8573962d978edfaec4105387d] (r:1 w:1) - // Storage: unknown [0xd75d0226e5b4ac7a2728e0986dd018a8a6c88072fb927a56f9140a11831ea9c8] (r:1 w:1) - // Storage: unknown [0xf6a39d38e14007401941e32ecde9503b4d58efe10b3f676dce992266aad1abdf] (r:1 w:1) - // Storage: unknown [0xfadcf35d360cb1c5c2fb1509d65e6b1ad79083fdfe90b3e64fc7956f5eaee5dd] (r:1 w:1) - // Storage: unknown [0x129730fa94511f735b9910e2d640dc2ab0fddb29ac3442924dd2e27d74a55f1a] (r:1 w:1) - // Storage: unknown [0x1d1a6641ce7e5e6dea72bcd68828416a44cb06e3207d349b43c7300262ffbb81] (r:1 w:1) - // Storage: unknown [0x26e4d08be6a3b5bd814cd0aff1bba2e3b3f3f8a61e5dedd352c641795642d5de] (r:1 w:1) - // Storage: unknown [0x45fbad84e42f40e96452f652bdd233f71f67f6a1415b00551a21019033ba30f7] (r:1 w:1) - // Storage: unknown [0x4d52d448a046ee9690cef9539b6b7dc9a60b4e4b05c52f21c31c307ac1aef94a] (r:1 w:1) - // Storage: unknown [0x50f7e43916898de9a9387e19b0984a4be39e44b6fbb5212564c7299e92203fd2] (r:1 w:1) - // Storage: unknown [0x7009ee69684472410f9d454e8c4503e89cd3807e4f41ebcb142539db34dfc137] (r:1 w:1) - // Storage: unknown [0xd35a663830dbaeb43ac6bbbdd4cc221430a35aec509557262d4c5032789f78c5] (r:1 w:1) - // Storage: unknown [0xe1164fcf99526792f77cd4a96bba1367a01dc7847634f156cfd905d9a74c2e4e] (r:1 w:1) - // Storage: unknown [0x3f39a48558209f0501e7599c5ff9c872e6bf14a137ee40facefef94db4a038a5] (r:1 w:1) - // Storage: unknown [0x4b594ca9743d048965171e9cb071d25afbb428b6499893000a3c02143df1e98f] (r:1 w:1) - // Storage: unknown [0x6b2dc18de1c43eddbd70da532389561c311aa44c79b1df11d3ab579ca874af09] (r:1 w:1) - // Storage: unknown [0x764780a58bf2c1ddc3036bc739d7f11d6cb670c3e0409da6219d8dcc341e81ba] (r:1 w:1) - // Storage: unknown [0x92056e54539b0632e17ec7418c3e57c8ca3589ea2703bed64f879eecd4afab07] (r:1 w:1) - // Storage: unknown [0x959d72bdffb0754a9d28b1a31900a21da9519063a1d13c6b8e85328594c469d8] (r:1 w:1) - // Storage: unknown [0x97bab3ac046ded8556c371745f46b78d54df3f40d1c8435a1e534bbd3cc40bc1] (r:1 w:1) - // Storage: unknown [0xb36b2eecaf2da82f8b7fb4ca1f9dea513b57a56d30111386fd6d7e17d13c63ed] (r:1 w:1) - // Storage: unknown [0xe5ee08335dc8a0c22d49d7d07bcb6fa2a8aaf854a55a31831f7d97f4eef4d64e] (r:1 w:1) - // Storage: unknown [0x03c62116305bd05ac7512c6b685b88e8e33392886d0f40ddb332bfa33b7c2139] (r:1 w:1) - // Storage: unknown [0x162d04de4b5bf08c3f6cf14beb6c63bbbbded34d6d42e83072b5c3bde079f3a6] (r:1 w:1) - // Storage: unknown [0x2169cb6fc72c7d9940e7b09dd3e22cba0f3bc950b7ddc419e978052ac9b2a2bc] (r:1 w:1) - // Storage: unknown [0x24f0ed4b5bb87c45fcc018f89c8ff92fe012e9cc44433b1f63e709f9c1d6380b] (r:1 w:1) - // Storage: unknown [0x6d99f9efc9348c9fd2a7823e65dd7119afdbb1e8edbeb7ba5a985b13fb191745] (r:1 w:1) - // Storage: unknown [0x7999d569f1d75161e56c3b981d43dfbba27850949a7f3efcfb24d1e5df6f9c48] (r:1 w:1) - // Storage: unknown [0x81bff11208bacd1cc864311f5ab66579569dee60ed6970abfab7c629115d9b27] (r:1 w:1) - // Storage: unknown [0xc30095a93bd4d72ee547a0c4150a283d4ef43c7cc6b58c7636e0d01c6bbcf38c] (r:1 w:1) - // Storage: unknown [0xd098e22c1b866138b1f1183864ef282ebe5c68a9230aeea6651017e0b2ca7341] (r:1 w:1) - // Storage: unknown [0x39ffc5b547462d8775e1aff1de9bb2533140a0725e259ed2b0c4f589bb390e37] (r:1 w:1) - // Storage: unknown [0x3a20973d20cf9ad844d687e106a44030ecbf990dc74752c1e64079be511a4e06] (r:1 w:1) - // Storage: unknown [0x491b2aaafdf4d8c47364ef6b2ef92aaa6d6fd10eedb2f374c8d42f2410b0bfe5] (r:1 w:1) - // Storage: unknown [0x9aa6a1118d01d2733b707f5a2cc795547c33acff451c97d194ed627e3af70583] (r:1 w:1) - // Storage: unknown [0xba27bd0b26d49467574a0399c7867a70e1f99f2348dd30abd7b42eefa43dc2e5] (r:1 w:1) - // Storage: unknown [0xbe58a92b8383c2e39bd6b63cf4d92461e334037f9d2c64a42aeac1e06600bca7] (r:1 w:1) - // Storage: unknown [0xbed02ed125a0400cc9144307f2ad28c94461c694d4a9a89e4591cdfd4a7ca48c] (r:1 w:1) - // Storage: unknown [0xd4f091d4c1b7088764b59a48fa30bb063e83f0fce3e0031eb1094a84bdeaddda] (r:1 w:1) - // Storage: unknown [0xd6497bb219680b798aef6cfa92c698524c58732bef89939e8ec2c1a5068ff0f1] (r:1 w:1) - // Storage: unknown [0x38580239895995d2f930f08c6465fd3d02238f6214f82ed488d7c83a5698c145] (r:1 w:1) - // Storage: unknown [0x611385ecf73feedaf7bc17ab736470d9c8a8ce9c4e93e19a39d287a4c54293ed] (r:1 w:1) - // Storage: unknown [0x625b852590843c0b3b38d2cfddf64b8869c926a9f1a217b7df9cc290a04d3c17] (r:1 w:1) - // Storage: unknown [0x69ef3849249445b5033754475a36de695004f25d3a04a1873dc3449b4908aba0] (r:1 w:1) - // Storage: unknown [0x85bd68db5fbd69beb026aaf881413c97a190f1dd0bfb38375ec7bcd52448ee4b] (r:1 w:1) - // Storage: unknown [0x8d2ec8130e5f3628d22bfcae29d02f1635977d43b3e1a9e86f0b78c650c97ce0] (r:1 w:1) - // Storage: unknown [0x944fb8d1b6708dbaad846c06734df5c05aff0da9a466f6fde0881343b4aecd99] (r:1 w:1) - // Storage: unknown [0xa5ff5fc6e8aceea405f11cef80161ee2f2ca657c5c5a485eb44850404623be6f] (r:1 w:1) - // Storage: unknown [0xd27753d9ff5db15ed803d558b19fe57448af6287d51d57fc60c382db6342d41f] (r:1 w:1) - // Storage: unknown [0x23b01e79ab305a48fb81408e97c010865229bff7e39975a47a4617d1b70bde12] (r:1 w:1) - // Storage: unknown [0x32bca73cc5d28831b3d6b8b8343a6fca085fc96021ee55074c40a41b7ba20b80] (r:1 w:1) - // Storage: unknown [0x36ab36b371df875d1863acc3752b38a952134a7017537a0edf569a9dd58c86e0] (r:1 w:1) - // Storage: unknown [0x4efd4581164c5edb502b7b6a8b8e8b324deda1ea6e28e9e1e624defafeb097b9] (r:1 w:1) - // Storage: unknown [0x8f1e26abe053ae68a0744df7fe0447fbd50d14ade59c924dd4d2b70d1296b723] (r:1 w:1) - // Storage: unknown [0xa9d399f02c89a57e4ab0aca86b74d5c124974e19189f4a35a405bc57277d3294] (r:1 w:1) - // Storage: unknown [0xaab2936af1631322f597eeaf3c3ed16545579a4096ea72aa6c81aa6239367dc5] (r:1 w:1) - // Storage: unknown [0xd9687ab33fdb52c1eba4ddef1151e5c883c8b8ca4a25f0fbdc458a4a07202918] (r:1 w:1) - // Storage: unknown [0xe36d5d7328b4f69fc7728f89d71d36122896443ec8d85ce1c6945ac178f1c410] (r:1 w:1) - // Storage: unknown [0x0ce1c95f681adbe0583541264d7ff63606d71fc7f9a5056f9ce2ae5dbc92c8ef] (r:1 w:1) - // Storage: unknown [0x366897223e45040aa102fedaf30e54ae118f23510d9c2762da994d8e9eb37f8f] (r:1 w:1) - // Storage: unknown [0x65fbf6ee57a08d8f5407677ef0796630f71a75519462181854d44f3dd0d2e9fc] (r:1 w:1) - // Storage: unknown [0x7511f042605e429879bff0e9ab4466069665ce3b175ab9d9a235d4014604b4ff] (r:1 w:1) - // Storage: unknown [0x815c85bdfd3bb9d957e5a6738955e5a94024e27cea203faa4b984b846f3f07a5] (r:1 w:1) - // Storage: unknown [0xc383631f40436e078c9af767056802826e3f47183fd8ec00a5d06cf991b5d622] (r:1 w:1) - // Storage: unknown [0xd062d3018d16f1337e6aa46159c2085f4be01f700dce001c6248823b15d3a470] (r:1 w:1) - // Storage: unknown [0xe188fef7ccf953faa2185e2e9175bf3bca48aa36f3dd62b8161a75ebb34f19a7] (r:1 w:1) - // Storage: unknown [0xe7dd8a0e93b4c990c00453edf0c631b3ae4fcd7f1189a0b3d2e5c27ef824bc99] (r:1 w:1) - // Storage: unknown [0x0ba1e4e6d98da9611922932b095d435e39bcfd6babc4b9e89485f7f378cd6b45] (r:1 w:1) - // Storage: unknown [0x2d4fce1669eb402b2ec3f325de12e8582f8d9c77de9b5270ef6956203a8314d6] (r:1 w:1) - // Storage: unknown [0x89f01db4731551d533ba2108e036875e126adb7665bc5fddd4575716a36c26a4] (r:1 w:1) - // Storage: unknown [0x97dc9a3b2cc3aa9784021dcb200f09540dfdedb79f3d159867b97a75cc892a3b] (r:1 w:1) - // Storage: unknown [0xc20b40ca76d1caee1cc717d847ae6878857e35b45d47478ed7f1450c154c503f] (r:1 w:1) - // Storage: unknown [0xd0b010e2c3a992e7680dc9120b82fe6e8c3d160b997aa89af463bbdf84a6e2d7] (r:1 w:1) - // Storage: unknown [0xd35ed52d5edd31264c21a0c30d3994d5600b3e19ebb66d6f8099661d6dcc57c0] (r:1 w:1) - // Storage: unknown [0xf5b993b187b5029b7a30de61f1bce1be780f8790b3daf85742ec63b66f79cc80] (r:1 w:1) - // Storage: unknown [0xf98428e38450dcc80131bed1b84059f80938df6d2941d17917c968e553afa753] (r:1 w:1) - fn batch_migrate(k: u32, ) -> Weight { - (0 as Weight) - // Standard Error: 53_000 - .saturating_add((107_557_000 as Weight).saturating_mul(k as Weight)) - .saturating_add(T::DbWeight::get().reads(6 as Weight)) - .saturating_add(T::DbWeight::get().reads((4 as Weight).saturating_mul(k as Weight))) - .saturating_add(T::DbWeight::get().writes(2 as Weight)) - .saturating_add(T::DbWeight::get().writes((4 as Weight).saturating_mul(k as Weight))) + // Storage: unknown [0xd861ea1ebf4800d4b89f4ff787ad79ee96d9a708c85b57da7eb8f9ddeda61291] (r:1 w:1) + fn redeem() -> Weight { + (137_729_000 as Weight) + .saturating_add(T::DbWeight::get().reads(11 as Weight)) + .saturating_add(T::DbWeight::get().writes(8 as Weight)) } + // Storage: SalpLite Funds (r:1 w:0) // Storage: SalpLite RedeemPool (r:1 w:1) // Storage: Tokens Accounts (r:2 w:2) @@ -569,7 +71,7 @@ impl bifrost_salp_lite::WeightInfo for WeightInfo { // Storage: System EventCount (r:1 w:1) // Storage: System Events (r:1 w:1) // Storage: unknown [0xd861ea1ebf4800d4b89f4ff787ad79ee96d9a708c85b57da7eb8f9ddeda61291] (r:1 w:1) - fn redeem() -> Weight { + fn refund() -> Weight { (137_729_000 as Weight) .saturating_add(T::DbWeight::get().reads(11 as Weight)) .saturating_add(T::DbWeight::get().writes(8 as Weight)) diff --git a/runtime/bifrost/src/lib.rs b/runtime/bifrost/src/lib.rs index 3c98dc6d0..e2d1b2538 100644 --- a/runtime/bifrost/src/lib.rs +++ b/runtime/bifrost/src/lib.rs @@ -1650,12 +1650,12 @@ construct_runtime! { // Bifrost modules FlexibleFee: bifrost_flexible_fee::{Pallet, Call, Storage, Event} = 100, - Salp: bifrost_salp::{Pallet, Call, Storage, Event} = 105, + Salp: bifrost_salp::{Pallet, Call, Storage, Event, Config} = 105, LiquidityMiningDOT: bifrost_liquidity_mining::::{Pallet, Call, Storage, Event} = 107, LiquidityMining: bifrost_liquidity_mining::::{Pallet, Call, Storage, Event} = 108, TokenIssuer: bifrost_token_issuer::{Pallet, Call, Storage, Event} = 109, LighteningRedeem: bifrost_lightening_redeem::{Pallet, Call, Storage, Event} = 110, - SalpLite: bifrost_salp_lite::{Pallet, Call, Storage, Event} = 111, + SalpLite: bifrost_salp_lite::{Pallet, Call, Storage, Event, Config} = 111, CallSwitchgear: bifrost_call_switchgear::{Pallet, Storage, Call, Event} = 112, VSBondAuction: bifrost_vsbond_auction::{Pallet, Call, Storage, Event} = 113, } @@ -1983,24 +1983,6 @@ impl_runtime_apis! { } } -pub struct CustomOnRuntimeUpgrade; -impl OnRuntimeUpgrade for CustomOnRuntimeUpgrade { - #[cfg(feature = "try-runtime")] - fn pre_upgrade() -> Result<(), &'static str> { - #[allow(unused_imports)] - use frame_support::{migration, Identity}; - log::info!("Bifrost `pre_upgrade`..."); - Ok(()) - } - - #[cfg(feature = "try-runtime")] - fn on_runtime_upgrade() -> Weight { - log::info!("Bifrost `on_runtime_upgrade`..."); - log::info!("Bifrost `on_runtime_upgrade finished`"); - RocksDbWeight::get().writes(1) - } -} - struct CheckInherents; impl cumulus_pallet_parachain_system::CheckInherents for CheckInherents { diff --git a/runtime/bifrost/src/weights/bifrost_salp_lite.rs b/runtime/bifrost/src/weights/bifrost_salp_lite.rs index c3678833b..31de70c5d 100644 --- a/runtime/bifrost/src/weights/bifrost_salp_lite.rs +++ b/runtime/bifrost/src/weights/bifrost_salp_lite.rs @@ -47,519 +47,22 @@ use sp_std::marker::PhantomData; /// Weight functions for `bifrost_salp_lite`. pub struct WeightInfo(PhantomData); impl bifrost_salp_lite::WeightInfo for WeightInfo { + // Storage: SalpLite Funds (r:1 w:0) + // Storage: SalpLite RedeemPool (r:1 w:1) // Storage: Tokens Accounts (r:2 w:2) - // Storage: System Account (r:1 w:1) + // Storage: Tokens TotalIssuance (r:2 w:2) // Storage: System Number (r:1 w:0) // Storage: System ExecutionPhase (r:1 w:0) // Storage: System EventCount (r:1 w:1) // Storage: System Events (r:1 w:1) - // Storage: unknown [0x] (r:1 w:0) - // Storage: unknown [0xc85982571aa615c788ef9b2c16f54f25773fd439e8ee1ed2aa3ae43d48e880f0] (r:1 w:1) - // Storage: unknown [0x1793e0dee28dc36e243edc2691a5a966f4c15d0d4d432426816fcdad0229ee46] (r:1 w:1) - // Storage: unknown [0x262b3fa18a914183e88378d5601925c49b7bcbf07101f6a73b1e7c38b6c23d23] (r:1 w:1) - // Storage: unknown [0x273401c6dc3eb9f6a74a2f7181b1eef87e486620f91dd0fb5ed0ff69747447ae] (r:1 w:1) - // Storage: unknown [0xb2233113701bdbed1e43339a304e77ade52c7b0204a5366dba4c12c9c1a90811] (r:1 w:1) - // Storage: unknown [0xbcf11cdfc92c4bf5c40d1adc80e83b0c91148a8079347419a0890363e3e0186c] (r:1 w:1) - // Storage: unknown [0xbfb77688785d1f34aaea15726de0f743afd4cd1eb8a9b2f03ec8f6cfcd2c1a8a] (r:1 w:1) - // Storage: unknown [0xc040e64ae303602c545b547ce74b24952443cfb1ea9c77f6fd49c41efcf68102] (r:1 w:1) - // Storage: unknown [0xecc728efb63d13c538d0122cd7dba2964c47c6750030158f57908845b086ca70] (r:1 w:1) - // Storage: unknown [0xfaeaef9ced7ec5a1f1d74d225cf03d269643a95c94a2892c8184227481765683] (r:1 w:1) - // Storage: unknown [0x1e14f015894dbfd07ff4c7907acc885a26b4773a7f5a907e73d1e916b7059d2b] (r:1 w:1) - // Storage: unknown [0x31363b6a3c3285cda230e1c805b99e473215cf1f2446ae76c616ab164260fab3] (r:1 w:1) - // Storage: unknown [0x57a81f30e61dd3e10fc6529335e4462cfa2bac1eda902566c924437cbe25360b] (r:1 w:1) - // Storage: unknown [0x5852d9d9072edcf8c92059e5fd0db36dd4462052ab7cec264b2c7d199d50ac3f] (r:1 w:1) - // Storage: unknown [0x63ae89fe4d673aee0b2ce473376da36c60dbd3edc5a7608cb4cf311cd5e0d635] (r:1 w:1) - // Storage: unknown [0x70c0824966fc4dfe90a9740b284e131eebfa28cac4c010724376afaa88fcddde] (r:1 w:1) - // Storage: unknown [0x7d1a7c7da2798aac8bd51675f08ddfb11a44ada2c5d5a621493d6ba35b9c3caf] (r:1 w:1) - // Storage: unknown [0xaa3b015c528422deb5b272951c9b21f64439baa57d273243f378ce9d291a30c9] (r:1 w:1) - // Storage: unknown [0xffa01c2b1e8481410b1207bac0e1f357e41581e001324873c809b383c16dd8b7] (r:1 w:1) - // Storage: unknown [0x19b003210a923977355564d664c01287ecfe83be2d465f5e99d3c03105fc2ab0] (r:1 w:1) - // Storage: unknown [0x2c1108b7cbe36e4a037eb29c204116b2f5fdb9da2635802c4de3404053c51d77] (r:1 w:1) - // Storage: unknown [0x4b6f8a87cdd23768e3dfce3ee7a2614b998a767e39035e94344f0a6089c0c4c5] (r:1 w:1) - // Storage: unknown [0x5ab0d964adf1f6ac3436b3b9e171a345ce07f01b0b35fac58e780d0dcdbf9e4c] (r:1 w:1) - // Storage: unknown [0x670d01023ac8c64b2c3da33e1d19c36c4eb1981b46571225c472841fef9e702c] (r:1 w:1) - // Storage: unknown [0x9a794f2ba173e4d3987f32b26f23634bc6a1ea6ede13756210243f026d395864] (r:1 w:1) - // Storage: unknown [0xc2c3cf3e838ea0936aac2272be3da5b1258dc53931e63045fda2a4e61cc9897b] (r:1 w:1) - // Storage: unknown [0xcbb519bbda43dcb93203c892789842e2cbf8eabbde279832fd91bb8e4fba31de] (r:1 w:1) - // Storage: unknown [0xdd8302d27abf6dc2270eca7a21b5b7af02495e7a2c33dbfbdedd421ecd7180af] (r:1 w:1) - // Storage: unknown [0x035c36e54d78f5a657005187bcadc31d6dd01bc9017ec5e1a479a673964346e6] (r:1 w:1) - // Storage: unknown [0x0f9ffb8ec2a1a1dd8bca07156eeebf830debcb4c345cd72d7377c31f98eab91a] (r:1 w:1) - // Storage: unknown [0x30ed371d94305cd05ebc3278d5faafa023b26db1fbecdcef3d2b9fab82ca8c27] (r:1 w:1) - // Storage: unknown [0x38ef26608ce2d8c63881c1957367989c990a9333cde334da98e5f5661668fea8] (r:1 w:1) - // Storage: unknown [0x397eb4b5c8440d7a1ce08239fb58b1c22700484295d3521198f162562ae772ed] (r:1 w:1) - // Storage: unknown [0x47a4353adb1bbf8f6f65faf93d0a56282d0cbe38db077ce85e35e3f466097a73] (r:1 w:1) - // Storage: unknown [0x4bf4fcbfd0cfa9763b2c40ff5957889c326f76e0ac3e364b6da7e28f3cb89e50] (r:1 w:1) - // Storage: unknown [0xd60aed2c8769890ed9d6fb94170b46fac79639c65d0dc0289340a62e86c4d831] (r:1 w:1) - // Storage: unknown [0xe92b49436c78a30d1aae41c733ac088a70a8ce9a306725618f52bdd4c4c07501] (r:1 w:1) - // Storage: unknown [0x2a8e3ae3f7519353a0e8a85c5c6d897cff5032bd945dac42e09ce6e310c143f1] (r:1 w:1) - // Storage: unknown [0x30397d885abd14d5eabc75a21e336852ac3dce3879a83b90035ceb2d607ebee9] (r:1 w:1) - // Storage: unknown [0x37c9fbaffb8eb93dc54894e8378d4e185a69e1157561a98d059657eedf5b2670] (r:1 w:1) - // Storage: unknown [0x3b24032554271fa66764953ae519d33a87bfed97231b99cba4466b3dbf99908c] (r:1 w:1) - // Storage: unknown [0xb9698194cdd5645046662d66f4a3279103508d78c9978ec54b154d42534763f1] (r:1 w:1) - // Storage: unknown [0xbba68e0920c2c5bd3487b448919c27a6867c5ee7d6699b713f56a90a651614ce] (r:1 w:1) - // Storage: unknown [0xddf83f4806c915fd142e344deb063eb5ed5721772a4feb56cfa469046d6edba1] (r:1 w:1) - // Storage: unknown [0xef325b1c8537772ada5b06519f8929f3ff049d0c09579a739a18e50370700c59] (r:1 w:1) - // Storage: unknown [0xfe2b10355a2516b8572175f4e3ef8ba8687cca3fee426b3b80bb1b8db4e08564] (r:1 w:1) - // Storage: unknown [0x2a8ec737d3db7565d0f4bbdc6f9c253d1e534f9b468d0402110d12658d50116e] (r:1 w:1) - // Storage: unknown [0x2ae6a2134fdcd8ca414b654e56361e6ac92a4674ce055ceab01fd3d9e5a204e0] (r:1 w:1) - // Storage: unknown [0x3016a40a91959adc6086e79a17cf8ee2f9e038f8d5250c724aa627c2fed9f47f] (r:1 w:1) - // Storage: unknown [0x323d73caf3f762d77ae5193f9715f8703d6bd2f3f19626fae62e7bcfab07b767] (r:1 w:1) - // Storage: unknown [0x816bb2f6c9cceafebee78babc8a3c8095aec357db1b8b6e5a4ac832492c469bc] (r:1 w:1) - // Storage: unknown [0xa50750b066f781e63bccebb57775f9d3ba7b44624bae77b9997d2a4bb80fa8d4] (r:1 w:1) - // Storage: unknown [0xa6691dea20613080f29237be39585440a5c37bd78cb3075e9f02c903b03f1e29] (r:1 w:1) - // Storage: unknown [0xc2f159a33d7f609b890d30c9af2422967c2423865bfc1d31b26046cba4c2965a] (r:1 w:1) - // Storage: unknown [0xeae0a2566b6ac214cb5298a9a8e160b8c5d467ec2543b4a6c57c31a166e082a0] (r:1 w:1) - // Storage: unknown [0x0255fb7cbf688b17898bda454f34de10cd5864bf0c9938ca898013d8c04bdb06] (r:1 w:1) - // Storage: unknown [0x0caf43f6381fb628135727230d6c750ed6004e34a8c1bb3b4f208b4819cfcf01] (r:1 w:1) - // Storage: unknown [0x23711525360aeeae0643bb1db76a386cd0cad86ecc96d99bc2d55691b0bd6d09] (r:1 w:1) - // Storage: unknown [0x314275cc77a136e89b93f70dba690912ed9927c4be09fcf7d3ad6aafb38b4b5a] (r:1 w:1) - // Storage: unknown [0x5caf00cbf2d1e5f34267b787f8515e50ca011dd67273439e2f8be3e16d1307eb] (r:1 w:1) - // Storage: unknown [0x9599e8bb6188bfc0f66c0769a7b882d686ac4de6dd64244ad3444622ee2dfa12] (r:1 w:1) - // Storage: unknown [0xc37c05727fbf73ebc724a77289e362dec9b0c3f15a3766c0ce18ccbc35abf0fb] (r:1 w:1) - // Storage: unknown [0xc7a39567e780e01f5132b82054f6b88c3fc3976dc07abf06b36f1cb3818bc45d] (r:1 w:1) - // Storage: unknown [0xcc9b77338ca78833152ff0221eb0d68eb8630515a262d1b76bbfa55c2bc0cc5b] (r:1 w:1) - // Storage: unknown [0x388cf112e930ffac757fd416bbfa6976ea3ccb42a573b182faa41a5d4e2c764a] (r:1 w:1) - // Storage: unknown [0x496ebfd4773f19bb23b23b5d22e17d1a95c575eac659ac5c01943f01ab7cd1ff] (r:1 w:1) - // Storage: unknown [0x58bc2d38e66911c6539e2e1e265b69ee36a7d5f2d9dd82b0688d45bbd64f7e6f] (r:1 w:1) - // Storage: unknown [0x847ff6f6158483969d76e0b4114493657e4d9a92008c04c4ead16fd1405fb9c1] (r:1 w:1) - // Storage: unknown [0x9388f896df5ed34ca45308f5e5c81cea93e24bd85d42dbef1e8a704c81d38b9e] (r:1 w:1) - // Storage: unknown [0xb79d749059601a3d8c72ff43e58db5f8d24bfd35228be610746544b95669a347] (r:1 w:1) - // Storage: unknown [0xc7a2a8698a7345317f4dc279d7840841c25358906c915e7ca5b8b4c09ccda808] (r:1 w:1) - // Storage: unknown [0xe5b92f2f3cc3b0ad16d1157b61df06abf15de6f133d6dee62d10f7ac45f85cc1] (r:1 w:1) - // Storage: unknown [0xfcbd15685a27928b84290bd6a4e893ad56ba73df7149a82091a8b37b502cbeb0] (r:1 w:1) - // Storage: unknown [0x0392a02d23fecb158ac27d3c28a51f0686024a9841e71710c66bcec6e29f8e0f] (r:1 w:1) - // Storage: unknown [0x2a00f03d467cd9683a9be7c4a8613015086dd05f6a7bf9a2d3bd4ef478732936] (r:1 w:1) - // Storage: unknown [0x3231b5f56292cc339ac941159eba4be941fdb8efa47e43cb28e1bb5c4266817d] (r:1 w:1) - // Storage: unknown [0x42d69131243a9e11dbe162524864c388a81a2ae550d66076b7864623c0f645e0] (r:1 w:1) - // Storage: unknown [0x586e8e7e98386d6dd27217632dba2d8314a0eca72a42409ce07a31f0638cb92d] (r:1 w:1) - // Storage: unknown [0x5b8abb2b3dceca152086f6d22af03bd1e425f7c04ad31db49e862770f394d25b] (r:1 w:1) - // Storage: unknown [0x8af99dd7260367cbf7bcbc222a092d37a2eaaeb75dc9357042d393f8d708899a] (r:1 w:1) - // Storage: unknown [0x9c16707397d0b463ed30c3826c42efe3eac8cb571c4da3b41809ddc81b0ee787] (r:1 w:1) - // Storage: unknown [0xfd9a4d435d8028aed79ecac41ba335234585df62d5d2cba54569df84da6b4b8b] (r:1 w:1) - // Storage: unknown [0x1d7d044749500157cdc9a315eaf3843cd96eaa0b8c081fd14ec8dd6e6b98ba55] (r:1 w:1) - // Storage: unknown [0x240a4e8b59a1f7d43a38a3846eaa3d638461dd509da91ec7fdd560f3afbd3c87] (r:1 w:1) - // Storage: unknown [0x63fefdf2bc89739939d368992763fe514b8e9138eb5934a64c1d0d41e1e5d7f2] (r:1 w:1) - // Storage: unknown [0x7366b11aa7e0a7a6a1bff6b1ceb7e328e840ce5494f957ee2516a439131210b3] (r:1 w:1) - // Storage: unknown [0x77682073647ac00a2e2a19c45db7979db0086d206067193b2aee81095c5500d2] (r:1 w:1) - // Storage: unknown [0xa21de1e492bfe777e3c7327fc330a6ea7dadc7d19776203e7459d34167f1b434] (r:1 w:1) - // Storage: unknown [0xac686fede961a86d2ef3223cf1c1ca6ccd9cae19e6c6362cced13401e16075f0] (r:1 w:1) - // Storage: unknown [0xb03b1adc3c8f79cdc660c09a2db4ceabe6a1a296f58eb9661dfd7d4b09eb8f1c] (r:1 w:1) - // Storage: unknown [0xe37317823a93ff9fd7a417342622ae0303245a4070e5e1434963e22f9ef7bc9e] (r:1 w:1) - // Storage: unknown [0x3ca470713b4c72106c42b22ddd848ea50dcdb3532d81b5919e496fc2ba5e4c43] (r:1 w:1) - // Storage: unknown [0x52861333b2032b6d6c01e2ae23614f208ff6444e653e17f2a09aa6b770314e20] (r:1 w:1) - // Storage: unknown [0x7a0a59a42308d5bd214941d6bfa806bcf0c15326b8298fa34493111c773604a6] (r:1 w:1) - // Storage: unknown [0x8f1fcdcf13d1ac4d60f551970f84a6f83718709b89698940caacface75bf86b8] (r:1 w:1) - // Storage: unknown [0x90de7d39f8f140e75d6c2a4cd171e0f7679030148ddf3c27d0d51719f8b46d3a] (r:1 w:1) - // Storage: unknown [0xbe13505791367e4b18783b822135776d73168dd0e8459649b93b4afbf66a47a7] (r:1 w:1) - // Storage: unknown [0xd5a45cb71afb47663c7931bc609f18203481124c132f5a2c00677a5974ecf8cf] (r:1 w:1) - // Storage: unknown [0xd82869ba4c71f32577e4c9b0b3b03e7c78b7ad7752b0f4da522e0db48d4f29a8] (r:1 w:1) - // Storage: unknown [0xd9b56a5d56fea4601b9c8eb74d156a75737ec2c23ddd28325553efa98a89849a] (r:1 w:1) - // Storage: unknown [0x63a9a48dc9889dcdb542e4756ebfe4fd4e151eedc944cf8fce8eed831e625213] (r:1 w:1) - // Storage: unknown [0x8946ef807fd99c2bb0953b4329d2881bdba2d01150e10f92b352953a60ae55de] (r:1 w:1) - // Storage: unknown [0x8dcb2165b826e2e8255fdab745a4be6833ad397ed714d95b2b65b2f971eb163f] (r:1 w:1) - // Storage: unknown [0x9b808e8559c3e77acd148d550f1bec8b5b3dae546f9dd31af9bcf7a66c4f7702] (r:1 w:1) - // Storage: unknown [0xaa8236e290b748a5df7ef66c11fb1bb74d584454be8b9a41760728daa291fa3e] (r:1 w:1) - // Storage: unknown [0xae86dbe88589fd0c835ec3ad6bc60af179ac34606cb5ef83d0e88ca2ec566aa7] (r:1 w:1) - // Storage: unknown [0xc614ff510337f671dd38dc2e8a682712d98a56847ba391356fed764345e35b26] (r:1 w:1) - // Storage: unknown [0xd5f29e9b3e39b0acd8c0553df2d51ca8650ffc86db593503d3e4a44467e3fb01] (r:1 w:1) - // Storage: unknown [0xdbafc2262c1f2f19c1175f138897165b774738d2ed51fe68701b0699f99aece3] (r:1 w:1) - // Storage: unknown [0x0778d7501991b13132ccd11471c817ea12d8c854ed0001535bb6ebf6c32aaecb] (r:1 w:1) - // Storage: unknown [0x092911fd1f91e76d07387555c0918a3a5e0e4c74e363405fd7af1659d89400f0] (r:1 w:1) - // Storage: unknown [0x0a04d087381d5acd884e1d64245af63561c7c5d1a317dca5cc3b4fa8fa631566] (r:1 w:1) - // Storage: unknown [0x189a7edf15097613065c2730b8ca2b8a250ed384a688f428539fe261b11113db] (r:1 w:1) - // Storage: unknown [0x28803fc1d667cd700cd1eb6b5e11a34a295a85b41cafd02086660f40d148dbed] (r:1 w:1) - // Storage: unknown [0x4504d19a2b788dab7f5c0c69c730fd64cd195c1c4d34359c827b7679b264cd18] (r:1 w:1) - // Storage: unknown [0x49c795e8525c4ef9c48fb6086cc2faaeef0a6182607b9fc944bcf4219d05b612] (r:1 w:1) - // Storage: unknown [0xf3fe2278bb1690c33583cc1b103aa0d9d397b50907767735319bd5d46f7bbb93] (r:1 w:1) - // Storage: unknown [0xfe68284f9c5354e6bbba0d09bfcd5e372c0ef4a66b8819b5c86021debc679208] (r:1 w:1) - // Storage: unknown [0x5442aefbc03aac1f97f6ecfee26cf9c8fa2e8cf7d366c3dbaf640a2ec280cc8e] (r:1 w:1) - // Storage: unknown [0x7afdb74eaec6f0c4abe2bba629952769e61f234e47b9f0617dde6b5fc7a06980] (r:1 w:1) - // Storage: unknown [0x8305f933e51efc14bf29b9a8996a86bb750f46699f3bb422175be5ebf16dbb50] (r:1 w:1) - // Storage: unknown [0x914c3991677898e736196d9cf3e8ab7acb205247fc645c5a576754bea40d261e] (r:1 w:1) - // Storage: unknown [0x9b98126a54cc090ed6209e6b8b53d474e5c9948f2f8c9f431d0acfb915d2ef59] (r:1 w:1) - // Storage: unknown [0xa22d1ad0661f6f3889c1cb28ae75e54c2efd41c154d41e531754bc1633d18ffb] (r:1 w:1) - // Storage: unknown [0xb19461f65e09aa3db1742d4ce3c8e92326bd1cd474234908dc97be6da9e8bbb4] (r:1 w:1) - // Storage: unknown [0xb965ddc866cb308a73a54977e01d2993cd881f57e8258800587562d292b75716] (r:1 w:1) - // Storage: unknown [0xcc6e350018b598b1e16ab4f9a46b3420e9f2142b90b35a9dc9cdf815168b127d] (r:1 w:1) - // Storage: unknown [0x03f78a0ae86588eb9fa56342a1bce9092937c05e97bdc6123adf5ce90fa5a3ec] (r:1 w:1) - // Storage: unknown [0x1dc502d3e93e9fd47a41ed20ccd7e59e0c03fd0d361b0815b9fa749ee4014ed6] (r:1 w:1) - // Storage: unknown [0x29546c1c2a4489ecd2a8d4fe12a11d2512d43e34e3eff69718c8cfd2d3d0071d] (r:1 w:1) - // Storage: unknown [0x3d3d028eb048ae2cd4e82e5609f3b86fbde4153442df785e8d3ca8bfed2cf4fd] (r:1 w:1) - // Storage: unknown [0x525c0fea64cf4d9c8c7277df429077ae9c31bcc34f595bf21c0c6005cd1cf001] (r:1 w:1) - // Storage: unknown [0x7159a7481a485dcb603f4ba2a225bdf00e0f04cfcc6690498480bbd6c90dc0c5] (r:1 w:1) - // Storage: unknown [0x8dc8b29d47360bf65fb984a859eb9564e5b71ab96829e125e5f64819f6808a70] (r:1 w:1) - // Storage: unknown [0xa073b6d6ab9a4070ae3ff167f9ad62342deb60c6b6d23dc99f038638fb8cfb4a] (r:1 w:1) - // Storage: unknown [0xbf1b7e1e75f5a090f8277557bf6f6c559a442c49828b938903351a8decf966be] (r:1 w:1) - // Storage: unknown [0x02c87740582a36cee9aec75d96945b7e2e89a5f613e85d1da7a7b6b511bc0646] (r:1 w:1) - // Storage: unknown [0x2f233781c2eed5e66fb637a747439e21e11db72c26eaacab3d0d2da11661513f] (r:1 w:1) - // Storage: unknown [0x63ae2203e6ee8fd038b677462121d5a15ad4c83b3a0abc9591fe31ef094b8d11] (r:1 w:1) - // Storage: unknown [0x732928ef558ce73c389b9858c3908ad4b784df1df5506d851c4bedbe0b93c42f] (r:1 w:1) - // Storage: unknown [0x804b85d6cd00f0b59bee93e1ca95795594986d0325364905b1e1e986759b7f3a] (r:1 w:1) - // Storage: unknown [0x9b9b935c5d7385ea63f1f4d8f4fba9ca77333c522b93f69456cf9e3d2b95735d] (r:1 w:1) - // Storage: unknown [0xce90a43f168474d0d85e7fdc662adb53320a85bac319d97abf9aa53fe4736bf1] (r:1 w:1) - // Storage: unknown [0xe7d911018d6fbb1c9c94e9325e4593bf276a2cb3a3cc937c80f0ef4c9272433c] (r:1 w:1) - // Storage: unknown [0xf3dd9a6cfcdb9127c2c114548b1b0826f0bb1d27e6dc0b7933d85672d937a514] (r:1 w:1) - // Storage: unknown [0x014502832fd6542b9131555c82966f144f62e8de7174ebacfd0d0ff2cfbe9a79] (r:1 w:1) - // Storage: unknown [0x092ff3743bbe2d8dbf8cb90c8a760389484b4e730be0323f51d85f43477c9878] (r:1 w:1) - // Storage: unknown [0x168bda7797ae0f4cb90fad3e8879e16edc5707b6f46e95aefc014cf8ced6e3e3] (r:1 w:1) - // Storage: unknown [0x51bae63e4129f50b542841d912a335ec8573a8aa7f46362d4c093a8b61eb1929] (r:1 w:1) - // Storage: unknown [0x811eceac5ad0b2648804d685b2e0c3a807bf67d12a3b54fd9dca9a078be98048] (r:1 w:1) - // Storage: unknown [0x945f12d2abdd23e5bc7f91524b6dfd2bc296834ab5bfd9d2e124b467a714cf1a] (r:1 w:1) - // Storage: unknown [0x9bc2e45b52e764017a0a322a586a1e37ce2a4afb239f8c6cc73dd0da76818a86] (r:1 w:1) - // Storage: unknown [0xcef2f93165875b8dd6caf7e5f8056cbeeed8b010b5b03b052df14f5e36156922] (r:1 w:1) - // Storage: unknown [0xe737bec58619859a19624d9cbe60e1848f339cbea12d5cd3fbfe5ef02def791f] (r:1 w:1) - // Storage: unknown [0x1f24f16f939428a33d5410529f11f7a573d2513df7a830f85551948fbf547fdf] (r:1 w:1) - // Storage: unknown [0x2eb381f6b73f0b9300d94f4f0b50ae4b35a5ea2ef407d796d95e4715d42cf940] (r:1 w:1) - // Storage: unknown [0x42ff8a2d17d124e2b40684c3c9ad8e1e9108b416eebc47ef183909b0952b32c3] (r:1 w:1) - // Storage: unknown [0x9b9b4d9443a2b5010644690956503eff1fa73d4fdf61c981aa4762a71a78877b] (r:1 w:1) - // Storage: unknown [0xa40fd6fa12fe90cd1a630001d90f83b12f442f9e8f508919fc8605685386f9b8] (r:1 w:1) - // Storage: unknown [0xc0847c2ed89d0e133347393fcbe8ccd722be616870187ec4c2c8c1fc14d16900] (r:1 w:1) - // Storage: unknown [0xccd6e6aac2c49b2ea854411986569e0f8dfc90e92065a2028c47c57e04669306] (r:1 w:1) - // Storage: unknown [0xef83243496cd71f9414a0eabec74b732a2e5b3cfb8c038f2891f988e0753555f] (r:1 w:1) - // Storage: unknown [0xfa2081d0272500dd465f66e48229eb243ec7aae07a81437c33f7042ccc273c90] (r:1 w:1) - // Storage: unknown [0x029de76adc7295ed41bbe6c450f4c7cb4f78f9b9a7d3edf67994cd6b1f511a7b] (r:1 w:1) - // Storage: unknown [0x11a2c57e147ad91b425775b77163fd83fd7ad15aa13f6ba1800fb0d486497868] (r:1 w:1) - // Storage: unknown [0x4874c9cd117e7a33a80fc59628c503e94be9296da73a8f463f2d40e0f044e11d] (r:1 w:1) - // Storage: unknown [0x629d17f361203449a9f588968037b3f8f170ae2687f29519aca2616228eee2b8] (r:1 w:1) - // Storage: unknown [0x7f192102f64f68a23e9de1a8e4c13c6c1ea1871d4d283046c9a431d758b1938d] (r:1 w:1) - // Storage: unknown [0x847cf95e67d5fc3da1c782f50c01c28cc75a458f8b3c1312d1c13f1f7cb8cff8] (r:1 w:1) - // Storage: unknown [0xa978a38b1ea1fea358dd03cba3280630218d4d52f3c5da9e0c728084df42483a] (r:1 w:1) - // Storage: unknown [0xc1948997f3e5d401de1e1d83cd6ee6b6c066a1ddca76c812bcc1c0c72e96b5f7] (r:1 w:1) - // Storage: unknown [0xf916345caf4690064d760040f4f053ab3ae8e675038cd67c4ae0b6df90fec567] (r:1 w:1) - // Storage: unknown [0x02d22f07ca8b30c749e4e5f6f724014e31e29e62579ef725a8d4a65069ac411c] (r:1 w:1) - // Storage: unknown [0x1c3356adf4350bf3bdedd5749147d18f9caa996e7aeb2033f1afbd010b912c4d] (r:1 w:1) - // Storage: unknown [0x38bcc692c3b7402da5bed46cf8e1a7c10b223116cdf1a2f4696df2b48f11122b] (r:1 w:1) - // Storage: unknown [0x48503bb95dbc5310a682c67b6f2949a8fa08f1e45418eab1a054dc6d919c9ec9] (r:1 w:1) - // Storage: unknown [0x59474766bbcaf25024437f6352f00a3fd5d1e6979bab6d456c0934178b91252f] (r:1 w:1) - // Storage: unknown [0xb4acf66b46284f06be1c289acdbb3cdb81f0c376478257695c16448daf064cf5] (r:1 w:1) - // Storage: unknown [0xb7fefbad6c8ea1c6cc0ddc69253b2e5f2c8905ade22c32c07368b7d686fa34b2] (r:1 w:1) - // Storage: unknown [0xd4722610951697839b4d9d8c6af980583b0198eae3053f9c732e8d94171ad4de] (r:1 w:1) - // Storage: unknown [0xeb34374c15d84b2d704c3e841453dbb1b8a05998e466b62e137646684823ebb5] (r:1 w:1) - // Storage: unknown [0x1f70aa6c83dd98f810dcaf611bdae5e011e5bc715d823e419c1e7e1943cf6f89] (r:1 w:1) - // Storage: unknown [0x302b1758e1ac8d5f9e8033966aa4f5c7e77512e1218b4b670afc098cb8c1f837] (r:1 w:1) - // Storage: unknown [0x31a782760fa7b79819505ff67e3a779a44efca82364dac907dd7bdc2692ed2d0] (r:1 w:1) - // Storage: unknown [0x4645cbc2f008fe9373ffd704ab8289810b5c10bba9303331e41c627583256adb] (r:1 w:1) - // Storage: unknown [0xa5c276fe36330f279b5fdc38a1a74a3dba974c7d819ef03cdb00ab5fad89f315] (r:1 w:1) - // Storage: unknown [0xbaeb1685aee142cf6d46f5929cfb222b8783de3b28121a7686c007c268785951] (r:1 w:1) - // Storage: unknown [0xc83b05e6f372fdf597b0f10cca15a53a5df46a46316bc5637dba4d0cd829b593] (r:1 w:1) - // Storage: unknown [0xca62e9f75f02064c89bf8c2d3e396024ca01ccc2038daa2a6fd2b5081bdd404b] (r:1 w:1) - // Storage: unknown [0xce880731cb3814ea9563bd0333b5eec23d7b3a3bda6375d75a2eae72dc15e18d] (r:1 w:1) - // Storage: unknown [0x33e9abdb07e28ca62cc53735e1627ecdacb61f748503df59cdfdf92fbc55f30e] (r:1 w:1) - // Storage: unknown [0x49d2ae779e34bfc15479b8613feb8c379c95173dc593fa66cf743cc079b790de] (r:1 w:1) - // Storage: unknown [0x49d7358ca22724d5c54acdf7fd593eb1908c6cebe3202ac07880236aa12dae56] (r:1 w:1) - // Storage: unknown [0x60d5c55c0e3c2d71a5bd70a177e22166fc205a6d69673bdf7f730469690a450c] (r:1 w:1) - // Storage: unknown [0x80bfc26d07f5767e0ecaea78cb96adb509bb879357342cbfce4a71edc370c30a] (r:1 w:1) - // Storage: unknown [0xc00905cda576b91dc0362b6770fba56e5324c650e43eff1503a2802a4e056ea3] (r:1 w:1) - // Storage: unknown [0xcd15694f12f82b6eb2df1f55e20bc431b37e88b006a1e8861863fae26134a9b1] (r:1 w:1) - // Storage: unknown [0xd5873d069c99592802c0d4da14a20afa74109019f9d47b766637fc5cffbe2a01] (r:1 w:1) - // Storage: unknown [0xe2457ea4be0b54d78eec228c73f68a84e316f0b5c8516edc1791d6904338674a] (r:1 w:1) - // Storage: unknown [0x145db170b8204d0c5e31ac757be2ab626b628419ea745e8b75c14cb606f85100] (r:1 w:1) - // Storage: unknown [0x5df05b79602a7278a9b2c04514eeb33dbb923ce016bf90bea1cf81744a445535] (r:1 w:1) - // Storage: unknown [0x986b7f7212341d0c17047a84e41b842c917eef7b6a038af4e3264b803250c2c9] (r:1 w:1) - // Storage: unknown [0x9e6b5952d5c876d0e88532a69519a2bb2ea71ae4eebb4492c16b1192966e8354] (r:1 w:1) - // Storage: unknown [0xa6a946a4cd6ec4adec7a3a5ca20fe7f83015cbcf5d60bf35a27aab38bd8ec72c] (r:1 w:1) - // Storage: unknown [0xb3af15676dc7ff5955afad0f4f764a9e508af856855249841e439391b3bb0098] (r:1 w:1) - // Storage: unknown [0xcf1b3bc717b8e7905f01d0e2531b92b4e292dd724fa36fef6e83b194d92b806f] (r:1 w:1) - // Storage: unknown [0xdcc77b6cade77f9f73e151eb609dc510f3437777635d586cbadad6b96fa0d8c0] (r:1 w:1) - // Storage: unknown [0xea2d58c504ca7bb0df13c1c38ec94349a9175e39c606bb5d5029c9cb2e15c387] (r:1 w:1) - // Storage: unknown [0x16b5c4b24af1dd526291c2f81753f92a092ed37320f17bfab12184400f6a9f50] (r:1 w:1) - // Storage: unknown [0x26cb13235a11327b22555f3512c737b9518cf8205371033bac55a0e89a85994a] (r:1 w:1) - // Storage: unknown [0x4a9753b9eeef39fd60c9559e3468ea605cbc03fcd2faa29cbe63e799c81e8469] (r:1 w:1) - // Storage: unknown [0xb6582ae0991727fc0bf192047d16a31f5e4cbf90321cea9d3d49b9e1b5407dad] (r:1 w:1) - // Storage: unknown [0xc0fa605b92057dee3e77f6dc0c6e91621d09d8b91c5cfafdbcb38830960e0bdd] (r:1 w:1) - // Storage: unknown [0xcf2e8ba860b7041752b2b1fb8e0360d1b40fd41617c7934746bb1e244c77016a] (r:1 w:1) - // Storage: unknown [0xd08934b7a2d1ee349de3ae53bd2286b123adca84023306014c2d75c822e74af7] (r:1 w:1) - // Storage: unknown [0xe5985dffc1ac88a03cd7a8ea79d35d6813529a692a9380a2ad04fc0db20c0e05] (r:1 w:1) - // Storage: unknown [0xf00871f755719a8c1ac33f2fa611c1736e64a16e450bfea842baf8d9114d7041] (r:1 w:1) - // Storage: unknown [0x2d86b69fa25bcdbc7a3ad6cb76e12641ef01e00dcacbf31ddde60d2d228f9ae6] (r:1 w:1) - // Storage: unknown [0x4654293309c9d9ab4282485875ec1b776dba729b6146e9bc3966a9a819c017df] (r:1 w:1) - // Storage: unknown [0x5b9007f9119be10a7d1ae77002e96ecb7f79dfa7a9f300818812048748cf55d2] (r:1 w:1) - // Storage: unknown [0x5d96a67962f8613c419566d4dcb0697c8ec617897769b55a4ac4dd93155d4578] (r:1 w:1) - // Storage: unknown [0x85825e6cce4096e5a7dc169434fa91d22210b6c7ab8897b30985aea6ae20fd53] (r:1 w:1) - // Storage: unknown [0xa1b69262faff4cd2563e3b4931f2e8956362bef384adf9db005f3b1fbdd0d4d1] (r:1 w:1) - // Storage: unknown [0xb7c9da42ebd963aa3b0eaaf14e1e7356a082f13e57028c18c99f740aef5fd5c6] (r:1 w:1) - // Storage: unknown [0xd68485a52f9f464924546f77ebccc5fad66a93e22a1fc60c4bee070012896ce6] (r:1 w:1) - // Storage: unknown [0xf5626fa70a62fa697416f25b3e7e282a6b099cc9f63f6cca84d2500a9e23891f] (r:1 w:1) - // Storage: unknown [0x00fbe4c87dfafd81acde0c62d71afdad98b6fcd3ac7c5978a5bc6e2263d5943a] (r:1 w:1) - // Storage: unknown [0x0c079912425799c807fe6c182742aaa56a3b3fec7a2a9d954147f10e0c1e5afe] (r:1 w:1) - // Storage: unknown [0x11df950500fabbfc9570427f37c48cdbebcc94c5046fd4bc41a974e1dbe3d7f6] (r:1 w:1) - // Storage: unknown [0x1364fb94ec0dfbe5aa25a5f7427fc57ec8aa3ca7185c6246478add1d2d6f9faa] (r:1 w:1) - // Storage: unknown [0x27719eaca95aa18d9c543ab4a618fb1a51801ff2039b76a44e660d3974fb870b] (r:1 w:1) - // Storage: unknown [0x5c83011c24766f0080212191a03acb9e0ab086bb3c34b5beacd0d75d1d851846] (r:1 w:1) - // Storage: unknown [0x5cf4866b18bde15f76add7faf64e389e33b2e3c80b9f030e13e6b4eef3d6f23a] (r:1 w:1) - // Storage: unknown [0x87f065cba864c0ba39f6f0f3d11014f11da5b47eb8e713a4ff563dd8b0d7714c] (r:1 w:1) - // Storage: unknown [0xec9ef3dc71ba02a92626ebafc549db307121d398e7d53f773173333d020081d7] (r:1 w:1) - // Storage: unknown [0x4da8525f1f71b5fa7c393567e81e1dd66971d9fc5f031ebdc0fed9067d53f468] (r:1 w:1) - // Storage: unknown [0x6042de2b474edc72726c1d63652d328bf1d7baaeb992c55ebce5c0176608a8cf] (r:1 w:1) - // Storage: unknown [0x851eddee51237cc23ca00399b49e23c4ae44f5ab90b9249fa3e45780b4cae285] (r:1 w:1) - // Storage: unknown [0xa4a3811d91079e816d9a640c1a18e7f20a07f1fe33ca70aed4ba60f4bae6b1b0] (r:1 w:1) - // Storage: unknown [0xc88e6b7e019a0ae3b458533fea59b67ea36088034fd75333f60a80c280d79567] (r:1 w:1) - // Storage: unknown [0xcefdb5a6dbb7dce411445e4cfa61ad6f94c535835337a04cabcd3e1f8b857c95] (r:1 w:1) - // Storage: unknown [0xcfd8d84d37947062d49533c3ecc87470cea87db911ff65dd30f5c1db01430753] (r:1 w:1) - // Storage: unknown [0xda4d234593241eb8e2ea34328f2d6dbd2d7b33c0ed622e3cef00ad33967c09ea] (r:1 w:1) - // Storage: unknown [0xe52748c1a2cfb8c55639657bcf8999e084b1f4922562f2004d034a267c060e68] (r:1 w:1) - // Storage: unknown [0x35a386fbec1c4fc3b1ccc64c3caa55412ed03a613d7444008f3c820aa5b17bbf] (r:1 w:1) - // Storage: unknown [0x5a9de37e4f97e367a194298f06dc78713654a6087aed324b2df9f30e60298d7a] (r:1 w:1) - // Storage: unknown [0x6b8ed23e3a83354f761aa53087b88fdfee9d95f3d3b140ebad9542574c1439e8] (r:1 w:1) - // Storage: unknown [0x76c147f0828a67ce3d00dd2a657f618d183ac0a968c3c1952ebc9bf4c1382c7e] (r:1 w:1) - // Storage: unknown [0x9a644b6e7d6fecdc4ea972ccb4468de093e6c8066974d5e96d736df2e7ee0f84] (r:1 w:1) - // Storage: unknown [0xc14a6a92f5e2c95c9bcd26bf4210cfb628aca80d4662dfaaad0d7e89c12c7796] (r:1 w:1) - // Storage: unknown [0xd2b915f9e77d771de5421ee94839e2c61d529da30018195a2cdd77dee3b932fe] (r:1 w:1) - // Storage: unknown [0xf2f2be4594311ff3e9f8795baf0fad3d984dd750d9b8b66f1551b517c511b66e] (r:1 w:1) - // Storage: unknown [0xfb92258fc6d0c6f5cf211734bcf1779b22b86f919cbea6600f09787e33cef27d] (r:1 w:1) - // Storage: unknown [0x3b2c201b2eba43083a922bb7f99b66175259c5ffa9b5f90f78557ffcbebd1be3] (r:1 w:1) - // Storage: unknown [0x4739757a07f6af63682496729933cd92ddcbdae3617bce4769a087f6fb128c1f] (r:1 w:1) - // Storage: unknown [0x5a19744d580bdab0ac65664cadaa3e46cb10efc0ebd65f03d2a05ff648bc39ba] (r:1 w:1) - // Storage: unknown [0x9205671a8148815a8b414d028efab35292a41efe38a095bc3b83ca3b35e59dd1] (r:1 w:1) - // Storage: unknown [0xa274879999b34be6f96d1b3e31c2b6767c8dc656465635fa67c3740afaaae366] (r:1 w:1) - // Storage: unknown [0xaf946540d176e593860ca2290489fd7c16e0a804c48ebd11a8a9eea4bb80f7c3] (r:1 w:1) - // Storage: unknown [0xbb458c5f8b1b5cfa50b7e825fc1f8e78115e10e9db8597c4ef35549251465333] (r:1 w:1) - // Storage: unknown [0xbd8bf13aaa21833efc3add680619ddd4ef27f761437b8ba8d52d83e44413baa2] (r:1 w:1) - // Storage: unknown [0xdce9aecbadeae369d0c7ef002c41109c8a140bd7000ad4ff381cd50e785a262f] (r:1 w:1) - // Storage: unknown [0x1184d106dc781c07114d3a4560d00ba52b987e6ef4192105edca47599e3d079f] (r:1 w:1) - // Storage: unknown [0x298a7203eb1841c29a31c051cf0559ace866196b249bf1bcc1500eda35382b59] (r:1 w:1) - // Storage: unknown [0x5361d7d91627565c545e4844a53782f73741204ad5f3d517142ead6ca4d040f8] (r:1 w:1) - // Storage: unknown [0x623fc7609e608684e874840e045ec1ee7cabea4d390f591af4f34116963e62f4] (r:1 w:1) - // Storage: unknown [0x7eacc962a34ad7de3a66b92e4067b79a0f2e1815a6b261963d60a8f93c0a87b7] (r:1 w:1) - // Storage: unknown [0xb3e6e83f56be1b97c7e8c0ac5dcba5592e9129a77d95b1c79b27fa9a2ccc6863] (r:1 w:1) - // Storage: unknown [0xbd3719c0ed684f33ec28d93bd293d5a6330d7800bf928784bd0a107c296e96f0] (r:1 w:1) - // Storage: unknown [0xfbde54f17dbe9856d1e47a704fd9ea30281e4256671a63f37515d090df7f789f] (r:1 w:1) - // Storage: unknown [0xff98de6b90b3193de12945bc91d51fc38529ca4736d72bff21e90c7264c2f71a] (r:1 w:1) - // Storage: unknown [0x14dea875e0cedebfdd7d6dd9cd735842f31f0eb5897cf78ea0689a5a40f0a1a8] (r:1 w:1) - // Storage: unknown [0x19c9221c80f963bd72706bf3e0b63101d13d0d802aba95b9fcbc973fd287de59] (r:1 w:1) - // Storage: unknown [0x26aeb0fd26ac70ca2100d361a38a1a1fbcb19073a66853b14c59dbd56232dec6] (r:1 w:1) - // Storage: unknown [0x296551be0ba05b759efee2f02ca8d66ebb30120f246e83998c479f02c544e6ce] (r:1 w:1) - // Storage: unknown [0x5b5d43ded5ec8bcbc324492bd7739e92aee01a6f2c92bdb406abf5cc22f94552] (r:1 w:1) - // Storage: unknown [0x9f1850be63238c511db8ed703865cf530c5b0130b9e05a6de7e64627c6ad28ee] (r:1 w:1) - // Storage: unknown [0xa392d69bb5702f4417e0539366bd6ba139091fee633cf80d002d65c17111c9ae] (r:1 w:1) - // Storage: unknown [0xa67c6c2e46a40b67a88da9ce19133a1fe82491454c3f9b46a780de7e39341818] (r:1 w:1) - // Storage: unknown [0xb4acab02d78565e75ded51cee3273bcb2c98c0ffe8ffc545e4443b9bb07acaa2] (r:1 w:1) - // Storage: unknown [0x068082b39adf010e46c67f9d309ab9f500e5871d35b2993dd2ed0efd7a608018] (r:1 w:1) - // Storage: unknown [0x142f5546e7f86dddfe61211c399e1ace2be267bd8e4588b5682e73190ec29013] (r:1 w:1) - // Storage: unknown [0x2a0063f1a695f4d5563cabf3a6509d4f1491f40def624da9ade96dca3e933fb7] (r:1 w:1) - // Storage: unknown [0x356a887fd94f35b96ba15ec380500124befe1d3a17db608206161f22fccc7b86] (r:1 w:1) - // Storage: unknown [0x469f13dbe853651de759d758e8c30fdd20509367438c0275374a4c65f12e932b] (r:1 w:1) - // Storage: unknown [0x5c236523c6cef783c51c5d0dcdd4004f9aae4672b0ac997a777a0f3e2a629f8c] (r:1 w:1) - // Storage: unknown [0x5e4fcef0c7b973d39202d6fb0b06382887cb4389e61c27eb6224d006507a603f] (r:1 w:1) - // Storage: unknown [0xefa37685db10d0006e32e246cfaeb3cb6f33e8bd8f9ee84e61ee74ddbe35751a] (r:1 w:1) - // Storage: unknown [0xf8f59457a17aa1c34a1ea10fdeae16073f984657e0de6f7ae83f1405fde4f5c9] (r:1 w:1) - // Storage: unknown [0x32383cbb91d30600129e5ac97215741c81a86e63ae195adc057d29851b1e0635] (r:1 w:1) - // Storage: unknown [0x4ef4e5b5393914626c4570a05e7285ed225afce30a0d44476430fb385003d620] (r:1 w:1) - // Storage: unknown [0x52d5dc7ed11587378e6f063077d77430ba03c9ae21af62d277b7d23652b0f343] (r:1 w:1) - // Storage: unknown [0x8b6e86ff35b3bc955e9a8b706de850f5af7333311a692d7d1f6c892c9e0743d9] (r:1 w:1) - // Storage: unknown [0x9a57b167d72f9f3f5691f126d9b48942121a334340431be4d54903611add9cf6] (r:1 w:1) - // Storage: unknown [0xbecd8975089980917398dff92cf36548f1fa9b6b3d96eab120bfcd0a08be1133] (r:1 w:1) - // Storage: unknown [0xcaac1573f11eeaedbdfbe22884270e52a46a445d4f41c98fe95dd39fb0628fd2] (r:1 w:1) - // Storage: unknown [0xd37a7f79ab5c1c824fde6f849a12fbdec5bf8b8ae7b7df8bac21df690d1ac566] (r:1 w:1) - // Storage: unknown [0xf38e1806d2b2118a231477732019db23ca62831e3e0b8cc816a99a2182391eac] (r:1 w:1) - // Storage: unknown [0x29c03696410a0dcbf4e9bc8d076151124b7edc54fbc0cfbdc3faf7789164e206] (r:1 w:1) - // Storage: unknown [0x3195c59775014b156b70f95e90ab361304fb260bcc381c33c20b5e7293d4c7fc] (r:1 w:1) - // Storage: unknown [0x569d226e75a0eb467301f6fa4cb938d4fcd849d3efe969c161542ad1e75279cc] (r:1 w:1) - // Storage: unknown [0x93295b594fc192103b95e0638dd9f254d36a2e9b299bee6d275df67c8af4d759] (r:1 w:1) - // Storage: unknown [0xb7be2c897eac67b4b3a5da1a02b4b1816992ee98f6112b4d5262f73fc255c3a4] (r:1 w:1) - // Storage: unknown [0xc611fe61e43f3ba3182c4c6785a2a3ac060e2679bb8174a0ac1e234551428752] (r:1 w:1) - // Storage: unknown [0xd4f9a331a2eb206dc43bc6fa02586bd740021c262d4a5b74ff2ec74b24bb07b6] (r:1 w:1) - // Storage: unknown [0xdbf56dd98c667cdce364a53557f373d98947f7fe0bd7da6d72168e6572bfb622] (r:1 w:1) - // Storage: unknown [0xf74ed7b12e94dff551fb1db30d97245cca3374be5e04826487f83154a7ca79dc] (r:1 w:1) - // Storage: unknown [0x38478fb97716aa0a228f48ab751be24feab89ba4997894f4748c3784434852e7] (r:1 w:1) - // Storage: unknown [0x3935ad150e4eee0800486d78e89c19b55ddade16282d29f5fd75e398a03adeed] (r:1 w:1) - // Storage: unknown [0x65085b97bb627b7c8c3b4f09e5f174d1938737422c6154bd173ac6d0d75b6ea0] (r:1 w:1) - // Storage: unknown [0x7646ee188a1eb4daa60fccda6425d15a42eb1a25a2cb8252faa604ae48046dc6] (r:1 w:1) - // Storage: unknown [0x7b6c8e917003b1a2b8ea5c05efdd4eac91892086faac90cc893e2b7987222ad3] (r:1 w:1) - // Storage: unknown [0x94a9e5b0983394edf89c1193a94b8d5903d3bedcfb5bd892d2211f3a92beed21] (r:1 w:1) - // Storage: unknown [0xbc8dd82eb384558ef8afaddadb2534ad0d3b84350e42c080b92a318972afae84] (r:1 w:1) - // Storage: unknown [0xcc0292b10dc5b24ebfb31ecf1b60f5dd86c030def71e418f5d5ea58662d0e928] (r:1 w:1) - // Storage: unknown [0xd1b96b87e9f4bdd1d26a51daaa1e4dfc72baf9c8d0eab927c39de1d913759d1a] (r:1 w:1) - // Storage: unknown [0x01407b106cb8d8b1662ca8a44f362e1d99445ac4f611e160dc794fe19e91b9ef] (r:1 w:1) - // Storage: unknown [0x21f921d2a08b6c668f1575f8d69a2e27faed15e73a5813476d34a006d37dc9d8] (r:1 w:1) - // Storage: unknown [0x5574f592ca3417c1b74110fe7a3111bbcc0bc2cac6700cdf744d358734618c62] (r:1 w:1) - // Storage: unknown [0x5c182c2454b1ab519763417f95d564e2f77481dc5d5144ba489126dba6ce4f5f] (r:1 w:1) - // Storage: unknown [0x9b47d63344f6bbca64de1f01ad61d1e96af27f8bdafbdd8e638fc662452b4a05] (r:1 w:1) - // Storage: unknown [0x9c3a5cab41c65e4012798e7a06ddfd0546d455cfd46e94dfb84f4db210c29f6a] (r:1 w:1) - // Storage: unknown [0xc5928d7aa41aaa4efa11f127abace229d1265f4aaab036ab2093b26d3d25a318] (r:1 w:1) - // Storage: unknown [0xd251d389ae41aa428d7988c8e21995955dbb7dea36d2ac7570c85c43dc93c283] (r:1 w:1) - // Storage: unknown [0xf74f8fbdd0c70dffcc0218967818fad4252365bbc70ce33911f2112c9b312a15] (r:1 w:1) - // Storage: unknown [0x09a9376f1f7cb70af3a8b9b5c92fa34f1e40d6b518dbab9e0456bdaf2d322d0a] (r:1 w:1) - // Storage: unknown [0x2eecbb5fe19bbdbf62c79dba3456e92353a669f824bca8fb182f64d434e5d3ba] (r:1 w:1) - // Storage: unknown [0x4d332ce8f79870034022a949e25bae7943f8a2b69809bb9b6924542c2dc515f8] (r:1 w:1) - // Storage: unknown [0x875a7c5b801553193ab832bde427cd32f4159eecda9360ce4ea5185bd346422a] (r:1 w:1) - // Storage: unknown [0x8d8b1441f3859ef83c3ba5317547a84315ea29f41a83b6ff6da7039a88cac242] (r:1 w:1) - // Storage: unknown [0xc20f284dc00bb5f2932de03004d66c3a3bf3185c39ff61305a37198e3fbbd556] (r:1 w:1) - // Storage: unknown [0xd4f841abc893dc3cdea7c3d0d48ffcae53f63273f02c4391c2ccae0e52b5d43b] (r:1 w:1) - // Storage: unknown [0xd871ea178240c567bb4b8f35499644f8a013cdd76b381270540e9262b3da6a7e] (r:1 w:1) - // Storage: unknown [0xe5d24a5d239ad66f0cd6f13870d9747268a20306547f18dfcc91a88d84b056d6] (r:1 w:1) - // Storage: unknown [0x0f9026200cd5a19cd525379b24be34bcfd7016632fbb2891727e2c25513a5b70] (r:1 w:1) - // Storage: unknown [0x1489c4130501c2541e6c08aac4366599c37afb7ae0b4596e2ef2df4f9e0e6e6d] (r:1 w:1) - // Storage: unknown [0x25449a9001eed866e08345dd7d9a4c8234dfefff889899f3cff3b11bd0323f77] (r:1 w:1) - // Storage: unknown [0x3a689c9258d7959693de61d227fd6387894b4f48d201153c07057f808f9e7c5e] (r:1 w:1) - // Storage: unknown [0x9b6bd652c8562ea2e8071c6d604ebd41b2f3512b00d5ba7c20bc84fb2c1ccc2b] (r:1 w:1) - // Storage: unknown [0xb58f57a77781f6c9c5e12dd8e9fc1c8a9803b9dbba298538ab8d44985b74ab62] (r:1 w:1) - // Storage: unknown [0xcdbbb235046f6dafcb1913e53d45908631d73da7ed44263114432f3aae07ca71] (r:1 w:1) - // Storage: unknown [0xd1fd28c56fba032c65b1ad0a259ccab7f504346d22eafb2914c1dff1969d2a99] (r:1 w:1) - // Storage: unknown [0xe5860e29baab88a2f5fba4e38ba443968e067a279b72e87809d0228d631d89e6] (r:1 w:1) - // Storage: unknown [0x03fc50a53f8b55b7eb687d52bf0b688002613765a93b82f781065d6aae154b73] (r:1 w:1) - // Storage: unknown [0x36bfc1799952138154bf8020abbac8cfef585b3d5b8e24e24cc64e462db8992c] (r:1 w:1) - // Storage: unknown [0x390714b65f121ddc2954b7b9332fded961e58d32610a78724690ef87368bf7b6] (r:1 w:1) - // Storage: unknown [0x4b0192c61e4a1b2facce37c15309708bcd5bfc05c909cc76dd891478c84e3024] (r:1 w:1) - // Storage: unknown [0x7bfa441f3dee7aee4705a770c11edf7c4e05aba0b61c07094368e3d9d8e084c6] (r:1 w:1) - // Storage: unknown [0x7f10f8460f8af980c7d997040fcefb774538925362a0d956a11a77b40e6a5eba] (r:1 w:1) - // Storage: unknown [0x94b27a6ef159c56e0738bb35091863e326d1673b6548448bae7ac7e65fdab57e] (r:1 w:1) - // Storage: unknown [0xb1ffd2ee81d0411cd8698179bd8d84a9d436e7990185f336ac5953dd47e43ba5] (r:1 w:1) - // Storage: unknown [0xd0ea5cb1c4c9b8ca8bcf3f51dee17f42d030373e6ab09f45d75893c6364289d4] (r:1 w:1) - // Storage: unknown [0x15212ee014dc075c0e6f42b242af7e4d121f7d41e9caff916f7a524a4c29776d] (r:1 w:1) - // Storage: unknown [0x4187f2f0fdf610dc9d337c1cf46958c7db0394b0974296637d5a84fb7c2b3a8b] (r:1 w:1) - // Storage: unknown [0x4732d393876184fe46ea5cfa83b627f7bd1b6727003b9a0088a03636b4356243] (r:1 w:1) - // Storage: unknown [0x4be2d0c811822615e4848cd3054f3d9b1a7c34b18470d9a6f89100c0445fb010] (r:1 w:1) - // Storage: unknown [0x6da525e61d6b36723c2b5a2ca124c85d1856816e0b35238d0a850f9943e7ba66] (r:1 w:1) - // Storage: unknown [0x9c802f738e1b04601ed0d0abe32bdcf042074f8edaf2fa4571b124b01fa70846] (r:1 w:1) - // Storage: unknown [0xa73ce6f8f9d23682724f09954f06a53d3c4007cb29af7ebf5a8e606c5732cc86] (r:1 w:1) - // Storage: unknown [0xc1da305dcb85ec2893959f2ae65b4b22ae8bd45693ab0e3fce81d72cb2552577] (r:1 w:1) - // Storage: unknown [0xd3c6d933b4be80010db2b04898cd1f86bef1f05f4910ea6ec76cd893764cde57] (r:1 w:1) - // Storage: unknown [0x6a347d8997bcb43ef505e6876c09195b98dac72be6e9f08899090815a8bcde0e] (r:1 w:1) - // Storage: unknown [0x6cbadf65e4209acb1dfe5cc362ff515ffc407404026c48b83267237ca296beec] (r:1 w:1) - // Storage: unknown [0x7788a3a1aa009c1ba85f5f4bcdb8c4d371a45b6ed7b3d125f14ccbaf907bed68] (r:1 w:1) - // Storage: unknown [0xb141aef67c001419ce515c56c58b59d29d52e73eaadcaf464410553d1035f33a] (r:1 w:1) - // Storage: unknown [0xc0a79638a9bd36ef462f127f86035f874c9c7559d9e7dce1273c583e1539df83] (r:1 w:1) - // Storage: unknown [0xc0d5f26bb40d24ab056e1bd440482fb7db86ab2d0f9868977397c038c6230e9b] (r:1 w:1) - // Storage: unknown [0xc5cbbca4f0275eee449ae706cd0ed9de748d575507d8f045ad9f14712971090c] (r:1 w:1) - // Storage: unknown [0xd2e619fb36c5659aabe595bf30254a3e35c315d46d2afe91ab22801c35a1e8e0] (r:1 w:1) - // Storage: unknown [0xe2645307c930fa6f7ef89428b23f1cfcaa7e1218e99223f8d3f33bd8a0d742f8] (r:1 w:1) - // Storage: unknown [0x2e4e39c5b08d717d1808350db637f08e1b2cf6e9539595440e3d27ab3c719903] (r:1 w:1) - // Storage: unknown [0x43efa67dab5b54814027207019c7a820cb5415238f9b1250f234c3116933325c] (r:1 w:1) - // Storage: unknown [0x4e3ad2f84a1efe894ef7c96a4d086262a0d2de21f30121237e4d459c8c7a6f0f] (r:1 w:1) - // Storage: unknown [0x51f0a4a31006ed7e745dc8dc0d0d9e4cd78cf6d47d50e363b7975907ef548afd] (r:1 w:1) - // Storage: unknown [0x5f64929bcef4ccdf44d337a9ae8c17b203952240df87f49a5b10ee976e87f2ea] (r:1 w:1) - // Storage: unknown [0x6cb369ca9f516aabc21356337ee21e4b6bd7682c4325ec8d1481aa7686df9913] (r:1 w:1) - // Storage: unknown [0x9e8f653956af16e4b6e9759b8411451382d6749ef6dd44a6179293bad1bea1bc] (r:1 w:1) - // Storage: unknown [0xb192b38245587a98a41cacead1ceeeea650df259cc3c03902d7b6550a7a01b2d] (r:1 w:1) - // Storage: unknown [0xe11c6afab8139f5ea3d2dbfb377e756458f3d7f4d1f97c2fbdad93a745bd1403] (r:1 w:1) - // Storage: unknown [0x09a6e269066844934a3ca55c5c095f8112f4492f292a0d3ab1a374621a8f829c] (r:1 w:1) - // Storage: unknown [0x0a76588d48ee18219d4cb75458b1dcdc677263106ade9c9a30c728face6ca80d] (r:1 w:1) - // Storage: unknown [0x21fee12be772e78a59541b5d650b2186ec4cda36c4d37328d514ea66fde98904] (r:1 w:1) - // Storage: unknown [0x3e73e9aa06c5d5e22894a96e184a6dbedea5139f48e02980d2efcad0b758cdc2] (r:1 w:1) - // Storage: unknown [0x654c9261c5825253ff541d8993e72fe856a9f79b3598d447f38279e898a2b4e0] (r:1 w:1) - // Storage: unknown [0x768a3118cdd3b2a2759a0c75f20d3212dfc86cfcc249655bfe3bebb06bc1cc8e] (r:1 w:1) - // Storage: unknown [0x8b204a61cc4033ce6ce7af095ed891dfd7d19a642ef5561b4c510def6edb78ad] (r:1 w:1) - // Storage: unknown [0xc8dbe9efd7c11f55ac197805b9d8dd04426703cc4521b808dfd24b342ade9b03] (r:1 w:1) - // Storage: unknown [0xfeb9426ed2d7f338977a3257b6729210dfd069a0274230dc74267c2ee7ed0b77] (r:1 w:1) - // Storage: unknown [0x0232d463305f8fcea7214c40efa268b26f6853c420ef75961761315a09e7b7bb] (r:1 w:1) - // Storage: unknown [0x1a350d01aad2f424d54ab323adbddefe00b1ec517f8ba9d4a8587e1ab6825fd7] (r:1 w:1) - // Storage: unknown [0x20afbef21dfb3b37883c4e0eb83a8f1f33b5676fcbef51339631429d5d921279] (r:1 w:1) - // Storage: unknown [0x6b0fd9c9e97dad955d766b7a4ff67adcbb5bff2ebec6a407e8b7c4bd4d45c5ad] (r:1 w:1) - // Storage: unknown [0x758ff77cb1f5d2032a7e366371426e160ccd0b96925f06bbc9329f98de0e19ca] (r:1 w:1) - // Storage: unknown [0x8dd87fc444419a4a88abe89607b045d3141156f5b2d716290910ec732899d1a5] (r:1 w:1) - // Storage: unknown [0xbc74be6da6abfeac2567acdb80142289c6da87a0f3682f96e4a387350028ecdd] (r:1 w:1) - // Storage: unknown [0xd856c79bf100dc8b235a733d120ba3e6575dec83527bf0312a9f2ddb41f83df7] (r:1 w:1) - // Storage: unknown [0xeab25b78085c98a9b4688df96c04ef8b39158fd62e6e52e33590fb21c1328dcc] (r:1 w:1) - // Storage: unknown [0x0fd1b2d3599d3ff280c2880169ee61ce60a3df6183220f88c57c637f73641101] (r:1 w:1) - // Storage: unknown [0x250c74e6a150be40d25a748d04adebe88c1efbb9508443fd9655f88592a692d7] (r:1 w:1) - // Storage: unknown [0x7a2e58ba4d1f6ce180e06278d12bb8090221c0b181ba26f2b1a91897d312b723] (r:1 w:1) - // Storage: unknown [0x8e2c35f4209f4902ac5c733e6ac0c213ee089994c63ae8424be9fe625ce3d843] (r:1 w:1) - // Storage: unknown [0x9a7ca4148e063f02caaa764e89a6338fb598082b807ad2253127aa1ddccab5a3] (r:1 w:1) - // Storage: unknown [0xaacab268ca7cbb3c5a6c7030c43362d255f6cc408b83fd68b7ae6ee31ccb7e20] (r:1 w:1) - // Storage: unknown [0xb4f410c11de2e2060206ca18d5ff89d2bbf64aa94583a0693733ca98ca481b2f] (r:1 w:1) - // Storage: unknown [0xdbd5457c02ad4f1b32be421421b81cc926c4bf998df2ee94ee9363e74ea064c1] (r:1 w:1) - // Storage: unknown [0xea1bea5c24f8335580a71d29a7a773541dbd384134f88f11965ba6b3412d9ee7] (r:1 w:1) - // Storage: unknown [0x16e516ebd01eb6570a956dca7cdbd4a886a8c1509afb1d5dd3bf7102ac8e0653] (r:1 w:1) - // Storage: unknown [0x17ea99a7d60cbee014631f3438603e36ef7d7bf1bdaea7740f33079ccd219240] (r:1 w:1) - // Storage: unknown [0x36325a2003628d7ae9c30d6264688ba0ddf93c2dadc10623218a697ba807784e] (r:1 w:1) - // Storage: unknown [0x3f2edae08b19a7878d65c7245b7608ba1b6597e6d448652a89667ecaa2c10658] (r:1 w:1) - // Storage: unknown [0x4a325faac35d245e0eb3f57ab651ba6641e2617505390a4388ef08e2dbebb38f] (r:1 w:1) - // Storage: unknown [0x5e5b6c2bca3c4617a35b60ac68dd56733e2cacd9528658e086317d1e4ae33c10] (r:1 w:1) - // Storage: unknown [0x78dcf8ae0c638ce501342ee0e3844e77011fde109607e17d68e912c28b55afed] (r:1 w:1) - // Storage: unknown [0x821525922b4f0ceb302c003259c7f5bf65fffa46d17dfb4eb996e8b0647daec4] (r:1 w:1) - // Storage: unknown [0xf7417a27daa0204a3aa339f2c077a3eb5f90752122333c123c4e4ee31d8fb68b] (r:1 w:1) - // Storage: unknown [0x078779e40d3c775ac8c135ec9e505babb035597b3bb09fa7f789891997f0d650] (r:1 w:1) - // Storage: unknown [0x30fe9bfb3bd1e640e99769310b3c7cba2b47e8e8b783eb3d5893d6d1f59f8042] (r:1 w:1) - // Storage: unknown [0x337025af84c7381996544f1ac8cee4709c0ae9500a276f7031902d1096e7582f] (r:1 w:1) - // Storage: unknown [0x674985c60108f89ff55cab7c53a76fd7a9a334e8fb709477b2d9d18ee770590d] (r:1 w:1) - // Storage: unknown [0xc19e5eee149c75097d549f969006d7f8c7e797c836a15ca423a18a4a4432e138] (r:1 w:1) - // Storage: unknown [0xc9f9cd749702c3f010221d225bcf304e54e7f0e8573962d978edfaec4105387d] (r:1 w:1) - // Storage: unknown [0xd75d0226e5b4ac7a2728e0986dd018a8a6c88072fb927a56f9140a11831ea9c8] (r:1 w:1) - // Storage: unknown [0xf6a39d38e14007401941e32ecde9503b4d58efe10b3f676dce992266aad1abdf] (r:1 w:1) - // Storage: unknown [0xfadcf35d360cb1c5c2fb1509d65e6b1ad79083fdfe90b3e64fc7956f5eaee5dd] (r:1 w:1) - // Storage: unknown [0x129730fa94511f735b9910e2d640dc2ab0fddb29ac3442924dd2e27d74a55f1a] (r:1 w:1) - // Storage: unknown [0x1d1a6641ce7e5e6dea72bcd68828416a44cb06e3207d349b43c7300262ffbb81] (r:1 w:1) - // Storage: unknown [0x26e4d08be6a3b5bd814cd0aff1bba2e3b3f3f8a61e5dedd352c641795642d5de] (r:1 w:1) - // Storage: unknown [0x45fbad84e42f40e96452f652bdd233f71f67f6a1415b00551a21019033ba30f7] (r:1 w:1) - // Storage: unknown [0x4d52d448a046ee9690cef9539b6b7dc9a60b4e4b05c52f21c31c307ac1aef94a] (r:1 w:1) - // Storage: unknown [0x50f7e43916898de9a9387e19b0984a4be39e44b6fbb5212564c7299e92203fd2] (r:1 w:1) - // Storage: unknown [0x7009ee69684472410f9d454e8c4503e89cd3807e4f41ebcb142539db34dfc137] (r:1 w:1) - // Storage: unknown [0xd35a663830dbaeb43ac6bbbdd4cc221430a35aec509557262d4c5032789f78c5] (r:1 w:1) - // Storage: unknown [0xe1164fcf99526792f77cd4a96bba1367a01dc7847634f156cfd905d9a74c2e4e] (r:1 w:1) - // Storage: unknown [0x3f39a48558209f0501e7599c5ff9c872e6bf14a137ee40facefef94db4a038a5] (r:1 w:1) - // Storage: unknown [0x4b594ca9743d048965171e9cb071d25afbb428b6499893000a3c02143df1e98f] (r:1 w:1) - // Storage: unknown [0x6b2dc18de1c43eddbd70da532389561c311aa44c79b1df11d3ab579ca874af09] (r:1 w:1) - // Storage: unknown [0x764780a58bf2c1ddc3036bc739d7f11d6cb670c3e0409da6219d8dcc341e81ba] (r:1 w:1) - // Storage: unknown [0x92056e54539b0632e17ec7418c3e57c8ca3589ea2703bed64f879eecd4afab07] (r:1 w:1) - // Storage: unknown [0x959d72bdffb0754a9d28b1a31900a21da9519063a1d13c6b8e85328594c469d8] (r:1 w:1) - // Storage: unknown [0x97bab3ac046ded8556c371745f46b78d54df3f40d1c8435a1e534bbd3cc40bc1] (r:1 w:1) - // Storage: unknown [0xb36b2eecaf2da82f8b7fb4ca1f9dea513b57a56d30111386fd6d7e17d13c63ed] (r:1 w:1) - // Storage: unknown [0xe5ee08335dc8a0c22d49d7d07bcb6fa2a8aaf854a55a31831f7d97f4eef4d64e] (r:1 w:1) - // Storage: unknown [0x03c62116305bd05ac7512c6b685b88e8e33392886d0f40ddb332bfa33b7c2139] (r:1 w:1) - // Storage: unknown [0x162d04de4b5bf08c3f6cf14beb6c63bbbbded34d6d42e83072b5c3bde079f3a6] (r:1 w:1) - // Storage: unknown [0x2169cb6fc72c7d9940e7b09dd3e22cba0f3bc950b7ddc419e978052ac9b2a2bc] (r:1 w:1) - // Storage: unknown [0x24f0ed4b5bb87c45fcc018f89c8ff92fe012e9cc44433b1f63e709f9c1d6380b] (r:1 w:1) - // Storage: unknown [0x6d99f9efc9348c9fd2a7823e65dd7119afdbb1e8edbeb7ba5a985b13fb191745] (r:1 w:1) - // Storage: unknown [0x7999d569f1d75161e56c3b981d43dfbba27850949a7f3efcfb24d1e5df6f9c48] (r:1 w:1) - // Storage: unknown [0x81bff11208bacd1cc864311f5ab66579569dee60ed6970abfab7c629115d9b27] (r:1 w:1) - // Storage: unknown [0xc30095a93bd4d72ee547a0c4150a283d4ef43c7cc6b58c7636e0d01c6bbcf38c] (r:1 w:1) - // Storage: unknown [0xd098e22c1b866138b1f1183864ef282ebe5c68a9230aeea6651017e0b2ca7341] (r:1 w:1) - // Storage: unknown [0x39ffc5b547462d8775e1aff1de9bb2533140a0725e259ed2b0c4f589bb390e37] (r:1 w:1) - // Storage: unknown [0x3a20973d20cf9ad844d687e106a44030ecbf990dc74752c1e64079be511a4e06] (r:1 w:1) - // Storage: unknown [0x491b2aaafdf4d8c47364ef6b2ef92aaa6d6fd10eedb2f374c8d42f2410b0bfe5] (r:1 w:1) - // Storage: unknown [0x9aa6a1118d01d2733b707f5a2cc795547c33acff451c97d194ed627e3af70583] (r:1 w:1) - // Storage: unknown [0xba27bd0b26d49467574a0399c7867a70e1f99f2348dd30abd7b42eefa43dc2e5] (r:1 w:1) - // Storage: unknown [0xbe58a92b8383c2e39bd6b63cf4d92461e334037f9d2c64a42aeac1e06600bca7] (r:1 w:1) - // Storage: unknown [0xbed02ed125a0400cc9144307f2ad28c94461c694d4a9a89e4591cdfd4a7ca48c] (r:1 w:1) - // Storage: unknown [0xd4f091d4c1b7088764b59a48fa30bb063e83f0fce3e0031eb1094a84bdeaddda] (r:1 w:1) - // Storage: unknown [0xd6497bb219680b798aef6cfa92c698524c58732bef89939e8ec2c1a5068ff0f1] (r:1 w:1) - // Storage: unknown [0x38580239895995d2f930f08c6465fd3d02238f6214f82ed488d7c83a5698c145] (r:1 w:1) - // Storage: unknown [0x611385ecf73feedaf7bc17ab736470d9c8a8ce9c4e93e19a39d287a4c54293ed] (r:1 w:1) - // Storage: unknown [0x625b852590843c0b3b38d2cfddf64b8869c926a9f1a217b7df9cc290a04d3c17] (r:1 w:1) - // Storage: unknown [0x69ef3849249445b5033754475a36de695004f25d3a04a1873dc3449b4908aba0] (r:1 w:1) - // Storage: unknown [0x85bd68db5fbd69beb026aaf881413c97a190f1dd0bfb38375ec7bcd52448ee4b] (r:1 w:1) - // Storage: unknown [0x8d2ec8130e5f3628d22bfcae29d02f1635977d43b3e1a9e86f0b78c650c97ce0] (r:1 w:1) - // Storage: unknown [0x944fb8d1b6708dbaad846c06734df5c05aff0da9a466f6fde0881343b4aecd99] (r:1 w:1) - // Storage: unknown [0xa5ff5fc6e8aceea405f11cef80161ee2f2ca657c5c5a485eb44850404623be6f] (r:1 w:1) - // Storage: unknown [0xd27753d9ff5db15ed803d558b19fe57448af6287d51d57fc60c382db6342d41f] (r:1 w:1) - // Storage: unknown [0x23b01e79ab305a48fb81408e97c010865229bff7e39975a47a4617d1b70bde12] (r:1 w:1) - // Storage: unknown [0x32bca73cc5d28831b3d6b8b8343a6fca085fc96021ee55074c40a41b7ba20b80] (r:1 w:1) - // Storage: unknown [0x36ab36b371df875d1863acc3752b38a952134a7017537a0edf569a9dd58c86e0] (r:1 w:1) - // Storage: unknown [0x4efd4581164c5edb502b7b6a8b8e8b324deda1ea6e28e9e1e624defafeb097b9] (r:1 w:1) - // Storage: unknown [0x8f1e26abe053ae68a0744df7fe0447fbd50d14ade59c924dd4d2b70d1296b723] (r:1 w:1) - // Storage: unknown [0xa9d399f02c89a57e4ab0aca86b74d5c124974e19189f4a35a405bc57277d3294] (r:1 w:1) - // Storage: unknown [0xaab2936af1631322f597eeaf3c3ed16545579a4096ea72aa6c81aa6239367dc5] (r:1 w:1) - // Storage: unknown [0xd9687ab33fdb52c1eba4ddef1151e5c883c8b8ca4a25f0fbdc458a4a07202918] (r:1 w:1) - // Storage: unknown [0xe36d5d7328b4f69fc7728f89d71d36122896443ec8d85ce1c6945ac178f1c410] (r:1 w:1) - // Storage: unknown [0x0ce1c95f681adbe0583541264d7ff63606d71fc7f9a5056f9ce2ae5dbc92c8ef] (r:1 w:1) - // Storage: unknown [0x366897223e45040aa102fedaf30e54ae118f23510d9c2762da994d8e9eb37f8f] (r:1 w:1) - // Storage: unknown [0x65fbf6ee57a08d8f5407677ef0796630f71a75519462181854d44f3dd0d2e9fc] (r:1 w:1) - // Storage: unknown [0x7511f042605e429879bff0e9ab4466069665ce3b175ab9d9a235d4014604b4ff] (r:1 w:1) - // Storage: unknown [0x815c85bdfd3bb9d957e5a6738955e5a94024e27cea203faa4b984b846f3f07a5] (r:1 w:1) - // Storage: unknown [0xc383631f40436e078c9af767056802826e3f47183fd8ec00a5d06cf991b5d622] (r:1 w:1) - // Storage: unknown [0xd062d3018d16f1337e6aa46159c2085f4be01f700dce001c6248823b15d3a470] (r:1 w:1) - // Storage: unknown [0xe188fef7ccf953faa2185e2e9175bf3bca48aa36f3dd62b8161a75ebb34f19a7] (r:1 w:1) - // Storage: unknown [0xe7dd8a0e93b4c990c00453edf0c631b3ae4fcd7f1189a0b3d2e5c27ef824bc99] (r:1 w:1) - // Storage: unknown [0x0ba1e4e6d98da9611922932b095d435e39bcfd6babc4b9e89485f7f378cd6b45] (r:1 w:1) - // Storage: unknown [0x2d4fce1669eb402b2ec3f325de12e8582f8d9c77de9b5270ef6956203a8314d6] (r:1 w:1) - // Storage: unknown [0x89f01db4731551d533ba2108e036875e126adb7665bc5fddd4575716a36c26a4] (r:1 w:1) - // Storage: unknown [0x97dc9a3b2cc3aa9784021dcb200f09540dfdedb79f3d159867b97a75cc892a3b] (r:1 w:1) - // Storage: unknown [0xc20b40ca76d1caee1cc717d847ae6878857e35b45d47478ed7f1450c154c503f] (r:1 w:1) - // Storage: unknown [0xd0b010e2c3a992e7680dc9120b82fe6e8c3d160b997aa89af463bbdf84a6e2d7] (r:1 w:1) - // Storage: unknown [0xd35ed52d5edd31264c21a0c30d3994d5600b3e19ebb66d6f8099661d6dcc57c0] (r:1 w:1) - // Storage: unknown [0xf5b993b187b5029b7a30de61f1bce1be780f8790b3daf85742ec63b66f79cc80] (r:1 w:1) - // Storage: unknown [0xf98428e38450dcc80131bed1b84059f80938df6d2941d17917c968e553afa753] (r:1 w:1) - fn batch_migrate(k: u32, ) -> Weight { - (0 as Weight) - // Standard Error: 53_000 - .saturating_add((107_557_000 as Weight).saturating_mul(k as Weight)) - .saturating_add(T::DbWeight::get().reads(6 as Weight)) - .saturating_add(T::DbWeight::get().reads((4 as Weight).saturating_mul(k as Weight))) - .saturating_add(T::DbWeight::get().writes(2 as Weight)) - .saturating_add(T::DbWeight::get().writes((4 as Weight).saturating_mul(k as Weight))) + // Storage: unknown [0xd861ea1ebf4800d4b89f4ff787ad79ee96d9a708c85b57da7eb8f9ddeda61291] (r:1 w:1) + fn redeem() -> Weight { + (137_729_000 as Weight) + .saturating_add(T::DbWeight::get().reads(11 as Weight)) + .saturating_add(T::DbWeight::get().writes(8 as Weight)) } + // Storage: SalpLite Funds (r:1 w:0) // Storage: SalpLite RedeemPool (r:1 w:1) // Storage: Tokens Accounts (r:2 w:2) @@ -569,7 +72,7 @@ impl bifrost_salp_lite::WeightInfo for WeightInfo { // Storage: System EventCount (r:1 w:1) // Storage: System Events (r:1 w:1) // Storage: unknown [0xd861ea1ebf4800d4b89f4ff787ad79ee96d9a708c85b57da7eb8f9ddeda61291] (r:1 w:1) - fn redeem() -> Weight { + fn refund() -> Weight { (137_729_000 as Weight) .saturating_add(T::DbWeight::get().reads(11 as Weight)) .saturating_add(T::DbWeight::get().writes(8 as Weight))