> For the complete documentation index, see [llms.txt](https://noiho.gitbook.io/noiho/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://noiho.gitbook.io/noiho/developers/frontend-builders/contract-calls-by-role.md).

# Write calls by role

The call sequence and value/approval requirements for each actor.

| Role               | Sequence                                                                                                                            | Native value / token approval                                                 |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| Wrapper            | getProviderForAmount pages → getLiquidityProviderConfig → requestWrap → commitFulfillment → fulfillWrap → dispute a harmful failure | requestWrap value must equal witnessFee; a dispute may need 10% XMRn approval |
| Unwrapper          | XMRn.approve → requestUnwrap → cancel while Open → dispute a harmful success                                                        | Approve amountXMRn for escrow; a dispute may need another 10% approval        |
| Wrap LP            | registerLiquidityProvider / updateLiquidityProvider → XMRn.approve → addLiquidity → removeLiquidity                                 | No per-order value; withdrawals are capped at getNetLiquidity                 |
| Unwrap LP          | submitUnwrapIntent → commitFulfillment → fulfillUnwrap → dispute a harmful failure                                                  | Intent value must equal witnessFee; a dispute may need 10% XMRn approval      |
| Witness            | XMRn.approve → upsertWitness → witnessOrder → releaseBond or withdrawBond                                                           | Free bond must cover the required slash-ratio amount                          |
| Owner / arbitrator | resolveDispute, adminResolveStuckOrder, pause, parameter, and sanctions operations                                                  | onlyOwner, plus pause-specific preconditions                                  |
