The interface for Staking, Delegated Staking and Farming has the same methods that can be called even though the business requirements for the calculations for APR, Fees and accrued rewards are different.
Staking acts as a passive income opportunity incentivising the users to be active with the protocol, stake their ACTA token to receive progressive APR rewards depending on the amount of days staked. The staking is only accepted and paid out in ACTA tokens.
The factory contract sets up the staking / delegated staking / farming pools. Upon initiation of the pools, the rewards are transferred to the incentives supply for the contract. The factory contract can only be executed by Acta Finance initially.
Initiate a staking pool with rewards and incentives and a set of APR levels
Initiate the delegated staking pool for Cardano or Avalanche indicating the staking wallet that participates in the validation process.
Initiate a farming pool for any token available as liquidity. The projects participating in the launchpad funding will have the option to list the token and create farming pools incentivising liquidity providers.
The staking pool holds the info about the deposits of the users who staked their tokens to the contract. The rewards estimation can be done either via an internal APR calculation logic in the contract or recording reward obervations by the owner of the contract.
Information about the owner of the initiated staking pool.
Returns the information about the staking pool.
Returns an array of stakers that where staked in the staking pool.
Return info on the total amount of tokens staked in the pool.
Return info about the staked token.
Record an observation about the rewards from an external source. Used for delegated staking pools where the.
Returns the total rewards accrued in the pool. Stake User callable functions to manage their stake and claim / compound rewards.
Provide the stake as a deposit to the staking contract. A deposit fee is deducted.
Remove the full / part of stake from the staking contract. A withdrawal fee is deducted.
Claim the accrued rewards from the staking pool to a user wallet.
Re-stake the accrued rewards into the staking pool to increase the size of the stake
Retrieve information about the unclaimed staking rewards