diff --git a/README.md b/README.md index 331219f..09522b5 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,10 @@ https://docs.llama.fi/list-your-project/emissions-dashboard ## Testing ``` -ts-node utils/test.ts [fileName] +npm t [fileName] + +# Example +npm t protocols/gearbox.ts ``` ## Further Questions: diff --git a/package.json b/package.json index 3daf4c4..e07eb60 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "scripts": { - "test": "ts-node utils/test.ts" + "test": "mkdir -p utils/testCharts && ts-node utils/test.ts" }, "dependencies": { "@defillama/sdk": "^4.0.43", diff --git a/protocols/aura.ts b/protocols/aura.ts new file mode 100644 index 0000000..815c245 --- /dev/null +++ b/protocols/aura.ts @@ -0,0 +1,52 @@ +import { Protocol } from "../types/adapters"; +import { manualStep, manualCliff, manualLinear } from "../adapters/manual"; +import { periodToSeconds } from "../utils/time"; + +const totalSupply = 100e6; +const start = 1654732800; + +const aura: Protocol = { + + "Future incentives": manualStep(1671148800, periodToSeconds.day, 1, 1e6), + "Bootstrapping token holder base": manualStep(start, periodToSeconds.day, 1, 1e6), + "LBP liquidity": manualStep(start, periodToSeconds.day, 1, 1.7e6), + "veBAL bootstrapping incentives": manualStep(start, periodToSeconds.day, 1, 2e6), + "AURA/ETH POL": manualStep(start, periodToSeconds.day, 1, 2e6), + "BAL treasury": manualLinear(start, start + periodToSeconds.year * 2, 2e6), + "auraBAL incentives": manualLinear(start, start + periodToSeconds.year * 4, 10e6), + "Contributors": [ + manualLinear(start, start + periodToSeconds.year, 4.25e6), + manualLinear(start + periodToSeconds.year, start + periodToSeconds.year * 3.5, 5.75e6) + ], + "Treasury": [ + manualStep(start, periodToSeconds.day, 1, 2.8e6), + manualLinear(start, start + periodToSeconds.year * 4, 17.5e6) + ], + "Balancer LP rewards": [ + manualLinear(start, start + periodToSeconds.year, 13.5e6), + manualLinear(start + periodToSeconds.year, start + periodToSeconds.year * 2, 9.5e6), + manualLinear(start + periodToSeconds.year * 2, start + periodToSeconds.year * 4, 12e6), + manualLinear(start + periodToSeconds.year * 4, start + periodToSeconds.year * 6, 10e6), + manualLinear(start + periodToSeconds.year * 6, start + periodToSeconds.year * 7.5, 5e6) + ], + meta: { + + notes: [ + `The emission and distribution details are based on the proposed and intended token emission and distribution for Aura.`, + `The exact details might vary based on real-time decisions and governance.`, + ], + sources: [ + "https://docs.aura.finance/aura/usdaura/distribution", + ], + token: "ethereum:0xc0c293ce456ff0ed870add98a0828dd4d2903dbf", + protocolIds: ["1918"], + }, + categories: { + farming: ["auraBAL incentives", "Balancer LP rewards"], + noncirculating: ["BAL treasury", "Treasury"], + insiders: ["Contributors"], + airdrop: ["AURA/ETH POL", "Bootstrapping token holder base", "LBP liquidity", "veBAL bootstrapping incentives", "Future incentives"] + }, +}; + +export default aura; diff --git a/protocols/cow-swap.ts b/protocols/cow-swap.ts new file mode 100644 index 0000000..1a70636 --- /dev/null +++ b/protocols/cow-swap.ts @@ -0,0 +1,35 @@ +import { Protocol } from "../types/adapters"; +import { manualLinear, manualStep, manualCliff } from "../adapters/manual"; +import { periodToSeconds } from "../utils/time"; + +const totalSupply = 1e9; +const start = 1648166400; + +const cow: Protocol = { + "CoWmunity Airdrop": manualCliff(start, totalSupply * 0.05), + "CoW DAO Treasury": manualCliff(start, totalSupply * 0.571), + "CoW Advisory": manualLinear(start, start + periodToSeconds.year * 4, totalSupply * 0.006), + "CoWmunity Investment": manualLinear(start, start + periodToSeconds.year * 4, totalSupply * 0.025), + "Investment Round": manualLinear(start, start + periodToSeconds.year * 4, totalSupply * 0.096), + "GnosisDAO": manualLinear(start, start + periodToSeconds.year * 4, totalSupply * 0.10), + "Team": manualLinear(start, start + periodToSeconds.year * 4, totalSupply * 0.15), + meta: { + notes: [ + `The emission and distribution details are based on the proposed and intended token emission and distribution for CoW Protocol.`, + `The exact details might vary based on real-time decisions and governance.`, + ], + sources: [ + "https://blog.cow.fi/cow-token-is-moving-forward-at-full-speed-d9f047a23b57", + ], + token: "ethereum:0xdef1ca1fb7fbcdc777520aa7f396b4e015f497ab", + protocolIds: ["2643"], + }, + categories: { + farming: [], + noncirculating: ["CoW DAO Treasury"], + insiders: ["Team", "GnosisDAO", "Investment Round", "CoW Advisory"], + airdrop: ["CoWmunity Airdrop", "CoWmunity Investment"] + }, +}; + +export default cow; \ No newline at end of file diff --git a/protocols/dfx.ts b/protocols/dfx.ts new file mode 100644 index 0000000..5a0fab9 --- /dev/null +++ b/protocols/dfx.ts @@ -0,0 +1,41 @@ +import { Protocol } from "../types/adapters"; +import { manualLinear } from "../adapters/manual"; +import { periodToSeconds } from "../utils/time"; + +const totalSupply = 100000000; +const start = 1612137600; + +const dfx: Protocol = { + + + + "Future Token Sale": manualLinear(start, start + periodToSeconds.month * 36, totalSupply * 0.05), + "Dev Fund": manualLinear(start, start + periodToSeconds.month * 36, totalSupply * 0.05), + "Founders (4 founders)": manualLinear(start, start + periodToSeconds.month * 36, totalSupply * 0.15), + "Seed (11 investors)": manualLinear(start, start + periodToSeconds.month * 36, totalSupply * 0.108), + "Pre-Seed (9 investors)": manualLinear(start, start + periodToSeconds.month * 24, totalSupply * 0.092), + "Treasury - Ecosystem DAO": manualLinear(start, start + periodToSeconds.month * 36, totalSupply * 0.20), + "Liquidity Providers": [ + manualLinear(start, start + periodToSeconds.month * 32, totalSupply * 0.35 * 0.65), + manualLinear(start + periodToSeconds.month * 32, start + periodToSeconds.month * 64, totalSupply * 0.35 * 0.25), + manualLinear(start + periodToSeconds.month * 64, start + periodToSeconds.month * 96, totalSupply * 0.35 * 0.10) + ], + meta: { + notes: [ + `The emission and distribution details are based on the proposed and intended token emission and distribution for DFX Protocol.`, + `The exact details might vary based on real-time decisions and governance.`, + ], + sources: [ + "https://docs.dfx.finance/protocol/governance/dfx-token", + ], + token: "ethereum:0x888888435fde8e7d4c54cab67f206e4199454c60", + protocolIds: ["366"], + }, + categories: { + farming: ["Liquidity Providers"], + noncirculating: ["Treasury - Ecosystem DAO", "Dev Fund", "Future Token Sale"], + insiders: ["Pre-Seed (9 investors)", "Seed (11 investors)", "Founders (4 founders)"], + }, +}; + +export default dfx; diff --git a/wipProtocols/wagyu.ts b/wipProtocols/wagyu.ts new file mode 100644 index 0000000..8112aad --- /dev/null +++ b/wipProtocols/wagyu.ts @@ -0,0 +1,63 @@ +import { manualCliff, manualLinear } from "../adapters/manual"; +import { Protocol } from "../types/adapters"; +import { periodToSeconds } from "../utils/time"; + +const start = 1696118400; //01-10-2023 +const qty = 1000000000; //1b +const time1y = 1727740800 //01-10-24 + + +const wagyu: Protocol = { + "TenderSwap Bonding": manualCliff(start, qty * 0.05), + "Public Sale": manualCliff(start, qty * 0.05), + "Tenderize Labs": manualLinear( + start, start + 3 *periodToSeconds.year, + 0.1 * qty + ), + "Genesis Grants": manualLinear ( + start, start + 12 * periodToSeconds.month, + 0.03 * qty + ), + "Public Airdrop": manualLinear( + start, + start + 12 * periodToSeconds.month, + 0.04 * qty, + ), + "Staking Incentives": manualLinear( + start, start + 3 *periodToSeconds.year, + 0.11 * qty + ), + "Community Incentives": manualLinear( + start, start + 3 *periodToSeconds.year, + 0.12 * qty + ), + "DAO Treasury": manualLinear( + start, start + 3 *periodToSeconds.year, + 0.125 * qty + ), + "Current & Future Team": manualLinear( + time1y, time1y + 2 *periodToSeconds.year, + 0.175 * qty + ), + "Early Backers": manualLinear( + time1y, time1y + 2 *periodToSeconds.year, + 0.2 * qty + ), + meta: { + notes: [ + ` Regarding Incentives, after the 3 months, it will be 30%-40%-30% Supply-Borrow-Bribe. The rates can be adjusted via governance in order to keep up with the market. `, + ], + token: "base:0x2dc1cda9186a4993bd36de60d08787c0c382bead", //add + sources: ["https://www.tenderize.me/blog/wagyu-tokenomics-tge-timeline"], + protocolIds: ["1784"], + }, + categories: { + insiders: ["Early Backers", "Current & Future Team", "Genesis Grants", "Tenderize Labs"], + publicSale: ["Public Sale", "TenderSwap Bonding"], + farming: ["Community Incentives", "Staking Incentives"], + noncirculating: ["DAO Treasury"], + airdrop: ["Public Airdrop"] + + }, +}; +export default wagyu; \ No newline at end of file