Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sdk 46 #3

Closed
wants to merge 165 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
165 commits
Select commit Hold shift + click to select a range
59e0710
Bump sdk version to v0.45.5
alpe Jun 13, 2022
8d8d082
Bump github.com/stretchr/testify from 1.7.2 to 1.8.0
dependabot[bot] Jun 30, 2022
1ab9f73
Merge pull request #895 from CosmWasm/dependabot/go_modules/github.co…
alpe Jul 5, 2022
3787f3d
Merge pull request #888 from CosmWasm/sdk-upgrade0455
alpe Jul 5, 2022
72e8b7d
Remove unnecessary string
shiki-tak Jul 8, 2022
39be44b
Merge pull request #899 from shiki-tak/unnecessary-string-inclusion
alpe Jul 8, 2022
ffd8a3c
Prevent migration to a restricted code
alpe Jul 8, 2022
e5ff7c1
Restrict code access config modifications
alpe Jul 8, 2022
b570f49
Remove outdated proto.md
webmaster128 Jul 11, 2022
8213046
Merge pull request #902 from CosmWasm/remove-outdated-proto-docs
webmaster128 Jul 11, 2022
29340b6
Remove unnecessary error check
shiki-tak Jul 19, 2022
3864815
Create .gitpod.yml
faddat Jul 21, 2022
ee44cc0
Don't pass non-wasm events to reply()
assafmo Jul 28, 2022
9671a21
Oops
assafmo Jul 28, 2022
f7211b8
Add changelog for fix
ethanfrey Jul 29, 2022
ce1cf74
Fix tests in keeper
ethanfrey Jul 29, 2022
f5804fc
Merge pull request #917 from CosmWasm/v0.27.0-dont-pass-non-wasm-even…
ethanfrey Jul 29, 2022
e08c8a3
Add sorting fix from terra devs
the-frey Jul 28, 2022
393f49e
Fix imports
the-frey Jul 28, 2022
a697c70
Code cleanup suggested by @peterbourgon
ethanfrey Jul 29, 2022
c25550d
put sorting fix next to event filtering
ethanfrey Jul 29, 2022
90a3781
Add changelog entry
ethanfrey Jul 29, 2022
2886092
Merge pull request #918 from CosmWasm/sorting-fix
ethanfrey Jul 29, 2022
a0648ee
457
faddat Aug 10, 2022
1eea90f
upgrade ci
faddat Aug 10, 2022
8fa0d2a
go get -> go install
faddat Aug 10, 2022
e637cf5
change denom to new format
faddat Aug 10, 2022
ac326d6
Update config.yml
faddat Aug 10, 2022
2ef630d
Revert "change denom to new format"
faddat Aug 10, 2022
3a778d0
bump ibc-go to v3.2.x
faddat Aug 10, 2022
7d34510
Update config.yml
faddat Aug 10, 2022
6478e53
but not done
faddat Aug 13, 2022
271525b
TestInitGenesis fails
faddat Aug 13, 2022
b12a8e6
use gofumpt
faddat Aug 13, 2022
6c3bf4d
some minor fix
vuong177 Aug 13, 2022
6222f2b
Update config.yml
faddat Aug 13, 2022
e54fdb1
linting
faddat Aug 13, 2022
fa9eca6
Merge branch 'fifth-46' of https://github.com/notional-labs/wasmd int…
faddat Aug 13, 2022
a5b9406
Setifexists
faddat Aug 13, 2022
85d69f0
fix wasm export
vuong177 Aug 13, 2022
f14c469
Merge pull request #900 from CosmWasm/migration_fix
ethanfrey Aug 15, 2022
d6d7c8f
SetInterfaceRegistry
vuong177 Aug 15, 2022
960f7da
Update dependabot.yml
faddat Aug 15, 2022
1ef5732
fix gas limit
vuong177 Aug 15, 2022
b152460
nil srcExp
vuong177 Aug 16, 2022
e181321
govv1
vuong177 Aug 16, 2022
ac263a1
govv1 in TestQueryContractInfo
vuong177 Aug 16, 2022
212d837
snapshot test
vuong177 Aug 17, 2022
60e99a9
fix gas in test, v1beta -> v1
vuong177 Aug 17, 2022
7c4e412
govv1 in encoding test
vuong177 Aug 17, 2022
63649c2
fix wasm.go
vuong177 Aug 17, 2022
d1bf255
with valset in bench
vuong177 Aug 17, 2022
00082a2
Make app keepers public (#951)
alpe Aug 23, 2022
9d63bc0
Merge pull request #901 from CosmWasm/access_config
alpe Aug 23, 2022
20fb936
Fix keeper test
alpe Aug 24, 2022
872cd75
Merge pull request #952 from CosmWasm/fix_keeper_test
alpe Aug 24, 2022
2a37cfd
Merge pull request #943 from faddat/patch-7
alpe Aug 24, 2022
c3b0a72
Bump actions/checkout from 2.3.5 to 3.0.2
dependabot[bot] Aug 24, 2022
4875db2
depracte-ioutil (#934)
faddat Aug 24, 2022
8631dc3
Bump github/codeql-action from 1 to 2 (#954)
dependabot[bot] Aug 24, 2022
a0161c2
Merge pull request #953 from CosmWasm/dependabot/github_actions/actio…
alpe Aug 24, 2022
ef493a3
Bump bufbuild/buf-setup-action from 0.7.0 to 1.7.0
dependabot[bot] Aug 24, 2022
4ecb4ec
Merge pull request #955 from CosmWasm/dependabot/github_actions/bufbu…
alpe Aug 24, 2022
b62b7ac
Merge pull request #905 from shiki-tak/remove-unnecessary-err-check
alpe Aug 24, 2022
61bda97
close 815: upgrade to go 1.18 (#866)
faddat Aug 24, 2022
c993eef
Revert changes in protogen script (#956)
alpe Aug 24, 2022
a73880a
sdk v0.46.1 and tm v0.34.21
faddat Aug 25, 2022
60da5c0
Ugrade sdk to v0.45.7 (#959)
alpe Aug 25, 2022
e251e16
Bump github.com/prometheus/client_golang from 1.12.2 to 1.13.0
dependabot[bot] Aug 25, 2022
6423488
Merge pull request #928 from CosmWasm/dependabot/go_modules/github.co…
alpe Aug 25, 2022
559ea2b
Fix codeql analyzer branch config
alpe Aug 25, 2022
2618129
Merge pull request #963 from CosmWasm/code_scanning_path
alpe Aug 25, 2022
6aba2d2
Merge remote-tracking branch 'upstream/main' into sixth-46
faddat Aug 25, 2022
ac0422e
automatic fixes from "golangci-lint run ./... --fix"
faddat Aug 25, 2022
9fd778e
bump ica
faddat Aug 25, 2022
6bb783a
fix proposal integration test: line 178 shoud be require.Error
faddat Aug 25, 2022
a354208
sdk v0.45.8
faddat Aug 25, 2022
b574fa9
Update CHANGELOG.md
faddat Aug 25, 2022
49d571e
Merge pull request #964 from notional-labs/sdk-458
alpe Aug 26, 2022
fcc3045
merge main
faddat Aug 30, 2022
34c4df1
ibc 5-rc1
faddat Aug 30, 2022
e714fdf
Charge gas to unzip wasm code (#898)
alpe Aug 31, 2022
dda8cbb
Remove obsolete cli gov params
alpe Aug 31, 2022
e54d56e
add params query
jhernandezb Aug 31, 2022
62b18f3
Merge pull request #968 from CosmWasm/849_unused_flag
alpe Sep 1, 2022
0f2794c
Merge pull request #969 from public-awesome/jhernandezb/add-params-query
alpe Sep 1, 2022
1fdd378
Upgrade thirdparty protos (#977)
alpe Sep 5, 2022
881d0ac
add pin code flag to store code proposal
jhernandezb Sep 5, 2022
cc9e740
change default behavior to always pin
jhernandezb Sep 6, 2022
352e408
fix tag
jhernandezb Sep 6, 2022
f430ca3
Merge pull request #979 from public-awesome/feature/pin-code-flag-pro…
ethanfrey Sep 6, 2022
91cba51
turbo 46
faddat Sep 7, 2022
f452fd1
turbo46
faddat Sep 7, 2022
8fbce82
Bump github.com/spf13/viper from 1.12.0 to 1.13.0
dependabot[bot] Sep 7, 2022
a40a106
Upgrade to wasmvm v1.1.0
alpe Sep 7, 2022
8f7dfb1
Update changelog
alpe Sep 7, 2022
ed30805
Update README.md
alpe Sep 7, 2022
ef8ff54
Merge pull request #984 from CosmWasm/980_wasmvm110
webmaster128 Sep 7, 2022
2674c53
Introduce AccessTypeAnyOfAddresses
alpe Sep 2, 2022
743c1c3
Prevent empty addresses list
alpe Sep 7, 2022
089076d
Formatting only
alpe Sep 7, 2022
2567927
Parse any of address in CLI; more tests
alpe Sep 7, 2022
20cd4af
More tests
alpe Sep 7, 2022
10bb470
Upgrade keyring/ go-keychain dependency
alpe Sep 7, 2022
355ee68
ibc-go v3.2.0 (#937)
faddat Sep 7, 2022
aee4229
Merge pull request #909 from faddat/patch-5
alpe Sep 7, 2022
b8c1d76
Add query for the total supply of a coin (#903)
larry0x Sep 7, 2022
b787292
Merge pull request #985 from CosmWasm/957_keychain
alpe Sep 7, 2022
e63e63b
fix bug of contract history
yann-sjtu Sep 8, 2022
f8edb25
Merge pull request #990 from yann-sjtu/fix-bug-of-contract-history
alpe Sep 8, 2022
f9912e9
Test contract history order
alpe Sep 8, 2022
e3e7ca3
Revert "Create .gitpod.yml"
alpe Sep 8, 2022
fdc214c
Merge pull request #992 from CosmWasm/revert_909
alpe Sep 8, 2022
1c4a5bd
Merge pull request #974 from CosmWasm/945_access_config_anyof
alpe Sep 8, 2022
110d6d7
Merge pull request #991 from CosmWasm/990_test
alpe Sep 9, 2022
0e41c8c
Better wasmvm 1.1 integration test (#988)
alpe Sep 9, 2022
42758d3
Rename features to availableCapabilities (#993)
alpe Sep 9, 2022
d9f9f91
Merge pull request #983 from CosmWasm/dependabot/go_modules/github.co…
alpe Sep 9, 2022
eb1c95a
Link to medium article
alpe Sep 9, 2022
ccb2fdd
Make contract addresses predictable
alpe Aug 26, 2022
30fc73e
Merge pull request #996 from CosmWasm/942_newaddr_generation
alpe Sep 9, 2022
bf73451
Revert "turbo 46"
faddat Sep 10, 2022
0cf56ad
Revert "turbo46"
faddat Sep 10, 2022
734956f
merge but with a few test issues
faddat Sep 10, 2022
5354d3f
fix flagproposaltype
faddat Sep 10, 2022
44c1674
update
faddat Sep 11, 2022
5df3568
use keyed fields
faddat Sep 12, 2022
8fc9855
Merge pull request #995 from CosmWasm/876_doc
alpe Sep 12, 2022
4a1d1b1
Add factory contract scenario
alpe Sep 14, 2022
0b400d6
Fix genesis message tooling
alpe Sep 14, 2022
2d896aa
Minor cleanup
alpe Sep 14, 2022
4d81fd4
Bump ibc proto to v3.2.0
alpe Sep 14, 2022
3e6992d
Merge pull request #1004 from CosmWasm/sim_cleanup
alpe Sep 15, 2022
e6dc930
Merge remote-tracking branch 'upstream/main' into fifth-46
faddat Sep 15, 2022
e3aad1b
bank keeper
faddat Sep 15, 2022
f6e02fd
fix test genesis with valset
vuong177 Sep 15, 2022
427e367
gov address
vuong177 Sep 16, 2022
459cefa
gas in test
vuong177 Sep 18, 2022
b99168f
Merge pull request #1005 from CosmWasm/ibc32_proto
alpe Sep 19, 2022
9ec8091
Merge pull request #1002 from CosmWasm/942_fix_genmsg
alpe Sep 19, 2022
e55db8b
Merge pull request #1001 from CosmWasm/896_scenario
alpe Sep 19, 2022
a9d2918
Update changelog
alpe Sep 20, 2022
bad814e
Add migration note
alpe Sep 20, 2022
d40888a
Fix master -> main in CI config
webmaster128 Sep 20, 2022
f0072e6
Always run docker-image
webmaster128 Sep 20, 2022
a8842ef
Add libwasmvm version check
webmaster128 Sep 20, 2022
76df37d
Bump wasmvm to 1.1.1
webmaster128 Sep 20, 2022
0ec5b77
Upgrade .a files to 1.1.1
webmaster128 Sep 20, 2022
5adb9e9
Merge pull request #1012 from CosmWasm/wasmvm-1.1.1
webmaster128 Sep 20, 2022
8ee2c93
Fix path to proofs in protos
alpe Sep 20, 2022
72b5267
Merge pull request #1015 from CosmWasm/proof_proto_fix
alpe Sep 20, 2022
83dfbc5
Merge pull request #1011 from CosmWasm/changelog029
alpe Sep 20, 2022
7fb0a3a
Bump github.com/cosmos/ibc-go/v3 from 3.2.0 to 3.3.0
dependabot[bot] Sep 21, 2022
215e322
Merge pull request #1016 from CosmWasm/dependabot/go_modules/github.c…
alpe Sep 21, 2022
54fec05
Prune vesting accounts balances (#1003)
alpe Sep 21, 2022
9c5ebbb
Implement improvements to new address generation (#1014)
alpe Sep 22, 2022
a76999a
Changelog for v0.29.0-rc1 (#1018)
alpe Sep 22, 2022
654fddb
comment out permission keeper
faddat Sep 23, 2022
bde6aa3
ibc-go v5.0.0
faddat Sep 28, 2022
8adfdb3
update gas per suggestion
faddat Sep 28, 2022
688b984
bring branch up to date with ibc-go v5.0.0
faddat Sep 28, 2022
f416cd0
attempt to fix remaining bug
faddat Sep 28, 2022
aa968fd
Fix: typos
omahs Sep 29, 2022
1a87b28
Merge pull request #1026 from omahs/patch-1
alpe Sep 30, 2022
870c0d0
Merge branch 'fifth-46' of https://github.com/notional-labs/wasmd int…
faddat Oct 2, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 20 additions & 13 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ version: 2.1
executors:
golang:
docker:
- image: circleci/golang:1.17
working_directory: /go/src/github.com/cosmwasm/wasmd
- image: cimg/go:1.18

commands:
make:
Expand Down Expand Up @@ -163,14 +162,27 @@ jobs:
name: Build Docker artifact
command: docker build --pull -t "cosmwasm/wasmd:${CIRCLE_SHA1}" .
- run:
name: Push application Docker image to docker hub
name: Ensure libwasmvm version is correct
command: |
if [ "${CIRCLE_BRANCH}" = "master" ]; then
docker tag "cosmwasm/wasmd:${CIRCLE_SHA1}" cosmwasm/wasmd:latest
docker login --password-stdin -u "$DOCKER_USER" \<<<"$DOCKER_PASS"
docker push cosmwasm/wasmd:latest
docker logout
IN_DOCKER=$(docker run --rm "cosmwasm/wasmd:${CIRCLE_SHA1}" /usr/bin/wasmd query wasm libwasmvm-version)
echo "Runtime libwasmvm-version in docker: $IN_DOCKER"
IN_GOMOD=$(go list -m github.com/CosmWasm/wasmvm | cut -d" " -f2 | cut -d"v" -f2)
echo "wasmvm version in go.mod: $IN_GOMOD"
if [[ "$IN_DOCKER" != "$IN_GOMOD" ]]; then
echo "Mismatch of wasmvm versions detected"
exit 1
fi
- when:
condition:
equal: [ main, << pipeline.git.branch >> ]
steps:
- run:
name: Push application Docker image to docker hub
command: |
docker tag "cosmwasm/wasmd:${CIRCLE_SHA1}" cosmwasm/wasmd:latest
docker login --password-stdin -u "$DOCKER_USER" \<<<"$DOCKER_PASS"
docker push cosmwasm/wasmd:latest
docker logout

docker-tagged:
executor: golang
Expand All @@ -195,14 +207,9 @@ workflows:
version: 2
test-suite:
jobs:
# this is now a slow process... let's only run on master
- docker-image:
requires:
- setup-dependencies
filters:
branches:
only:
- master
- docker-tagged:
filters:
tags:
Expand Down
7 changes: 6 additions & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
version: 2
updates:
updates:
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 10
- package-ecosystem: gomod
directory: "/"
schedule:
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/codeql-analizer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
paths:
- "**.go"
push:
branches: [ master ]
branches: [ main ]
paths:
- "**.go"

Expand All @@ -19,17 +19,17 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v2.3.5
uses: actions/checkout@v3.0.2

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
uses: github/codeql-action/init@v2
with:
languages: 'go'
queries: crypto-com/cosmos-sdk-codeql@main,security-and-quality

- name: Autobuild
uses: github/codeql-action/autobuild@v1
uses: github/codeql-action/autobuild@v2

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@v2
4 changes: 2 additions & 2 deletions .github/workflows/proto-buf-publisher.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ jobs:
push:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: bufbuild/buf-setup-action@v0.7.0
- uses: actions/checkout@v3.0.2
- uses: bufbuild/buf-setup-action@v1.7.0

# lint checks
- uses: bufbuild/buf-lint-action@v1
Expand Down
9 changes: 9 additions & 0 deletions .gitpod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# This configuration file was automatically generated by Gitpod.
# Please adjust to your needs (see https://www.gitpod.io/docs/config-gitpod-file)
# and commit this file to your remote git repository to share the goodness with others.

tasks:
- init: go get && go build ./... && go test ./... && make
command: go run


4 changes: 1 addition & 3 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ linters:
- errcheck
- goconst
- gocritic
- gofmt
- goimports
- gofumpt
- revive
- gosec
- gosimple
Expand All @@ -23,7 +22,6 @@ linters:
- prealloc
- exportloopref
- staticcheck
- structcheck
- stylecheck
- typecheck
- unconvert
Expand Down
53 changes: 52 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,58 @@

## [Unreleased](https://github.com/CosmWasm/wasmd/tree/HEAD)

[Full Changelog](https://github.com/CosmWasm/wasmd/compare/v0.27.0...HEAD)
[Full Changelog](https://github.com/CosmWasm/wasmd/compare/v0.29.0...HEAD)

## [v0.29.0-rc1](https://github.com/CosmWasm/wasmd/tree/v0.29.0-rc1) (2022-09-22)

[Full Changelog](https://github.com/CosmWasm/wasmd/compare/v0.28.0...v0.29.0-rc1)

- Allow AccessConfig to use a list of addresses instead of just a single address [\#945](https://github.com/CosmWasm/wasmd/issues/945)
- Make contract addresses predictable \("deterministic"\) [\#942](https://github.com/CosmWasm/wasmd/issues/942)
- Add query for the total supply of a coin [\#903](https://github.com/CosmWasm/wasmd/pull/903) ([larry0x](https://github.com/larry0x))
- Upgrade go to v1.18 [\#866]https://github.com/CosmWasm/wasmd/pull/866/) ([faddat](https://github.com/faddat))
- Upgrade to ibc-go v3.3.0 REQUIRES [MIGRATION](https://github.com/cosmos/ibc-go/blob/v3.2.3/docs/migrations/support-denoms-with-slashes.md) [\#1016](https://github.com/CosmWasm/wasmd/pull/1016)
- Upgrade to cosmos-sdk v0.45.8 [\#964](https://github.com/CosmWasm/wasmd/pull/964/) ([faddat](https://github.com/faddat))
- Upgrade wasmvm to v1.1.1 [\#1012](https://github.com/CosmWasm/wasmd/pull/1012), see [wasmvm v1.1.1](https://github.com/CosmWasm/wasmvm/releases/tag/v1.1.1)
- Add documentation how to add x/wasm to a new Cosmos SDK chain [\#876](https://github.com/CosmWasm/wasmd/issues/876)
- Upgrade keyring / go-keychain dependencies (removes deprecate warning) [\#957](https://github.com/CosmWasm/wasmd/issues/957)
- Make contract pinning an optional field in StoreCode proposals [\#972](https://github.com/CosmWasm/wasmd/issues/972)
- Add gRPC query for WASM params [\#889](https://github.com/CosmWasm/wasmd/issues/889)
- Expose Keepers in app.go? [\#881](https://github.com/CosmWasm/wasmd/issues/881)
- Remove unused `flagProposalType` flag in gov proposals [\#849](https://github.com/CosmWasm/wasmd/issues/849)
- Restrict code access config modifications [\#901](https://github.com/CosmWasm/wasmd/pull/901) ([alpe](https://github.com/alpe))
- Prevent migration to a restricted code [\#900](https://github.com/CosmWasm/wasmd/pull/900) ([alpe](https://github.com/alpe))
- Charge gas to unzip wasm code [\#898](https://github.com/CosmWasm/wasmd/pull/898) ([alpe](https://github.com/alpe))

### Notable changes:
- BaseAccount and pruned vesting account types can be re-used for contracts addresses
- A new [MsgInstantiateContract2](https://github.com/CosmWasm/wasmd/pull/1014/files#diff-bf58b9da4b674719f07dd5421c532c1ead13a15f8896b59c1f724215d2064b73R75) was introduced which is an additional value for `message` type events
- Store event contains new attribute with code checksum now
- New `wasmd tx wasm instantiate2` CLI command for predictable addresses on instantiation

### Migration notes:
- See ibc-go [migration notes](https://github.com/cosmos/ibc-go/blob/v3.3.0/docs/migrations/support-denoms-with-slashes.md)


## [v0.28.0](https://github.com/CosmWasm/wasmd/tree/v0.28.0) (2022-07-29)

[Full Changelog](https://github.com/CosmWasm/wasmd/compare/v0.27.0...v0.28.0)

**API Breaking**

No

**Fixed Bugs**

- Fix: Make events in reply completely determinisitic by stripping out anything coming from Cosmos SDK (not CosmWasm codebase) [\#917](https://github.com/CosmWasm/wasmd/pull/917) ([assafmo](https://github.com/assafmo))

Migration notes:

* Contracts can no longer parse events from any calls except if they call another contract (or instantiate it, migrate it, etc).
The main issue here is likely "Custom" queries from a blockchain, which want to send info (eg. how many tokens were swapped).
Since those custom bindings are maintained by the chain, they can use the data field to pass any deterministic information
back to the contract. We recommend using JSON encoding there with some documented format the contracts can parse out easily.
* For possible non-determinism issues, we also sort all attributes in events. Better safe than sorry.

## [v0.27.0](https://github.com/CosmWasm/wasmd/tree/v0.27.0) (2022-05-19)

Expand Down
10 changes: 5 additions & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# docker build . -t cosmwasm/wasmd:latest
# docker run --rm -it cosmwasm/wasmd:latest /bin/sh
FROM golang:1.17-alpine3.15 AS go-builder
FROM golang:1.18-alpine3.15 AS go-builder
ARG arch=x86_64

# this comes from standard alpine nightly file
Expand All @@ -16,10 +16,10 @@ WORKDIR /code
COPY . /code/

# See https://github.com/CosmWasm/wasmvm/releases
ADD https://github.com/CosmWasm/wasmvm/releases/download/v1.0.0/libwasmvm_muslc.aarch64.a /lib/libwasmvm_muslc.aarch64.a
ADD https://github.com/CosmWasm/wasmvm/releases/download/v1.0.0/libwasmvm_muslc.x86_64.a /lib/libwasmvm_muslc.x86_64.a
RUN sha256sum /lib/libwasmvm_muslc.aarch64.a | grep 7d2239e9f25e96d0d4daba982ce92367aacf0cbd95d2facb8442268f2b1cc1fc
RUN sha256sum /lib/libwasmvm_muslc.x86_64.a | grep f6282df732a13dec836cda1f399dd874b1e3163504dbd9607c6af915b2740479
ADD https://github.com/CosmWasm/wasmvm/releases/download/v1.1.1/libwasmvm_muslc.aarch64.a /lib/libwasmvm_muslc.aarch64.a
ADD https://github.com/CosmWasm/wasmvm/releases/download/v1.1.1/libwasmvm_muslc.x86_64.a /lib/libwasmvm_muslc.x86_64.a
RUN sha256sum /lib/libwasmvm_muslc.aarch64.a | grep 9ecb037336bd56076573dc18c26631a9d2099a7f2b40dc04b6cae31ffb4c8f9a
RUN sha256sum /lib/libwasmvm_muslc.x86_64.a | grep 6e4de7ba9bad4ae9679c7f9ecf7e283dd0160e71567c6a7be6ae47c81ebe7f32

# Copy the library you want to the final location that will be found by the linker flag `-lwasmvm_muslc`
RUN cp /lib/libwasmvm_muslc.${arch}.a /lib/libwasmvm_muslc.a
Expand Down
39 changes: 17 additions & 22 deletions INTEGRATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@
# Integration

If you want to use Wasm in your own app, here is how you can get this working
quickly and easily. First, check to make sure you fit the pre-requisites,
quickly and easily.
First start with This [article](https://medium.com/cosmwasm/cosmwasm-for-ctos-iv-native-integrations-713140bf75fc)
in the "CosmWasm for CTOs" series that gives you a high level view.
Then check to make sure you fit the pre-requisites,
then integrate the `x/wasm` module as described below, and finally, you
can add custom messages and queries to your custom Go/SDK modules, exposing
them to any chain-specific contract.
Expand All @@ -14,26 +17,18 @@ The pre-requisites of integrating `x/wasm` into your custom app is to be using
a compatible version of the Cosmos SDK, and to accept some limits to the
hardware it runs on.

| wasmd | Cosmos SDK |
|:------:|:-----------:|
| v0.24 | v0.45.0 |
| v0.23 | v0.45.0 |
| v0.22 | v0.45.0 |
| v0.21 | v0.42.x |
| v0.20 | v0.42.x |
| v0.19 | v0.42.x |
| v0.18 | v0.42.x |
| v0.17 | v0.42.x |
| v0.16 | v0.42.x |
| v0.15 | v0.41.x |
| v0.14 | v0.40.x |
| v0.13 | v0.40.0-rc3 |
| v0.12 | v0.40.0-rc3 |
| v0.11 | v0.39.1 |
| v0.10 | v0.39.1 |
| v0.9 | v0.38.3 |
| v0.8 | v0.38.3 |
| v0.7 | v0.38.3 |
| wasmd | Cosmos SDK |
|:-----:|:----------:|
| v0.29 | v0.45.8 |
| v0.28 | v0.45.5 |
| v0.27 | v0.45.4 |
| v0.26 | v0.45.1 |
| v0.25 | v0.45.1 |
| v0.24 | v0.45.0 |
| v0.23 | v0.45.0 |
| v0.22 | v0.45.0 |
| v0.21 | v0.42.x |


We currently only support Intel/AMD64 CPUs and OSX or Linux. For Linux, the standard build
commands work for `glibc` systems (Ubuntu, Debian, CentOS, etc). If you wish to compile
Expand Down Expand Up @@ -202,5 +197,5 @@ the SDK is implemented properly.

Once you have tested this and are happy with the results, you can wire it up in `app.go`.
Just edit [the default `NewKeeper` constructor](https://github.com/CosmWasm/wasmd/blob/v0.8.0-rc1/app/app.go#L257-L258)
to have the proper `supportedFeatures` and pass in the `CustomEncoder` and `CustomQuerier` as the last two arguments to `NewKeeper`.
to have the proper `availableCapabilities` and pass in the `CustomEncoder` and `CustomQuerier` as the last two arguments to `NewKeeper`.
Now you can compile your chain and upload your custom contracts on it.
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ go.sum: go.mod

draw-deps:
@# requires brew install graphviz or apt-get install graphviz
go get github.com/RobotsAndPencils/goviz
go install github.com/RobotsAndPencils/goviz@latest
@goviz -i ./cmd/wasmd -d 2 | dot -Tpng -o dependency-graph.png

clean:
Expand Down Expand Up @@ -165,7 +165,7 @@ format: format-tools
###############################################################################
### Protobuf ###
###############################################################################
PROTO_BUILDER_IMAGE=tendermintdev/sdk-proto-gen@sha256:372dce7be2f465123e26459973ca798fc489ff2c75aeecd814c0ca8ced24faca
PROTO_BUILDER_IMAGE=tendermintdev/sdk-proto-gen:v0.2
PROTO_FORMATTER_IMAGE=tendermintdev/docker-build-proto@sha256:aabcfe2fc19c31c0f198d4cd26393f5e5ca9502d7ea3feafbfe972448fee7cae

proto-all: proto-format proto-lint proto-gen format
Expand Down
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ This code was forked from the `cosmos/gaia` repository as a basis and then we ad
many gaia-specific files. However, the `wasmd` binary should function just like `gaiad` except for the
addition of the `x/wasm` module.

**Note**: Requires [Go 1.17+](https://golang.org/dl/)
**Note**: Requires [Go 1.18+](https://golang.org/dl/)

For critical security issues & disclosure, see [SECURITY.md](SECURITY.md).
## Compatibility with CosmWasm contracts
Expand All @@ -25,7 +25,9 @@ version is communicated by the contract via a Wasm export. This is the current
compatibility list:

| wasmd | wasmvm | cosmwasm-vm | cosmwasm-std |
| ----- | ------------ | ----------- | ------------ |
|-------|--------------|-------------|--------------|
| 0.29 | v1.1.0 | | 1.0-1.1 |
| 0.28 | v1.0.0 | | 1.0-1.1 |
| 0.27 | v1.0.0 | | 1.0 |
| 0.26 | 1.0.0-beta10 | | 1.0 |
| 0.25 | 1.0.0-beta10 | | 1.0 |
Expand All @@ -52,7 +54,7 @@ It will also run contracts compiled with 1.x assuming they don't opt into any ne
The 1.x cosmwasm_vm will support all contracts with 1.0 <= version <= 1.x.

Note that `cosmwasm-std` version defines which contracts are compatible with this system. The wasm code uploaded must
have been compiled with one of the supported `cosmwasm-std` versions, or will be rejeted upon upload (with some error
have been compiled with one of the supported `cosmwasm-std` versions, or will be rejected upon upload (with some error
message about "contract too old?" or "contract too new?"). `cosmwasm-vm` version defines the runtime used. It is a
breaking change to switch runtimes (you will need to organize a chain upgrade). As of `cosmwasm-vm 0.13` we are
using [wasmer](https://github.com/wasmerio/wasmer/) 1.0, which is significantly more performant than the older versions.
Expand Down Expand Up @@ -95,9 +97,9 @@ The used cosmos-sdk version is in transition migrating from amino encoding to pr

We use standard cosmos-sdk encoding (amino) for all sdk Messages. However, the message body sent to all contracts,
as well as the internal state is encoded using JSON. Cosmwasm allows arbitrary bytes with the contract itself
responsible for decodng. For better UX, we often use `json.RawMessage` to contain these bytes, which enforces that it is
responsible for decoding. For better UX, we often use `json.RawMessage` to contain these bytes, which enforces that it is
valid json, but also give a much more readable interface. If you want to use another encoding in the contracts, that is
a relatively minor change to wasmd but would currently require a fork. Please open in issue if this is important for
a relatively minor change to wasmd but would currently require a fork. Please open an issue if this is important for
your use case.

## Quick Start
Expand Down
14 changes: 7 additions & 7 deletions app/ante.go
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
package app

import (
storetypes "github.com/cosmos/cosmos-sdk/store/types"
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
"github.com/cosmos/cosmos-sdk/x/auth/ante"
ibcante "github.com/cosmos/ibc-go/v3/modules/core/ante"
"github.com/cosmos/ibc-go/v3/modules/core/keeper"
ibcante "github.com/cosmos/ibc-go/v5/modules/core/ante"
"github.com/cosmos/ibc-go/v5/modules/core/keeper"

wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper"
wasmTypes "github.com/CosmWasm/wasmd/x/wasm/types"
Expand All @@ -18,7 +19,7 @@ type HandlerOptions struct {

IBCKeeper *keeper.Keeper
WasmConfig *wasmTypes.WasmConfig
TXCounterStoreKey sdk.StoreKey
TXCounterStoreKey storetypes.StoreKey
}

func NewAnteHandler(options HandlerOptions) (sdk.AnteHandler, error) {
Expand Down Expand Up @@ -47,20 +48,19 @@ func NewAnteHandler(options HandlerOptions) (sdk.AnteHandler, error) {
ante.NewSetUpContextDecorator(), // outermost AnteDecorator. SetUpContext must be called first
wasmkeeper.NewLimitSimulationGasDecorator(options.WasmConfig.SimulationGasLimit), // after setup context to enforce limits early
wasmkeeper.NewCountTXDecorator(options.TXCounterStoreKey),
ante.NewRejectExtensionOptionsDecorator(),
ante.NewMempoolFeeDecorator(),
ante.NewExtensionOptionsDecorator(options.ExtensionOptionChecker),
ante.NewValidateBasicDecorator(),
ante.NewTxTimeoutHeightDecorator(),
ante.NewValidateMemoDecorator(options.AccountKeeper),
ante.NewConsumeGasForTxSizeDecorator(options.AccountKeeper),
ante.NewDeductFeeDecorator(options.AccountKeeper, options.BankKeeper, options.FeegrantKeeper),
ante.NewDeductFeeDecorator(options.AccountKeeper, options.BankKeeper, options.FeegrantKeeper, options.TxFeeChecker),
// SetPubKeyDecorator must be called before all signature verification decorators
ante.NewSetPubKeyDecorator(options.AccountKeeper),
ante.NewValidateSigCountDecorator(options.AccountKeeper),
ante.NewSigGasConsumeDecorator(options.AccountKeeper, sigGasConsumer),
ante.NewSigVerificationDecorator(options.AccountKeeper, options.SignModeHandler),
ante.NewIncrementSequenceDecorator(options.AccountKeeper),
ibcante.NewAnteDecorator(options.IBCKeeper),
ibcante.NewRedundantRelayDecorator(options.IBCKeeper),
}

return sdk.ChainAnteDecorators(anteDecorators...), nil
Expand Down
Loading