Augmint Stable Tokens - Solidity contract's abi and deployment descriptors


Keywords
ethereum, solidity, augmint, stablecoin, aeur, cryptocurrencies, cryptocurrency, dapp, finance, money, smart-contracts, solidity-contracts
License
AGPL-3.0-only
Install
npm install @augmint/contracts@1.1.2

Documentation

Augmint

Augmint - Stable Digital Tokens - Solidity Contracts

Build Status Coveralls github branch Greenkeeper badge Discord license

Decentralised stable cryptocurrency on Ethereum

Concept

Decentralized stablecoins targeted to fiat currencies built on Ethereum.

The first Augmint token is AEUR.

1 AEUR ≈ 1 EUR.

  • Buy and sell AEUR for ETH or EUR.
  • Get a loan in AEUR by depositing ETH.
  • Lock AEUR to earn a premium.

Try it: https://www.augmint.org

Manifesto

White Paper

Related repos

Flow diagrams

Solidity Contracts

Dependencies

Contract dependency graph

List of 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)

Contributions

Augmint is an open and transparent project.

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

Code of Conduct

Development environment setup

Get in touch

Authors

See team on www.augmint.org

Decentlabs The project was born at DECENT Labs

Concept, initial version

Licence

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