Open Alethea-tech opened 4 years ago
Issue Status: 1. Open 2. Started 3. Submitted 4. Done
This issue now has a funding of 0.7 ETH (94.14 USD @ $134.48/ETH) attached to it as part of the Alethea-tech fund.
Issue Status: 1. Open 2. Started 3. Submitted 4. Done
Work has been started.
These users each claimed they can complete the work by 1 year, 11 months ago. Please review their action plans below:
1) roundtree-larry has started work.
I will check those contract and give you result 2) smyak has started work.
1) crate a thorough and detailed breakdown of variables, connections, and interactions; 2) verify logic; 3) read line by line to find any potential problems; 4) make fixes with a thorough explanation of reasoning; estimated completion ~1 week
Learn more on the Gitcoin Issue Details page.
Issue Status: 1. Open 2. Started 3. Submitted 4. Done
Work for 0.7 ETH (92.0 USD @ $131.43/ETH) has been submitted by:
@alethea-tech please take a look at the submitted work:
@Alethea-tech What is the latest on this issue? If you still need help let me know and I will apply and perform an audit. Otherwise I think you have two work submissions already.
Alethea is aiming to build a decentralized marketplace for AI-generated media. We plan to launch our first product “Meme Pools” very soon, which basically takes the interest generated from a pool of DAI to sponsor the creation of AI-generated memes!
We also plan to mint our token soon. It would be great if any developers can review the smart contracts - your help will ensure the safe creation of the next generation of memes:
Token Contract (Rinkeby)
Uses OpenZeppelin libraries Mintable, Burnable, Pausable, and Detailed
Can only be minted and paused by wallets with minter/pauser roles (which can be given or removed at any time by the owner of the token contract)
An additional functionality was added to the OpenZeppelin MinterRole.sol so that a Cap can be set later on (by minters) to define the maxSupply upon which no more tokens can be minted (team prefers to have the ability to set this later on vs on deployment, thus not going with the Capped standard from OpenZeppelin)
The burning functionality can be used a) by users to burn their own tokens, and b) by smart contracts that have allowance to use certain tokens
Staking Contract (Rinkeby): Allows users to stake their DAI for a custom period of time and receive a custom amount of tokens as a rewards while their DAI interest is saved into the smart contract.
Contract owner(s) can update at any time the following variables:
tokenRewardAmount
,minDAIStakingTime
,minDAIStakingAmount
- plus the contract addresses fortoken
,dai
, andcDai
- owner(s) can also call the methodswithdrawDAI
andwithdrawToken
to withdraw anydai
/tokens
available on the contract, pluspauseContract
andunPauseContract
to pause/unpause interactions with the Staking ContractUsers can call the methods: a)
stakeDAI
which sends usersdai
to the Compound protocol, atoken
reward to the user, andcDAI
to the smart contract b)getDAIStakingInfo
to get their staking details and variables from the contract, c)unstakeDAI
to get theirdai
plusavailableRewards
(this will updateamountRewarded
), and d)claimRewards
to withdraw theiravailableRewards
from the Staking Contract (c. and d. can only be called afterminDAIStakingTime
passes after the last time they staked)By staking
minDAIStakingAmount
users gets access to atoken
reward amount immediately and after that they are able toclaimRewards
every timeminDAIStakingTime
passes - astakedTimestamp
is saved/updated into the contract to keep track of the last time the user staked and properly calculateavailableRewards
The amount of
token
reward is calculated dividing a) the amount ofdai
staked by the user, for b) minDAIStakingAmount, and then multiplying the result for c)
tokenRewardAmount`The user can increase their
dai
staked anytime and at that point their available rewards are saved intoaccumulatedRewards
in order to keep an accurate count ofavailableRewards
(since the rewards depend not only on amount but also time staked)