123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662 |
- use srml_support::decl_error;
- use membership::members;
- decl_error! {
-
- pub enum Error {
-
- StakeBalanceCannotBeZero,
-
- NoWorkerStakeProfile,
-
- CurrentLeadNotSet,
-
- CannotHireLeaderWhenLeaderExists,
-
- CannotHireMultipleLeaders,
-
- IsNotLeadAccount,
-
- OpeningTextTooShort,
-
- OpeningTextTooLong,
-
- OpeningDoesNotExist,
-
- InsufficientBalanceToApply,
-
- MembershipUnsignedOrigin,
-
- MembershipInvalidMemberId,
-
- ApplyOnWorkerOpeningSignerNotControllerAccount,
-
- OriginIsNeitherMemberControllerOrRoot,
-
- MemberHasActiveApplicationOnOpening,
-
- WorkerApplicationTextTooLong,
-
- WorkerApplicationTextTooShort,
-
- InsufficientBalanceToCoverStake,
-
- OriginIsNotApplicant,
-
- WorkerApplicationDoesNotExist,
-
- SuccessfulWorkerApplicationDoesNotExist,
-
- FillOpeningInvalidNextPaymentBlock,
-
- FillOpeningMintDoesNotExist,
-
- RelationshipMustExist,
-
- WorkerExitRationaleTextTooLong,
-
- WorkerExitRationaleTextTooShort,
-
- SignerIsNotWorkerRoleAccount,
-
- WorkerHasNoReward,
-
- WorkerDoesNotExist,
-
- AcceptWorkerApplicationsOpeningDoesNotExist,
-
- AcceptWorkerApplicationsOpeningIsNotWaitingToBegin,
-
- BeginWorkerApplicantReviewOpeningDoesNotExist,
-
- BeginWorkerApplicantReviewOpeningOpeningIsNotWaitingToBegin,
-
- FullWorkerOpeningOpeningDoesNotExist,
-
- FullWorkerOpeningOpeningNotInReviewPeriodStage,
-
- FullWorkerOpeningUnsuccessfulApplicationStakeUnstakingPeriodTooShort,
-
- FullWorkerOpeningSuccessfulApplicationStakeUnstakingPeriodTooShort,
-
- FullWorkerOpeningSuccessfulRoleStakeUnstakingPeriodTooShort,
-
- FullWorkerOpeningUnsuccessfulRoleStakeUnstakingPeriodTooShort,
-
- FullWorkerOpeningSuccessfulApplicationStakeUnstakingPeriodRedundant,
-
- FullWorkerOpeningUnsuccessfulApplicationStakeUnstakingPeriodRedundant,
-
- FullWorkerOpeningSuccessfulRoleStakeUnstakingPeriodRedundant,
-
- FullWorkerOpeningUnsuccessfulRoleStakeUnstakingPeriodRedundant,
-
- FullWorkerOpeningApplicationDoesNotExist,
-
- FullWorkerOpeningApplicationNotActive,
-
- FillWorkerOpeningApplicationForWrongOpening,
-
- WithdrawWorkerApplicationApplicationDoesNotExist,
-
- WithdrawWorkerApplicationApplicationNotActive,
-
- WithdrawWorkerApplicationOpeningNotAcceptingApplications,
-
- WithdrawWorkerApplicationUnstakingPeriodTooShort,
-
- WithdrawWorkerApplicationRedundantUnstakingPeriod,
-
- AddWorkerOpeningActivatesInThePast,
-
- AddWorkerOpeningRoleStakeLessThanMinimum,
-
- AddWorkerOpeningAppliicationStakeLessThanMinimum,
-
- AddWorkerOpeningOpeningDoesNotExist,
-
-
- AddWorkerOpeningStakeProvidedWhenRedundant,
-
-
- AddWorkerOpeningStakeMissingWhenRequired,
-
-
- AddWorkerOpeningStakeAmountTooLow,
-
- AddWorkerOpeningOpeningNotInAcceptingApplicationStage,
-
- AddWorkerOpeningNewApplicationWasCrowdedOut,
-
- AddWorkerOpeningZeroMaxApplicantCount,
-
- RecurringRewardsNextPaymentNotInFuture,
-
- RecurringRewardsRecipientNotFound,
-
- RecurringRewardsRewardSourceNotFound,
-
- RecurringRewardsRewardRelationshipNotFound,
-
- StakingErrorStakeNotFound,
-
- StakingErrorUnstakingPeriodShouldBeGreaterThanZero,
-
- StakingErrorAlreadyUnstaking,
-
- StakingErrorNotStaked,
-
- StakingErrorCannotUnstakeWhileSlashesOngoing,
-
- StakingErrorInsufficientBalanceInSourceAccount,
-
- StakingErrorCannotChangeStakeByZero,
-
- StakingErrorCannotIncreaseStakeWhileUnstaking,
-
- StakingErrorCannotDecreaseWhileSlashesOngoing,
-
- StakingErrorInsufficientStake,
-
- StakingErrorSlashAmountShouldBeGreaterThanZero,
-
- CannotFindMint,
-
- RequireRootOrigin,
-
- RequireSignedOrigin,
-
- MaxActiveWorkerNumberExceeded,
-
- AddWorkerOpeningRoleStakeCannotBeZero,
-
- AddWorkerOpeningApplicationStakeCannotBeZero,
-
-
- FillOpeningFailedApplicantApplicationStakeUnstakingPeriodIsZero,
-
-
- FillOpeningFailedApplicantRoleStakeUnstakingPeriodIsZero,
-
-
- FillOpeningSuccessfulApplicantApplicationStakeUnstakingPeriodIsZero,
-
-
- ExitRoleStakeUnstakingPeriodIsZero,
-
-
- ExitRoleApplicationStakeUnstakingPeriodIsZero,
-
-
- TerminateRoleStakeUnstakingPeriodIsZero,
-
-
- TerminateApplicationStakeUnstakingPeriodIsZero,
-
-
- RoleStakingPolicyCrowdedOutUnstakingPeriodIsZero,
-
-
- RoleStakingPolicyReviewPeriodUnstakingPeriodIsZero,
-
-
- ApplicationStakingPolicyCrowdedOutUnstakingPeriodIsZero,
-
-
- ApplicationStakingPolicyReviewPeriodUnstakingPeriodIsZero,
-
-
- ApplicationRationingPolicyMaxActiveApplicantsIsZero,
- }
- }
- impl From<system::Error> for Error {
- fn from(error: system::Error) -> Self {
- match error {
- system::Error::Other(msg) => Error::Other(msg),
- system::Error::RequireRootOrigin => Error::RequireRootOrigin,
- system::Error::RequireSignedOrigin => Error::RequireSignedOrigin,
- _ => Error::Other(error.into()),
- }
- }
- }
- pub struct WrappedError<E> {
-
- pub error: E,
- }
- #[macro_export]
- macro_rules! ensure_on_wrapped_error {
- ($call:expr) => {{
- { $call }.map_err(|err| crate::WrappedError { error: err })
- }};
- }
- impl rstd::convert::From<WrappedError<hiring::BeginAcceptingApplicationsError>> for Error {
- fn from(wrapper: WrappedError<hiring::BeginAcceptingApplicationsError>) -> Self {
- match wrapper.error {
- hiring::BeginAcceptingApplicationsError::OpeningDoesNotExist => {
- Error::AcceptWorkerApplicationsOpeningDoesNotExist
- }
- hiring::BeginAcceptingApplicationsError::OpeningIsNotInWaitingToBeginStage => {
- Error::AcceptWorkerApplicationsOpeningIsNotWaitingToBegin
- }
- }
- }
- }
- impl rstd::convert::From<WrappedError<hiring::AddOpeningError>> for Error {
- fn from(wrapper: WrappedError<hiring::AddOpeningError>) -> Self {
- match wrapper.error {
- hiring::AddOpeningError::OpeningMustActivateInTheFuture => {
- Error::AddWorkerOpeningActivatesInThePast
- }
- hiring::AddOpeningError::StakeAmountLessThanMinimumStakeBalance(purpose) => {
- match purpose {
- hiring::StakePurpose::Role => Error::AddWorkerOpeningRoleStakeLessThanMinimum,
- hiring::StakePurpose::Application => {
- Error::AddWorkerOpeningAppliicationStakeLessThanMinimum
- }
- }
- }
- hiring::AddOpeningError::ApplicationRationingZeroMaxApplicants => {
- Error::AddWorkerOpeningZeroMaxApplicantCount
- }
- hiring::AddOpeningError::StakeAmountCannotBeZero(purpose) => match purpose {
- hiring::StakePurpose::Role => Error::AddWorkerOpeningRoleStakeCannotBeZero,
- hiring::StakePurpose::Application => {
- Error::AddWorkerOpeningApplicationStakeCannotBeZero
- }
- },
- }
- }
- }
- impl rstd::convert::From<WrappedError<hiring::BeginReviewError>> for Error {
- fn from(wrapper: WrappedError<hiring::BeginReviewError>) -> Self {
- match wrapper.error {
- hiring::BeginReviewError::OpeningDoesNotExist => {
- Error::BeginWorkerApplicantReviewOpeningDoesNotExist
- }
- hiring::BeginReviewError::OpeningNotInAcceptingApplicationsStage => {
- Error::BeginWorkerApplicantReviewOpeningOpeningIsNotWaitingToBegin
- }
- }
- }
- }
- impl<T: hiring::Trait> rstd::convert::From<WrappedError<hiring::FillOpeningError<T>>> for Error {
- fn from(wrapper: WrappedError<hiring::FillOpeningError<T>>) -> Self {
- match wrapper.error {
- hiring::FillOpeningError::<T>::OpeningDoesNotExist => {
- Error::FullWorkerOpeningOpeningDoesNotExist
- }
- hiring::FillOpeningError::<T>::OpeningNotInReviewPeriodStage => {
- Error::FullWorkerOpeningOpeningNotInReviewPeriodStage
- }
- hiring::FillOpeningError::<T>::UnstakingPeriodTooShort(
- stake_purpose,
- outcome_in_filled_opening,
- ) => match stake_purpose {
- hiring::StakePurpose::Application => match outcome_in_filled_opening {
- hiring::ApplicationOutcomeInFilledOpening::Success => {
- Error::FullWorkerOpeningSuccessfulApplicationStakeUnstakingPeriodTooShort
- }
- hiring::ApplicationOutcomeInFilledOpening::Failure => {
- Error::FullWorkerOpeningUnsuccessfulApplicationStakeUnstakingPeriodTooShort
- }
- },
- hiring::StakePurpose::Role => match outcome_in_filled_opening {
- hiring::ApplicationOutcomeInFilledOpening::Success => {
- Error::FullWorkerOpeningSuccessfulRoleStakeUnstakingPeriodTooShort
- }
- hiring::ApplicationOutcomeInFilledOpening::Failure => {
- Error::FullWorkerOpeningUnsuccessfulRoleStakeUnstakingPeriodTooShort
- }
- },
- },
- hiring::FillOpeningError::<T>::RedundantUnstakingPeriodProvided(
- stake_purpose,
- outcome_in_filled_opening,
- ) => match stake_purpose {
- hiring::StakePurpose::Application => match outcome_in_filled_opening {
- hiring::ApplicationOutcomeInFilledOpening::Success => {
- Error::FullWorkerOpeningSuccessfulApplicationStakeUnstakingPeriodRedundant
- }
- hiring::ApplicationOutcomeInFilledOpening::Failure => {
- Error::FullWorkerOpeningUnsuccessfulApplicationStakeUnstakingPeriodRedundant
- }
- },
- hiring::StakePurpose::Role => match outcome_in_filled_opening {
- hiring::ApplicationOutcomeInFilledOpening::Success => {
- Error::FullWorkerOpeningSuccessfulRoleStakeUnstakingPeriodRedundant
- }
- hiring::ApplicationOutcomeInFilledOpening::Failure => {
- Error::FullWorkerOpeningUnsuccessfulRoleStakeUnstakingPeriodRedundant
- }
- },
- },
- hiring::FillOpeningError::<T>::ApplicationDoesNotExist(_application_id) => {
- Error::FullWorkerOpeningApplicationDoesNotExist
- }
- hiring::FillOpeningError::<T>::ApplicationNotInActiveStage(_application_id) => {
- Error::FullWorkerOpeningApplicationNotActive
- }
- hiring::FillOpeningError::<T>::ApplicationForWrongOpening(_application_id) => {
- Error::FillWorkerOpeningApplicationForWrongOpening
- }
- }
- }
- }
- impl rstd::convert::From<WrappedError<hiring::DeactivateApplicationError>> for Error {
- fn from(wrapper: WrappedError<hiring::DeactivateApplicationError>) -> Self {
- match wrapper.error {
- hiring::DeactivateApplicationError::ApplicationDoesNotExist => {
- Error::WithdrawWorkerApplicationApplicationDoesNotExist
- }
- hiring::DeactivateApplicationError::ApplicationNotActive => {
- Error::WithdrawWorkerApplicationApplicationNotActive
- }
- hiring::DeactivateApplicationError::OpeningNotAcceptingApplications => {
- Error::WithdrawWorkerApplicationOpeningNotAcceptingApplications
- }
- hiring::DeactivateApplicationError::UnstakingPeriodTooShort(_stake_purpose) => {
- Error::WithdrawWorkerApplicationUnstakingPeriodTooShort
- }
- hiring::DeactivateApplicationError::RedundantUnstakingPeriodProvided(
- _stake_purpose,
- ) => Error::WithdrawWorkerApplicationRedundantUnstakingPeriod,
- }
- }
- }
- impl rstd::convert::From<WrappedError<hiring::AddApplicationError>> for Error {
- fn from(wrapper: WrappedError<hiring::AddApplicationError>) -> Self {
- match wrapper.error {
- hiring::AddApplicationError::OpeningDoesNotExist => {
- Error::AddWorkerOpeningOpeningDoesNotExist
- }
- hiring::AddApplicationError::StakeProvidedWhenRedundant(_stake_purpose) => {
- Error::AddWorkerOpeningStakeProvidedWhenRedundant
- }
- hiring::AddApplicationError::StakeMissingWhenRequired(_stake_purpose) => {
- Error::AddWorkerOpeningStakeMissingWhenRequired
- }
- hiring::AddApplicationError::StakeAmountTooLow(_stake_purpose) => {
- Error::AddWorkerOpeningStakeAmountTooLow
- }
- hiring::AddApplicationError::OpeningNotInAcceptingApplicationsStage => {
- Error::AddWorkerOpeningOpeningNotInAcceptingApplicationStage
- }
- hiring::AddApplicationError::NewApplicationWasCrowdedOut => {
- Error::AddWorkerOpeningNewApplicationWasCrowdedOut
- }
- }
- }
- }
- impl rstd::convert::From<WrappedError<members::MemberControllerAccountDidNotSign>> for Error {
- fn from(wrapper: WrappedError<members::MemberControllerAccountDidNotSign>) -> Self {
- match wrapper.error {
- members::MemberControllerAccountDidNotSign::UnsignedOrigin => {
- Error::MembershipUnsignedOrigin
- }
- members::MemberControllerAccountDidNotSign::MemberIdInvalid => {
- Error::MembershipInvalidMemberId
- }
- members::MemberControllerAccountDidNotSign::SignerControllerAccountMismatch => {
- Error::ApplyOnWorkerOpeningSignerNotControllerAccount
- }
- }
- }
- }
- impl rstd::convert::From<WrappedError<recurringrewards::RewardsError>> for Error {
- fn from(wrapper: WrappedError<recurringrewards::RewardsError>) -> Self {
- match wrapper.error {
- recurringrewards::RewardsError::NextPaymentNotInFuture => {
- Error::RecurringRewardsNextPaymentNotInFuture
- }
- recurringrewards::RewardsError::RecipientNotFound => {
- Error::RecurringRewardsRecipientNotFound
- }
- recurringrewards::RewardsError::RewardSourceNotFound => {
- Error::RecurringRewardsRewardSourceNotFound
- }
- recurringrewards::RewardsError::RewardRelationshipNotFound => {
- Error::RecurringRewardsRewardRelationshipNotFound
- }
- }
- }
- }
- impl rstd::convert::From<WrappedError<stake::StakeActionError<stake::InitiateUnstakingError>>>
- for Error
- {
- fn from(wrapper: WrappedError<stake::StakeActionError<stake::InitiateUnstakingError>>) -> Self {
- match wrapper.error {
- stake::StakeActionError::StakeNotFound => Error::StakingErrorStakeNotFound,
- stake::StakeActionError::Error(initiate_unstaking_error) => {
- match initiate_unstaking_error {
- stake::InitiateUnstakingError::UnstakingPeriodShouldBeGreaterThanZero => {
- Error::StakingErrorUnstakingPeriodShouldBeGreaterThanZero
- }
- stake::InitiateUnstakingError::UnstakingError(unstaking_error) => {
- match unstaking_error {
- stake::UnstakingError::AlreadyUnstaking => {
- Error::StakingErrorAlreadyUnstaking
- }
- stake::UnstakingError::NotStaked => Error::StakingErrorNotStaked,
- stake::UnstakingError::CannotUnstakeWhileSlashesOngoing => {
- Error::StakingErrorCannotUnstakeWhileSlashesOngoing
- }
- }
- }
- }
- }
- }
- }
- }
- impl
- rstd::convert::From<
- WrappedError<stake::StakeActionError<stake::IncreasingStakeFromAccountError>>,
- > for Error
- {
- fn from(
- wrapper: WrappedError<stake::StakeActionError<stake::IncreasingStakeFromAccountError>>,
- ) -> Self {
- match wrapper.error {
- stake::StakeActionError::StakeNotFound => Error::StakingErrorStakeNotFound,
- stake::StakeActionError::Error(increase_stake_error_from_account) => {
- match increase_stake_error_from_account {
- stake::IncreasingStakeFromAccountError::InsufficientBalanceInSourceAccount => {
- Error::StakingErrorInsufficientBalanceInSourceAccount
- }
- stake::IncreasingStakeFromAccountError::IncreasingStakeError(
- increasing_stake_error,
- ) => match increasing_stake_error {
- stake::IncreasingStakeError::NotStaked => Error::StakingErrorNotStaked,
- stake::IncreasingStakeError::CannotChangeStakeByZero => {
- Error::StakingErrorCannotChangeStakeByZero
- }
- stake::IncreasingStakeError::CannotIncreaseStakeWhileUnstaking => {
- Error::StakingErrorCannotIncreaseStakeWhileUnstaking
- }
- },
- }
- }
- }
- }
- }
- impl rstd::convert::From<WrappedError<stake::StakeActionError<stake::IncreasingStakeError>>>
- for Error
- {
- fn from(wrapper: WrappedError<stake::StakeActionError<stake::IncreasingStakeError>>) -> Self {
- match wrapper.error {
- stake::StakeActionError::StakeNotFound => Error::StakingErrorStakeNotFound,
- stake::StakeActionError::Error(increasing_stake_error) => {
- match increasing_stake_error {
- stake::IncreasingStakeError::NotStaked => Error::StakingErrorNotStaked,
- stake::IncreasingStakeError::CannotChangeStakeByZero => {
- Error::StakingErrorCannotChangeStakeByZero
- }
- stake::IncreasingStakeError::CannotIncreaseStakeWhileUnstaking => {
- Error::StakingErrorCannotIncreaseStakeWhileUnstaking
- }
- }
- }
- }
- }
- }
- impl rstd::convert::From<WrappedError<stake::StakeActionError<stake::DecreasingStakeError>>>
- for Error
- {
- fn from(wrapper: WrappedError<stake::StakeActionError<stake::DecreasingStakeError>>) -> Self {
- match wrapper.error {
- stake::StakeActionError::StakeNotFound => Error::StakingErrorStakeNotFound,
- stake::StakeActionError::Error(decreasing_stake_error) => {
- match decreasing_stake_error {
- stake::DecreasingStakeError::NotStaked => Error::StakingErrorNotStaked,
- stake::DecreasingStakeError::CannotChangeStakeByZero => {
- Error::StakingErrorCannotChangeStakeByZero
- }
- stake::DecreasingStakeError::CannotDecreaseStakeWhileUnstaking => {
- Error::StakingErrorCannotIncreaseStakeWhileUnstaking
- }
- stake::DecreasingStakeError::CannotDecreaseStakeWhileOngoingSlahes => {
- Error::StakingErrorCannotDecreaseWhileSlashesOngoing
- }
- stake::DecreasingStakeError::InsufficientStake => {
- Error::StakingErrorInsufficientStake
- }
- }
- }
- }
- }
- }
- impl rstd::convert::From<WrappedError<stake::StakeActionError<stake::ImmediateSlashingError>>>
- for Error
- {
- fn from(wrapper: WrappedError<stake::StakeActionError<stake::ImmediateSlashingError>>) -> Self {
- match wrapper.error {
- stake::StakeActionError::StakeNotFound => Error::StakingErrorStakeNotFound,
- stake::StakeActionError::Error(slashing_error) => match slashing_error {
- stake::ImmediateSlashingError::NotStaked => Error::StakingErrorNotStaked,
- stake::ImmediateSlashingError::SlashAmountShouldBeGreaterThanZero => {
- Error::StakingErrorSlashAmountShouldBeGreaterThanZero
- }
- },
- }
- }
- }
- impl rstd::convert::From<WrappedError<minting::GeneralError>> for Error {
- fn from(wrapper: WrappedError<minting::GeneralError>) -> Self {
- match wrapper.error {
- minting::GeneralError::MintNotFound => Error::CannotFindMint,
- minting::GeneralError::NextAdjustmentInPast => Error::Other("NextAdjustmentInPast"),
- }
- }
- }
|