osmosis

module
v19.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 29, 2023 License: Apache-2.0

README

Osmosis

Banner!

GoDoc Go Report Card Version Lines Of Code GitHub Super-Linter Discord

Osmosis is a fair-launched, customizable automated market maker for interchain assets that allows the creation and management of non-custodial, self-balancing, interchain token index similar to one of Balancer.

Inspired by Balancer and Sunny Aggarwal's 'DAOfying Uniswap Automated Market Maker Pools', the goal for Osmosis is to provide the best-in-class tools that extend the use of AMMs within the Cosmos ecosystem beyond traditional token swap-type use cases. Bonding curves, while have found its primary use case in decentralized exchange mechanisms, its potential use case can be further extended through the customizability that Osmosis offers. Through the customizability offered by Osmosis such as custom-curve AMMs, dynamic adjustments of spread factors, multi-token liquidity pools--the AMM can offer decentralized formation of token fundraisers, interchain staking, options market, and more for the Cosmos ecosystem.

Whereas most Cosmos zones have focused their incentive scheme on the delegators, Osmosis attempts to align the interests of multiple stakeholders of the ecosystem such as LPs, DAO members, as well as delegators. One mechanism that is introduced is how staked liquidity providers have sovereign ownership over their pools, and through the pool governance process allow them to adjust the parameters depending on the pool's competition and market conditions. Osmosis is a sovereign Cosmos zone that derives its sovereignty not only from its application-specific blockchain architecture but also the collective sovereignty of the LPs that has aligned interest to different tokens that they are providing liquidity for.

System Requirements

This system spec has been tested by many users and validators and found to be comfortable:

  • Quad Core or larger AMD or Intel (amd64) CPU
    • ARM CPUs like the Apple M1 are not supported at this time.
  • 64GB RAM (A lot can be in swap)
  • 1TB NVMe Storage
  • 100MBPS bidirectional internet connection

You can run Osmosis on lower-spec hardware for each component, but you may find that it is not highly performant or prone to crashing.

Documentation

For the most up to date documentation please visit docs.osmosis.zone

Joining the Mainnet

Please visit the official instructions on how to join the Mainnet here.

Thank you for supporting a healthy blockchain network and community by running an Osmosis node!

Contributing

The contributing guide for Osmosis explains the branching structure, how to use the SDK fork, and how to make / test updates to SDK branches.

LocalOsmosis

LocalOsmosis is a containerized local Osmosis testnet used for trying out new features locally. LocalOsmosis documentation can be found here

Directories

Path Synopsis
app
params
Package params defines the simulation parameters in the simapp.
Package params defines the simulation parameters in the simapp.
upgrades/v8/constants
package v8constants contains constants related to the v8 upgrade.
package v8constants contains constants related to the v8 upgrade.
client
cmd
simulation
executor
Package simulation implements a full fledged Cosmos SDK application used for executing simulation test suites.
Package simulation implements a full fledged Cosmos SDK application used for executing simulation test suites.
simtypes/simlogger
This package is a hack.
This package is a hack.
tests
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
x
cosmwasmpool
This file implements the poolmanagertypes.PoolModule interface
This file implements the poolmanagertypes.PoolModule interface
cosmwasmpool/client/queryproto
Package queryproto is a reverse proxy.
Package queryproto is a reverse proxy.
cosmwasmpool/cosmwasm/msg
This file defines helpers for querying the cosmwasm pool contract from the cosmwasm pool module.
This file defines helpers for querying the cosmwasm pool contract from the cosmwasm pool module.
downtime-detector/client/queryproto
Package queryproto is a reverse proxy.
Package queryproto is a reverse proxy.
gamm/pool-models/balancer
Package balancer implements weighted constant product AMMs, satisfying the AMM pool interface from x/gamm/types.
Package balancer implements weighted constant product AMMs, satisfying the AMM pool interface from x/gamm/types.
gamm/types
Package types is a reverse proxy.
Package types is a reverse proxy.
gamm/v2types
Package v2types is a reverse proxy.
Package v2types is a reverse proxy.
ibc-rate-limit/client/queryproto
Package queryproto is a reverse proxy.
Package queryproto is a reverse proxy.
incentives
Incentives module provides general interface to give yield to stakers.
Incentives module provides general interface to give yield to stakers.
incentives/types
Package types is a reverse proxy.
Package types is a reverse proxy.
lockup/types
Package types is a reverse proxy.
Package types is a reverse proxy.
mint
The `mint` module is responsible for creating tokens in a flexible way to reward validators, incentivize providing pool liquidity, provide funds for Osmosis governance, and pay developers to maintain and improve Osmosis.
The `mint` module is responsible for creating tokens in a flexible way to reward validators, incentivize providing pool liquidity, provide funds for Osmosis governance, and pay developers to maintain and improve Osmosis.
mint/types
Package types is a reverse proxy.
Package types is a reverse proxy.
pool-incentives
The `pool-incentives` module automatically creates individual gauges in the `incentives` module for every lock duration that exists in that pool.
The `pool-incentives` module automatically creates individual gauges in the `incentives` module for every lock duration that exists in that pool.
pool-incentives/types
Package types is a reverse proxy.
Package types is a reverse proxy.
poolmanager/client/queryproto
Package queryproto is a reverse proxy.
Package queryproto is a reverse proxy.
protorev/types
Package types is a reverse proxy.
Package types is a reverse proxy.
superfluid
The superfluid module handles all logic in relation to the superfluid staking feature on Osmosis.
The superfluid module handles all logic in relation to the superfluid staking feature on Osmosis.
superfluid/types
Package types is a reverse proxy.
Package types is a reverse proxy.
tokenfactory
The tokenfactory module allows any account to create a new token with the name `factory/{creator address}/{subdenom}`.
The tokenfactory module allows any account to create a new token with the name `factory/{creator address}/{subdenom}`.
tokenfactory/types
Package types is a reverse proxy.
Package types is a reverse proxy.
twap/client/queryproto
Package queryproto is a reverse proxy.
Package queryproto is a reverse proxy.
txfees
The txfees modules allows nodes to easily support many tokens for usage as txfees, while letting node operators only specify their tx fee parameters for a single "base" asset.
The txfees modules allows nodes to easily support many tokens for usage as txfees, while letting node operators only specify their tx fee parameters for a single "base" asset.
txfees/types
Package types is a reverse proxy.
Package types is a reverse proxy.
valset-pref/client/queryproto
Package queryproto is a reverse proxy.
Package queryproto is a reverse proxy.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL