Limit Order, declaring intent to sell a certain amount of a certain asset in exchange for a different asset at a certain ratio. Conditional Transfer, requesting funds to be transferred from one vault to another if some on-chain event was recorded. Transfer, requesting funds to be transferred from one vault to another.
assetId
to be sold (or transferred).assetId
to be bought.starkKey
.A
: order typeB
: vaultId
from which the user wants to take funds.C
:vaultId
into which the user wants to receive funds.vaultId
to receive the transferred funds.D
: quantizedAmount
to be sold/transferred.E
: quantizedAmount
to be bought (0 in case of a Transfer and Conditional Transfer order).F
: nonce
for the transaction.G
: expirationTimestamp
, in hours since the Unix epoch. For example, for the order to expire 24 hours from the beginning of the current hour, set the timestamp tocondition
, which is the keccak of fact
and FR_address
masked to 250 bits.keccak(FR_address, fact)) & 0x03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FR_adddress
is a contract address and fact
is an uint256.fact
being registered in FR_address
. In this case, she will sign the following message: