diff --git a/app/package.json b/app/package.json
index 3bd6124a3..0191c8699 100644
--- a/app/package.json
+++ b/app/package.json
@@ -39,7 +39,7 @@
"unplugin-auto-import": "^0.18.2",
"unplugin-icons": "^0.19.0",
"vite": "^5.3.5",
- "vite-plugin-pwa": "^0.20.0",
+ "vite-plugin-pwa": "^0.20.1",
"vite-plugin-solid": "^2.10.2",
"workbox-window": "^7.1.0",
"wrangler": "^3.66.0"
diff --git a/app/pnpm-lock.yaml b/app/pnpm-lock.yaml
index 76d94b7c3..09c5e586d 100644
--- a/app/pnpm-lock.yaml
+++ b/app/pnpm-lock.yaml
@@ -71,8 +71,8 @@ devDependencies:
specifier: ^5.3.5
version: 5.3.5
vite-plugin-pwa:
- specifier: ^0.20.0
- version: 0.20.0(vite@5.3.5)(workbox-build@7.1.1)(workbox-window@7.1.0)
+ specifier: ^0.20.1
+ version: 0.20.1(vite@5.3.5)(workbox-build@7.1.1)(workbox-window@7.1.0)
vite-plugin-solid:
specifier: ^2.10.2
version: 2.10.2(solid-js@1.8.19)(vite@5.3.5)
@@ -1974,7 +1974,7 @@ packages:
call-me-maybe: 1.0.2
cross-spawn: 7.0.3
string-argv: 0.3.2
- type-detect: 4.0.8
+ type-detect: 4.1.0
dev: true
/@leeoniya/ufuzzy@1.0.14:
@@ -3403,6 +3403,17 @@ packages:
pend: 1.2.0
dev: true
+ /fdir@6.2.0(picomatch@4.0.2):
+ resolution: {integrity: sha512-9XaWcDl0riOX5j2kYfy0kKdg7skw3IY6kA4LFT8Tk2yF9UdrADUy8D6AJuBLtf7ISm/MksumwAHE3WVbMRyCLw==}
+ peerDependencies:
+ picomatch: ^3 || ^4
+ peerDependenciesMeta:
+ picomatch:
+ optional: true
+ dependencies:
+ picomatch: 4.0.2
+ dev: true
+
/filelist@1.0.4:
resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
dependencies:
@@ -4595,6 +4606,11 @@ packages:
engines: {node: '>=8.6'}
dev: true
+ /picomatch@4.0.2:
+ resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
+ engines: {node: '>=12'}
+ dev: true
+
/pify@2.3.0:
resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
engines: {node: '>=0.10.0'}
@@ -5547,6 +5563,14 @@ packages:
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
dev: true
+ /tinyglobby@0.2.0:
+ resolution: {integrity: sha512-+clyYQfAnNlt5a1x7CCQ6RLuTIztDfDAl6mAANvqRUlz6sVy5znCzJOhais8G6oyUyoeeaorLopO3HptVP8niA==}
+ engines: {node: '>=12.0.0'}
+ dependencies:
+ fdir: 6.2.0(picomatch@4.0.2)
+ picomatch: 4.0.2
+ dev: true
+
/to-fast-properties@2.0.0:
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
engines: {node: '>=4'}
@@ -5582,8 +5606,8 @@ packages:
resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==}
dev: true
- /type-detect@4.0.8:
- resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
+ /type-detect@4.1.0:
+ resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==}
engines: {node: '>=4'}
dev: true
@@ -5850,8 +5874,8 @@ packages:
spdx-expression-parse: 3.0.1
dev: true
- /vite-plugin-pwa@0.20.0(vite@5.3.5)(workbox-build@7.1.1)(workbox-window@7.1.0):
- resolution: {integrity: sha512-/kDZyqF8KqoXRpMUQtR5Atri/7BWayW8Gp7Kz/4bfstsV6zSFTxjREbXZYL7zSuRL40HGA+o2hvUAFRmC+bL7g==}
+ /vite-plugin-pwa@0.20.1(vite@5.3.5)(workbox-build@7.1.1)(workbox-window@7.1.0):
+ resolution: {integrity: sha512-M6Pk4b18i5ryrhKgiIF8Zud0HGphYiCbEfLsCdlvmwn/CEnS6noVwfIDG/+3V7r6yxpPV/gLiKw+rIlCCiCCoQ==}
engines: {node: '>=16.0.0'}
peerDependencies:
'@vite-pwa/assets-generator': ^0.2.4
@@ -5863,8 +5887,8 @@ packages:
optional: true
dependencies:
debug: 4.3.5
- fast-glob: 3.3.2
pretty-bytes: 6.1.1
+ tinyglobby: 0.2.0
vite: 5.3.5
workbox-build: 7.1.1
workbox-window: 7.1.0
diff --git a/app/src/app/components/frames/chart/components/chart.tsx b/app/src/app/components/frames/chart/components/chart.tsx
index cacdf7669..ba3bc2a10 100644
--- a/app/src/app/components/frames/chart/components/chart.tsx
+++ b/app/src/app/components/frames/chart/components/chart.tsx
@@ -81,11 +81,6 @@ export function Chart({
createEffect(
on([div, () => charts()[chartIndex]], ([div, chartConfig]) => {
- console.log({
- div,
- chartConfig,
- });
-
if (!div || !chartConfig) return;
const preset = presetAccessor();
@@ -359,7 +354,7 @@ export function Chart({
bottom: `${isLastDrawn() ? 32 : 0}px`,
right: `77px`,
}}
- class="text-low-contrast absolute z-50 px-3 py-0.5"
+ class="text-low-contrast absolute z-10 px-3 py-0.5"
>
diff --git a/app/src/scripts/presets/addresses/index.ts b/app/src/scripts/presets/addresses/index.ts
index 224cfa001..92d7eace0 100644
--- a/app/src/scripts/presets/addresses/index.ts
+++ b/app/src/scripts/presets/addresses/index.ts
@@ -35,8 +35,8 @@ export function createPresets(scale: ResourceScale): PartialPresetFolder {
bottom: [
{
title: `New Addresses`,
- color: colors.white,
- datasetPath: `/${scale}-to-created-addresses`,
+ color: colors.bitcoin,
+ datasetPath: `/${scale}-to-new-addresses`,
},
],
},
diff --git a/app/src/scripts/presets/hodlers/index.ts b/app/src/scripts/presets/hodlers/index.ts
index cccd5a318..9486ba8cd 100644
--- a/app/src/scripts/presets/hodlers/index.ts
+++ b/app/src/scripts/presets/hodlers/index.ts
@@ -23,20 +23,20 @@ export function createPresets(scale: ResourceScale) {
{
title: `24h`,
color: colors.up_to_1d,
- datasetPath: `/date-to-up-to-1d-supply-to-circulating-supply-ratio`,
+ datasetPath: `/${scale}-to-up-to-1d-supply-to-circulating-supply-ratio`,
},
...fromXToYCohorts.map(({ key, id, name, legend }) => ({
title: legend,
color: colors[key],
datasetPath:
- `/date-to-${id}-supply-to-circulating-supply-ratio` as const,
+ `/${scale}-to-${id}-supply-to-circulating-supply-ratio` as const,
})),
{
title: `15y+`,
color: colors.from_15y,
- datasetPath: `/date-to-from-15y-supply-to-circulating-supply-ratio`,
+ datasetPath: `/${scale}-to-from-15y-supply-to-circulating-supply-ratio`,
},
],
},
diff --git a/parser/src/datasets/price/mod.rs b/parser/src/datasets/price/mod.rs
index c171128a2..3cb556fdb 100644
--- a/parser/src/datasets/price/mod.rs
+++ b/parser/src/datasets/price/mod.rs
@@ -357,7 +357,7 @@ impl PriceDatasets {
.last_key_value()
.unwrap()
.0
- <= date
+ < date
{
self.kraken_daily.replace(Kraken::fetch_daily_prices()?);
}
diff --git a/parser/src/states/cohorts_states/utxo/cohorts_durable_states.rs b/parser/src/states/cohorts_states/utxo/cohorts_durable_states.rs
index 88c2f0196..e27be8b18 100644
--- a/parser/src/states/cohorts_states/utxo/cohorts_durable_states.rs
+++ b/parser/src/states/cohorts_states/utxo/cohorts_durable_states.rs
@@ -19,12 +19,7 @@ impl UTXOCohortsDurableStates {
pub fn init(date_data_vec: &DateDataVec) -> Self {
let mut s = Self::default();
- if let Some(last_date_data) = date_data_vec.last() {
- let last_block_data = last_date_data.blocks.last().unwrap_or_else(|| {
- dbg!(&last_date_data);
- panic!()
- });
-
+ if let Some(last_block_data) = date_data_vec.last_block() {
date_data_vec.iter().for_each(|date_data| {
let year = date_data.date.year() as u32;
diff --git a/parser/src/states/date_data_vec.rs b/parser/src/states/date_data_vec.rs
index 655142194..e0ca14561 100644
--- a/parser/src/states/date_data_vec.rs
+++ b/parser/src/states/date_data_vec.rs
@@ -11,12 +11,13 @@ pub struct DateDataVec(Vec);
impl DateDataVec {
pub fn last_block(&self) -> Option<&BlockData> {
- self.last().and_then(|date_data| date_data.blocks.last())
+ self.iter().flat_map(|date_data| &date_data.blocks).last()
}
pub fn last_mut_block(&mut self) -> Option<&mut BlockData> {
- self.last_mut()
- .and_then(|date_data| date_data.blocks.last_mut())
+ self.iter_mut()
+ .flat_map(|date_data| &mut date_data.blocks)
+ .last()
}
pub fn second_last_block(&self) -> Option<&BlockData> {