Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions docs/CAPABILITIES-BUILT-IN.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Built-in capabilities

Since capabilities can be created between contract and environment, we don't
know them all in the VM. This is a list of all built-in capabilities, but chains
might define others.

- `iterator` is for storage backends that allow range queries. Not all types of
databases do that. There are trees that don't allow it and Secret Network does
not support iterators for other technical reasons.
- `stargate` is for messages and queries that came with the Cosmos SDK upgrade
"Stargate". It primarily includes protobuf messages and IBC support.
- `staking` is for chains with the Cosmos SDK staking module. There are Cosmos
chains that don't use this (e.g. Tgrade).
- `cosmwasm_1_1` enables the `BankQuery::Supply` query. Only chains running
CosmWasm `1.1.0` or higher support this.
- `cosmwasm_1_2` enables the `GovMsg::VoteWeighted` message. Only chains running
CosmWasm `1.2.0` or higher support this.
15 changes: 3 additions & 12 deletions docs/CAPABILITIES.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,18 +81,9 @@ function name in Rust and other CosmWasm smart contract languages such as Go. By
convention, the name should be short and all lower ASCII alphanumerical plus
underscores.

## Common capabilities

Here is a list of capabilities created in the past. Since capabilities can be
created between contract and environment, we don't know them all in the VM.

- `iterator` is for storage backends that allow range queries. Not all types of
databases do that. There are trees that don't allow it and Secret Network does
not support iterators for other technical reasons.
- `stargate` is for messages and queries that came with the Cosmos SDK upgrade
"Stargate". It primarily includes protobuf messages and IBC support.
- `staking` is for chains with the Cosmos SDK staking module. There are Cosmos
chains that don't use this (e.g. Tgrade).
## Built-in capabilities

Here is a list of all [built-in capabilities](CAPABILITIES-BUILT-IN.md).

## What's a good capability?

Expand Down