augmint-contracts v1.0.4
Augmint - Stable Digital Tokens - Solidity Contracts
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
Flows
Sequence diagrams:
- Loan flow
- Lock flow
- Exchange flow
- Reserve Sales flow (not implemented yet)
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.
Get in touch
Drop us an email: hello@augmint.cc
or
say hi on our Discord server:
Authors
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.
6 years ago