Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions contracts/fees_collector_contract.py
Original file line number Diff line number Diff line change
Expand Up @@ -281,15 +281,15 @@ def set_lock_epochs(self, deployer: Account, proxy: ProxyNetworkProvider, lock_e
]
return endpoint_call(proxy, gas_limit, deployer, Address(self.address), "setLockEpochs", sc_args)

def set_locked_tokens_per_block(self, deployer: Account, proxy: ProxyNetworkProvider, locked_tokens_per_block: int):
function_purpose = f"Set locked tokens per block"
def set_locked_tokens_per_epoch(self, deployer: Account, proxy: ProxyNetworkProvider, locked_tokens_per_epoch: int):
function_purpose = f"Set locked tokens per epoch"
logger.info(function_purpose)

gas_limit = 30000000
gas_limit = 5000000
sc_args = [
locked_tokens_per_block
locked_tokens_per_epoch
]
return endpoint_call(proxy, gas_limit, deployer, Address(self.address), "setLockedTokensPerBlock", sc_args)
return endpoint_call(proxy, gas_limit, deployer, Address(self.address), "setLockedTokensPerEpoch", sc_args)

def set_base_token_burn_percent(self, deployer: Account, proxy: ProxyNetworkProvider, base_token_burn_percentage: int):
function_purpose = f"Set base token burn percentage"
Expand Down
112 changes: 112 additions & 0 deletions tools/notebooks/exec_jobs/configs_12_12_2025.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "8486bb2a",
"metadata": {},
"source": [
"Update Farms rewards per block for the MEX year 5 inflation\n",
"Reduce from 200,000 MEX/block to 160,000 MEX/block"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "6c022150",
"metadata": {},
"outputs": [],
"source": [
"import sys\n",
"from pathlib import Path\n",
"sys.path.append(str(Path.cwd().parent.parent.parent.absolute()))\n",
"import config\n",
"from context import Context\n",
"from contracts.farm_contract import FarmContract\n",
"from utils.utils_generic import log_warning, log_step_pass, log_step_fail\n",
"\n",
"context = Context()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "ebd2150e",
"metadata": {},
"outputs": [],
"source": [
"from decimal import Decimal, getcontext\n",
"import json\n",
"from tools.runners.farm_runner import get_farm_addresses_from_chain\n",
"from contracts.fees_collector_contract import FeesCollectorContract\n",
"\n",
"\n",
"getcontext().prec = 30\n",
"\n",
"rewards_config_file = \"emission_rewards_25_12_12.json\"\n",
"log_warning(f\"Reading rewards config from {rewards_config_file}\")\n",
"\n",
"# load the rewards json file\n",
"with open(rewards_config_file) as f:\n",
" emission_rewards = json.load(f)\n",
"\n",
"# set the rewards\n",
"farm_addresses = get_farm_addresses_from_chain(\"v2\")\n",
"log_step_pass(f\"Retrieved {len(farm_addresses)} farm addresses.\")\n",
"\n",
"total_rewards = 0\n",
"\n",
"for farm_address in farm_addresses:\n",
" farm_contract: FarmContract\n",
" farm_contract = FarmContract.load_contract_by_address(farm_address)\n",
" log_step_pass(f\"Setting rewards for farm {farm_contract.farmToken} {farm_contract.address}\")\n",
" \n",
" if farm_contract.farmToken not in emission_rewards:\n",
" log_step_fail(f\"Farm token {farm_contract.farmToken} not found in rewards config. Skipping.\")\n",
" continue\n",
"\n",
" new_rewards = int(Decimal(emission_rewards[farm_contract.farmToken]) * (10**18))\n",
" log_warning(f\"New rewards: {new_rewards:,}\")\n",
" total_rewards += new_rewards\n",
"\n",
" tx_hash = farm_contract.set_rewards_per_block(context.deployer_account, context.network_provider.proxy, new_rewards)\n",
" if not context.network_provider.check_simple_tx_status(tx_hash, f\"set rewards per block for: {farm_address}\"):\n",
" if not get_continue_confirmation():\n",
" break\n",
"\n",
"fees_collector_contract: FeesCollectorContract\n",
"fees_collector_contract = context.get_contracts(config.FEES_COLLECTORS)[0]\n",
"\n",
"new_rewards = int(Decimal(emission_rewards[\"FEESCOLLECTOR\"]) * (10**18))\n",
"new_rewards_per_epoch = new_rewards * (10 * 60 * 24)\n",
"total_rewards += new_rewards\n",
"\n",
"log_warning(f\"New fees collector rewards per epoch: {new_rewards_per_epoch:,}\")\n",
"tx_hash = fees_collector_contract.set_locked_tokens_per_epoch(context.deployer_account, context.network_provider.proxy, new_rewards_per_epoch)\n",
"context.network_provider.check_simple_tx_status(tx_hash, f\"set fees collector rewards per block\")\n",
"\n",
"print(f\"Total new rewards per block: {total_rewards:,}\")"
]
}
],
"metadata": {
"kernelspec": {
"display_name": ".venv",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.10"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
28 changes: 28 additions & 0 deletions tools/notebooks/exec_jobs/emission_rewards_25_12_12.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"EGLDMEXFL-a51a1d": "31999.20",
"HTMEGLDFL-96a6a4": "11199.72",
"ASHWEGLDFL-9612cf": "7999.80",
"MEXUSDCFL-f9379f": "6399.84",
"EGLDUSHFL-fd2466": "7999.80",
"MEXUSHFL-c05c82": "7999.80",

"EGLDUSDCFL-45109b": "16003.60",
"USDTEGLDFL-5f7e45": "11199.72",
"WBTCEGLDFL-1d5fd5": "15999.60",
"WETHEGLDFL-9bd9de": "12799.68",

"WTAOEGLDFL-4de22d": "11199.72",
"TADAEGLDFL-521f71": "1599.96",
"FOXSEGLDFL-f10836": "1599.96",

"CRTWEGLDFL-4fd518": "399.99",

"ITHWEGLDFL-7d381f": "1599.96",
"QWTEGLDFL-4a0f9f": "1599.96",
"XOXNEGLDFL-8a3602": "1599.96",
"BHATEGLDFL-259b84": "1599.96",
"BOBEEGLDFL-fd9beb": "799.98",
"KWAKEGLDFL-891492": "399.99",

"FEESCOLLECTOR": "7999.80"
}