mirror of
https://github.com/bitcoinresearchkit/brk.git
synced 2026-04-25 23:29:58 -07:00
release: v0.1.1
This commit is contained in:
@@ -1,30 +1,35 @@
|
||||
import groupedKeysToPath from "/src/../../datasets/grouped_keys_to_url_path.json";
|
||||
|
||||
import { createResourceDataset } from "./resource";
|
||||
|
||||
export { averages } from "./consts/averages";
|
||||
|
||||
export function createDateDatasets({
|
||||
setActiveResources,
|
||||
groupedKeysToURLPath,
|
||||
}: {
|
||||
setActiveResources: Setter<Set<ResourceDataset<any, any>>>;
|
||||
groupedKeysToURLPath: GroupedKeysToURLPath["date"];
|
||||
}) {
|
||||
type Key = keyof typeof groupedKeysToPath.date;
|
||||
type Key = keyof typeof groupedKeysToURLPath;
|
||||
type ResourceData = ReturnType<typeof createResourceDataset<"date">>;
|
||||
|
||||
const resourceDatasets = {} as Record<Exclude<Key, "ohlc">, ResourceData>;
|
||||
type ResourceDatasets = Record<Exclude<Key, "ohlc">, ResourceData>;
|
||||
|
||||
Object.entries(groupedKeysToPath.date).forEach(([_key, path]) => {
|
||||
for (const _key in groupedKeysToURLPath) {
|
||||
const key = _key as Key;
|
||||
|
||||
if (key !== "ohlc") {
|
||||
resourceDatasets[key] = createResourceDataset<"date">({
|
||||
scale: "date",
|
||||
path,
|
||||
setActiveResources,
|
||||
});
|
||||
const path = groupedKeysToURLPath[key];
|
||||
|
||||
(groupedKeysToURLPath as any as ResourceDatasets)[key] =
|
||||
createResourceDataset<"date">({
|
||||
scale: "date",
|
||||
path,
|
||||
setActiveResources,
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
const resourceDatasets = groupedKeysToURLPath as any as ResourceDatasets;
|
||||
|
||||
const price = createResourceDataset<"date", OHLC>({
|
||||
scale: "date",
|
||||
|
||||
@@ -1,27 +1,33 @@
|
||||
import groupedKeysToPath from "/src/../../datasets/grouped_keys_to_url_path.json";
|
||||
|
||||
import { createResourceDataset } from "./resource";
|
||||
|
||||
export function createHeightDatasets({
|
||||
setActiveResources,
|
||||
groupedKeysToURLPath,
|
||||
}: {
|
||||
setActiveResources: Setter<Set<ResourceDataset<any, any>>>;
|
||||
groupedKeysToURLPath: GroupedKeysToURLPath["height"];
|
||||
}) {
|
||||
type Key = keyof typeof groupedKeysToPath.height;
|
||||
type Key = keyof typeof groupedKeysToURLPath;
|
||||
type ResourceData = ReturnType<typeof createResourceDataset<"height">>;
|
||||
|
||||
const resourceDatasets = {} as Record<Exclude<Key, "ohlc">, ResourceData>;
|
||||
type ResourceDatasets = Record<Exclude<Key, "ohlc">, ResourceData>;
|
||||
|
||||
Object.keys(groupedKeysToPath.height).forEach(([_key, path]) => {
|
||||
for (const _key in groupedKeysToURLPath) {
|
||||
const key = _key as Key;
|
||||
|
||||
if (key !== "ohlc") {
|
||||
resourceDatasets[key] = createResourceDataset<"height">({
|
||||
scale: "height",
|
||||
path,
|
||||
setActiveResources,
|
||||
});
|
||||
const path = groupedKeysToURLPath[key];
|
||||
|
||||
(groupedKeysToURLPath as any as ResourceDatasets)[key] =
|
||||
createResourceDataset<"height">({
|
||||
scale: "height",
|
||||
path,
|
||||
setActiveResources,
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
const resourceDatasets = groupedKeysToURLPath as any as ResourceDatasets;
|
||||
|
||||
const price = createResourceDataset<"height", OHLC>({
|
||||
scale: "height",
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import groupedKeysToURLPath from "/src/../../datasets/grouped_keys_to_url_path.json";
|
||||
|
||||
import { createDateDatasets } from "./date";
|
||||
import { createHeightDatasets } from "./height";
|
||||
|
||||
@@ -10,8 +12,18 @@ export function createDatasets({
|
||||
}: {
|
||||
setActiveResources: Setter<Set<ResourceDataset<any, any>>>;
|
||||
}) {
|
||||
const date = createDateDatasets({
|
||||
setActiveResources,
|
||||
groupedKeysToURLPath: groupedKeysToURLPath.date,
|
||||
});
|
||||
|
||||
const height = createHeightDatasets({
|
||||
setActiveResources,
|
||||
groupedKeysToURLPath: groupedKeysToURLPath.height,
|
||||
});
|
||||
|
||||
return {
|
||||
date: createDateDatasets({ setActiveResources }),
|
||||
height: createHeightDatasets({ setActiveResources }),
|
||||
date,
|
||||
height,
|
||||
} satisfies Record<ResourceScale, any>;
|
||||
}
|
||||
|
||||
@@ -22,9 +22,10 @@ export function createResourceDataset<
|
||||
setActiveResources: Setter<Set<ResourceDataset<any, any>>>;
|
||||
}) {
|
||||
const baseURL = `${
|
||||
location.hostname === "localhost"
|
||||
? "http://localhost:3110"
|
||||
: "https://api.satonomics.xyz"
|
||||
// location.hostname === "localhost"
|
||||
// ? "http://localhost:3110"
|
||||
// : "https://api.satonomics.xyz"
|
||||
"https://api.satonomics.xyz"
|
||||
}${path}`;
|
||||
|
||||
type Dataset = Scale extends "date"
|
||||
@@ -36,8 +37,8 @@ export function createResourceDataset<
|
||||
>;
|
||||
|
||||
const fetchedJSONs = new Array(
|
||||
(new Date().getFullYear() - new Date("2009-01-01").getFullYear()) *
|
||||
(scale === "date" ? 2 : 8),
|
||||
(new Date().getFullYear() - new Date("2009-01-01").getFullYear() + 2) *
|
||||
(scale === "date" ? 1 : 6),
|
||||
)
|
||||
.fill(null)
|
||||
.map((): FetchedResult<Scale, Type> => {
|
||||
|
||||
3
app/src/scripts/datasets/types.d.ts
vendored
3
app/src/scripts/datasets/types.d.ts
vendored
@@ -96,3 +96,6 @@ interface OHLC {
|
||||
low: number;
|
||||
close: number;
|
||||
}
|
||||
|
||||
type GroupedKeysToURLPath =
|
||||
typeof import("/src/../../datasets/grouped_keys_to_url_path.json");
|
||||
|
||||
@@ -17,7 +17,7 @@ const debouncedUpdateURLParams = debounce((range: TimeRange | null) => {
|
||||
writeURLParam(URL_PARAMS_RANGE_TO_KEY, String(range.to));
|
||||
|
||||
localStorage.setItem(LOCAL_STORAGE_RANGE_KEY, JSON.stringify(range));
|
||||
}, 1000);
|
||||
}, 500);
|
||||
|
||||
export function initTimeScale({
|
||||
activeResources,
|
||||
@@ -101,8 +101,6 @@ export function getInitialRange(): TimeRange {
|
||||
|
||||
export function setTimeScale(range: TimeRange | null) {
|
||||
if (range) {
|
||||
console.log(range);
|
||||
|
||||
setTimeout(() => {
|
||||
chartState.chart?.timeScale().setVisibleRange(range);
|
||||
}, 1);
|
||||
|
||||
@@ -9,10 +9,8 @@ import { applyMultipleSeries, SeriesType } from "../templates/multiple";
|
||||
|
||||
export function createPresets({
|
||||
scale,
|
||||
datasets,
|
||||
}: {
|
||||
scale: ResourceScale;
|
||||
datasets: Datasets;
|
||||
}): PartialPresetFolder {
|
||||
return {
|
||||
name: "Addresses",
|
||||
@@ -112,7 +110,6 @@ export function createPresets({
|
||||
name: "By Size",
|
||||
tree: addressCohortsBySize.map(({ key, name }) =>
|
||||
createAddressPresetFolder({
|
||||
datasets,
|
||||
scale,
|
||||
color: colors[key],
|
||||
name,
|
||||
@@ -125,7 +122,6 @@ export function createPresets({
|
||||
name: "By Type",
|
||||
tree: addressCohortsByType.map(({ key, name }) =>
|
||||
createAddressPresetFolder({
|
||||
datasets,
|
||||
scale,
|
||||
color: colors[key],
|
||||
name,
|
||||
@@ -138,13 +134,11 @@ export function createPresets({
|
||||
}
|
||||
|
||||
function createAddressPresetFolder<Scale extends ResourceScale>({
|
||||
datasets,
|
||||
scale,
|
||||
color,
|
||||
name,
|
||||
datasetKey,
|
||||
}: {
|
||||
datasets: Datasets;
|
||||
scale: Scale;
|
||||
name: string;
|
||||
datasetKey: AddressCohortKey;
|
||||
@@ -156,7 +150,6 @@ function createAddressPresetFolder<Scale extends ResourceScale>({
|
||||
createAddressCountPreset({ scale, name, datasetKey, color }),
|
||||
...createCohortPresetList({
|
||||
title: name,
|
||||
datasets,
|
||||
scale,
|
||||
name,
|
||||
color,
|
||||
@@ -170,7 +163,6 @@ function createAddressPresetFolder<Scale extends ResourceScale>({
|
||||
tree: createCohortPresetList({
|
||||
title: `${liquidity.name} ${name}`,
|
||||
name: `${liquidity.name} ${name}`,
|
||||
datasets,
|
||||
scale,
|
||||
color,
|
||||
datasetKey: `${liquidity.key}_${datasetKey}`,
|
||||
|
||||
@@ -3,13 +3,9 @@ import { applyMultipleSeries, SeriesType } from "../templates/multiple";
|
||||
|
||||
export function createPresets<Scale extends ResourceScale>({
|
||||
scale,
|
||||
datasets: _datasets,
|
||||
}: {
|
||||
scale: Scale;
|
||||
datasets: Datasets;
|
||||
}) {
|
||||
const datasets = _datasets[scale];
|
||||
|
||||
return {
|
||||
name: "Cointime Economics",
|
||||
tree: [
|
||||
@@ -29,27 +25,27 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Vaulted Price",
|
||||
color: colors.vaultedness,
|
||||
dataset: datasets.vaulted_price,
|
||||
dataset: params.datasets[scale].vaulted_price,
|
||||
},
|
||||
{
|
||||
title: "Active Price",
|
||||
color: colors.liveliness,
|
||||
dataset: datasets.active_price,
|
||||
dataset: params.datasets[scale].active_price,
|
||||
},
|
||||
{
|
||||
title: "True Market Mean",
|
||||
color: colors.trueMarketMeanPrice,
|
||||
dataset: datasets.true_market_mean,
|
||||
dataset: params.datasets[scale].true_market_mean,
|
||||
},
|
||||
{
|
||||
title: "Realized Price",
|
||||
color: colors.bitcoin,
|
||||
dataset: datasets.realized_price,
|
||||
dataset: params.datasets[scale].realized_price,
|
||||
},
|
||||
{
|
||||
title: "Cointime",
|
||||
color: colors.cointimePrice,
|
||||
dataset: datasets.cointime_price,
|
||||
dataset: params.datasets[scale].cointime_price,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -71,7 +67,7 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Active Price",
|
||||
color: colors.liveliness,
|
||||
dataset: datasets.active_price,
|
||||
dataset: params.datasets[scale].active_price,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -95,7 +91,7 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Vaulted Price",
|
||||
color: colors.vaultedness,
|
||||
dataset: datasets.vaulted_price,
|
||||
dataset: params.datasets[scale].vaulted_price,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -119,7 +115,7 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "True Market Mean",
|
||||
color: colors.trueMarketMeanPrice,
|
||||
dataset: datasets.true_market_mean,
|
||||
dataset: params.datasets[scale].true_market_mean,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -143,7 +139,7 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Cointime",
|
||||
color: colors.cointimePrice,
|
||||
dataset: datasets.cointime_price,
|
||||
dataset: params.datasets[scale].cointime_price,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -174,22 +170,22 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
title: "Market Cap",
|
||||
|
||||
color: colors.white,
|
||||
dataset: datasets.market_cap,
|
||||
dataset: params.datasets[scale].market_cap,
|
||||
},
|
||||
{
|
||||
title: "Realized Cap",
|
||||
color: colors.realizedCap,
|
||||
dataset: datasets.realized_cap,
|
||||
dataset: params.datasets[scale].realized_cap,
|
||||
},
|
||||
{
|
||||
title: "Investor Cap",
|
||||
color: colors.investorCap,
|
||||
dataset: datasets.investor_cap,
|
||||
dataset: params.datasets[scale].investor_cap,
|
||||
},
|
||||
{
|
||||
title: "Thermo Cap",
|
||||
color: colors.thermoCap,
|
||||
dataset: datasets.thermo_cap,
|
||||
dataset: params.datasets[scale].thermo_cap,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -212,7 +208,7 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Thermo Cap",
|
||||
color: colors.thermoCap,
|
||||
dataset: datasets.thermo_cap,
|
||||
dataset: params.datasets[scale].thermo_cap,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -235,7 +231,7 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Investor Cap",
|
||||
color: colors.investorCap,
|
||||
dataset: datasets.investor_cap,
|
||||
dataset: params.datasets[scale].investor_cap,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -257,7 +253,8 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Ratio",
|
||||
color: colors.bitcoin,
|
||||
dataset: datasets.thermo_cap_to_investor_cap_ratio,
|
||||
dataset:
|
||||
params.datasets[scale].thermo_cap_to_investor_cap_ratio,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -284,17 +281,17 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Coinblocks Created",
|
||||
color: colors.coinblocksCreated,
|
||||
dataset: datasets.coinblocks_created,
|
||||
dataset: params.datasets[scale].coinblocks_created,
|
||||
},
|
||||
{
|
||||
title: "Coinblocks Destroyed",
|
||||
color: colors.coinblocksDestroyed,
|
||||
dataset: datasets.coinblocks_destroyed,
|
||||
dataset: params.datasets[scale].coinblocks_destroyed,
|
||||
},
|
||||
{
|
||||
title: "Coinblocks Stored",
|
||||
color: colors.coinblocksStored,
|
||||
dataset: datasets.coinblocks_stored,
|
||||
dataset: params.datasets[scale].coinblocks_stored,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -316,7 +313,7 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Coinblocks Created",
|
||||
color: colors.coinblocksCreated,
|
||||
dataset: datasets.coinblocks_created,
|
||||
dataset: params.datasets[scale].coinblocks_created,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -338,7 +335,7 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Coinblocks Destroyed",
|
||||
color: colors.coinblocksDestroyed,
|
||||
dataset: datasets.coinblocks_destroyed,
|
||||
dataset: params.datasets[scale].coinblocks_destroyed,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -360,7 +357,7 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Coinblocks Stored",
|
||||
color: colors.coinblocksStored,
|
||||
dataset: datasets.coinblocks_stored,
|
||||
dataset: params.datasets[scale].coinblocks_stored,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -387,17 +384,20 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Cumulative Coinblocks Created",
|
||||
color: colors.coinblocksCreated,
|
||||
dataset: datasets.cumulative_coinblocks_created,
|
||||
dataset:
|
||||
params.datasets[scale].cumulative_coinblocks_created,
|
||||
},
|
||||
{
|
||||
title: "Cumulative Coinblocks Destroyed",
|
||||
color: colors.coinblocksDestroyed,
|
||||
dataset: datasets.cumulative_coinblocks_destroyed,
|
||||
dataset:
|
||||
params.datasets[scale].cumulative_coinblocks_destroyed,
|
||||
},
|
||||
{
|
||||
title: "Cumulative Coinblocks Stored",
|
||||
color: colors.coinblocksStored,
|
||||
dataset: datasets.cumulative_coinblocks_stored,
|
||||
dataset:
|
||||
params.datasets[scale].cumulative_coinblocks_stored,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -419,7 +419,8 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Cumulative Coinblocks Created",
|
||||
color: colors.coinblocksCreated,
|
||||
dataset: datasets.cumulative_coinblocks_created,
|
||||
dataset:
|
||||
params.datasets[scale].cumulative_coinblocks_created,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -441,7 +442,8 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Cumulative Coinblocks Destroyed",
|
||||
color: colors.coinblocksDestroyed,
|
||||
dataset: datasets.cumulative_coinblocks_destroyed,
|
||||
dataset:
|
||||
params.datasets[scale].cumulative_coinblocks_destroyed,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -463,7 +465,8 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Cumulative Coinblocks Stored",
|
||||
color: colors.coinblocksStored,
|
||||
dataset: datasets.cumulative_coinblocks_stored,
|
||||
dataset:
|
||||
params.datasets[scale].cumulative_coinblocks_stored,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -490,7 +493,7 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Liveliness",
|
||||
color: colors.liveliness,
|
||||
dataset: datasets.liveliness,
|
||||
dataset: params.datasets[scale].liveliness,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -512,7 +515,7 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Vaultedness",
|
||||
color: colors.vaultedness,
|
||||
dataset: datasets.vaultedness,
|
||||
dataset: params.datasets[scale].vaultedness,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -534,12 +537,12 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Liveliness",
|
||||
color: colors.liveliness,
|
||||
dataset: datasets.liveliness,
|
||||
dataset: params.datasets[scale].liveliness,
|
||||
},
|
||||
{
|
||||
title: "Vaultedness",
|
||||
color: colors.vaultedness,
|
||||
dataset: datasets.vaultedness,
|
||||
dataset: params.datasets[scale].vaultedness,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -561,7 +564,8 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Activity To Vaultedness Ratio",
|
||||
color: colors.activityToVaultednessRatio,
|
||||
dataset: datasets.activity_to_vaultedness_ratio,
|
||||
dataset:
|
||||
params.datasets[scale].activity_to_vaultedness_ratio,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -583,12 +587,13 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Concurrent Liveliness 14d Median",
|
||||
color: `${colors.liveliness}66`,
|
||||
dataset: datasets.concurrent_liveliness_2w_median,
|
||||
dataset:
|
||||
params.datasets[scale].concurrent_liveliness_2w_median,
|
||||
},
|
||||
{
|
||||
title: "Concurrent Liveliness",
|
||||
color: colors.liveliness,
|
||||
dataset: datasets.concurrent_liveliness,
|
||||
dataset: params.datasets[scale].concurrent_liveliness,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -611,13 +616,14 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
title: "Liveliness Incremental Change",
|
||||
color: colors.darkLiveliness,
|
||||
seriesType: SeriesType.Based,
|
||||
dataset: datasets.liveliness_net_change,
|
||||
dataset: params.datasets[scale].liveliness_net_change,
|
||||
},
|
||||
{
|
||||
title: "Liveliness Incremental Change 14 Day Median",
|
||||
color: colors.liveliness,
|
||||
seriesType: SeriesType.Based,
|
||||
dataset: datasets.liveliness_net_change_2w_median,
|
||||
dataset:
|
||||
params.datasets[scale].liveliness_net_change_2w_median,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -644,7 +650,7 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Vaulted Supply",
|
||||
color: colors.vaultedness,
|
||||
dataset: datasets.vaulted_supply,
|
||||
dataset: params.datasets[scale].vaulted_supply,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -666,7 +672,7 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Active Supply",
|
||||
color: colors.liveliness,
|
||||
dataset: datasets.active_supply,
|
||||
dataset: params.datasets[scale].active_supply,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -688,17 +694,17 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Circulating Supply",
|
||||
color: colors.coinblocksCreated,
|
||||
dataset: datasets.supply,
|
||||
dataset: params.datasets[scale].supply,
|
||||
},
|
||||
{
|
||||
title: "Vaulted Supply",
|
||||
color: colors.vaultedness,
|
||||
dataset: datasets.vaulted_supply,
|
||||
dataset: params.datasets[scale].vaulted_supply,
|
||||
},
|
||||
{
|
||||
title: "Active Supply",
|
||||
color: colors.liveliness,
|
||||
dataset: datasets.active_supply,
|
||||
dataset: params.datasets[scale].active_supply,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -722,13 +728,13 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
// id: 'min-vaulted',
|
||||
// title: 'Min Vaulted Supply',
|
||||
// color: colors.vaultedness,
|
||||
// dataset: params.datasets.dateToMinVaultedSupply,
|
||||
// dataset: params.params.datasets[scale].dateToMinVaultedSupply,
|
||||
// },
|
||||
// {
|
||||
// id: 'max-active',
|
||||
// title: 'Max Active Supply',
|
||||
// color: colors.liveliness,
|
||||
// dataset: params.datasets.dateToMaxActiveSupply,
|
||||
// dataset: params.params.datasets[scale].dateToMaxActiveSupply,
|
||||
// },
|
||||
// ],
|
||||
// })
|
||||
@@ -750,7 +756,7 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Vaulted Supply Net Change",
|
||||
color: colors.vaultedness,
|
||||
dataset: datasets.vaulted_supply,
|
||||
dataset: params.datasets[scale].vaulted_supply,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -772,7 +778,7 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Active Supply Net Change",
|
||||
color: colors.liveliness,
|
||||
dataset: datasets.active_supply_net_change,
|
||||
dataset: params.datasets[scale].active_supply_net_change,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -794,14 +800,15 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Active Supply Net Change",
|
||||
color: `${colors.liveliness}80`,
|
||||
dataset: datasets.active_supply_3m_net_change,
|
||||
dataset: params.datasets[scale].active_supply_3m_net_change,
|
||||
seriesType: SeriesType.Based,
|
||||
},
|
||||
{
|
||||
title: "Vaulted Supply Net Change",
|
||||
color: `${colors.vaultedPrice}80`,
|
||||
seriesType: SeriesType.Based,
|
||||
dataset: datasets.vaulted_supply_3m_net_change,
|
||||
dataset:
|
||||
params.datasets[scale].vaulted_supply_3m_net_change,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -826,7 +833,7 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
// title: 'Vaulted Supply Annualized Net Change',
|
||||
// color: colors.vaultedness,
|
||||
// dataset:
|
||||
// datasets.vaultedAnnualizedSupplyNetChange,
|
||||
// params.datasets[scale].vaultedAnnualizedSupplyNetChange,
|
||||
// },
|
||||
// ],
|
||||
// })
|
||||
@@ -851,13 +858,13 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
// id: 'vaulting-rate',
|
||||
// title: 'Vaulting Rate',
|
||||
// color: colors.vaultedness,
|
||||
// dataset: datasets.vaultingRate,
|
||||
// dataset: params.datasets[scale].vaultingRate,
|
||||
// },
|
||||
// {
|
||||
// id: 'nominal-inflation-rate',
|
||||
// title: 'Nominal Inflation Rate',
|
||||
// color: colors.orange,
|
||||
// dataset: params.datasets.dateToYearlyInflationRate,
|
||||
// dataset: params.params.datasets[scale].dateToYearlyInflationRate,
|
||||
// },
|
||||
// ],
|
||||
// })
|
||||
@@ -883,7 +890,7 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
// title: 'Change From Issuance',
|
||||
// color: colors.emerald,
|
||||
// dataset:
|
||||
// params.datasets
|
||||
// params.params.datasets[scale]
|
||||
// [scale].activeSupplyChangeFromIssuance90dChange,
|
||||
// },
|
||||
// {
|
||||
@@ -891,14 +898,14 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
// title: 'Change From Transactions',
|
||||
// color: colors.rose,
|
||||
// dataset:
|
||||
// params.datasets
|
||||
// params.params.datasets[scale]
|
||||
// [scale].activeSupplyChangeFromTransactions90dChange,
|
||||
// },
|
||||
// // {
|
||||
// // id: 'active',
|
||||
// // title: 'Active Supply',
|
||||
// // color: colors.liveliness,
|
||||
// // dataset: datasets.activeSupply,
|
||||
// // dataset: params.datasets[scale].activeSupply,
|
||||
// // },
|
||||
// ],
|
||||
// })
|
||||
@@ -921,17 +928,17 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Circulating Supply",
|
||||
color: colors.coinblocksCreated,
|
||||
dataset: datasets.supply,
|
||||
dataset: params.datasets[scale].supply,
|
||||
},
|
||||
{
|
||||
title: "Vaulted Supply",
|
||||
color: colors.vaultedness,
|
||||
dataset: datasets.vaulted_supply,
|
||||
dataset: params.datasets[scale].vaulted_supply,
|
||||
},
|
||||
{
|
||||
title: "Supply in profit",
|
||||
color: colors.bitcoin,
|
||||
dataset: datasets.supply_in_profit,
|
||||
dataset: params.datasets[scale].supply_in_profit,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -953,17 +960,17 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Circulating Supply",
|
||||
color: colors.coinblocksCreated,
|
||||
dataset: datasets.supply,
|
||||
dataset: params.datasets[scale].supply,
|
||||
},
|
||||
{
|
||||
title: "Active Supply",
|
||||
color: colors.liveliness,
|
||||
dataset: datasets.active_supply,
|
||||
dataset: params.datasets[scale].active_supply,
|
||||
},
|
||||
{
|
||||
title: "Supply in Loss",
|
||||
color: colors.bitcoin,
|
||||
dataset: datasets.supply_in_loss,
|
||||
dataset: params.datasets[scale].supply_in_loss,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -988,12 +995,14 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Cointime Adjusted",
|
||||
color: colors.coinblocksCreated,
|
||||
dataset: datasets.cointime_adjusted_yearly_inflation_rate,
|
||||
dataset:
|
||||
params.datasets[scale]
|
||||
.cointime_adjusted_yearly_inflation_rate,
|
||||
},
|
||||
{
|
||||
title: "Nominal",
|
||||
color: colors.bitcoin,
|
||||
dataset: datasets.yearly_inflation_rate,
|
||||
dataset: params.datasets[scale].yearly_inflation_rate,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -1016,12 +1025,12 @@ export function createPresets<Scale extends ResourceScale>({
|
||||
{
|
||||
title: "Cointime Adjusted",
|
||||
color: colors.coinblocksCreated,
|
||||
dataset: datasets.cointime_adjusted_velocity,
|
||||
dataset: params.datasets[scale].cointime_adjusted_velocity,
|
||||
},
|
||||
{
|
||||
title: "Nominal",
|
||||
color: colors.bitcoin,
|
||||
dataset: datasets.transaction_velocity,
|
||||
dataset: params.datasets[scale].transaction_velocity,
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
@@ -9,13 +9,7 @@ import { colors } from "../../utils/colors";
|
||||
import { createCohortPresetFolder } from "../templates/cohort";
|
||||
import { applyMultipleSeries } from "../templates/multiple";
|
||||
|
||||
export function createPresets({
|
||||
scale,
|
||||
datasets,
|
||||
}: {
|
||||
scale: ResourceScale;
|
||||
datasets: Datasets;
|
||||
}) {
|
||||
export function createPresets({ scale }: { scale: ResourceScale }) {
|
||||
return {
|
||||
name: "Hodlers",
|
||||
tree: [
|
||||
@@ -62,7 +56,6 @@ export function createPresets({
|
||||
},
|
||||
...xthCohorts.map(({ key, name, legend }) =>
|
||||
createCohortPresetFolder({
|
||||
datasets,
|
||||
scale,
|
||||
color: colors[key],
|
||||
name: legend,
|
||||
@@ -74,7 +67,6 @@ export function createPresets({
|
||||
name: "Up To X",
|
||||
tree: upToCohorts.map(({ key, name }) =>
|
||||
createCohortPresetFolder({
|
||||
datasets,
|
||||
scale,
|
||||
color: colors[key],
|
||||
name,
|
||||
@@ -87,7 +79,6 @@ export function createPresets({
|
||||
name: "From X To Y",
|
||||
tree: fromXToYCohorts.map(({ key, name }) =>
|
||||
createCohortPresetFolder({
|
||||
datasets,
|
||||
scale,
|
||||
color: colors[key],
|
||||
name,
|
||||
@@ -100,7 +91,6 @@ export function createPresets({
|
||||
name: "From X",
|
||||
tree: fromXCohorts.map(({ key, name }) =>
|
||||
createCohortPresetFolder({
|
||||
datasets,
|
||||
scale,
|
||||
color: colors[key],
|
||||
name,
|
||||
@@ -113,7 +103,6 @@ export function createPresets({
|
||||
name: "Years",
|
||||
tree: yearCohorts.map(({ key, name }) =>
|
||||
createCohortPresetFolder({
|
||||
datasets,
|
||||
scale,
|
||||
color: colors[key],
|
||||
name,
|
||||
|
||||
@@ -19,7 +19,7 @@ export const LOCAL_STORAGE_HISTORY_KEY = "history";
|
||||
export const LOCAL_STORAGE_SELECTED_KEY = "preset";
|
||||
export const LOCAL_STORAGE_VISITED_KEY = "visited";
|
||||
|
||||
export function createPresets(datasets: Datasets): Presets {
|
||||
export function createPresets(): Presets {
|
||||
const partialTree = [
|
||||
{
|
||||
name: "Dashboards (Coming soon)",
|
||||
@@ -31,21 +31,20 @@ export function createPresets(datasets: Datasets): Presets {
|
||||
{
|
||||
name: "By Date",
|
||||
tree: [
|
||||
createMarketPresets({ scale: "date", datasets }),
|
||||
createMarketPresets({ scale: "date" }),
|
||||
createBlocksPresets(),
|
||||
createMinersPresets("date"),
|
||||
createTransactionsPresets("date"),
|
||||
...createCohortPresetList({
|
||||
datasets,
|
||||
scale: "date",
|
||||
color: colors.bitcoin,
|
||||
datasetKey: "",
|
||||
name: "",
|
||||
title: "",
|
||||
}),
|
||||
createHodlersPresets({ scale: "date", datasets }),
|
||||
createAddressesPresets({ scale: "date", datasets }),
|
||||
createCoinblocksPresets({ scale: "date", datasets }),
|
||||
createHodlersPresets({ scale: "date" }),
|
||||
createAddressesPresets({ scale: "date" }),
|
||||
createCoinblocksPresets({ scale: "date" }),
|
||||
],
|
||||
} satisfies PartialPresetFolder,
|
||||
{
|
||||
|
||||
@@ -3,7 +3,7 @@ import { colors } from "/src/scripts/utils/colors";
|
||||
|
||||
import { applyMultipleSeries } from "../../templates/multiple";
|
||||
|
||||
export function createPresets(datasets: Datasets): PartialPresetFolder {
|
||||
export function createPresets(): PartialPresetFolder {
|
||||
const scale: ResourceScale = "date";
|
||||
|
||||
return {
|
||||
@@ -28,7 +28,6 @@ export function createPresets(datasets: Datasets): PartialPresetFolder {
|
||||
},
|
||||
...averages.map(({ name, key }) =>
|
||||
createPresetFolder({
|
||||
datasets,
|
||||
scale,
|
||||
color: colors[`_${key}`],
|
||||
name,
|
||||
@@ -41,12 +40,10 @@ export function createPresets(datasets: Datasets): PartialPresetFolder {
|
||||
|
||||
function createPresetFolder({
|
||||
scale,
|
||||
datasets,
|
||||
color,
|
||||
name,
|
||||
key,
|
||||
}: {
|
||||
datasets: Datasets;
|
||||
scale: ResourceScale;
|
||||
color: string;
|
||||
name: string;
|
||||
@@ -69,7 +66,7 @@ function createPresetFolder({
|
||||
{
|
||||
title: `SMA`,
|
||||
color,
|
||||
dataset: datasets.date[`price_${key}_sma`],
|
||||
dataset: params.datasets.date[`price_${key}_sma`],
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
@@ -4,13 +4,7 @@ import { createPresets as createAveragesPresets } from "./averages";
|
||||
import { createPresets as createIndicatorsPresets } from "./indicators";
|
||||
import { createPresets as createReturnsPresets } from "./returns";
|
||||
|
||||
export function createPresets({
|
||||
scale,
|
||||
datasets,
|
||||
}: {
|
||||
scale: ResourceScale;
|
||||
datasets: Datasets;
|
||||
}) {
|
||||
export function createPresets({ scale }: { scale: ResourceScale }) {
|
||||
return {
|
||||
name: "Market",
|
||||
tree: [
|
||||
@@ -67,9 +61,9 @@ export function createPresets({
|
||||
},
|
||||
...(scale === "date"
|
||||
? ([
|
||||
createAveragesPresets(datasets),
|
||||
createReturnsPresets(datasets),
|
||||
createIndicatorsPresets(datasets),
|
||||
createAveragesPresets(),
|
||||
createReturnsPresets(),
|
||||
createIndicatorsPresets(),
|
||||
] satisfies PartialPresetTree)
|
||||
: []),
|
||||
],
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
export function createPresets(datasets: Datasets) {
|
||||
export function createPresets() {
|
||||
return {
|
||||
name: "Indicators",
|
||||
tree: [],
|
||||
|
||||
@@ -5,7 +5,7 @@ import {
|
||||
|
||||
import { applyMultipleSeries, SeriesType } from "../../templates/multiple";
|
||||
|
||||
export function createPresets(datasets: Datasets) {
|
||||
export function createPresets() {
|
||||
return {
|
||||
name: "Returns",
|
||||
tree: [
|
||||
@@ -15,7 +15,6 @@ export function createPresets(datasets: Datasets) {
|
||||
...totalReturns.map(({ name, key }) =>
|
||||
createPreset({
|
||||
scale: "date",
|
||||
datasets,
|
||||
name,
|
||||
title: `${name} Total`,
|
||||
key: `${key}_total`,
|
||||
@@ -29,7 +28,6 @@ export function createPresets(datasets: Datasets) {
|
||||
...compoundReturns.map(({ name, key }) =>
|
||||
createPreset({
|
||||
scale: "date",
|
||||
datasets,
|
||||
name,
|
||||
title: `${name} Compound`,
|
||||
key: `${key}_compound`,
|
||||
@@ -43,13 +41,11 @@ export function createPresets(datasets: Datasets) {
|
||||
|
||||
function createPreset({
|
||||
scale,
|
||||
datasets,
|
||||
name,
|
||||
title,
|
||||
key,
|
||||
}: {
|
||||
scale: ResourceScale;
|
||||
datasets: Datasets;
|
||||
name: string;
|
||||
title: string;
|
||||
key: `${TotalReturnKey}_total` | `${CompoundReturnKey}_compound`;
|
||||
@@ -70,7 +66,7 @@ function createPreset({
|
||||
{
|
||||
title: `Return (%)`,
|
||||
seriesType: SeriesType.Based,
|
||||
dataset: datasets.date[`price_${key}_return`],
|
||||
dataset: params.datasets.date[`price_${key}_return`],
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
@@ -3,14 +3,12 @@ import { colors } from "../../utils/colors";
|
||||
import { applyMultipleSeries, SeriesType } from "./multiple";
|
||||
|
||||
export function createCohortPresetFolder<Scale extends ResourceScale>({
|
||||
datasets,
|
||||
scale,
|
||||
color,
|
||||
name,
|
||||
datasetKey,
|
||||
title,
|
||||
}: {
|
||||
datasets: Datasets;
|
||||
scale: Scale;
|
||||
name: string;
|
||||
datasetKey: AnyPossibleCohortKey;
|
||||
@@ -21,7 +19,6 @@ export function createCohortPresetFolder<Scale extends ResourceScale>({
|
||||
name,
|
||||
tree: createCohortPresetList({
|
||||
title,
|
||||
datasets,
|
||||
name,
|
||||
scale,
|
||||
color,
|
||||
@@ -32,14 +29,12 @@ export function createCohortPresetFolder<Scale extends ResourceScale>({
|
||||
|
||||
export function createCohortPresetList<Scale extends ResourceScale>({
|
||||
name,
|
||||
datasets,
|
||||
scale,
|
||||
color,
|
||||
datasetKey,
|
||||
title,
|
||||
}: {
|
||||
name: string;
|
||||
datasets: Datasets;
|
||||
scale: Scale;
|
||||
datasetKey: AnyPossibleCohortKey;
|
||||
title: string;
|
||||
|
||||
Reference in New Issue
Block a user