You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now we have two main crates cosmwasm and cosmwasm_vm with cosmwasm_vm depends on cosmwasm. However, the file structure does not reflect that very well, since cosmwasm_vm is in a subfolder ./lib/vm of cosmwasm (which is in .), which suggests the VM is part of cosmwasm.
Also the name cosmwasm does not specify what the crate actually does. It is somewhat everywhere but I find it hard to reason about what belongs in there.
To improve this situation, I suggest 2 changes:
Separate the workspace root Cargo.toml from the cosmwasm crate's Cargo.toml by moving the package into ./lib/std, next to the VM.
Rename the crate cosmwasm to cosmwasm_std, as it is the standard library that is available for development inside of contracts. This should make clear that everything that is not required for contract development does not belong here.
The first step can be considered compatible I guess. The second one could be scheduled for 0.8.
The text was updated successfully, but these errors were encountered:
I was thinking of using cosmwasm_std and cosmwasm_vm instead of the hyphen separated variant, as it would give us the same spelling in the crate name as well as the import. Unfortunately it is not possible to rename the existing cosmwasm_vm to cosmwasm-vm on crates.io.
I guess we stick with hyphens consistently as long as the renameing is not supported.
Right now we have two main crates
cosmwasm
andcosmwasm_vm
withcosmwasm_vm
depends oncosmwasm
. However, the file structure does not reflect that very well, sincecosmwasm_vm
is in a subfolder./lib/vm
ofcosmwasm
(which is in.
), which suggests the VM is part ofcosmwasm
.Also the name
cosmwasm
does not specify what the crate actually does. It is somewhat everywhere but I find it hard to reason about what belongs in there.To improve this situation, I suggest 2 changes:
Cargo.toml
from thecosmwasm
crate'sCargo.toml
by moving the package into./lib/std
, next to the VM.cosmwasm
tocosmwasm_std
, as it is the standard library that is available for development inside of contracts. This should make clear that everything that is not required for contract development does not belong here.The first step can be considered compatible I guess. The second one could be scheduled for 0.8.
The text was updated successfully, but these errors were encountered: