diff --git a/Cargo.lock b/Cargo.lock index afe2b6896..29e6d4886 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -131,12 +131,6 @@ dependencies = [ "zstd-safe", ] -[[package]] -name = "atomic-waker" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" - [[package]] name = "autocfg" version = "1.4.0" @@ -228,12 +222,6 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - [[package]] name = "base64-simd" version = "0.8.0" @@ -252,17 +240,16 @@ checksum = "d965446196e3b7decd44aa7ee49e31d630118f90ef12f97900f262eb915c951d" [[package]] name = "berver" -version = "0.6.0" +version = "0.1.0" dependencies = [ "axum", - "bindex", + "bindexer", "bomputer", + "cl0g", "color-eyre", "derive_deref", "jiff", - "logger", "oxc", - "reqwest", "serde", "serde_json", "storable_vec", @@ -271,17 +258,17 @@ dependencies = [ ] [[package]] -name = "bindex" +name = "bindexer" version = "0.1.0" dependencies = [ "bitcoin", "biter", + "cl0g", "color-eyre", "derive_deref", - "exit", "fjall", + "hodor", "jiff", - "logger", "rapidhash", "rayon", "rlimit", @@ -371,7 +358,7 @@ dependencies = [ [[package]] name = "biter" -version = "0.2.2" +version = "0.2.3" dependencies = [ "bitcoin", "bitcoincore-rpc", @@ -388,30 +375,34 @@ version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" +[[package]] +name = "bli" +version = "0.1.0" + [[package]] name = "bomputer" version = "0.1.0" dependencies = [ - "bindex", + "bindexer", "biter", - "brice", + "bricer", "color-eyre", "derive_deref", - "exit", "fjall", + "hodor", "storable_vec", "zerocopy 0.8.18", ] [[package]] -name = "brice" +name = "bricer" version = "0.1.0" dependencies = [ - "bindex", + "bindexer", + "cl0g", "color-eyre", "derive_deref", "jiff", - "logger", "minreq", "serde", "serde_json", @@ -499,6 +490,16 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" +[[package]] +name = "cl0g" +version = "0.1.0" +dependencies = [ + "color-eyre", + "env_logger", + "jiff", + "log", +] + [[package]] name = "color-eyre" version = "0.6.3" @@ -552,22 +553,6 @@ version = "0.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea0095f6103c2a8b44acd6fd15960c801dafebf02e21940360833e0673f48ba7" -[[package]] -name = "core-foundation" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - [[package]] name = "cow-utils" version = "0.1.3" @@ -684,17 +669,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "displaydoc" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", -] - [[package]] name = "double-ended-peekable" version = "0.1.0" @@ -707,15 +681,6 @@ version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" -[[package]] -name = "encoding_rs" -version = "0.8.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" -dependencies = [ - "cfg-if", -] - [[package]] name = "enum_dispatch" version = "0.3.13" @@ -767,14 +732,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "exit" -version = "0.1.0" -dependencies = [ - "ctrlc", - "logger", -] - [[package]] name = "eyre" version = "0.6.12" @@ -830,21 +787,6 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - [[package]] name = "form_urlencoded" version = "1.2.1" @@ -861,7 +803,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", - "futures-sink", ] [[package]] @@ -870,12 +811,6 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" -[[package]] -name = "futures-io" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" - [[package]] name = "futures-sink" version = "0.3.31" @@ -895,13 +830,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-core", - "futures-io", - "futures-sink", "futures-task", - "memchr", "pin-project-lite", "pin-utils", - "slab", ] [[package]] @@ -939,25 +870,6 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17e2ac29387b1aa07a1e448f7bb4f35b500787971e965b02842b900afa5c8f6f" -[[package]] -name = "h2" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5017294ff4bb30944501348f6f8e42e6ad28f42c8bbef7a74029aff064a4e3c2" -dependencies = [ - "atomic-waker", - "bytes", - "fnv", - "futures-core", - "futures-sink", - "http", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - [[package]] name = "hashbrown" version = "0.14.5" @@ -988,6 +900,14 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3011d1213f159867b13cfd6ac92d2cd5f1345762c63be3554e84092d85a50bbd" +[[package]] +name = "hodor" +version = "0.1.0" +dependencies = [ + "ctrlc", + "log", +] + [[package]] name = "http" version = "1.2.0" @@ -1049,7 +969,6 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2", "http", "http-body", "httparse", @@ -1058,40 +977,6 @@ dependencies = [ "pin-project-lite", "smallvec", "tokio", - "want", -] - -[[package]] -name = "hyper-rustls" -version = "0.27.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" -dependencies = [ - "futures-util", - "http", - "hyper", - "hyper-util", - "rustls 0.23.23", - "rustls-pki-types", - "tokio", - "tokio-rustls", - "tower-service", -] - -[[package]] -name = "hyper-tls" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" -dependencies = [ - "bytes", - "http-body-util", - "hyper", - "hyper-util", - "native-tls", - "tokio", - "tokio-native-tls", - "tower-service", ] [[package]] @@ -1101,155 +986,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" dependencies = [ "bytes", - "futures-channel", "futures-util", "http", "http-body", "hyper", "pin-project-lite", - "socket2", "tokio", "tower-service", - "tracing", -] - -[[package]] -name = "icu_collections" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" -dependencies = [ - "displaydoc", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_locid" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" -dependencies = [ - "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", -] - -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" - -[[package]] -name = "icu_normalizer" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec", - "utf16_iter", - "utf8_iter", - "write16", - "zerovec", -] - -[[package]] -name = "icu_normalizer_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" - -[[package]] -name = "icu_properties" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_locid_transform", - "icu_properties_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_properties_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" - -[[package]] -name = "icu_provider" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_provider_macros", - "stable_deref_trait", - "tinystr", - "writeable", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "idna" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" -dependencies = [ - "idna_adapter", - "smallvec", - "utf8_iter", -] - -[[package]] -name = "idna_adapter" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" -dependencies = [ - "icu_normalizer", - "icu_properties", ] [[package]] @@ -1277,12 +1020,6 @@ dependencies = [ "compare", ] -[[package]] -name = "ipnet" -version = "2.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" - [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -1342,23 +1079,13 @@ dependencies = [ "libc", ] -[[package]] -name = "js-sys" -version = "0.3.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" -dependencies = [ - "once_cell", - "wasm-bindgen", -] - [[package]] name = "jsonrpc" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3662a38d341d77efecb73caf01420cfa5aa63c0253fd7bc05289ef9f6616e1bf" dependencies = [ - "base64 0.13.1", + "base64", "minreq", "serde", "serde_json", @@ -1382,12 +1109,6 @@ version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" -[[package]] -name = "litemap" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" - [[package]] name = "lock_api" version = "0.4.12" @@ -1404,16 +1125,6 @@ version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" -[[package]] -name = "logger" -version = "0.1.0" -dependencies = [ - "color-eyre", - "env_logger", - "jiff", - "log", -] - [[package]] name = "lsm-tree" version = "2.6.3" @@ -1497,8 +1208,8 @@ checksum = "da0c420feb01b9fb5061f8c8f452534361dd783756dcf38ec45191ce55e7a161" dependencies = [ "log", "once_cell", - "rustls 0.21.12", - "rustls-webpki 0.101.7", + "rustls", + "rustls-webpki", "serde", "serde_json", "webpki-roots", @@ -1515,23 +1226,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "native-tls" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dab59f8e050d5df8e4dd87d9206fb6f65a483e20ac9fda365ade4fab353196c" -dependencies = [ - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - [[package]] name = "nix" version = "0.29.0" @@ -1593,50 +1287,6 @@ version = "1.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" -[[package]] -name = "openssl" -version = "0.10.71" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e14130c6a98cd258fdcb0fb6d744152343ff729cbfcb28c656a9d12b999fbcd" -dependencies = [ - "bitflags", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "openssl-probe" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" - -[[package]] -name = "openssl-sys" -version = "0.9.106" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bb61ea9811cc39e3c2069f40b8b8e2e70d8569b361f879786cc7ed48b777cdd" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - [[package]] name = "outref" version = "0.5.2" @@ -2249,51 +1899,6 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" -[[package]] -name = "reqwest" -version = "0.12.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da" -dependencies = [ - "base64 0.22.1", - "bytes", - "encoding_rs", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "http-body-util", - "hyper", - "hyper-rustls", - "hyper-tls", - "hyper-util", - "ipnet", - "js-sys", - "log", - "mime", - "native-tls", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls-pemfile", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper", - "system-configuration", - "tokio", - "tokio-native-tls", - "tower", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "windows-registry", -] - [[package]] name = "ring" version = "0.17.9" @@ -2360,38 +1965,10 @@ checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", "ring", - "rustls-webpki 0.101.7", + "rustls-webpki", "sct", ] -[[package]] -name = "rustls" -version = "0.23.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47796c98c480fce5406ef69d1c76378375492c3b0a0de587be0c1d9feb12f395" -dependencies = [ - "once_cell", - "rustls-pki-types", - "rustls-webpki 0.102.8", - "subtle", - "zeroize", -] - -[[package]] -name = "rustls-pemfile" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" -dependencies = [ - "rustls-pki-types", -] - -[[package]] -name = "rustls-pki-types" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" - [[package]] name = "rustls-webpki" version = "0.101.7" @@ -2402,17 +1979,6 @@ dependencies = [ "untrusted", ] -[[package]] -name = "rustls-webpki" -version = "0.102.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" -dependencies = [ - "ring", - "rustls-pki-types", - "untrusted", -] - [[package]] name = "rustversion" version = "1.0.19" @@ -2431,15 +1997,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd29631678d6fb0903b69223673e122c32e9ae559d0960a38d574695ebc0ea15" -[[package]] -name = "schannel" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" -dependencies = [ - "windows-sys 0.59.0", -] - [[package]] name = "scopeguard" version = "1.2.0" @@ -2477,29 +2034,6 @@ dependencies = [ "cc", ] -[[package]] -name = "security-framework" -version = "2.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" -dependencies = [ - "bitflags", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "self_cell" version = "1.1.0" @@ -2611,15 +2145,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - [[package]] name = "smallvec" version = "1.14.0" @@ -2642,12 +2167,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - [[package]] name = "static_assertions" version = "1.1.0" @@ -2662,7 +2181,7 @@ checksum = "33ae9eec00137a8eed469fb4148acd9fc6ac8c3f9b110f52cd34698c8b5bfa0e" [[package]] name = "storable_vec" -version = "0.1.2" +version = "0.1.3" dependencies = [ "memmap2", "rayon", @@ -2677,12 +2196,6 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d08889ec5408683408db66ad89e0e1f93dff55c73a4ccc71c427d5b277ee47e6" -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - [[package]] name = "syn" version = "1.0.109" @@ -2710,41 +2223,6 @@ name = "sync_wrapper" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" -dependencies = [ - "futures-core", -] - -[[package]] -name = "synstructure" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "system-configuration" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" -dependencies = [ - "bitflags", - "core-foundation", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" -dependencies = [ - "core-foundation-sys", - "libc", -] [[package]] name = "tempfile" @@ -2801,16 +2279,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "tinystr" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" -dependencies = [ - "displaydoc", - "zerovec", -] - [[package]] name = "tokio" version = "1.43.0" @@ -2840,26 +2308,6 @@ dependencies = [ "syn 2.0.98", ] -[[package]] -name = "tokio-native-tls" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" -dependencies = [ - "native-tls", - "tokio", -] - -[[package]] -name = "tokio-rustls" -version = "0.26.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" -dependencies = [ - "rustls 0.23.23", - "tokio", -] - [[package]] name = "tokio-util" version = "0.7.13" @@ -2962,12 +2410,6 @@ dependencies = [ "tracing-core", ] -[[package]] -name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - [[package]] name = "unicode-id-start" version = "1.3.1" @@ -3004,29 +2446,6 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" -[[package]] -name = "url" -version = "2.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - -[[package]] -name = "utf8_iter" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" - [[package]] name = "utf8parse" version = "0.2.2" @@ -3062,27 +2481,12 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f54a172d0620933a27a4360d3db3e2ae0dd6cceae9730751a036bbf182c4b23" -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - [[package]] name = "vsimd" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" -[[package]] -name = "want" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -dependencies = [ - "try-lock", -] - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -3098,123 +2502,12 @@ dependencies = [ "wit-bindgen-rt", ] -[[package]] -name = "wasm-bindgen" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" -dependencies = [ - "cfg-if", - "once_cell", - "rustversion", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" -dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn 2.0.98", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" -dependencies = [ - "cfg-if", - "js-sys", - "once_cell", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "web-sys" -version = "0.3.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - [[package]] name = "webpki-roots" version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" -[[package]] -name = "windows-registry" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" -dependencies = [ - "windows-result", - "windows-strings", - "windows-targets", -] - -[[package]] -name = "windows-result" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" -dependencies = [ - "windows-targets", -] - -[[package]] -name = "windows-strings" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" -dependencies = [ - "windows-result", - "windows-targets", -] - [[package]] name = "windows-sys" version = "0.52.0" @@ -3306,48 +2599,12 @@ dependencies = [ "bitflags", ] -[[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" - -[[package]] -name = "writeable" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" - [[package]] name = "xxhash-rust" version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" -[[package]] -name = "yoke" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" -dependencies = [ - "serde", - "stable_deref_trait", - "yoke-derive", - "zerofrom", -] - -[[package]] -name = "yoke-derive" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", - "synstructure", -] - [[package]] name = "zerocopy" version = "0.7.35" @@ -3389,55 +2646,6 @@ dependencies = [ "syn 2.0.98", ] -[[package]] -name = "zerofrom" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" -dependencies = [ - "zerofrom-derive", -] - -[[package]] -name = "zerofrom-derive" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", - "synstructure", -] - -[[package]] -name = "zeroize" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" - -[[package]] -name = "zerovec" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" -dependencies = [ - "yoke", - "zerofrom", - "zerovec-derive", -] - -[[package]] -name = "zerovec-derive" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", -] - [[package]] name = "zstd" version = "0.13.2" diff --git a/Cargo.toml b/Cargo.toml index 09b788e62..5271b3e7f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,8 @@ [workspace] members = [ + "cli", "computer", - "exit", + "hodor", "indexer", "iterator", "logger", @@ -10,22 +11,27 @@ members = [ "storable_vec", ] resolver = "2" +package.license = "MIT" +package.edition = "2021" [workspace.dependencies] bitcoin = { version = "0.32.5", features = ["serde"] } color-eyre = "0.6.3" -computer = { path = "computer", package = "bomputer" } +computer = { version = "0", path = "computer", package = "bomputer" } derive_deref = "1.1.1" -exit = { path = "exit" } fjall = "2.6.3" -indexer = { path = "indexer", package = "bindex" } -iterator = { path = "iterator", package = "biter" } +hodor = { version = "0", path = "hodor" } +indexer = { version = "0", path = "indexer", package = "bindexer" } +iterator = { version = "0", path = "iterator", package = "biter" } jiff = "0.2.1" -logger = { path = "logger" } +log = { version = "0.4.25" } +logger = { version = "0", path = "logger", package = "cl0g" } +minreq = { version = "2.13.2", features = ["https", "serde_json"] } +pricer = { version = "0", path = "pricer", package = "bricer" } rayon = "1.10.0" -pricer = { path = "pricer", package = "brice" } serde = { version = "1.0.217", features = ["derive"] } +serde_bytes = "0.11.15" serde_json = { version = "1.0.138", features = ["float_roundtrip"] } -server = { path = "server", package = "berver" } -storable_vec = { path = "storable_vec", features = ["json"] } +server = { version = "0", path = "server", package = "berver" } +storable_vec = { version = "0", path = "storable_vec", features = ["json"] } zerocopy = { version = "0.8.18", features = ["derive"] } diff --git a/cli/Cargo.toml b/cli/Cargo.toml new file mode 100644 index 000000000..121e9d824 --- /dev/null +++ b/cli/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "bli" +description = "A command line interface to run berver" +version = "0.1.0" +edition = { workspace = true } +license = { workspace = true } + +[dependencies] diff --git a/cli/src/main.rs b/cli/src/main.rs new file mode 100644 index 000000000..e7a11a969 --- /dev/null +++ b/cli/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, world!"); +} diff --git a/computer/Cargo.toml b/computer/Cargo.toml index 2dc009c9d..8c370f919 100644 --- a/computer/Cargo.toml +++ b/computer/Cargo.toml @@ -1,16 +1,17 @@ [package] name = "bomputer" -description = "A Bitcoin dataset computer built on top of brice" +description = "A Bitcoin dataset computer built on top of bindexer and bricer" version = "0.1.0" -edition = "2021" +edition = { workspace = true } +license = { workspace = true } [dependencies] -iterator = { workspace = true } color-eyre = { workspace = true } derive_deref = { workspace = true } -exit = { workspace = true } fjall = { workspace = true } +hodor = { workspace = true } indexer = { workspace = true } +iterator = { workspace = true } pricer = { workspace = true } storable_vec = { workspace = true } zerocopy = { workspace = true } diff --git a/computer/src/lib.rs b/computer/src/lib.rs index 5faa376c4..2eb57481d 100644 --- a/computer/src/lib.rs +++ b/computer/src/lib.rs @@ -1,6 +1,6 @@ use std::path::{Path, PathBuf}; -use exit::Exit; +use hodor::Exit; use indexer::Indexer; pub use iterator::rpc; diff --git a/computer/src/main.rs b/computer/src/main.rs index 0f67f21e0..ad810775b 100644 --- a/computer/src/main.rs +++ b/computer/src/main.rs @@ -1,7 +1,7 @@ use std::path::Path; use bomputer::Computer; -use exit::Exit; +use hodor::Exit; use indexer::Indexer; mod structs; diff --git a/exit/Cargo.toml b/exit/Cargo.toml deleted file mode 100644 index e5c0e0723..000000000 --- a/exit/Cargo.toml +++ /dev/null @@ -1,8 +0,0 @@ -[package] -name = "exit" -version = "0.1.0" -edition = "2021" - -[dependencies] -ctrlc = "3.4.5" -logger = { workspace = true } diff --git a/hodor/Cargo.toml b/hodor/Cargo.toml new file mode 100644 index 000000000..d1697fb1c --- /dev/null +++ b/hodor/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "hodor" +description = "An exit blocker, can hold the door until a task is completed" +version = "0.1.0" +edition = { workspace = true } +license = { workspace = true } + +[dependencies] +ctrlc = "3.4.5" +log = { workspace = true } diff --git a/exit/src/lib.rs b/hodor/src/lib.rs similarity index 98% rename from exit/src/lib.rs rename to hodor/src/lib.rs index 9daabe4af..726f85642 100644 --- a/exit/src/lib.rs +++ b/hodor/src/lib.rs @@ -8,7 +8,7 @@ use std::{ time::Duration, }; -use logger::info; +use log::info; #[derive(Default, Clone)] pub struct Exit { diff --git a/indexer/Cargo.toml b/indexer/Cargo.toml index c3e3e2391..6c3325105 100644 --- a/indexer/Cargo.toml +++ b/indexer/Cargo.toml @@ -1,15 +1,16 @@ [package] -name = "bindex" +name = "bindexer" description = "A bitcoin-core indexer built on top of biter" version = "0.1.0" -edition = "2021" +edition = { workspace = true } +license = { workspace = true } [dependencies] bitcoin = { workspace = true } color-eyre = { workspace = true } derive_deref = { workspace = true } -exit = { workspace = true } fjall = { workspace = true } +hodor = { workspace = true } iterator = { workspace = true } jiff = { workspace = true } logger = { workspace = true } @@ -17,6 +18,6 @@ rapidhash = "1.3.0" rayon = { workspace = true } rlimit = { version = "0.10.2" } serde = { workspace = true } -serde_bytes = "0.11.15" +serde_bytes = { workspace = true } storable_vec = { workspace = true } zerocopy = { workspace = true } diff --git a/indexer/README.md b/indexer/README.md index 78aff8cf9..74de013f0 100644 --- a/indexer/README.md +++ b/indexer/README.md @@ -12,7 +12,9 @@ Vecs are used sparingly instead of stores for multiple reasons: ## Usage -Peaks at 11-12 GB of RAM +Storage wise, the expected overhead should be around 30% of the chain itself. + +Peaks at 11-13 GB of RAM ## Outputs diff --git a/indexer/src/lib.rs b/indexer/src/lib.rs index 8418b57ed..6ecb1bb23 100644 --- a/indexer/src/lib.rs +++ b/indexer/src/lib.rs @@ -10,7 +10,7 @@ pub use iterator::*; use bitcoin::{Transaction, TxIn, TxOut}; use color_eyre::eyre::{eyre, ContextCompat}; -use exit::Exit; +use hodor::Exit; use logger::info; use rayon::prelude::*; use storable_vec::CACHED_GETS; @@ -31,14 +31,14 @@ pub struct Indexer { impl Indexer { pub fn import(indexes_dir: &Path) -> color_eyre::Result { - info!("Importing indexes..."); - + // info!("Increasing limit of opened files to 210_000..."); rlimit::setrlimit( rlimit::Resource::NOFILE, 210_000, rlimit::getrlimit(rlimit::Resource::NOFILE).unwrap().1, )?; + info!("Importing indexes..."); let vecs = StorableVecs::import(&indexes_dir.join("vecs"))?; let trees = Fjalls::import(&indexes_dir.join("fjall"))?; @@ -47,12 +47,12 @@ impl Indexer { } impl Indexer { - pub fn index(&mut self, bitcoin_dir: &Path, rpc: rpc::Client, exit: &Exit) -> color_eyre::Result<()> { + pub fn index(&mut self, bitcoin_dir: &Path, rpc: &'static rpc::Client, exit: &Exit) -> color_eyre::Result<()> { info!("Started indexing..."); let check_collisions = true; - let starting_indexes = Indexes::try_from((&mut self.vecs, &self.trees, &rpc)).unwrap_or_else(|_| { + let starting_indexes = Indexes::try_from((&mut self.vecs, &self.trees, rpc)).unwrap_or_else(|_| { let indexes = Indexes::default(); indexes.push_if_needed(&mut self.vecs).unwrap(); indexes diff --git a/indexer/src/main.rs b/indexer/src/main.rs index 562711a7a..b44c36880 100644 --- a/indexer/src/main.rs +++ b/indexer/src/main.rs @@ -1,8 +1,9 @@ -use std::path::Path; +use std::{path::Path, thread::sleep, time::Duration}; -use bindex::Indexer; -use exit::Exit; +use bindexer::{rpc::RpcApi, Indexer}; +use hodor::Exit; use iterator::rpc; +use logger::info; use storable_vec::CACHED_GETS; fn main() -> color_eyre::Result<()> { @@ -11,19 +12,29 @@ fn main() -> color_eyre::Result<()> { logger::init_log(None); let data_dir = Path::new("../../bitcoin"); - let rpc = rpc::Client::new( + let rpc = Box::leak(Box::new(rpc::Client::new( "http://localhost:8332", rpc::Auth::CookieFile(Path::new(data_dir).join(".cookie")), - )?; + )?)); let exit = Exit::new(); - let i = std::time::Instant::now(); + loop { + let block_count = rpc.get_blockchain_info().unwrap().blocks as usize; - let mut indexer: Indexer = Indexer::import(Path::new("../_outputs/indexes"))?; + info!("{block_count} blocks found."); - indexer.index(data_dir, rpc, &exit)?; + let i = std::time::Instant::now(); - dbg!(i.elapsed()); + let mut indexer: Indexer = Indexer::import(Path::new("../_outputs/indexes"))?; - Ok(()) + indexer.index(data_dir, rpc, &exit)?; + + dbg!(i.elapsed()); + + info!("Waiting for a new block..."); + + while block_count == rpc.get_blockchain_info().unwrap().blocks as usize { + sleep(Duration::from_secs(1)) + } + } } diff --git a/iterator/Cargo.toml b/iterator/Cargo.toml index ef207a643..81c42ef2a 100644 --- a/iterator/Cargo.toml +++ b/iterator/Cargo.toml @@ -1,18 +1,18 @@ [package] name = "biter" description = "A very fast Bitcoin block iterator built on top of bitcoin-rust" -version = "0.2.2" -license = "MIT" +version = "0.2.3" repository = "https://github.com/kibo-money/kibo/tree/main/src/crates/biter" keywords = ["bitcoin", "block", "iterator"] categories = ["cryptography::cryptocurrencies", "encoding"] -edition = "2021" +edition = { workspace = true } +license = { workspace = true } [dependencies] bitcoin = { workspace = true } rayon = { workspace = true } crossbeam = { version = "0.8.4", features = ["crossbeam-channel"] } -serde = { version = "1.0.217", features = ["derive"] } -serde_json = "1.0.138" +serde = { workspace = true } +serde_json = { workspace = true } derive_deref = { workspace = true } bitcoincore-rpc = "0.19.0" diff --git a/iterator/README.md b/iterator/README.md index 57bee26a6..d66ae4cc8 100644 --- a/iterator/README.md +++ b/iterator/README.md @@ -9,43 +9,7 @@ The element returned by the iterator is a tuple which includes the: ## Example -```rust -use std::path::Path; - -use bitcoincore_rpc::{Auth, Client}; - -fn main() { - let i = std::time::Instant::now(); - - // Path to the Bitcoin data directory - let data_dir = "../../bitcoin"; - - // Inclusive starting height of the blocks received, `None` for 0 - let start = Some(850_000); - - // Inclusive ending height of the blocks received, `None` for the last one - let end = None; - - // RPC client to filter out forks - let url = "http://localhost:8332"; - let cookie = Path::new(data_dir).join(".cookie"); - let auth = Auth::CookieFile(cookie); - let rpc = Client::new(url, auth).unwrap(); - - if cookie.is_file() { - Ok() - - // Create channel receiver then iterate over the blocks - biter::new(data_dir, start, end, rpc) - .iter() - .for_each(|(height, _block, hash)| { - println!("{height}: {hash}"); - }); - - dbg!(i.elapsed()); -} - -``` +`src/main.rs` ## Requirements diff --git a/iterator/src/blk_index_to_blk_recap.rs b/iterator/src/blk_index_to_blk_recap.rs index 5a105bfca..9aaf1b950 100644 --- a/iterator/src/blk_index_to_blk_recap.rs +++ b/iterator/src/blk_index_to_blk_recap.rs @@ -32,6 +32,8 @@ impl BlkIndexToBlkRecap { } }; + // dbg!(&tree); + let mut this = Self { path, tree, @@ -43,7 +45,9 @@ impl BlkIndexToBlkRecap { this } - pub fn clean_outdated(&mut self, blocks_dir: &BlkIndexToBlkPath) { + fn clean_outdated(&mut self, blocks_dir: &BlkIndexToBlkPath) { + self.tree.pop_last(); + let mut unprocessed_keys = self.tree.keys().copied().collect::>(); blocks_dir.iter().for_each(|(blk_index, blk_path)| { @@ -59,22 +63,15 @@ impl BlkIndexToBlkRecap { self.tree.remove(&blk_index); }); - while self.tree.last_entry().map(|last| *last.key()).is_some_and(|key| { - if key >= self.tree.len() { - self.tree.pop_last(); - true - } else { - false - } - }) {} - self.last_safe_height = self.tree.values().map(|recap| recap.height()).max(); } - pub fn get_start_recap(&self, start: Option) -> Option<(usize, BlkRecap)> { + pub fn get_start_recap(&mut self, start: Option) -> Option<(usize, BlkRecap)> { if let Some(start) = start { let (last_key, last_value) = self.tree.last_key_value()?; + dbg!((last_key, last_value)); + if last_value.height() < start { return Some((*last_key, *last_value)); } else if let Some((blk_index, _)) = @@ -82,7 +79,7 @@ impl BlkIndexToBlkRecap { { if *blk_index != 0 { // Temporary fix, need to rethink the whole thing - let blk_index = (*blk_index).checked_sub(3).unwrap_or_default(); + let blk_index = (*blk_index).checked_sub(1).unwrap_or_default(); return Some((blk_index, *self.tree.get(&blk_index).unwrap())); } } diff --git a/iterator/src/blk_metadata.rs b/iterator/src/blk_metadata.rs index d9322a8ab..a4d2b6131 100644 --- a/iterator/src/blk_metadata.rs +++ b/iterator/src/blk_metadata.rs @@ -2,7 +2,7 @@ use std::path::PathBuf; use crate::path_to_modified_time; -#[derive(Clone, Copy)] +#[derive(Debug, Clone, Copy)] pub struct BlkMetadata { pub index: usize, pub modified_time: u64, diff --git a/iterator/src/blk_metadata_and_block.rs b/iterator/src/blk_metadata_and_block.rs index 1cff5e055..8b5bb288b 100644 --- a/iterator/src/blk_metadata_and_block.rs +++ b/iterator/src/blk_metadata_and_block.rs @@ -2,6 +2,7 @@ use bitcoin::Block; use crate::BlkMetadata; +#[derive(Debug)] pub struct BlkMetadataAndBlock { pub blk_metadata: BlkMetadata, pub block: Block, @@ -9,9 +10,6 @@ pub struct BlkMetadataAndBlock { impl BlkMetadataAndBlock { pub fn new(blk_metadata: BlkMetadata, block: Block) -> Self { - Self { - blk_metadata, - block, - } + Self { blk_metadata, block } } } diff --git a/iterator/src/blk_recap.rs b/iterator/src/blk_recap.rs index 26e35daa9..f1a7f9cb9 100644 --- a/iterator/src/blk_recap.rs +++ b/iterator/src/blk_recap.rs @@ -30,6 +30,9 @@ impl BlkRecap { } pub fn has_different_modified_time(&self, blk_path: &PathBuf) -> bool { + if self.modified_time != path_to_modified_time(blk_path) { + dbg!(self.modified_time, path_to_modified_time(blk_path)); + } self.modified_time != path_to_modified_time(blk_path) } diff --git a/iterator/src/lib.rs b/iterator/src/lib.rs index f76ef2a50..01f0433e9 100644 --- a/iterator/src/lib.rs +++ b/iterator/src/lib.rs @@ -36,11 +36,6 @@ pub const NUMBER_OF_UNSAFE_BLOCKS: usize = 1000; const MAGIC_BYTES: [u8; 4] = [249, 190, 180, 217]; const BOUND_CAP: usize = 210; -enum BlockState { - Raw(Vec), - Decoded(Block), -} - /// /// Returns a crossbeam channel receiver that receives `(usize, Block, BlockHash)` tuples (with `usize` being the height) in sequential order. /// @@ -82,7 +77,7 @@ pub fn new( data_dir: &Path, start: Option, end: Option, - rpc: bitcoincore_rpc::Client, + rpc: &'static bitcoincore_rpc::Client, ) -> Receiver<(usize, Block, BlockHash)> { let (send_block_reader, recv_block_reader) = bounded(BOUND_CAP); let (send_block, recv_block) = bounded(BOUND_CAP); @@ -225,6 +220,8 @@ pub fn new( tuple: BlkMetadataAndBlock| { let mut tuple = Some(tuple); + println!("{} {} {}", recent_hashes.len(), recent_chain.len(), future_blocks.len(),); + while let Some(tuple) = tuple.take().or_else(|| future_blocks.remove(prev_hash)) { let hash = tuple.block.block_hash(); @@ -306,3 +303,8 @@ pub fn new( recv_height_block_hash } + +enum BlockState { + Raw(Vec), + Decoded(Block), +} diff --git a/iterator/src/main.rs b/iterator/src/main.rs index f0a0b4e8a..1a7ff466c 100644 --- a/iterator/src/main.rs +++ b/iterator/src/main.rs @@ -6,12 +6,15 @@ fn main() { let i = std::time::Instant::now(); let data_dir = Path::new("../../bitcoin"); - let url = "http://localhost:8332"; - let cookie = Path::new(data_dir).join(".cookie"); - let auth = Auth::CookieFile(cookie); - let rpc = Client::new(url, auth).unwrap(); + let rpc = Box::leak(Box::new( + Client::new( + "http://localhost:8332", + Auth::CookieFile(Path::new(data_dir).join(".cookie")), + ) + .unwrap(), + )); - let start = None; + let start = Some(460_001); let end = None; biter::new(data_dir, start, end, rpc) diff --git a/logger/Cargo.toml b/logger/Cargo.toml index b0c1e7465..d73da97f4 100644 --- a/logger/Cargo.toml +++ b/logger/Cargo.toml @@ -1,10 +1,12 @@ [package] -name = "logger" +name = "cl0g" +description = "A clean logger" version = "0.1.0" -edition = "2021" +edition = { workspace = true } +license = { workspace = true } [dependencies] color-eyre = { workspace = true } env_logger = "0.11.6" jiff = { workspace = true } -log = { version = "0.4.25" } +log = { workspace = true } diff --git a/logger/src/main.rs b/logger/src/main.rs index f67ba6d6b..bb874d4b5 100644 --- a/logger/src/main.rs +++ b/logger/src/main.rs @@ -1,5 +1,5 @@ +use cl0g::init_log; use log::info; -use logger::init_log; fn main() { init_log(None); diff --git a/pricer/Cargo.toml b/pricer/Cargo.toml index a031fa4a2..6eb27ee7c 100644 --- a/pricer/Cargo.toml +++ b/pricer/Cargo.toml @@ -1,8 +1,9 @@ [package] -name = "brice" -description = "A bitcoin price fetcher built on top of bindex" +name = "bricer" +description = "A bitcoin price fetcher built on top of bindexer" version = "0.1.0" -edition = "2021" +edition = { workspace = true } +license = { workspace = true } [dependencies] color-eyre = { workspace = true } @@ -10,7 +11,7 @@ derive_deref = { workspace = true } indexer = { workspace = true } jiff = { workspace = true } logger = { workspace = true } -minreq = { version = "2.13.2", features = ["https", "serde_json"] } +minreq = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } storable_vec = { workspace = true } diff --git a/pricer/src/main.rs b/pricer/src/main.rs index eaa6b12d5..ca945e8da 100644 --- a/pricer/src/main.rs +++ b/pricer/src/main.rs @@ -1,4 +1,4 @@ -use brice::{Binance, Kibo, Kraken}; +use bricer::{Binance, Kibo, Kraken}; use indexer::Height; use serde_json::Value; diff --git a/server/Cargo.toml b/server/Cargo.toml index e3e66f7ea..e01994f06 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -1,7 +1,9 @@ [package] name = "berver" -version = "0.6.0" -edition = "2021" +description = "A Bitcoin data server built on top of bindexer, bricer and bomputer" +version = "0.1.0" +edition = { workspace = true } +license = { workspace = true } [dependencies] axum = "0.8.1" @@ -12,7 +14,6 @@ indexer = { workspace = true } jiff = { workspace = true } logger = { workspace = true } oxc = { version = "0.51.0", features = ["codegen", "minifier"] } -reqwest = { version = "0.12.12", features = ["blocking", "json"] } serde = { workspace = true } serde_json = { workspace = true } storable_vec = { workspace = true } diff --git a/server/src/api/vecs/mod.rs b/server/src/api/vecs/mod.rs index c728b55ef..baa3200db 100644 --- a/server/src/api/vecs/mod.rs +++ b/server/src/api/vecs/mod.rs @@ -2,12 +2,11 @@ use std::time::Instant; use axum::{ extract::{Query, State}, - http::{HeaderMap, Uri}, + http::{HeaderMap, StatusCode, Uri}, response::{IntoResponse, Response}, Json, }; use color_eyre::eyre::eyre; -use reqwest::StatusCode; use serde_json::Value; use crate::{log_result, traits::HeaderMapExtended}; diff --git a/server/src/files/file.rs b/server/src/files/file.rs index 3cf3a543a..4018e1776 100644 --- a/server/src/files/file.rs +++ b/server/src/files/file.rs @@ -7,11 +7,10 @@ use std::{ use axum::{ body::Body, extract, - http::HeaderMap, + http::{HeaderMap, StatusCode}, response::{IntoResponse, Response}, }; use logger::{error, info}; -use reqwest::StatusCode; use crate::{ log_result, diff --git a/server/src/lib.rs b/server/src/lib.rs index d7a8a6f00..66c6448ba 100644 --- a/server/src/lib.rs +++ b/server/src/lib.rs @@ -1,13 +1,12 @@ use std::time::Instant; use api::{ApiRoutes, VecIdToIndexToVec}; -use axum::{routing::get, serve, Json, Router}; +use axum::{http::StatusCode, routing::get, serve, Json, Router}; use color_eyre::owo_colors::OwoColorize; use computer::Computer; use files::FilesRoutes; use indexer::Indexer; use logger::{error, info}; -use reqwest::StatusCode; use storable_vec::STATELESS; use tokio::net::TcpListener; use tower_http::compression::CompressionLayer; @@ -23,7 +22,7 @@ pub struct AppState { computer: &'static Computer, } -pub const WEBSITE_DEV_PATH: &str = "../website/"; +pub const WEBSITE_DEV_PATH: &str = "../websites/kibo.money/"; pub async fn main(indexer: Indexer, computer: Computer) -> color_eyre::Result<()> { let indexer = Box::leak(Box::new(indexer)); diff --git a/server/src/traits/header_map.rs b/server/src/traits/header_map.rs index 6001d415e..596a22cbc 100644 --- a/server/src/traits/header_map.rs +++ b/server/src/traits/header_map.rs @@ -1,9 +1,11 @@ use std::{path::Path, time}; -use axum::http::{header, HeaderMap}; +use axum::http::{ + header::{self, HOST, IF_MODIFIED_SINCE}, + HeaderMap, +}; use jiff::{civil::DateTime, fmt::strtime, tz::TimeZone, Timestamp}; use logger::info; -use reqwest::header::{HOST, IF_MODIFIED_SINCE}; const STALE_IF_ERROR: u64 = 30_000_000; // 1 Year ish const MODIFIED_SINCE_FORMAT: &str = "%a, %d %b %Y %H:%M:%S GMT"; diff --git a/server/src/traits/response.rs b/server/src/traits/response.rs index 78f7c3bfc..9fef0a496 100644 --- a/server/src/traits/response.rs +++ b/server/src/traits/response.rs @@ -1,5 +1,8 @@ -use axum::{body::Body, http::Response, response::IntoResponse}; -use reqwest::StatusCode; +use axum::{ + body::Body, + http::{Response, StatusCode}, + response::IntoResponse, +}; use super::header_map::HeaderMapExtended; diff --git a/storable_vec/Cargo.toml b/storable_vec/Cargo.toml index dcef7c1c4..9ce44172e 100644 --- a/storable_vec/Cargo.toml +++ b/storable_vec/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "storable_vec" description = "A very small, fast, efficient and simple storable Vec" -version = "0.1.2" -license = "MIT" +version = "0.1.3" keywords = ["vec", "disk", "data"] categories = ["database"] -edition = "2021" +edition = { workspace = true } +license = { workspace = true } [features] json = ["dep:serde", "dep:serde_json"] diff --git a/storable_vec/src/traits/any.rs b/storable_vec/src/traits/any.rs index 2fa3e40fa..d35982042 100644 --- a/storable_vec/src/traits/any.rs +++ b/storable_vec/src/traits/any.rs @@ -43,6 +43,7 @@ pub trait AnyJsonStorableVec: AnyStorableVec { fn collect_range_values(&self, from: Option, to: Option) -> Result>; } +#[cfg(feature = "json")] impl AnyJsonStorableVec for StorableVec where I: StoredIndex, diff --git a/website/assets/fonts/satoshi/2024-09/font.var.woff2 b/websites/kibo.money/assets/fonts/satoshi/2024-09/font.var.woff2 similarity index 100% rename from website/assets/fonts/satoshi/2024-09/font.var.woff2 rename to websites/kibo.money/assets/fonts/satoshi/2024-09/font.var.woff2 diff --git a/website/assets/fonts/satoshi/FFL.txt b/websites/kibo.money/assets/fonts/satoshi/FFL.txt similarity index 100% rename from website/assets/fonts/satoshi/FFL.txt rename to websites/kibo.money/assets/fonts/satoshi/FFL.txt diff --git a/website/assets/pdfs/block/2022-report.pdf b/websites/kibo.money/assets/pdfs/block/2022-report.pdf similarity index 100% rename from website/assets/pdfs/block/2022-report.pdf rename to websites/kibo.money/assets/pdfs/block/2022-report.pdf diff --git a/website/assets/pdfs/braiins/building-bitcoin-in-rust.pdf b/websites/kibo.money/assets/pdfs/braiins/building-bitcoin-in-rust.pdf similarity index 100% rename from website/assets/pdfs/braiins/building-bitcoin-in-rust.pdf rename to websites/kibo.money/assets/pdfs/braiins/building-bitcoin-in-rust.pdf diff --git a/website/assets/pdfs/glassnode/cointime-economics.pdf b/websites/kibo.money/assets/pdfs/glassnode/cointime-economics.pdf similarity index 100% rename from website/assets/pdfs/glassnode/cointime-economics.pdf rename to websites/kibo.money/assets/pdfs/glassnode/cointime-economics.pdf diff --git a/website/assets/pdfs/multi-author/bcap_v1.0.pdf b/websites/kibo.money/assets/pdfs/multi-author/bcap_v1.0.pdf similarity index 100% rename from website/assets/pdfs/multi-author/bcap_v1.0.pdf rename to websites/kibo.money/assets/pdfs/multi-author/bcap_v1.0.pdf diff --git a/website/assets/pdfs/nakamoto-project/understanding-bitcoin-adoption-in-the-united-states.pdf b/websites/kibo.money/assets/pdfs/nakamoto-project/understanding-bitcoin-adoption-in-the-united-states.pdf similarity index 100% rename from website/assets/pdfs/nakamoto-project/understanding-bitcoin-adoption-in-the-united-states.pdf rename to websites/kibo.money/assets/pdfs/nakamoto-project/understanding-bitcoin-adoption-in-the-united-states.pdf diff --git a/website/assets/pdfs/nydig/protection-under-first-amendment.pdf b/websites/kibo.money/assets/pdfs/nydig/protection-under-first-amendment.pdf similarity index 100% rename from website/assets/pdfs/nydig/protection-under-first-amendment.pdf rename to websites/kibo.money/assets/pdfs/nydig/protection-under-first-amendment.pdf diff --git a/website/assets/pdfs/satoshi-nakamoto/whitepaper.pdf b/websites/kibo.money/assets/pdfs/satoshi-nakamoto/whitepaper.pdf similarity index 100% rename from website/assets/pdfs/satoshi-nakamoto/whitepaper.pdf rename to websites/kibo.money/assets/pdfs/satoshi-nakamoto/whitepaper.pdf diff --git a/website/assets/pdfs/square/2021-bitcoin-clean-energy-initiative.pdf b/websites/kibo.money/assets/pdfs/square/2021-bitcoin-clean-energy-initiative.pdf similarity index 100% rename from website/assets/pdfs/square/2021-bitcoin-clean-energy-initiative.pdf rename to websites/kibo.money/assets/pdfs/square/2021-bitcoin-clean-energy-initiative.pdf diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-icon-180.png b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-icon-180.png similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-icon-180.png rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-icon-180.png diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-1125-2436.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1125-2436.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-1125-2436.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1125-2436.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-1136-640.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1136-640.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-1136-640.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1136-640.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-1170-2532.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1170-2532.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-1170-2532.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1170-2532.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-1179-2556.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1179-2556.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-1179-2556.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1179-2556.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-1242-2208.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1242-2208.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-1242-2208.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1242-2208.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-1242-2688.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1242-2688.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-1242-2688.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1242-2688.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-1284-2778.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1284-2778.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-1284-2778.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1284-2778.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-1290-2796.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1290-2796.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-1290-2796.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1290-2796.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-1334-750.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1334-750.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-1334-750.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1334-750.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-1488-2266.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1488-2266.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-1488-2266.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1488-2266.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-1536-2048.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1536-2048.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-1536-2048.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1536-2048.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-1620-2160.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1620-2160.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-1620-2160.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1620-2160.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-1640-2360.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1640-2360.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-1640-2360.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1640-2360.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-1668-2224.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1668-2224.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-1668-2224.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1668-2224.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-1668-2388.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1668-2388.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-1668-2388.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1668-2388.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-1792-828.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1792-828.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-1792-828.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-1792-828.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-2048-1536.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2048-1536.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-2048-1536.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2048-1536.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-2048-2732.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2048-2732.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-2048-2732.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2048-2732.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-2160-1620.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2160-1620.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-2160-1620.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2160-1620.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-2208-1242.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2208-1242.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-2208-1242.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2208-1242.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-2224-1668.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2224-1668.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-2224-1668.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2224-1668.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-2266-1488.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2266-1488.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-2266-1488.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2266-1488.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-2360-1640.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2360-1640.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-2360-1640.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2360-1640.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-2388-1668.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2388-1668.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-2388-1668.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2388-1668.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-2436-1125.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2436-1125.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-2436-1125.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2436-1125.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-2532-1170.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2532-1170.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-2532-1170.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2532-1170.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-2556-1179.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2556-1179.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-2556-1179.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2556-1179.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-2688-1242.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2688-1242.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-2688-1242.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2688-1242.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-2732-2048.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2732-2048.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-2732-2048.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2732-2048.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-2778-1284.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2778-1284.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-2778-1284.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2778-1284.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-2796-1290.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2796-1290.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-2796-1290.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-2796-1290.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-640-1136.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-640-1136.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-640-1136.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-640-1136.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-750-1334.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-750-1334.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-750-1334.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-750-1334.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/apple-splash-828-1792.jpg b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-828-1792.jpg similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/apple-splash-828-1792.jpg rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/apple-splash-828-1792.jpg diff --git a/website/assets/pwa/2024-11-20_09-41-25/favicon-196.png b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/favicon-196.png similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/favicon-196.png rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/favicon-196.png diff --git a/website/assets/pwa/2024-11-20_09-41-25/index.html b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/index.html similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/index.html rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/index.html diff --git a/website/assets/pwa/2024-11-20_09-41-25/manifest-icon-192.maskable.png b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/manifest-icon-192.maskable.png similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/manifest-icon-192.maskable.png rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/manifest-icon-192.maskable.png diff --git a/website/assets/pwa/2024-11-20_09-41-25/manifest-icon-512.maskable.png b/websites/kibo.money/assets/pwa/2024-11-20_09-41-25/manifest-icon-512.maskable.png similarity index 100% rename from website/assets/pwa/2024-11-20_09-41-25/manifest-icon-512.maskable.png rename to websites/kibo.money/assets/pwa/2024-11-20_09-41-25/manifest-icon-512.maskable.png diff --git a/website/assets/pwa/index.html b/websites/kibo.money/assets/pwa/index.html similarity index 100% rename from website/assets/pwa/index.html rename to websites/kibo.money/assets/pwa/index.html diff --git a/website/generate-icons.sh b/websites/kibo.money/generate-icons.sh similarity index 100% rename from website/generate-icons.sh rename to websites/kibo.money/generate-icons.sh diff --git a/website/index.html b/websites/kibo.money/index.html similarity index 100% rename from website/index.html rename to websites/kibo.money/index.html diff --git a/website/jsconfig.json b/websites/kibo.money/jsconfig.json similarity index 100% rename from website/jsconfig.json rename to websites/kibo.money/jsconfig.json diff --git a/website/manifest.webmanifest b/websites/kibo.money/manifest.webmanifest similarity index 100% rename from website/manifest.webmanifest rename to websites/kibo.money/manifest.webmanifest diff --git a/website/misc/tailwindTo550.js b/websites/kibo.money/misc/tailwindTo550.js similarity index 100% rename from website/misc/tailwindTo550.js rename to websites/kibo.money/misc/tailwindTo550.js diff --git a/website/packages/lean-qr/README.md b/websites/kibo.money/packages/lean-qr/README.md similarity index 100% rename from website/packages/lean-qr/README.md rename to websites/kibo.money/packages/lean-qr/README.md diff --git a/website/packages/lean-qr/v2.3.4/script.js b/websites/kibo.money/packages/lean-qr/v2.3.4/script.js similarity index 100% rename from website/packages/lean-qr/v2.3.4/script.js rename to websites/kibo.money/packages/lean-qr/v2.3.4/script.js diff --git a/website/packages/lean-qr/v2.3.4/types.d.ts b/websites/kibo.money/packages/lean-qr/v2.3.4/types.d.ts similarity index 100% rename from website/packages/lean-qr/v2.3.4/types.d.ts rename to websites/kibo.money/packages/lean-qr/v2.3.4/types.d.ts diff --git a/website/packages/lightweight-charts/NOTICE.md b/websites/kibo.money/packages/lightweight-charts/NOTICE.md similarity index 100% rename from website/packages/lightweight-charts/NOTICE.md rename to websites/kibo.money/packages/lightweight-charts/NOTICE.md diff --git a/website/packages/lightweight-charts/README.md b/websites/kibo.money/packages/lightweight-charts/README.md similarity index 100% rename from website/packages/lightweight-charts/README.md rename to websites/kibo.money/packages/lightweight-charts/README.md diff --git a/website/packages/lightweight-charts/types.d.ts b/websites/kibo.money/packages/lightweight-charts/types.d.ts similarity index 100% rename from website/packages/lightweight-charts/types.d.ts rename to websites/kibo.money/packages/lightweight-charts/types.d.ts diff --git a/website/packages/lightweight-charts/v4.2.0/script.js b/websites/kibo.money/packages/lightweight-charts/v4.2.0/script.js similarity index 100% rename from website/packages/lightweight-charts/v4.2.0/script.js rename to websites/kibo.money/packages/lightweight-charts/v4.2.0/script.js diff --git a/website/packages/lightweight-charts/v4.2.0/types.d.ts b/websites/kibo.money/packages/lightweight-charts/v4.2.0/types.d.ts similarity index 100% rename from website/packages/lightweight-charts/v4.2.0/types.d.ts rename to websites/kibo.money/packages/lightweight-charts/v4.2.0/types.d.ts diff --git a/website/packages/lightweight-charts/v4.2.2/script.js b/websites/kibo.money/packages/lightweight-charts/v4.2.2/script.js similarity index 100% rename from website/packages/lightweight-charts/v4.2.2/script.js rename to websites/kibo.money/packages/lightweight-charts/v4.2.2/script.js diff --git a/website/packages/lightweight-charts/v4.2.2/types.d.ts b/websites/kibo.money/packages/lightweight-charts/v4.2.2/types.d.ts similarity index 100% rename from website/packages/lightweight-charts/v4.2.2/types.d.ts rename to websites/kibo.money/packages/lightweight-charts/v4.2.2/types.d.ts diff --git a/website/packages/lightweight-charts/wrapper.js b/websites/kibo.money/packages/lightweight-charts/wrapper.js similarity index 100% rename from website/packages/lightweight-charts/wrapper.js rename to websites/kibo.money/packages/lightweight-charts/wrapper.js diff --git a/website/packages/solid-signals/2024-11-02/script.js b/websites/kibo.money/packages/solid-signals/2024-11-02/script.js similarity index 100% rename from website/packages/solid-signals/2024-11-02/script.js rename to websites/kibo.money/packages/solid-signals/2024-11-02/script.js diff --git a/website/packages/solid-signals/2024-11-02/types/core/constants.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-02/types/core/constants.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-02/types/core/constants.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-02/types/core/constants.d.ts diff --git a/website/packages/solid-signals/2024-11-02/types/core/core.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-02/types/core/core.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-02/types/core/core.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-02/types/core/core.d.ts diff --git a/website/packages/solid-signals/2024-11-02/types/core/effect.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-02/types/core/effect.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-02/types/core/effect.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-02/types/core/effect.d.ts diff --git a/website/packages/solid-signals/2024-11-02/types/core/error.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-02/types/core/error.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-02/types/core/error.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-02/types/core/error.d.ts diff --git a/website/packages/solid-signals/2024-11-02/types/core/flags.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-02/types/core/flags.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-02/types/core/flags.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-02/types/core/flags.d.ts diff --git a/website/packages/solid-signals/2024-11-02/types/core/index.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-02/types/core/index.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-02/types/core/index.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-02/types/core/index.d.ts diff --git a/website/packages/solid-signals/2024-11-02/types/core/owner.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-02/types/core/owner.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-02/types/core/owner.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-02/types/core/owner.d.ts diff --git a/website/packages/solid-signals/2024-11-02/types/core/scheduler.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-02/types/core/scheduler.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-02/types/core/scheduler.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-02/types/core/scheduler.d.ts diff --git a/website/packages/solid-signals/2024-11-02/types/index.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-02/types/index.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-02/types/index.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-02/types/index.d.ts diff --git a/website/packages/solid-signals/2024-11-02/types/map.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-02/types/map.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-02/types/map.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-02/types/map.d.ts diff --git a/website/packages/solid-signals/2024-11-02/types/signals.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-02/types/signals.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-02/types/signals.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-02/types/signals.d.ts diff --git a/website/packages/solid-signals/2024-11-02/types/store/index.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-02/types/store/index.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-02/types/store/index.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-02/types/store/index.d.ts diff --git a/website/packages/solid-signals/2024-11-02/types/store/store.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-02/types/store/store.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-02/types/store/store.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-02/types/store/store.d.ts diff --git a/website/packages/solid-signals/2024-11-02/types/utils.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-02/types/utils.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-02/types/utils.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-02/types/utils.d.ts diff --git a/website/packages/solid-signals/2024-11-08/script.js b/websites/kibo.money/packages/solid-signals/2024-11-08/script.js similarity index 100% rename from website/packages/solid-signals/2024-11-08/script.js rename to websites/kibo.money/packages/solid-signals/2024-11-08/script.js diff --git a/website/packages/solid-signals/2024-11-08/types/core/constants.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-08/types/core/constants.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-08/types/core/constants.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-08/types/core/constants.d.ts diff --git a/website/packages/solid-signals/2024-11-08/types/core/core.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-08/types/core/core.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-08/types/core/core.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-08/types/core/core.d.ts diff --git a/website/packages/solid-signals/2024-11-08/types/core/effect.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-08/types/core/effect.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-08/types/core/effect.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-08/types/core/effect.d.ts diff --git a/website/packages/solid-signals/2024-11-08/types/core/error.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-08/types/core/error.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-08/types/core/error.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-08/types/core/error.d.ts diff --git a/website/packages/solid-signals/2024-11-08/types/core/flags.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-08/types/core/flags.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-08/types/core/flags.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-08/types/core/flags.d.ts diff --git a/website/packages/solid-signals/2024-11-08/types/core/index.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-08/types/core/index.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-08/types/core/index.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-08/types/core/index.d.ts diff --git a/website/packages/solid-signals/2024-11-08/types/core/owner.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-08/types/core/owner.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-08/types/core/owner.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-08/types/core/owner.d.ts diff --git a/website/packages/solid-signals/2024-11-08/types/core/scheduler.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-08/types/core/scheduler.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-08/types/core/scheduler.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-08/types/core/scheduler.d.ts diff --git a/website/packages/solid-signals/2024-11-08/types/index.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-08/types/index.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-08/types/index.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-08/types/index.d.ts diff --git a/website/packages/solid-signals/2024-11-08/types/map.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-08/types/map.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-08/types/map.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-08/types/map.d.ts diff --git a/website/packages/solid-signals/2024-11-08/types/signals.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-08/types/signals.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-08/types/signals.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-08/types/signals.d.ts diff --git a/website/packages/solid-signals/2024-11-08/types/store/index.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-08/types/store/index.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-08/types/store/index.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-08/types/store/index.d.ts diff --git a/website/packages/solid-signals/2024-11-08/types/store/store.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-08/types/store/store.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-08/types/store/store.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-08/types/store/store.d.ts diff --git a/website/packages/solid-signals/2024-11-08/types/utils.d.ts b/websites/kibo.money/packages/solid-signals/2024-11-08/types/utils.d.ts similarity index 100% rename from website/packages/solid-signals/2024-11-08/types/utils.d.ts rename to websites/kibo.money/packages/solid-signals/2024-11-08/types/utils.d.ts diff --git a/website/packages/solid-signals/README.md b/websites/kibo.money/packages/solid-signals/README.md similarity index 100% rename from website/packages/solid-signals/README.md rename to websites/kibo.money/packages/solid-signals/README.md diff --git a/website/packages/solid-signals/types.d.ts b/websites/kibo.money/packages/solid-signals/types.d.ts similarity index 100% rename from website/packages/solid-signals/types.d.ts rename to websites/kibo.money/packages/solid-signals/types.d.ts diff --git a/website/packages/solid-signals/wrapper.js b/websites/kibo.money/packages/solid-signals/wrapper.js similarity index 100% rename from website/packages/solid-signals/wrapper.js rename to websites/kibo.money/packages/solid-signals/wrapper.js diff --git a/website/packages/ufuzzy/README.md b/websites/kibo.money/packages/ufuzzy/README.md similarity index 100% rename from website/packages/ufuzzy/README.md rename to websites/kibo.money/packages/ufuzzy/README.md diff --git a/website/packages/ufuzzy/v1.0.14/script.js b/websites/kibo.money/packages/ufuzzy/v1.0.14/script.js similarity index 100% rename from website/packages/ufuzzy/v1.0.14/script.js rename to websites/kibo.money/packages/ufuzzy/v1.0.14/script.js diff --git a/website/packages/ufuzzy/v1.0.14/types.d.ts b/websites/kibo.money/packages/ufuzzy/v1.0.14/types.d.ts similarity index 100% rename from website/packages/ufuzzy/v1.0.14/types.d.ts rename to websites/kibo.money/packages/ufuzzy/v1.0.14/types.d.ts diff --git a/website/robots.txt b/websites/kibo.money/robots.txt similarity index 100% rename from website/robots.txt rename to websites/kibo.money/robots.txt diff --git a/website/scripts/chart.js b/websites/kibo.money/scripts/chart.js similarity index 100% rename from website/scripts/chart.js rename to websites/kibo.money/scripts/chart.js diff --git a/website/scripts/live-price.js b/websites/kibo.money/scripts/live-price.js similarity index 100% rename from website/scripts/live-price.js rename to websites/kibo.money/scripts/live-price.js diff --git a/website/scripts/main.js b/websites/kibo.money/scripts/main.js similarity index 100% rename from website/scripts/main.js rename to websites/kibo.money/scripts/main.js diff --git a/website/scripts/moscow-time.js b/websites/kibo.money/scripts/moscow-time.js similarity index 100% rename from website/scripts/moscow-time.js rename to websites/kibo.money/scripts/moscow-time.js diff --git a/website/scripts/options.js b/websites/kibo.money/scripts/options.js similarity index 100% rename from website/scripts/options.js rename to websites/kibo.money/scripts/options.js diff --git a/website/scripts/service-worker.js b/websites/kibo.money/scripts/service-worker.js similarity index 100% rename from website/scripts/service-worker.js rename to websites/kibo.money/scripts/service-worker.js diff --git a/website/scripts/simulation.js b/websites/kibo.money/scripts/simulation.js similarity index 100% rename from website/scripts/simulation.js rename to websites/kibo.money/scripts/simulation.js diff --git a/website/scripts/types/self.d.ts b/websites/kibo.money/scripts/types/self.d.ts similarity index 100% rename from website/scripts/types/self.d.ts rename to websites/kibo.money/scripts/types/self.d.ts diff --git a/website/styles/chart.css b/websites/kibo.money/styles/chart.css similarity index 100% rename from website/styles/chart.css rename to websites/kibo.money/styles/chart.css diff --git a/website/styles/live-price.css b/websites/kibo.money/styles/live-price.css similarity index 100% rename from website/styles/live-price.css rename to websites/kibo.money/styles/live-price.css diff --git a/website/styles/moscow-time.css b/websites/kibo.money/styles/moscow-time.css similarity index 100% rename from website/styles/moscow-time.css rename to websites/kibo.money/styles/moscow-time.css diff --git a/website/styles/simulation.css b/websites/kibo.money/styles/simulation.css similarity index 100% rename from website/styles/simulation.css rename to websites/kibo.money/styles/simulation.css diff --git a/website/tsconfig.json b/websites/kibo.money/tsconfig.json similarity index 100% rename from website/tsconfig.json rename to websites/kibo.money/tsconfig.json