Drawing and Donating
Pools interact with backstop deposits allocated to them by drawing from the deposits to cover bad debt and donating a percentage of interest to the deposits.
Storing Pool Backstop Deposits
The Backstop contract stores total backstop deposits allocated to each pool contract in a hashmap where the key is the Pool contract address and the value is a PoolBalance
struct
Drawing
Pools draw from backstop deposits allocated to them using the draw()
function. This transfers the requested amount of backstop tokens from a specified pool's backstop deposits to a specified recipient and reduces the pool's total_tokens
by the amount drawn.
Reducing the pool's total_tokens
lowers the value of backstop deposits allocated to that pool
The draw function must be called by the specified pool or it will fail.
This function is used to allow pools to cover the bad debt they accumulate.
Donating
Any party can donate to backstop depositors using the donate()
function. This transfers the specified amount of backstop tokens from the caller to the backstop contract and increases the specified pool's total_tokens
.
Increasing a pools total_tokens
increases the value of backstop deposits allocated to that pool
This function is used to allow pools to donate a percentage of interest to backstop depositors.
Last updated