AmpleGold - $AMPLG
AmpleGold (code name $AMPLG) is a goldpegged defi protocol that is based on Ampleforths elastic tokensupply model. AMPLG is designed to maintain its base price target of 0.01g of Gold with a progammed inflation adjustment (rebase).
Where Ampleforth rose to a 300 million marketcap in merely weeks, there were a couple of flaws in their model. We have remodeled and reprogrammed these flaws into a new version of the AmpleGold defi protocol.
We are all about decentralization and one thing we distrust most is the current economic fiat system. When the current financial system collapses and the dollar crashes, we strive to remain truly stable by pegging our token to the goldprice. Where 1 $AMPLG = 0.01 gram of Gold.
Also there were issues with the rebasing protocol. Because it is always at a fixed time and date, there was huge volatility right before and after each rebase caused by bots, algorithms and traders. We do this by using a randomized rebase event, that triggers an average of 365 times a year but at at random times.
Table of Contents
This repository contains the token contract including their dependencies used on the Ethereum blockchain.
The official mainnet addresses of $AMPLG are:
- ERC-20 Token: 0x8003c49f6ebacddc493ea47cab45e892d1b638a1
- Gold Orchestrator Policy: 0x34af6c2e8bd1c58f066b401e9df249c1af128d75
- Gold Oracle: 0xd015aa88d4d8f75058a3b9bf26290afe872f2642
- AMPLG Team Reserve (Locked/Vested team tokens): 0x449a26AcB90daeDB517Fded247089f30134cEB09
- AMPLG Sunshine Reserve (Liquidity staking smart contract): 0x5810818F7E3583D97b930bC6EA66637b926d0676
- By design, smart contracts are immutable. On the other hand, software quality heavily depends on the ability to upgrade and patch source code in order to produce iterative releases. Even though blockchain based software profits significantly from the technology’s immutability, still a certain degree of mutability is needed for bug fixing and potential product improvements. OpenZeppelin Upgrades solves this apparent contradiction by providing an easy to use, simple, robust, and opt-in upgrade mechanism for smart contracts that can be controlled by any type of governance, be it a multi-sig wallet, a simple address or a complex DAO.
- Parent contract for controlling the smart contract via the gold orchestrator policy.
- Creates connection to fetch the gold prices and market prices through the Gold Oracle.
- Rebasing is pegged to Paxos Gold price.
- A randomized lag factor (6-14) is applied based on the current supply, with a function to accelerate increase in supply.
Currently under development:
- Integrate Uniswap libraries to connect with Uniswap V2.
- Basic ERC20 Detailed Token with a rebase function, callable by the Gold Orchestrator Policy
- Contract is Ownable. Owner can be transferred to allow upgrades to finalize the on-chain random rebasing.
- Once the code in the contracts is finalized, contract owner will be locked to ensure no party has control and the implementation is completely self governed.
- Controls through provider reports the current gold price and market price.
- A smart-contract based mechanism to distribute tokens over time, inspired loosely by Compound and Uniswap.
- Forked from Token-Geyser, renamed to Sunshine Reserve
- Created according the RFC https://github.com/ampleforth/RFCs/blob/master/RFCs/rfc-1.md
Currently under development:
- Implement governance of Balancer (BAL) token
- Implement new staking interface
- Smart contract for locking the team tokens of AmpleGold.io
How do rebase events work?
AMPLG’s Elastic token supply defi-protocol has been inspired by AmpleForth’s token model, with some extra features like a randomized rebasing timing and model. AMPLG reaches a supply-price equilibrium with its random rebasing. This means the volatility is in the token supply instead of the token price.
When you Hold $AMPLG, you own a percentage of the total supply. Your holdings rise in value when the marketcap rises.
When the price of $AMPLG is above the target price. The contract will activate a rebase event to increase $AMPLG in circulation and vice versa.
The target price for 1 $AMPLG = 0.01g of Gold = $0.63596
To achieve price-supply equilibrium, the protocol expands and contracts supply in one of two ways. Given a price target, Pt and price threshold, δ:
if the exchange rate between AMPLG’s and its target is > Pt + δ, the protocol responds by expanding to coin holders proportionally.
if the exchange rate between AMPLG’s and its target is < Pt − δ, the protocol responds by contracting from coin holders proportionally.
Above the threshold (Pt + δ) the protocol expands.
Below the threshold (Pt – δ) the protocol contracts.
Also, a randomized, curved lag factor has been added. This allows the supply to increase faster at a low marketcap. If the supply is high, the lag factor has a bigger chance to be high as well.
Minimum Lag factor = 6
Maximum Lag factor = 14
Telegram: https://t.me/amplegold (@amplegold)
Announcement channel: https://t.me/amplegoldannouncements (@amplegoldannouncements)
Rebase alerts: https://t.me/amplgrebases (@amplgrebases)
Contact us via e-mail:
# Install project dependencies npm install # Install ethereum local blockchain(s) and associated dependencies npx setup-local-chains
To report bugs within this package, create an issue in this repository. For security issues, please contact firstname.lastname@example.org When submitting code ensure that it is free of lint errors and has 100% test coverage.
# Lint code npm run lint # View code coverage npm run coverage