OrderMixin

Regular Limit Order mixin

Derives

Functions

remaining

function remaining(
  bytes32 orderHash
) external returns (uint256)

Returns unfilled amount for order. Throws if order does not exist

Parameters:

NameTypeDescription

orderHash

bytes32

remainingRaw

function remainingRaw(
  bytes32 orderHash
) external returns (uint256)

Returns unfilled amount for order

Parameters:

NameTypeDescription

orderHash

bytes32

Return Values:

NameTypeDescription

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:

NameTypeDescription

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:

NameTypeDescription

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:

NameTypeDescription

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:

NameTypeDescription

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:

NameTypeDescription

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:

NameTypeDescription

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:

NameTypeDescription

order

struct OrderLib.Order

hashOrder

function hashOrder(
  struct OrderLib.Order order
) public returns (bytes32)

Parameters:

NameTypeDescription

order

struct OrderLib.Order

Events

OrderFilled

event OrderFilled(
  address maker,
  bytes32 orderHash,
  uint256 remaining
)

Emitted every time order gets filled, including partial fills

Parameters:

NameTypeDescription

maker

address

orderHash

bytes32

remaining

uint256

OrderCanceled

event OrderCanceled(
  address maker,
  bytes32 orderHash,
  uint256 remainingRaw
)

Emitted when order gets cancelled

Parameters:

NameTypeDescription

maker

address

orderHash

bytes32

remainingRaw

uint256

Last updated