OrderMixin
Regular Limit Order mixin
Derives
Permitable
Functions
remaining
function remaining(
bytes32 orderHash
) external returns (uint256)
Returns unfilled amount for order. Throws if order does not exist
Parameters:
orderHash
bytes32
remainingRaw
function remainingRaw(
bytes32 orderHash
) external returns (uint256)
Returns unfilled amount for order
Parameters:
orderHash
bytes32
Return Values:
Result
uint256
Unfilled amount of order plus one if order exists. Otherwise 0
remainingsRaw
function remainingsRaw(
bytes32[] orderHashes
) external returns (uint256[])
Same as remainingRaw
but for multiple orders
Parameters:
orderHashes
bytes32[]
simulateCalls
function simulateCalls(
address[] targets,
bytes[] data
) external
Calls every target with corresponding data. Then reverts with CALL_RESULTS_0101011 where zeroes and ones denote failure or success of the corresponding call
Parameters:
targets
address[]
Array of addresses that will be called
data
bytes[]
Array of data that will be passed to each call
cancelOrder
function cancelOrder(
struct OrderLib.Order order
) external
Cancels order by setting remaining amount to zero
Parameters:
order
struct OrderLib.Order
fillOrder
function fillOrder(
struct OrderLib.Order order,
bytes signature,
bytes interaction,
uint256 makingAmount,
uint256 takingAmount,
uint256 thresholdAmount
) external returns (uint256, uint256)
Fills an order. If one doesn't exist (first fill) it will be created using order.makerAssetData
Parameters:
order
struct OrderLib.Order
Order quote to fill
signature
bytes
Signature to confirm quote ownership
interaction
bytes
Making amount
makingAmount
uint256
Taking amount
takingAmount
uint256
Specifies maximum allowed takingAmount when takingAmount is zero, otherwise specifies minimum allowed makingAmount
thresholdAmount
uint256
fillOrderToWithPermit
function fillOrderToWithPermit(
struct OrderLib.Order order,
bytes signature,
bytes interaction,
uint256 makingAmount,
uint256 takingAmount,
uint256 thresholdAmount,
address target,
bytes permit
) external returns (uint256, uint256)
Same as fillOrder
but calls permit first, allowing to approve token spending and make a swap in one transaction. Also allows to specify funds destination instead of msg.sender
See tests for examples
Parameters:
order
struct OrderLib.Order
Order quote to fill
signature
bytes
Signature to confirm quote ownership
interaction
bytes
Making amount
makingAmount
uint256
Taking amount
takingAmount
uint256
Specifies maximum allowed takingAmount when takingAmount is zero, otherwise specifies minimum allowed makingAmount
thresholdAmount
uint256
Address that will receive swap funds
target
address
Should consist of abiencoded token address and encoded IERC20Permit.permit
call.
permit
bytes
fillOrderTo
function fillOrderTo(
struct OrderLib.Order order_,
bytes signature,
bytes interaction,
uint256 makingAmount,
uint256 takingAmount,
uint256 thresholdAmount,
address target
) public returns (uint256, uint256)
Same as fillOrder
but allows to specify funds destination instead of msg.sender
Parameters:
order_
struct OrderLib.Order
Order quote to fill
signature
bytes
Signature to confirm quote ownership
interaction
bytes
Making amount
makingAmount
uint256
Taking amount
takingAmount
uint256
Specifies maximum allowed takingAmount when takingAmount is zero, otherwise specifies minimum allowed makingAmount
thresholdAmount
uint256
Address that will receive swap funds
target
address
checkPredicate
function checkPredicate(
struct OrderLib.Order order
) public returns (bool)
Checks order predicate
Parameters:
order
struct OrderLib.Order
hashOrder
function hashOrder(
struct OrderLib.Order order
) public returns (bytes32)
Parameters:
order
struct OrderLib.Order
Events
OrderFilled
event OrderFilled(
address maker,
bytes32 orderHash,
uint256 remaining
)
Emitted every time order gets filled, including partial fills
Parameters:
maker
address
orderHash
bytes32
remaining
uint256
OrderCanceled
event OrderCanceled(
address maker,
bytes32 orderHash,
uint256 remainingRaw
)
Emitted when order gets cancelled
Parameters:
maker
address
orderHash
bytes32
remainingRaw
uint256
Last updated