Giter Club home page Giter Club logo

pooltogether-pool-contracts's People

Contributors

abcoathup avatar aodhgan avatar asselstine avatar burnto avatar chuckbergeron avatar dependabot[bot] avatar kamescg avatar martriay avatar pierrickgt avatar robsecord avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pooltogether-pool-contracts's Issues

Error HH100: Network bscTestnet doesn't exist

Deploy to Live Networks

Copy over .envrc.example to .envrc

$ cp .envrc.example .envrc

Make sure to update the enviroment variables with suitable values.

Now enable the env vars using direnv

$ direnv allow

Now deploy to a network like so:

$ yarn deploy bscTestnet
yarn version v1.22.10
warning ../../../package.json: No license field
info Current version: 3.3.8

Now using node v14.15.4 (npm v6.14.10)

Error:

No infura or hdwallet available for testnets
(node:16817) Warning: Accessing non-existent property 'VERSION' of module exports inside circular dependency
(Use node --trace-warnings ... to show where the warning was created)
Error HH100: Network bscTestnet doesn't exist

For more info go to https://hardhat.org/HH100 or run Hardhat with --show-stack-traces
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

CODE OPTIONAL: Microsite to onboard users to PoolTogether - $1,000

Prize Title

CODE OPTIONAL: Microsite to onboard users to PoolTogether - $1,000

Prize Bounty

$1,000 USDC

Challenge Description

Create a website targeted to people who have never used crypto. Explain what PoolTogether is and the steps needed to join the pool. Integrate with a fiat on-ramp and wallet provider so they can get fully setup and then hop over to app.pooltogether.com and join!

Resources:

PoolTogether Brand Assets here: https://www.pooltogether.com/brand-assets
JS Library for calculating prize data: https://github.com/pooltogether/pooltogetherjs
PoolTogether's Graph Instance: https://thegraph.com/explorer/subgraph/pooltogether/pooltogether
Medium blog post from PoolTogether launch (helps articulate the core mission / value proposition): https://medium.com/pooltogether/introducing-pooltogether-2f80c7c0bfc6
Our existing video introduction: https://www.youtube.com/watch?v=oJtewzf4sf8

Reach out to us on Discord for help or questions: https://discord.gg/hxPhPDW

Submission Requirements

A hosted and fully functioning microsite! Someone who has zero experience with crypto and PoolTogether should be able to visit this site, learn what PoolTogether is and learn the simplest way for them to try it out.

It is okay if it only works in certain geographies (i.e. if you integrate with Wyre which only offers payment processing in certain countries).

You can use a site builder for this, that is why code is optional.

Submission Deadline

May 27th at Midnight EST

Judging Criteria

The primary judging criteria will be the usability and creativity of the project. We will be looking for the project that we can refer people to who ask about what PoolTogether is and how to get started. We are looking for submissions that can actually continue to be used after the hackathon. The judging team will be the core members of PoolTogether (3) along with the community advocates (4).

Winner Announcement Date

Within 24 hours of the close of submissions (May 28th)

NO CODE: Best video explaining PoolTogether - $500

Prize Title

NO CODE: Best video explaining PoolTogether - $500

Prize Bounty

$500 USDC

Challenge Description

Create a video 1 minute or less targeted to explaining PoolTogether to people who have never used crypto. The video doesn’t need to show all the steps of how it works. The goal of the video is to explain the core value proposition and get them excited to try it. When we are finished watching the video we should be really excited about joining a pool!!!

Resources:

PoolTogether Brand Assets here: https://www.pooltogether.com/brand-assets
Medium blog post from PoolTogether launch (helps articulate the core mission / value proposition): https://medium.com/pooltogether/introducing-pooltogether-2f80c7c0bfc6
Our existing video introduction: https://www.youtube.com/watch?v=oJtewzf4sf8

Reach out to us on Discord for help or questions: https://discord.gg/hxPhPDW

Submission Requirements

Video should be in English and 1 minute or less.

Submission Deadline

May 27th at Midnight EST

Judging Criteria

The primary judging criteria will be 1) the production quality of the video and 2) how effectively the video communicates the value proposition of PoolTogether. We are looking for submissions that can actually continue to be used after the hackathon. The judging team will be the core members of PoolTogether (3) along with the community advocates (4).

Winner Announcement Date

Within 24 hours of the close of submissions (May 28th)

How should the YieldSource handle yield bearing tokens

I am looking at:

  function _supply(uint256 mintAmount) internal override {
    yieldSource.token().approve(address(yieldSource), mintAmount);
    yieldSource.supplyTo(mintAmount, address(this));
  }

  /// @notice Redeems asset tokens from the yield source.
  /// @param redeemAmount The amount of yield-bearing tokens to be redeemed
  /// @return The actual amount of tokens that were redeemed.
  function _redeem(uint256 redeemAmount) internal override returns (uint256) {
    return yieldSource.redeem(redeemAmount);
  }
}

We can see that the yield baring tokens that have been minted are attributed back to the pool, at first I thought that's a transfer back to the pool but if that's the case, It seems it's missing atransferto transfer back the yield bearing token to the yieldSource.

====

An other way is to have the yieldBearingToken holding the yield bearing token and keeps track of the different deposit with like an ERC20 if that's the idea I think it should be specified in the interface file.

====

I am also confused on how the amount of yield bearing token of an address will be calculated.

Create a Pod & Microsite - $1,500

Prize Title

Create a Pod Contract & Microsite!

Prize Bounty

$1,500 USDC

Challenge Description

Pod Contracts enable PoolTogether players to link their tickets together and proportionally split any prize. Create a pod and a microsite for people can get tickets and join the pod through (without going to pooltogether.com).

We think it makes sense to build pods for existing social relationships. For example, you could have a pod for your company, or your family, or alumni from your university.

Resources:

Reach out to us on Discord for help or questions: https://discord.gg/hxPhPDW

Submission Requirements

  • The microsite you create needs to be usable to join and withdraw from the pod.
  • Submissions need to include context for what the pod is and the value proposition of joining the pod.

Optional Nice-to-haves

  • Being able to transfer Pod tickets to the Pool, or Pool tickets to the Pod.

Submission Deadline

May 27th at Midnight EST

Judging Criteria

  • The primary judging criteria will be the usability and creativity of the microsite (assuming it is submitted by the deadline). We are looking for submissions that can actually continue to be used after the hackathon. The judging team will be the core members of PoolTogether (3) along with the community advocates (4).

Winner Announcement Date

  • Within 24 hours of the close of submissions (May 28th)

Best PoolTogether Project - $1,000

Prize Title

Best PoolTogether Project!

Prize Bounty

$1,000 USDC

Challenge Description

This challenge is designed to be is a catch-all for your best ideas! Anything that

  1. makes it easier for people to join PoolTogether
  2. encourages more participation in the pool or pod
  3. integrates PoolTogether with other protocols
  4. increases engagement with PoolTogether.

Let your imagination run wild and get rewarded! You could create a PoolTogether leaderboard, you could create a PoolTogether odds calculator, you could build an alternative interface to join, the skies is the limit!!

Resources:

Mock contracts for the core pool on Kovan are available here: https://github.com/pooltogether/pooltogether-contracts-mock
The audited code for the pods is available here (optional but you may want to use): https://github.com/pooltogether/pods
JS Library for calculating Data: https://github.com/pooltogether/pooltogetherjs
PoolTogether's Graph Instance: https://thegraph.com/explorer/subgraph/pooltogether/pooltogether
PoolTogether Brand Assets here: https://www.pooltogether.com/brand-assets

Reach out to us on Discord for help or questions: https://discord.gg/hxPhPDW

Submission Requirements

We want to keep this loose to encourage a wide variety of ideas. Every submission should have some element of new code involved. Whether that is purely front-end, front-end + solidity or just solidity. Submissions also need to actually be working, these submissions can be on a test net for security purposes but need to actually work even on test net.

Submission Deadline

May 27th at Midnight EST

Judging Criteria

The primary judging criteria will be the usability and creativity of the project. We will be looking for the project that has the highest potential to grow PoolTogether in either numbers of players, Dai deposited, or both. We are looking for submissions that can actually continue to be used after the hackathon. The judging team will be the core members of PoolTogether (3) along with the community advocates (4).

Winner Announcement Date

Within 24 hours of the close of submissions (May 28th)

Security Bounties

We value contributions from the community to strengthen the security of the core contracts. We want to reward any hackers in good faith who report vulnerabilities.

The scope of this bounty includes the PoolTogether smart contracts. The determination of the bug severity will be made by the PoolTogether team.

Payouts will be as follows:

High: $25,000 DAI
Medium: $10,000 DAI
Low: $1,000 DAI

The issue must:

  • be a previously unreported, non-public vulnerability.
  • include enough detail for us to identify and reproduce the problem

All reports should start with an email to [email protected] and they will receive a response within 24 hours. Non-security issues are not eligible for this bounty.

We determine the severity of an issue according to the Smart Contract Security Alliance Severity Levels

Determinations of eligibility and all terms related to this award are at the sole and final discretion of the PoolTogether team.

CompoundPrizePool fails when using USDT

Users are unable to deposit USDT into the CompoundPrizePool on mainnet. We need the problem identified and fixed.

On mainnet you can see the failed transaction here on Tenderly

To reproduce:

  1. Fork mainnet
  2. Create a CompoundPrizePool that accepts USDT.
  3. Try to deposit into prize pool.

A successful solution will:

  1. Include the fork script to test a USDT CompoundPrizePool. See the other fork scripts to see how it is done.
  2. Update the contracts to fix the problem. Changes should be minimized; as little code as possible should be touched.
  3. Include a new unit test to prove the fix works and ensure code coverage is the same or higher
  4. Ensure changes are fully documented using natspec
  5. Match the existing coding style

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.