Osmosis implements the following custom modules:
epochs
- Makes on-chain timers which other modules can execute code during.gamm
- Generalized AMM infrastructure, which includes balancer and stableswapincentives
- Controls specification and distribution of rewards to lockupslockup
- Enables time-lock escrowing of tokens. (Often called Locking or Bonding)mint
- Controls token supply emissions, and what modules they are directed to.pool-incentives
- Controls how incentives allocated towards "Liquidity Providing" are directed- These go towards gauges defined by the
incentives
module
- These go towards gauges defined by the
protorev
- Cyclic arbitrage module that redistributes backrunning profits to the protocolsuperfluid
- Defines superfluid staking, allowing DeFi assets to have their osmo-backing be staked.tokenfactory
- Allows minting of new tokens of the formfactory/{creator address}/{subdenom}
for user-defined subdenoms.twap
- The TWAP package is responsible for being able to serve TWAPs for every AMM pool.txfees
- Contains logic for whitelisting txfee tokens, making them easily priceable in osmo, and auto-swapping to osmo.- Also contains logic for custom Osmosis mempool logic, though this should perhaps relocate.
See the module dependence graph below for further information:
This is done in addition to updates to several modules within the SDK.
gov
- {Voting period changes}vesting
- {vesting changes}- Various binding & performance improvements to other modules