general: snapshot

This commit is contained in:
k
2024-07-10 18:33:24 +02:00
parent 59cb524226
commit 6976f5af0f
13 changed files with 240 additions and 184 deletions
+2
View File
@@ -5,3 +5,5 @@
/datasets_*
TODO.md
.stfolder
+4 -4
View File
@@ -1,7 +1,7 @@
{
"name": "satonomics",
"description": "A better, FOSS, Bitcoin-only, self-hostable Glassnode",
"version": "0.2.0",
"version": "0.2.1",
"license": "MIT",
"type": "module",
"scripts": {
@@ -19,14 +19,14 @@
"@leeoniya/ufuzzy": "^1.0.14",
"@solid-primitives/event-listener": "^2.3.3",
"@solid-primitives/intersection-observer": "^2.1.6",
"@solid-primitives/resize-observer": "^2.0.25",
"@solid-primitives/resize-observer": "^2.0.26",
"lean-qr": "^2.3.4",
"lightweight-charts": "^4.1.6",
"solid-js": "^1.8.18"
},
"devDependencies": {
"@ianvs/prettier-plugin-sort-imports": "^4.3.0",
"@iconify-json/tabler": "^1.1.116",
"@iconify-json/tabler": "^1.1.117",
"@tailwindcss/container-queries": "^0.1.1",
"autoprefixer": "^10.4.19",
"postcss": "^8.4.39",
@@ -42,6 +42,6 @@
"vite-plugin-pwa": "^0.20.0",
"vite-plugin-solid": "^2.10.2",
"workbox-window": "^7.1.0",
"wrangler": "^3.63.1"
"wrangler": "^3.63.2"
}
}
+102 -105
View File
@@ -15,8 +15,8 @@ dependencies:
specifier: ^2.1.6
version: 2.1.6(solid-js@1.8.18)
'@solid-primitives/resize-observer':
specifier: ^2.0.25
version: 2.0.25(solid-js@1.8.18)
specifier: ^2.0.26
version: 2.0.26(solid-js@1.8.18)
lean-qr:
specifier: ^2.3.4
version: 2.3.4
@@ -32,8 +32,8 @@ devDependencies:
specifier: ^4.3.0
version: 4.3.0(prettier@3.3.2)
'@iconify-json/tabler':
specifier: ^1.1.116
version: 1.1.116
specifier: ^1.1.117
version: 1.1.117
'@tailwindcss/container-queries':
specifier: ^0.1.1
version: 0.1.1(tailwindcss@3.4.4)
@@ -80,8 +80,8 @@ devDependencies:
specifier: ^7.1.0
version: 7.1.0
wrangler:
specifier: ^3.63.1
version: 3.63.1
specifier: ^3.63.2
version: 3.63.2
packages:
@@ -196,7 +196,7 @@ packages:
dependencies:
'@babel/compat-data': 7.24.7
'@babel/helper-validator-option': 7.24.7
browserslist: 4.23.1
browserslist: 4.23.2
lru-cache: 5.1.1
semver: 6.3.1
dev: true
@@ -1887,8 +1887,8 @@ packages:
- supports-color
dev: true
/@iconify-json/tabler@1.1.116:
resolution: {integrity: sha512-p+dJ+3L/M2o10REG2lh179Blu5+AA51TFkwuUwY7F+vQsF5Z8DIjyNck3yoBBiCxWqhDhsLzC+p9YO7dWqISmw==}
/@iconify-json/tabler@1.1.117:
resolution: {integrity: sha512-RiFbco9Qo0X7jlRFlD2sq9kwLZZ5JFOyacGKi9nzdnao9tV/qFFh1930JDXFay/CTs/jr7+RYPsI+wGFg0jfsA==}
dependencies:
'@iconify/types': 2.0.0
dev: true
@@ -1928,7 +1928,7 @@ packages:
engines: {node: '>=6.0.0'}
dependencies:
'@jridgewell/set-array': 1.2.1
'@jridgewell/sourcemap-codec': 1.4.15
'@jridgewell/sourcemap-codec': 1.5.0
'@jridgewell/trace-mapping': 0.3.25
dev: true
@@ -1949,22 +1949,22 @@ packages:
'@jridgewell/trace-mapping': 0.3.25
dev: true
/@jridgewell/sourcemap-codec@1.4.15:
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
/@jridgewell/sourcemap-codec@1.5.0:
resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
dev: true
/@jridgewell/trace-mapping@0.3.25:
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
dependencies:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.4.15
'@jridgewell/sourcemap-codec': 1.5.0
dev: true
/@jridgewell/trace-mapping@0.3.9:
resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
dependencies:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.4.15
'@jridgewell/sourcemap-codec': 1.5.0
dev: true
/@jsdevtools/ez-spawn@3.0.4:
@@ -2072,7 +2072,7 @@ packages:
rollup: 2.79.1
serialize-javascript: 6.0.2
smob: 1.5.0
terser: 5.31.1
terser: 5.31.2
dev: true
/@rollup/pluginutils@3.1.0(rollup@2.79.1):
@@ -2102,128 +2102,128 @@ packages:
rollup: 2.79.1
dev: true
/@rollup/rollup-android-arm-eabi@4.18.0:
resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==}
/@rollup/rollup-android-arm-eabi@4.18.1:
resolution: {integrity: sha512-lncuC4aHicncmbORnx+dUaAgzee9cm/PbIqgWz1PpXuwc+sa1Ct83tnqUDy/GFKleLiN7ZIeytM6KJ4cAn1SxA==}
cpu: [arm]
os: [android]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-android-arm64@4.18.0:
resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==}
/@rollup/rollup-android-arm64@4.18.1:
resolution: {integrity: sha512-F/tkdw0WSs4ojqz5Ovrw5r9odqzFjb5LIgHdHZG65dFI1lWTWRVy32KDJLKRISHgJvqUeUhdIvy43fX41znyDg==}
cpu: [arm64]
os: [android]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-darwin-arm64@4.18.0:
resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==}
/@rollup/rollup-darwin-arm64@4.18.1:
resolution: {integrity: sha512-vk+ma8iC1ebje/ahpxpnrfVQJibTMyHdWpOGZ3JpQ7Mgn/3QNHmPq7YwjZbIE7km73dH5M1e6MRRsnEBW7v5CQ==}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-darwin-x64@4.18.0:
resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==}
/@rollup/rollup-darwin-x64@4.18.1:
resolution: {integrity: sha512-IgpzXKauRe1Tafcej9STjSSuG0Ghu/xGYH+qG6JwsAUxXrnkvNHcq/NL6nz1+jzvWAnQkuAJ4uIwGB48K9OCGA==}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-arm-gnueabihf@4.18.0:
resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==}
/@rollup/rollup-linux-arm-gnueabihf@4.18.1:
resolution: {integrity: sha512-P9bSiAUnSSM7EmyRK+e5wgpqai86QOSv8BwvkGjLwYuOpaeomiZWifEos517CwbG+aZl1T4clSE1YqqH2JRs+g==}
cpu: [arm]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-arm-musleabihf@4.18.0:
resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==}
/@rollup/rollup-linux-arm-musleabihf@4.18.1:
resolution: {integrity: sha512-5RnjpACoxtS+aWOI1dURKno11d7krfpGDEn19jI8BuWmSBbUC4ytIADfROM1FZrFhQPSoP+KEa3NlEScznBTyQ==}
cpu: [arm]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-arm64-gnu@4.18.0:
resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==}
/@rollup/rollup-linux-arm64-gnu@4.18.1:
resolution: {integrity: sha512-8mwmGD668m8WaGbthrEYZ9CBmPug2QPGWxhJxh/vCgBjro5o96gL04WLlg5BA233OCWLqERy4YUzX3bJGXaJgQ==}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-arm64-musl@4.18.0:
resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==}
/@rollup/rollup-linux-arm64-musl@4.18.1:
resolution: {integrity: sha512-dJX9u4r4bqInMGOAQoGYdwDP8lQiisWb9et+T84l2WXk41yEej8v2iGKodmdKimT8cTAYt0jFb+UEBxnPkbXEQ==}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-powerpc64le-gnu@4.18.0:
resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==}
/@rollup/rollup-linux-powerpc64le-gnu@4.18.1:
resolution: {integrity: sha512-V72cXdTl4EI0x6FNmho4D502sy7ed+LuVW6Ym8aI6DRQ9hQZdp5sj0a2usYOlqvFBNKQnLQGwmYnujo2HvjCxQ==}
cpu: [ppc64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-riscv64-gnu@4.18.0:
resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==}
/@rollup/rollup-linux-riscv64-gnu@4.18.1:
resolution: {integrity: sha512-f+pJih7sxoKmbjghrM2RkWo2WHUW8UbfxIQiWo5yeCaCM0TveMEuAzKJte4QskBp1TIinpnRcxkquY+4WuY/tg==}
cpu: [riscv64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-s390x-gnu@4.18.0:
resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==}
/@rollup/rollup-linux-s390x-gnu@4.18.1:
resolution: {integrity: sha512-qb1hMMT3Fr/Qz1OKovCuUM11MUNLUuHeBC2DPPAWUYYUAOFWaxInaTwTQmc7Fl5La7DShTEpmYwgdt2hG+4TEg==}
cpu: [s390x]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-x64-gnu@4.18.0:
resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==}
/@rollup/rollup-linux-x64-gnu@4.18.1:
resolution: {integrity: sha512-7O5u/p6oKUFYjRbZkL2FLbwsyoJAjyeXHCU3O4ndvzg2OFO2GinFPSJFGbiwFDaCFc+k7gs9CF243PwdPQFh5g==}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-x64-musl@4.18.0:
resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==}
/@rollup/rollup-linux-x64-musl@4.18.1:
resolution: {integrity: sha512-pDLkYITdYrH/9Cv/Vlj8HppDuLMDUBmgsM0+N+xLtFd18aXgM9Nyqupb/Uw+HeidhfYg2lD6CXvz6CjoVOaKjQ==}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-win32-arm64-msvc@4.18.0:
resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==}
/@rollup/rollup-win32-arm64-msvc@4.18.1:
resolution: {integrity: sha512-W2ZNI323O/8pJdBGil1oCauuCzmVd9lDmWBBqxYZcOqWD6aWqJtVBQ1dFrF4dYpZPks6F+xCZHfzG5hYlSHZ6g==}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-win32-ia32-msvc@4.18.0:
resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==}
/@rollup/rollup-win32-ia32-msvc@4.18.1:
resolution: {integrity: sha512-ELfEX1/+eGZYMaCIbK4jqLxO1gyTSOIlZr6pbC4SRYFaSIDVKOnZNMdoZ+ON0mrFDp4+H5MhwNC1H/AhE3zQLg==}
cpu: [ia32]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-win32-x64-msvc@4.18.0:
resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==}
/@rollup/rollup-win32-x64-msvc@4.18.1:
resolution: {integrity: sha512-yjk2MAkQmoaPYCSu35RLJ62+dz358nE83VfTePJRp8CG7aMg25mEJYpXFiD+NcevhX8LxD5OP5tktPXnXN7GDw==}
cpu: [x64]
os: [win32]
requiresBuild: true
@@ -2248,8 +2248,8 @@ packages:
solid-js: 1.8.18
dev: false
/@solid-primitives/resize-observer@2.0.25(solid-js@1.8.18):
resolution: {integrity: sha512-jVDXkt2MiriYRaz4DYs62185d+6jQ+1DCsR+v7f6XMsIJJuf963qdBRFjtZtKXBaxdPNMyuPeDgf5XQe3EoDJg==}
/@solid-primitives/resize-observer@2.0.26(solid-js@1.8.18):
resolution: {integrity: sha512-KbPhwal6ML9OHeUTZszBbt6PYSMj89d4wVCLxlvDYL4U0+p+xlCEaqz6v9dkCwm/0Lb+Wed7W5T1dQZCP3JUUw==}
peerDependencies:
solid-js: ^1.6.12
dependencies:
@@ -2347,11 +2347,11 @@ packages:
/@types/node-forge@1.3.11:
resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==}
dependencies:
'@types/node': 20.14.9
'@types/node': 20.14.10
dev: true
/@types/node@20.14.9:
resolution: {integrity: sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==}
/@types/node@20.14.10:
resolution: {integrity: sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==}
dependencies:
undici-types: 5.26.5
dev: true
@@ -2372,7 +2372,7 @@ packages:
resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
requiresBuild: true
dependencies:
'@types/node': 20.14.9
'@types/node': 20.14.10
dev: true
optional: true
@@ -2506,8 +2506,8 @@ packages:
peerDependencies:
postcss: ^8.1.0
dependencies:
browserslist: 4.23.1
caniuse-lite: 1.0.30001640
browserslist: 4.23.2
caniuse-lite: 1.0.30001641
fraction.js: 4.3.7
normalize-range: 0.1.2
picocolors: 1.0.1
@@ -2629,15 +2629,15 @@ packages:
fill-range: 7.1.1
dev: true
/browserslist@4.23.1:
resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==}
/browserslist@4.23.2:
resolution: {integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
dependencies:
caniuse-lite: 1.0.30001640
electron-to-chromium: 1.4.816
caniuse-lite: 1.0.30001641
electron-to-chromium: 1.4.823
node-releases: 2.0.14
update-browserslist-db: 1.1.0(browserslist@4.23.1)
update-browserslist-db: 1.1.0(browserslist@4.23.2)
dev: true
/buffer-crc32@0.2.13:
@@ -2694,8 +2694,8 @@ packages:
engines: {node: '>=6'}
dev: true
/caniuse-lite@1.0.30001640:
resolution: {integrity: sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA==}
/caniuse-lite@1.0.30001641:
resolution: {integrity: sha512-Phv5thgl67bHYo1TtMY/MurjkHhV4EDaCosezRXgZ8jzA/Ub+wjxAvbGvjoFENStinwi5kCyOYV3mi5tOGykwA==}
dev: true
/capnp-ts@0.7.0:
@@ -2772,7 +2772,7 @@ packages:
engines: {node: '>=12.13.0'}
hasBin: true
dependencies:
'@types/node': 20.14.9
'@types/node': 20.14.10
escape-string-regexp: 4.0.0
is-wsl: 2.2.0
lighthouse-logger: 1.4.2
@@ -2875,7 +2875,7 @@ packages:
/core-js-compat@3.37.1:
resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==}
dependencies:
browserslist: 4.23.1
browserslist: 4.23.2
dev: true
/cross-fetch@3.1.5:
@@ -3101,8 +3101,8 @@ packages:
jake: 10.9.1
dev: true
/electron-to-chromium@1.4.816:
resolution: {integrity: sha512-EKH5X5oqC6hLmiS7/vYtZHZFTNdhsYG5NVPRN6Yn0kQHNBlT59+xSM8HBy66P5fxWpKgZbPqb+diC64ng295Jw==}
/electron-to-chromium@1.4.823:
resolution: {integrity: sha512-4h+oPeAiGQOHFyUJOqpoEcPj/xxlicxBzOErVeYVMMmAiXUXsGpsFd0QXBMaUUbnD8hhSfLf9uw+MlsoIA7j5w==}
dev: true
/emoji-regex@8.0.0:
@@ -3572,13 +3572,12 @@ packages:
resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
dev: true
/glob@10.4.2:
resolution: {integrity: sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==}
engines: {node: '>=16 || 14 >=14.18'}
/glob@10.4.5:
resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
hasBin: true
dependencies:
foreground-child: 3.2.1
jackspeak: 3.4.0
jackspeak: 3.4.3
minimatch: 9.0.5
minipass: 7.1.2
package-json-from-dist: 1.0.0
@@ -3952,9 +3951,8 @@ packages:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
dev: true
/jackspeak@3.4.0:
resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==}
engines: {node: '>=14'}
/jackspeak@3.4.3:
resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
dependencies:
'@isaacs/cliui': 8.0.2
optionalDependencies:
@@ -3984,7 +3982,7 @@ packages:
dependencies:
config-chain: 1.1.13
editorconfig: 1.0.4
glob: 10.4.2
glob: 10.4.5
js-cookie: 3.0.5
nopt: 7.2.1
dev: true
@@ -4141,9 +4139,8 @@ packages:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
dev: true
/lru-cache@10.3.0:
resolution: {integrity: sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==}
engines: {node: 14 || >=16.14}
/lru-cache@10.4.3:
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
dev: true
/lru-cache@5.1.1:
@@ -4168,7 +4165,7 @@ packages:
/magic-string@0.30.10:
resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
dependencies:
'@jridgewell/sourcemap-codec': 1.4.15
'@jridgewell/sourcemap-codec': 1.5.0
dev: true
/map-obj@1.0.1:
@@ -4569,7 +4566,7 @@ packages:
resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
engines: {node: '>=16 || 14 >=14.18'}
dependencies:
lru-cache: 10.3.0
lru-cache: 10.4.3
minipass: 7.1.2
dev: true
@@ -5048,29 +5045,29 @@ packages:
fsevents: 2.3.3
dev: true
/rollup@4.18.0:
resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==}
/rollup@4.18.1:
resolution: {integrity: sha512-Elx2UT8lzxxOXMpy5HWQGZqkrQOtrVDDa/bm9l10+U4rQnVzbL/LgZ4NOM1MPIDyHk69W4InuYDF5dzRh4Kw1A==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
dependencies:
'@types/estree': 1.0.5
optionalDependencies:
'@rollup/rollup-android-arm-eabi': 4.18.0
'@rollup/rollup-android-arm64': 4.18.0
'@rollup/rollup-darwin-arm64': 4.18.0
'@rollup/rollup-darwin-x64': 4.18.0
'@rollup/rollup-linux-arm-gnueabihf': 4.18.0
'@rollup/rollup-linux-arm-musleabihf': 4.18.0
'@rollup/rollup-linux-arm64-gnu': 4.18.0
'@rollup/rollup-linux-arm64-musl': 4.18.0
'@rollup/rollup-linux-powerpc64le-gnu': 4.18.0
'@rollup/rollup-linux-riscv64-gnu': 4.18.0
'@rollup/rollup-linux-s390x-gnu': 4.18.0
'@rollup/rollup-linux-x64-gnu': 4.18.0
'@rollup/rollup-linux-x64-musl': 4.18.0
'@rollup/rollup-win32-arm64-msvc': 4.18.0
'@rollup/rollup-win32-ia32-msvc': 4.18.0
'@rollup/rollup-win32-x64-msvc': 4.18.0
'@rollup/rollup-android-arm-eabi': 4.18.1
'@rollup/rollup-android-arm64': 4.18.1
'@rollup/rollup-darwin-arm64': 4.18.1
'@rollup/rollup-darwin-x64': 4.18.1
'@rollup/rollup-linux-arm-gnueabihf': 4.18.1
'@rollup/rollup-linux-arm-musleabihf': 4.18.1
'@rollup/rollup-linux-arm64-gnu': 4.18.1
'@rollup/rollup-linux-arm64-musl': 4.18.1
'@rollup/rollup-linux-powerpc64le-gnu': 4.18.1
'@rollup/rollup-linux-riscv64-gnu': 4.18.1
'@rollup/rollup-linux-s390x-gnu': 4.18.1
'@rollup/rollup-linux-x64-gnu': 4.18.1
'@rollup/rollup-linux-x64-musl': 4.18.1
'@rollup/rollup-win32-arm64-msvc': 4.18.1
'@rollup/rollup-win32-ia32-msvc': 4.18.1
'@rollup/rollup-win32-x64-msvc': 4.18.1
fsevents: 2.3.3
dev: true
@@ -5426,7 +5423,7 @@ packages:
dependencies:
'@jridgewell/gen-mapping': 0.3.5
commander: 4.1.1
glob: 10.4.2
glob: 10.4.5
lines-and-columns: 1.2.4
mz: 2.7.0
pirates: 4.0.6
@@ -5518,8 +5515,8 @@ packages:
unique-string: 2.0.0
dev: true
/terser@5.31.1:
resolution: {integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==}
/terser@5.31.2:
resolution: {integrity: sha512-LGyRZVFm/QElZHy/CPr/O4eNZOZIzsrQ92y4v9UJe/pFJjypje2yI3C2FmPtvUEnhadlSbmG2nXtdcjHOjCfxw==}
engines: {node: '>=10'}
hasBin: true
dependencies:
@@ -5823,13 +5820,13 @@ packages:
engines: {node: '>=4'}
dev: true
/update-browserslist-db@1.1.0(browserslist@4.23.1):
/update-browserslist-db@1.1.0(browserslist@4.23.2):
resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
dependencies:
browserslist: 4.23.1
browserslist: 4.23.2
escalade: 3.1.2
picocolors: 1.0.1
dev: true
@@ -5929,7 +5926,7 @@ packages:
dependencies:
esbuild: 0.21.5
postcss: 8.4.39
rollup: 4.18.0
rollup: 4.18.1
optionalDependencies:
fsevents: 2.3.3
dev: true
@@ -6165,8 +6162,8 @@ packages:
'@cloudflare/workerd-windows-64': 1.20240701.0
dev: true
/wrangler@3.63.1:
resolution: {integrity: sha512-fxMPNEyDc9pZNtQOuYqRikzv6lL5eP4S1zv7L/kw24uu1cCEmJ39j8bfJGzrAEqKDNsiFXVjEka0RjlpgEVWPg==}
/wrangler@3.63.2:
resolution: {integrity: sha512-c7F46JtBGTIQehTOgfGbxfDMYgO9AjC70CXVSohxHiF9ajHz56HEV2k3aowhJJiP3MBB8sJMm8rdG10f5zUs+w==}
engines: {node: '>=16.17.0'}
hasBin: true
peerDependencies:
+1 -1
View File
@@ -11,7 +11,7 @@ export function FavoritesFrame({
}) {
return (
<div
class="flex-1 overflow-y-auto"
class="flex-1 overflow-y-auto overflow-x-hidden"
style={{
display: selectedFrame() !== "Favorites" ? "none" : undefined,
}}
@@ -29,7 +29,7 @@ export function FoldersFrame({
display: selectedFrame() !== "Folders" ? "none" : undefined,
}}
>
<div class="flex-1 overflow-y-auto">
<div class="flex-1 overflow-y-auto overflow-x-hidden">
<div class="flex max-h-full min-h-0 flex-1 flex-col gap-4 p-4">
<Header title="Folders">
<Number number={() => presets.list.length} /> charts organized in a
+1 -1
View File
@@ -12,7 +12,7 @@ export function HistoryFrame({
}) {
return (
<div
class="flex-1 overflow-y-auto"
class="flex-1 overflow-y-auto overflow-x-hidden"
style={{
display: selectedFrame() !== "History" ? "none" : undefined,
}}
+17 -2
View File
@@ -21,7 +21,7 @@ export function SettingsFrame({
}) {
return (
<div
class="flex-1 overflow-y-auto"
class="flex-1 overflow-y-auto overflow-x-hidden"
style={{
display: selectedFrame() !== "Settings" ? "none" : undefined,
}}
@@ -119,7 +119,7 @@ export function SettingsFrame({
{
name: "btcschellingpt",
url: "https://primal.net/p/npub1nvfgglea9zlcs58tcqlc6j26rt50ngkgdk7699wfq4txrx37aqcsz4e7zd",
amount: 1_000,
amount: 1_000 + 1_000,
},
{
name: "Coinatra",
@@ -136,6 +136,21 @@ export function SettingsFrame({
url: "https://primal.net/p/npub1hqthdsed0wpg57sqsc5mtyqxxgrh3s7493ja5h49v23v2nhhds4qk4w0kz",
amount: 17_509,
},
{
name: "DerGigi",
url: "https://primal.net/p/npub1dergggklka99wwrs92yz8wdjs952h2ux2ha2ed598ngwu9w7a6fsh9xzpc",
amount: 6001,
},
{
name: "Adarnit",
url: "https://primal.net/p/npub17armdveqy42uhuuuwjc5m2dgjkz7t7epgvwpuccqw8jusm8m0g4sn86n3s",
amount: 17_726,
},
{
name: "Auburn Citadel",
url: "https://primal.net/p/npub1730y5k2s9u82w9snx3hl37r8gpsrmqetc2y3xyx9h65yfpf28rtq0y635y",
amount: 17_471,
},
]
.sort((a, b) =>
b.amount !== a.amount
+72 -44
View File
@@ -1,3 +1,4 @@
import { requestIdleCallbackPossible } from "/src/env";
import { ONE_HOUR_IN_MS, ONE_MINUTE_IN_MS } from "/src/scripts/utils/time";
import { createRWS } from "/src/solid/rws";
@@ -22,6 +23,13 @@ export function createResourceDataset<
"https://api.satonomics.xyz"
}${path}`;
const backupURL = `${
// location.hostname === "localhost"
// ? "http://localhost:3110"
// : "https://api.satonomics.xyz"
"https://api-bkp.satonomics.xyz"
}${path}`;
const fetchedJSONs = new Array(
(new Date().getFullYear() - new Date("2009-01-01").getFullYear() + 2) *
(scale === "date" ? 1 : 6),
@@ -114,6 +122,7 @@ export function createResourceDataset<
let cache: Cache | undefined;
const urlWithQuery = `${baseURL}?chunk=${id}`;
const backupUrlWithQuery = `${backupURL}?chunk=${id}`;
if (!fetched.json()) {
try {
@@ -138,68 +147,87 @@ export function createResourceDataset<
return;
}
let fetchedResponse: Response | undefined;
try {
const fetchedResponse = await fetch(urlWithQuery);
fetchedResponse = await fetch(urlWithQuery);
if (!fetchedResponse.ok) {
throw Error;
}
} catch {
try {
fetchedResponse = await fetch(backupUrlWithQuery);
} catch {
fetched.loading = false;
return;
}
const clonedResponse = fetchedResponse.clone();
if (!fetchedResponse || !fetchedResponse.ok) {
fetched.loading = false;
return;
}
}
const json = await convertResponseToJSON<Scale, Type>(fetchedResponse);
const clonedResponse = fetchedResponse.clone();
if (json) {
console.log(`fetch: ${path}?chunk=${id}`);
const json = await convertResponseToJSON<Scale, Type>(fetchedResponse);
const previousMap = fetched.json()?.dataset.map;
const newMap = json.dataset.map;
if (!json) {
fetched.loading = false;
return;
}
const previousLength = Object.keys(previousMap || []).length;
const newLength = Object.keys(newMap).length;
console.log(`fetch: ${path}?chunk=${id}`);
if (!newLength) {
const previousMap = fetched.json()?.dataset.map;
const newMap = json.dataset.map;
const previousLength = Object.keys(previousMap || []).length;
const newLength = Object.keys(newMap).length;
if (!newLength) {
fetched.loading = false;
return;
}
if (previousLength && previousLength === newLength) {
const previousLastValue = Object.values(previousMap || []).at(-1);
const newLastValue = Object.values(newMap).at(-1);
if (typeof newLastValue === "number") {
if (previousLastValue === newLastValue) {
fetched.at = new Date();
fetched.loading = false;
return;
}
} else {
const previousLastOHLC = previousLastValue as OHLC;
const newLastOHLC = newLastValue as OHLC;
if (previousLength && previousLength === newLength) {
const previousLastValue = Object.values(previousMap || []).at(-1);
const newLastValue = Object.values(newMap).at(-1);
if (typeof newLastValue === "number") {
if (previousLastValue === newLastValue) {
fetched.at = new Date();
fetched.loading = false;
return;
}
} else {
const previousLastOHLC = previousLastValue as OHLC;
const newLastOHLC = newLastValue as OHLC;
if (
previousLastOHLC.open === newLastOHLC.open &&
previousLastOHLC.high === newLastOHLC.high &&
previousLastOHLC.low === newLastOHLC.low &&
previousLastOHLC.close === newLastOHLC.close
) {
fetched.loading = false;
fetched.at = new Date();
return;
}
}
}
fetched.json.set(() => json);
if (cache) {
cache.put(urlWithQuery, clonedResponse);
if (
previousLastOHLC.open === newLastOHLC.open &&
previousLastOHLC.high === newLastOHLC.high &&
previousLastOHLC.low === newLastOHLC.low &&
previousLastOHLC.close === newLastOHLC.close
) {
fetched.loading = false;
fetched.at = new Date();
return;
}
}
} catch {
fetched.loading = false;
return;
}
fetched.json.set(() => json);
function saveToCache() {
cache?.put(urlWithQuery, clonedResponse);
}
if (requestIdleCallbackPossible) {
requestIdleCallback(saveToCache);
} else {
setTimeout(saveToCache, 1);
}
fetched.at = new Date();
@@ -33,6 +33,13 @@ export const createBaseLineSeries = ({
const bottomLineColor = bottomColor || color || DEFAULT_BASELINE_BOTTOM_COLOR;
function computeColors() {
return {
topLineColor: topLineColor(dark),
bottomLineColor: bottomLineColor(dark),
} as const;
}
const seriesOptions: DeepPartialBaselineOptions = {
priceScaleId: "right",
...defaultSeriesOptions,
@@ -45,15 +52,13 @@ export const createBaseLineSeries = ({
topFillColor2: transparent,
bottomFillColor1: transparent,
bottomFillColor2: transparent,
...computeColors(),
};
const series = chart.addBaselineSeries(seriesOptions);
createEffect(() => {
series.applyOptions({
topLineColor: topLineColor(dark),
bottomLineColor: bottomLineColor(dark),
});
series.applyOptions(computeColors());
});
return series;
@@ -11,6 +11,22 @@ export const createCandlesticksSeries = ({
}): [ISeriesApi<"Candlestick">, Color[]] => {
const { inverseColors } = options;
const _upColor = inverseColors ? colors.loss : colors.profit;
const _downColor = inverseColors ? colors.profit : colors.loss;
function computeColors() {
const upColor = _upColor(dark);
const downColor = _downColor(dark);
return {
upColor,
wickUpColor: upColor,
downColor,
wickDownColor: downColor,
} as const;
}
const candlestickSeries = chart.addCandlestickSeries({
baseLineVisible: false,
borderVisible: false,
@@ -20,23 +36,11 @@ export const createCandlesticksSeries = ({
borderDownColor: "",
borderUpColor: "",
...options.seriesOptions,
...computeColors(),
});
const _upColor = inverseColors ? colors.loss : colors.profit;
const _downColor = inverseColors ? colors.profit : colors.loss;
createEffect(() => {
const upColor = _upColor(dark);
const downColor = _downColor(dark);
candlestickSeries.applyOptions({
upColor,
wickUpColor: upColor,
downColor,
wickDownColor: downColor,
});
candlestickSeries.applyOptions(computeColors());
});
return [candlestickSeries, [_upColor, _downColor]];
+8 -3
View File
@@ -11,15 +11,20 @@ export const createLineSeries = ({
color: Color;
options?: DeepPartialLineOptions;
}) => {
function computeColors() {
return {
color: color(dark),
} as const;
}
const series = chart.addLineSeries({
...defaultSeriesOptions,
...options,
...computeColors(),
});
createEffect(() => {
series.applyOptions({
color: color(dark),
});
series.applyOptions(computeColors());
});
return series;
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 496 KiB

+5 -5
View File
@@ -1272,7 +1272,7 @@ dependencies = [
[[package]]
name = "parser"
version = "0.2.0"
version = "0.2.1"
dependencies = [
"allocative",
"bincode",
@@ -1628,18 +1628,18 @@ dependencies = [
[[package]]
name = "serde"
version = "1.0.203"
version = "1.0.204"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094"
checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.203"
version = "1.0.204"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"
checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222"
dependencies = [
"proc-macro2",
"quote",