CosmWasm / CosmWasm/cosmwasm

Second attempt to cosmwasm-core

Open
#2,136 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
1.1k
Forks
418
Avg merge
3d 11h
Merged PRs (30d)
2

Description

Right now on main, the existence cosmwasm-core creates all sorts of indirections an undesired dependencies that we want to avoid. So let's revert the current approach.

A new attempt to pull out cosmwasm-core that we may or may not do should have the following properties
- does not depend on cosmwasm-crypto (not at runtime, not as dev-dependency)
- does not pull in the StdError type

One way to do that is to ensure the error types for the relevant symbols are not StdError.
- Avoid renaming symbols whenever possible (StdError/CoreError causes confusion)
- `from_base64` can get it's own `InvalidBase64Error`
- `HexBinary` can get its own `InvalidDataSizeError`
- For the integer and decimal types create a dedicated error type for the `impl TryFrom<&str>`, all the other errors are already specialized
- ...

Those new errors can then be converted to StdError in cosmwasm-std.

Contributor guide

No contributing guide indexed for this repository

Research direction

No files or tests are named. Start by mapping the cosmwasm-core, cosmwasm-crypto, and cosmwasm-std dependency and error-type relationships, then determine which symbols and conversions are in scope. Done means cosmwasm-core avoids the stated dependency and StdError constraints while cosmwasm-std performs the conversions.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
blockchain
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.