Skip to content

Commit 27e1da7

Browse files
add zealous swap (#143)
* add zealous swap * add protocol id --------- Co-authored-by: Reynardo Etenia Wongso <[email protected]>
1 parent cb5ccf1 commit 27e1da7

File tree

1 file changed

+107
-0
lines changed

1 file changed

+107
-0
lines changed

protocols/zealousswap.ts

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
import { manualCliff, manualLinear, manualStep } from "../adapters/manual";
2+
import { Protocol } from "../types/adapters";
3+
import { periodToSeconds } from "../utils/time";
4+
5+
/*
6+
* ZEAL — Zealous Swap
7+
* Total supply: 240,000,000
8+
* TGE / Launch: 2025-04-24
9+
*/
10+
11+
const TOTAL = 240_000_000;
12+
const START = Math.floor(Date.UTC(2025, 3, 24, 0, 0, 0) / 1e3); // 2025-04-24 00:00:00 UTC
13+
14+
// ----- Allocations -----
15+
const YIELD_FARMING = 0.24 * TOTAL; // 57,600,000
16+
const INFINITY_POOL = 0.18 * TOTAL; // 43,200,000
17+
const INSURANCE_FUND = 0.03 * TOTAL; // 7,200,000
18+
const LIQ_AND_LISTINGS = 0.09 * TOTAL; // 21,600,000
19+
const SALE = 0.20 * TOTAL; // 48,000,000
20+
const TEAM = 0.10 * TOTAL; // 24,000,000
21+
const NACHO_CREATORS = 0.04 * TOTAL; // 9,600,000
22+
const NACHO_COMMUNITY_FUND = 0.01 * TOTAL; // 2,400,000
23+
const COMMUNITY_MGMT = 0.01 * TOTAL; // 2,400,000
24+
25+
// Active traders airdrops (reserve) — modeled as linear over 24 months after Airdrop 4
26+
// Unallocated, and will be adjusted based on actual airdrop distribution
27+
const FUTURE_TRADER_AIRDROPS = 0.045 * TOTAL; // 10,800,000
28+
29+
// 9y after 2025-04-24 -> 2034-04-24
30+
const FARMS_END = Math.floor(Date.UTC(2034, 3, 24, 0, 0, 0) / 1e3);
31+
const INFINITY_END = FARMS_END;
32+
33+
// Team: 2y cliff then 2y linear vest (start 2027-04-24, end 2029-04-24)
34+
const TEAM_START = Math.floor(Date.UTC(2027, 3, 24, 0, 0, 0) / 1e3);
35+
const TEAM_END = Math.floor(Date.UTC(2029, 3, 24, 0, 0, 0) / 1e3);
36+
37+
const ONE_MONTH = periodToSeconds.month;
38+
39+
// Airdrop timestamps (16:00:00 UTC)
40+
const AIRDROP_1_TS = Math.floor(Date.UTC(2025, 9, 3, 16, 0, 0) / 1e3); // Oct 3, 2025
41+
const AIRDROP_2_TS = Math.floor(Date.UTC(2025, 10, 15, 16, 0, 0) / 1e3); // Nov 15, 2025
42+
const AIRDROP_3_TS = Math.floor(Date.UTC(2025, 11, 15, 16, 0, 0) / 1e3); // Dec 15, 2025
43+
const AIRDROP_4_TS = Math.floor(Date.UTC(2026, 0, 15, 16, 0, 0) / 1e3); // Jan 15, 2026
44+
45+
const zealousSwap: Protocol = {
46+
"Farms rewards": manualLinear(START, FARMS_END, YIELD_FARMING),
47+
"Infinity Pool rewards": manualLinear(START, INFINITY_END, INFINITY_POOL),
48+
49+
"Airdrops": [
50+
manualCliff(AIRDROP_1_TS, 0.02 * TOTAL),
51+
manualCliff(AIRDROP_2_TS, 0.015 * TOTAL),
52+
manualCliff(AIRDROP_3_TS, 0.01 * TOTAL),
53+
manualCliff(AIRDROP_4_TS, 0.01 * TOTAL),
54+
],
55+
56+
"Future trader airdrops (reserve)": manualLinear(
57+
AIRDROP_4_TS,
58+
AIRDROP_4_TS + 24 * ONE_MONTH,
59+
FUTURE_TRADER_AIRDROPS
60+
),
61+
62+
"Core team (2y cliff, 2y vest)": manualLinear(TEAM_START, TEAM_END, TEAM),
63+
64+
"Nacho creators (unlocked at launch)": manualCliff(START, NACHO_CREATORS),
65+
"Nacho community fund (unlocked at launch)": manualCliff(START, NACHO_COMMUNITY_FUND),
66+
67+
"Community mgmt rewards (monthly x12)": manualStep(
68+
START,
69+
ONE_MONTH,
70+
12,
71+
COMMUNITY_MGMT / 12
72+
),
73+
74+
"Public sale": manualCliff(START, SALE),
75+
"Insurance fund (emergency reserve)": manualCliff(START, INSURANCE_FUND),
76+
"Liquidity & exchange listings (reserve)": manualCliff(START, LIQ_AND_LISTINGS),
77+
78+
meta: {
79+
protocolIds: ["6877"],
80+
sources: [
81+
"https://zealous-swap.gitbook.io/zealous-swap/protocol/zeal-token",
82+
],
83+
token: "kasplex:0xb7a95035618354D9ADFC49Eca49F38586B624040",
84+
chain: "kasplex",
85+
total: TOTAL,
86+
},
87+
88+
categories: {
89+
farming: ["Farms rewards"],
90+
staking: ["Infinity Pool rewards"],
91+
airdrop: [
92+
"Airdrops",
93+
"Future trader airdrops (reserve)",
94+
],
95+
team: ["Core team (2y cliff, 2y vest)"],
96+
community: ["Community mgmt rewards (monthly x12)"],
97+
partners: ["Nacho creators (unlocked at launch)"],
98+
publicSale: ["Public sale"],
99+
noncirculating: [
100+
"Insurance fund (emergency reserve)",
101+
"Liquidity & exchange listings (reserve)",
102+
],
103+
ecosystem: ["Nacho community fund (unlocked at launch)"],
104+
},
105+
};
106+
107+
export default zealousSwap;

0 commit comments

Comments
 (0)