> For the complete documentation index, see [llms.txt](https://cron-finance.gitbook.io/twamm/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cron-finance.gitbook.io/twamm/fundamentals/admin-privileges.md).

# Admin Privileges

There are three tiers of privileged functions granted beyond what the general public can use in the TWAMM contract. The below diagram indicates the various parties and the functions that are accessible by them.

<figure><img src="/files/wekTEVCkFVZGAJ4NGeeb" alt=""><figcaption><p>Figure 1: Cron V1 privileges for various parties</p></figcaption></figure>

### Factory Owner

The factory owner is the super admin of the protocol and is controlled by a multi-sig address.

* `setCollectBalancerFees`: collect the fees expected by the Balancer DAO
* `setCollectCronFiFees`: collect the fees expected by the protocol
* `setFeeSharesLP`: sets the fee rate of LPs, and protocol
* `setFeeAddress`: default to 0 address, CronFi fees enabled when address is set
* `setAdminStatus`: sets the admin address for the pool, defaults to the factory owner

### Administrator

The administrator has the ability to maintain proper operations of the pool.

* `setArbPartnerStatus`: enables the ability for lower swap rates for specified addresses, needed by dedicated arbitrageurs
* `setParameter`: allows admin to set different fee take rates and collect Balancer fees
* `setPause`: pauses pool operations when a catastrophic situation arises that could cause trading to degrade

### Arbitrage Partner

The dedicated arbitrage partner that can swap atomically for a lower fee tier

* `onSwap:PartnerSwap`: a low fee tier swap rate only available to privileged partners
* `updateArbitrageurList`: advances the specified arbitrage partner (msg.sender) arbitrageur list contract to the newest contract
