Skip to content

Instantly share code, notes, and snippets.

@asselstine
Last active March 13, 2021 21:42
Show Gist options
  • Save asselstine/c31669ef58b7748f84a759669f072ec2 to your computer and use it in GitHub Desktop.
Save asselstine/c31669ef58b7748f84a759669f072ec2 to your computer and use it in GitHub Desktop.

POOL Pool Proposal

Pool Pool: https://etherscan.io/address/0x396b4489da692788e327e2e4b2b0459a5ef26791

Want:

Token Faucet drip 100 POOL per day Prize is 200 POOL per Week

Initial term for 6 months (open to changing that)

180 days = 180 * 24 * 3600 seconds = 15552000 seconds

Token Faucet:

180 days @ 100 POOL / day = 18000 POOL => drip rate is 1157407407407407

Sablier:

180 days @ 200 POOL / week =~ 5142 POOL => amount = (5142 * 1e18) / 15552000 => amount = 5141491200000000000000 duration = 15552000

Steps

  1. Set SablierManager as beforeAwardListener on PrizeStrategy
  2. Create a Token Faucet
  3. Attach Token Faucet to Prize Strategy
  4. Transfer Faucet Ownership to Timelock
  5. Governance Proposal
  6. Transfer Prize Pool & Prize Strategy Ownership to Timelock

Step 1: Leighton sets SablierManager as before award listener on prize strategy:

Pool Pool Prize Strategy: https://etherscan.io/address/0x21e5e62e0b6b59155110cd36f3f6655fbbcf6424

setBeforeAwardListener( SablierManager address )

COMPLETE

Step 2: Leighton creates a token faucet:

https://etherscan.io/address/0xE4E9cDB3E139D7E8a41172C20b6Ed17b6750f117#writeContract

asset: 0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e measure: 0x27D22A7648e955E510a40bDb058333E9190d12D4 dripRatePerSecond: 1157407407407407

COMPLETE

Token Faucet deployed at 0xd80a1416ed5139b6695d5a5cb07e99832a045f3a

Step 3: Leighton attaches faucet to prize strategy:

Pool Pool Prize Strategy: https://etherscan.io/address/0x21e5e62e0b6b59155110cd36f3f6655fbbcf6424

setTokenListener(faucet address)

COMPLETE

Step 4: Leighton transfers ownership of newly created faucet to the timelock contract

COMPLETE

Step 5: Governance Proposal

Proposal steps:

  • Target: 0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e (POOL Token)
  • Function: approve
  • Parameters:
    • spender: 0x0589C7a2b2acB895fF0314A394A6D991a9204444
    • rawAmount: 5141491200000000000000
  • Target: 0x0589C7a2b2acB895fF0314A394A6D991a9204444 (SablierManager)
  • Function: createSablierStreamWithDuration
  • Parameters:
    • prizePool: 0x396b4489da692788e327e2e4b2b0459a5ef26791
    • deposit: 5141491200000000000000
    • token: 0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e
    • duration: 15552000
  • Target: 0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e (POOL Token)
  • Function: approve
  • Parameters:
    • spender: 0xd80a1416ed5139b6695d5a5cb07e99832a045f3a
    • rawAmount: 18000000000000000000000
  • Target: 0xd80a1416ed5139b6695d5a5cb07e99832a045f3a (Token Faucet)
  • Function: deposit
  • Parameters: 18000000000000000000000

Step 6: Leighton transfers prize pool & prize strategy ownership to governance

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment