Enum near_primitives::errors::ActionErrorKind
source · pub enum ActionErrorKind {
Show 23 variants
AccountAlreadyExists {
account_id: AccountId,
},
AccountDoesNotExist {
account_id: AccountId,
},
CreateAccountOnlyByRegistrar {
account_id: AccountId,
registrar_account_id: AccountId,
predecessor_id: AccountId,
},
CreateAccountNotAllowed {
account_id: AccountId,
predecessor_id: AccountId,
},
ActorNoPermission {
account_id: AccountId,
actor_id: AccountId,
},
DeleteKeyDoesNotExist {
account_id: AccountId,
public_key: Box<PublicKey>,
},
AddKeyAlreadyExists {
account_id: AccountId,
public_key: Box<PublicKey>,
},
DeleteAccountStaking {
account_id: AccountId,
},
LackBalanceForState {
account_id: AccountId,
amount: Balance,
},
TriesToUnstake {
account_id: AccountId,
},
TriesToStake {
account_id: AccountId,
stake: Balance,
locked: Balance,
balance: Balance,
},
InsufficientStake {
account_id: AccountId,
stake: Balance,
minimum_stake: Balance,
},
FunctionCallError(FunctionCallError),
NewReceiptValidationError(ReceiptValidationError),
OnlyImplicitAccountCreationAllowed {
account_id: AccountId,
},
DeleteAccountWithLargeState {
account_id: AccountId,
},
DelegateActionInvalidSignature,
DelegateActionSenderDoesNotMatchTxReceiver {
sender_id: AccountId,
receiver_id: AccountId,
},
DelegateActionExpired,
DelegateActionAccessKeyError(InvalidAccessKeyError),
DelegateActionInvalidNonce {
delegate_nonce: Nonce,
ak_nonce: Nonce,
},
DelegateActionNonceTooLarge {
delegate_nonce: Nonce,
upper_bound: Nonce,
},
NonRefundableTransferToExistingAccount {
account_id: AccountId,
},
}Variants§
AccountAlreadyExists
Happens when CreateAccount action tries to create an account with account_id which is already exists in the storage
AccountDoesNotExist
Happens when TX receiver_id doesn’t exist (but action is not Action::CreateAccount)
CreateAccountOnlyByRegistrar
A top-level account ID can only be created by registrar.
CreateAccountNotAllowed
A newly created account must be under a namespace of the creator account
ActorNoPermission
Administrative actions like DeployContract, Stake, AddKey, DeleteKey. can be proceed only if sender=receiver
or the first TX action is a CreateAccount action
DeleteKeyDoesNotExist
Account tries to remove an access key that doesn’t exist
AddKeyAlreadyExists
The public key is already used for an existing access key
DeleteAccountStaking
Account is staking and can not be deleted
LackBalanceForState
ActionReceipt can’t be completed, because the remaining balance will not be enough to cover storage.
Fields
TriesToUnstake
Account is not yet staked, but tries to unstake
TriesToStake
The account doesn’t have enough balance to increase the stake.
InsufficientStake
FunctionCallError(FunctionCallError)
An error occurred during a FunctionCall Action, parameter is debug message.
NewReceiptValidationError(ReceiptValidationError)
Error occurs when a new ActionReceipt created by the FunctionCall action fails
receipt validation.
OnlyImplicitAccountCreationAllowed
Error occurs when a CreateAccount action is called on a NEAR-implicit or ETH-implicit account.
See NEAR-implicit account creation NEP: https://github.com/nearprotocol/NEPs/pull/71.
Also, see ETH-implicit account creation NEP: https://github.com/near/NEPs/issues/518.
TODO(#8598): This error is named very poorly. A better name would be
OnlyNamedAccountCreationAllowed.
DeleteAccountWithLargeState
Delete account whose state is large is temporarily banned.
DelegateActionInvalidSignature
Signature does not match the provided actions and given signer public key.
DelegateActionSenderDoesNotMatchTxReceiver
Receiver of the transaction doesn’t match Sender of the delegate action
DelegateActionExpired
Delegate action has expired. max_block_height is less than actual block height.
DelegateActionAccessKeyError(InvalidAccessKeyError)
The given public key doesn’t exist for Sender account
DelegateActionInvalidNonce
DelegateAction nonce must be greater sender[public_key].nonce
DelegateActionNonceTooLarge
DelegateAction nonce is larger than the upper bound given by the block height
NonRefundableTransferToExistingAccount
Non-refundable storage transfer to an existing account is not allowed according to NEP-491.
Trait Implementations§
source§impl BorshDeserialize for ActionErrorKind
impl BorshDeserialize for ActionErrorKind
fn deserialize_reader<__R: Read>(reader: &mut __R) -> Result<Self, Error>
source§fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
source§fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>where
R: Read,
source§impl BorshSerialize for ActionErrorKind
impl BorshSerialize for ActionErrorKind
source§impl Clone for ActionErrorKind
impl Clone for ActionErrorKind
source§fn clone(&self) -> ActionErrorKind
fn clone(&self) -> ActionErrorKind
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for ActionErrorKind
impl Debug for ActionErrorKind
source§impl<'de> Deserialize<'de> for ActionErrorKind
impl<'de> Deserialize<'de> for ActionErrorKind
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl Display for ActionErrorKind
impl Display for ActionErrorKind
source§impl EnumExt for ActionErrorKind
impl EnumExt for ActionErrorKind
source§impl From<ActionErrorKind> for ActionError
impl From<ActionErrorKind> for ActionError
source§fn from(e: ActionErrorKind) -> ActionError
fn from(e: ActionErrorKind) -> ActionError
source§impl PartialEq for ActionErrorKind
impl PartialEq for ActionErrorKind
source§impl Serialize for ActionErrorKind
impl Serialize for ActionErrorKind
impl Eq for ActionErrorKind
impl StructuralPartialEq for ActionErrorKind
Auto Trait Implementations§
impl Freeze for ActionErrorKind
impl RefUnwindSafe for ActionErrorKind
impl Send for ActionErrorKind
impl Sync for ActionErrorKind
impl Unpin for ActionErrorKind
impl UnwindSafe for ActionErrorKind
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more