All Projects → exactly-finance → challenge

exactly-finance / challenge

Licence: other
Solidity Engineer Challenge

Projects that are alternatives of or similar to challenge

quipuswap-webapp
🌐 🧙‍♂️ Decentralized application UI for Quipuswap protocol.
Stars: ✭ 21 (-77.66%)
Mutual labels:  smart-contracts, defi
Web3.swift
A pure swift Ethereum Web3 library
Stars: ✭ 295 (+213.83%)
Mutual labels:  smart-contracts, ethereum-dapp
awesome-waves
Curated list of awesome things for development on Waves blockchain.
Stars: ✭ 60 (-36.17%)
Mutual labels:  smart-contracts, defi
HealthCare-Insurance-Ethereum
Medical insurance claiming DApp which uses a Multi-Sig type approach to grant claim (ConsenSys project)
Stars: ✭ 65 (-30.85%)
Mutual labels:  smart-contracts, ethereum-dapp
Coffee Supplychain Ethereum
Implementation of coffee supplychain using ethereum smart contract addressing the issue of storing critical data necessary at different stages of supplychain and making it verifiable by all stakeholders in supplychain.
Stars: ✭ 73 (-22.34%)
Mutual labels:  smart-contracts, ethereum-dapp
blockhead
Crypto portfolio tracker, DeFi dashboard, NFT viewer and data explorer for the Ethereum/EVM-based blockchain ecosystem and the web 3.0-powered metaverse https://gitcoin.co/grants/2966/blockhead
Stars: ✭ 41 (-56.38%)
Mutual labels:  smart-contracts, defi
Smart-Contract-Security-Audits
Certified Smart Contract Audits (Ethereum, Hyperledger, xDAI, Huobi ECO Chain, Binance Smart Chain, Fantom, EOS, Tezos) by Chainsulting
Stars: ✭ 325 (+245.74%)
Mutual labels:  smart-contracts, defi
Scrypto-Advent-Calendar
Scrypto Advent Calendar. Learn the new programming langage to build secure DeFi applications quickly.
Stars: ✭ 22 (-76.6%)
Mutual labels:  smart-contracts, defi
Daox Contracts
Smart contracts for creating Daox-based fundraising organization
Stars: ✭ 31 (-67.02%)
Mutual labels:  smart-contracts, ethereum-dapp
Blockchainstore
💰 Retail Store that runs on Ethereum
Stars: ✭ 425 (+352.13%)
Mutual labels:  smart-contracts, ethereum-dapp
uniswap-skim
scripts to scan all of the uniswapV2🦄 contracts on ethereum and search for skim opportunities
Stars: ✭ 126 (+34.04%)
Mutual labels:  smart-contracts, defi
Blockchainbooks.github.io
Blockchain Books
Stars: ✭ 139 (+47.87%)
Mutual labels:  smart-contracts, ethereum-dapp
CrowdBank
⚙️ Peer to Peer Loan System implemented on Ethereum Smart Contracts
Stars: ✭ 88 (-6.38%)
Mutual labels:  smart-contracts, ethereum-dapp
DeFi-Developer-Road-Map
DeFi Developer roadmap is a curated Web3.0 Developer handbook which includes a list of the best tools for DApps, development resources and lifehacks.
Stars: ✭ 5,658 (+5919.15%)
Mutual labels:  smart-contracts, defi
core
SIREN Core Smart Contracts
Stars: ✭ 39 (-58.51%)
Mutual labels:  smart-contracts, defi
clp-contracts
AMM and Continous Liquidity Provider smart contracts on NEAR blockchain
Stars: ✭ 25 (-73.4%)
Mutual labels:  smart-contracts, defi
mai-protocol
A Protocol for trading decentralized derivatives on Ethereum
Stars: ✭ 22 (-76.6%)
Mutual labels:  smart-contracts, defi
ape
The smart contract development tool for Pythonistas, Data Scientists, and Security Professionals
Stars: ✭ 339 (+260.64%)
Mutual labels:  smart-contracts, defi
React Ethereum Dapp Example
A starter boilerplate for an Ethereum dapp using web3.js v1.0, truffle, react, and parity
Stars: ✭ 384 (+308.51%)
Mutual labels:  smart-contracts, ethereum-dapp
Seriality
Seriality is a library for serializing and de-serializing all the Solidity types in a very efficient way which mostly written in solidity-assembly
Stars: ✭ 105 (+11.7%)
Mutual labels:  smart-contracts, ethereum-dapp

Smart Contract Challenge

A) Challenge

1) Setup a project and create a contract

Summary

ETHPool provides a service where people can deposit ETH and they will receive weekly rewards. Users must be able to take out their deposits along with their portion of rewards at any time. New rewards are deposited manually into the pool by the ETHPool team each week using a contract function.

Requirements

  • Only the team can deposit rewards.
  • Deposited rewards go to the pool of users, not to individual users.
  • Users should be able to withdraw their deposits along with their share of rewards considering the time when they deposited.

Example:

Let say we have user A and B and team T.

A deposits 100, and B deposits 300 for a total of 400 in the pool. Now A has 25% of the pool and B has 75%. When T deposits 200 rewards, A should be able to withdraw 150 and B 450.

What if the following happens? A deposits then T deposits then B deposits then A withdraws and finally B withdraws. A should get their deposit + all the rewards. B should only get their deposit because rewards were sent to the pool before they participated.

Goal

Design and code a contract for ETHPool, take all the assumptions you need to move forward.

You can use any development tools you prefer: Hardhat, Truffle, Brownie, Solidity, Vyper.

Useful resources:

2) Write tests

Make sure that all your code is tested properly

3) Deploy your contract

Deploy the contract to any Ethereum testnet of your preference. Keep record of the deployed address.

Bonus:

  • Verify the contract in Etherscan

4) Interact with the contract

Create a script (or a Hardhat task) to query the total amount of ETH held in the contract.

You can use any library you prefer: Ethers.js, Web3.js, Web3.py, eth-brownie

5) Contact

If you want to apply to this position, please share your solution to our Solidity Challenge to the following email: [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].