Skip to content

Commit

Permalink
feat(dataverse): initialize blueprint smart contract
Browse files Browse the repository at this point in the history
  • Loading branch information
ccamel committed Oct 24, 2023
1 parent 515667d commit fde585b
Show file tree
Hide file tree
Showing 10 changed files with 207 additions and 0 deletions.
21 changes: 21 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

60 changes: 60 additions & 0 deletions contracts/okp4-dataverse/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
[package]
authors = ["OKP4"]
edition = "2021"
name = "okp4-dataverse"
rust-version = "1.69"
version = "0.0.1"

exclude = [
# Those files are rust-optimizer artifacts. You might want to commit them for convenience but they should not be part of the source code publication.
"contract.wasm",
"hash.txt",
]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[lib]
crate-type = ["cdylib", "rlib"]

[profile.release]
codegen-units = 1
debug = false
debug-assertions = false
incremental = false
lto = true
opt-level = 3
overflow-checks = true
panic = 'abort'
rpath = false

[dependencies]
cosmwasm-schema.workspace = true
cosmwasm-std.workspace = true
cosmwasm-storage.workspace = true
cw-storage-plus.workspace = true
cw-utils.workspace = true
cw2.workspace = true
itertools = "0.11.0"
okp4-logic-bindings.workspace = true
okp4-objectarium-client.workspace = true
okp4-objectarium.workspace = true
schemars.workspace = true
serde.workspace = true
thiserror.workspace = true

[dev-dependencies]
cw-multi-test.workspace = true
url = "2.4.0"

[features]
# for more explicit tests, cargo test --features=backtraces
backtraces = ["cosmwasm-std/backtraces"]
# use library feature to disable all instantiate/execute/query exports
library = []

[package.metadata.scripts]
optimize = """docker run --rm -v "$(pwd)":/code \
--mount type=volume,source="$(basename "$(pwd)")_cache",target=/code/target \
--mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \
cosmwasm/rust-optimizer:0.12.10
"""
12 changes: 12 additions & 0 deletions contracts/okp4-dataverse/Makefile.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[tasks.generate_schema]
args = ["run", "--bin", "schema"]
command = "cargo"

[tasks.schema]
dependencies = ["generate_schema"]
script = '''
SCHEMA=$(find schema -type f -maxdepth 1 -name '*.json' -print0)
TITLE=$(jq -r .contract_name $SCHEMA)
jq --arg description "$(cat README.md)" '. + {description: $description}' $SCHEMA > $SCHEMA.tmp && mv $SCHEMA.tmp $SCHEMA
jq --arg title $TITLE '. + {title: $title}' $SCHEMA > $SCHEMA.tmp && mv $SCHEMA.tmp $SCHEMA
'''
3 changes: 3 additions & 0 deletions contracts/okp4-dataverse/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Dataverse

## Overview
11 changes: 11 additions & 0 deletions contracts/okp4-dataverse/src/bin/schema.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
use cosmwasm_schema::write_api;

use okp4_dataverse::msg::{ExecuteMsg, InstantiateMsg, QueryMsg};

fn main() {
write_api! {
instantiate: InstantiateMsg,
execute: ExecuteMsg,
query: QueryMsg,
}
}
45 changes: 45 additions & 0 deletions contracts/okp4-dataverse/src/contract.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#[cfg(not(feature = "library"))]
use cosmwasm_std::entry_point;
use cosmwasm_std::{Binary, Deps, DepsMut, Env, MessageInfo, Response, StdError, StdResult};
use cw2::set_contract_version;

use crate::error::ContractError;
use crate::msg::{ExecuteMsg, InstantiateMsg, QueryMsg};

// version info for migration info
const CONTRACT_NAME: &str = concat!("crates.io:", env!("CARGO_PKG_NAME"));
const CONTRACT_VERSION: &str = env!("CARGO_PKG_VERSION");

#[cfg_attr(not(feature = "library"), entry_point)]
pub fn instantiate(
deps: DepsMut<'_>,
_env: Env,
_info: MessageInfo,
_msg: InstantiateMsg,
) -> Result<Response, ContractError> {
set_contract_version(deps.storage, CONTRACT_NAME, CONTRACT_VERSION)?;

Err(StdError::generic_err("Not implemented").into())
}

#[cfg_attr(not(feature = "library"), entry_point)]
pub fn execute(
_deps: DepsMut<'_>,
_env: Env,
_info: MessageInfo,
_msg: ExecuteMsg,
) -> Result<Response, ContractError> {
Err(StdError::generic_err("Not implemented").into())
}

pub mod execute {}

#[cfg_attr(not(feature = "library"), entry_point)]
pub fn query(_deps: Deps<'_>, _env: Env, _msg: QueryMsg) -> StdResult<Binary> {
Err(StdError::generic_err("Not implemented").into())
}

pub mod query {}

#[cfg(test)]
mod tests {}
8 changes: 8 additions & 0 deletions contracts/okp4-dataverse/src/error.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
use cosmwasm_std::StdError;
use thiserror::Error;

#[derive(Error, Debug, PartialEq)]
pub enum ContractError {
#[error("{0}")]
Std(#[from] StdError),
}
18 changes: 18 additions & 0 deletions contracts/okp4-dataverse/src/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#![forbid(unsafe_code)]
#![deny(
warnings,
rust_2018_idioms,
trivial_casts,
trivial_numeric_casts,
unused_lifetimes,
unused_import_braces,
unused_qualifications,
unused_qualifications
)]

pub mod contract;
mod error;
pub mod msg;
pub mod state;

pub use crate::error::ContractError;
28 changes: 28 additions & 0 deletions contracts/okp4-dataverse/src/msg.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
use cosmwasm_schema::{cw_serde, QueryResponses};
#[allow(unused_imports)]
use okp4_logic_bindings::AskResponse;

/// Instantiate message
#[cw_serde]
pub struct InstantiateMsg {
/// A name to give to the dataverse instantiated.
pub name: String,
}

/// Execute messages
#[cw_serde]
pub enum ExecuteMsg {
Foo,
}

/// Query messages
#[cw_serde]
#[derive(QueryResponses)]
pub enum QueryMsg {
#[returns(FooResponse)]
Foo,
}

/// # QueryResponses
#[cw_serde]
pub struct FooResponse {}
1 change: 1 addition & 0 deletions contracts/okp4-dataverse/src/state.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

0 comments on commit fde585b

Please sign in to comment.