informalsystems / basecoin-rs

An example ABCI application making use of tendermint-rs and ibc-rs
Apache License 2.0
55 stars 17 forks source link

`Path` and `Identifier` validation and improvements #14

Closed hu55a1n1 closed 2 years ago

hu55a1n1 commented 3 years ago

Description

hu55a1n1 commented 2 years ago

Regarding Path as a trait, I think it's more intuitive to have a concrete type (i.e. store::Path) that is used as a key for the KV store. Each module may then define its own Path type (expected to be an enum) with all possible paths accessed by the module represented as enum variants. Each module may additionally define conversion methods to/from store::Path.