Skip to content

Commit 80b60fd

Browse files
0xShad0wReynardoEW
andauthored
add Etherex emissions (#136)
* add Etherex emissions * lowercase address and change token addr to cg in etherex.ts --------- Co-authored-by: Reynardo Etenia Wongso <[email protected]>
1 parent 7f404d0 commit 80b60fd

File tree

2 files changed

+74
-0
lines changed

2 files changed

+74
-0
lines changed

no-emissions/incentives.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,5 @@ export const protocolsIncentives:string[] = [
4747
"parent#spark", //spark
4848
"parent#blackhole", //blackhole
4949
"parent#uniswap"
50+
"parent#etherex" //etherex
5051
]

protocols/etherex.ts

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
import { manualCliff } from "../adapters/manual";
2+
import { LinearAdapterResult, Protocol } from "../types/adapters";
3+
import { periodToSeconds, readableToSeconds } from "../utils/time";
4+
import { queryAggregatedDailyLogsAmounts } from "../utils/queries";
5+
6+
const start = 1755129600;
7+
const total = 1_000_000_000; // Maximum supply cap of 1B tokens
8+
9+
const emissions = async (): Promise<LinearAdapterResult[]> => {
10+
const result: LinearAdapterResult[] = [];
11+
12+
const data = await queryAggregatedDailyLogsAmounts({
13+
address: "0x0b6d3b42861ee8abfcaac818033694e758ecc3eb",
14+
topic0: "0x0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885",
15+
startDate: "2025-08-14",
16+
})
17+
18+
data.sort((a, b) => readableToSeconds(a.date) - readableToSeconds(b.date));
19+
20+
for (let i = 0; i < data.length; i++) {
21+
const currentTimestamp = readableToSeconds(data[i].date);
22+
const nextTimestamp = i < data.length - 1
23+
? readableToSeconds(data[i + 1].date)
24+
: currentTimestamp + periodToSeconds.week;
25+
26+
result.push({
27+
type: "linear",
28+
start: currentTimestamp,
29+
end: nextTimestamp,
30+
amount: Number(data[i].amount) / 1e18,
31+
});
32+
}
33+
34+
return result;
35+
}
36+
37+
const etherex: Protocol = {
38+
// Initial REX token allocations (percentages of initial 350M supply, calculated from 1B total)
39+
"Treasury": manualCliff(start, total * 0.0875), // 8.75% of 1B = 87.5M REX (25% of initial supply)
40+
"Linea/Consensys": manualCliff(start, total * 0.0875), // 8.75% of 1B = 87.5M REX (25% of initial supply)
41+
"veNILE Migrators": manualCliff(start, total * 0.0875), // 8.75% of 1B = 87.5M REX (25% of initial supply)
42+
"LP Treasury Support": manualCliff(start, total * 0.0525), // 5.25% of 1B = 52.5M REX (15% of initial supply)
43+
"CEX Listings & Market Makers": manualCliff(start, total * 0.0175), // 1.75% of 1B = 17.5M REX (5% of initial supply)
44+
"Ecosystem Partners": manualCliff(start, total * 0.0175), // 1.75% of 1B = 17.5M REX (5% of initial supply)
45+
46+
"Gauge Emissions": emissions,
47+
48+
meta: {
49+
notes: [
50+
"Initial supply: 350M REX tokens with maximum cap of 1B tokens",
51+
"Initial weekly emissions: 3.5M REX tokens",
52+
"Emissions can be modified by up to ±25% per epoch through governance",
53+
"100% of emissions are distributed to gauges",
54+
"No team allocation - fully community focused",
55+
"Emission schedule: +20% epoch 1, +10% epoch 2, +9% epoch 3, -16% epoch 4, -25% epoch 5, then -1% decay per epoch",
56+
"Projected total supply after 10 years: approximately 683M tokens",
57+
],
58+
token: `coingecko:etherex`,
59+
sources: [
60+
"https://docs.etherex.finance/pages/tokenomics",
61+
"https://etherscan.io/address/0x0b6d3B42861eE8aBFCaaC818033694E758ECC3eb"
62+
],
63+
protocolIds: ["parent#etherex"]
64+
},
65+
categories: {
66+
insiders: ["Linea/Consensys"],
67+
noncirculating: ["veNILE Migrators", "Ecosystem Partners", "Treasury"],
68+
farming: ["Gauge Emissions"],
69+
liquidity: ["CEX Listings & Market Makers", "LP Treasury Support"]
70+
}
71+
};
72+
73+
export default etherex;

0 commit comments

Comments
 (0)