CanonicCanonic Docs
Documentation

MAOB Gas Performance

Highlights

  • Gas for matches are O(1) per‑rung relative to maker count.
  • Claims scale mostly with order count; segment count adds modest overhead: 1 order ~36k, 25 orders ~479k; 1 order with 1k segments ~44k, O(log n) 100k segments ~50k.
  • Batching is materially cheaper: addLiquidityBatch (10 orders) is 1,564,032 gas vs ~2.74M gas for 10x addLiquidityAsk singles (about 43% lower in this profile).
  • Rung traversal drives taker cost: buyBase is ~182,799 gas for 1 rung and adds ~141k per additional rung in this profile.

Overview

This section summarizes observed gas costs for common MAOB.sol actions. Values are from internal profiling runs and can vary by chain, state, and calldata.

Gas profile

Disclaimer: these figures were obtained in a local test environment on a standard EVM and will vary by chain, state, and calldata. MegaETH, specifically, has a non-standard method to calculate gas (which is not measured here) as described in MegaETH docs.

ScenarioGas
MAOB addLiquidityAsk 1 order273,601
MAOB addLiquidityBid 1 order272,497
MAOB addLiquidityBatch 10 orders1,564,032
MAOB cancelOrder ask no withdraw79,261
MAOB cancelOrder ask withdraw107,481
MAOB cancelOrder bid no withdraw79,367
MAOB cancelOrder bid withdraw107,609
MAOB buyBase fill 1 makers182,719
MAOB buyBase fill 5 makers182,719
MAOB buyBase fill 20 makers182,719
MAOB buyBase fill 50 makers182,719
MAOB buyBaseTargetIn fill 1 makers182,613
MAOB buyBaseTargetIn fill 20 makers182,613
MAOB buyBaseTargetIn fill 2 rungs (10 makers each)325,230
MAOB buyBaseTargetIn remainder quote201,948
MAOB sellBaseExactOut fill 1 makers201,461
MAOB sellBaseExactOut fill 20 makers201,461
MAOB sellBaseExactOut fill 2 rungs (10 makers each)363,066
MAOB sellBaseExactOut partial rung (1 of 10 makers)200,719
MAOB sellBaseTargetIn fill 1 makers202,840
MAOB sellBaseTargetIn fill 20 makers202,840
MAOB buyBase fill 2 rungs explicit (10 makers each)323,800
MAOB buyBase partial rung (1 of 10 makers)182,172
MAOB buyBase fill 1 rungs (10 makers each)182,799
MAOB buyBase fill 2 rungs (10 makers each)323,881
MAOB buyBase fill 3 rungs (10 makers each)464,964
MAOB buyBase fill 4 rungs (10 makers each)606,047
MAOB buyBase fill 5 rungs (10 makers each)747,130
MAOB buyBase fill 6 rungs (10 makers each)888,213
MAOB buyBase fill 7 rungs (10 makers each)1,029,296
MAOB buyBase fill 8 rungs (10 makers each)1,170,379
MAOB buyBase fill 9 rungs (10 makers each)1,311,462
MAOB buyBase fill 10 rungs (10 makers each)1,452,545
MAOB claimOrders 1 orders36,132
MAOB claimOrders 5 orders97,438
MAOB claimOrders 10 orders182,519
MAOB claimOrders 25 orders478,603
MAOB claimOrders bid 5 orders97,699
MAOB claimOrders 1 order, 2 segments36,581
MAOB claimOrders 1 order, 10 segments38,415
MAOB claimOrders 1 order, 25 segments39,326
MAOB claimOrders 1 order, 50 segments40,237
MAOB claimOrders 1 order, 100 segments41,148
MAOB claimOrders 1 order, 1000 segments43,964
MAOB claimOrders O(log n) 1 order, 1000 segments43,858
MAOB claimOrders O(log n) 1 order, 100000 segments50,235