depositTo
new shares are minted.depositTo
- Deposit Tokens & Mint Shares depositTo
function interface is similar to the PrizePool depositTo
function interface, minus the controlledToken
and referrer
inputs, which are automatically added by the Pod during the batch process.depositTo
function with the desired to
and tokenAmount
inputs.withdraw
- Burn Shares & Withdraw Tokenswithdraw
function, as expected, handles withdraws from the Pod. To withdraw from a Pod, the user must have a positive share balance. Whether that's via depositing tokens or being transferred Pod shares.shareAmount
users must also specify the maxFee
amount. When exiting a PrizePool a fee may be applied, depending on the last deposit timestamp. Due to the nature of a Pod's regular deposits/withdrawals the early exit is constantly updating.getEarlyExitFee
view function and entering the total underlying balance to be withdrawn.balanceOfUnderlying(address user) returns (uint256 amount)
which will calculate the underlying balance via the user's share balance.drop
- Claim Reward Tokens, Batch User Deposits and TokenDropdrop
function is responsible for claiming and distributing rewards tokens (i.e. POOL) to the TokenDrop smart contract and executing batch
which transfers recent token deposits into the PrizePool.drop
function. Instead it's up to the Pod owner/manager to regularly call drop
function and batch deposits.batch
- Batch User Depositsbatch
function is responsible for moving deposited tokens from the Pod smart contract into the PrizePool smart contract.batch
function will be called indirectly via the drop
function. The batch
function is called indirectly because, in addition to converting tokens to tickets, it's important to claim and distribute the reward token, which is handled via the drop
function.