From 6a31c46ec38fbd73d767e4a745d3fd91afba05ad Mon Sep 17 00:00:00 2001 From: Adrian Thompson Date: Thu, 29 May 2025 23:24:05 -0500 Subject: [PATCH] feat: add docustore contract for Firebase-style document storage --- contracts/docustore/.cargo/config | 4 + contracts/docustore/Cargo.toml | 53 ++ contracts/docustore/LICENSE | 202 ++++++ contracts/docustore/NOTICE | 13 + contracts/docustore/README.md | 163 +++++ contracts/docustore/artifacts/checksums.txt | 1 + contracts/docustore/artifacts/docustore.wasm | Bin 0 -> 295778 bytes contracts/docustore/src/contract.rs | 619 +++++++++++++++++++ contracts/docustore/src/error.rs | 13 + contracts/docustore/src/lib.rs | 6 + contracts/docustore/src/msg.rs | 110 ++++ contracts/docustore/src/state.rs | 91 +++ contracts/docustore/test1.txt | Bin 0 -> 295778 bytes contracts/docustore/xiond_commands.sh | 64 ++ 14 files changed, 1339 insertions(+) create mode 100644 contracts/docustore/.cargo/config create mode 100644 contracts/docustore/Cargo.toml create mode 100644 contracts/docustore/LICENSE create mode 100644 contracts/docustore/NOTICE create mode 100644 contracts/docustore/README.md create mode 100644 contracts/docustore/artifacts/checksums.txt create mode 100644 contracts/docustore/artifacts/docustore.wasm create mode 100644 contracts/docustore/src/contract.rs create mode 100644 contracts/docustore/src/error.rs create mode 100644 contracts/docustore/src/lib.rs create mode 100644 contracts/docustore/src/msg.rs create mode 100644 contracts/docustore/src/state.rs create mode 100644 contracts/docustore/test1.txt create mode 100644 contracts/docustore/xiond_commands.sh diff --git a/contracts/docustore/.cargo/config b/contracts/docustore/.cargo/config new file mode 100644 index 00000000..af5698e5 --- /dev/null +++ b/contracts/docustore/.cargo/config @@ -0,0 +1,4 @@ +[alias] +wasm = "build --release --lib --target wasm32-unknown-unknown" +unit-test = "test --lib" +schema = "run --bin schema" diff --git a/contracts/docustore/Cargo.toml b/contracts/docustore/Cargo.toml new file mode 100644 index 00000000..5b6f6a66 --- /dev/null +++ b/contracts/docustore/Cargo.toml @@ -0,0 +1,53 @@ +[package] +name = "docustore" +version = "0.1.0" +authors = ["Adrian Thompson"] +edition = "2021" + +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. + "artifacts/*", +] + +# 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 + +[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=/target \ + --mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \ + cosmwasm/optimizer:0.16.0 +""" + +[dependencies] +cosmwasm-schema = "1.3.1" +cosmwasm-std = "1.3.1" +cosmwasm-storage = "1.3.1" +cw-storage-plus = "1.1.0" +cw2 = "1.1.0" +schemars = "0.8.12" +serde = { version = "1.0.183", default-features = false, features = ["derive"] } +thiserror = "1.0.44" +serde_json = "1.0" + +[dev-dependencies] +cw-multi-test = "0.17.0" diff --git a/contracts/docustore/LICENSE b/contracts/docustore/LICENSE new file mode 100644 index 00000000..d6456956 --- /dev/null +++ b/contracts/docustore/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/contracts/docustore/NOTICE b/contracts/docustore/NOTICE new file mode 100644 index 00000000..a9730633 --- /dev/null +++ b/contracts/docustore/NOTICE @@ -0,0 +1,13 @@ +Copyright 2022 arcayne + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/contracts/docustore/README.md b/contracts/docustore/README.md new file mode 100644 index 00000000..ac580985 --- /dev/null +++ b/contracts/docustore/README.md @@ -0,0 +1,163 @@ +# **CW Counter Starter Contract** + +This is a basic CosmWasm smart contract that allows you to set a counter and then either **increment** or **reset** it. You can also query the current counter value. + +--- + +## **Prerequisites** + +Before deploying the contract, ensure you have the following: + +1. **XION Daemon (`xiond`)** + Follow the official guide to install `xiond`: + [Interact with XION Chain: Setup XION Daemon](https://docs.burnt.com/xion/developers/featured-guides/setup-local-environment/interact-with-xion-chain-setup-xion-daemon) + +2. **Docker** + Install and run [Docker](https://www.docker.com/get-started), as it is required to compile the contract. + +--- + +## **Deploy and Interact with the Contract** + +### **Step 1: Clone the Repository** +```sh +git clone https://github.com/burnt-labs/cw-counter +cd cw-counter +``` + +--- + +### **Step 2: Compile and Optimize the Wasm Bytecode** +Run the following command to compile and optimize the contract: + +```sh +docker run --rm -v "$(pwd)":/code \ + --mount type=volume,source="$(basename "$(pwd)")_cache",target=/target \ + --mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \ + cosmwasm/optimizer:0.16.0 +``` + +> **Note:** +> This step uses **CosmWasm's Optimizing Compiler**, which reduces the contract's binary size, making it more efficient for deployment. +> Learn more [here](https://github.com/CosmWasm/optimizer). + +The optimized contract will be stored as: +``` +cw-counter/artifacts/cw_counter.wasm +``` + +--- + +### **Step 3: Upload the Bytecode to the Blockchain** +First, set your wallet address: +```sh +WALLET="your-wallet-address-here" +``` + +Now, upload the contract to the blockchain: +```sh +RES=$(xiond tx wasm store ./artifacts/cw_counter.wasm \ + --chain-id xion-testnet-1 \ + --gas-adjustment 1.3 \ + --gas-prices 0.1uxion \ + --gas auto \ + -y --output json \ + --node https://rpc.xion-testnet-1.burnt.com:443 \ + --from $WALLET) +``` + +After running the command, **extract the transaction hash**: +```sh +echo $RES +``` + +Example output: +```json +{ + "height": "0", + "txhash": "B557242F3BBF2E68D228EBF6A792C3C617C8C8C984440405A578FBBB8A385035", + ... +} +``` + +Copy the transaction hash for the next step. + +--- + +### **Step 4: Retrieve the Code ID** +Set your transaction hash: +```sh +TXHASH="your-txhash-here" +``` + +Query the blockchain to get the **Code ID**: +```sh +CODE_ID=$(xiond query tx $TXHASH \ + --node https://rpc.xion-testnet-1.burnt.com:443 \ + --output json | jq -r '.events[-1].attributes[1].value') +``` + +Now, display the retrieved Code ID: +```sh +echo $CODE_ID +``` + +Example output: +``` +1213 +``` + +--- + +### **Step 5: Instantiate the Contract** +Set the contract's initialization message: +```sh +MSG='{ "count": 1 }' +``` + +Instantiate the contract with the **Code ID** from the previous step: +```sh +xiond tx wasm instantiate $CODE_ID "$MSG" \ + --from $WALLET \ + --label "cw-counter" \ + --gas-prices 0.025uxion \ + --gas auto \ + --gas-adjustment 1.3 \ + -y --no-admin \ + --chain-id xion-testnet-1 \ + --node https://rpc.xion-testnet-1.burnt.com:443 +``` + +Example output: +``` +gas estimate: 217976 +code: 0 +txhash: 09D48FE11BE8D8BD4FCE11D236D80D180E7ED7707186B1659F5BADC4EC116F30 +``` + +Copy the new transaction hash for the next step. + +--- + +### **Step 6: Retrieve the Contract Address** +Set the new transaction hash: +```sh +TXHASH="your-txhash-here" +``` + +Query the blockchain to get the **contract address**: +```sh +CONTRACT=$(xiond query tx $TXHASH \ + --node https://rpc.xion-testnet-1.burnt.com:443 \ + --output json | jq -r '.events[] | select(.type == "instantiate") | .attributes[] | select(.key == "_contract_address") | .value') +``` + +Display the contract address: +```sh +echo $CONTRACT +``` + +Example output: +``` +xion1v6476wrjmw8fhsh20rl4h6jadeh5sdvlhrt8jyk2szrl3pdj4musyxj6gl +``` diff --git a/contracts/docustore/artifacts/checksums.txt b/contracts/docustore/artifacts/checksums.txt new file mode 100644 index 00000000..cf6f9a20 --- /dev/null +++ b/contracts/docustore/artifacts/checksums.txt @@ -0,0 +1 @@ +3510cf6599926a9e56de52660de213b75b7704e7e4015807b2899bea81d77ceb docustore.wasm diff --git a/contracts/docustore/artifacts/docustore.wasm b/contracts/docustore/artifacts/docustore.wasm new file mode 100644 index 0000000000000000000000000000000000000000..dde6722f1ff3d1122282792646bc568e7a691e6f GIT binary patch literal 295778 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

Tx=%qSvE*UahD3zyjYk( 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

?N9_-rk_gxV=hP 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 StdResult { + set_contract_version(deps.storage, CONTRACT_NAME, CONTRACT_VERSION)?; + + let admin_addr = deps.api.addr_validate(&msg.admin)?; + ADMIN.save(deps.storage, &admin_addr)?; + + Ok(Response::new() + .add_attribute("method", "instantiate") + .add_attribute("admin", admin_addr)) +} + +#[entry_point] +pub fn execute( + deps: DepsMut, + env: Env, + info: MessageInfo, + msg: ExecuteMsg, +) -> StdResult { + match msg { + ExecuteMsg::Set { collection, document, data } => { + execute_set(deps, env, info, collection, document, data) + } + ExecuteMsg::Update { collection, document, data } => { + execute_update(deps, env, info, collection, document, data) + } + ExecuteMsg::Delete { collection, document } => { + execute_delete(deps, env, info, collection, document) + } + ExecuteMsg::BatchWrite { operations } => { + execute_batch_write(deps, env, info, operations) + } + ExecuteMsg::SetCollectionPermissions { collection, permissions } => { + execute_set_permissions(deps, env, info, collection, permissions) + } + ExecuteMsg::GrantRole { user, role } => { + execute_grant_role(deps, env, info, user, role) + } + ExecuteMsg::RevokeRole { user, role } => { + execute_revoke_role(deps, env, info, user, role) + } + ExecuteMsg::TransferAdmin { new_admin } => { + execute_transfer_admin(deps, env, info, new_admin) + } + } +} + +fn execute_set( + deps: DepsMut, + env: Env, + info: MessageInfo, + collection: String, + document_id: String, + data: String, +) -> StdResult { + // Check create permission + if !check_permission(deps.as_ref(), &collection, &info.sender, "create")? { + return Err(StdError::generic_err("Insufficient permissions to create documents in this collection")); + } + + // Validate JSON + serde_json::from_str::(&data) + .map_err(|e| StdError::generic_err(e.to_string()))?; + + let doc = Document { + data, + owner: info.sender.clone(), + created_at: env.block.time, + updated_at: env.block.time, + }; + + let key = (collection.clone(), document_id.clone()); + DOCUMENTS.save(deps.storage, key, &doc)?; + + Ok(Response::new() + .add_attribute("action", "set") + .add_attribute("collection", collection) + .add_attribute("document", document_id) + .add_attribute("owner", info.sender)) +} + +fn execute_update( + deps: DepsMut, + env: Env, + info: MessageInfo, + collection: String, + document_id: String, + data: String, +) -> StdResult { + let key = (collection.clone(), document_id.clone()); + + // Load existing document + let mut doc = DOCUMENTS.load(deps.storage, key.clone())?; + + // Check if user owns document OR has update permission for collection + let admin = ADMIN.load(deps.storage)?; + let owns_document = doc.owner == info.sender; + let is_admin = info.sender == admin; + let has_update_permission = check_permission(deps.as_ref(), &collection, &info.sender, "update")?; + + if !owns_document && !is_admin && !has_update_permission { + return Err(StdError::generic_err("Unauthorized: Must own document or have update permission")); + } + + // Merge JSON data + let existing: serde_json::Value = serde_json::from_str(&doc.data) + .map_err(|e| StdError::generic_err(e.to_string()))?; + let new_data: serde_json::Value = serde_json::from_str(&data) + .map_err(|e| StdError::generic_err(e.to_string()))?; + + let merged = merge_json(existing, new_data); + + doc.data = serde_json::to_string(&merged) + .map_err(|e| StdError::generic_err(e.to_string()))?; + doc.updated_at = env.block.time; + + DOCUMENTS.save(deps.storage, key, &doc)?; + + Ok(Response::new() + .add_attribute("action", "update") + .add_attribute("collection", collection) + .add_attribute("document", document_id)) +} + +fn execute_delete( + deps: DepsMut, + _env: Env, + info: MessageInfo, + collection: String, + document_id: String, +) -> StdResult { + let key = (collection.clone(), document_id.clone()); + + // Check if document exists + let doc = DOCUMENTS.load(deps.storage, key.clone())?; + + // Check if user owns document OR has delete permission for collection + let admin = ADMIN.load(deps.storage)?; + let owns_document = doc.owner == info.sender; + let is_admin = info.sender == admin; + let has_delete_permission = check_permission(deps.as_ref(), &collection, &info.sender, "delete")?; + + if !owns_document && !is_admin && !has_delete_permission { + return Err(StdError::generic_err("Unauthorized: Must own document or have delete permission")); + } + + DOCUMENTS.remove(deps.storage, key); + + Ok(Response::new() + .add_attribute("action", "delete") + .add_attribute("collection", collection) + .add_attribute("document", document_id)) +} + +fn execute_batch_write( + mut deps: DepsMut, + env: Env, + info: MessageInfo, + operations: Vec, +) -> StdResult { + for op in operations { + match op.operation { + WriteType::Set { data } => { + execute_set(deps.branch(), env.clone(), info.clone(), op.collection, op.document, data)?; + } + WriteType::Update { data } => { + execute_update(deps.branch(), env.clone(), info.clone(), op.collection, op.document, data)?; + } + WriteType::Delete => { + execute_delete(deps.branch(), env.clone(), info.clone(), op.collection, op.document)?; + } + } + } + + Ok(Response::new().add_attribute("action", "batch_write")) +} + +// Permission management functions +fn execute_set_permissions( + deps: DepsMut, + _env: Env, + info: MessageInfo, + collection: String, + permissions: CollectionPermissions, +) -> StdResult { + // Only admin can set permissions + let admin = ADMIN.load(deps.storage)?; + if info.sender != admin { + return Err(StdError::generic_err("Only admin can set collection permissions")); + } + + COLLECTION_PERMISSIONS.save(deps.storage, collection.clone(), &permissions)?; + + Ok(Response::new() + .add_attribute("action", "set_permissions") + .add_attribute("collection", collection)) +} + +fn execute_grant_role( + deps: DepsMut, + _env: Env, + info: MessageInfo, + user: String, + role: String, +) -> StdResult { + // Only admin can grant roles + let admin = ADMIN.load(deps.storage)?; + if info.sender != admin { + return Err(StdError::generic_err("Only admin can grant roles")); + } + + let user_addr = deps.api.addr_validate(&user)?; + let mut user_roles = USER_ROLES.may_load(deps.storage, user_addr.clone())?.unwrap_or_default(); + + if !user_roles.contains(&role) { + user_roles.push(role.clone()); + USER_ROLES.save(deps.storage, user_addr, &user_roles)?; + } + + Ok(Response::new() + .add_attribute("action", "grant_role") + .add_attribute("user", user) + .add_attribute("role", role)) +} + +fn execute_revoke_role( + deps: DepsMut, + _env: Env, + info: MessageInfo, + user: String, + role: String, +) -> StdResult { + // Only admin can revoke roles + let admin = ADMIN.load(deps.storage)?; + if info.sender != admin { + return Err(StdError::generic_err("Only admin can revoke roles")); + } + + let user_addr = deps.api.addr_validate(&user)?; + let mut user_roles = USER_ROLES.may_load(deps.storage, user_addr.clone())?.unwrap_or_default(); + + user_roles.retain(|r| r != &role); + USER_ROLES.save(deps.storage, user_addr, &user_roles)?; + + Ok(Response::new() + .add_attribute("action", "revoke_role") + .add_attribute("user", user) + .add_attribute("role", role)) +} + +fn execute_transfer_admin( + deps: DepsMut, + _env: Env, + info: MessageInfo, + new_admin: String, +) -> StdResult { + // Only current admin can transfer admin + let admin = ADMIN.load(deps.storage)?; + if info.sender != admin { + return Err(StdError::generic_err("Only admin can transfer admin role")); + } + + let new_admin_addr = deps.api.addr_validate(&new_admin)?; + ADMIN.save(deps.storage, &new_admin_addr)?; + + Ok(Response::new() + .add_attribute("action", "transfer_admin") + .add_attribute("old_admin", admin) + .add_attribute("new_admin", new_admin_addr)) +} + +#[entry_point] +pub fn query(deps: Deps, _env: Env, msg: QueryMsg) -> StdResult { + match msg { + QueryMsg::Get { collection, document } => { + query_get(deps, collection, document) + } + QueryMsg::Collection { collection, limit, start_after } => { + query_collection(deps, collection, limit, start_after) + } + QueryMsg::UserDocuments { owner, collection, limit, start_after } => { + query_user_documents(deps, owner, collection, limit, start_after) + } + QueryMsg::GetCollectionPermissions { collection } => { + query_collection_permissions(deps, collection) + } + QueryMsg::GetUserRoles { user } => { + query_user_roles(deps, user) + } + QueryMsg::CheckPermission { collection, user, action } => { + query_check_permission(deps, collection, user, action) + } + } +} + +fn query_get( + deps: Deps, + collection: String, + document_id: String, +) -> StdResult { + let key = (collection, document_id); + let doc = DOCUMENTS.may_load(deps.storage, key)?; + + let response = DocumentResponse { + exists: doc.is_some(), + document: doc, + }; + + to_json_binary(&response) +} + +fn query_collection_permissions( + deps: Deps, + collection: String, +) -> StdResult { + let permissions = COLLECTION_PERMISSIONS.may_load(deps.storage, collection)? + .unwrap_or_default(); + to_json_binary(&permissions) +} + +fn query_user_roles( + deps: Deps, + user: String, +) -> StdResult { + let user_addr = deps.api.addr_validate(&user)?; + let roles = USER_ROLES.may_load(deps.storage, user_addr)? + .unwrap_or_default(); + to_json_binary(&roles) +} + +fn query_check_permission( + deps: Deps, + collection: String, + user: String, + action: String, +) -> StdResult { + let user_addr = deps.api.addr_validate(&user)?; + let has_permission = check_permission(deps, &collection, &user_addr, &action)?; + to_json_binary(&has_permission) +} + +// Permission checking helper function +fn check_permission( + deps: Deps, + collection: &str, + user: &Addr, + action: &str, +) -> StdResult { + // Admin always has permission + let admin = ADMIN.load(deps.storage)?; + if user == &admin { + return Ok(true); + } + + // Get collection permissions (use defaults if not set) + let permissions = COLLECTION_PERMISSIONS.may_load(deps.storage, collection.to_string())? + .unwrap_or_default(); + + let permission_level = match action { + "create" => &permissions.create, + "update" => &permissions.update, + "delete" => &permissions.delete, + "read" => &permissions.read, + _ => return Ok(false), // Unknown action + }; + + match permission_level { + PermissionLevel::Anyone => Ok(true), + PermissionLevel::AdminOnly => Ok(user == &admin), + PermissionLevel::AllowList(allowed_users) => Ok(allowed_users.contains(&user.to_string())), + PermissionLevel::DenyList(denied_users) => Ok(!denied_users.contains(&user.to_string())), + PermissionLevel::RequireRole(required_role) => { + let user_roles = USER_ROLES.may_load(deps.storage, user.clone())? + .unwrap_or_default(); + Ok(user_roles.contains(required_role)) + } + } +} + +fn query_collection( + deps: Deps, + collection: String, + limit: Option, + start_after: Option, +) -> StdResult { + let limit = limit.unwrap_or(30) as usize; + + let start = start_after.as_ref().map(|s| Bound::exclusive((collection.clone(), s.clone()))); + let end = Bound::exclusive((format!("{}~", collection), String::new())); + + let documents: Vec<(String, Document)> = DOCUMENTS + .range(deps.storage, start, Some(end), Order::Ascending) + .take(limit) + .map(|item| { + let ((_, doc_id), doc) = item?; + Ok((doc_id, doc)) + }) + .collect::>>()?; + + let next_start_after = if documents.len() == limit { + documents.last().map(|(id, _)| id.clone()) + } else { + None + }; + + let response = CollectionResponse { + documents, + next_start_after, + }; + + to_json_binary(&response) +} + +fn query_user_documents( + deps: Deps, + owner: String, + collection: Option, + limit: Option, + start_after: Option, +) -> StdResult { + let owner_addr = deps.api.addr_validate(&owner)?; + let limit = limit.unwrap_or(30) as usize; + + let start = if let (Some(coll), Some(s)) = (collection.clone(), start_after.clone()) { + Some(Bound::exclusive((coll, s))) + } else { + None + }; + + let documents: Vec<(String, Document)> = DOCUMENTS + .idx + .owner + .prefix(owner_addr) + .range(deps.storage, start, None, Order::Ascending) + .filter_map(|item| { + let (key, doc) = item.ok()?; + let (coll, doc_id) = key; + + // Filter by collection if specified + if let Some(ref filter_collection) = collection { + if &coll != filter_collection { + return None; + } + } + + Some((doc_id, doc)) + }) + .take(limit) + .collect(); + + let next_start_after = if documents.len() == limit { + documents.last().map(|(id, _)| id.clone()) + } else { + None + }; + + let response = CollectionResponse { + documents, + next_start_after, + }; + + to_json_binary(&response) +} + +// Helper function to merge JSON objects +fn merge_json(mut existing: serde_json::Value, new: serde_json::Value) -> serde_json::Value { + if let (serde_json::Value::Object(ref mut existing_map), serde_json::Value::Object(new_map)) = (&mut existing, &new) { + for (key, value) in new_map { + existing_map.insert(key.clone(), value.clone()); + } + } + existing +} + +// ============================================================================ +// USAGE EXAMPLES +// ============================================================================ + +/* +// PERMISSION SYSTEM USAGE EXAMPLES: + +// 1. Admin sets up permissions for a "premium_content" collection +await contract.execute({ + set_collection_permissions: { + collection: "premium_content", + permissions: { + create: { "require_role": "creator" }, // Only creators can add content + update: "anyone", // Content owners can update (default behavior) + delete: { "allow_list": ["xion1admin...", "xion1moderator..."] }, // Only specific users + read: { "require_role": "premium_subscriber" } // Only premium subscribers can read + } + } +}); + +// 2. Admin grants roles to users +await contract.execute({ + grant_role: { + user: "xion1alice...", + role: "creator" + } +}); + +await contract.execute({ + grant_role: { + user: "xion1bob...", + role: "premium_subscriber" + } +}); + +// 3. Alice (creator) can now create premium content +await contract.execute({ + set: { + collection: "premium_content", + document: "advanced_tutorial", + data: JSON.stringify({ + title: "Advanced Web3 Development", + content: "This is premium content...", + price: 50 + }) + } +}); // Works - Alice has "creator" role + +// 4. Bob (subscriber) can read but not create +const content = await contract.query({ + get: { + collection: "premium_content", + document: "advanced_tutorial" + } +}); // Works - Bob has "premium_subscriber" role + +await contract.execute({ + set: { + collection: "premium_content", + document: "my_content", + data: JSON.stringify({ title: "My Tutorial" }) + } +}); // Fails - Bob doesn't have "creator" role + +// 5. Different permission models for different collections: + +// Public forum - anyone can post +await contract.execute({ + set_collection_permissions: { + collection: "forum_posts", + permissions: { + create: "anyone", + update: "anyone", // Users can edit their own posts + delete: { "require_role": "moderator" }, // Only moderators can delete + read: "anyone" + } + } +}); + +// Admin announcements - admin only +await contract.execute({ + set_collection_permissions: { + collection: "announcements", + permissions: { + create: "admin_only", + update: "admin_only", + delete: "admin_only", + read: "anyone" + } + } +}); + +// Private messages - restricted access +await contract.execute({ + set_collection_permissions: { + collection: "private_messages", + permissions: { + create: "anyone", + update: "anyone", // Users can edit their own messages + delete: "anyone", // Users can delete their own messages + read: { "deny_list": ["xion1banned_user..."] } // Everyone except banned users + } + } +}); + +// 6. Query permission status +const canCreate = await contract.query({ + check_permission: { + collection: "premium_content", + user: "xion1alice...", + action: "create" + } +}); // Returns: true (Alice has creator role) + +const userRoles = await contract.query({ + get_user_roles: { + user: "xion1alice..." + } +}); // Returns: ["creator"] + +const collectionPerms = await contract.query({ + get_collection_permissions: { + collection: "premium_content" + } +}); // Returns the full permission structure +*/ \ No newline at end of file diff --git a/contracts/docustore/src/error.rs b/contracts/docustore/src/error.rs new file mode 100644 index 00000000..4a69d8ff --- /dev/null +++ b/contracts/docustore/src/error.rs @@ -0,0 +1,13 @@ +use cosmwasm_std::StdError; +use thiserror::Error; + +#[derive(Error, Debug)] +pub enum ContractError { + #[error("{0}")] + Std(#[from] StdError), + + #[error("Unauthorized")] + Unauthorized {}, + // Add any other custom errors you like here. + // Look at https://docs.rs/thiserror/1.0.21/thiserror/ for details. +} diff --git a/contracts/docustore/src/lib.rs b/contracts/docustore/src/lib.rs new file mode 100644 index 00000000..dfedc9dc --- /dev/null +++ b/contracts/docustore/src/lib.rs @@ -0,0 +1,6 @@ +pub mod contract; +mod error; +pub mod msg; +pub mod state; + +pub use crate::error::ContractError; diff --git a/contracts/docustore/src/msg.rs b/contracts/docustore/src/msg.rs new file mode 100644 index 00000000..dad28f5e --- /dev/null +++ b/contracts/docustore/src/msg.rs @@ -0,0 +1,110 @@ +use cosmwasm_std::Addr; +use schemars::JsonSchema; +use serde::{Deserialize, Serialize}; +use crate::state::Document; +use crate::state::CollectionPermissions; + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +pub struct InstantiateMsg { + pub admin: String, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +pub enum ExecuteMsg { + // Firebase-style operations + Set { + collection: String, + document: String, + data: String, // JSON string + }, + Update { + collection: String, + document: String, + data: String, // Merge with existing data + }, + Delete { + collection: String, + document: String, + }, + // Batch operations + BatchWrite { + operations: Vec, + }, + // Admin permission management + SetCollectionPermissions { + collection: String, + permissions: CollectionPermissions, + }, + GrantRole { + user: String, + role: String, + }, + RevokeRole { + user: String, + role: String, + }, + TransferAdmin { + new_admin: String, + }, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +pub struct WriteOperation { + pub collection: String, + pub document: String, + pub operation: WriteType, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +pub enum WriteType { + Set { data: String }, + Update { data: String }, + Delete, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +pub enum QueryMsg { + // Get single document + Get { + collection: String, + document: String, + }, + // List documents in collection + Collection { + collection: String, + limit: Option, + start_after: Option, + }, + // List documents by owner + UserDocuments { + owner: String, + collection: Option, + limit: Option, + start_after: Option, + }, + // Permission queries + GetCollectionPermissions { + collection: String, + }, + GetUserRoles { + user: String, + }, + CheckPermission { + collection: String, + user: String, + action: String, // "create", "update", "delete", "read" + }, +} + +// Response types +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +pub struct DocumentResponse { + pub exists: bool, + pub document: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +pub struct CollectionResponse { + pub documents: Vec<(String, Document)>, // (doc_id, document) + pub next_start_after: Option, +} \ No newline at end of file diff --git a/contracts/docustore/src/state.rs b/contracts/docustore/src/state.rs new file mode 100644 index 00000000..e5ec92f2 --- /dev/null +++ b/contracts/docustore/src/state.rs @@ -0,0 +1,91 @@ +use cosmwasm_std::{Addr, Timestamp}; +use cw_storage_plus::{Item, Map, MultiIndex, IndexList, IndexedMap, Index}; +use schemars::JsonSchema; +use serde::{Deserialize, Serialize}; + +// Document structure - simple JSON storage +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +pub struct Document { + pub data: String, // JSON string - flexible like Firebase + pub owner: Addr, + pub created_at: Timestamp, + pub updated_at: Timestamp, +} + +// Collection path: /collection/document_id +// Storage key: (collection_name, document_id) +pub type DocumentKey = (String, String); + +// Indexes for efficient queries +pub struct DocumentIndexes<'a> { + pub collection: MultiIndex<'a, String, Document, DocumentKey>, + pub owner: MultiIndex<'a, Addr, Document, DocumentKey>, + pub created_at: MultiIndex<'a, u64, Document, DocumentKey>, +} + +impl<'a> IndexList for DocumentIndexes<'a> { + fn get_indexes(&'_ self) -> Box> + '_> { + let v: Vec<&dyn Index> = vec![&self.collection, &self.owner, &self.created_at]; + Box::new(v.into_iter()) + } +} + +// Main storage: Map<(collection, doc_id), Document> +pub const DOCUMENTS: IndexedMap = IndexedMap::new( + "documents", + DocumentIndexes { + collection: MultiIndex::new( + |_pk: &[u8], d: &Document| d.owner.to_string(), + "documents", + "documents__collection" + ), + owner: MultiIndex::new( + |_pk: &[u8], d: &Document| d.owner.clone(), + "documents", + "documents__owner" + ), + created_at: MultiIndex::new( + |_pk: &[u8], d: &Document| d.created_at.seconds(), + "documents", + "documents__created" + ), + }, +); + +// Contract admin +pub const ADMIN: Item = Item::new("admin"); + +// Permission system +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +pub struct CollectionPermissions { + pub create: PermissionLevel, + pub update: PermissionLevel, + pub delete: PermissionLevel, + pub read: PermissionLevel, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +pub enum PermissionLevel { + Anyone, // Any user can perform this action + AdminOnly, // Only admin can perform this action + AllowList(Vec), // Only specific users in the list + DenyList(Vec), // Anyone except users in the list + RequireRole(String), // User must have specific role +} + +impl Default for CollectionPermissions { + fn default() -> Self { + Self { + create: PermissionLevel::Anyone, + update: PermissionLevel::Anyone, // Users can update their own docs + delete: PermissionLevel::Anyone, // Users can delete their own docs + read: PermissionLevel::Anyone, + } + } +} + +// Collection-specific permissions: Map +pub const COLLECTION_PERMISSIONS: Map = Map::new("collection_perms"); + +// User roles system +pub const USER_ROLES: Map> = Map::new("user_roles"); diff --git a/contracts/docustore/test1.txt b/contracts/docustore/test1.txt new file mode 100644 index 0000000000000000000000000000000000000000..dde6722f1ff3d1122282792646bc568e7a691e6f GIT binary patch literal 295778 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

Tx=%qSvE*UahD3zyjYk( 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

?N9_-rk_gxV=hP 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 +USER= + +# Set Document +xiond tx wasm execute $CONTRACT '{"Set":{"collection":"mycol","document":"doc1","data":"{\"foo\":\"bar\"}"}}' \ + --from $KEY --gas auto --gas-adjustment 1.3 --gas-prices 0.025uxion --broadcast-mode sync --chain-id $CHAIN_ID --node $NODE + +# Update Document +xiond tx wasm execute $CONTRACT '{"Update":{"collection":"mycol","document":"doc1","data":"{\"foo\":\"baz\"}"}}' \ + --from $KEY --gas auto --gas-adjustment 1.3 --gas-prices 0.025uxion --broadcast-mode sync --chain-id $CHAIN_ID --node $NODE + +# Delete Document +xiond tx wasm execute $CONTRACT '{"Delete":{"collection":"mycol","document":"doc1"}}' \ + --from $KEY --gas auto --gas-adjustment 1.3 --gas-prices 0.025uxion --broadcast-mode sync --chain-id $CHAIN_ID --node $NODE + +# Set Collection Permissions +xiond tx wasm execute $CONTRACT '{"SetCollectionPermissions":{"collection":"mycol","permissions":{"create":{"Anyone":{}},"update":{"Anyone":{}},"delete":{"AdminOnly":{}},"read":{"Anyone":{}}}}}' \ + --from $KEY --gas auto --gas-adjustment 1.3 --gas-prices 0.025uxion --broadcast-mode sync --chain-id $CHAIN_ID --node $NODE + +# Grant Role +xiond tx wasm execute $CONTRACT '{"GrantRole":{"user":"'$USER'","role":"editor"}}' \ + --from $KEY --gas auto --gas-adjustment 1.3 --gas-prices 0.025uxion --broadcast-mode sync --chain-id $CHAIN_ID --node $NODE + +# Revoke Role +xiond tx wasm execute $CONTRACT '{"RevokeRole":{"user":"'$USER'","role":"editor"}}' \ + --from $KEY --gas auto --gas-adjustment 1.3 --gas-prices 0.025uxion --broadcast-mode sync --chain-id $CHAIN_ID --node $NODE + +# Transfer Admin +xiond tx wasm execute $CONTRACT '{"TransferAdmin":{"new_admin":"'$USER'"}}' \ + --from $KEY --gas auto --gas-adjustment 1.3 --gas-prices 0.025uxion --broadcast-mode sync --chain-id $CHAIN_ID --node $NODE + +# Batch Write +xiond tx wasm execute $CONTRACT '{"BatchWrite":{"operations":[{"collection":"mycol","document":"doc2","operation":{"Set":{"data":"{\"foo\":\"bar2\"}"}}}]}}' \ + --from $KEY --gas auto --gas-adjustment 1.3 --gas-prices 0.025uxion --broadcast-mode sync --chain-id $CHAIN_ID --node $NODE + +# Queries + +# Get Document +xiond query wasm contract-state smart $CONTRACT '{"Get":{"collection":"mycol","document":"doc1"}}' --node $NODE + +# List Collection +xiond query wasm contract-state smart $CONTRACT '{"Collection":{"collection":"mycol","limit":10}}' --node $NODE + +# User Documents +xiond query wasm contract-state smart $CONTRACT '{"UserDocuments":{"owner":"'$USER'","collection":"mycol","limit":10}}' --node $NODE + +# Get Collection Permissions +xiond query wasm contract-state smart $CONTRACT '{"GetCollectionPermissions":{"collection":"mycol"}}' --node $NODE + +# Get User Roles +xiond query wasm contract-state smart $CONTRACT '{"GetUserRoles":{"user":"'$USER'"}}' --node $NODE + +# Check Permission +xiond query wasm contract-state smart $CONTRACT '{"CheckPermission":{"collection":"mycol","user":"'$USER'","action":"create"}}' --node $NODE \ No newline at end of file