CosmWasm v1 is in Public Beta!

Hi all, We’re super excited to announce that CosmWasm v1 is entering public beta, one step away from public testnet! :star_struck:

We would love to get any and all feedback!

Test it out using LocalSecret:

docker run -it --rm -p 9091:9091 -p 26657:26657 -p 1317:1317 -p 5000:5000 \
    --name localsecret ghcr.io/scrtlabs/localsecret:v1.4.0-cw-v1-beta.2

LocalSecret docs: Local Secret - Secret Network Documentation.

Example v1 contract: SecretNetwork/x/compute/internal/keeper/testdata/v1-sanity-contract at cosmwasm-v1 · scrtlabs/SecretNetwork · GitHub
It was ported from this v0.10 contract + added reply() examples, so you can look at what changed for a lot of use cases.

CosmWasm v1 docs: Introduction | CosmWasm Documentation
It’s slightly different for Secret but you can get the general idea from it. E.g. iterators are not supported (yet), migrating contracts is not allowed (yet), etc.

Dependencies (Cargo.toml):

cosmwasm-std = { git = "https://github.com/scrtlabs/cosmwasm", branch = "secret" }
cosmwasm-storage = { git = "https://github.com/scrtlabs/cosmwasm", branch = "secret" }

We’ve yet to test cw-plus, so we would love to get your feedback if you use it.

Old CosmWasm v0.10 contracts should work just the same and can call and by called by new v1 contracts, so teams are encouraged to test their existing v0.10 contracts too (even though all regression tests are passing).

Client libraries are the same as v1.3 (secret.js, secretcli).

Known issues:

  • Reply() - There’s an unnecessary base64 wrapping that’s (for now) needed to be unwrapped in the calling contract (example).
  • Error messages as a result of v1 StdError and panic are not finalized yet and are subject to change.
  • IBC receive hooks are not implemented yet but will be soon (we’ll post an update here).

Feedback channels:

  • Comment here in this thread.
  • Tag @SCRT Labs in one of the dev channels on Discord.
14 Likes

Is the handle entry point supposed to be called handle or execute? I’m seeing some contradictory info in the cosmwasm 1.0 documentation:

I’m assuming that it is execute based on the example contract but just want to make sure, because the first link above says it should be handle.

1 Like

It’s indeed execute. Thanks for the feedback, we’ll rely it to the CosmWasm team.

1 Like

`s/handle/execute/` in `entry_point!` docs by assafmo · Pull Request #1372 · CosmWasm/cosmwasm · GitHub :blush:

2 Likes

Just linking the migration guide here so people can find it in Secret docs!

Migration from CW 0.10 to 1.0 - Secret Network Documentation (scrt.network)

2 Likes