Book
Book
ZeroUnit
error ZeroUnit()
BookAlreadyOpened
error BookAlreadyOpened()
BookNotOpened
error BookNotOpened()
QueueReplaceFailed
error QueueReplaceFailed()
CancelFailed
error CancelFailed(uint64 maxCancelableUnit)
MAX_ORDER
uint40 MAX_ORDER
MAX_ORDER_M
uint256 MAX_ORDER_M
Order
struct Order {
address provider;
uint64 pending;
}
Queue
struct Queue {
struct SegmentedSegmentTree.Core tree;
struct Book.Order[] orders;
}
State
struct State {
struct IBookManager.BookKey key;
mapping(Tick => struct Book.Queue) queues;
mapping(uint256 => uint256) tickBitmap;
mapping(uint24 => uint256) totalClaimableOf;
}
open
function open(struct Book.State self, struct IBookManager.BookKey key) external
isOpened
function isOpened(struct Book.State self) internal view returns (bool)
checkOpened
function checkOpened(struct Book.State self) internal view
depth
function depth(struct Book.State self, Tick tick) internal view returns (uint64)
highest
function highest(struct Book.State self) internal view returns (Tick)
maxLessThan
function maxLessThan(struct Book.State self, Tick tick) internal view returns (Tick)
isEmpty
function isEmpty(struct Book.State self) internal view returns (bool)
getOrder
function getOrder(struct Book.State self, Tick tick, uint40 index) internal view returns (struct Book.Order)
make
function make(struct Book.State self, Tick tick, uint64 unit, address provider) external returns (uint40 orderIndex)
take
function take(struct Book.State self, Tick tick, uint64 maxTakeUnit) external returns (uint64 takenUnit)
Take orders from the book
Parameters
Name | Type | Description |
---|---|---|
self | struct Book.State | The book state |
tick | Tick | |
maxTakeUnit | uint64 | The maximum unit to take |
Return Values
Name | Type | Description |
---|---|---|
takenUnit | uint64 | The actual unit to take |
cancel
function cancel(struct Book.State self, OrderId orderId, uint64 to) external returns (uint64 canceled, uint64 afterPending)
claim
function claim(struct Book.State self, Tick tick, uint40 index) external returns (uint64 claimedUnit)
calculateClaimableUnit
function calculateClaimableUnit(struct Book.State self, Tick tick, uint40 index) public view returns (uint64)