1.0.4 • Published 5 years ago

augmint-contracts v1.0.4

Weekly downloads
2
License
AGPL-3.0-only
Repository
github
Last release
5 years ago

Augmint

Augmint - Stable Digital Tokens - Solidity Contracts

Build Status Coveralls github branch Greenkeeper badge Discord license

Decentralised stable cryptocurrency on Ethereum

Concept

Augmint provides digital tokens, value of each token pegged to a fiat currency.

The first Augmint token will be A-EUR (Augmint Euro), pegged to EUR.

The value of 1 A-EUR is always closely around 1 EUR.

Augmint tokens are cryptocurrency tokens with all the benefits of cryptocurrencies: stored securely in a decentralised manner and instantly transferable worldwide.

Read more and try it: www.augmint.cc

Our Trello board with a collection of documents about the project.

White paper draft - Work in progress. Please feel free to comment it: questions, ideas, suggestions are welcome.

Components

Web frontend repo

Flows

Contract dependency graph

Sequence diagrams:

Flow of funds

Solidity Contracts

  • Restricted.sol
    Stores permissions per address
  • MultiSig.sol
    Abstract contract to manage multi signature approval and execution of atomic, one-off contract scripts
  • StabilityBoardProxy.sol
    Augmint parameters can be set only via this contract with a quorum approving a contract script to run.
  • ERC20.sol
    Standard ERC20 token interface.
  • SystemAccount.sol Abstract contract to maintain balances of Augmint system accounts
  • AugmintReserves
    • Holds Augmint's ETH and token reserves
  • InterestEarnedAccount
    • Holds interest earning from token lending - only from repaid loans, i.e. already "earned"
    • Provides interest for Locks
  • FeeAccount.sol
    • holds all fees: tokens from transfer and exchange fees (to be implemented) + ETH fees from defaulting fees
    • calculates transferFees
  • AugmintToken.sol
    Base contract for all Augmint tokens, TokenAEur.sol being the first implementation.
    • ERC20 standard functions
    • maintains account token balances
    • Generic transferAndNotify "convenience" function
    • allows MonetarySupervisor to issue tokens on loan disbursement and for reserve
    • allows accounts to burn their tokens (used by repay loan and burn from reserves via MonetarySupervisor contract)
  • MonetarySupervisor.sol
    • maintains system wide KPIs (totalLockAmount, totalLoanAmount)
    • enforces system wide limits (Loan to Deposit ratio limits)
    • issue to & from reserve functions
  • TokenAEur.sol
    • First AugmintToken contract instance, pegged for pegged to EUR (A-EUR aka Augmint Euro aka A€ )
    • Sets standard token parameters (name, symbol, decimals, peggedSymbol etc.)
  • Rates.sol
    A contract to return fiat/ETH exchange rates.
  • Exchange.sol
    EUR / ETH exchange contract. Sell or buy A-EUR for ETH
  • LoanManager.sol
    • Loan products and their parameters
    • Maintains all loans via new loan, repayment, collection functions
    • Holds collateral in escrow
  • Locker.sol
    • Lock products and parameters
    • Token funds locking and releasing
    • Holds locked tokens (with interest)

Contribution

Augmint is an open and transparent project.

We are seeking for great minds to extend our core team. Contribution in any area is much appreciated: development, testing, UX&UI design, legal, marketing spreading the word etc.

Development environment setup

Get in touch

Drop us an email: hello@augmint.cc
or
say hi on our Discord server: Discord

Authors

DECENT

The project was born at DECENT Labs

Concept, initial version

Check the whole team on augmint.cc

Licence

This project is licensed under the GNU Affero General Public License v3.0 license - see the LICENSE file for details.