Withdraw collateral
Last updated
Last updated
This sequence of actions demonstrates how the Flash Trade system handles the withdrawal of collateral. It includes the preparation for the withdrawal, the withdrawal itself, and the verification of the withdrawal.
Preparation:
CollalteralManager
emits a WithdrawReport
event, signaling that it is prepared for the withdrawal of collateral.
The Resolver sends an unlocking transaction by calling the reportWithdraw
method of the CollalteralManager
contract in the receive chain to prepare a withdrawal.
CollalteralManager
increases the amount of locked collateral by the order amount. Locked collateral is the amount of collateral that is currently locked and cannot be used for other orders.
Withdrawal:
The Resolver instructs the CollateralManager
to withdraw collateral, calling method withdraw
and providing reportProof
.
CollateralManager
checks to make sure the amount being withdrawn does not exceed the amount of locked collateral. If it does, the withdrawal is rejected.
CollateralManager
, with the help of Light Clients, verifies the proof of the Withdraw
event provided with reportProof
. If the proof is falsified, the withdrawal is rejected.
CollateralManager
decreases the total amount of collateral to reflect the withdrawal and updates its own state to reflect the new total amount.
CollateralManager
emits a Withdraw
event, signaling that the withdrawal of collateral has occurred.