diff --git a/Cargo.lock b/Cargo.lock index 9936f1e1..571cafaa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -760,9 +760,7 @@ dependencies = [ "cw-utils 1.0.2", "cw2 1.1.1", "itertools 0.12.0", - "okp4-logic-bindings", - "okp4-objectarium", - "okp4-objectarium-client", + "okp4-cognitarium", "schemars", "serde", "thiserror", diff --git a/Cargo.toml b/Cargo.toml index 0af3bd30..694c577f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,6 +11,7 @@ cw-utils = "1.0.2" cw2 = "1.1.1" okp4-logic-bindings = { path = "packages/okp4-logic-bindings" } okp4-objectarium = { path = "contracts/okp4-objectarium" } +okp4-cognitarium = { path = "contracts/okp4-cognitarium" } okp4-objectarium-client = { path = "packages/okp4-objectarium-client" } schemars = "0.8.16" serde = { version = "1.0.192", default-features = false, features = ["derive"] } diff --git a/contracts/okp4-dataverse/Cargo.toml b/contracts/okp4-dataverse/Cargo.toml index 9abdf1a1..89a752c2 100644 --- a/contracts/okp4-dataverse/Cargo.toml +++ b/contracts/okp4-dataverse/Cargo.toml @@ -35,9 +35,7 @@ cw-storage-plus.workspace = true cw-utils.workspace = true cw2.workspace = true itertools = "0.12.0" -okp4-logic-bindings.workspace = true -okp4-objectarium-client.workspace = true -okp4-objectarium.workspace = true +okp4-cognitarium.workspace = true schemars.workspace = true serde.workspace = true thiserror.workspace = true diff --git a/contracts/okp4-dataverse/src/msg.rs b/contracts/okp4-dataverse/src/msg.rs index bbdc6314..227b9c29 100644 --- a/contracts/okp4-dataverse/src/msg.rs +++ b/contracts/okp4-dataverse/src/msg.rs @@ -1,11 +1,14 @@ use cosmwasm_schema::{cw_serde, QueryResponses}; -use cosmwasm_std::Binary; +use cosmwasm_std::{Binary, Uint64}; /// `InstantiateMsg` is used to initialize a new instance of the dataverse. #[cw_serde] pub struct InstantiateMsg { /// A unique name to identify the dataverse instance. pub name: String, + + /// The configuration used to instantiate the triple store. + pub triplestore_config: TripleStoreConfig, } /// `ExecuteMsg` defines the set of possible actions that can be performed on the dataverse. @@ -120,6 +123,19 @@ pub enum ExecuteMsg { }, } +/// # TripleStoreConfig +/// `TripleStoreConfig` represents the configuration related to the management of the triple store. +#[cw_serde] +pub struct TripleStoreConfig { + /// The code id that will be used to instantiate the triple store contract in which + /// to store dataverse semantic data. It must implement the cognitarium interface. + pub code_id: Uint64, + + /// Limitations regarding triple store usage. + #[serde(default = "okp4_cognitarium::msg::StoreLimitsInput::default")] + pub limits: okp4_cognitarium::msg::StoreLimitsInput, +} + /// # RdfFormat /// `RdfFormat` represents the various serialization formats for RDF (Resource Description Framework) data. #[cw_serde]