Reject a transaction
Overview
There are certain scenarios where user want to reject a certain transaction. For example,
Wrong operation. User input some wrong parameters during transaction initialization.
Disagreement among MSafe managers.
Transaction is not able to be executed because of expiration.'
To reject a transaction, user can either do it in Web App or CLI. The limitation of transaction reject is as follows:
Only transactions in the pending status can be rejected.
Reject a transaction is basically submitting a conflicting transaction with the same sequence number as the transaction to be rejected. In our specific implementation, reject is basically submitting a transaction that calls an empty function
momentum_safe::do_nothing.
There is a competing mechanism for executing conflicting transactions - only the first transaction that have collected enough signatures and submit to blockchain can be finalized.
The moment when one conflicting transaction is confirmed on blockchain, other conflicting transactions will become stale immediately.
Initiate Reject
Heading to CLI interface, and select one of the pending transactions. The transaction details and action items will be shown in CLI. E.g.
Select v
to revert the transaction. After verifying with the revert request, the revert transaction will be submitted on chain.
When hit back, you shall able to see two transactions with same sequence number of pending transactions:
Confirm reject
To approve a reject transaction, do the same as Approve / execute a transaction.
Last updated