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
133 changes: 133 additions & 0 deletions protocols/celo.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
import { Protocol } from "../types/adapters";
import { manualCliff, manualLinear, manualStep } from "../adapters/manual";
import { periodToSeconds } from "../utils/time";

const start = 1585699200; // Start date

// Token allocations
const communityGrants = 171_424_328;
const teamAdvisors = 193_716_690;
const preLaunchSales = 122_971_117;
const stakingValidatorReserve = 244_818_027;
const initialReserve = 120_000_000;

const celo: Protocol = {

"Pre-launch Sales": [
manualCliff(
start,
preLaunchSales * 0.1641
),

manualStep(
start + periodToSeconds.month,
periodToSeconds.month,
42, // 42 months
(preLaunchSales - (preLaunchSales * 0.1641)) / 42
)
],

"Initial Reserve": [
manualCliff(
start,
initialReserve * 0.5 // 50% at TGE
),
manualCliff(
1901145600, // March 31, 2030
initialReserve * 0.5 // 50% at March 31, 2030 based on the spreadsheet
)
],

"Team, Advisors, Founders & Contributors":
manualStep(
start,
periodToSeconds.month,
60,
teamAdvisors / 60
),

"Community Grants": manualLinear(
start,
start + periodToSeconds.years(30),
communityGrants
),

"Staking & Validator Reserve": [
// 833,333 CELO per month for 15 years
manualStep(
start,
periodToSeconds.month,
15 * 12, // 15 years of months
833_333
),
// Decreasing rate for the remaining amount over the next 15 years
manualLinear(
start + periodToSeconds.years(15),
start + periodToSeconds.years(30),
stakingValidatorReserve - (833_333 * 15 * 12)
)
],

"Operational Grants": [
// First year (months 1-12): 312,500 CELO per month
manualStep(
start,
periodToSeconds.month,
12,
312_500
),
// Next 3 years (months 13-48): 1,060,199 CELO per month
manualStep(
start + periodToSeconds.years(1),
periodToSeconds.month,
36,
1_060_199
),
// Next 2 years (months 49-72): 851,866 CELO per month
manualStep(
start + periodToSeconds.years(4),
periodToSeconds.month,
24,
851_866
),
// Next 4 years (months 73-120): 208,333 CELO per month
manualStep(
start + periodToSeconds.years(6),
periodToSeconds.month,
48,
208_333
),
// Next 1 year (months 121-132): 104,167 CELO per month
manualStep(
start + periodToSeconds.years(10),
periodToSeconds.month,
12,
104_167
)
],

meta: {
token: "celo:0x471ece3750da237f93b8e339c536989b8978a438",
sources: [
"https://blog.celo.org/understanding-cgld-allocation-estimated-circulating-supply-over-time-f08a063a23ad",
"https://docs.google.com/spreadsheets/d/1slQ5jzBwPhuneKm1TuwbG4EPdfpYVw62Hs9V6S479iA/"
],
protocolIds: ["6041"],
notes: [
"Community Grants unlock monthly over 30 years with decreasing rate",
"Team, Advisors, Founders & Contributors tokens vest monthly over 5 years",
"Pre-launch Sales had 16.41% unlock at TGE and remainder vests monthly over 42 months",
"Staking & Validator Reserve allocates 833,333 CELO monthly for 15 years, then decreasing rate for 15 years",
"Initial Reserve had 50% unlock at TGE, with remaining 50% unlocking on March 31, 2030",
"Operational Grants have multiple vesting phases with different amount and timeframes"
],
},

categories: {
insiders: ["Team, Advisors, Founders & Contributors", "Pre-launch Sales"],
farming: ["Staking & Validator Reserve"],
noncirculating: ["Community Grants", "Initial Reserve", "Operational Grants"],
},
};

export default celo;
99 changes: 99 additions & 0 deletions protocols/debridge.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
import { Protocol } from "../types/adapters";
import { manualCliff, manualLinear, manualStep } from "../adapters/manual";
import { periodToSeconds } from "../utils/time";

const start = 1729123200;
const totalSupply = 10_000_000_000;

// Allocation amounts
const coreContributors = totalSupply * 0.2
const ecosystem = totalSupply * 0.26
const debridgeFoundation = totalSupply * 0.15
const community = totalSupply * 0.2
const strategicPartner = totalSupply * 0.17
const validator = totalSupply * 0.02


const debridge: Protocol = {
"Community & Launch": [
manualCliff(start, community * 0.1), // 10% at TGE
manualStep(
start + periodToSeconds.months(3), // 6 month cliff
periodToSeconds.months(3),
12,
community * 0.9 / 12
)
],

"Validators":
manualStep(
start + periodToSeconds.months(3), // 6 month cliff
periodToSeconds.months(3),
12,
validator / 12
),

"Ecosystem": [
manualCliff(start, 300_000_000),
manualStep(
start + periodToSeconds.months(3),
periodToSeconds.months(3),
12,
(ecosystem - 300_000_000) / 12
)
],

"Core Contributors":
manualStep(
start + periodToSeconds.months(3), // 6 month cliff
periodToSeconds.months(3),
12,
coreContributors / 12
),

"deBridge Foundation":[
manualCliff(start, 500_000_000),
manualStep(
start + periodToSeconds.months(3),
periodToSeconds.months(3),
12,
(debridgeFoundation - 500_000_000) / 12
)
],

"Strategic Partners":
manualStep(
start + periodToSeconds.months(3), // 6 month cliff
periodToSeconds.months(3),
12,
strategicPartner / 12
),



meta: {
token: "solana:DBRiDgJAMsM95moTzJs7M9LnkGErpbv9v6CUR1DXnUu5",
sources: ["https://docs.debridge.foundation/faq-airdrop-season-1/dbr-tokenomics"],
protocolIds: ["1462"],
notes: [

]
},

categories: {
insiders: [
"Core Contributors",
"Strategic Partners",
],
noncirculating: [
"Community & Launch",
"Ecosystem",
"deBridge Foundation",
],
farming: [
"Validators",
]
},
};

export default debridge;
143 changes: 143 additions & 0 deletions protocols/filecoin.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
import { Protocol } from "../types/adapters";
import { manualCliff, manualLinear, manualStep } from "../adapters/manual";
import { periodToSeconds } from "../utils/time";

const start = 1729123200;
const totalSupply = 2_000_000_000;

// Allocation amounts
const baselineMint = totalSupply * 0.385;
const simpleMint = totalSupply * 0.165;
const protocolLabs = totalSupply * 0.105;
const miningRewards = totalSupply * 0.15;
const filecoinFoundation = totalSupply * 0.05;
const protocolLabsTeam = totalSupply * 0.045;
const fundraising6Months = totalSupply * 0.022;
const fundraising12Months = totalSupply * 0.015;
const fundraising24Months = totalSupply * 0.005;
const fundraising36Months = totalSupply * 0.058;


const uxlink: Protocol = {
"Baseline Minting":
manualLinear(
start,
start + periodToSeconds.years(20),
baselineMint,
),

"Simple Minting": [
manualLinear(
start,
start + periodToSeconds.years(6),
simpleMint * 0.5, // First 6 years: 50% of tokens
),
manualLinear(
start + periodToSeconds.years(6),
start + periodToSeconds.years(12),
simpleMint * 0.25, // Second 6 years: 25% of tokens
),
manualLinear(
start + periodToSeconds.years(12),
start + periodToSeconds.years(18),
simpleMint * 0.125, // Third 6 years: 12.5% of tokens
),
manualLinear(
start + periodToSeconds.years(18),
start + periodToSeconds.years(24),
simpleMint * 0.0625, // Fourth 6 years: 6.25% of tokens
),
manualLinear(
start + periodToSeconds.years(24),
start + periodToSeconds.years(30),
simpleMint * 0.03125, // Fifth 6 years: 3.125% of tokens
),
manualLinear(
start + periodToSeconds.years(30),
start + periodToSeconds.years(36),
simpleMint * 0.03125, // Sixth 6 years: remaining 3.125% of tokens
),
],

"Protocol Labs":
manualLinear(
start,
start + periodToSeconds.years(6),
protocolLabs,
),

"Protocol Labs Team & Contributors":
manualLinear(
start,
start + periodToSeconds.years(6),
protocolLabsTeam,
),

"Fundraising 6 Months":
manualLinear(
start,
start + periodToSeconds.months(6),
fundraising6Months,
),

"Fundraising 12 Months":
manualLinear(
start,
start + periodToSeconds.months(12),
fundraising12Months,
),

"Fundraising 24 Months":
manualLinear(
start,
start + periodToSeconds.months(24),
fundraising24Months,
),

"Fundraising 36 Months":
manualLinear(
start,
start + periodToSeconds.months(36),
fundraising36Months,
),

"Filecoin Foundation":
manualLinear(
start,
start + periodToSeconds.years(6),
filecoinFoundation,
),



meta: {
token: "coingecko:filecoin",
sources: ["https://filecoin.io/blog/filecoin-circulating-supply/", "https://coinlist.co/assets/index/filecoin_2017_index/Filecoin-Sale-Economics-e3f703f8cd5f644aecd7ae3860ce932064ce014dd60de115d67ff1e9047ffa8e.pdf"],
protocolIds: ["6038"],
notes: [
"Because Mining Reserve are reserved we don't include them in the calculation.",
"Baseline Minting are assumed to be linear for simplicity",
"Simple Minting are assumed to be linear with the supply getting halved every 6 years",
]
},

categories: {
insiders: [
"Fundraising 6 Months",
"Fundraising 12 Months",
"Fundraising 24 Months",
"Fundraising 36 Months",
"Protocol Labs",
"Protocol Labs Team & Contributors",
],
noncirculating: [
"Filecoin Foundation",
],
farming: [
"Baseline Minting",
"Simple Minting",
],
},
};

export default uxlink;
Loading
Loading