IOrderLogic
TakerOrder
Information for creating a market order with a GTC or FOK semantics.
Parameters
TakerOrderResult
Result of an order from the takers side.
Parameters
MangroveOrderStart
Information about the order. By emitting this data, an indexer will be able to tell that we are in the context of an mangroveOrder and keep track of what parameters was use to start the order.
Parameters
olKeyHash
bytes32
the hash of the offer list key. This could be found by the OrderStart event, but is needed for RPC call. This is indexed so that RPC calls can filter on it.
taker
address
The address of the taker. This could be found by the OrderStart event, but is needed for RPC call. This is indexed so that RPC calls can filter on it.
fillOrKill
bool
The fillOrKill that take was called with
tick
Tick
The tick of the order. This is not needed for an indexer, as it can get it from the OrderStart event. It is only emitted for RPC calls.
fillVolume
uint256
the volume to fill. This is not needed for an indexer, as it can get it from the OrderStart event. It is only emitted for RPC calls.
fillWants
bool
if true (buying), the market order stops when fillVolume
units of olKey.outbound_tkn
have been obtained (fee included); otherwise (selling), the market order stops when fillVolume
units of olKey.inbound_tkn
have been sold.
restingOrder
bool
The restingOrder boolean take was called with.
offerId
uint256
The optional offerId take was called with, 0 if not passed. This is not needed for an indexer. It is only emitted for RPC calls.
MangroveOrderComplete
Indicates that the MangroveOrder has been completed. We only emit this, so that an indexer can know that the order is completed and can thereby keep a correct context
SetExpiry
The expiry of the offer has been set By emitting this data, an indexer will be able to keep track of the expiry date of an offer.
Parameters
olKeyHash
bytes32
the hash of the offer list key. It is indexed so RPC call can filter on it.
offerId
uint256
the Mangrove offer id.
date
uint256
in seconds since unix epoch
expiring
Timestamp beyond which the given offerId
should renege on trade.
Parameters
olKeyHash
bytes32
the hash of the offer list key.
offerId
uint256
The id of the offer to query for expiry for.
Return Values
[0]
uint256
res The timestamp beyond which offerId
on the olKey
offer list should renege on trade. 0 means no expiry.
setExpiry
Updates the expiry date for a specific offer.
If new date is in the past of the current block's timestamp, offer will renege on trade.
Parameters
olKeyHash
bytes32
the hash of the offer list key.
offerId
uint256
The offer id whose expiry date is to be set.
date
uint256
in seconds since unix epoch
take
Implements "Fill or kill" or "Good till cancelled" orders on a given offer list.
Parameters
tko
struct IOrderLogic.TakerOrder
the arguments in memory of the taker order
Return Values
res
struct IOrderLogic.TakerOrderResult
the result of the taker order. If offerId==0
, no resting order was posted on msg.sender
's behalf.