> For the complete documentation index, see [llms.txt](https://docs.oxium.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.oxium.xyz/mangrove-core/technical-references/taking-and-making-offers/reactive-offer/offer-data-structures.md).

# Public data structures

## MgvLib.SingleOrder

<table><thead><tr><th width="326.3333333333333">Type</th><th width="161">Field</th><th>Comments</th></tr></thead><tbody><tr><td><code>address</code></td><td><code>outbound_tkn</code></td><td>outbound token address of the market order</td></tr><tr><td><code>address</code></td><td><code>inbound_tkn</code></td><td>inbound token address of the market order</td></tr><tr><td><code>uint</code></td><td><code>offerId</code></td><td>Id of the offer that is matched by the order</td></tr><tr><td><code>MgvStructs.OfferPacked</code></td><td><code>offer</code></td><td>Offer data of the current state of the offer on the offer list</td></tr><tr><td><code>uint</code></td><td><code>wants</code></td><td>amount of outbound tokens that are required by the order (in max precision units of <code>outbound_tkn</code> ERC20).</td></tr><tr><td><code>uint</code></td><td><code>gives</code></td><td>amount of inbound tokens that are given by the taker (in max precision units of <code>inbound_tkn</code> ERC20).</td></tr><tr><td><code>MgvStructs.OfferDetailPacked</code></td><td><code>offerDetail</code></td><td>packing of the matched offer details</td></tr><tr><td><code>MgvStructs.GlobalPacked</code></td><td><code>global</code></td><td>packing of the global parameters of the Mangrove that apply to this order</td></tr><tr><td><code>MgvStructs.LocalPacked</code></td><td><code>local</code></td><td>packing of the market parameters that apply to this order</td></tr></tbody></table>

## MgvLib.OrderResult

<table><thead><tr><th width="145">Type</th><th width="133.33333333333331">Field</th><th>Description</th></tr></thead><tbody><tr><td><code>bytes32</code></td><td><code>makerData</code></td><td>The returned or reverted value of <code>makerExecute</code>, truncated to fit a <code>bytes32</code> word.</td></tr><tr><td><code>bytes32</code></td><td><code>mgvData</code></td><td><p>Information gathered by Mangrove concerning the offer execution. If the offer was a success it is equal to:</p><ul><li><code>"mgv/tradeSuccess"</code>: offer execution succeeded.</li></ul><p>If the offer failed (Offer Bounty will be taken from Maker Contract), it will be equal to one the following messages:</p><ul><li><code>"mgv/makerRevert"</code>: offer execution reverted.</li><li><code>"mgv/makerTransferFail"</code>: Mangrove could not transfer <code>order.outbound_tkn</code> tokens from <a href="/pages/-Me0Gx3iLLRX-isZO7ec">Offer Logic</a> to itself (e.g. contract has insufficient balance).</li><li><code>"mgv/makerReceiveFail"</code>: Mangrove could not transfer <code>order.inbound_tkn</code> tokens to <a href="/pages/-Me0Gx3iLLRX-isZO7ec">Offer Logic</a> (e.g. contract is blacklisted).</li></ul></td></tr></tbody></table>
