Withdraw collateral

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.

  1. Preparation:

    1. CollalteralManager emits a WithdrawReport event, signaling that it is prepared for the withdrawal of collateral.

    2. The Resolver sends an unlocking transaction by calling the reportWithdraw method of the CollalteralManager contract in the receive chain to prepare a withdrawal.

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

  2. Withdrawal:

    1. The Resolver instructs the CollateralManager to withdraw collateral, calling method withdraw and providing reportProof.

    2. CollateralManager checks to make sure the amount being withdrawn does not exceed the amount of locked collateral. If it does, the withdrawal is rejected.

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

    4. CollateralManager decreases the total amount of collateral to reflect the withdrawal and updates its own state to reflect the new total amount.

    5. CollateralManager emits a Withdraw event, signaling that the withdrawal of collateral has occurred.

Last updated