Under the Hood: Constants and Mimirs

THORChain University
3 min readAug 20, 2022

--

THORChain is designed to be both configurable and reactive to changing needs, market conditions, and even potential exploits. One of the ways this is done is via a set of parameters called the “Constants https://thornode.ninerealms.com/thorchain/constants” and the “Mimirs https://thornode.ninerealms.com/thorchain/mimir”. The Constants are the initial parameters that were set in place when THORChain was launched, while Mimirs are updates that override the Constants.

The node operators have full control over the Mimirs. When 67% of nodes agree on a specific Mimir change, any such changes will go live. All Node Mimir votes are done transparently on-chain.

The core developer team retains the Admin Mimir control, but this is only for those parameters for which nodes have not yet voted for. This enables quick responses (e.g. pausing a chain if suspected exploits), but still will not be over-riding the Node Mimirs changes.

Let’s take a look at a few of the current Mimir settings:

“ASGARDSIZE”: 20 — This amount was initially set at 40, which means maximum of 40 nodes per Asgard. Currently, this is set to maximum 20 nodes per Asgard.

“CHURNINTERVAL”: 100800 — This is the node churn interval, counting the number of THORChain blocks. Each block usually takes around six seconds, therefore 100,800 blocks correspond to seven days.

The below settings control the pausing of selected chains. Zero means no halt, while One means halted.

“KILLSWITCHSTART”: 6500000 — This activated the Killswitch for the gradual deprecation of BEP2 and ERC20 RUNE, starting on block 6,500,000 (Jul 18th, 2022).

“MAXSYNTHPERASSETDEPTH”: 3000 — This controls the maximum limit of Synths vs the Asset depth of each Liquidity Pool, current at 3000 basis points, or 30%.

“MINIMUMBONDINRUNE”: 30000000000000 — This controls the minimum RUNE amount before a Node can be considered to be churned-in, currently at 300,000 RUNE (the 30000000000000 number is in 1e8 notation).

These settings below control the pausing of Liquidity Pooling actions (deposits and withdrawals) of selected chains. Zero means no halt, while One means halted.

The settings below are indicators from the Automatic Solvency Checkers for selected chains. Zero means no halt, and when there is a halt, the block height which was halted would be displayed.

These settings below enable or disable the Automatic Solvency Checkers for selected chains. Currently the BNB (BEP2) chain Automatic Solvency Checker is disabled, due to some minor calculation discrepancies which was constantly triggering the checker to have false positives. The BEP2 chain is deemed a low-risk chain, and fixing the discrepancies is deemed lower priority at the moment.

There you have it. We hope you enjoyed a quick trip down the Mimir settings lane.

References: https://docs.thorchain.org/network/constants-and-mimir

Feel free to hop into the TC University Discord to chat about this, or any other THORChain questions that you may have.

Explore THORChain: Website, X, Telegram, Developer Discord.

Explore Maya Protocol, the first friendly fork of THORChain: Website, X, Discord, Telegram.

Decentralized, permissionless, non-custodial, trust-minimized, open-sourced, economic-secured, non-wrapped, native-to-native cross-chain swaps, savings and soon, lending!

--

--

THORChain University
THORChain University

Written by THORChain University

THORChain University aims to educate communtiy users on how to optimally engage with the @THORChain Network

No responses yet