Skip to content

Commit

Permalink
Merge pull request #57 from DefiLlama/l1s
Browse files Browse the repository at this point in the history
avax, fantom
  • Loading branch information
waynebruce0x committed Jun 20, 2023
2 parents 43b12b7 + 0edb3e1 commit 190a26d
Show file tree
Hide file tree
Showing 3 changed files with 182 additions and 0 deletions.
58 changes: 58 additions & 0 deletions protocols/avax.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
import { Protocol } from "../types/adapters";
import { manualStep, manualCliff, manualLinear } from "../adapters/manual";
import { periodToSeconds } from "../utils/time";

const qty = 720e6;
const start = 1639785600;
const publicSale = 1595977200;
const mainnet = 1600815600;

const avax: Protocol = {
"Seed Sale": manualStep(mainnet, periodToSeconds.month * 3, 4, 45e5),
"Private Sale": manualStep(mainnet, periodToSeconds.month * 3, 4, 249e5 / 4),
"Public Sale A1": manualStep(
mainnet,
periodToSeconds.month * 3,
4,
3e6 * 0.6,
),
"Public Sale A2": manualStep(mainnet, periodToSeconds.month * 3, 6, 10e6),
"Public Sale B": manualCliff(publicSale, 12e6 * 0.4),
Team: manualStep(mainnet, periodToSeconds.month * 3, 16, 72e6 / 16), // mixed for later hires
Airdrop: manualStep(mainnet, periodToSeconds.month * 3, 16, 18e6 / 16), // mixed date
Foundation: manualStep(mainnet, periodToSeconds.month * 3, 40, 1667e3),
"Staking Rewards": manualLinear(mainnet, periodToSeconds.day * 6000, 360e6), // as measured on 20/06/23
"Testnet Incentive Program": manualStep(
mainnet,
periodToSeconds.month * 3,
4,
486e3,
), // qty
"Community and Dev Endowment": manualStep(
mainnet,
periodToSeconds.month * 3,
4,
126e5,
), // mixed date
"Strategic Partners": manualStep(
mainnet,
periodToSeconds.month * 3,
16,
225e4,
), // mixed date
meta: {
notes: [
`Exact dates for Seed and Private sales couldn't be found, so we've given them the latest dates described.`,
`Staking reward unlocks depend on the amount of AVAX staked. Since this can't be predicted, we have extrapolated the past rate of rewards.`,
],
sources: [
"https://web.archive.org/web/20210920192748/https://info.avax.network/",
"https://medium.com/avalancheavax/avalanche-raises-42m-in-4-5-hours-for-its-first-public-sale-d09362bf3efc",
],
token: "coingecko:avalanche-2",
protocolIds: [],
},
categories: {},
};

export default avax;
48 changes: 48 additions & 0 deletions protocols/fantom.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import { Protocol } from "../types/adapters";
import { manualCliff } from "../adapters/manual";
import { periodToSeconds } from "../utils/time";
import { LinearAdapterResult } from "../types/adapters";
const qty = 3550e6;
const start = 1529103600;

const inflation = (percentage: number): LinearAdapterResult[] => {
const sections: LinearAdapterResult[] = [];
let thisStart: number = start;
let total = qty;
const period: number = periodToSeconds.year;
for (let i = 0; i < 10; i++) {
const amount = total * (1 + 0.05 * percentage) - total;

sections.push({
type: "linear",
start: thisStart,
end: thisStart + period,
amount,
});

total += amount;
thisStart += period;
}
return sections;
};

const fantom: Protocol = {
"Token Sale": manualCliff(start, qty * 0.4),
"Market Development": manualCliff(start, qty * 0.3),
"Advisors & Consultants": manualCliff(start, qty * 0.15),
"Team & Founders": manualCliff(start, qty * 0.15),
"Platform Incentives": inflation(0.8),
"Node Rewards": inflation(0.2),
meta: {
sources: ["https://icodrops.com/fantom/"],
token: "coingecko:fantom",
protocolIds: [],
},
categories: {
publicSale: ["Token Sale"],
insiders: ["Team & Founders", "Advisors & Consultants"],
farming: ["Platform Incentives", "Node Rewards"],
noncirculating: ["Market Development"],
},
};
export default fantom;
76 changes: 76 additions & 0 deletions protocols/solana.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
import { LinearAdapterResult, Protocol } from "../types/adapters";
import { manualCliff, manualLinear } from "../adapters/manual";
import { periodToSeconds } from "../utils/time";

const qty = 500e6;
const mainnet = 1585008000;
const unlock = mainnet + periodToSeconds.month * 9;
const purchaser = qty * 0.372;
const foundersUnlock = 1609977600;

const inflation = () => {
const sections: LinearAdapterResult[] = [];
const allocation = qty * 0.339;
const disinflationRate = 0.15;

let inflationRate = 8;
let start = mainnet;
let total = qty;
let workingQty = 0;

while (inflationRate > 1.5) {
if (total > 700e6 || workingQty > allocation) return sections;
const amount = total * (inflationRate / (12 * 100));

sections.push({
type: "linear",
start,
end: start + periodToSeconds.month,
amount,
});

workingQty += amount;
total += amount;
start += periodToSeconds.month;
inflationRate *= (1 - disinflationRate) ** (1 / 12);
}

return sections;
};

const solana: Protocol = {
"Seed Round": manualCliff(unlock, purchaser * 0.427),
"Founding Round": manualCliff(unlock, purchaser * 0.34),
"Validator Round": manualCliff(unlock, purchaser * 0.136),
"Strategic Round": manualCliff(unlock, purchaser * 0.054),
"CoinList Auction": manualCliff(mainnet, purchaser * 0.043),
"Grant pool": manualCliff(1596236400, qty * 0.04),
Foundation: manualCliff(foundersUnlock, qty * 0.125),
"Staking Rewards": inflation(),
Founders: manualLinear(
foundersUnlock,
foundersUnlock + periodToSeconds.year * 2,
qty * 0.125,
),
meta: {
sources: [
"https://coinlist.co/solana",
"https://docs.solana.com/inflation/inflation_schedule",
"https://medium.com/solana-labs/solana-foundation-transparency-report-1-b267fe8595c0",
],
token: "coingecko:solana",
protocolIds: [],
},
categories: {
insiders: [
"Seed Round",
"Founding Round",
"Validator Round",
"Strategic Round",
"Founders",
],
publicSale: ["CoinList Auction"],
noncirculating: ["Grant pool", "Staking Rewards", "Foundation"],
},
};
export default solana;

0 comments on commit 190a26d

Please sign in to comment.