MCPcopy Index your code
hub / github.com/Psychedelic/cap

github.com/Psychedelic/cap @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
319 symbols 670 edges 41 files 45 documented · 14%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

CI

CAP - Certified Asset Provenance

Transaction history & asset provenance for NFT’s & Tokens on the Internet Computer

CAP is an open internet service providing transaction history & asset provenance for NFT’s & Tokens on the Internet Computer. It solves the huge IC problem that assets don’t have native transaction history, and does so in a scalable, trustless and seamless way so any NFT/Token can integrate with one line of code.

This repository has the base codebase (in development), for all the canisters involved in the CAP open internet service.

For integrations visit the CAP Motoko or RUST SDK repositories (see links below) in the case of Tokens/NFTs wanting to integrate CAP to have a transaction history; and the CAP-js repository for UIs that want to surface transaction history data for users from CAP. Our simply visit our documentation page.

IMPORTANT: CAP is currently in development 🚧 and will release in the first week of November, thus it is not on mainnet or usable yet. You might see our documentation is light on the SDK/Main repo still. We're delayed in this to focus on testing, but will soon update this page with guides & detailed examples for developers.

Canisters in CAP

This repository contains am implementation for the spec described for this OIS, which requires multiple canisters to act with each other, currently there are the following canisters:

  1. Router: The router canister is the central canister for this service, it is the entry point.
  2. Root: The root canister implements the Root Bucket interface of the spec.
  3. Bucket: Implements an archive canister that is generated by the Root Bucket.

Extension points exported contracts — how you extend this code

IntoEvent (Interface)
Allows a type to be used as a source for an [`IndefiniteEvent`]. [`IntoEvent`] is implemented for `Vec<(String, DetailV [7 …
sdk/rust/src/event/mod.rs
TryFromEvent (Interface)
Allows a type to be decoded from an [`Event`][crate::Event] or [`IndefiniteEvent`]. [5 implementers]
sdk/rust/src/event/mod.rs
AsTransactionsPage (Interface)
Convinience trait for accepting multiple types for a transaction page argument. [2 implementers]
sdk/rust/src/transactions/mod.rs
MapFailed (Interface)
(no doc) [1 implementers]
sdk/rust/standards/src/xtc.rs
MapFailed (Interface)
(no doc) [1 implementers]
sdk/rust/standards/src/dip721.rs

Core symbols most depended-on inside this repo

try_into
called by 78
common/src/transaction.rs
map_failure
called by 43
sdk/rust/standards/src/dip20/cap.rs
insert
called by 36
sdk/rust/src/details.rs
get_detail
called by 36
sdk/rust/standards/src/dip20/cap.rs
insert
called by 27
common/src/transaction_list.rs
e
called by 26
common/src/transaction_list.rs
len
called by 24
common/src/transaction_list.rs
root_hash
called by 22
common/src/bucket.rs

Shape

Method 131
Function 106
Class 60
Enum 14
Interface 8

Languages

Rust100%

Modules by API surface

common/src/transaction_list.rs35 symbols
canisters/root/src/lib.rs27 symbols
common/src/did.rs18 symbols
canisters/bucket/src/lib.rs16 symbols
common/src/transaction.rs15 symbols
common/src/bucket.rs15 symbols
sdk/rust/src/env.rs14 symbols
canisters/sdk_example/src/lib.rs14 symbols
sdk/rust/standards/src/dip721.rs13 symbols
sdk/rust/standards/src/dip20/cap.rs13 symbols
canisters/root/src/upgrade.rs12 symbols
sdk/rust/standards/src/xtc.rs10 symbols

For agents

$ claude mcp add cap \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact