Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
waynebruce0x committed Feb 25, 2024
2 parents caf01ff + a6b28de commit d3a2c56
Show file tree
Hide file tree
Showing 5 changed files with 158 additions and 46 deletions.
42 changes: 42 additions & 0 deletions protocols/exactly.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import { manualCliff, manualLinear } from "../adapters/manual";
import { periodToSeconds } from "../utils/time";
import type { Protocol } from "../types/adapters";

const launch = 1689972929; // 21 July 2023 8:55:29 PM
const vestingStart = 1717200000; // 01 June 2024 00:00:00 AM
const end = vestingStart + periodToSeconds.year * 4;

const total = 10_000_000;

const team = total * 0.314;
const airdrop = total * 0.01;
const incident = total * 0.1;
const treasury = total * 0.1;
const investors = total * 0.136;
const community = total * 0.45 - incident - airdrop;

const exactly: Protocol = {
"DAO Treasury": manualCliff(launch, treasury),
Airdrop: manualLinear(launch, launch + periodToSeconds.month * 4, airdrop),
Community: manualLinear(launch, end, community),
"Incident Compensation": manualLinear(vestingStart, end, incident),
Investors: manualLinear(vestingStart, end, investors),
"Team and Advisors": manualLinear(vestingStart, end, team),
meta: {
token: "optimism:0x1e925De1c68ef83bD98eE3E130eF14a50309C01B",
sources: [
"https://docs.exact.ly/governance/exactly-token-exa",
"https://x.com/ExactlyProtocol/status/1681380822304149504",
"https://medium.com/@exactly_protocol/the-exa-token-is-here-88a2449c4eb3",
],
protocolIds: ["2385"],
},
categories: {
airdrop: ["Airdrop"],
insiders: ["Team and Advisors", "Investors"],
noncirculating: ["DAO Treasury"],
farming: ["Community"]
},
};

export default exactly;
2 changes: 1 addition & 1 deletion protocols/holdstation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { manualLinear, manualCliff } from "../adapters/manual";
import { periodToSeconds } from "../utils/time";

const totalSupply = 30_000_000;
const TGE = 1700092800;
const TGE = 1701043201;

// Allocations
const investorAllocation = totalSupply * 0.10; // 10%
Expand Down
6 changes: 3 additions & 3 deletions protocols/ipor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ const ipor: Protocol = {
"Core Team": manualLinear(TGE + periodToSeconds.day, TGE + periodToSeconds.day + periodToSeconds.year * 3, 20e6),
"Investors": manualLinear(TGE + periodToSeconds.day, TGE + periodToSeconds.day + periodToSeconds.year * 3, 11.85e6),
"airdrop": [
manualStep(TGE + periodToSeconds.year + 17 * periodToSeconds.day, periodToSeconds.day, 1, 85200),
manualLinear(TGE + periodToSeconds.year + 17 * periodToSeconds.day, TGE + periodToSeconds.year + 17 * periodToSeconds.day + periodToSeconds.month * 6, 305000),
manualStep(TGE + periodToSeconds.month + 17 * periodToSeconds.day, periodToSeconds.day, 0, 85200),
manualLinear(TGE + periodToSeconds.month + 17 * periodToSeconds.day, TGE + periodToSeconds.month + 17 * periodToSeconds.day + periodToSeconds.month * 6, 305000),
],
meta: {
notes: [
Expand All @@ -32,4 +32,4 @@ const ipor: Protocol = {
},
};

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

const totalSupply = 10_000_000_000; // 10 billion
const start = 1708430400; // February 20, 2024 12pm


// calculation for Investors and Early Contributors
const combinedAllocationPercentage = 0.3821; // 38.21%
const combinedAllocation = totalSupply * combinedAllocationPercentage; // Combined allocation

// Initial cliffs
const initialCliffPercentage = 0.131; // 13.1% of combined allocation
const april30CliffPercentage = 0.004; // 0.4% of combined allocation

const initialCliffAmount = combinedAllocation * initialCliffPercentage;
const april30CliffAmount = combinedAllocation * april30CliffPercentage;

// Equally distributed cliffs
const eachInitialCliffAmount = initialCliffAmount / 2;
const eachApril30CliffAmount = april30CliffAmount / 2;

// Calculating remaining allocations after initial cliffs
const remainingAfterCliffs = combinedAllocation - (initialCliffAmount + april30CliffAmount);
const remainingEachAfterCliffs = remainingAfterCliffs / 2; // Divide the remainder equally

// Corrected Unix timestamps for unlock dates
const unlockDate1 = 1713139200; // April 15, 2024
const unlockDate2 = 1714435200; // April 30, 2024
const monthlyReleaseStart = unlockDate2;


const starknet: Protocol = {
"Community Provisions": manualCliff(start, totalSupply * 0.09),
"StarkWare": manualLinear(start, start + periodToSeconds.year * 4, totalSupply * 0.1076),
"Grants including DPs": manualLinear(start, start + periodToSeconds.year * 4, totalSupply * 0.1293),
"Community Rebates": manualLinear(start, start + periodToSeconds.year * 4, totalSupply * 0.09),
"Foundation Strategic Reserves": manualLinear(start, start + periodToSeconds.year * 4, totalSupply * 0.1),
"Foundation Treasury": manualLinear(start, start + periodToSeconds.year * 4, totalSupply * 0.081),
"Donations": manualLinear(start, start + periodToSeconds.year * 4, totalSupply * 0.02),
"Early Contributors": [
manualCliff(unlockDate1, eachInitialCliffAmount), // Half of 13.1% unlocked on April 15, 2024
manualCliff(unlockDate2, eachApril30CliffAmount), // Half of 0.4% unlocked on April 30, 2024
manualStep(monthlyReleaseStart, periodToSeconds.month, 31, remainingEachAfterCliffs / 31) // Distribute the remaining allocation
],
"Investors": [
manualCliff(unlockDate1, eachInitialCliffAmount), // Half of 13.1% unlocked on April 15, 2024
manualCliff(unlockDate2, eachApril30CliffAmount), // Half of 0.4% unlocked on April 30, 2024
manualStep(monthlyReleaseStart, periodToSeconds.month, 31, remainingEachAfterCliffs / 31) // Distribute the remaining allocation
],
meta: {
notes: [
"Distribution based on Starknet Foundation's plan. Details may vary based on governance decisions."
],
sources: [
"https://docs.starknet.io/documentation/architecture_and_concepts/Economics-of-Starknet/#supply_and_distribution"
],
token: "starknet:0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d", // L2 address
protocolIds: [""],
},
categories: {
insiders: ["Early Contributors", "Investors", "Donations"],
noncirculating: ["Foundation Strategic Reserves", "Foundation Treasury", "StarkWare", "Grants including DPs"],
airdrop: ["Community Provisions"],
liquidity: ["Community Rebates"]
},
};

export default starknet;
84 changes: 42 additions & 42 deletions protocols/sui.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,77 +2,77 @@ import { Protocol } from '../types/adapters';
import { manualCliff, manualStep } from '../adapters/manual';
import { periodToSeconds } from '../utils/time';

const totalQty = 10e6;
const start = 1680307200;
const aptos: Protocol = {
'Community Reserve': [
manualCliff(start, totalQty / 20),
manualStep(
start + periodToSeconds.month * 12,
periodToSeconds.month,
24,
totalQty * 0.0015
),
const totalQty = 10e9; // 10 billion tokens
const start = 1683072000; // May 3, 2023

const sui: Protocol = {
'ICO $0.03': [
manualCliff(start, totalQty * 0.0138),
],
'Binance Launchpool': [
manualCliff(start, totalQty * 0.004),
],
'ICO $0.1': [
manualCliff(start, (totalQty * 0.045) * 0.07),
manualStep(
start + periodToSeconds.month * 36,
start,
periodToSeconds.month,
12,
totalQty * 0.00015
13,
(totalQty * 0.045) * 0.93 / 13
),
],
'Community Reserve': [
manualCliff(start, totalQty * 0.49720000001 * 0.01),
manualStep(
start + periodToSeconds.month * 36,
start,
periodToSeconds.month,
48,
totalQty * 0.0007
84,
(totalQty * 0.49720000001) * 0.99 / 84
),
],
'Early Contributors': [
manualStep(start, periodToSeconds.month, 84, totalQty / 20 / 84),
],
'Community Access Program': [
manualStep(start, periodToSeconds.month, 84, totalQty / 20 / 84),
],
'Series A': [
manualCliff(start + periodToSeconds.month * 12, totalQty / 35),
manualStep(
start + periodToSeconds.month * 12,
start + periodToSeconds.month * 6,
periodToSeconds.month,
24,
totalQty * 0.0015
36,
totalQty * 0.2 / 36
),
],
'Mysten Labs Treasury': [
manualStep(
start + periodToSeconds.month * 36,
start + periodToSeconds.month * 6,
periodToSeconds.month,
12,
totalQty * 0.0001
42,
totalQty * 0.1 / 42
),
],
'Series A': [
manualStep(
start + periodToSeconds.month * 36,
start + periodToSeconds.month * 6,
periodToSeconds.month,
48,
totalQty * 0.00035
24,
totalQty * 0.08 / 24
),
],
'Series B': [
manualCliff(start + periodToSeconds.month * 12, totalQty / 25),
manualStep(
start + periodToSeconds.month * 12,
start + periodToSeconds.year,
periodToSeconds.month,
84,
totalQty / 20 / 84
24,
totalQty * 0.06 / 24
),
],
'Stake Subsidies': [
manualStep(start, periodToSeconds.month, 96, totalQty / 10 / 96),
],
meta: {
sources: ['https://blog.sui.io/token-release-schedule/'],
token: 'coingecko:sui',
protocolIds: ['3181'],
},
categories: {
insiders: ['Series A', 'Series B', 'Early Contributors'],
noncirculating: ['Community Access Program'],
publicSale: ["ICO $0.03","ICO $0.1","Binance Launchpool"],
noncirculating: ['Mysten Labs Treasury', 'Community Reserve'],
},
};
export default aptos;

export default sui;

0 comments on commit d3a2c56

Please sign in to comment.