Lossless
Search…
Configuration

Setting up Lossless Environment for Core Protocol

Deployment

The contracts for the Core Protocol should be deployed in the following order
  1. 1.
    LosslessControllerV3
  2. 2.
    Upgrade to LosslessControllerV3
  3. 3.
    LosslessStaking
  4. 4.
    LosslessReporting
  5. 5.
    LosslessGovernance

LosslessControllerV3

  1. 1.
    Setup all Lossless Contracts addresses to allow interoperability
    a. setStakingContractAddress(Lossless Staking Contract Address)
    b. setReportingContractAddress(Lossless Reporting Contract Address)
    c. setGovernanceContractAddress(Lossless Governance Contract Address)
  2. 2.
    Whitelisted addresses should be set up to avoid them from being reported.
    a. setWhitelist([Lossless Staking Contract Address, Lossless Reporting Contract Address, Lossless Governance Contract Address, Admin Addresses], true)
    • This also should contain all the contracts (defi protocols, staking, lpmining, vesting and so on), that should not be stopped.
  3. 3.
    Dex transfer threshold should be set in order to have some tolerance with Dex transfers
    a. setDexTransferThreshold(Token Amount)
  4. 4.
    New settlement proposal timelock should be set
    a. setSettlementTimeLock(New timelock in seconds)
  5. 5.
    The Decentralized exchange list must be set in order to cater for them
    a. setDexList(Array of Dex addresses)

LosslessStaking

  1. 1.
    The contract must be initialized with the Lossless Controller V3 Proxy to allow interaction
    a. initialize(Lossless Controller V3 Proxy)
  2. 2.
    The token that will be used for staking purposes should be set
    a. setStakingToken(Staking LERC20 Token Address)
  3. 3.
    The amount required to stake should be set
    a. setStakingAmount(Staking token amount)
  4. 4.
    The Lossless Governance Contract address should be set to allow interaction
    a. setLosslessGovernance(Lossless Governance Contract Address)
  5. 5.
    The Lossless Reporting Contract should be set to allow interaction
    a. setLssReporting(Lossless Reporting Contract Address)

LosslessReporting

  1. 1.
    The contract must be initialized with the Lossless Staking Contract Address and Lossless Controller V3 Proxy to allow interaction
    a. initialize(Lossless Staking Contract Address, Lossless Controller V3 Proxy)
  2. 2.
    The Lossless Governance Contract address should be set to allow interaction
    a. setLosslessGovernance (Lossless Governance Contract Address)
  3. 3.
    The token that will be used for reporting should be set
    a. setStakingToken(Reporting LERC20 Token Address)
  4. 4.
    The time frame on which a report would be active should be set in seconds
    a. setReportLifetime(Time Frame in seconds)
  5. 5.
    The amount required to fill a report should be set
    a. setReportingAmount(Reportin Token Amount)
  6. 6.
    Rewards percentages for the reporter, committee members, Lossless and stakers should be set
    a. setReporterReward(Reward percentage)
    b. setLosslessReward(Reward percentage)
    c. setStakersReward(Reward percentage)
    d. setCommitteeReward(Reward percentage)

LosslessGovernance

  1. 1.
    The contract must be initialized with the Lossless Reporting Contract, Lossless Controller V3 Proxy and Lossless Staking Contract Address to allow interaction
    a. initialize(Lossless Reporting Contract, Lossless Controller V3 Proxy, Lossless Staking Contract Address)
  2. 2.
    Committee Members should be set up to allow interaction with the committee methods
    a. addCommitteeMembers([Array of committee member addresses])
  3. 3.
    The compensation percentage for erroneously reported addresses should be set
    a. setCompensationAmount( Compensation percentage)
  4. 4.
    The dispute period for the Wallet Proposals should be set
    a. setDisputePeriod( Dispute opening in seconds)

LERC20 Tokens

LERC20 Tokens on deployment should use the following parameters on the constructor
  1. 1.
    Total supply of the Token
  2. 2.
    Name
  3. 3.
    Symbol
  4. 4.
    Token Admin (allows interaction with the Core Protocol)
  5. 5.
    Recovery Admin (allows recovery in case main admin address gets compromised)
  6. 6.
    Time Lock Period (time frame in seconds for tokens to be settled and freely available)
  7. 7.
    Lossless Controller Address