Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/MegaRockLabs/cw-extra
Experimental CosmWasm based contracts, packages and protocols
https://github.com/MegaRockLabs/cw-extra
Last synced: 2 months ago
JSON representation
Experimental CosmWasm based contracts, packages and protocols
- Host: GitHub
- URL: https://github.com/MegaRockLabs/cw-extra
- Owner: MegaRockLabs
- Created: 2023-10-16T20:17:45.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-06T06:21:29.000Z (3 months ago)
- Last Synced: 2024-10-06T06:54:44.864Z (3 months ago)
- Language: Rust
- Homepage:
- Size: 201 KB
- Stars: 12
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-ccamel - MegaRockLabs/cw-extra - Experimental CosmWasm based contracts, packages and protocols (Rust)
README
# CW Extra
Experimental CosmWasm based contracts, packages and protocols## Standards
### Smart Account Standards
Standards focusing on interfaces for smart contract based accounts
| Name | Description | Examples |
| ----------------------------------------- | --------------------------------------------------------------------- | -------------- |
| [`cw81`](./packages/cw81/) | Signature verification for smart contracts (inspired by ERC-1271) | [link](#cw81) |
| [`cw82`](./packages/cw82/) | Minimal smart contract based abstract account | [link](#cw82) |
| [`cw83`](./packages/cw83/) | Registry for smart contract based accounts (inspired by ERC-6551) | [link](#cw83) |## Contracts
Example contracts showcasing usage of the proposed protocols and standards
### CW81
| Contract | Description |
| ---------------------------------------------------------------- | ------------------------------------------------------------ |
| [`cw-81-last-signature`](./contracts/cw81-last-signature/) | Contract owner stores an exprirable signature and checks a queried one is equal to it |
| [`cw-81-pubkey`](./contracts/cw81-pubkey/) | Using secp256k1 public key provided by contract creator and verifying using ecdsa |
| [`cw-81-sn-ks`](./contracts/cw81-sn-ks/) | SecretWasm based contract using a secp256k1 private key for signature generation and verification |### CW82
| Contract | Description |
| ---------------------------------------------------------------- | ------------------------------------------------------------ |
| [`cw82-key-account`](/contracts/cw82-key-account/) | Signatures are verified against secp256k1 public key and all executable cosmos message must be signed by a corresponding private key |
| [`cw82-token-account`](/contracts/cw82-token-account/) | Only an NFT owner can execute some cosmos messages. Signature are checked against the stored public key through [direct sign](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-036-arbitrary-signature.md) |
| [`cw82-sn-sym`](https://github.com/MegaRockLabs/cw-extra/tree/secret-network/contracts/cw82-sn-sym) | Secret Network specifc contract that only allow cosmos messages that had been encrypted by a secret (symmetric) key provided to the contract by instantiator. Signatures must be coming from a separate key generated inside the contract to be valid |### CW83
| Contract | Description |
| ---------------------------------------------------------------- | ------------------------------------------------------------ |
| [`cw83-tba-registry`](contracts/cw83-tba-registry) | A Registry of token (NFT) bound accounts |
---
### Purpose
This is playground repository for MegaRock to test out new ideas that can standartised. All the projects in the reposity are of an experimental nature with low-maintanace and support. The projects here shouldn't be used for production before being peer-review and explicitly green-lighted by the team. (in case where the usage is licensed )### Disclaimer
As part of our mission of promoting public goods and open source culture we are planning to be contributing the standards that gain adoption into the original [repository](https://github.com/CosmWasm/cw-plus) maintained by the official team working on CosmWasm. Altenatively the team might choose to maintain a standard ourselves.Unless explicietely specified otherwise with a standalone License file or description all the interface packages in the repository are released under open-source lincense and all the examples contracts are treated as source available only.