Skip to content

Commit

Permalink
Merge pull request #61 from DefiLlama/ankr
Browse files Browse the repository at this point in the history
Ankr, Op
  • Loading branch information
waynebruce0x committed Jun 28, 2023
2 parents e661fd5 + 4c9935a commit 8cd63d6
Show file tree
Hide file tree
Showing 5 changed files with 186 additions and 2 deletions.
40 changes: 40 additions & 0 deletions protocols/ankr.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import { manualCliff, manualLinear } from "../adapters/manual";
import { Protocol } from "../types/adapters";

const chain: any = "ethereum";
const ANKR: string = "0x8290333ceF9e6D528dD5618Fb97a76f268f3EDD4";
const ankr: Protocol = {
"Private Sale 1": manualCliff("2018-06-01", 300e6),
"Private Sale 2": manualCliff("2018-07-01", 1200e6),
"Private Sale 3": manualCliff("2018-08-01", 1500e6),
"Public Sale": manualCliff("2018-09-22", 500e6),
Marketing: manualCliff("2018-09-22", 500e6),
Team: manualLinear("2019-10-01", "2022-09-01", 1700e6),
Advisors: manualLinear("2019-10-01", "2022-09-01", 300e6),
"Mining Rewards": manualLinear("2019-10-01", "2022-09-01", 4000e6),
meta: {
sources: [
"https://www.ankr.com/docs/staking-extra/ankr-tokenomics/",
"https://research.binance.com/en/projects/ankr-network",
"https://cryptorank.io/ico/ankr-network",
],
token: `${chain}:${ANKR}`,
protocolIds: ["278"],
notes: [
`Dates are generally rounded to the nearest month since little information is available.`,
],
},
categories: {
insiders: [
"Private Sale 1",
"Private Sale 2",
"Private Sale 3",
"Team",
"Advisors",
],
publicSale: ["Public Sale"],
noncirculating: ["Marketing"],
farming: ["Mining Rewards"],
},
};
export default ankr;
80 changes: 80 additions & 0 deletions protocols/merit-circle.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
import { balance, latest } from "../adapters/balance";
import { manualCliff } from "../adapters/manual";
import { CliffAdapterResult, Protocol } from "../types/adapters";

const token = "0x949D48EcA67b17269629c7194F4b727d4Ef9E5d6";
const chain = "ethereum";
const qty = 1e9;
const realtime = (holder: string, deployed: number) =>
balance([holder], token, chain, "merit-circle", deployed).then(
(s: CliffAdapterResult[]) =>
s.filter((c: CliffAdapterResult) => c.amount < 1e8),
);

const merit: Protocol = {
"Community Incentives": realtime(
"0x56475a4a8D00b6F7b01E0879CBbba609707aef6b",
1641513600,
),
Contributors: realtime(
"0x97173277FED329ee844BAfa44D7719ad372a7150",
1668124800,
),
"DAO Treasury": realtime(
"0x7e9e4c0876B2102F33A1d82117Cc73B7FddD0032",
1635548400,
),
"Early Contributors": realtime(
"0xB5A0cbB4fC7294642216Cd7AFbc3525B24316cbc",
1652137200,
),
"Liquidity Rewards": manualCliff(1633042800, qty * 0.1),
"Public Distribution": manualCliff(1633042800, qty * 0.075),
"Retroactive Rewards": realtime(
"0x4f6d9907fBc54feDeA9296860d36E14ccC348F7A",
1640649600,
),
meta: {
notes: [],
token: `${chain}:${token}`,
sources: [
`https://meritcircle.gitbook.io/merit-circle/merit-circle-usdmc/merit-circle-usdmc/token-distribution`,
],
protocolIds: ["1048"],
incompleteSections: [
{
key: "Community Incentives",
allocation: qty * 0.302,
lastRecord: () => latest("merit-circle", 1641513600),
},
{
key: "Contributors",
allocation: qty * 0.2,
lastRecord: () => latest("merit-circle", 1668124800),
},
{
key: "DAO Treasury",
allocation: undefined,
lastRecord: () => latest("merit-circle", 1635548400),
},
{
key: "Early Contributors",
allocation: qty * 0.141,
lastRecord: () => latest("merit-circle", 1652137200),
},
{
key: "Retroactive Rewards",
allocation: qty * 0.034,
lastRecord: () => latest("merit-circle", 1640649600),
},
],
},
categories: {
insiders: ["Contributors", "Early Contributors", "Retroactive Rewards"],
farming: ["Community Incentives", "Liquidity Rewards"],
publicSale: ["Public Distribution"],
noncirculating: ["DAO Treasury"],
},
};

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

const qty = 4294967296;

const optimism: Protocol = {
"Ecosystem Fund": [
manualLinear("2022-06-01", "2023-04-31", 94175479),
manualLinear("2022-06-01", "2024-04-31", 90e6),
manualLinear("2024-05-01", "2025-04-31", 94e6),
manualLinear("2025-05-01", "2026-04-31", 108e6),
],
"Retroactive Public Goods Funding": [
manualLinear("2022-06-01", "2023-04-31", 3710574),
manualLinear("2023-05-01", "2024-04-31", 9e7),
manualLinear("2024-05-01", "2025-04-31", 12e7),
manualLinear("2025-05-01", "2026-04-31", 42e7),
],
Airdrops: [
manualCliff("2022-06-01", qty * 0.05),
manualCliff("2023-02-09", 11742277),
],
Team: [
manualCliff("2023-05-31", qty * 0.19 * 0.25),
manualStep(
"2023-05-31",
periodToSeconds.month,
36,
(qty * 0.19 * 0.75) / 36,
),
],
Investors: [
manualCliff("2023-05-31", qty * 0.17 * 0.25),
manualStep(
"2023-05-31",
periodToSeconds.month,
36,
(qty * 0.17 * 0.75) / 36,
),
],
meta: {
notes: [
`Total supply inflates at 2% per year but the documentation doesnt describe how they're allocated.`,
`35% of initial total supply has not been allocated by the foundation.`,
`Ecosystem fund and Retroactive Public Goods Funding unlocks have been estimated in the referenced spreadsheet.`,
`Futures airdrops (14%) are unpredictable and have therefore been excluded from analysis.`,
],
token: "optimism:0x4200000000000000000000000000000000000042",
sources: [
"https://docs.google.com/spreadsheets/d/1qVMhLmmch3s6XSbiBe8hgD4ntMkPIOhc1WrhsYsQc7M/edit#gid=1283480580",
"https://community.optimism.io/docs/governance/allocations/",
"https://discord.com/channels/667044843901681675/667044844366987296/1111586687605297152",
],
protocolIds: ["2967"],
},
categories: {
insiders: ["Team", "Investors"],
airdrop: ["Airdrops"],
noncirculating: ["Retroactive Public Goods Funding", "Ecosystem Fund"],
},
};

export default optimism;
2 changes: 1 addition & 1 deletion utils/chainCalls.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ export function filterRawAmounts(
if (thisBalance == 0) continue;

const amount = (data[i - 1].result - thisBalance) / 10 ** decimals;
if (amount == 0) continue;
if (amount < 0) continue;
const start = data[i].timestamp;

sections.push({ type: "cliff", start, amount });
Expand Down
2 changes: 1 addition & 1 deletion utils/chart.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ export async function getChartPng(
let saveLocation = `${path}/testCharts/result${i}.png`;
if (typeof image == "string") {
image = await sendToImageHost(image);
saveLocation = `result${i}.txt`;
saveLocation = `result${isCI ? "" : i}.txt`;
}
fs.writeFile(saveLocation, image, function (err) {
if (err) {
Expand Down

0 comments on commit 8cd63d6

Please sign in to comment.