Function: eventUpload(EventTypes.EventUpload data)
This uploads an event of one of four types: withdraw
, settlement
, adl
, and liquidation
. For more information about each type, see the description of the Ledger contract functions.
Inputs
data
Control: Controlled by operator.
Constraints: Verify that
data
is signed bycefiEventUploadAddress
. Thedata.batchId
should be equal toeventUploadBatchId
.Impact: The data of one of four types:
withdraw
,settlement
,adl
, orliquidation
.
Branches and code coverage
Negative behavior
Caller is not a trusted operator.
Signature is wrong.
Resend the same message again after successful execution.
Function call analysis
_innerPing()
External/Internal? Internal.
Argument control? N/A.
Impact: Update the
lastOperatorInteraction
by current timestamp.
_eventUploadData(data) -> _processEventUpload -> ledger.executeWithdrawAction(abi.decode(data.data, (EventTypes.WithdrawData)), data.eventId)
External/Internal? External.
Argument control?
data.data
anddata.eventId
are controlled by operator.Impact: External call to Ledger contract to process
withdraw
event.
_eventUploadData(data) -> _processEventUpload -> ledger.executeSettlement(abi.decode(data.data, (EventTypes.Settlement)), data.eventId)
External/Internal? External.
Argument control?
data.data
anddata.eventId
are controlled by operator.Impact: External call to Ledger contract to process
settlement
event.
_eventUploadData(data) -> _processEventUpload -> ledger.executeAdl(abi.decode(data.data, (EventTypes.Adl)), data.eventId)
External/Internal? External.
Argument control?
data.data
anddata.eventId
are controlled by operator.Impact: External call to Ledger contract to process
adl
event.
_eventUploadData(data) -> _processEventUpload -> ledger.executeLiquidation(abi.decode(data.data, (EventTypes.Liquidation)), data.eventId)
External/Internal? External.
Argument control?
data.data
anddata.eventId
are controlled by operator.Impact: External call to Ledger contract to process
liquidation
event.