Skip to content

Latest commit

 

History

History
119 lines (79 loc) · 5.48 KB

README.md

File metadata and controls

119 lines (79 loc) · 5.48 KB

HOW DOES IT ACTUALLY WORK?

CONTRACTS

PARACELSUS.SOL

Paracelsus is responsible for Launching Campaigns, and Invoking LP after the first 24 Hours.

createCampaign() launches a new Undine Contract.

  • 50% Supply Minted to Undine for LP -- [Performed by Chainlink Automation 24 Hours after each createCampaign()]
  • 45% Supply Minted for Initial Claim
  • 5% Supply Minted to ManaPool
  • Launch is registered with Archivist.sol.

UNIDNE.SOL

Undines are ERC20 contracts, which custody their own UniV2 LP.

  • Undines mint 100% of their supply in the constructor, and then Accept ETH as tribute().
  • 100% of the ETH accepted as tribute is transformed into Contract Owned LP, via Chainlink Automation.
  • Each Week, the Undine receive ETH from the ManaPool according to their Undine Rank -- [compoundLP() is performed via Chainlink Automation on a weekly basis.]

TRIBUTARY.SOL

tribute() gives ETH to the Undine | Open for 24 Hours from first tribute().

  • .01 ETH Minimum
  • Contributions are registered with Archivist.sol
  • CLaims are available from ManaPool -- [Calculations Performed by Chainlink Automation 24 Hours after first tribute() of each campaign.]

MANAPOOL.SOL

The ManaPool is inspired by The Moonbased Rovers, as well as Chainlink BUILD, and Aerodrome's Bribe Model.

  • The ManaPool accepts 5% of Token Supply from every Undine Launched.
  • Chainlink Automation is used to Market Sell 1% of those tokens for ETH on a weekly cycle.
    • 50% of Rewards ETH goes to UNDINES to Compound LP
    • 50% of Rewards ETH goes to LINK [Reserves for Automation]
  • The ManaPool captures ETH from Undine Markets, and returns that ETH to compound Undine Owned LP, according to their Rank.
  • LINK tokens are also purchased to perpetuate Automation Upkeeps.

ARCHIVIST.SOL

The Archivist serves two main purposes:

  1. The Archivist serves as a Registry for each Undine Campaign Launched.
  2. The Archivist Processes Undine Dominance Ranking each Week -- [performed via Chainlink Automation.]

UNDINE DOMINANCE HIERARCHY

Dominance is a performance metric based on how much ETH was raised in the launch of each Undine, compared to the sum of all ETH raised by all Undines.

  • amountRaised / totalAmountRaised = dominancePercentage

These variables are dynamic, since amountRaised increases with each dispersal from the ManaPool, and the totalAmountRaised increases with each campaign.

REWARD DECAY

There is also a Reward Decay, where the bottom 20% in the Dominance Hierarchy receive a strike against their Ranking during that epoch.

Rankings are fluid, and if an Undine's Ranking goes to 0, then it can no longer claim any value from the ManaPool.

DEPLOYMENT

SEPOLIA MAINNET

OP

BASE

DEPENDENCIES

Setting up a development environment for Paracelsus:

npm install -g npm
npm install --save-dev hardhat
npm install @openzeppelin/contracts
npm install dotenv
npm install ethers
npm install @uniswap/v2-core
npm i @chainlink/contracts
npx hardhat

Contracts are (un)Audited by Milady Ethereum Developer Shop | GPT.

TODO

  1. Campaigns can be run Once Per Week. -- Creates a Slow and Steady | Quality over Quantity Atmosphere.

TESTNET MODIFICATIONS

  1. Set Automation times to 10 min instead of 24 HR.