Giter Site home page Giter Site logo

arcore's Introduction

Armor Core

Armor Core allows users to buy cover for funds held on various DeFi protocols that will allow compensation in case the protocol is hacked. All cover is underwritten by Nexus Mutual. This cover is dynamic so it will be updated any time a user transfer funds to or from the protocol and it is pay-as-you-go, so a user only ever pays for the exact amount of cover needed.

More information is available at https://armorfi.gitbook.io/armor/products/arcore

Bug bounty

Bug bounty information is available at https://immunefi.com/bounty/armorfi/. Top reward is 1 million ARMOR for a critical vulnerability that will lead to the loss of over $1 million in user funds. SushiLPFarm.sol and SushiFarmController.sol are not eligible for bug bounty quite yet.

ArmorMaster

The ArmorMaster contract keeps track of modules and jobs within the Armor Core system. Each contract (BalanceManager, ClaimManager, PlanManager, RewardManager, and StakeManager) are registered on it so that they can easily get each other’s addresses.

There are also “jobs” on ArmorMaster, which, when enabled, will be called by the doKeep modifiers to perform maintenance functions. At the moment these maintenance functions include expiring balances and expiring NFTs.

BalanceManager

The BalanceManager contract keeps track of all borrower balances. It takes in Ether, is given a plans cost (per second) by the PlanManager, then charges users per second for the plan they hold. When charged, a percent of the funds charged may also be given to the developer, governance contract, or referrer of the user. The rest of the funds are then sent to RewardManager to be disbursed to stakers of the NFTs.

RewardManager

The RewardManager contract is used to disburse funds to stakers after users pay for their plans. When a user stakes an NFT, their recorded stake on RewardManager increases. When their NFT expires or is withdrawn, their recorded stake on RewardManager decreases. BalanceManager then sends funds to RewardManager, and they are dripped to stakers pro rata.

StakeManager

The StakeManager contract accepts NFTs that can then be lent out to borrowers. A user stakes their NFT, the NFT price is recorded, and they then receive rewards from RewardManager based on how much they paid for the NFT.

NFTs may be withdrawn, but only after a 7 day withdrawal delay.

PlanManager

The PlanManager contract keeps track of all user plans. A user submits an array of protocol addresses to stake in and an array of amounts to borrow, then they are assigned that amount of coverage and the price of their plan is updated on BalanceManager.

ClaimManager

The ClaimManager contract takes care of any claims that may be made in the case of a hack. When a hack happens, the owner of the contract must submit a verification of the time and protocol, then NFTs that were active at that time may be submitted to Nexus Mutual through the arNFT contract.
After an NFT submission is accepted, if a user had coverage on that protocol at that time, they may then withdraw the full amount of coverage they had been paying for.

arcore's People

Contributors

leekt avatar robertmcforster avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.