Skip to content

Commit

Permalink
Merge pull request #30 from toints/xcm-sub-assets
Browse files Browse the repository at this point in the history
Fixed: fixed handle errors
  • Loading branch information
toints authored Dec 4, 2023
2 parents 356ba04 + eda0e98 commit 0589dff
Showing 1 changed file with 60 additions and 13 deletions.
73 changes: 60 additions & 13 deletions pallets/liquidation/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,12 @@ pub mod pallet {

/// internal errors
InternalError,

///get pot account errors
PotAccountError,

///failed to process liquidation
ProcessLiquidationError,
}

#[pallet::hooks]
Expand Down Expand Up @@ -187,7 +193,14 @@ pub mod pallet {

let base_account = <T::AccountId>::from(BASE_ACCOUNT);
let system_account =
pallet_pot::Pallet::<T>::ensure_pot(T::SystemAccountName::get()).unwrap();
match pallet_pot::Pallet::<T>::ensure_pot(T::SystemAccountName::get()) {
Ok(account) => account,
Err(err) => {
log::error!("get system account err:{:?}", err);
Self::deposit_event(Event::Error(Error::<T>::InternalError.into()));
return;
},
};

match Self::transfer_funds(&base_account, &system_account, block_fee_except_ed.clone())
{
Expand All @@ -200,6 +213,8 @@ pub mod pallet {
},
Err(err) => {
log::error!("Transfer to system account failed: {:?}", err);
Self::deposit_event(Event::Error(Error::<T>::InternalError.into()));
return;
},
}

Expand All @@ -213,15 +228,23 @@ pub mod pallet {
DistributionBlockCount::<T>::put(count);
if count % T::ProfitDistributionCycle::get() == Zero::zero() {
DistributionBlockCount::<T>::put(BlockNumberFor::<T>::zero());
let _ = Self::distribute_profit();
match Self::distribute_profit() {
Ok(_) => {
Self::deposit_event(Event::BlockProcessed(
n,
block_fee_except_ed.clone(),
real_gas_cost,
collator,
));
},
Err(err) => {
log::error!("process liquidation failed: {:?}", err);
Self::deposit_event(Event::Error(
Error::<T>::ProcessLiquidationError.into(),
));
},
}
}

Self::deposit_event(Event::BlockProcessed(
n,
block_fee_except_ed.clone(),
real_gas_cost,
collator,
));
}
}

Expand Down Expand Up @@ -278,11 +301,29 @@ pub mod pallet {
let total_profit = total_income.saturating_sub(total_cost);

let system_account =
pallet_pot::Pallet::<T>::ensure_pot(T::SystemAccountName::get()).unwrap();
match pallet_pot::Pallet::<T>::ensure_pot(T::SystemAccountName::get()) {
Ok(account) => account,
Err(err) => {
log::error!("get system account err:{:?}", err);
Err(Error::<T>::PotAccountError)?
},
};
let treasury_account =
pallet_pot::Pallet::<T>::ensure_pot(T::TreasuryAccountName::get()).unwrap();
match pallet_pot::Pallet::<T>::ensure_pot(T::TreasuryAccountName::get()) {
Ok(account) => account,
Err(err) => {
log::error!("get treasury account err:{:?}", err);
Err(Error::<T>::PotAccountError)?
},
};
let operation_account =
pallet_pot::Pallet::<T>::ensure_pot(T::OperationAccountName::get()).unwrap();
match pallet_pot::Pallet::<T>::ensure_pot(T::OperationAccountName::get()) {
Ok(account) => account,
Err(err) => {
log::error!("get maintenance account err:{:?}", err);
Err(Error::<T>::PotAccountError)?
},
};

let system_ratio = T::SystemRatio::get();
let treasury_ratio = T::TreasuryRatio::get();
Expand Down Expand Up @@ -366,7 +407,13 @@ pub mod pallet {

fn compensate_collators() -> DispatchResult {
let system_account =
pallet_pot::Pallet::<T>::ensure_pot(T::SystemAccountName::get()).unwrap();
match pallet_pot::Pallet::<T>::ensure_pot(T::SystemAccountName::get()) {
Ok(account) => account,
Err(err) => {
log::error!("get system account err:{:?}", err);
Err(Error::<T>::PotAccountError)?
},
};

// compensate for every collator
for (collator, collator_cost) in CollatorRealGasCosts::<T>::iter() {
Expand Down

0 comments on commit 0589dff

Please sign in to comment.