Skip to content

Commit

Permalink
Add DEC 2024 rewards
Browse files Browse the repository at this point in the history
  • Loading branch information
mohammadranjbarz committed Dec 2, 2024
1 parent b891b15 commit e6c7cb2
Show file tree
Hide file tree
Showing 4 changed files with 256 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
/* eslint-disable no-use-before-define */
const hre = require("hardhat");
const { sendReportEmail } = require("../../mailService/mailService");
const { ethers } = hre;

const pools = [
{
address: "0x301C739CF6bfb6B47A74878BdEB13f92F13Ae5E7",

// https://github.com/Giveth/giveth-dapps-v2/issues/4434
amount: "3825000",
}, // Garden Unipool
];

// Two decimals of precision -> 615 = 6.15
const distro = [
// https://github.com/Giveth/giveth-dapps-v2/issues/4869
685, 700, 713, 727, 742, 756, 770, 783, 797, 811, 825, 839, 852,
];

const initTime = 1733842800; // Timestamp of first round in seconds: Tuesday, DEC 10, 2024 15:00:00 GMT

let UnipoolTokenDistributor, currentTime, nonce;
async function main() {
console.log("Trying to call notifyRewardAmount...", {
date: new Date().toString(),
});
currentTime = Math.floor(Date.now() / 1000);
const [signer, ...addrs] = await ethers.getSigners();
nonce = await signer.getTransactionCount();
UnipoolTokenDistributor = await ethers.getContractFactory(
"UnipoolTokenDistributor",
);
await notifyRewardAmount(pools[0]);
}

async function notifyRewardAmount(pool) {
const unipoolTokenDistributor = await UnipoolTokenDistributor.attach(
pool.address,
);
const periodFinish = await unipoolTokenDistributor.periodFinish();
const duration = await unipoolTokenDistributor.duration();

// 10 minutes of precision
if (periodFinish < currentTime + 60 * 10) {
const pos = Math.floor((currentTime - initTime) / duration);
console.log("pos:", pos);
if (pos < 0) return;
if (distro[pos] === 0) return;
const amount = ethers.utils
.parseEther(pool.amount)
.mul(distro[pos])
.div(10000);
console.log(
"UnipoolTokenDistributor - notifyRewardAmount:",
pool.address,
"->",
ethers.utils.formatEther(amount.toString()),
);
const tx = await (
await unipoolTokenDistributor.notifyRewardAmount(amount, { nonce })
).wait();
nonce += 1;
console.log("tx:", tx);
await sendReportEmail({
farm: "Giv power",
network: "Optimisim mainnet",
pool: pool.address,
round: pos + 1,
script: "givpower_distribute_extended_sep_2024.js",
transactionHash: tx.transactionHash,
amount,
});
} else {
console.log(
"UnipoolTokenDistributor - notifyRewardAmount:",
pool.address,
"already set",
);
}
}

main();
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
/* eslint-disable no-use-before-define */
const hre = require("hardhat");
const { sendReportEmail } = require("../../mailService/mailService");
const { ethers } = hre;

const pools = [
{
address: "0xD93d3bDBa18ebcB3317a57119ea44ed2Cf41C2F2",

// https://github.com/Giveth/giveth-dapps-v2/issues/4434
amount: "2550000",
}, // Garden Unipool
];

// Two decimals of precision -> 615 = 6.15
const distro = [
// https://github.com/Giveth/giveth-dapps-v2/issues/4869
685, 700, 713, 727, 742, 756, 770, 783, 797, 811, 825, 839, 852,
];

const initTime = 1733842800; // Timestamp of first round in seconds: Tuesday, DEC 10, 2024 15:00:00 GMT

let UnipoolTokenDistributor, currentTime, nonce;
async function main() {
try {
console.log("Trying to call notifyRewardAmount...", {
date: new Date().toString(),
});
currentTime = Math.floor(Date.now() / 1000);
const [signer, ...addrs] = await ethers.getSigners();
nonce = await signer.getTransactionCount();
UnipoolTokenDistributor = await ethers.getContractFactory(
"UnipoolTokenDistributor",
);
await notifyRewardAmount(pools[0]);
} catch (e) {
console.log("error when calling notifyRewardAmount:", e);
throw e;
}
}

async function notifyRewardAmount(pool) {
const unipoolTokenDistributor = await UnipoolTokenDistributor.attach(
pool.address,
);
const periodFinish = await unipoolTokenDistributor.periodFinish();
const duration = await unipoolTokenDistributor.duration();

// 10 minutes of precision
if (periodFinish < currentTime + 60 * 10) {
const pos = Math.floor((currentTime - initTime) / duration);
console.log("pos:", pos);
if (pos < 0) return;
const amount = ethers.utils
.parseEther(pool.amount)
.mul(distro[pos])
.div(10000);
console.log(
"UnipoolTokenDistributor - notifyRewardAmount:",
pool.address,
"->",
ethers.utils.formatEther(amount.toString()),
);
const tx = await (
await unipoolTokenDistributor.notifyRewardAmount(amount, { nonce })
).wait();
nonce += 1;
console.log("tx:", tx);
await sendReportEmail({
farm: "Giv power",
network: "Gnosis",
pool: pool.address,
round: pos + 1,
script: "givpower_distribute_extended_sep_2024.js",
transactionHash: tx.transactionHash,
amount,
});
} else {
console.log(
"UnipoolTokenDistributor - notifyRewardAmount:",
pool.address,
"already set",
);
}
}

main();
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
/* eslint-disable no-use-before-define */
const hre = require("hardhat");
const { sendReportEmail } = require("../../mailService/mailService");
const { ethers } = hre;

const pools = [
{
address: "0xc790f82bf6f8709aa4a56dc11afad7af7c2a9867",

// https://github.com/Giveth/giveth-dapps-v2/issues/4434
amount: "2125000",
}, // Garden Unipool
];

// Two decimals of precision -> 615 = 6.15
const distro = [
// https://github.com/Giveth/giveth-dapps-v2/issues/4869
685, 700, 713, 727, 742, 756, 770, 783, 797, 811, 825, 839, 852,
];

const initTime = 1733842800; // Timestamp of first round in seconds: Tuesday, DEC 10, 2024 15:00:00 GMT

let UnipoolTokenDistributor, currentTime, nonce;
async function main() {
console.log("Trying to call notifyRewardAmount...", {
date: new Date().toString(),
});
currentTime = Math.floor(Date.now() / 1000);
const [signer, ...addrs] = await ethers.getSigners();
nonce = await signer.getTransactionCount();
UnipoolTokenDistributor = await ethers.getContractFactory(
"UnipoolTokenDistributor",
);
await notifyRewardAmount(pools[0]);
}

async function notifyRewardAmount(pool) {
const unipoolTokenDistributor = await UnipoolTokenDistributor.attach(
pool.address,
);
const periodFinish = await unipoolTokenDistributor.periodFinish();
const duration = await unipoolTokenDistributor.duration();

// 10 minutes of precision
if (periodFinish < currentTime + 60 * 10) {
const pos = Math.floor((currentTime - initTime) / duration);
console.log("pos:", pos);
if (pos < 0) return;
if (distro[pos] === 0) return;
const amount = ethers.utils
.parseEther(pool.amount)
.mul(distro[pos])
.div(10000);
console.log(
"UnipoolTokenDistributor - notifyRewardAmount:",
pool.address,
"->",
ethers.utils.formatEther(amount.toString()),
);
const tx = await (
await unipoolTokenDistributor.notifyRewardAmount(amount, { nonce })
).wait();
nonce += 1;
console.log("tx:", tx);
await sendReportEmail({
farm: "Giv power",
network: "ZKEVM mainnet",
pool: pool.address,
round: pos + 1,
script: "givpower_distribute_extended_sep_2024.js",
transactionHash: tx.transactionHash,
amount,
});
} else {
console.log(
"UnipoolTokenDistributor - notifyRewardAmount:",
pool.address,
"already set",
);
}
}

main();
3 changes: 3 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,15 @@
"distributor:xDAI:givPower:extended:oct2023": "HARDHAT_NETWORK=xDAI ts-node deployments/notifyRewardAmount/xDAI/givpower_distribute_extended_oct_2023.js",
"distributor:xDAI:givPower:extended:may2024": "HARDHAT_NETWORK=xDAI ts-node deployments/notifyRewardAmount/xDAI/givpower_distribute_extended_may_2024.js",
"distributor:xDAI:givPower:extended:sep2024": "HARDHAT_NETWORK=xDAI ts-node deployments/notifyRewardAmount/xDAI/givpower_distribute_extended_sep_2024.js",
"distributor:xDAI:givPower:extended:dec2024": "HARDHAT_NETWORK=xDAI ts-node deployments/notifyRewardAmount/xDAI/givpower_distribute_extended_dec_2024.js",
"distributor:xDAI:givPower:extended:sep2024Temp": "HARDHAT_NETWORK=xDAI ts-node deployments/notifyRewardAmount/xDAI/givpower_distribute_extended_sep_2024Temp.js",
"distributor:optimismMainnet:givPower:extended": "HARDHAT_NETWORK=optimismMainnet ts-node deployments/notifyRewardAmount/optimism/givpower_distribute_extended.js",
"distributor:optimismMainnet:givPower:extended:oct2023": "HARDHAT_NETWORK=optimismMainnet ts-node deployments/notifyRewardAmount/optimism/givpower_distribute_extended_oct_2023.js",
"distributor:optimismMainnet:givPower:extended:sep2024": "HARDHAT_NETWORK=optimismMainnet ts-node deployments/notifyRewardAmount/optimism/givpower_distribute_extended_sep_2024.js",
"distributor:optimismMainnet:givPower:extended:dec2024": "HARDHAT_NETWORK=optimismMainnet ts-node deployments/notifyRewardAmount/optimism/givpower_distribute_extended_dec_2024.js",
"distributor:optimismMainnet:givPower:extended:sep2024Temp": "HARDHAT_NETWORK=optimismMainnet ts-node deployments/notifyRewardAmount/optimism/givpower_distribute_extended_sep_2024Temp.js",
"distributor:zkevm:givPower:extended:sep2024": "HARDHAT_NETWORK=zkEVM ts-node deployments/notifyRewardAmount/zkevm/givpower_distribute_extended_sep_2024.js",
"distributor:zkevm:givPower:extended:dec2024": "HARDHAT_NETWORK=zkEVM ts-node deployments/notifyRewardAmount/zkevm/givpower_distribute_extended_dec_2024.js",
"distributor:zkevm:givPower:extended:sep2024Temp": "HARDHAT_NETWORK=zkEVM ts-node deployments/notifyRewardAmount/zkevm/givpower_distribute_extended_sep_2024.js",
"distributor:mainnet:extended": "HARDHAT_NETWORK=mainnet ts-node deployments/notifyRewardAmount/mainnet/distributor_extended.js",
"distributor:mainnet:extended2": "HARDHAT_NETWORK=mainnet ts-node deployments/notifyRewardAmount/mainnet/distributor_extended2.js",
Expand Down

0 comments on commit e6c7cb2

Please sign in to comment.