bump versions for docsrs

pull/19/head
Niko PLP 7 months ago
parent e8420e90b0
commit 0a953c4b0a
  1. 132
      Cargo.lock
  2. 5
      nextgraph/Cargo.toml
  3. 6
      nextgraph/README.md
  4. 2
      nextgraph/src/local_broker.rs
  5. 4
      ng-net/Cargo.toml
  6. 4
      ng-oxigraph/Cargo.toml
  7. 1
      ng-oxigraph/src/lib.rs
  8. 4
      ng-oxigraph/src/oxigraph/storage/backend/mod.rs
  9. 2
      ng-oxigraph/src/oxigraph/storage/binary_encoder.rs
  10. 74
      ng-oxigraph/src/oxigraph/storage/mod.rs
  11. 28
      ng-oxigraph/src/oxigraph/store.rs
  12. 2
      ng-repo/Cargo.toml
  13. 6
      ng-verifier/Cargo.toml
  14. 3
      ng-verifier/src/lib.rs
  15. 2
      ng-wallet/Cargo.toml

132
Cargo.lock generated

@ -51,9 +51,9 @@ dependencies = [
[[package]] [[package]]
name = "aes-gcm" name = "aes-gcm"
version = "0.10.2" version = "0.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "209b47e8954a928e1d72e86eca7000ebb6655fe1436d33eefc2201cad027e237" checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1"
dependencies = [ dependencies = [
"aead", "aead",
"aes", "aes",
@ -484,7 +484,7 @@ dependencies = [
"itertools 0.12.1", "itertools 0.12.1",
"leb128", "leb128",
"serde", "serde",
"sha2 0.10.7", "sha2 0.10.8",
"smol_str", "smol_str",
"thiserror", "thiserror",
"tinyvec", "tinyvec",
@ -1355,18 +1355,31 @@ dependencies = [
[[package]] [[package]]
name = "curve25519-dalek" name = "curve25519-dalek"
version = "4.0.0-rc.2" version = "4.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03d928d978dbec61a1167414f5ec534f24bea0d7a0d24dd9b6233d3d8223e585" checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"cpufeatures",
"curve25519-dalek-derive",
"fiat-crypto", "fiat-crypto",
"packed_simd_2",
"platforms", "platforms",
"rustc_version",
"subtle", "subtle",
"zeroize", "zeroize",
] ]
[[package]]
name = "curve25519-dalek-derive"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.58",
]
[[package]] [[package]]
name = "darling" name = "darling"
version = "0.20.1" version = "0.20.1"
@ -1414,6 +1427,16 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f215f9b7224f49fb73256115331f677d868b34d18b65dbe4db392e6021eea90" checksum = "8f215f9b7224f49fb73256115331f677d868b34d18b65dbe4db392e6021eea90"
[[package]]
name = "deranged"
version = "0.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
dependencies = [
"powerfmt",
"serde",
]
[[package]] [[package]]
name = "derivative" name = "derivative"
version = "2.2.0" version = "2.2.0"
@ -1528,7 +1551,7 @@ dependencies = [
"rust_decimal", "rust_decimal",
"serde", "serde",
"thiserror", "thiserror",
"time 0.3.23", "time 0.3.36",
] ]
[[package]] [[package]]
@ -1744,9 +1767,9 @@ dependencies = [
[[package]] [[package]]
name = "fiat-crypto" name = "fiat-crypto"
version = "0.1.20" version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77" checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d"
[[package]] [[package]]
name = "field-offset" name = "field-offset"
@ -2881,12 +2904,6 @@ dependencies = [
"winapi", "winapi",
] ]
[[package]]
name = "libm"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a"
[[package]] [[package]]
name = "libz-sys" name = "libz-sys"
version = "1.1.12" version = "1.1.12"
@ -3240,7 +3257,7 @@ checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
[[package]] [[package]]
name = "nextgraph" name = "nextgraph"
version = "0.1.0-preview.1" version = "0.1.0-preview.2"
dependencies = [ dependencies = [
"async-once-cell", "async-once-cell",
"async-std", "async-std",
@ -3368,7 +3385,7 @@ dependencies = [
[[package]] [[package]]
name = "ng-oxigraph" name = "ng-oxigraph"
version = "0.4.0-alpha.7-ngpreview" version = "0.4.0-alpha.7-ngpreview2"
dependencies = [ dependencies = [
"codspeed-criterion-compat", "codspeed-criterion-compat",
"digest 0.10.7", "digest 0.10.7",
@ -3388,8 +3405,8 @@ dependencies = [
"regex", "regex",
"serde", "serde",
"sha1", "sha1",
"sha2 0.10.7", "sha2 0.10.8",
"siphasher 0.3.10", "siphasher 1.0.1",
"thiserror", "thiserror",
"zstd", "zstd",
] ]
@ -3421,7 +3438,7 @@ dependencies = [
"serde_json", "serde_json",
"slice_as_array", "slice_as_array",
"threshold_crypto", "threshold_crypto",
"time 0.3.23", "time 0.3.36",
"wasm-bindgen", "wasm-bindgen",
"web-time", "web-time",
"zeroize", "zeroize",
@ -3498,7 +3515,7 @@ dependencies = [
[[package]] [[package]]
name = "ng-verifier" name = "ng-verifier"
version = "0.1.0-preview.1" version = "0.1.0-preview.2"
dependencies = [ dependencies = [
"async-std", "async-std",
"async-trait", "async-trait",
@ -3642,25 +3659,25 @@ checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
[[package]] [[package]]
name = "noise-protocol" name = "noise-protocol"
version = "0.2.0-rc1" version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eecce5634c8ec4e9352dbb67bedaff4796503d81913cf27763bc121dac32fbd9" checksum = "2473d39689a839f5a363aaef7d99f76d5611bf352286682b25a6644fec18b1d3"
dependencies = [ dependencies = [
"arrayvec", "arrayvec",
] ]
[[package]] [[package]]
name = "noise-rust-crypto" name = "noise-rust-crypto"
version = "0.6.0-rc.1" version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16c166af96e587866c91d5fba009fbab882ebeb892ab3e576b676120262b7f93" checksum = "b4c6159f60beb3bbbcdc266bc789bfc6c37fdad7d7ca7152d3e049ef5af633f0"
dependencies = [ dependencies = [
"aes-gcm", "aes-gcm",
"blake2", "blake2",
"chacha20poly1305", "chacha20poly1305",
"noise-protocol", "noise-protocol",
"sha2 0.10.7", "sha2 0.10.8",
"x25519-dalek 2.0.0-rc.2", "x25519-dalek 2.0.1",
"zeroize", "zeroize",
] ]
@ -3695,6 +3712,12 @@ dependencies = [
"num-traits", "num-traits",
] ]
[[package]]
name = "num-conv"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
[[package]] [[package]]
name = "num-integer" name = "num-integer"
version = "0.1.45" version = "0.1.45"
@ -3929,16 +3952,6 @@ dependencies = [
"thiserror", "thiserror",
] ]
[[package]]
name = "packed_simd_2"
version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1914cd452d8fccd6f9db48147b29fd4ae05bea9dc5d9ad578509f72415de282"
dependencies = [
"cfg-if",
"libm",
]
[[package]] [[package]]
name = "pairing" name = "pairing"
version = "0.16.0" version = "0.16.0"
@ -4235,7 +4248,7 @@ dependencies = [
"line-wrap", "line-wrap",
"quick-xml 0.28.2", "quick-xml 0.28.2",
"serde", "serde",
"time 0.3.23", "time 0.3.36",
] ]
[[package]] [[package]]
@ -4318,6 +4331,12 @@ dependencies = [
"universal-hash", "universal-hash",
] ]
[[package]]
name = "powerfmt"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
[[package]] [[package]]
name = "ppv-lite86" name = "ppv-lite86"
version = "0.2.17" version = "0.2.17"
@ -4698,7 +4717,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "512b0ab6853f7e14e3c8754acb43d6f748bb9ced66aa5915a6553ac8213f7731" checksum = "512b0ab6853f7e14e3c8754acb43d6f748bb9ced66aa5915a6553ac8213f7731"
dependencies = [ dependencies = [
"globset", "globset",
"sha2 0.10.7", "sha2 0.10.8",
"walkdir", "walkdir",
] ]
@ -4988,7 +5007,7 @@ dependencies = [
"serde", "serde",
"serde_json", "serde_json",
"serde_with_macros", "serde_with_macros",
"time 0.3.23", "time 0.3.36",
] ]
[[package]] [[package]]
@ -5061,9 +5080,9 @@ dependencies = [
[[package]] [[package]]
name = "sha2" name = "sha2"
version = "0.10.7" version = "0.10.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"cpufeatures", "cpufeatures",
@ -5517,10 +5536,10 @@ dependencies = [
"semver", "semver",
"serde", "serde",
"serde_json", "serde_json",
"sha2 0.10.7", "sha2 0.10.8",
"tauri-utils", "tauri-utils",
"thiserror", "thiserror",
"time 0.3.23", "time 0.3.36",
"url", "url",
"uuid", "uuid",
"walkdir", "walkdir",
@ -5746,11 +5765,14 @@ dependencies = [
[[package]] [[package]]
name = "time" name = "time"
version = "0.3.23" version = "0.3.36"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446" checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
dependencies = [ dependencies = [
"deranged",
"itoa 1.0.6", "itoa 1.0.6",
"num-conv",
"powerfmt",
"serde", "serde",
"time-core", "time-core",
"time-macros", "time-macros",
@ -5758,16 +5780,17 @@ dependencies = [
[[package]] [[package]]
name = "time-core" name = "time-core"
version = "0.1.1" version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
[[package]] [[package]]
name = "time-macros" name = "time-macros"
version = "0.2.10" version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96ba15a897f3c86766b757e5ac7221554c6750054d74d5b28844fce5fb36a6c4" checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
dependencies = [ dependencies = [
"num-conv",
"time-core", "time-core",
] ]
@ -6876,7 +6899,7 @@ dependencies = [
"once_cell", "once_cell",
"serde", "serde",
"serde_json", "serde_json",
"sha2 0.10.7", "sha2 0.10.8",
"soup3", "soup3",
"tao", "tao",
"thiserror", "thiserror",
@ -6941,13 +6964,12 @@ dependencies = [
[[package]] [[package]]
name = "x25519-dalek" name = "x25519-dalek"
version = "2.0.0-rc.2" version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fabd6e16dd08033932fc3265ad4510cc2eab24656058a6dcb107ffe274abcc95" checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277"
dependencies = [ dependencies = [
"curve25519-dalek 4.0.0-rc.2", "curve25519-dalek 4.1.2",
"rand_core 0.6.4", "rand_core 0.6.4",
"serde",
"zeroize", "zeroize",
] ]

@ -2,7 +2,7 @@
name = "nextgraph" name = "nextgraph"
description = "NextGraph client library. Nextgraph is a decentralized, secure and local-first web 3.0 ecosystem based on Semantic Web and CRDTs" description = "NextGraph client library. Nextgraph is a decentralized, secure and local-first web 3.0 ecosystem based on Semantic Web and CRDTs"
categories = ["asynchronous","text-editors","web-programming","development-tools","database-implementations"] categories = ["asynchronous","text-editors","web-programming","development-tools","database-implementations"]
version.workspace = true version = "0.1.0-preview.2"
edition.workspace = true edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
@ -30,7 +30,7 @@ ng-repo = { path = "../ng-repo", version = "0.1.0-preview.1" }
ng-net = { path = "../ng-net", version = "0.1.0-preview.1" } ng-net = { path = "../ng-net", version = "0.1.0-preview.1" }
ng-wallet = { path = "../ng-wallet", version = "0.1.0-preview.1" } ng-wallet = { path = "../ng-wallet", version = "0.1.0-preview.1" }
ng-client-ws = { path = "../ng-client-ws", version = "0.1.0-preview.1" } ng-client-ws = { path = "../ng-client-ws", version = "0.1.0-preview.1" }
ng-verifier = { path = "../ng-verifier", version = "0.1.0-preview.1" } ng-verifier = { path = "../ng-verifier", version = "0.1.0-preview.2" }
[target.'cfg(all(not(target_arch = "wasm32"),not(doc)))'.dependencies] [target.'cfg(all(not(target_arch = "wasm32"),not(doc)))'.dependencies]
ng-storage-rocksdb = { path = "../ng-storage-rocksdb", version = "0.1.0-preview.1" } ng-storage-rocksdb = { path = "../ng-storage-rocksdb", version = "0.1.0-preview.1" }
@ -49,3 +49,4 @@ required-features = []
[[example]] [[example]]
name = "open" name = "open"
required-features = [] required-features = []

@ -1,5 +1,5 @@
<p align="center"> <p align="center">
<img src=".static/header.png" alt="nextgraph-header" /> <img src="https://git.nextgraph.org/NextGraph/nextgraph-rs/raw/branch/master/nextgraph/.static/header.png" alt="nextgraph-header" />
</p> </p>
# nextgraph # nextgraph
@ -51,8 +51,8 @@ async-std = "1.12.0"
You can find some examples on how to use the library: You can find some examples on how to use the library:
- [in_memory](examples/in_memory) - [in_memory](https://git.nextgraph.org/NextGraph/nextgraph-rs/src/branch/master/nextgraph/examples)
- [persistent](examples/persistent) - [persistent](https://git.nextgraph.org/NextGraph/nextgraph-rs/src/branch/master/nextgraph/examples)
## License ## License

@ -46,7 +46,7 @@ use ng_wallet::{create_wallet_first_step_v0, create_wallet_second_step_v0, types
use ng_client_ws::remote_ws::ConnectionWebSocket; use ng_client_ws::remote_ws::ConnectionWebSocket;
#[cfg(target_arch = "wasm32")] #[cfg(target_arch = "wasm32")]
use ng_client_ws::remote_ws_wasm::ConnectionWebSocket; use ng_client_ws::remote_ws_wasm::ConnectionWebSocket;
#[cfg(all(not(target_family = "wasm"),not(doc)))] #[cfg(not(any(target_family = "wasm",doc)))]
use ng_storage_rocksdb::block_storage::RocksDbBlockStorage; use ng_storage_rocksdb::block_storage::RocksDbBlockStorage;
#[doc(hidden)] #[doc(hidden)]

@ -29,8 +29,8 @@ async-trait = "0.1.64"
async-recursion = "1.1.1" async-recursion = "1.1.1"
async-std = { version = "1.12.0", features = ["attributes","unstable"] } async-std = { version = "1.12.0", features = ["attributes","unstable"] }
unique_id = "0.1.5" unique_id = "0.1.5"
noise-protocol = "0.2.0-rc1" noise-protocol = "0.2.0"
noise-rust-crypto = "0.6.0-rc.1" noise-rust-crypto = "0.6.2"
ed25519-dalek = "1.0.1" ed25519-dalek = "1.0.1"
url = "2.4.0" url = "2.4.0"
regex = "1.8.4" regex = "1.8.4"

@ -1,6 +1,6 @@
[package] [package]
name = "ng-oxigraph" name = "ng-oxigraph"
version = "0.4.0-alpha.7-ngpreview" version = "0.4.0-alpha.7-ngpreview2"
authors = ["Tpt <thomas@pellissier-tanon.fr>", "Niko PLP <niko@nextgraph.org>"] authors = ["Tpt <thomas@pellissier-tanon.fr>", "Niko PLP <niko@nextgraph.org>"]
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
readme = "README.md" readme = "README.md"
@ -65,7 +65,7 @@ elided_lifetimes_in_paths = "warn"
explicit_outlives_requirements = "warn" explicit_outlives_requirements = "warn"
let_underscore_drop = "warn" let_underscore_drop = "warn"
macro_use_extern_crate = "warn" macro_use_extern_crate = "warn"
# TODO missing_docs = "warn" # TODO missidoc_auto_cfgs = "warn"
trivial_casts = "warn" trivial_casts = "warn"
trivial_numeric_casts = "warn" trivial_numeric_casts = "warn"
unsafe_code = "warn" unsafe_code = "warn"

@ -1,6 +1,5 @@
#![doc(test(attr(deny(warnings))))] #![doc(test(attr(deny(warnings))))]
#![doc(test(attr(allow(deprecated))))] #![doc(test(attr(allow(deprecated))))]
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
#![doc(html_favicon_url = "https://raw.githubusercontent.com/oxigraph/oxigraph/main/logo.svg")] #![doc(html_favicon_url = "https://raw.githubusercontent.com/oxigraph/oxigraph/main/logo.svg")]
#![doc(html_logo_url = "https://raw.githubusercontent.com/oxigraph/oxigraph/main/logo.svg")] #![doc(html_logo_url = "https://raw.githubusercontent.com/oxigraph/oxigraph/main/logo.svg")]

@ -3,10 +3,10 @@
#[cfg(any(target_family = "wasm", doc))] #[cfg(any(target_family = "wasm", doc))]
pub use fallback::{ColumnFamily, ColumnFamilyDefinition, Db, Iter, Reader, Transaction}; pub use fallback::{ColumnFamily, ColumnFamilyDefinition, Db, Iter, Reader, Transaction};
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
pub use oxi_rocksdb::{ColumnFamily, ColumnFamilyDefinition, Db, Iter, Reader, Transaction}; pub use oxi_rocksdb::{ColumnFamily, ColumnFamilyDefinition, Db, Iter, Reader, Transaction};
#[cfg(any(target_family = "wasm", doc))] #[cfg(any(target_family = "wasm", doc))]
mod fallback; mod fallback;
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
mod oxi_rocksdb; mod oxi_rocksdb;

@ -5,7 +5,7 @@ use crate::oxsdatatypes::*;
use std::io::Read; use std::io::Read;
use std::mem::size_of; use std::mem::size_of;
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
pub const LATEST_STORAGE_VERSION: u64 = 1; pub const LATEST_STORAGE_VERSION: u64 = 1;
pub const WRITTEN_TERM_MAX_SIZE: usize = size_of::<u8>() + 2 * size_of::<StrHash>(); pub const WRITTEN_TERM_MAX_SIZE: usize = size_of::<u8>() + 2 * size_of::<StrHash>();

@ -1,9 +1,9 @@
#![allow(clippy::same_name_method)] #![allow(clippy::same_name_method)]
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
use crate::oxigraph::model::Quad; use crate::oxigraph::model::Quad;
use crate::oxigraph::model::{GraphNameRef, NamedOrBlankNodeRef, QuadRef, TermRef}; use crate::oxigraph::model::{GraphNameRef, NamedOrBlankNodeRef, QuadRef, TermRef};
use crate::oxigraph::storage::backend::{Reader, Transaction}; use crate::oxigraph::storage::backend::{Reader, Transaction};
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
use crate::oxigraph::storage::binary_encoder::LATEST_STORAGE_VERSION; use crate::oxigraph::storage::binary_encoder::LATEST_STORAGE_VERSION;
use crate::oxigraph::storage::binary_encoder::{ use crate::oxigraph::storage::binary_encoder::{
decode_term, encode_term, encode_term_pair, encode_term_quad, encode_term_triple, decode_term, encode_term, encode_term_pair, encode_term_quad, encode_term_triple,
@ -14,24 +14,24 @@ use crate::oxigraph::storage::binary_encoder::{
pub use crate::oxigraph::storage::error::{ pub use crate::oxigraph::storage::error::{
CorruptionError, LoaderError, SerializerError, StorageError, CorruptionError, LoaderError, SerializerError, StorageError,
}; };
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
use crate::oxigraph::storage::numeric_encoder::Decoder; use crate::oxigraph::storage::numeric_encoder::Decoder;
use crate::oxigraph::storage::numeric_encoder::{ use crate::oxigraph::storage::numeric_encoder::{
insert_term, EncodedQuad, EncodedTerm, StrHash, StrLookup, insert_term, EncodedQuad, EncodedTerm, StrHash, StrLookup,
}; };
use backend::{ColumnFamily, ColumnFamilyDefinition, Db, Iter}; use backend::{ColumnFamily, ColumnFamilyDefinition, Db, Iter};
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
use std::collections::VecDeque; use std::collections::VecDeque;
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
use std::collections::{HashMap, HashSet}; use std::collections::{HashMap, HashSet};
use std::error::Error; use std::error::Error;
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
use std::mem::{swap, take}; use std::mem::{swap, take};
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
use std::path::{Path, PathBuf}; use std::path::{Path, PathBuf};
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
use std::sync::Mutex; use std::sync::Mutex;
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
use std::{io, thread}; use std::{io, thread};
mod backend; mod backend;
@ -51,16 +51,16 @@ const DSPO_CF: &str = "dspo";
const DPOS_CF: &str = "dpos"; const DPOS_CF: &str = "dpos";
const DOSP_CF: &str = "dosp"; const DOSP_CF: &str = "dosp";
const GRAPHS_CF: &str = "graphs"; const GRAPHS_CF: &str = "graphs";
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
const DEFAULT_CF: &str = "default"; const DEFAULT_CF: &str = "default";
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
const DEFAULT_BULK_LOAD_BATCH_SIZE: usize = 1_000_000; const DEFAULT_BULK_LOAD_BATCH_SIZE: usize = 1_000_000;
/// Low level storage primitives /// Low level storage primitives
#[derive(Clone)] #[derive(Clone)]
pub struct Storage { pub struct Storage {
db: Db, db: Db,
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
default_cf: ColumnFamily, default_cf: ColumnFamily,
id2str_cf: ColumnFamily, id2str_cf: ColumnFamily,
spog_cf: ColumnFamily, spog_cf: ColumnFamily,
@ -80,7 +80,7 @@ impl Storage {
Self::setup(Db::new(Self::column_families())?) Self::setup(Db::new(Self::column_families())?)
} }
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
pub fn open(path: &Path, key: Option<[u8; 32]>) -> Result<Self, StorageError> { pub fn open(path: &Path, key: Option<[u8; 32]>) -> Result<Self, StorageError> {
Self::setup(Db::open_read_write( Self::setup(Db::open_read_write(
Some(path), Some(path),
@ -89,7 +89,7 @@ impl Storage {
)?) )?)
} }
// #[cfg(all(not(target_family = "wasm")))] // #[cfg(all(not(target_family = "wasm"), not(doc)))]
// pub fn open_secondary(primary_path: &Path) -> Result<Self, StorageError> { // pub fn open_secondary(primary_path: &Path) -> Result<Self, StorageError> {
// Self::setup(Db::open_secondary( // Self::setup(Db::open_secondary(
// primary_path, // primary_path,
@ -98,7 +98,7 @@ impl Storage {
// )?) // )?)
// } // }
// #[cfg(all(not(target_family = "wasm")))] // #[cfg(all(not(target_family = "wasm"), not(doc)))]
// pub fn open_persistent_secondary( // pub fn open_persistent_secondary(
// primary_path: &Path, // primary_path: &Path,
// secondary_path: &Path, // secondary_path: &Path,
@ -110,7 +110,7 @@ impl Storage {
// )?) // )?)
// } // }
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
pub fn open_read_only(path: &Path, key: Option<[u8; 32]>) -> Result<Self, StorageError> { pub fn open_read_only(path: &Path, key: Option<[u8; 32]>) -> Result<Self, StorageError> {
Self::setup(Db::open_read_only(path, Self::column_families(), key)?) Self::setup(Db::open_read_only(path, Self::column_families(), key)?)
} }
@ -188,7 +188,7 @@ impl Storage {
fn setup(db: Db) -> Result<Self, StorageError> { fn setup(db: Db) -> Result<Self, StorageError> {
let this = Self { let this = Self {
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
default_cf: db.column_family(DEFAULT_CF)?, default_cf: db.column_family(DEFAULT_CF)?,
id2str_cf: db.column_family(ID2STR_CF)?, id2str_cf: db.column_family(ID2STR_CF)?,
spog_cf: db.column_family(SPOG_CF)?, spog_cf: db.column_family(SPOG_CF)?,
@ -203,12 +203,12 @@ impl Storage {
graphs_cf: db.column_family(GRAPHS_CF)?, graphs_cf: db.column_family(GRAPHS_CF)?,
db, db,
}; };
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
this.migrate()?; this.migrate()?;
Ok(this) Ok(this)
} }
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
fn migrate(&self) -> Result<(), StorageError> { fn migrate(&self) -> Result<(), StorageError> {
let mut version = self.ensure_version()?; let mut version = self.ensure_version()?;
if version == 0 { if version == 0 {
@ -248,7 +248,7 @@ impl Storage {
} }
} }
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
fn ensure_version(&self) -> Result<u64, StorageError> { fn ensure_version(&self) -> Result<u64, StorageError> {
Ok( Ok(
if let Some(version) = self.db.get(&self.default_cf, b"oxversion")? { if let Some(version) = self.db.get(&self.default_cf, b"oxversion")? {
@ -262,7 +262,7 @@ impl Storage {
) )
} }
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
fn update_version(&self, version: u64) -> Result<(), StorageError> { fn update_version(&self, version: u64) -> Result<(), StorageError> {
self.db self.db
.insert(&self.default_cf, b"oxversion", &version.to_be_bytes())?; .insert(&self.default_cf, b"oxversion", &version.to_be_bytes())?;
@ -289,12 +289,12 @@ impl Storage {
}) })
} }
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
pub fn flush(&self) -> Result<(), StorageError> { pub fn flush(&self) -> Result<(), StorageError> {
self.db.flush() self.db.flush()
} }
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
pub fn compact(&self) -> Result<(), StorageError> { pub fn compact(&self) -> Result<(), StorageError> {
self.db.compact(&self.default_cf)?; self.db.compact(&self.default_cf)?;
self.db.compact(&self.gspo_cf)?; self.db.compact(&self.gspo_cf)?;
@ -309,7 +309,7 @@ impl Storage {
self.db.compact(&self.id2str_cf) self.db.compact(&self.id2str_cf)
} }
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
pub fn backup(&self, target_directory: &Path) -> Result<(), StorageError> { pub fn backup(&self, target_directory: &Path) -> Result<(), StorageError> {
self.db.backup(target_directory) self.db.backup(target_directory)
} }
@ -634,7 +634,7 @@ impl StorageReader {
} }
} }
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
pub fn get_str(&self, key: &StrHash) -> Result<Option<String>, StorageError> { pub fn get_str(&self, key: &StrHash) -> Result<Option<String>, StorageError> {
Ok(self Ok(self
.storage .storage
@ -645,7 +645,7 @@ impl StorageReader {
.map_err(CorruptionError::new)?) .map_err(CorruptionError::new)?)
} }
#[cfg(any(target_family = "wasm"))] #[cfg(any(target_family = "wasm", doc))]
pub fn get_str(&self, key: &StrHash) -> Result<Option<String>, StorageError> { pub fn get_str(&self, key: &StrHash) -> Result<Option<String>, StorageError> {
Ok(self Ok(self
.reader .reader
@ -655,21 +655,21 @@ impl StorageReader {
.map_err(CorruptionError::new)?) .map_err(CorruptionError::new)?)
} }
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
pub fn contains_str(&self, key: &StrHash) -> Result<bool, StorageError> { pub fn contains_str(&self, key: &StrHash) -> Result<bool, StorageError> {
self.storage self.storage
.db .db
.contains_key(&self.storage.id2str_cf, &key.to_be_bytes()) .contains_key(&self.storage.id2str_cf, &key.to_be_bytes())
} }
#[cfg(any(target_family = "wasm"))] #[cfg(any(target_family = "wasm", doc))]
pub fn contains_str(&self, key: &StrHash) -> Result<bool, StorageError> { pub fn contains_str(&self, key: &StrHash) -> Result<bool, StorageError> {
self.reader self.reader
.contains_key(&self.storage.id2str_cf, &key.to_be_bytes()) .contains_key(&self.storage.id2str_cf, &key.to_be_bytes())
} }
/// Validates that all the storage invariants held in the data /// Validates that all the storage invariants held in the data
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
pub fn validate(&self) -> Result<(), StorageError> { pub fn validate(&self) -> Result<(), StorageError> {
// triples // triples
let dspo_size = self.dspo_quads(&[]).count(); let dspo_size = self.dspo_quads(&[]).count();
@ -781,7 +781,7 @@ impl StorageReader {
} }
/// Validates that all the storage invariants held in the data /// Validates that all the storage invariants held in the data
#[cfg(any(target_family = "wasm"))] #[cfg(any(target_family = "wasm", doc))]
#[allow(clippy::unused_self, clippy::unnecessary_wraps)] #[allow(clippy::unused_self, clippy::unnecessary_wraps)]
pub fn validate(&self) -> Result<(), StorageError> { pub fn validate(&self) -> Result<(), StorageError> {
Ok(()) // TODO Ok(()) // TODO
@ -1005,7 +1005,7 @@ impl<'a> StorageWriter<'a> {
} }
} }
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
fn insert_str(&mut self, key: &StrHash, value: &str) -> Result<(), StorageError> { fn insert_str(&mut self, key: &StrHash, value: &str) -> Result<(), StorageError> {
if self if self
.storage .storage
@ -1021,7 +1021,7 @@ impl<'a> StorageWriter<'a> {
) )
} }
#[cfg(any(target_family = "wasm"))] #[cfg(any(target_family = "wasm", doc))]
fn insert_str(&mut self, key: &StrHash, value: &str) -> Result<(), StorageError> { fn insert_str(&mut self, key: &StrHash, value: &str) -> Result<(), StorageError> {
self.transaction.insert( self.transaction.insert(
&self.storage.id2str_cf, &self.storage.id2str_cf,
@ -1186,7 +1186,7 @@ impl<'a> StorageWriter<'a> {
} }
} }
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
#[must_use] #[must_use]
pub struct StorageBulkLoader { pub struct StorageBulkLoader {
storage: Storage, storage: Storage,
@ -1195,7 +1195,7 @@ pub struct StorageBulkLoader {
max_memory_size: Option<usize>, max_memory_size: Option<usize>,
} }
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
impl StorageBulkLoader { impl StorageBulkLoader {
pub fn new(storage: Storage) -> Self { pub fn new(storage: Storage) -> Self {
Self { Self {
@ -1326,7 +1326,7 @@ impl StorageBulkLoader {
} }
} }
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
struct FileBulkLoader<'a> { struct FileBulkLoader<'a> {
storage: &'a Storage, storage: &'a Storage,
id2str: HashMap<StrHash, Box<str>>, id2str: HashMap<StrHash, Box<str>>,
@ -1335,7 +1335,7 @@ struct FileBulkLoader<'a> {
graphs: HashSet<EncodedTerm>, graphs: HashSet<EncodedTerm>,
} }
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
impl<'a> FileBulkLoader<'a> { impl<'a> FileBulkLoader<'a> {
fn new(storage: &'a Storage, batch_size: usize) -> Self { fn new(storage: &'a Storage, batch_size: usize) -> Self {
Self { Self {
@ -1541,7 +1541,7 @@ impl<'a> FileBulkLoader<'a> {
} }
} }
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
fn map_thread_result<R>(result: thread::Result<R>) -> io::Result<R> { fn map_thread_result<R>(result: thread::Result<R>) -> io::Result<R> {
result.map_err(|e| { result.map_err(|e| {
io::Error::new( io::Error::new(

@ -25,7 +25,7 @@
//! }; //! };
//! # Result::<_, Box<dyn std::error::Error>>::Ok(()) //! # Result::<_, Box<dyn std::error::Error>>::Ok(())
//! ``` //! ```
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
use super::io::RdfParseError; use super::io::RdfParseError;
use super::io::{RdfFormat, RdfParser, RdfSerializer}; use super::io::{RdfFormat, RdfParser, RdfSerializer};
use super::model::*; use super::model::*;
@ -34,7 +34,7 @@ use super::sparql::{
QueryResults, Update, UpdateOptions, QueryResults, Update, UpdateOptions,
}; };
use super::storage::numeric_encoder::{Decoder, EncodedQuad, EncodedTerm}; use super::storage::numeric_encoder::{Decoder, EncodedQuad, EncodedTerm};
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
use super::storage::StorageBulkLoader; use super::storage::StorageBulkLoader;
use super::storage::{ use super::storage::{
ChainedDecodingQuadIterator, DecodingGraphIterator, Storage, StorageReader, StorageWriter, ChainedDecodingQuadIterator, DecodingGraphIterator, Storage, StorageReader, StorageWriter,
@ -42,7 +42,7 @@ use super::storage::{
pub use super::storage::{CorruptionError, LoaderError, SerializerError, StorageError}; pub use super::storage::{CorruptionError, LoaderError, SerializerError, StorageError};
use std::error::Error; use std::error::Error;
use std::io::{Read, Write}; use std::io::{Read, Write};
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
use std::path::Path; use std::path::Path;
use std::{fmt, str}; use std::{fmt, str};
@ -100,14 +100,14 @@ impl Store {
/// Only one read-write [`Store`] can exist at the same time. /// Only one read-write [`Store`] can exist at the same time.
/// If you want to have extra [`Store`] instance opened on a same data /// If you want to have extra [`Store`] instance opened on a same data
/// use [`Store::open_read_only`]. /// use [`Store::open_read_only`].
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
pub fn open(path: impl AsRef<Path>) -> Result<Self, StorageError> { pub fn open(path: impl AsRef<Path>) -> Result<Self, StorageError> {
Ok(Self { Ok(Self {
storage: Storage::open(path.as_ref(), None)?, storage: Storage::open(path.as_ref(), None)?,
}) })
} }
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
pub fn open_with_key(path: impl AsRef<Path>, key: [u8; 32]) -> Result<Self, StorageError> { pub fn open_with_key(path: impl AsRef<Path>, key: [u8; 32]) -> Result<Self, StorageError> {
Ok(Self { Ok(Self {
storage: Storage::open(path.as_ref(), Some(key))?, storage: Storage::open(path.as_ref(), Some(key))?,
@ -124,7 +124,7 @@ impl Store {
// /// If you prefer persistent storage use [`Store::open_persistent_secondary`]. // /// If you prefer persistent storage use [`Store::open_persistent_secondary`].
// /// // ///
// /// If you want to simple read-only [`Store`] use [`Store::open_read_only`]. // /// If you want to simple read-only [`Store`] use [`Store::open_read_only`].
// #[cfg(all(not(target_family = "wasm")))] // #[cfg(all(not(target_family = "wasm"), not(doc)))]
// pub fn open_secondary(primary_path: impl AsRef<Path>) -> Result<Self, StorageError> { // pub fn open_secondary(primary_path: impl AsRef<Path>) -> Result<Self, StorageError> {
// Ok(Self { // Ok(Self {
// storage: Storage::open_secondary(primary_path.as_ref())?, // storage: Storage::open_secondary(primary_path.as_ref())?,
@ -139,7 +139,7 @@ impl Store {
/// `primary_path` must be the path of the primary instance and `secondary_path` an other directory for the secondary instance cache. /// `primary_path` must be the path of the primary instance and `secondary_path` an other directory for the secondary instance cache.
/// ///
/// If you want to simple read-only [`Store`] use [`Store::open_read_only`]. /// If you want to simple read-only [`Store`] use [`Store::open_read_only`].
// #[cfg(all(not(target_family = "wasm")))] // #[cfg(all(not(target_family = "wasm"), not(doc)))]
// pub fn open_persistent_secondary( // pub fn open_persistent_secondary(
// primary_path: impl AsRef<Path>, // primary_path: impl AsRef<Path>,
// secondary_path: impl AsRef<Path>, // secondary_path: impl AsRef<Path>,
@ -155,7 +155,7 @@ impl Store {
/// Opens a read-only [`Store`] from disk. /// Opens a read-only [`Store`] from disk.
/// ///
/// Opening as read-only while having an other process writing the database is undefined behavior. /// Opening as read-only while having an other process writing the database is undefined behavior.
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
pub fn open_read_only( pub fn open_read_only(
path: impl AsRef<Path>, path: impl AsRef<Path>,
key: Option<[u8; 32]>, key: Option<[u8; 32]>,
@ -939,7 +939,7 @@ impl Store {
/// Flushes all buffers and ensures that all writes are saved on disk. /// Flushes all buffers and ensures that all writes are saved on disk.
/// ///
/// Flushes are automatically done using background threads but might lag a little bit. /// Flushes are automatically done using background threads but might lag a little bit.
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
pub fn flush(&self) -> Result<(), StorageError> { pub fn flush(&self) -> Result<(), StorageError> {
self.storage.flush() self.storage.flush()
} }
@ -949,7 +949,7 @@ impl Store {
/// Useful to call after a batch upload or another similar operation. /// Useful to call after a batch upload or another similar operation.
/// ///
/// <div class="warning">Can take hours on huge databases.</div> /// <div class="warning">Can take hours on huge databases.</div>
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
pub fn optimize(&self) -> Result<(), StorageError> { pub fn optimize(&self) -> Result<(), StorageError> {
self.storage.compact() self.storage.compact()
} }
@ -972,7 +972,7 @@ impl Store {
/// This allows cheap regular backups. /// This allows cheap regular backups.
/// ///
/// If you want to move your data to another RDF storage system, you should have a look at the [`Store::dump_to_write`] function instead. /// If you want to move your data to another RDF storage system, you should have a look at the [`Store::dump_to_write`] function instead.
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
pub fn backup(&self, target_directory: impl AsRef<Path>) -> Result<(), StorageError> { pub fn backup(&self, target_directory: impl AsRef<Path>) -> Result<(), StorageError> {
self.storage.backup(target_directory.as_ref()) self.storage.backup(target_directory.as_ref())
} }
@ -999,7 +999,7 @@ impl Store {
/// assert!(store.contains(QuadRef::new(ex, ex, ex, ex))?); /// assert!(store.contains(QuadRef::new(ex, ex, ex, ex))?);
/// # Result::<_, Box<dyn std::error::Error>>::Ok(()) /// # Result::<_, Box<dyn std::error::Error>>::Ok(())
/// ``` /// ```
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
pub fn bulk_loader(&self) -> BulkLoader { pub fn bulk_loader(&self) -> BulkLoader {
BulkLoader { BulkLoader {
storage: StorageBulkLoader::new(self.storage.clone()), storage: StorageBulkLoader::new(self.storage.clone()),
@ -1617,14 +1617,14 @@ impl Iterator for GraphNameIter {
/// assert!(store.contains(QuadRef::new(ex, ex, ex, ex))?); /// assert!(store.contains(QuadRef::new(ex, ex, ex, ex))?);
/// # Result::<_, Box<dyn std::error::Error>>::Ok(()) /// # Result::<_, Box<dyn std::error::Error>>::Ok(())
/// ``` /// ```
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
#[must_use] #[must_use]
pub struct BulkLoader { pub struct BulkLoader {
storage: StorageBulkLoader, storage: StorageBulkLoader,
on_parse_error: Option<Box<dyn Fn(RdfParseError) -> Result<(), RdfParseError>>>, on_parse_error: Option<Box<dyn Fn(RdfParseError) -> Result<(), RdfParseError>>>,
} }
#[cfg(all(not(target_family = "wasm")))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
impl BulkLoader { impl BulkLoader {
/// Sets the maximal number of threads to be used by the bulk loader per operation. /// Sets the maximal number of threads to be used by the bulk loader per operation.
/// ///

@ -41,7 +41,7 @@ crypto_box = { version = "0.8.2", features = ["seal"] }
zeroize = { version = "1.6.0", features = ["zeroize_derive"] } zeroize = { version = "1.6.0", features = ["zeroize_derive"] }
base64-url = "2.0.0" base64-url = "2.0.0"
web-time = "0.2.0" web-time = "0.2.0"
time = { version= "0.3.23", features = ["formatting"] } time = { version= "0.3.36", features = ["formatting"] }
wasm-bindgen = "0.2" wasm-bindgen = "0.2"
os_info = "3" os_info = "3"
current_platform = "0.2.0" current_platform = "0.2.0"

@ -1,6 +1,6 @@
[package] [package]
name = "ng-verifier" name = "ng-verifier"
version = "0.1.0-preview.1" version = "0.1.0-preview.2"
description = "Verifier library of NextGraph" description = "Verifier library of NextGraph"
edition.workspace = true edition.workspace = true
license.workspace = true license.workspace = true
@ -32,10 +32,10 @@ yrs = "0.18.2"
bloomfilter = { version = "1.0.13", features = ["random","serde"] } bloomfilter = { version = "1.0.13", features = ["random","serde"] }
ng-repo = { path = "../ng-repo", version = "0.1.0-preview.1" } ng-repo = { path = "../ng-repo", version = "0.1.0-preview.1" }
ng-net = { path = "../ng-net", version = "0.1.0-preview.1" } ng-net = { path = "../ng-net", version = "0.1.0-preview.1" }
ng-oxigraph = { path = "../ng-oxigraph", version = "0.4.0-alpha.7-ngpreview" } ng-oxigraph = { path = "../ng-oxigraph", version = "0.4.0-alpha.7-ngpreview2" }
[target.'cfg(target_arch = "wasm32")'.dependencies] [target.'cfg(target_arch = "wasm32")'.dependencies]
ng-oxigraph = { path = "../ng-oxigraph", version = "0.4.0-alpha.7-ngpreview", features = ["js"] } ng-oxigraph = { path = "../ng-oxigraph", version = "0.4.0-alpha.7-ngpreview2", features = ["js"] }
[target.'cfg(all(not(target_arch = "wasm32"),not(doc)))'.dependencies] [target.'cfg(all(not(target_arch = "wasm32"),not(doc)))'.dependencies]
ng-storage-rocksdb = { path = "../ng-storage-rocksdb", version = "0.1.0-preview.1" } ng-storage-rocksdb = { path = "../ng-storage-rocksdb", version = "0.1.0-preview.1" }

@ -1,3 +1,4 @@
pub mod types; pub mod types;
pub mod site; pub mod site;
@ -11,5 +12,5 @@ mod commits;
mod request_processor; mod request_processor;
#[cfg(not(target_family = "wasm"))] #[cfg(all(not(target_family = "wasm"), not(doc)))]
mod rocksdb_user_storage; mod rocksdb_user_storage;

@ -2,7 +2,7 @@
name = "ng-wallet" name = "ng-wallet"
version = "0.1.0-preview.1" version = "0.1.0-preview.1"
description = "Wallet library of NextGraph. keeps the secret keys of all identities of the user in a safe wallet. NextGraph is a decentralized, secure and local-first web 3.0 ecosystem based on Semantic Web and CRDTs" description = "Wallet library of NextGraph. keeps the secret keys of all identities of the user in a safe wallet. NextGraph is a decentralized, secure and local-first web 3.0 ecosystem based on Semantic Web and CRDTs"
categories = ["authentication "] categories = ["authentication"]
edition.workspace = true edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true

Loading…
Cancel
Save