Reject a transaction

Overview

There are certain scenarios where user want to reject a certain transaction. For example,

  1. Wrong operation. User input some wrong parameters during transaction initialization.

  2. Disagreement among MSafe managers.

  3. 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:

  1. Only transactions in the pending status can be rejected.

  2. 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.

  3. 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.

  4. 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.

Transaction details:

Action:			Transfer APT
To:			0xd4fc1780031141d68356015d5a0bf9528b3c7a2acf998894da4d9b41bd2c076d
Amount:			0.01 APT
Sender:			0x1908fe0d337d7bd718c8465030c5f306377ac396f3d7acce92f526ae41637cc0
Sequence Number:	5
Expiration:		Sun Oct 09 2022 14:52:12 GMT-0700 (Pacific Daylight Time)
Gas Price:		100
Max Gas:		5000

--------------------

Collected signatures from public keys: 1 / 2
	pk 0:	0x50081a3900885a635bf480d27827c71ff55d06fbc6f1e9fb737d49b758df81ec

--------------------

Already signed. Waiting for other confirmations.

	v)	reVert
	r)	Refresh
	b)	Back

Please input your option:		v

Select v to revert the transaction. After verifying with the revert request, the revert transaction will be submitted on chain.

Are you sure your want to revert the transaction? [Y/n]

	Transaction 0x27e7f9cbab1307b6576f9d5d9f3c80ac11a4aaf05c9e2107154657e15686f0d3 submitted. Waiting for confirmation
	Transaction confirmed on chain.
	
Choose your next step

	v)	View details
	b)	Back

Please input your option:

When hit back, you shall able to see two transactions with same sequence number of pending transactions:

Pending transactions:

		| SN	| Action			| Confirmation	|

	1)	| 5	| Transfer APT			| 1 / 2
	2)	| 5	| Reject transaction		| 1 / 2
	n)	New transaction
	r)	Refresh
	b)	Back

Please input your option:

Confirm reject

To approve a reject transaction, do the same as Approve / execute a transaction.

Last updated