Second attempt to cosmwasm-core
- 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