EGL
  • 🦅The Ethereum Eagle Project (EGL)
  • Protocol Overview
    • Key Functionality
    • EGL Genesis
      • Genesis
      • Release Schedule
      • Balancer Deployment
    • Voting
      • Vote, Revote, Withdraw
      • Calculating desiredEgl
      • Voting Threshold
      • Rewards
      • Leaderboard
    • Mining Pool Reward
    • The DAO
      • EGL Signals
        • Allocations
    • Token Distribution
  • Developer Documentation
    • Architecture
    • Voting
      • Claiming EGLs
    • Withdrawing EGLs
    • Withdrawing Pool Tokens
    • Tally Votes
    • Setting the gasLimit and gasTarget
    • Claiming Miner Rewards
    • Internal Functions
  • Governance
  • Governance Model
  • User Guides
    • Genesis
    • Voting
      • Claim & Vote
      • Vote
      • Revote
    • Helpful Tips
  • Appendix
    • Formulas
    • Attributes
    • FAQs
      • Design
      • Genesis
      • Voting
      • Other
    • Audits
Powered by GitBook
On this page
  1. Developer Documentation

Withdrawing Pool Tokens

PreviousWithdrawing EGLsNextTally Votes

Last updated 3 years ago

Balancer Pool Tokens (BPT's) can be withdraw as they become available. Only those that are available can be withdrawn. The remaining balance stays in the contract until such time that they become available and can be withdrawn.

BPT's gradually start to unlock after 10 epochs with the last BPT being unlocked after 52 epochs

See the for a detailed breakdown of when the BPT's are released.

1. withdrawPoolTokens()

Function Signature

function withdrawPoolTokens() external whenNotPaused 

Validations

Validation Rule

Description

supporters[msg.sender].poolTokens > 0

Calling address must have available pool tokens to withdraw

block.timestamp.sub(firstEpochStartDate) > minLiquidityTokensLockup

Cannot withdraw pool token before the minimum lockup period has elapse

_supporter.firstEgl <= currentSerializedEgl

The current serialized EGL must be after the calling addresses first EGL - meaning the calling addresses BPT's have started to be released

Events Emitted

  • SerializedEglCalculated

  • PoolTokensWithdrawn

  • Transfer

Web3 Example

await eglVotingInstance.withdrawPoolTokens({ from: "0x2be650ba..."})
release schedule