ActaFi Incentives Smart Contract
Incentives
Incentives contract holds the Earn functionality of the platform, where users can use: Stake, Referrals or participate in DAO program. The contracts are deployed as a single contract, so that users who have given ACTA token allowance, could easily participate in all Incentives. Incentive contract deploys Staking, Referrals and DAO contracts and acts as a proxy via admin function in respective contracts. This allows users who given ACTA allowance easily participate in all Incentives. Upon staking the required amount of tokens, users can claim: Counselor, Minister, Ambassador titles. Fees gathered from the Staking participants are distributed to current DAO token holders. Additional rewards can be funded to the contract to be distributed for all the contracts in Incentives program.
tokenAddress
address of the ERC20 token
stakingPool
StakingPool contract
referrals
Referrals contract
dao
DAO contract
rewardBalance
external method to get reward balance in tokens
devFundBalance
external method to get dev fund balance in tokens
referralFeeBalance
external method to get referral fee balance in tokens
constructor
Incentives contructor
Parameters
_tokenAddress
address
address of the ERC20 token
_aprLevel1
uint256
StakingPool: APR level 1 percentage with percentage base 100000 (i.e. 12% => 12000 )
_aprLevel2
uint256
StakingPool: APR level 1 percentage with percenatge base 100000 (i.e. 15% => 15000 )
_daysTillLevel2
uint256
StakingPool: period in days when APR level 2 takes over
_depositFee
uint256
StakingPool: deposit fee percenatge with percentage base 100000 (i.e. 0.75% => 750 )
_withdrawFee
uint256
StakingPool: withdraw fee percenatge with percentage base 100000 (i.e. 0.5% => 50 )
stake
method used to deposit tokens to Staking contract
Parameters
_amount
uint256
amount of tokens to deposit
unstake
method used to withdraw tokens from Staking contract
Parameters
_amount
uint256
amount of tokens to withdraw
claim
Staking method used to claim staking rewards
compound
Staking method used to compound staking rewards (add rewards to existing staking balance)
createReferralLink
Referrals method used to create a referral link for the Affiliate program
Parameters
_name
string
the user given title for the link
_hashString
string
unique hash string for the link
claimAllRewards
used to claim all rewards stored in Milestone contract
refund
refund function used to transfer locked tokens to the owner
fundReward
method used to fund the contract rewards balance
Parameters
_amount
uint256
amount of ACTA tokens to transfer
transferReward
admin method used to transfer remaining reward balance to the owner
Parameters
_recipient
address
id of voting proposal
transferDevFund
admin method used to transfer remaining dev fund balance to the owner
Parameters
_recipient
address
id of voting proposal
daoApproveGovernor
DAO admin function to approve Governor titles
Parameters
_userAddresses
address[]
list of user addresses
daoProvideTitle
DAO admin function to provide free titles
WILL BE REMOVED BEFORE DEPLOYING TO MAINNET
Parameters
_userAddresses
address[]
list of user addresses
_titleId
uint8
DAO title Id to be provided
daoSetTitleCost
DAO admin function to set DAO title cost
Parameters
_titleId
uint8
DAO title id
_cost
uint256
cost of DAO title
daoSubscribe
DAO external function to subscribe to DAO title
Parameters
_titleToSubcribe
uint8
DAO title to subscribe
daoClaimReward
DAO external function to claim DAO reward
daoVoteCreateProposal
DAO external function to create DAO voting proposal
Parameters
_category
uint8
category of voting proposal
_name
string
name string of voting proposal
_description
string
description string of voting proposal
_voteOptions
bytes32[]
array of bytes32 with voting options
daoVoteSetProposalStatus
DAO external admin function to set status, start and end time for voting proposal
Parameters
_voteProposalAddress
address
address of DAOVoteProposal contract
_status
uint8
new status of voting proposal
_startTime
uint256
start time for the vote
_endTime
uint256
end time for the vote
daoVoteOnProposal
DAO external function to vote on proposal
Parameters
_voteProposalAddress
address
vote proposal addresss
_voteOption
uint8
voting option user is voting for
Last updated