Skip to content

Commit

Permalink
Added swap rates to mUSD-snap
Browse files Browse the repository at this point in the history
  • Loading branch information
naddison36 committed Mar 25, 2021
1 parent 8d17fcf commit 46d1817
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 23 deletions.
32 changes: 9 additions & 23 deletions tasks/mBTC.ts
Expand Up @@ -25,11 +25,7 @@ interface Balances {
const getTvlCap = async (signer: Signer): Promise<BN> => {
const validator = await new ValidatorWithTVLCap__factory(signer).attach(contracts.mainnet.InvariantValidator)
const tvlStartTime = await validator.startTime()
const weeksSinceLaunch = BN.from(Date.now())
.div(1000)
.sub(tvlStartTime)
.mul(fullScale)
.div(604800)
const weeksSinceLaunch = BN.from(Date.now()).div(1000).sub(tvlStartTime).mul(fullScale).div(604800)
// // e.g. 1e19 + (15e18 * 2.04e36) = 1e19 + 3.06e55
// // startingCap + (capFactor * weeksSinceLaunch**2 / 1e36);
return startingCap.add(capFactor.mul(weeksSinceLaunch.pow(2)).div(fullScale.pow(2)))
Expand Down Expand Up @@ -73,10 +69,7 @@ const getSwapRates = async (mBTC: Masset) => {
const output = await mBTC.getSwapOutput(inputAddress, outputAddress, input)
const scaledInput = applyDecimals(input, inputToken.decimals)
const scaledOutput = applyDecimals(output, outputToken.decimals)
const percent = scaledOutput
.sub(scaledInput)
.mul(10000)
.div(scaledInput)
const percent = scaledOutput.sub(scaledInput).mul(10000).div(scaledInput)
console.log(
`${inputStr} ${inputToken.symbol.padEnd(6)} -> ${outputToken.symbol.padEnd(6)} ${formatUnits(
output,
Expand All @@ -96,10 +89,7 @@ const getBalances = async (mBTC: Masset): Promise<Balances> => {
const savingBalance = await mBTC.balanceOf(contracts.mainnet.imBTC)
const sushiPoolBalance = await mBTC.balanceOf(contracts.mainnet.sushiPool)
const mStableFundManagerBalance = await mBTC.balanceOf(contracts.mainnet.fundManager)
const otherBalances = mBtcBalance
.sub(savingBalance)
.sub(sushiPoolBalance)
.sub(mStableFundManagerBalance)
const otherBalances = mBtcBalance.sub(savingBalance).sub(sushiPoolBalance).sub(mStableFundManagerBalance)

console.log("\nmBTC Holders")
console.log(`imBTC ${formatUnits(savingBalance).padEnd(20)} ${savingBalance.mul(100).div(mBtcBalance)}%`)
Expand Down Expand Up @@ -260,11 +250,11 @@ const outputFees = (
currentTime: Date,
) => {
const totalFees = redeems.fees.add(multiRedeems.fees).add(swaps.fees)
const totalTransactions = mints.total
.add(multiMints.total)
.add(redeems.total)
.add(multiRedeems.total)
.add(swaps.total)
if (totalFees.eq(0)) {
console.log(`\nNo fees since ${startTime.toUTCString()}`)
return
}
const totalTransactions = mints.total.add(multiMints.total).add(redeems.total).add(multiRedeems.total).add(swaps.total)
const totalFeeTransactions = redeems.total.add(multiRedeems.total).add(swaps.total)
console.log(`\nFees since ${startTime.toUTCString()}`)
console.log(" mBTC Volume\t Fees\t\t Fee %")
Expand All @@ -291,11 +281,7 @@ const outputFees = (
)
const periodSeconds = BN.from(currentTime.valueOf() - startTime.valueOf()).div(1000)
const liquidityUtilization = totalFeeTransactions.mul(100).div(balances.total)
const totalApy = totalFees
.mul(100)
.mul(ONE_YEAR)
.div(balances.save)
.div(periodSeconds)
const totalApy = totalFees.mul(100).mul(ONE_YEAR).div(balances.save).div(periodSeconds)
console.log(`Total Txs ${formatUnits(totalTransactions).padEnd(22)}`)
console.log(`Savings ${formatUnits(balances.save).padEnd(22)} ${formatUnits(totalFees).padEnd(20)} APY ${totalApy}%`)
console.log(
Expand Down
7 changes: 7 additions & 0 deletions tasks/mUSD.ts
Expand Up @@ -344,6 +344,10 @@ const outputFees = (
currentTime: Date,
) => {
const totalFees = redeems.fees.add(multiRedeems.fees).add(swaps.fees)
if (totalFees.eq(0)) {
console.log(`\nNo fees since ${startTime.toUTCString()}`)
return
}
const totalTransactions = mints.total.add(multiMints.total).add(redeems.total).add(multiRedeems.total).add(swaps.total)
const totalFeeTransactions = redeems.total.add(multiRedeems.total).add(swaps.total)
console.log(`\nFees since ${startTime.toUTCString()}`)
Expand Down Expand Up @@ -412,6 +416,9 @@ task("mUSD-snap", "Snaps mUSD")
const startTime = new Date(startBlock.timestamp * 1000)

const balances = await getBalances(mUSD)

await getSwapRates(mUSD)

const mintSummary = await getMints(mUSD, fromBlock, startTime)
const mintMultiSummary = await getMultiMints(mUSD, fromBlock, startTime)
const swapSummary = await getSwaps(mUSD, fromBlock, startTime)
Expand Down

0 comments on commit 46d1817

Please sign in to comment.