Skip to main content

RFQ order structure

FieldTypeInner Solidity typeDescription
infostringuint256information about a limit order RFQ is encoded as a decimal number. Read more below
makerAssetstringaddressthe address of the asset you want to sell (address of a token contract)
takerAssetstringaddressthe address of the asset you want to buy (address of a token contract)
makerstringaddressthe address of the limit order creator
allowedSenderstringaddressby default contains a zero address, which means that a limit order is available for everyone to fill. If you set a value, then the limit order will be available for execution only for the specified address (private limit order or P2P)
makingAmountstringuint256amount of maker
takingAmountstringuint256amount of taker

info - a composite key

It consists of:

  • the id of the limit order
  • the timestamp of its expiration

Example of generating a limit order RFQ info:

const id = 1n;
const expiresInTimestamp = 1623166102n;
const info = (
(expiresInTimestamp << 64n) | id
).tostring(10);