-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
- Loading branch information
There are no files selected for viewing
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,9 @@ | ||
import "./pool"; | ||
import "./markets"; | ||
import "./rewards"; | ||
|
||
export const COMPTROLLER = "0xB5141403e811fFFE02f4d49Ea8d4a7B0b9590658"; | ||
|
||
export const ION = "0x5BD5c0cB9E4404C63526433BcBd6d133C1d73ffE"; | ||
export const FRAX_MARKET = "0x7Cc4253DD910bE388A1417c87755C593a4b3bcf1"; | ||
export const sfrxETH_MARKET = "0xE79A3131D93F135E3957D81B7f73730157e1D3E4"; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
import { Address } from "viem"; | ||
|
||
import { task } from "hardhat/config"; | ||
import { FRAX_MARKET, ION, sfrxETH_MARKET } from "."; | ||
import { parseEther } from "viem"; | ||
import { BORROW_DURATION } from ".."; | ||
import { setupRewards } from "../../flywheel/setup"; | ||
|
||
task("fraxtal:add-rewards:epoch5:borrow", "add rewards to a market").setAction( | ||
async (_, { viem, deployments, getNamedAccounts }) => { | ||
const { deployer, multisig } = await getNamedAccounts(); | ||
const rewardToken = ION; | ||
const rewardTokenName = "ION"; | ||
const market = sfrxETH_MARKET; | ||
const _market = await viem.getContractAt("EIP20Interface", market); | ||
const name = await _market.read.name(); | ||
|
||
const rewardAmount = (10_000).toString(); | ||
|
||
console.log("setting rewards for token: ", name, rewardAmount); | ||
await new Promise((resolve) => setTimeout(resolve, 4000)); | ||
|
||
// Sending tokens | ||
const _rewardToken = await viem.getContractAt("EIP20Interface", rewardToken); | ||
let balance = await _rewardToken.read.balanceOf([market]); | ||
console.log("balance: ", balance); | ||
if (balance < parseEther(rewardAmount)) { | ||
const tx = await _rewardToken.write.transfer([market, parseEther(rewardAmount) - balance]); | ||
console.log(`Sent ${rewardAmount} ${rewardTokenName} to ${market} - ${tx}`); | ||
} else { | ||
console.log(`Market already has enough ${rewardTokenName} - ${market}`); | ||
} | ||
|
||
await setupRewards( | ||
"borrow", | ||
market, | ||
rewardTokenName, | ||
rewardToken, | ||
BORROW_DURATION, | ||
deployer as Address, | ||
viem, | ||
deployments, | ||
multisig as Address, | ||
"IonicFlywheelBorrow_Borrow_ION_epoch5", | ||
"IonicFlywheelDynamicRewards_Borrow_ION_epoch5" | ||
); | ||
} | ||
); |