mirror of
https://github.com/bitcoinresearchkit/brk.git
synced 2026-07-30 04:08:11 -07:00
general: fixes
This commit is contained in:
@@ -55,6 +55,7 @@ This project is in a very early stage. Until more people look at the code and ch
|
|||||||
|
|
||||||
- 1 TB of free space (will use 60-80% of that)
|
- 1 TB of free space (will use 60-80% of that)
|
||||||
- A running instance of bitcoin-core with txindex=1 and rpc credentials
|
- A running instance of bitcoin-core with txindex=1 and rpc credentials
|
||||||
|
- Git
|
||||||
|
|
||||||
### Docker
|
### Docker
|
||||||
|
|
||||||
@@ -62,28 +63,49 @@ Coming soon
|
|||||||
|
|
||||||
### Manual
|
### Manual
|
||||||
|
|
||||||
#### Prepare
|
#### 1. Dependencies
|
||||||
|
|
||||||
|
First we need to install Rust
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# https://www.rust-lang.org/tools/install
|
# Source: https://www.rust-lang.org/tools/install
|
||||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||||
# https://github.com/watchexec/cargo-watch?tab=readme-ov-file#install
|
```
|
||||||
|
|
||||||
|
Then we need to `cargo-watch` for the server
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Source: https://github.com/watchexec/cargo-watch?tab=readme-ov-file#install
|
||||||
cargo install cargo-watch --locked
|
cargo install cargo-watch --locked
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Parser
|
#### 2. Git
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
git clone https://github.com/satonomics-org/satonomics.git
|
||||||
|
|
||||||
|
cd satonomics
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 3. Parser
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd parser
|
||||||
|
|
||||||
# The first run needs several information about your bitcoin-core config
|
# The first run needs several information about your bitcoin-core config
|
||||||
./run.sh --datadir=$HOME/Developer/bitcoin --rpcuser=satoshi --rpcpassword=nakamoto
|
./run.sh --datadir=$HOME/Developer/bitcoin --rpcuser=satoshi --rpcpassword=nakamoto
|
||||||
|
|
||||||
# Next time you can just do: ./run.sh
|
# Next time you can just do: ./run.sh
|
||||||
# As everything is saved in
|
# As everything is saved in
|
||||||
|
|
||||||
|
cd ..
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Server
|
#### Server
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
cd server
|
||||||
|
|
||||||
./run.sh
|
./run.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -103,11 +125,17 @@ Then the easiest to let others access your server is with `cloudflared` which wi
|
|||||||
- **Versatile**: You can view the data in charts, you can download the data, you can fetch the data via an API
|
- **Versatile**: You can view the data in charts, you can download the data, you can fetch the data via an API
|
||||||
- **Accessible**: Free Website and API with all the datasets for everyone
|
- **Accessible**: Free Website and API with all the datasets for everyone
|
||||||
|
|
||||||
## Logo
|
## Brand
|
||||||
|
|
||||||
The dove (borrowed from [svgrepo](https://www.svgrepo.com/svg/351969/dove) for now) represents _**hope**_ (kibō in japanese).
|
### Name
|
||||||
|
|
||||||
The orange background represents Bitcoin and when in a circle, it also represents the sun, which means that while it's our hope for a better future, we still have to be careful with our collective goals and actions, to not end up like Icarus.
|
kibō means _**hope**_ in japanese which is what Bitcoin ultimately is for many, hope for a better future.
|
||||||
|
|
||||||
|
### Logo
|
||||||
|
|
||||||
|
The dove (borrowed from [svgrepo](https://www.svgrepo.com/svg/351969/dove) for now) is known to represent hope in many cultures.
|
||||||
|
|
||||||
|
The orange background is a wink to Bitcoin and when in a circle, it also represents the sun, which means that while it's our hope for a better future, we still have to be careful with our collective goals and actions, to not end up like Icarus.
|
||||||
|
|
||||||
## Roadmap
|
## Roadmap
|
||||||
|
|
||||||
|
|||||||
+19
-7
@@ -411,18 +411,22 @@
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
|
left: 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
padding: 1.5rem /* 24px */;
|
padding: 1.5rem /* 24px */;
|
||||||
z-index: 10;
|
z-index: 20;
|
||||||
|
pointer-events: none;
|
||||||
|
justify-content: end;
|
||||||
|
|
||||||
& > * + * {
|
&:has(> * + *) {
|
||||||
margin-left: 1rem /* 16px */;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
|
|
||||||
& > button {
|
& > button {
|
||||||
box-shadow: 0 0 1rem 0.5rem var(--background-color);
|
box-shadow: 0 0 1rem 0.5rem var(--background-color);
|
||||||
border-radius: 9999px;
|
border-radius: 9999px;
|
||||||
border-width: 1px;
|
border-width: 1px;
|
||||||
|
pointer-events: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -908,6 +912,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#selected-frame {
|
#selected-frame {
|
||||||
|
/* display: flex; Set in script */
|
||||||
|
flex-direction: column;
|
||||||
|
display: none;
|
||||||
|
|
||||||
> header {
|
> header {
|
||||||
button {
|
button {
|
||||||
margin: -0.5rem 0;
|
margin: -0.5rem 0;
|
||||||
@@ -1662,6 +1670,13 @@
|
|||||||
/>
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
|
<button id="button-go-to-selected" title="Go to selected">
|
||||||
|
<svg viewBox="0 0 20 20">
|
||||||
|
<path
|
||||||
|
d="M4.25 2A2.25 2.25 0 0 0 2 4.25v2a.75.75 0 0 0 1.5 0v-2a.75.75 0 0 1 .75-.75h2a.75.75 0 0 0 0-1.5h-2ZM13.75 2a.75.75 0 0 0 0 1.5h2a.75.75 0 0 1 .75.75v2a.75.75 0 0 0 1.5 0v-2A2.25 2.25 0 0 0 15.75 2h-2ZM3.5 13.75a.75.75 0 0 0-1.5 0v2A2.25 2.25 0 0 0 4.25 18h2a.75.75 0 0 0 0-1.5h-2a.75.75 0 0 1-.75-.75v-2ZM18 13.75a.75.75 0 0 0-1.5 0v2a.75.75 0 0 1-.75.75h-2a.75.75 0 0 0 0 1.5h2A2.25 2.25 0 0 0 18 15.75v-2ZM7 10a3 3 0 1 1 6 0 3 3 0 0 1-6 0Z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
</footer>
|
</footer>
|
||||||
</section>
|
</section>
|
||||||
<section id="search-frame" hidden>
|
<section id="search-frame" hidden>
|
||||||
@@ -1873,10 +1888,7 @@
|
|||||||
<div class="shadow-left"></div>
|
<div class="shadow-left"></div>
|
||||||
<div class="shadow-right"></div>
|
<div class="shadow-right"></div>
|
||||||
|
|
||||||
<section
|
<section id="selected-frame">
|
||||||
id="selected-frame"
|
|
||||||
style="display: flex; flex-direction: column"
|
|
||||||
>
|
|
||||||
<header>
|
<header>
|
||||||
<div>
|
<div>
|
||||||
<div style="display: flex; align-items: center">
|
<div style="display: flex; align-items: center">
|
||||||
|
|||||||
+66
-75
@@ -506,31 +506,19 @@ function createColors() {
|
|||||||
return dark() ? tailwindRose900 : tailwindRose100;
|
return dark() ? tailwindRose900 : tailwindRose100;
|
||||||
}
|
}
|
||||||
|
|
||||||
function darkWhite() {
|
function off() {
|
||||||
const _ = dark();
|
const _ = dark();
|
||||||
return bodyStyle.getPropertyValue("--off-color");
|
return bodyStyle.getPropertyValue("--off-color");
|
||||||
}
|
}
|
||||||
|
|
||||||
function gray() {
|
function textColor() {
|
||||||
const _ = dark();
|
|
||||||
return bodyStyle.getPropertyValue("--border-color");
|
|
||||||
}
|
|
||||||
|
|
||||||
function white() {
|
|
||||||
const _ = dark();
|
const _ = dark();
|
||||||
return bodyStyle.getPropertyValue("--color");
|
return bodyStyle.getPropertyValue("--color");
|
||||||
}
|
}
|
||||||
|
|
||||||
function black() {
|
|
||||||
const _ = dark();
|
|
||||||
return bodyStyle.getPropertyValue("--background-color");
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
white,
|
default: textColor,
|
||||||
black,
|
off,
|
||||||
darkWhite,
|
|
||||||
gray,
|
|
||||||
lightBitcoin: yellow,
|
lightBitcoin: yellow,
|
||||||
bitcoin: orange,
|
bitcoin: orange,
|
||||||
darkBitcoin: darkOrange,
|
darkBitcoin: darkOrange,
|
||||||
@@ -596,7 +584,7 @@ function createColors() {
|
|||||||
ust: red,
|
ust: red,
|
||||||
busd: yellow,
|
busd: yellow,
|
||||||
usdd: emerald,
|
usdd: emerald,
|
||||||
frax: gray,
|
frax: off,
|
||||||
dai: amber,
|
dai: amber,
|
||||||
tusd: indigo,
|
tusd: indigo,
|
||||||
pyusd: blue,
|
pyusd: blue,
|
||||||
@@ -1502,7 +1490,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: `Even`,
|
title: `Even`,
|
||||||
color: colors.white,
|
color: colors.off,
|
||||||
datasetPath: `${scale}-to-1`,
|
datasetPath: `${scale}-to-1`,
|
||||||
options: {
|
options: {
|
||||||
lineStyle: 3,
|
lineStyle: 3,
|
||||||
@@ -1543,12 +1531,12 @@ function initEverythingRelatedToPresets() {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: `Raw`,
|
title: `Raw`,
|
||||||
color: colors.white,
|
color: colors.default,
|
||||||
datasetPath: ratioDatasetPath,
|
datasetPath: ratioDatasetPath,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: `Even`,
|
title: `Even`,
|
||||||
color: colors.gray,
|
color: colors.off,
|
||||||
datasetPath: `${scale}-to-1`,
|
datasetPath: `${scale}-to-1`,
|
||||||
options: {
|
options: {
|
||||||
lineStyle: 3,
|
lineStyle: 3,
|
||||||
@@ -1581,7 +1569,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: `Base`,
|
title: `Base`,
|
||||||
color: colors.white,
|
color: colors.off,
|
||||||
datasetPath: `${scale}-to-0`,
|
datasetPath: `${scale}-to-0`,
|
||||||
options: {
|
options: {
|
||||||
lineStyle: 3,
|
lineStyle: 3,
|
||||||
@@ -1622,7 +1610,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: `Raw`,
|
title: `Raw`,
|
||||||
color: colors.white,
|
color: colors.default,
|
||||||
datasetPath: ratioDatasetPath,
|
datasetPath: ratioDatasetPath,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@@ -1643,9 +1631,9 @@ function initEverythingRelatedToPresets() {
|
|||||||
],
|
],
|
||||||
bottom: [
|
bottom: [
|
||||||
{
|
{
|
||||||
title: `1%`,
|
title: `0.1%`,
|
||||||
color: colors.probability1p,
|
color: colors.probability0_1p,
|
||||||
datasetPath: /** @type {any} */ (`${ratioDatasetPath}-1p`),
|
datasetPath: `${ratioDatasetPath}-0-1p`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: `0.5%`,
|
title: `0.5%`,
|
||||||
@@ -1653,13 +1641,13 @@ function initEverythingRelatedToPresets() {
|
|||||||
datasetPath: `${ratioDatasetPath}-0-5p`,
|
datasetPath: `${ratioDatasetPath}-0-5p`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: `0.1%`,
|
title: `1%`,
|
||||||
color: colors.probability0_1p,
|
color: colors.probability1p,
|
||||||
datasetPath: `${ratioDatasetPath}-0-1p`,
|
datasetPath: /** @type {any} */ (`${ratioDatasetPath}-1p`),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: `Raw`,
|
title: `Raw`,
|
||||||
color: colors.white,
|
color: colors.default,
|
||||||
datasetPath: ratioDatasetPath,
|
datasetPath: ratioDatasetPath,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@@ -1673,17 +1661,17 @@ function initEverythingRelatedToPresets() {
|
|||||||
unit: "US Dollars",
|
unit: "US Dollars",
|
||||||
top: [
|
top: [
|
||||||
{
|
{
|
||||||
title: `0.1%`,
|
title: `99.9%`,
|
||||||
color: colors.probability0_1p,
|
color: colors.probability0_1p,
|
||||||
datasetPath: /** @type {any} */ (`${valueDatasetPath}-99-9p`),
|
datasetPath: /** @type {any} */ (`${valueDatasetPath}-99-9p`),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: `0.5%`,
|
title: `99.5%`,
|
||||||
color: colors.probability0_5p,
|
color: colors.probability0_5p,
|
||||||
datasetPath: `${valueDatasetPath}-99-5p`,
|
datasetPath: `${valueDatasetPath}-99-5p`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: `1%`,
|
title: `99%`,
|
||||||
color: colors.probability1p,
|
color: colors.probability1p,
|
||||||
datasetPath: `${valueDatasetPath}-99p`,
|
datasetPath: `${valueDatasetPath}-99p`,
|
||||||
},
|
},
|
||||||
@@ -1698,17 +1686,17 @@ function initEverythingRelatedToPresets() {
|
|||||||
unit: "US Dollars",
|
unit: "US Dollars",
|
||||||
top: [
|
top: [
|
||||||
{
|
{
|
||||||
title: `0.1%`,
|
title: `99.9%`,
|
||||||
color: colors.probability0_1p,
|
color: colors.probability0_1p,
|
||||||
datasetPath: `${valueDatasetPath}-0-1p`,
|
datasetPath: `${valueDatasetPath}-0-1p`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: `0.5%`,
|
title: `99.5%`,
|
||||||
color: colors.probability0_5p,
|
color: colors.probability0_5p,
|
||||||
datasetPath: `${valueDatasetPath}-0-5p`,
|
datasetPath: `${valueDatasetPath}-0-5p`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: `1%`,
|
title: `99%`,
|
||||||
color: colors.probability1p,
|
color: colors.probability1p,
|
||||||
datasetPath: `${valueDatasetPath}-1p`,
|
datasetPath: `${valueDatasetPath}-1p`,
|
||||||
},
|
},
|
||||||
@@ -1943,7 +1931,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
bottom: [
|
bottom: [
|
||||||
{
|
{
|
||||||
title: "Target",
|
title: "Target",
|
||||||
color: colors.white,
|
color: colors.off,
|
||||||
datasetPath: `date-to-blocks-mined-1d-target`,
|
datasetPath: `date-to-blocks-mined-1d-target`,
|
||||||
options: {
|
options: {
|
||||||
lineStyle: 3,
|
lineStyle: 3,
|
||||||
@@ -1977,7 +1965,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
bottom: [
|
bottom: [
|
||||||
{
|
{
|
||||||
title: "Target",
|
title: "Target",
|
||||||
color: colors.white,
|
color: colors.off,
|
||||||
datasetPath: `date-to-blocks-mined-1w-target`,
|
datasetPath: `date-to-blocks-mined-1w-target`,
|
||||||
options: {
|
options: {
|
||||||
lineStyle: 3,
|
lineStyle: 3,
|
||||||
@@ -2000,7 +1988,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
bottom: [
|
bottom: [
|
||||||
{
|
{
|
||||||
title: "Target",
|
title: "Target",
|
||||||
color: colors.white,
|
color: colors.off,
|
||||||
datasetPath: `date-to-blocks-mined-1m-target`,
|
datasetPath: `date-to-blocks-mined-1m-target`,
|
||||||
options: {
|
options: {
|
||||||
lineStyle: 3,
|
lineStyle: 3,
|
||||||
@@ -2023,7 +2011,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
bottom: [
|
bottom: [
|
||||||
{
|
{
|
||||||
title: "Target",
|
title: "Target",
|
||||||
color: colors.white,
|
color: colors.off,
|
||||||
datasetPath: `date-to-blocks-mined-1y-target`,
|
datasetPath: `date-to-blocks-mined-1y-target`,
|
||||||
options: {
|
options: {
|
||||||
lineStyle: 3,
|
lineStyle: 3,
|
||||||
@@ -2059,7 +2047,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
tree: createRecapPresets({
|
tree: createRecapPresets({
|
||||||
scale,
|
scale,
|
||||||
title: "Block Size",
|
title: "Block Size",
|
||||||
color: colors.darkWhite,
|
color: colors.off,
|
||||||
unit: "Megabytes",
|
unit: "Megabytes",
|
||||||
keySum: "date-to-block-size-1d-sum",
|
keySum: "date-to-block-size-1d-sum",
|
||||||
keyAverage: "date-to-block-size-1d-average",
|
keyAverage: "date-to-block-size-1d-average",
|
||||||
@@ -2078,7 +2066,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
tree: createRecapPresets({
|
tree: createRecapPresets({
|
||||||
scale,
|
scale,
|
||||||
title: "Block Weight",
|
title: "Block Weight",
|
||||||
color: colors.darkWhite,
|
color: colors.off,
|
||||||
unit: "Weight",
|
unit: "Weight",
|
||||||
keyAverage: "date-to-block-weight-1d-average",
|
keyAverage: "date-to-block-weight-1d-average",
|
||||||
keyMax: "date-to-block-weight-1d-max",
|
keyMax: "date-to-block-weight-1d-max",
|
||||||
@@ -2096,7 +2084,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
tree: createRecapPresets({
|
tree: createRecapPresets({
|
||||||
scale,
|
scale,
|
||||||
title: "Block VBytes",
|
title: "Block VBytes",
|
||||||
color: colors.darkWhite,
|
color: colors.off,
|
||||||
unit: "Virtual Bytes",
|
unit: "Virtual Bytes",
|
||||||
keyAverage: "date-to-block-vbytes-1d-average",
|
keyAverage: "date-to-block-vbytes-1d-average",
|
||||||
keyMax: "date-to-block-vbytes-1d-max",
|
keyMax: "date-to-block-vbytes-1d-max",
|
||||||
@@ -2114,7 +2102,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
tree: createRecapPresets({
|
tree: createRecapPresets({
|
||||||
scale,
|
scale,
|
||||||
title: "Block Interval",
|
title: "Block Interval",
|
||||||
color: colors.darkWhite,
|
color: colors.off,
|
||||||
unit: "Seconds",
|
unit: "Seconds",
|
||||||
keyAverage: "date-to-block-interval-1d-average",
|
keyAverage: "date-to-block-interval-1d-average",
|
||||||
keyMax: "date-to-block-interval-1d-max",
|
keyMax: "date-to-block-interval-1d-max",
|
||||||
@@ -2138,7 +2126,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
bottom: [
|
bottom: [
|
||||||
{
|
{
|
||||||
title: "Size",
|
title: "Size",
|
||||||
color: colors.darkWhite,
|
color: colors.off,
|
||||||
datasetPath: `height-to-block-size`,
|
datasetPath: `height-to-block-size`,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@@ -2153,7 +2141,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
bottom: [
|
bottom: [
|
||||||
{
|
{
|
||||||
title: "Weight",
|
title: "Weight",
|
||||||
color: colors.darkWhite,
|
color: colors.off,
|
||||||
datasetPath: `height-to-block-weight`,
|
datasetPath: `height-to-block-weight`,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@@ -2168,7 +2156,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
bottom: [
|
bottom: [
|
||||||
{
|
{
|
||||||
title: "VBytes",
|
title: "VBytes",
|
||||||
color: colors.darkWhite,
|
color: colors.off,
|
||||||
datasetPath: `height-to-block-vbytes`,
|
datasetPath: `height-to-block-vbytes`,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@@ -2183,7 +2171,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
bottom: [
|
bottom: [
|
||||||
{
|
{
|
||||||
title: "Interval",
|
title: "Interval",
|
||||||
color: colors.darkWhite,
|
color: colors.off,
|
||||||
datasetPath: `height-to-block-interval`,
|
datasetPath: `height-to-block-interval`,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@@ -2199,7 +2187,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
bottom: [
|
bottom: [
|
||||||
{
|
{
|
||||||
title: "Size",
|
title: "Size",
|
||||||
color: colors.darkWhite,
|
color: colors.off,
|
||||||
datasetPath: `${scale}-to-cumulative-block-size`,
|
datasetPath: `${scale}-to-cumulative-block-size`,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@@ -3480,12 +3468,12 @@ function initEverythingRelatedToPresets() {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Total",
|
title: "Total",
|
||||||
color: colors.white,
|
color: colors.default,
|
||||||
datasetPath: `${scale}-to-${datasetPrefix}supply`,
|
datasetPath: `${scale}-to-${datasetPrefix}supply`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Halved Total",
|
title: "Halved Total",
|
||||||
color: colors.gray,
|
color: colors.off,
|
||||||
datasetPath: `${scale}-to-${datasetPrefix}halved-supply`,
|
datasetPath: `${scale}-to-${datasetPrefix}halved-supply`,
|
||||||
options: {
|
options: {
|
||||||
lineStyle: 4,
|
lineStyle: 4,
|
||||||
@@ -3563,12 +3551,12 @@ function initEverythingRelatedToPresets() {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "100%",
|
title: "100%",
|
||||||
color: colors.white,
|
color: colors.default,
|
||||||
datasetPath: `${scale}-to-${datasetPrefix}supply-to-circulating-supply-ratio`,
|
datasetPath: `${scale}-to-${datasetPrefix}supply-to-circulating-supply-ratio`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "50%",
|
title: "50%",
|
||||||
color: colors.gray,
|
color: colors.off,
|
||||||
datasetPath: `${scale}-to-${datasetPrefix}halved-supply-to-circulating-supply-ratio`,
|
datasetPath: `${scale}-to-${datasetPrefix}halved-supply-to-circulating-supply-ratio`,
|
||||||
options: {
|
options: {
|
||||||
lineStyle: 4,
|
lineStyle: 4,
|
||||||
@@ -3646,7 +3634,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "100%",
|
title: "100%",
|
||||||
color: colors.white,
|
color: colors.default,
|
||||||
datasetPath: `${scale}-to-100`,
|
datasetPath: `${scale}-to-100`,
|
||||||
options: {
|
options: {
|
||||||
lastValueVisible: false,
|
lastValueVisible: false,
|
||||||
@@ -3654,7 +3642,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "50%",
|
title: "50%",
|
||||||
color: colors.gray,
|
color: colors.off,
|
||||||
datasetPath: `${scale}-to-50`,
|
datasetPath: `${scale}-to-50`,
|
||||||
options: {
|
options: {
|
||||||
lineStyle: 4,
|
lineStyle: 4,
|
||||||
@@ -4128,7 +4116,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
bottom: [
|
bottom: [
|
||||||
{
|
{
|
||||||
title: `Total Empty Addresses`,
|
title: `Total Empty Addresses`,
|
||||||
color: colors.darkWhite,
|
color: colors.off,
|
||||||
datasetPath: `${scale}-to-empty-addresses`,
|
datasetPath: `${scale}-to-empty-addresses`,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@@ -4330,7 +4318,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
bottom: [
|
bottom: [
|
||||||
{
|
{
|
||||||
title: "Market Cap",
|
title: "Market Cap",
|
||||||
color: colors.white,
|
color: colors.default,
|
||||||
datasetPath: `${scale}-to-market-cap`,
|
datasetPath: `${scale}-to-market-cap`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -5300,11 +5288,12 @@ function initEverythingRelatedToPresets() {
|
|||||||
const details = window.document.createElement("details");
|
const details = window.document.createElement("details");
|
||||||
const folderOpenLocalStorageKey = `${folderId}-open`;
|
const folderOpenLocalStorageKey = `${folderId}-open`;
|
||||||
details.open = !!localStorage.getItem(folderOpenLocalStorageKey);
|
details.open = !!localStorage.getItem(folderOpenLocalStorageKey);
|
||||||
|
details.id = folderId;
|
||||||
detailsList.push(details);
|
detailsList.push(details);
|
||||||
li.appendChild(details);
|
li.appendChild(details);
|
||||||
|
|
||||||
const summary = window.document.createElement("summary");
|
const summary = window.document.createElement("summary");
|
||||||
summary.id = folderId;
|
details.appendChild(summary);
|
||||||
|
|
||||||
const spanMarker = window.document.createElement("span");
|
const spanMarker = window.document.createElement("span");
|
||||||
spanMarker.classList.add("marker");
|
spanMarker.classList.add("marker");
|
||||||
@@ -5320,8 +5309,6 @@ function initEverythingRelatedToPresets() {
|
|||||||
smallCount.hidden = details.open;
|
smallCount.hidden = details.open;
|
||||||
summary.append(smallCount);
|
summary.append(smallCount);
|
||||||
|
|
||||||
details.appendChild(summary);
|
|
||||||
|
|
||||||
const thisPath = {
|
const thisPath = {
|
||||||
name: anyPartial.name,
|
name: anyPartial.name,
|
||||||
id: restFolder.id,
|
id: restFolder.id,
|
||||||
@@ -5539,14 +5526,8 @@ function initEverythingRelatedToPresets() {
|
|||||||
const selectedId = selected().id;
|
const selectedId = selected().id;
|
||||||
|
|
||||||
selected().path.forEach(({ id }) => {
|
selected().path.forEach(({ id }) => {
|
||||||
const summary = getElementById(id);
|
const details = /** @type {HTMLDetailsElement} */ (getElementById(id));
|
||||||
const details = /** @type {HTMLDetailsElement | undefined} */ (
|
details.open = true;
|
||||||
summary.parentElement
|
|
||||||
);
|
|
||||||
if (!details) throw "Parent details should exist";
|
|
||||||
if (!details.open) {
|
|
||||||
summary.click();
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
@@ -5556,10 +5537,14 @@ function initEverythingRelatedToPresets() {
|
|||||||
});
|
});
|
||||||
}, 0);
|
}, 0);
|
||||||
}
|
}
|
||||||
|
goToSelected();
|
||||||
|
|
||||||
if (firstTime) {
|
async function initGoToSelectedButton() {
|
||||||
goToSelected();
|
getElementById("button-go-to-selected").addEventListener("click", () => {
|
||||||
|
goToSelected();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
initGoToSelectedButton();
|
||||||
|
|
||||||
function createUpdateSelectedHeaderEffect() {
|
function createUpdateSelectedHeaderEffect() {
|
||||||
createEffect(() => {
|
createEffect(() => {
|
||||||
@@ -5570,6 +5555,11 @@ function initEverythingRelatedToPresets() {
|
|||||||
}
|
}
|
||||||
createUpdateSelectedHeaderEffect();
|
createUpdateSelectedHeaderEffect();
|
||||||
|
|
||||||
|
function changeSeletedFrameDisplayToFlex() {
|
||||||
|
selectedFrame.style.display = "flex";
|
||||||
|
}
|
||||||
|
changeSeletedFrameDisplayToFlex();
|
||||||
|
|
||||||
const LOCAL_STORAGE_TIME_RANGE_KEY = "chart-range";
|
const LOCAL_STORAGE_TIME_RANGE_KEY = "chart-range";
|
||||||
const URL_PARAMS_TIME_RANGE_FROM_KEY = "from";
|
const URL_PARAMS_TIME_RANGE_FROM_KEY = "from";
|
||||||
const URL_PARAMS_TIME_RANGE_TO_KEY = "to";
|
const URL_PARAMS_TIME_RANGE_TO_KEY = "to";
|
||||||
@@ -6024,13 +6014,13 @@ function initEverythingRelatedToPresets() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
createEffect(() => {
|
createEffect(() => {
|
||||||
const { white, darkWhite } = colors;
|
const { default: white, off: gray } = colors;
|
||||||
|
|
||||||
const color = white();
|
const color = white();
|
||||||
|
|
||||||
chart.applyOptions({
|
chart.applyOptions({
|
||||||
layout: {
|
layout: {
|
||||||
textColor: darkWhite(),
|
textColor: gray(),
|
||||||
},
|
},
|
||||||
rightPriceScale: {
|
rightPriceScale: {
|
||||||
borderVisible: false,
|
borderVisible: false,
|
||||||
@@ -6621,7 +6611,8 @@ function initEverythingRelatedToPresets() {
|
|||||||
|
|
||||||
const datasets = createDatasets();
|
const datasets = createDatasets();
|
||||||
|
|
||||||
/** @type {DeepPartial<SeriesOptionsCommon>} */
|
/**
|
||||||
|
* @type {DeepPartial<SeriesOptionsCommon>} */
|
||||||
const defaultSeriesOptions = {
|
const defaultSeriesOptions = {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
lineWidth: 1.5,
|
lineWidth: 1.5,
|
||||||
@@ -7129,7 +7120,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
seriesBlueprint = {
|
seriesBlueprint = {
|
||||||
datasetPath,
|
datasetPath,
|
||||||
title,
|
title,
|
||||||
color: colors.white,
|
color: colors.default,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -7304,7 +7295,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
minMarker = {
|
minMarker = {
|
||||||
weight: min.weight,
|
weight: min.weight,
|
||||||
time: min.time,
|
time: min.time,
|
||||||
color: colors.white(),
|
color: colors.default(),
|
||||||
position: "belowBar",
|
position: "belowBar",
|
||||||
shape: "arrowUp",
|
shape: "arrowUp",
|
||||||
size: 0,
|
size: 0,
|
||||||
@@ -7316,7 +7307,7 @@ function initEverythingRelatedToPresets() {
|
|||||||
maxMarker = {
|
maxMarker = {
|
||||||
weight: max.weight,
|
weight: max.weight,
|
||||||
time: max.time,
|
time: max.time,
|
||||||
color: colors.white(),
|
color: colors.default(),
|
||||||
position: "aboveBar",
|
position: "aboveBar",
|
||||||
shape: "arrowDown",
|
shape: "arrowDown",
|
||||||
size: 0,
|
size: 0,
|
||||||
|
|||||||
Reference in New Issue
Block a user