From 15238ccff66d6e4117eee6835f43173a5d171f1c Mon Sep 17 00:00:00 2001 From: Alex Peters Date: Tue, 10 Nov 2020 11:09:16 +0100 Subject: [PATCH 1/6] Docker container based Protobuf generation and linting --- Makefile | 18 +- README.md | 29 +- buf.yaml | 25 +- contrib/prototools-docker/Dockerfile | 51 + contrib/prototools-docker/README.md | 21 + doc/README.md | 3 + doc/proto.md | 899 ++++++++++++++++++ scripts/protocgen.sh | 26 +- x/wasm/internal/keeper/genesis_test.go | 2 +- x/wasm/internal/keeper/keeper_test.go | 6 +- x/wasm/internal/keeper/legacy_querier_test.go | 18 +- .../keeper/proposal_integration_test.go | 6 +- x/wasm/internal/keeper/querier.go | 4 +- x/wasm/internal/keeper/querier_test.go | 18 +- x/wasm/internal/types/msg.pb.go | 88 +- x/wasm/internal/types/msg.proto | 2 +- x/wasm/internal/types/params.go | 8 +- x/wasm/internal/types/params_test.go | 10 +- x/wasm/internal/types/proposal.pb.go | 88 +- x/wasm/internal/types/proposal.proto | 2 +- x/wasm/internal/types/query.pb.go | 153 +-- x/wasm/internal/types/query.pb.gw.go | 6 +- x/wasm/internal/types/query.proto | 4 +- x/wasm/internal/types/types.go | 8 +- x/wasm/internal/types/types.pb.go | 190 ++-- x/wasm/internal/types/types.proto | 20 +- 26 files changed, 1346 insertions(+), 359 deletions(-) create mode 100644 contrib/prototools-docker/Dockerfile create mode 100644 contrib/prototools-docker/README.md create mode 100644 doc/README.md create mode 100644 doc/proto.md diff --git a/Makefile b/Makefile index 93d3c6a049..564365c102 100644 --- a/Makefile +++ b/Makefile @@ -6,6 +6,11 @@ COMMIT := $(shell git log -1 --format='%H') LEDGER_ENABLED ?= true SDK_PACK := $(shell go list -m github.com/cosmos/cosmos-sdk | sed 's/ /\@/g') +# for dockerized protobuf tools +PROTO_CONTAINER := cosmwasm/prototool-docker:latest +DOCKER_BUF := docker run --rm -v $(shell pwd)/buf.yaml:/workspace/buf.yaml -v $(shell go list -f "{{ .Dir }}" -m github.com/cosmos/cosmos-sdk):/workspace/cosmos_sdk_dir -v $(shell pwd):/workspace/wasmd --workdir /workspace $(PROTO_CONTAINER) +HTTPS_GIT := https://github.com/CosmWasm/wasmd.git + export GO111MODULE = on # process build tags @@ -198,16 +203,19 @@ format: ############################################################################### proto-all: proto-gen proto-lint proto-check-breaking +.PHONY: proto-all -proto-gen: - @./scripts/protocgen.sh +proto-gen: proto-lint + @docker run --rm -v $(shell go list -f "{{ .Dir }}" -m github.com/cosmos/cosmos-sdk):/workspace/cosmos_sdk_dir -v $(shell pwd):/workspace --workdir /workspace --env COSMOS_SDK_DIR=/workspace/cosmos_sdk_dir $(PROTO_CONTAINER) ./scripts/protocgen.sh +.PHONY: proto-gen proto-lint: - @buf check lint --error-format=json + @$(DOCKER_BUF) buf check lint --error-format=json +.PHONY: proto-lint proto-check-breaking: - @buf check breaking --against-input '.git#branch=master' - + @$(DOCKER_BUF) buf check breaking --against-input $(HTTPS_GIT)#branch=master +.PHONY: proto-check-breaking .PHONY: all build-linux install install-debug \ go-mod-cache draw-deps clean build format \ diff --git a/README.md b/README.md index cbd0a1df08..268dbd928e 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # Wasm Zone -[![CircleCI](https://circleci.com/gh/cosmwasm/wasmd/tree/master.svg?style=shield)](https://circleci.com/gh/cosmwasm/wasmd/tree/master) +[![CircleCI](https://circleci.com/gh/CosmWasm/wasmd/tree/master.svg?style=shield)](https://circleci.com/gh/CosmWasm/wasmd/tree/master) [![codecov](https://codecov.io/gh/cosmwasm/wasmd/branch/master/graph/badge.svg)](https://codecov.io/gh/cosmwasm/wasmd) [![Go Report Card](https://goreportcard.com/badge/github.com/CosmWasm/wasmd)](https://goreportcard.com/report/github.com/CosmWasm/wasmd) -[![license](https://img.shields.io/github/license/cosmwasm/wasmd.svg)](https://github.com/CosmWasm/wasmd/blob/master/LICENSE) -[![LoC](https://tokei.rs/b1/github/cosmwasm/wasmd)](https://github.com/CosmWasm/wasmd) +[![license](https://img.shields.io/github/license/CosmWasm/wasmd.svg)](https://github.com/CosmWasm/wasmd/blob/master/LICENSE) +[![LoC](https://tokei.rs/b1/github/CosmWasm/wasmd)](https://github.com/CosmWasm/wasmd) This repository hosts `Wasmd`, the first implementation of a cosmos zone with wasm smart contracts enabled. @@ -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.14+](https://golang.org/dl/) +**Note**: Requires [Go 1.15+](https://golang.org/dl/) ## Supported Systems @@ -68,24 +68,11 @@ To set up a single node testnet, [look at the deployment documentation](./docs/d If you want to deploy a whole cluster, [look at the network scripts](./networks/README.md). ## Protobuf - -1. Install [protoc](https://github.com/protocolbuffers/protobuf#protocol-compiler-installation) - -2. Install [cosmos-extension](https://github.com/regen-network/cosmos-proto/) for [gogo-protobuf](https://github.com/gogo/protobuf) -```sh -go install github.com/regen-network/cosmos-proto/protoc-gen-gocosmos -``` -3. Install [grpc gateway extension](github.com/grpc-ecosystem/grpc-gateway) -```go -go install \ upgrade_stargate_rebased 3a8aa77 ✗ - github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway \ - github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger \ - github.com/golang/protobuf/protoc-gen-go -``` -3. Run generator -```sh - make proto-gen +Generate protobuf +```shell script +make proto-gen ``` +The generators are executed within a Docker [container](./contrib/prototools-docker), now. ## Dockerized diff --git a/buf.yaml b/buf.yaml index 8507c9cd41..97da997731 100644 --- a/buf.yaml +++ b/buf.yaml @@ -1,19 +1,36 @@ +version: v1beta1 build: roots: - - . + # Note: these are not local path. These roots are mounted into the docker container + - wasmd/ + - cosmos_sdk_dir/third_party/proto/ + - cosmos_sdk_dir/proto/ + excludes: +# - cosmos_sdk_dir lint: use: - DEFAULT - - COMMENTS +# - COMMENTS - FILE_LOWER_SNAKE_CASE except: - UNARY_RPC - COMMENT_FIELD + - SERVICE_SUFFIX + - PACKAGE_VERSION_SUFFIX + - RPC_REQUEST_STANDARD_NAME - PACKAGE_DIRECTORY_MATCH ignore: - - third_party + - tendermint + - gogoproto + - cosmos_proto + - google + - confio breaking: use: - FILE ignore: - - third_party + - tendermint + - gogoproto + - cosmos_proto + - google + - confio diff --git a/contrib/prototools-docker/Dockerfile b/contrib/prototools-docker/Dockerfile new file mode 100644 index 0000000000..c3f781d2a6 --- /dev/null +++ b/contrib/prototools-docker/Dockerfile @@ -0,0 +1,51 @@ +FROM golang:1.15.3-alpine3.12 AS build + +#ARG PROTOTOOL_VERSION=1.10.0 +ARG PROTODOC_VERSION=1.3.2 +ARG GRPC_GATEWAY_VERSION=1.16.0 +ARG REGEN_GOGOPROTO_VERSION=0.3.0 +ARG REGEN_PROTOBUF_VERSION=1.3.2-alpha.regen.4 +ARG BUF_VERSION=0.30.0 + +RUN apk --no-cache add --update curl git libc6-compat make upx + +RUN go get -d \ + github.com/gogo/protobuf/gogoproto && \ + mkdir -p /usr/include/google/protobuf/ && \ + mv /go/src/github.com/gogo/protobuf/protobuf/google/protobuf/empty.proto /usr/include/google/protobuf/ &&\ + mv /go/src/github.com/gogo/protobuf/protobuf/google/protobuf/descriptor.proto /usr/include/google/protobuf/ + +RUN GO111MODULE=on go get \ + github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway@v${GRPC_GATEWAY_VERSION} \ + github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger@v${GRPC_GATEWAY_VERSION} && \ + mv /go/bin/protoc-gen-grpc-gateway /usr/local/bin/ &&\ + mv /go/bin/protoc-gen-swagger /usr/local/bin/ + +# Install regen fork of gogo proto +# To install a fix version this can only be done via this go.mod workaround +WORKDIR /work +RUN GO111MODULE=on go mod init foobar && \ + go mod edit -replace github.com/gogo/protobuf=github.com/regen-network/protobuf@v${REGEN_PROTOBUF_VERSION} && \ + go get github.com/regen-network/cosmos-proto/protoc-gen-gocosmos@v${REGEN_GOGOPROTO_VERSION} && \ + mv /go/bin/protoc-gen-gocosmos* /usr/local/bin/ + +RUN GO111MODULE=on go get \ + github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc@v${PROTODOC_VERSION} && \ + mv /go/bin/protoc-gen-doc /usr/local/bin/ + +RUN GO111MODULE=on go get \ + github.com/bufbuild/buf/cmd/buf@v${BUF_VERSION} && \ + mv /go/bin/buf /usr/local/bin/ + +RUN upx --lzma /usr/local/bin/* + +FROM golang:1.15.3-alpine3.12 +ENV LD_LIBRARY_PATH=/lib64:/lib + +WORKDIR /work +RUN apk --no-cache add --update curl git libc6-compat make +RUN apk --no-cache add --update ca-certificates libc6-compat protoc + +COPY --from=build /usr/local/bin /usr/local/bin +COPY --from=build /usr/include /usr/include +RUN chmod -R 755 /usr/include diff --git a/contrib/prototools-docker/README.md b/contrib/prototools-docker/README.md new file mode 100644 index 0000000000..600c7024b8 --- /dev/null +++ b/contrib/prototools-docker/README.md @@ -0,0 +1,21 @@ +Prototool Docker Helper +======================= +Docker container for all the protobuf generation... + +Based on the work by @pseudomuto [prototool-docker](https://github.com/charithe/prototool-docker) project: + +Installs generators and tools from: + +* https://github.com/bufbuild/buf +* https://github.com/grpc-ecosystem +* https://github.com/regen-network/cosmos-proto +* https://github.com/pseudomuto/protoc-gen-doc + +### Build +```shell script +docker build -t cosmwasm/prototools-docker -f ./contrib/prototools-docker/Dockerfile . +``` + +```shell script +docker run -it -v $(go list -f "{{ .Dir }}" -m github.com/cosmos/cosmos-sdk):/workspace/cosmos_sdk_dir -v $(pwd):/workspace --workdir /workspace --env COSMOS_SDK_DIR=/cosmos_sdk_dir cosmwasm/prototool-docker sh +``` diff --git a/doc/README.md b/doc/README.md new file mode 100644 index 0000000000..9f3e98c8b0 --- /dev/null +++ b/doc/README.md @@ -0,0 +1,3 @@ +# Generated doc + +Tutorials and project doc is available on https://docs.cosmwasm.com/ diff --git a/doc/proto.md b/doc/proto.md new file mode 100644 index 0000000000..8ca9f0f066 --- /dev/null +++ b/doc/proto.md @@ -0,0 +1,899 @@ +# Protocol Documentation + + +## Table of Contents + +- [x/wasm/internal/types/genesis.proto](#x/wasm/internal/types/genesis.proto) + - [Code](#wasmd.x.wasmd.v1beta1.Code) + - [Contract](#wasmd.x.wasmd.v1beta1.Contract) + - [GenesisState](#wasmd.x.wasmd.v1beta1.GenesisState) + - [Sequence](#wasmd.x.wasmd.v1beta1.Sequence) + +- [x/wasm/internal/types/msg.proto](#x/wasm/internal/types/msg.proto) + - [MsgClearAdmin](#wasmd.x.wasmd.v1beta1.MsgClearAdmin) + - [MsgExecuteContract](#wasmd.x.wasmd.v1beta1.MsgExecuteContract) + - [MsgInstantiateContract](#wasmd.x.wasmd.v1beta1.MsgInstantiateContract) + - [MsgMigrateContract](#wasmd.x.wasmd.v1beta1.MsgMigrateContract) + - [MsgStoreCode](#wasmd.x.wasmd.v1beta1.MsgStoreCode) + - [MsgUpdateAdmin](#wasmd.x.wasmd.v1beta1.MsgUpdateAdmin) + +- [x/wasm/internal/types/proposal.proto](#x/wasm/internal/types/proposal.proto) + - [ClearAdminProposal](#wasmd.x.wasmd.v1beta1.ClearAdminProposal) + - [InstantiateContractProposal](#wasmd.x.wasmd.v1beta1.InstantiateContractProposal) + - [MigrateContractProposal](#wasmd.x.wasmd.v1beta1.MigrateContractProposal) + - [StoreCodeProposal](#wasmd.x.wasmd.v1beta1.StoreCodeProposal) + - [UpdateAdminProposal](#wasmd.x.wasmd.v1beta1.UpdateAdminProposal) + +- [x/wasm/internal/types/query.proto](#x/wasm/internal/types/query.proto) + - [CodeInfoResponse](#wasmd.x.wasmd.v1beta1.CodeInfoResponse) + - [ContractInfoWithAddress](#wasmd.x.wasmd.v1beta1.ContractInfoWithAddress) + - [QueryAllContractStateRequest](#wasmd.x.wasmd.v1beta1.QueryAllContractStateRequest) + - [QueryAllContractStateResponse](#wasmd.x.wasmd.v1beta1.QueryAllContractStateResponse) + - [QueryCodeRequest](#wasmd.x.wasmd.v1beta1.QueryCodeRequest) + - [QueryCodeResponse](#wasmd.x.wasmd.v1beta1.QueryCodeResponse) + - [QueryCodesResponse](#wasmd.x.wasmd.v1beta1.QueryCodesResponse) + - [QueryContractHistoryRequest](#wasmd.x.wasmd.v1beta1.QueryContractHistoryRequest) + - [QueryContractHistoryResponse](#wasmd.x.wasmd.v1beta1.QueryContractHistoryResponse) + - [QueryContractInfoRequest](#wasmd.x.wasmd.v1beta1.QueryContractInfoRequest) + - [QueryContractInfoResponse](#wasmd.x.wasmd.v1beta1.QueryContractInfoResponse) + - [QueryContractsByCodeRequest](#wasmd.x.wasmd.v1beta1.QueryContractsByCodeRequest) + - [QueryContractsByCodeResponse](#wasmd.x.wasmd.v1beta1.QueryContractsByCodeResponse) + - [QueryRawContractStateRequest](#wasmd.x.wasmd.v1beta1.QueryRawContractStateRequest) + - [QueryRawContractStateResponse](#wasmd.x.wasmd.v1beta1.QueryRawContractStateResponse) + - [QuerySmartContractStateRequest](#wasmd.x.wasmd.v1beta1.QuerySmartContractStateRequest) + - [QuerySmartContractStateResponse](#wasmd.x.wasmd.v1beta1.QuerySmartContractStateResponse) + + - [Query](#wasmd.x.wasmd.v1beta1.Query) + +- [x/wasm/internal/types/types.proto](#x/wasm/internal/types/types.proto) + - [AbsoluteTxPosition](#wasmd.x.wasmd.v1beta1.AbsoluteTxPosition) + - [AccessConfig](#wasmd.x.wasmd.v1beta1.AccessConfig) + - [AccessTypeParam](#wasmd.x.wasmd.v1beta1.AccessTypeParam) + - [CodeInfo](#wasmd.x.wasmd.v1beta1.CodeInfo) + - [ContractCodeHistoryEntry](#wasmd.x.wasmd.v1beta1.ContractCodeHistoryEntry) + - [ContractHistory](#wasmd.x.wasmd.v1beta1.ContractHistory) + - [ContractInfo](#wasmd.x.wasmd.v1beta1.ContractInfo) + - [Model](#wasmd.x.wasmd.v1beta1.Model) + - [Params](#wasmd.x.wasmd.v1beta1.Params) + + - [AccessType](#wasmd.x.wasmd.v1beta1.AccessType) + - [ContractCodeHistoryOperationType](#wasmd.x.wasmd.v1beta1.ContractCodeHistoryOperationType) + +- [Scalar Value Types](#scalar-value-types) + + + + +

Top

+ +## x/wasm/internal/types/genesis.proto + + + + + +### Code +Code struct encompasses CodeInfo and CodeBytes + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| code_id | [uint64](#uint64) | | | +| code_info | [CodeInfo](#wasmd.x.wasmd.v1beta1.CodeInfo) | | | +| code_bytes | [bytes](#bytes) | | | + + + + + + + + +### Contract +Contract struct encompasses ContractAddress, ContractInfo, and ContractState + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| contract_address | [bytes](#bytes) | | | +| contract_info | [ContractInfo](#wasmd.x.wasmd.v1beta1.ContractInfo) | | | +| contract_state | [Model](#wasmd.x.wasmd.v1beta1.Model) | repeated | | + + + + + + + + +### GenesisState +GenesisState - genesis state of x/wasm + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| params | [Params](#wasmd.x.wasmd.v1beta1.Params) | | | +| codes | [Code](#wasmd.x.wasmd.v1beta1.Code) | repeated | | +| contracts | [Contract](#wasmd.x.wasmd.v1beta1.Contract) | repeated | | +| sequences | [Sequence](#wasmd.x.wasmd.v1beta1.Sequence) | repeated | | + + + + + + + + +### Sequence +Sequence id and value of a counter + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id_key | [bytes](#bytes) | | | +| value | [uint64](#uint64) | | | + + + + + + + + + + + + + + + + +

Top

+ +## x/wasm/internal/types/msg.proto + + + + + +### MsgClearAdmin + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| sender | [bytes](#bytes) | | | +| contract | [bytes](#bytes) | | | + + + + + + + + +### MsgExecuteContract + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| sender | [bytes](#bytes) | | | +| contract | [bytes](#bytes) | | | +| msg | [bytes](#bytes) | | | +| sent_funds | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | repeated | | + + + + + + + + +### MsgInstantiateContract + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| sender | [bytes](#bytes) | | | +| admin | [bytes](#bytes) | | Admin is an optional address that can execute migrations | +| code_id | [uint64](#uint64) | | | +| label | [string](#string) | | | +| init_msg | [bytes](#bytes) | | | +| init_funds | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | repeated | | + + + + + + + + +### MsgMigrateContract + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| sender | [bytes](#bytes) | | | +| contract | [bytes](#bytes) | | | +| code_id | [uint64](#uint64) | | | +| migrate_msg | [bytes](#bytes) | | | + + + + + + + + +### MsgStoreCode + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| sender | [bytes](#bytes) | | | +| wasm_byte_code | [bytes](#bytes) | | WASMByteCode can be raw or gzip compressed | +| source | [string](#string) | | Source is a valid absolute HTTPS URI to the contract's source code, optional | +| builder | [string](#string) | | Builder is a valid docker image name with tag, optional | +| instantiate_permission | [AccessConfig](#wasmd.x.wasmd.v1beta1.AccessConfig) | | InstantiatePermission to apply on contract creation, optional | + + + + + + + + +### MsgUpdateAdmin + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| sender | [bytes](#bytes) | | | +| new_admin | [bytes](#bytes) | | | +| contract | [bytes](#bytes) | | | + + + + + + + + + + + + + + + + +

Top

+ +## x/wasm/internal/types/proposal.proto + + + + + +### ClearAdminProposal +ClearAdminProposal gov proposal content type to clear the admin of a contract. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| title | [string](#string) | | | +| description | [string](#string) | | | +| contract | [bytes](#bytes) | | | + + + + + + + + +### InstantiateContractProposal +InstantiateContractProposal gov proposal content type to instantiate a contract. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| title | [string](#string) | | | +| description | [string](#string) | | | +| run_as | [bytes](#bytes) | | RunAs is the address that is passed to the contract's environment as sender | +| admin | [bytes](#bytes) | | Admin is an optional address that can execute migrations | +| code_id | [uint64](#uint64) | | | +| label | [string](#string) | | | +| init_msg | [bytes](#bytes) | | | +| init_funds | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | repeated | | + + + + + + + + +### MigrateContractProposal +MigrateContractProposal gov proposal content type to migrate a contract. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| title | [string](#string) | | | +| description | [string](#string) | | | +| run_as | [bytes](#bytes) | | RunAs is the address that is passed to the contract's environment as sender | +| contract | [bytes](#bytes) | | | +| code_id | [uint64](#uint64) | | | +| migrate_msg | [bytes](#bytes) | | | + + + + + + + + +### StoreCodeProposal + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| title | [string](#string) | | | +| description | [string](#string) | | | +| run_as | [bytes](#bytes) | | RunAs is the address that is passed to the contract's environment as sender | +| wasm_byte_code | [bytes](#bytes) | | WASMByteCode can be raw or gzip compressed | +| source | [string](#string) | | Source is a valid absolute HTTPS URI to the contract's source code, optional | +| builder | [string](#string) | | Builder is a valid docker image name with tag, optional | +| instantiate_permission | [AccessConfig](#wasmd.x.wasmd.v1beta1.AccessConfig) | | InstantiatePermission to apply on contract creation, optional | + + + + + + + + +### UpdateAdminProposal +UpdateAdminProposal gov proposal content type to set an admin for a contract. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| title | [string](#string) | | | +| description | [string](#string) | | | +| new_admin | [bytes](#bytes) | | | +| contract | [bytes](#bytes) | | | + + + + + + + + + + + + + + + + +

Top

+ +## x/wasm/internal/types/query.proto + + + + + +### CodeInfoResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| code_id | [uint64](#uint64) | | id for legacy support | +| creator | [bytes](#bytes) | | | +| data_hash | [bytes](#bytes) | | | +| source | [string](#string) | | | +| builder | [string](#string) | | | + + + + + + + + +### ContractInfoWithAddress +ContractInfoWithAddress adds the address (key) to the ContractInfo representation + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| address | [bytes](#bytes) | | | +| contract_info | [ContractInfo](#wasmd.x.wasmd.v1beta1.ContractInfo) | | | + + + + + + + + +### QueryAllContractStateRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| address | [bytes](#bytes) | | address is the address of the contract | + + + + + + + + +### QueryAllContractStateResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| models | [Model](#wasmd.x.wasmd.v1beta1.Model) | repeated | | + + + + + + + + +### QueryCodeRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| code_id | [uint64](#uint64) | | grpc-gateway_out does not support Go style CodID | + + + + + + + + +### QueryCodeResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| code_info | [CodeInfoResponse](#wasmd.x.wasmd.v1beta1.CodeInfoResponse) | | | +| data | [bytes](#bytes) | | | + + + + + + + + +### QueryCodesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| code_infos | [CodeInfoResponse](#wasmd.x.wasmd.v1beta1.CodeInfoResponse) | repeated | | + + + + + + + + +### QueryContractHistoryRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| address | [bytes](#bytes) | | address is the address of the contract to query | + + + + + + + + +### QueryContractHistoryResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| entries | [ContractCodeHistoryEntry](#wasmd.x.wasmd.v1beta1.ContractCodeHistoryEntry) | repeated | | + + + + + + + + +### QueryContractInfoRequest +QueryContractInfoRequest is the request type for the Query/ContractInfo RPC method + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| address | [bytes](#bytes) | | address is the address of the contract to query | + + + + + + + + +### QueryContractInfoResponse +QueryContractInfoResponse is the response type for the Query/ContractInfo RPC method + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| address | [bytes](#bytes) | | address is the address of the contract | +| contract_info | [ContractInfo](#wasmd.x.wasmd.v1beta1.ContractInfo) | | | + + + + + + + + +### QueryContractsByCodeRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| code_id | [uint64](#uint64) | | grpc-gateway_out does not support Go style CodID | + + + + + + + + +### QueryContractsByCodeResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| contract_infos | [ContractInfoWithAddress](#wasmd.x.wasmd.v1beta1.ContractInfoWithAddress) | repeated | | + + + + + + + + +### QueryRawContractStateRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| address | [bytes](#bytes) | | address is the address of the contract | +| query_data | [bytes](#bytes) | | | + + + + + + + + +### QueryRawContractStateResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| data | [bytes](#bytes) | | | + + + + + + + + +### QuerySmartContractStateRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| address | [bytes](#bytes) | | address is the address of the contract | +| query_data | [bytes](#bytes) | | | + + + + + + + + +### QuerySmartContractStateResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| data | [bytes](#bytes) | | | + + + + + + + + + + + + + + +### Query +Query provides defines the gRPC querier service + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| ContractInfo | [QueryContractInfoRequest](#wasmd.x.wasmd.v1beta1.QueryContractInfoRequest) | [QueryContractInfoResponse](#wasmd.x.wasmd.v1beta1.QueryContractInfoResponse) | | +| ContractHistory | [QueryContractHistoryRequest](#wasmd.x.wasmd.v1beta1.QueryContractHistoryRequest) | [QueryContractHistoryResponse](#wasmd.x.wasmd.v1beta1.QueryContractHistoryResponse) | | +| ContractsByCode | [QueryContractsByCodeRequest](#wasmd.x.wasmd.v1beta1.QueryContractsByCodeRequest) | [QueryContractsByCodeResponse](#wasmd.x.wasmd.v1beta1.QueryContractsByCodeResponse) | | +| AllContractState | [QueryAllContractStateRequest](#wasmd.x.wasmd.v1beta1.QueryAllContractStateRequest) | [QueryAllContractStateResponse](#wasmd.x.wasmd.v1beta1.QueryAllContractStateResponse) | | +| RawContractState | [QueryRawContractStateRequest](#wasmd.x.wasmd.v1beta1.QueryRawContractStateRequest) | [QueryRawContractStateResponse](#wasmd.x.wasmd.v1beta1.QueryRawContractStateResponse) | | +| SmartContractState | [QuerySmartContractStateRequest](#wasmd.x.wasmd.v1beta1.QuerySmartContractStateRequest) | [QuerySmartContractStateResponse](#wasmd.x.wasmd.v1beta1.QuerySmartContractStateResponse) | | +| Code | [QueryCodeRequest](#wasmd.x.wasmd.v1beta1.QueryCodeRequest) | [QueryCodeResponse](#wasmd.x.wasmd.v1beta1.QueryCodeResponse) | | +| Codes | [.google.protobuf.Empty](#google.protobuf.Empty) | [QueryCodesResponse](#wasmd.x.wasmd.v1beta1.QueryCodesResponse) | | + + + + + + +

Top

+ +## x/wasm/internal/types/types.proto + + + + + +### AbsoluteTxPosition +AbsoluteTxPosition can be used to sort contracts + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| block_height | [int64](#int64) | | BlockHeight is the block the contract was created at | +| tx_index | [uint64](#uint64) | | TxIndex is a monotonic counter within the block (actual transaction index, or gas consumed) | + + + + + + + + +### AccessConfig + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| permission | [AccessType](#wasmd.x.wasmd.v1beta1.AccessType) | | | +| address | [bytes](#bytes) | | | + + + + + + + + +### AccessTypeParam + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| value | [AccessType](#wasmd.x.wasmd.v1beta1.AccessType) | | | + + + + + + + + +### CodeInfo +CodeInfo is data for the uploaded contract WASM code + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| code_hash | [bytes](#bytes) | | | +| creator | [bytes](#bytes) | | | +| source | [string](#string) | | | +| builder | [string](#string) | | | +| instantiate_config | [AccessConfig](#wasmd.x.wasmd.v1beta1.AccessConfig) | | | + + + + + + + + +### ContractCodeHistoryEntry +ContractCodeHistoryEntry stores code updates to a contract. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| operation | [ContractCodeHistoryOperationType](#wasmd.x.wasmd.v1beta1.ContractCodeHistoryOperationType) | | | +| code_id | [uint64](#uint64) | | | +| updated | [AbsoluteTxPosition](#wasmd.x.wasmd.v1beta1.AbsoluteTxPosition) | | | +| msg | [bytes](#bytes) | | | + + + + + + + + +### ContractHistory + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| code_history_entries | [ContractCodeHistoryEntry](#wasmd.x.wasmd.v1beta1.ContractCodeHistoryEntry) | repeated | | + + + + + + + + +### ContractInfo +ContractInfo stores a WASM contract instance + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| code_id | [uint64](#uint64) | | | +| creator | [bytes](#bytes) | | | +| admin | [bytes](#bytes) | | | +| label | [string](#string) | | | +| created | [AbsoluteTxPosition](#wasmd.x.wasmd.v1beta1.AbsoluteTxPosition) | | never show this in query results, just use for sorting (Note: when using json tag "-" amino refused to serialize it...) | + + + + + + + + +### Model +Model is a struct that holds a KV pair + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [bytes](#bytes) | | hex-encode key to read it better (this is often ascii) | +| value | [bytes](#bytes) | | base64-encode raw value | + + + + + + + + +### Params +Params defines the set of wasm parameters. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| code_upload_access | [AccessConfig](#wasmd.x.wasmd.v1beta1.AccessConfig) | | | +| instantiate_default_permission | [AccessType](#wasmd.x.wasmd.v1beta1.AccessType) | | | +| max_wasm_code_size | [uint64](#uint64) | | | + + + + + + + + + + +### AccessType + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| ACCESS_TYPE_UNSPECIFIED | 0 | | +| ACCESS_TYPE_NOBODY | 1 | | +| ACCESS_TYPE_ONLY_ADDRESS | 2 | | +| ACCESS_TYPE_EVERYBODY | 3 | | + + + + + +### ContractCodeHistoryOperationType + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED | 0 | | +| CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT | 1 | | +| CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE | 2 | | +| CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS | 3 | | + + + + + + + + + + +## Scalar Value Types + +| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby | +| ----------- | ----- | --- | ---- | ------ | -- | -- | --- | ---- | +| double | | double | double | float | float64 | double | float | Float | +| float | | float | float | float | float32 | float | float | Float | +| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | +| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum | +| uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) | +| uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) | +| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | +| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum | +| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) | +| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum | +| sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | +| sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum | +| bool | | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | +| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) | +| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) | + diff --git a/scripts/protocgen.sh b/scripts/protocgen.sh index 492b31abfd..187e0ec113 100755 --- a/scripts/protocgen.sh +++ b/scripts/protocgen.sh @@ -1,23 +1,19 @@ -#!/usr/bin/env bash +#!/bin/sh set -eo pipefail -project_dir=x/wasm/internal/types/ -cosmos_sdk_dir=$(go list -f "{{ .Dir }}" -m github.com/cosmos/cosmos-sdk) -# Generate Go types from protobuf -protoc \ - -I=. \ - -I="$cosmos_sdk_dir/third_party/proto" \ - -I="$cosmos_sdk_dir/proto" \ - --gocosmos_out=Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types,plugins=interfacetype+grpc,paths=source_relative:. \ - $(find "${project_dir}" -maxdepth 1 -name '*.proto') +PROJECT_PROTO_DIR=x/wasm/internal/types/ +COSMOS_SDK_DIR=${COSMOS_SDK_DIR:-$(go list -f "{{ .Dir }}" -m github.com/cosmos/cosmos-sdk)} -# Generate gRPC gateway (*.pb.gw.go in respective modules) files +# Generate Go types from protobuf protoc \ -I=. \ - -I="$cosmos_sdk_dir/third_party/proto" \ - -I="$cosmos_sdk_dir/proto" \ + -I="$COSMOS_SDK_DIR/third_party/proto" \ + -I="$COSMOS_SDK_DIR/proto" \ + --gocosmos_out=Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types,Mgoogle/protobuf/empty.proto=github.com/gogo/protobuf/types,plugins=interfacetype+grpc,paths=source_relative:. \ --grpc-gateway_out .\ --grpc-gateway_opt logtostderr=true \ - --grpc-gateway_opt paths=source_relative \ - $(find "${project_dir}" -maxdepth 1 -name '*.proto') + --grpc-gateway_opt paths=Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types,Mgoogle/protobuf/empty.proto=github.com/gogo/protobuf/types,paths=source_relative \ + --doc_out=./doc \ + --doc_opt=markdown,proto.md \ + $(find "${PROJECT_PROTO_DIR}" -maxdepth 1 -name '*.proto') diff --git a/x/wasm/internal/keeper/genesis_test.go b/x/wasm/internal/keeper/genesis_test.go index 76cc097407..7975594fa6 100644 --- a/x/wasm/internal/keeper/genesis_test.go +++ b/x/wasm/internal/keeper/genesis_test.go @@ -465,7 +465,7 @@ func TestImportContractWithCodeHistoryReset(t *testing.T) { assert.Equal(t, expContractInfo, *gotContractInfo) expHistory := []types.ContractCodeHistoryEntry{{ - Operation: types.ContractCodeHistoryTypeGenesis, + Operation: types.ContractCodeHistoryOperationTypeGenesis, CodeID: firstCodeID, Updated: types.NewAbsoluteTxPosition(ctx), }, diff --git a/x/wasm/internal/keeper/keeper_test.go b/x/wasm/internal/keeper/keeper_test.go index bbb79e54a0..be5d56efb0 100644 --- a/x/wasm/internal/keeper/keeper_test.go +++ b/x/wasm/internal/keeper/keeper_test.go @@ -288,7 +288,7 @@ func TestInstantiate(t *testing.T) { assert.Equal(t, info.Label, "demo contract 1") exp := []types.ContractCodeHistoryEntry{{ - Operation: types.ContractCodeHistoryTypeInit, + Operation: types.ContractCodeHistoryOperationTypeInit, CodeID: codeID, Updated: types.NewAbsoluteTxPosition(ctx), Msg: json.RawMessage(initMsgBz), @@ -850,12 +850,12 @@ func TestMigrate(t *testing.T) { assert.Equal(t, spec.codeID, cInfo.CodeID) expHistory := []types.ContractCodeHistoryEntry{{ - Operation: types.ContractCodeHistoryTypeInit, + Operation: types.ContractCodeHistoryOperationTypeInit, CodeID: originalCodeID, Updated: types.NewAbsoluteTxPosition(ctx), Msg: initMsgBz, }, { - Operation: types.ContractCodeHistoryTypeMigrate, + Operation: types.ContractCodeHistoryOperationTypeMigrate, CodeID: spec.codeID, Updated: types.NewAbsoluteTxPosition(ctx), Msg: spec.migrateMsg, diff --git a/x/wasm/internal/keeper/legacy_querier_test.go b/x/wasm/internal/keeper/legacy_querier_test.go index 81ffea5860..288ff1cd26 100644 --- a/x/wasm/internal/keeper/legacy_querier_test.go +++ b/x/wasm/internal/keeper/legacy_querier_test.go @@ -230,44 +230,44 @@ func TestLegacyQueryContractHistory(t *testing.T) { }{ "response with internal fields cleared": { srcHistory: []types.ContractCodeHistoryEntry{{ - Operation: types.ContractCodeHistoryTypeGenesis, + Operation: types.ContractCodeHistoryOperationTypeGenesis, CodeID: firstCodeID, Updated: types.NewAbsoluteTxPosition(ctx), Msg: []byte(`"init message"`), }}, expContent: []types.ContractCodeHistoryEntry{{ - Operation: types.ContractCodeHistoryTypeGenesis, + Operation: types.ContractCodeHistoryOperationTypeGenesis, CodeID: firstCodeID, Msg: []byte(`"init message"`), }}, }, "response with multiple entries": { srcHistory: []types.ContractCodeHistoryEntry{{ - Operation: types.ContractCodeHistoryTypeInit, + Operation: types.ContractCodeHistoryOperationTypeInit, CodeID: firstCodeID, Updated: types.NewAbsoluteTxPosition(ctx), Msg: []byte(`"init message"`), }, { - Operation: types.ContractCodeHistoryTypeMigrate, + Operation: types.ContractCodeHistoryOperationTypeMigrate, CodeID: 2, Updated: types.NewAbsoluteTxPosition(ctx), Msg: []byte(`"migrate message 1"`), }, { - Operation: types.ContractCodeHistoryTypeMigrate, + Operation: types.ContractCodeHistoryOperationTypeMigrate, CodeID: 3, Updated: types.NewAbsoluteTxPosition(ctx), Msg: []byte(`"migrate message 2"`), }}, expContent: []types.ContractCodeHistoryEntry{{ - Operation: types.ContractCodeHistoryTypeInit, + Operation: types.ContractCodeHistoryOperationTypeInit, CodeID: firstCodeID, Msg: []byte(`"init message"`), }, { - Operation: types.ContractCodeHistoryTypeMigrate, + Operation: types.ContractCodeHistoryOperationTypeMigrate, CodeID: 2, Msg: []byte(`"migrate message 1"`), }, { - Operation: types.ContractCodeHistoryTypeMigrate, + Operation: types.ContractCodeHistoryOperationTypeMigrate, CodeID: 3, Msg: []byte(`"migrate message 2"`), }}, @@ -275,7 +275,7 @@ func TestLegacyQueryContractHistory(t *testing.T) { "unknown contract address": { srcQueryAddr: otherAddr, srcHistory: []types.ContractCodeHistoryEntry{{ - Operation: types.ContractCodeHistoryTypeGenesis, + Operation: types.ContractCodeHistoryOperationTypeGenesis, CodeID: firstCodeID, Updated: types.NewAbsoluteTxPosition(ctx), Msg: []byte(`"init message"`), diff --git a/x/wasm/internal/keeper/proposal_integration_test.go b/x/wasm/internal/keeper/proposal_integration_test.go index 86845037c9..aecb00e83b 100644 --- a/x/wasm/internal/keeper/proposal_integration_test.go +++ b/x/wasm/internal/keeper/proposal_integration_test.go @@ -104,7 +104,7 @@ func TestInstantiateProposal(t *testing.T) { assert.Equal(t, otherAddress, cInfo.Admin) assert.Equal(t, "testing", cInfo.Label) expHistory := []types.ContractCodeHistoryEntry{{ - Operation: types.ContractCodeHistoryTypeInit, + Operation: types.ContractCodeHistoryOperationTypeInit, CodeID: src.CodeID, Updated: types.NewAbsoluteTxPosition(ctx), Msg: src.InitMsg, @@ -175,11 +175,11 @@ func TestMigrateProposal(t *testing.T) { assert.Equal(t, anyAddress, cInfo.Admin) assert.Equal(t, "testing", cInfo.Label) expHistory := []types.ContractCodeHistoryEntry{{ - Operation: types.ContractCodeHistoryTypeGenesis, + Operation: types.ContractCodeHistoryOperationTypeGenesis, CodeID: firstCodeID, Updated: types.NewAbsoluteTxPosition(ctx), }, { - Operation: types.ContractCodeHistoryTypeMigrate, + Operation: types.ContractCodeHistoryOperationTypeMigrate, CodeID: src.CodeID, Updated: types.NewAbsoluteTxPosition(ctx), Msg: src.MigrateMsg, diff --git a/x/wasm/internal/keeper/querier.go b/x/wasm/internal/keeper/querier.go index ed6db7343f..6e7cb0af61 100644 --- a/x/wasm/internal/keeper/querier.go +++ b/x/wasm/internal/keeper/querier.go @@ -7,7 +7,7 @@ import ( "github.com/CosmWasm/wasmd/x/wasm/internal/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/golang/protobuf/ptypes/empty" + prototypes "github.com/gogo/protobuf/types" ) type grpcQuerier struct { @@ -133,7 +133,7 @@ func (q grpcQuerier) Code(c context.Context, req *types.QueryCodeRequest) (*type }, nil } -func (q grpcQuerier) Codes(c context.Context, _ *empty.Empty) (*types.QueryCodesResponse, error) { +func (q grpcQuerier) Codes(c context.Context, _ *prototypes.Empty) (*types.QueryCodesResponse, error) { rsp, err := queryCodeList(sdk.UnwrapSDKContext(c), *q.keeper) switch { case err != nil: diff --git a/x/wasm/internal/keeper/querier_test.go b/x/wasm/internal/keeper/querier_test.go index 7301956dae..771f527e4a 100644 --- a/x/wasm/internal/keeper/querier_test.go +++ b/x/wasm/internal/keeper/querier_test.go @@ -227,44 +227,44 @@ func TestQueryContractHistory(t *testing.T) { }{ "response with internal fields cleared": { srcHistory: []types.ContractCodeHistoryEntry{{ - Operation: types.ContractCodeHistoryTypeGenesis, + Operation: types.ContractCodeHistoryOperationTypeGenesis, CodeID: firstCodeID, Updated: types.NewAbsoluteTxPosition(ctx), Msg: []byte(`"init message"`), }}, expContent: []types.ContractCodeHistoryEntry{{ - Operation: types.ContractCodeHistoryTypeGenesis, + Operation: types.ContractCodeHistoryOperationTypeGenesis, CodeID: firstCodeID, Msg: []byte(`"init message"`), }}, }, "response with multiple entries": { srcHistory: []types.ContractCodeHistoryEntry{{ - Operation: types.ContractCodeHistoryTypeInit, + Operation: types.ContractCodeHistoryOperationTypeInit, CodeID: firstCodeID, Updated: types.NewAbsoluteTxPosition(ctx), Msg: []byte(`"init message"`), }, { - Operation: types.ContractCodeHistoryTypeMigrate, + Operation: types.ContractCodeHistoryOperationTypeMigrate, CodeID: 2, Updated: types.NewAbsoluteTxPosition(ctx), Msg: []byte(`"migrate message 1"`), }, { - Operation: types.ContractCodeHistoryTypeMigrate, + Operation: types.ContractCodeHistoryOperationTypeMigrate, CodeID: 3, Updated: types.NewAbsoluteTxPosition(ctx), Msg: []byte(`"migrate message 2"`), }}, expContent: []types.ContractCodeHistoryEntry{{ - Operation: types.ContractCodeHistoryTypeInit, + Operation: types.ContractCodeHistoryOperationTypeInit, CodeID: firstCodeID, Msg: []byte(`"init message"`), }, { - Operation: types.ContractCodeHistoryTypeMigrate, + Operation: types.ContractCodeHistoryOperationTypeMigrate, CodeID: 2, Msg: []byte(`"migrate message 1"`), }, { - Operation: types.ContractCodeHistoryTypeMigrate, + Operation: types.ContractCodeHistoryOperationTypeMigrate, CodeID: 3, Msg: []byte(`"migrate message 2"`), }}, @@ -272,7 +272,7 @@ func TestQueryContractHistory(t *testing.T) { "unknown contract address": { srcQueryAddr: otherAddr, srcHistory: []types.ContractCodeHistoryEntry{{ - Operation: types.ContractCodeHistoryTypeGenesis, + Operation: types.ContractCodeHistoryOperationTypeGenesis, CodeID: firstCodeID, Updated: types.NewAbsoluteTxPosition(ctx), Msg: []byte(`"init message"`), diff --git a/x/wasm/internal/types/msg.pb.go b/x/wasm/internal/types/msg.pb.go index 06cc98b7ae..e39f7ae21c 100644 --- a/x/wasm/internal/types/msg.pb.go +++ b/x/wasm/internal/types/msg.pb.go @@ -35,7 +35,7 @@ type MsgStoreCode struct { // Builder is a valid docker image name with tag, optional Builder string `protobuf:"bytes,4,opt,name=builder,proto3" json:"builder,omitempty"` // InstantiatePermission to apply on contract creation, optional - InstantiatePermission *AccessConfig `protobuf:"bytes,5,opt,name=InstantiatePermission,proto3" json:"InstantiatePermission,omitempty"` + InstantiatePermission *AccessConfig `protobuf:"bytes,5,opt,name=instantiate_permission,json=instantiatePermission,proto3" json:"instantiate_permission,omitempty"` } func (m *MsgStoreCode) Reset() { *m = MsgStoreCode{} } @@ -283,49 +283,49 @@ func init() { func init() { proto.RegisterFile("x/wasm/internal/types/msg.proto", fileDescriptor_22c4d58a052e9e95) } var fileDescriptor_22c4d58a052e9e95 = []byte{ - // 657 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x95, 0xcf, 0x4e, 0xdb, 0x40, - 0x10, 0xc6, 0x63, 0x42, 0x02, 0x2c, 0x29, 0xaa, 0x2c, 0x40, 0x2e, 0xaa, 0xec, 0x34, 0x5c, 0x72, - 0xc1, 0x06, 0x2a, 0xb5, 0xa7, 0x1e, 0x12, 0xf7, 0x8f, 0x72, 0x30, 0xaa, 0x8c, 0x2a, 0xd4, 0x5e, - 0xa2, 0xb5, 0x77, 0xd9, 0x2e, 0x8d, 0x77, 0x91, 0x67, 0xd3, 0x84, 0x77, 0xe8, 0xa1, 0xea, 0x03, - 0xf4, 0xde, 0x3e, 0x09, 0xea, 0x89, 0x63, 0x4f, 0x69, 0x1b, 0xde, 0x82, 0x53, 0xb5, 0xb6, 0x41, - 0x54, 0xca, 0x21, 0x82, 0x70, 0xe8, 0x25, 0x9b, 0xd1, 0x7c, 0xf3, 0xcd, 0xec, 0xcf, 0x6b, 0x2f, - 0x72, 0x86, 0xde, 0x00, 0x43, 0xe2, 0x71, 0xa1, 0x68, 0x2a, 0x70, 0xcf, 0x53, 0x27, 0xc7, 0x14, - 0xbc, 0x04, 0x98, 0x7b, 0x9c, 0x4a, 0x25, 0xcd, 0x35, 0x9d, 0x26, 0xee, 0xd0, 0xcd, 0xd7, 0x8f, - 0x3b, 0x11, 0x55, 0x78, 0x67, 0x63, 0x95, 0x49, 0x26, 0x33, 0x85, 0xa7, 0xff, 0xe5, 0xe2, 0x0d, - 0x3b, 0x96, 0x90, 0x48, 0xf0, 0x22, 0x0c, 0xd4, 0x2b, 0xa4, 0x5e, 0x2c, 0xb9, 0x28, 0xf2, 0x8f, - 0x26, 0x77, 0xcb, 0x7e, 0x73, 0x49, 0xe3, 0xeb, 0x1c, 0xaa, 0x05, 0xc0, 0xf6, 0x95, 0x4c, 0xa9, - 0x2f, 0x09, 0x35, 0x3b, 0xa8, 0x0a, 0x54, 0x10, 0x9a, 0x5a, 0x46, 0xdd, 0x68, 0xd6, 0xda, 0x3b, - 0x17, 0x23, 0x67, 0x8b, 0x71, 0xf5, 0xbe, 0x1f, 0xb9, 0xb1, 0x4c, 0xbc, 0xa2, 0x65, 0xbe, 0x6c, - 0x01, 0xf9, 0x50, 0xd8, 0xb5, 0xe2, 0xb8, 0x45, 0x48, 0x4a, 0x01, 0xc2, 0xc2, 0xc0, 0x7c, 0x82, - 0x56, 0x74, 0xfb, 0x6e, 0x74, 0xa2, 0x68, 0x37, 0x96, 0x84, 0x5a, 0x73, 0x99, 0xe5, 0xfd, 0xf1, - 0xc8, 0xa9, 0x1d, 0xb4, 0xf6, 0x83, 0xf6, 0x89, 0xca, 0x9a, 0x86, 0x35, 0xad, 0xbb, 0x8c, 0xcc, - 0x75, 0x54, 0x05, 0xd9, 0x4f, 0x63, 0x6a, 0x95, 0xeb, 0x46, 0x73, 0x29, 0x2c, 0x22, 0xd3, 0x42, - 0x0b, 0x51, 0x9f, 0xf7, 0xf4, 0x6c, 0xf3, 0x59, 0xe2, 0x32, 0x34, 0xdf, 0xa2, 0xb5, 0x8e, 0x00, - 0x85, 0x85, 0xe2, 0x58, 0xd1, 0xd7, 0x34, 0x4d, 0x38, 0x00, 0x97, 0xc2, 0xaa, 0xd4, 0x8d, 0xe6, - 0xf2, 0xee, 0xa6, 0x3b, 0x91, 0xaa, 0x9e, 0x99, 0x02, 0xf8, 0x52, 0x1c, 0x72, 0x16, 0x4e, 0x76, - 0x68, 0x7c, 0x2a, 0xa3, 0xf5, 0x00, 0xd8, 0xb5, 0xa4, 0x2f, 0x85, 0x4a, 0x71, 0xac, 0x66, 0x89, - 0xea, 0x15, 0xaa, 0x60, 0x92, 0x70, 0x51, 0x10, 0xba, 0x81, 0x53, 0x5e, 0x6f, 0x6e, 0xa2, 0x05, - 0x4d, 0xba, 0xcb, 0x49, 0x06, 0x6f, 0xbe, 0x8d, 0xc6, 0x23, 0xa7, 0xaa, 0xb1, 0x76, 0x9e, 0x87, - 0x55, 0x9d, 0xea, 0x10, 0x73, 0x15, 0x55, 0x7a, 0x38, 0xa2, 0xbd, 0x02, 0x63, 0x1e, 0x98, 0x4f, - 0xd1, 0x22, 0x17, 0x5c, 0x75, 0x13, 0x60, 0x19, 0xb7, 0x5a, 0xfb, 0xe1, 0xc5, 0xc8, 0xb1, 0xa8, - 0x88, 0x25, 0xe1, 0x82, 0x79, 0x47, 0x20, 0x85, 0x1b, 0xe2, 0x41, 0x40, 0x01, 0x30, 0xa3, 0xe1, - 0x82, 0x56, 0x07, 0xc0, 0xcc, 0x23, 0x84, 0xb2, 0xc2, 0xc3, 0xbe, 0x20, 0x60, 0x55, 0xeb, 0xe5, - 0xe6, 0xf2, 0xee, 0x03, 0x37, 0x1f, 0xd6, 0xd5, 0x67, 0xf3, 0x0a, 0xb8, 0x2f, 0xb9, 0x68, 0x6f, - 0x9f, 0x8e, 0x9c, 0xd2, 0xf7, 0x5f, 0x4e, 0x73, 0x8a, 0x0d, 0xea, 0x02, 0x08, 0x97, 0xb4, 0xfd, - 0x4b, 0xed, 0xde, 0xf8, 0x31, 0x87, 0xcc, 0x00, 0xd8, 0x8b, 0x21, 0x8d, 0xfb, 0x77, 0xf3, 0x28, - 0x02, 0xb4, 0x18, 0x17, 0xb6, 0x37, 0x7f, 0x1a, 0x57, 0x16, 0xa6, 0x8b, 0xca, 0x1a, 0x68, 0x79, - 0x0a, 0xa0, 0x5a, 0xa8, 0x61, 0x02, 0x15, 0x97, 0x30, 0x2b, 0x77, 0x00, 0x53, 0xdb, 0xe7, 0x30, - 0xbf, 0xe4, 0x30, 0x03, 0xce, 0x52, 0xfc, 0x5f, 0xc0, 0x9c, 0xea, 0x74, 0x3f, 0x43, 0xcb, 0x49, - 0xbe, 0xa3, 0xec, 0x28, 0xcf, 0x4f, 0x41, 0x1e, 0x15, 0x05, 0x01, 0xb0, 0xc6, 0x85, 0x81, 0x56, - 0x02, 0x60, 0x6f, 0x8e, 0x09, 0x56, 0xb4, 0x95, 0xbd, 0x54, 0x33, 0x04, 0xb2, 0x87, 0x96, 0x04, - 0x1d, 0x74, 0x6f, 0xf9, 0xb2, 0x2f, 0x0a, 0x3a, 0xc8, 0x47, 0xbb, 0x0e, 0xb8, 0x7c, 0x6b, 0xc0, - 0x8d, 0x6f, 0x06, 0xba, 0x17, 0x00, 0xf3, 0x7b, 0x14, 0xa7, 0x33, 0xdf, 0xfb, 0x6c, 0x67, 0x6d, - 0xef, 0x9d, 0xfe, 0xb1, 0x4b, 0xa7, 0x63, 0xdb, 0x38, 0x1b, 0xdb, 0xc6, 0xef, 0xb1, 0x6d, 0x7c, - 0x3e, 0xb7, 0x4b, 0x67, 0xe7, 0x76, 0xe9, 0xe7, 0xb9, 0x5d, 0x7a, 0xb7, 0x7d, 0xcd, 0xd6, 0x97, - 0x90, 0x1c, 0xe8, 0x8b, 0x30, 0xfb, 0xfc, 0x7b, 0xc3, 0x62, 0xfd, 0xf7, 0x5a, 0x8c, 0xaa, 0xd9, - 0x8d, 0xf8, 0xf8, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6e, 0x01, 0x83, 0x2a, 0xa4, 0x07, 0x00, - 0x00, + // 663 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x95, 0xcf, 0x4e, 0xdb, 0x4e, + 0x10, 0xc7, 0x63, 0x42, 0x02, 0x2c, 0xf9, 0xa1, 0x9f, 0x2c, 0x40, 0x2e, 0xaa, 0xec, 0x34, 0x5c, + 0x72, 0xc1, 0x06, 0x2a, 0xb5, 0xa7, 0x1e, 0x92, 0xf4, 0x8f, 0x72, 0x30, 0xaa, 0x8c, 0x2a, 0x24, + 0x2e, 0xd6, 0xda, 0xbb, 0x6c, 0x97, 0xc6, 0xbb, 0x91, 0x67, 0xd3, 0x84, 0x77, 0xe8, 0xa1, 0xea, + 0x0b, 0xf4, 0xdc, 0x3e, 0x09, 0xea, 0x89, 0x63, 0x4f, 0x69, 0x1b, 0xde, 0x82, 0x53, 0xb5, 0xb6, + 0xa1, 0x54, 0xe2, 0x10, 0x41, 0x38, 0xf4, 0x92, 0xcd, 0x68, 0xbe, 0xf3, 0x9d, 0xd9, 0x8f, 0xd7, + 0x5e, 0xe4, 0x8c, 0xbc, 0x21, 0x86, 0xc4, 0xe3, 0x42, 0xd1, 0x54, 0xe0, 0x9e, 0xa7, 0x4e, 0xfa, + 0x14, 0xbc, 0x04, 0x98, 0xdb, 0x4f, 0xa5, 0x92, 0xe6, 0x9a, 0x4e, 0x13, 0x77, 0xe4, 0xe6, 0xeb, + 0xfb, 0x9d, 0x88, 0x2a, 0xbc, 0xb3, 0xb1, 0xca, 0x24, 0x93, 0x99, 0xc2, 0xd3, 0xff, 0x72, 0xf1, + 0x86, 0x1d, 0x4b, 0x48, 0x24, 0x78, 0x11, 0x06, 0xea, 0x15, 0x52, 0x2f, 0x96, 0x5c, 0x14, 0xf9, + 0x47, 0x37, 0x77, 0xcb, 0x7e, 0x73, 0x49, 0xe3, 0xf3, 0x1c, 0xaa, 0xf9, 0xc0, 0xf6, 0x95, 0x4c, + 0x69, 0x47, 0x12, 0x6a, 0x76, 0x51, 0x15, 0xa8, 0x20, 0x34, 0xb5, 0x8c, 0xba, 0xd1, 0xac, 0xb5, + 0x77, 0x2e, 0xc6, 0xce, 0x16, 0xe3, 0xea, 0xed, 0x20, 0x72, 0x63, 0x99, 0x78, 0x45, 0xcb, 0x7c, + 0xd9, 0x02, 0xf2, 0xae, 0xb0, 0x6b, 0xc5, 0x71, 0x8b, 0x90, 0x94, 0x02, 0x04, 0x85, 0x81, 0xf9, + 0x04, 0xad, 0xe8, 0xf6, 0x61, 0x74, 0xa2, 0x68, 0x18, 0x4b, 0x42, 0xad, 0xb9, 0xcc, 0xf2, 0xff, + 0xc9, 0xd8, 0xa9, 0x1d, 0xb4, 0xf6, 0xfd, 0xf6, 0x89, 0xca, 0x9a, 0x06, 0x35, 0xad, 0xbb, 0x8c, + 0xcc, 0x75, 0x54, 0x05, 0x39, 0x48, 0x63, 0x6a, 0x95, 0xeb, 0x46, 0x73, 0x29, 0x28, 0x22, 0xd3, + 0x42, 0x0b, 0xd1, 0x80, 0xf7, 0xf4, 0x6c, 0xf3, 0x59, 0xe2, 0x32, 0x34, 0x0f, 0xd1, 0x3a, 0x17, + 0xa0, 0xb0, 0x50, 0x1c, 0x2b, 0x1a, 0xf6, 0x69, 0x9a, 0x70, 0x00, 0x2e, 0x85, 0x55, 0xa9, 0x1b, + 0xcd, 0xe5, 0xdd, 0x4d, 0xf7, 0x46, 0xac, 0x7a, 0x68, 0x0a, 0xd0, 0x91, 0xe2, 0x88, 0xb3, 0x60, + 0xed, 0x9a, 0xc5, 0xeb, 0x2b, 0x87, 0xc6, 0x87, 0x32, 0x5a, 0xf7, 0x81, 0x75, 0xff, 0x24, 0x3b, + 0x52, 0xa8, 0x14, 0xc7, 0x6a, 0x96, 0xac, 0x5e, 0xa1, 0x0a, 0x26, 0x09, 0x17, 0x05, 0xa2, 0x5b, + 0x38, 0xe5, 0xf5, 0xe6, 0x26, 0x5a, 0xd0, 0xa8, 0x43, 0x4e, 0x32, 0x7a, 0xf3, 0x6d, 0x34, 0x19, + 0x3b, 0x55, 0xcd, 0xb5, 0xfb, 0x3c, 0xa8, 0xea, 0x54, 0x97, 0x98, 0xab, 0xa8, 0xd2, 0xc3, 0x11, + 0xed, 0x15, 0x1c, 0xf3, 0xc0, 0x7c, 0x8a, 0x16, 0xb9, 0xe0, 0x2a, 0x4c, 0x80, 0x65, 0xdc, 0x6a, + 0xed, 0x87, 0x17, 0x63, 0xc7, 0xa2, 0x22, 0x96, 0x84, 0x0b, 0xe6, 0x1d, 0x83, 0x14, 0x6e, 0x80, + 0x87, 0x3e, 0x05, 0xc0, 0x8c, 0x06, 0x0b, 0x5a, 0xed, 0x03, 0x33, 0x8f, 0x11, 0xca, 0x0a, 0x8f, + 0x06, 0x82, 0x80, 0x55, 0xad, 0x97, 0x9b, 0xcb, 0xbb, 0x0f, 0xdc, 0x7c, 0x58, 0x57, 0x1f, 0xce, + 0x2b, 0xe0, 0x1d, 0xc9, 0x45, 0x7b, 0xfb, 0x74, 0xec, 0x94, 0xbe, 0xfe, 0x70, 0x9a, 0x53, 0x6c, + 0x50, 0x17, 0x40, 0xb0, 0xa4, 0xed, 0x5f, 0x6a, 0xf7, 0xc6, 0xb7, 0x39, 0x64, 0xfa, 0xc0, 0x5e, + 0x8c, 0x68, 0x3c, 0xb8, 0x9f, 0x47, 0xe1, 0xa3, 0xc5, 0xb8, 0xb0, 0xbd, 0xfd, 0xd3, 0xb8, 0xb2, + 0x30, 0x5d, 0x54, 0xd6, 0x40, 0xcb, 0x53, 0x00, 0xd5, 0x42, 0x0d, 0x13, 0xa8, 0xb8, 0x84, 0x59, + 0xb9, 0x07, 0x98, 0xda, 0x3e, 0x87, 0xf9, 0x29, 0x87, 0xe9, 0x73, 0x96, 0xe2, 0x7f, 0x02, 0xe6, + 0x54, 0xa7, 0xfb, 0x19, 0x5a, 0x4e, 0xf2, 0x1d, 0x65, 0x47, 0x79, 0x7e, 0x0a, 0xf2, 0xa8, 0x28, + 0xf0, 0x81, 0x35, 0x2e, 0x0c, 0xb4, 0xe2, 0x03, 0x7b, 0xd3, 0x27, 0x58, 0xd1, 0x56, 0xf6, 0x52, + 0xcd, 0x10, 0xc8, 0x1e, 0x5a, 0x12, 0x74, 0x18, 0xde, 0xf1, 0x65, 0x5f, 0x14, 0x74, 0x98, 0x8f, + 0x76, 0x1d, 0x70, 0xf9, 0xce, 0x80, 0x1b, 0x5f, 0x0c, 0xf4, 0x9f, 0x0f, 0xac, 0xd3, 0xa3, 0x38, + 0x9d, 0xf9, 0xde, 0x67, 0x3b, 0x6b, 0x7b, 0xef, 0xf4, 0x97, 0x5d, 0x3a, 0x9d, 0xd8, 0xc6, 0xd9, + 0xc4, 0x36, 0x7e, 0x4e, 0x6c, 0xe3, 0xe3, 0xb9, 0x5d, 0x3a, 0x3b, 0xb7, 0x4b, 0xdf, 0xcf, 0xed, + 0xd2, 0xe1, 0xf6, 0x35, 0xdb, 0x8e, 0x84, 0xe4, 0x40, 0xdf, 0x84, 0xd9, 0xe7, 0xdf, 0x1b, 0x15, + 0xeb, 0xdf, 0xf7, 0x62, 0x54, 0xcd, 0xae, 0xc4, 0xc7, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x86, + 0xec, 0xce, 0x81, 0xa5, 0x07, 0x00, 0x00, } func (m *MsgStoreCode) Marshal() (dAtA []byte, err error) { diff --git a/x/wasm/internal/types/msg.proto b/x/wasm/internal/types/msg.proto index c6101a71bd..87f994eacf 100644 --- a/x/wasm/internal/types/msg.proto +++ b/x/wasm/internal/types/msg.proto @@ -19,7 +19,7 @@ message MsgStoreCode { // Builder is a valid docker image name with tag, optional string builder = 4; // InstantiatePermission to apply on contract creation, optional - AccessConfig InstantiatePermission = 5; + AccessConfig instantiate_permission = 5; } message MsgInstantiateContract { diff --git a/x/wasm/internal/types/params.go b/x/wasm/internal/types/params.go index fa8da65495..6c7de1d633 100644 --- a/x/wasm/internal/types/params.go +++ b/x/wasm/internal/types/params.go @@ -53,7 +53,7 @@ func (a AccessType) String() string { case AccessTypeEverybody: return "Everybody" } - return "Undefined" + return "Unspecified" } func (a *AccessType) UnmarshalText(text []byte) error { @@ -63,7 +63,7 @@ func (a *AccessType) UnmarshalText(text []byte) error { return nil } } - *a = AccessTypeUndefined + *a = AccessTypeUnspecified return nil } func (a AccessType) MarshalText() ([]byte, error) { @@ -143,7 +143,7 @@ func validateAccessType(i interface{}) error { if !ok { return fmt.Errorf("invalid parameter type: %T", i) } - if a == AccessTypeUndefined { + if a == AccessTypeUnspecified { return sdkerrors.Wrap(ErrEmpty, "type") } for _, v := range AllAccessTypes { @@ -167,7 +167,7 @@ func validateMaxWasmCodeSize(i interface{}) error { func (v AccessConfig) ValidateBasic() error { switch v.Permission { - case AccessTypeUndefined: + case AccessTypeUnspecified: return sdkerrors.Wrap(ErrEmpty, "type") case AccessTypeNobody, AccessTypeEverybody: if len(v.Address) != 0 { diff --git a/x/wasm/internal/types/params_test.go b/x/wasm/internal/types/params_test.go index f42126be5f..abbe8b2cd1 100644 --- a/x/wasm/internal/types/params_test.go +++ b/x/wasm/internal/types/params_test.go @@ -93,7 +93,7 @@ func TestValidateParams(t *testing.T) { }, "reject undefined permission in CodeUploadAccess": { src: Params{ - CodeUploadAccess: AccessConfig{Permission: AccessTypeUndefined}, + CodeUploadAccess: AccessConfig{Permission: AccessTypeUnspecified}, InstantiateDefaultPermission: AccessTypeOnlyAddress, MaxWasmCodeSize: DefaultMaxWasmCodeSize, }, @@ -124,11 +124,11 @@ func TestAccessTypeMarshalJson(t *testing.T) { src AccessType exp string }{ - "Undefined": {src: AccessTypeUndefined, exp: `"Undefined"`}, + "Unspecified": {src: AccessTypeUnspecified, exp: `"Unspecified"`}, "Nobody": {src: AccessTypeNobody, exp: `"Nobody"`}, "OnlyAddress": {src: AccessTypeOnlyAddress, exp: `"OnlyAddress"`}, "Everybody": {src: AccessTypeEverybody, exp: `"Everybody"`}, - "unknown": {src: 999, exp: `"Undefined"`}, + "unknown": {src: 999, exp: `"Unspecified"`}, } for msg, spec := range specs { t.Run(msg, func(t *testing.T) { @@ -144,11 +144,11 @@ func TestAccessTypeUnmarshalJson(t *testing.T) { src string exp AccessType }{ - "Undefined": {src: `"Undefined"`, exp: AccessTypeUndefined}, + "Unspecified": {src: `"Unspecified"`, exp: AccessTypeUnspecified}, "Nobody": {src: `"Nobody"`, exp: AccessTypeNobody}, "OnlyAddress": {src: `"OnlyAddress"`, exp: AccessTypeOnlyAddress}, "Everybody": {src: `"Everybody"`, exp: AccessTypeEverybody}, - "unknown": {src: `""`, exp: AccessTypeUndefined}, + "unknown": {src: `""`, exp: AccessTypeUnspecified}, } for msg, spec := range specs { t.Run(msg, func(t *testing.T) { diff --git a/x/wasm/internal/types/proposal.pb.go b/x/wasm/internal/types/proposal.pb.go index 6c084e445f..abc83e0a12 100644 --- a/x/wasm/internal/types/proposal.pb.go +++ b/x/wasm/internal/types/proposal.pb.go @@ -39,7 +39,7 @@ type StoreCodeProposal struct { // Builder is a valid docker image name with tag, optional Builder string `protobuf:"bytes,6,opt,name=builder,proto3" json:"builder,omitempty"` // InstantiatePermission to apply on contract creation, optional - InstantiatePermission *AccessConfig `protobuf:"bytes,7,opt,name=InstantiatePermission,proto3" json:"InstantiatePermission,omitempty"` + InstantiatePermission *AccessConfig `protobuf:"bytes,7,opt,name=instantiate_permission,json=instantiatePermission,proto3" json:"instantiate_permission,omitempty"` } func (m *StoreCodeProposal) Reset() { *m = StoreCodeProposal{} } @@ -255,50 +255,50 @@ func init() { } var fileDescriptor_00b43267813130fb = []byte{ - // 679 bytes of a gzipped FileDescriptorProto + // 684 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x55, 0xcd, 0x4e, 0xdb, 0x4a, - 0x18, 0x8d, 0x13, 0x92, 0xc0, 0x24, 0xba, 0xe2, 0xfa, 0xc2, 0xbd, 0xbe, 0xb4, 0xb2, 0x53, 0xd3, - 0x45, 0x36, 0xd8, 0x40, 0xa5, 0x56, 0xaa, 0xd4, 0x45, 0x92, 0xfe, 0xb1, 0x88, 0x84, 0x8c, 0x5a, - 0xd4, 0x6e, 0xa2, 0xb1, 0x67, 0x70, 0x87, 0xda, 0x33, 0xd1, 0xcc, 0xa4, 0x21, 0xbb, 0x3e, 0x42, - 0xf7, 0x7d, 0x81, 0xaa, 0x4f, 0x92, 0x55, 0xc5, 0x12, 0x75, 0x91, 0x96, 0xf0, 0x06, 0x5d, 0xb2, - 0xaa, 0x66, 0x6c, 0x50, 0x2a, 0xb1, 0x40, 0xc0, 0x82, 0x4d, 0x26, 0x5f, 0xbe, 0xf3, 0x9d, 0x9c, - 0x39, 0x67, 0xec, 0x01, 0xf7, 0x0f, 0xfc, 0x21, 0x14, 0xa9, 0x4f, 0xa8, 0xc4, 0x9c, 0xc2, 0xc4, - 0x97, 0xa3, 0x3e, 0x16, 0x7e, 0x9f, 0xb3, 0x3e, 0x13, 0x30, 0xf1, 0xfa, 0x9c, 0x49, 0x66, 0x2e, - 0x2b, 0x0c, 0xf2, 0x0e, 0xbc, 0x6c, 0xfd, 0xb0, 0x11, 0x62, 0x09, 0x37, 0x56, 0x96, 0x62, 0x16, - 0x33, 0x8d, 0xf0, 0xd5, 0xb7, 0x0c, 0xbc, 0x62, 0x47, 0x4c, 0xa4, 0x4c, 0xf8, 0x21, 0x14, 0xd8, - 0xcf, 0xa1, 0x7e, 0xc4, 0x08, 0xcd, 0xfb, 0xf7, 0x2e, 0xfe, 0x4b, 0xfd, 0x99, 0x41, 0xdc, 0xef, - 0x45, 0xf0, 0xf7, 0x8e, 0x64, 0x1c, 0x77, 0x18, 0xc2, 0xdb, 0xb9, 0x16, 0x73, 0x09, 0x94, 0x25, - 0x91, 0x09, 0xb6, 0x8c, 0x86, 0xd1, 0x5c, 0x08, 0xb2, 0xc2, 0x6c, 0x80, 0x1a, 0xc2, 0x22, 0xe2, - 0xa4, 0x2f, 0x09, 0xa3, 0x56, 0x51, 0xf7, 0x66, 0x7f, 0x32, 0x5f, 0x82, 0x0a, 0x1f, 0xd0, 0x1e, - 0x14, 0x56, 0xa9, 0x61, 0x34, 0xeb, 0xed, 0x8d, 0xd3, 0x89, 0xb3, 0x16, 0x13, 0xf9, 0x6e, 0x10, - 0x7a, 0x11, 0x4b, 0xfd, 0x5c, 0x6f, 0xb6, 0xac, 0x09, 0xf4, 0x3e, 0xd7, 0xd2, 0x8a, 0xa2, 0x16, - 0x42, 0x1c, 0x0b, 0x11, 0x94, 0xf9, 0x80, 0xb6, 0x84, 0xf9, 0x10, 0xfc, 0xa5, 0xa4, 0xf7, 0xc2, - 0x91, 0xc4, 0xbd, 0x88, 0x21, 0x6c, 0xcd, 0x69, 0xc6, 0xc5, 0xe9, 0xc4, 0xa9, 0xef, 0xb6, 0x76, - 0xba, 0xed, 0x91, 0xd4, 0x9a, 0x83, 0xba, 0xc2, 0x9d, 0x55, 0xe6, 0xbf, 0xa0, 0x22, 0xd8, 0x80, - 0x47, 0xd8, 0x2a, 0x6b, 0x79, 0x79, 0x65, 0x5a, 0xa0, 0x1a, 0x0e, 0x48, 0x82, 0x30, 0xb7, 0x2a, - 0xba, 0x71, 0x56, 0x9a, 0x6f, 0xc0, 0xf2, 0x16, 0x15, 0x12, 0x52, 0x49, 0xa0, 0xc4, 0xdb, 0x98, - 0xa7, 0x44, 0x08, 0xb5, 0xbf, 0x6a, 0xc3, 0x68, 0xd6, 0x36, 0x57, 0xbd, 0x0b, 0x13, 0x51, 0x92, - 0xb1, 0x10, 0x1d, 0x46, 0xf7, 0x48, 0x1c, 0x5c, 0xcc, 0xe0, 0x8e, 0x4b, 0xe0, 0xce, 0x4c, 0xa7, - 0xc3, 0xa8, 0xe4, 0x30, 0x92, 0xb7, 0xc8, 0xe6, 0x17, 0xa0, 0x0c, 0x51, 0x4a, 0x68, 0xee, 0xee, - 0x55, 0x88, 0xf4, 0xbc, 0xb9, 0x0a, 0xaa, 0x2a, 0xa5, 0x1e, 0x41, 0xda, 0xf8, 0xb9, 0x36, 0x98, - 0x4e, 0x9c, 0x8a, 0x8a, 0x64, 0xeb, 0x69, 0x50, 0x51, 0xad, 0x2d, 0xa4, 0xf6, 0x9b, 0xc0, 0x10, - 0x27, 0x79, 0x04, 0x59, 0x61, 0x3e, 0x02, 0xf3, 0x84, 0x12, 0xd9, 0x4b, 0x45, 0xac, 0x3d, 0xaf, - 0xb7, 0xef, 0x9e, 0x4e, 0x1c, 0x0b, 0xd3, 0x88, 0x21, 0x42, 0x63, 0x7f, 0x5f, 0x30, 0xea, 0x05, - 0x70, 0xd8, 0xc5, 0x42, 0xc0, 0x18, 0x07, 0x55, 0x85, 0xee, 0x8a, 0xd8, 0xdc, 0x07, 0x40, 0x0f, - 0xee, 0x0d, 0x28, 0x12, 0xd6, 0x7c, 0xa3, 0xd4, 0xac, 0x6d, 0xfe, 0xef, 0x65, 0x62, 0x3d, 0xf5, - 0x4c, 0x9c, 0x87, 0xd5, 0x61, 0x84, 0xb6, 0xd7, 0xc7, 0x13, 0xa7, 0xf0, 0xf5, 0x87, 0xd3, 0xbc, - 0xc4, 0x06, 0xd5, 0x80, 0x08, 0x16, 0x14, 0xfd, 0x73, 0xc5, 0xee, 0x7e, 0x2b, 0x82, 0xff, 0xba, - 0x24, 0xe6, 0xb7, 0x33, 0xc6, 0x2e, 0x98, 0x8f, 0x72, 0x55, 0x57, 0x4f, 0xf2, 0x9c, 0xe2, 0x72, - 0x61, 0x3e, 0x01, 0xb5, 0x34, 0x33, 0x44, 0x27, 0x57, 0xb9, 0x44, 0x72, 0x20, 0x1f, 0xe8, 0x8a, - 0xd8, 0xfd, 0x58, 0x04, 0xff, 0xbc, 0xea, 0x23, 0x28, 0x71, 0x4b, 0x1d, 0xa0, 0x6b, 0x9b, 0x19, - 0x82, 0x05, 0x8a, 0x87, 0xbd, 0xec, 0x34, 0x67, 0x7e, 0x3e, 0xfb, 0x35, 0x71, 0x16, 0x47, 0x30, - 0x4d, 0x1e, 0xbb, 0xe7, 0x2d, 0xf7, 0x0a, 0xbe, 0x50, 0x3c, 0xd4, 0x1a, 0x6f, 0xd8, 0x66, 0xf7, - 0xb3, 0x01, 0xcc, 0x4e, 0x82, 0x21, 0xbf, 0x19, 0x07, 0x66, 0xd5, 0x95, 0xae, 0xad, 0xae, 0xfd, - 0x7a, 0x7c, 0x6c, 0x17, 0x8e, 0x8e, 0xed, 0xc2, 0x97, 0xa9, 0x6d, 0x8c, 0xa7, 0xb6, 0x71, 0x38, - 0xb5, 0x8d, 0x9f, 0x53, 0xdb, 0xf8, 0x74, 0x62, 0x17, 0x0e, 0x4f, 0xec, 0xc2, 0xd1, 0x89, 0x5d, - 0x78, 0xbb, 0x3e, 0x43, 0xdf, 0x61, 0x22, 0xdd, 0x55, 0xf7, 0x8d, 0x7e, 0x53, 0xfa, 0x07, 0xf9, - 0xfa, 0xe7, 0xed, 0x13, 0x56, 0xf4, 0xc5, 0xf3, 0xe0, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd4, - 0xce, 0x48, 0x5a, 0x10, 0x07, 0x00, 0x00, + 0x18, 0x8d, 0x13, 0x92, 0xc0, 0x24, 0xba, 0xe2, 0xfa, 0x02, 0xd7, 0x97, 0x5b, 0x39, 0x69, 0xe8, + 0x22, 0x1b, 0x6c, 0xa0, 0x52, 0x2b, 0x55, 0xea, 0x22, 0x49, 0xff, 0x58, 0x44, 0x42, 0x46, 0x2d, + 0x12, 0x9b, 0x68, 0xec, 0x19, 0xdc, 0xa1, 0xf6, 0x8c, 0x35, 0x33, 0x69, 0xc8, 0xae, 0x8f, 0xd0, + 0x7d, 0x5f, 0xa0, 0xea, 0x93, 0x64, 0x55, 0xb1, 0x44, 0xaa, 0x94, 0x96, 0xf0, 0x06, 0x5d, 0xb2, + 0xaa, 0x66, 0x6c, 0xd2, 0x54, 0x62, 0x81, 0x80, 0x05, 0x9b, 0x4c, 0xbe, 0x7c, 0xe7, 0x3b, 0x39, + 0x73, 0xce, 0xd8, 0x03, 0x1e, 0x1c, 0xb9, 0x03, 0x28, 0x62, 0x97, 0x50, 0x89, 0x39, 0x85, 0x91, + 0x2b, 0x87, 0x09, 0x16, 0x6e, 0xc2, 0x59, 0xc2, 0x04, 0x8c, 0x9c, 0x84, 0x33, 0xc9, 0xcc, 0x65, + 0x85, 0x41, 0xce, 0x91, 0x93, 0xae, 0xef, 0x37, 0x7d, 0x2c, 0xe1, 0xe6, 0xea, 0x52, 0xc8, 0x42, + 0xa6, 0x11, 0xae, 0xfa, 0x96, 0x82, 0x57, 0xed, 0x80, 0x89, 0x98, 0x09, 0xd7, 0x87, 0x02, 0xbb, + 0x19, 0xd4, 0x0d, 0x18, 0xa1, 0x59, 0xff, 0xfe, 0xe5, 0x7f, 0xa9, 0x3f, 0x53, 0x48, 0xe3, 0x5b, + 0x1e, 0xfc, 0xbd, 0x2b, 0x19, 0xc7, 0x1d, 0x86, 0xf0, 0x4e, 0xa6, 0xc5, 0x5c, 0x02, 0x45, 0x49, + 0x64, 0x84, 0x2d, 0xa3, 0x6e, 0x34, 0x17, 0xbc, 0xb4, 0x30, 0xeb, 0xa0, 0x82, 0xb0, 0x08, 0x38, + 0x49, 0x24, 0x61, 0xd4, 0xca, 0xeb, 0xde, 0xec, 0x4f, 0xe6, 0x2b, 0x50, 0xe2, 0x7d, 0xda, 0x83, + 0xc2, 0x2a, 0xd4, 0x8d, 0x66, 0xb5, 0xbd, 0x79, 0x3e, 0xae, 0xad, 0x87, 0x44, 0xbe, 0xed, 0xfb, + 0x4e, 0xc0, 0x62, 0x37, 0xd3, 0x9b, 0x2e, 0xeb, 0x02, 0xbd, 0xcb, 0xb4, 0xb4, 0x82, 0xa0, 0x85, + 0x10, 0xc7, 0x42, 0x78, 0x45, 0xde, 0xa7, 0x2d, 0x61, 0x3e, 0x02, 0x7f, 0x29, 0xe9, 0x3d, 0x7f, + 0x28, 0x71, 0x2f, 0x60, 0x08, 0x5b, 0x73, 0x9a, 0x71, 0x71, 0x32, 0xae, 0x55, 0xf7, 0x5a, 0xbb, + 0xdd, 0xf6, 0x50, 0x6a, 0xcd, 0x5e, 0x55, 0xe1, 0x2e, 0x2a, 0x73, 0x05, 0x94, 0x04, 0xeb, 0xf3, + 0x00, 0x5b, 0x45, 0x2d, 0x2f, 0xab, 0x4c, 0x0b, 0x94, 0xfd, 0x3e, 0x89, 0x10, 0xe6, 0x56, 0x49, + 0x37, 0x2e, 0x4a, 0x73, 0x1f, 0xac, 0x10, 0x2a, 0x24, 0xa4, 0x92, 0x40, 0x89, 0x7b, 0x09, 0xe6, + 0x31, 0x11, 0x42, 0x6d, 0xb0, 0x5c, 0x37, 0x9a, 0x95, 0xad, 0x35, 0xe7, 0xd2, 0x48, 0x94, 0x66, + 0x2c, 0x44, 0x87, 0xd1, 0x03, 0x12, 0x7a, 0xcb, 0x33, 0x14, 0x3b, 0x53, 0x86, 0xc6, 0xa8, 0x00, + 0xfe, 0xdf, 0xfe, 0xdd, 0xe9, 0x30, 0x2a, 0x39, 0x0c, 0xe4, 0x1d, 0xf2, 0xf9, 0x25, 0x28, 0x42, + 0x14, 0x13, 0x9a, 0xd9, 0x7b, 0x1d, 0x22, 0x3d, 0x6f, 0xae, 0x81, 0xb2, 0x8a, 0xa9, 0x47, 0x90, + 0x76, 0x7e, 0xae, 0x0d, 0x26, 0xe3, 0x5a, 0x49, 0x65, 0xb2, 0xfd, 0xcc, 0x2b, 0xa9, 0xd6, 0x36, + 0x52, 0xfb, 0x8d, 0xa0, 0x8f, 0xa3, 0x2c, 0x83, 0xb4, 0x30, 0x1f, 0x83, 0x79, 0x42, 0x89, 0xec, + 0xc5, 0x22, 0xd4, 0x9e, 0x57, 0xdb, 0xf7, 0xce, 0xc7, 0x35, 0x0b, 0xd3, 0x80, 0x21, 0x42, 0x43, + 0xf7, 0x50, 0x30, 0xea, 0x78, 0x70, 0xd0, 0xc5, 0x42, 0xc0, 0x10, 0x7b, 0x65, 0x85, 0xee, 0x8a, + 0xd0, 0x3c, 0x04, 0x40, 0x0f, 0x1e, 0xf4, 0x29, 0x12, 0xd6, 0x7c, 0xbd, 0xd0, 0xac, 0x6c, 0xfd, + 0xe7, 0xa4, 0x62, 0x1d, 0xf5, 0x50, 0x4c, 0xc3, 0xea, 0x30, 0x42, 0xdb, 0x1b, 0xa3, 0x71, 0x2d, + 0xf7, 0xe5, 0x7b, 0xad, 0x79, 0x85, 0x0d, 0xaa, 0x01, 0xe1, 0x2d, 0x28, 0xfa, 0x17, 0x8a, 0xbd, + 0xf1, 0x35, 0x0f, 0xfe, 0xed, 0x92, 0x90, 0xdf, 0xcd, 0x18, 0xbb, 0x60, 0x3e, 0xc8, 0x54, 0x5d, + 0x3f, 0xc9, 0x29, 0xc5, 0xd5, 0xc2, 0x7c, 0x0a, 0x2a, 0x71, 0x6a, 0x88, 0x4e, 0xae, 0x74, 0x85, + 0xe4, 0x40, 0x36, 0xd0, 0x15, 0x61, 0xe3, 0x43, 0x1e, 0xfc, 0xf3, 0x3a, 0x41, 0x50, 0xe2, 0x96, + 0x3a, 0x40, 0x37, 0x36, 0xd3, 0x07, 0x0b, 0x14, 0x0f, 0x7a, 0xe9, 0x69, 0x4e, 0xfd, 0x7c, 0xfe, + 0x73, 0x5c, 0x5b, 0x1c, 0xc2, 0x38, 0x7a, 0xd2, 0x98, 0xb6, 0x1a, 0xd7, 0xf0, 0x85, 0xe2, 0x81, + 0xd6, 0x78, 0xcb, 0x36, 0x37, 0x3e, 0x19, 0xc0, 0xec, 0x44, 0x18, 0xf2, 0xdb, 0x71, 0x60, 0x56, + 0x5d, 0xe1, 0xc6, 0xea, 0xda, 0x6f, 0x46, 0xa7, 0x76, 0xee, 0xe4, 0xd4, 0xce, 0x7d, 0x9e, 0xd8, + 0xc6, 0x68, 0x62, 0x1b, 0xc7, 0x13, 0xdb, 0xf8, 0x31, 0xb1, 0x8d, 0x8f, 0x67, 0x76, 0xee, 0xf8, + 0xcc, 0xce, 0x9d, 0x9c, 0xd9, 0xb9, 0xfd, 0x8d, 0x19, 0xfa, 0x0e, 0x13, 0xf1, 0x9e, 0xba, 0x70, + 0xf4, 0x9b, 0xd2, 0x3d, 0xca, 0xd6, 0x3f, 0xaf, 0x1f, 0xbf, 0xa4, 0x6f, 0x9e, 0x87, 0xbf, 0x02, + 0x00, 0x00, 0xff, 0xff, 0x4f, 0xeb, 0x52, 0x56, 0x11, 0x07, 0x00, 0x00, } func (this *StoreCodeProposal) Equal(that interface{}) bool { diff --git a/x/wasm/internal/types/proposal.proto b/x/wasm/internal/types/proposal.proto index a1a6d30d20..eea5db0b31 100644 --- a/x/wasm/internal/types/proposal.proto +++ b/x/wasm/internal/types/proposal.proto @@ -22,7 +22,7 @@ message StoreCodeProposal { // Builder is a valid docker image name with tag, optional string builder = 6; // InstantiatePermission to apply on contract creation, optional - AccessConfig InstantiatePermission = 7; + AccessConfig instantiate_permission = 7; } // InstantiateContractProposal gov proposal content type to instantiate a contract. diff --git a/x/wasm/internal/types/query.pb.go b/x/wasm/internal/types/query.pb.go index b09d45aacf..12b34f2433 100644 --- a/x/wasm/internal/types/query.pb.go +++ b/x/wasm/internal/types/query.pb.go @@ -12,7 +12,7 @@ import ( _ "github.com/gogo/protobuf/gogoproto" grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" - empty "github.com/golang/protobuf/ptypes/empty" + types "github.com/gogo/protobuf/types" github_com_tendermint_tendermint_libs_bytes "github.com/tendermint/tendermint/libs/bytes" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" @@ -77,7 +77,7 @@ var xxx_messageInfo_QueryContractInfoRequest proto.InternalMessageInfo type QueryContractInfoResponse struct { // address is the address of the contract Address github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=address,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"address,omitempty"` - *ContractInfo `protobuf:"bytes,2,opt,name=ContractInfo,proto3,embedded=ContractInfo" json:""` + *ContractInfo `protobuf:"bytes,2,opt,name=contract_info,json=contractInfo,proto3,embedded=contract_info" json:""` } func (m *QueryContractInfoResponse) Reset() { *m = QueryContractInfoResponse{} } @@ -228,7 +228,7 @@ var xxx_messageInfo_QueryContractsByCodeRequest proto.InternalMessageInfo // ContractInfoWithAddress adds the address (key) to the ContractInfo representation type ContractInfoWithAddress struct { Address github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=address,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"address,omitempty"` - *ContractInfo `protobuf:"bytes,2,opt,name=ContractInfo,proto3,embedded=ContractInfo" json:""` + *ContractInfo `protobuf:"bytes,2,opt,name=contract_info,json=contractInfo,proto3,embedded=contract_info" json:""` } func (m *ContractInfoWithAddress) Reset() { *m = ContractInfoWithAddress{} } @@ -704,74 +704,75 @@ func init() { func init() { proto.RegisterFile("x/wasm/internal/types/query.proto", fileDescriptor_845473e9a3330642) } var fileDescriptor_845473e9a3330642 = []byte{ - // 1071 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0xcf, 0x6f, 0x1b, 0x45, - 0x14, 0xce, 0xa4, 0x8e, 0x13, 0x4f, 0x03, 0x98, 0x51, 0x69, 0x8d, 0xeb, 0xae, 0xc3, 0x82, 0xa8, - 0x0b, 0xea, 0x6e, 0x12, 0xb7, 0x15, 0x3f, 0x4e, 0x71, 0x5a, 0x29, 0x15, 0x14, 0xd4, 0x8d, 0x50, + // 1074 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0x4f, 0x6f, 0x1b, 0x45, + 0x14, 0xcf, 0xa4, 0x8e, 0x13, 0x4f, 0x53, 0x30, 0xa3, 0xd2, 0x1a, 0xd7, 0x5d, 0x87, 0x05, 0x51, + 0x17, 0xd4, 0xdd, 0x24, 0x6e, 0x2b, 0xfe, 0x9c, 0xe2, 0xb4, 0x52, 0x2a, 0x28, 0x88, 0x8d, 0x50, 0x25, 0x7a, 0x88, 0xc6, 0xbb, 0x13, 0x7b, 0x5b, 0x7b, 0xc7, 0xdd, 0x19, 0x93, 0x58, 0x51, 0x84, - 0xe0, 0x88, 0x38, 0x20, 0xf5, 0x82, 0xc4, 0x3f, 0x80, 0x10, 0xdc, 0x41, 0x5c, 0x38, 0xe6, 0x18, - 0x89, 0x0b, 0x27, 0x0b, 0x1c, 0x4e, 0xf9, 0x13, 0x72, 0x42, 0x3b, 0xfb, 0xd6, 0x5d, 0x3b, 0x59, - 0xdb, 0x41, 0x44, 0xf4, 0xe2, 0x9d, 0xf1, 0xbc, 0x1f, 0xdf, 0xf7, 0xed, 0xcc, 0x7b, 0x3b, 0xf8, - 0xb5, 0x6d, 0x73, 0x8b, 0x8a, 0xa6, 0xe9, 0x7a, 0x92, 0xf9, 0x1e, 0x6d, 0x98, 0xb2, 0xd3, 0x62, - 0xc2, 0x7c, 0xd2, 0x66, 0x7e, 0xc7, 0x68, 0xf9, 0x5c, 0x72, 0xf2, 0x4a, 0x60, 0xe0, 0x18, 0xdb, - 0x46, 0xf8, 0xfc, 0x6c, 0xa9, 0xca, 0x24, 0x5d, 0xca, 0x5f, 0xa8, 0xf1, 0x1a, 0x57, 0x16, 0x66, - 0x30, 0x0a, 0x8d, 0xf3, 0x09, 0xf1, 0xd4, 0x2f, 0x98, 0x5c, 0xae, 0x71, 0x5e, 0x6b, 0x30, 0x53, - 0xcd, 0xaa, 0xed, 0x4d, 0x93, 0x35, 0x5b, 0x12, 0x92, 0xe5, 0x0b, 0xb0, 0x48, 0x5b, 0xae, 0x49, - 0x3d, 0x8f, 0x4b, 0x2a, 0x5d, 0xee, 0x81, 0xab, 0x5e, 0xc3, 0xb9, 0xfb, 0x01, 0xb2, 0x55, 0xee, - 0x49, 0x9f, 0xda, 0xf2, 0xae, 0xb7, 0xc9, 0x2d, 0xf6, 0xa4, 0xcd, 0x84, 0x24, 0x1f, 0xe0, 0x59, - 0xea, 0x38, 0x3e, 0x13, 0x22, 0x87, 0x16, 0x50, 0x69, 0xbe, 0xb2, 0x74, 0xd4, 0x2d, 0x5e, 0xaf, - 0xb9, 0xb2, 0xde, 0xae, 0x1a, 0x36, 0x6f, 0x9a, 0x36, 0x17, 0x4d, 0x2e, 0xe0, 0x71, 0x5d, 0x38, - 0x8f, 0x01, 0xd5, 0x8a, 0x6d, 0xaf, 0x84, 0x8e, 0x56, 0x14, 0x41, 0xff, 0x15, 0xe1, 0x57, 0x4f, - 0xc8, 0x24, 0x5a, 0xdc, 0x13, 0xec, 0x3f, 0x4d, 0x45, 0xee, 0xe3, 0xf9, 0x78, 0x92, 0xdc, 0xf4, - 0x02, 0x2a, 0x9d, 0x5f, 0x7e, 0xdd, 0x38, 0x51, 0x75, 0x23, 0x6e, 0x5a, 0x99, 0xdb, 0xef, 0x16, - 0xd1, 0x61, 0xb7, 0x38, 0x65, 0x0d, 0x84, 0xd0, 0x1f, 0xe1, 0xcb, 0x03, 0xe0, 0xd7, 0x5c, 0x21, - 0xb9, 0xdf, 0x39, 0x13, 0xa5, 0x38, 0x2e, 0x9c, 0x9c, 0x0b, 0xb4, 0xfa, 0x18, 0xcf, 0x32, 0x4f, - 0xfa, 0x2e, 0x0b, 0x92, 0x9d, 0x2b, 0x9d, 0x5f, 0x36, 0xc7, 0x30, 0x5b, 0xe5, 0x0e, 0x83, 0x20, - 0x77, 0x3c, 0xe9, 0x77, 0x2a, 0xa9, 0xbd, 0x80, 0x61, 0x14, 0x45, 0xbf, 0x35, 0x44, 0x4e, 0x54, - 0x3a, 0x81, 0x4b, 0x44, 0xee, 0x12, 0x9e, 0xb5, 0xb9, 0xc3, 0x36, 0x5c, 0x47, 0x91, 0x4b, 0x59, - 0xe9, 0x60, 0x7a, 0xd7, 0xd1, 0x7f, 0x41, 0xf8, 0x52, 0x5c, 0xa5, 0x07, 0xae, 0xac, 0x03, 0x9b, - 0xe7, 0xfe, 0x85, 0xee, 0x0c, 0x89, 0xdc, 0xe7, 0x0c, 0x22, 0x3f, 0xc4, 0x2f, 0xda, 0xb0, 0xb4, - 0xe1, 0x7a, 0x9b, 0x3c, 0xd2, 0xda, 0x98, 0x20, 0x69, 0x4c, 0x07, 0x90, 0xfa, 0x05, 0x3b, 0xb6, - 0x2c, 0xf4, 0xc7, 0x90, 0x7c, 0xa5, 0xd1, 0x88, 0xfc, 0xd6, 0x25, 0x95, 0xec, 0x4c, 0xb6, 0xd3, - 0x43, 0x7c, 0x25, 0x21, 0x19, 0x50, 0x7d, 0x0f, 0xa7, 0x9b, 0xdc, 0x61, 0x8d, 0x88, 0x62, 0x21, - 0x81, 0xe2, 0xbd, 0xc0, 0x08, 0x08, 0x81, 0x87, 0xfe, 0x15, 0x02, 0x2a, 0x16, 0xdd, 0x3a, 0x73, - 0x2a, 0xe4, 0x0a, 0xc6, 0xaa, 0x8c, 0x6e, 0x38, 0x54, 0x52, 0xb5, 0x0b, 0xe6, 0xad, 0x8c, 0xfa, - 0xe7, 0x36, 0x95, 0x54, 0x2f, 0x03, 0xd3, 0xe3, 0x58, 0x80, 0x29, 0xc1, 0x29, 0xe5, 0xa9, 0x90, - 0x58, 0x6a, 0xac, 0x7f, 0x8d, 0xb0, 0xa6, 0xbc, 0xd6, 0x9b, 0xd4, 0x97, 0xff, 0x3b, 0x87, 0x75, - 0x5c, 0x4c, 0x44, 0x03, 0x2c, 0x16, 0xe3, 0x2c, 0x2a, 0x85, 0xa3, 0x6e, 0x31, 0xc7, 0x3c, 0x9b, - 0x3b, 0xae, 0x57, 0x33, 0x1f, 0x09, 0xee, 0x19, 0x16, 0xdd, 0xba, 0xc7, 0x84, 0xa0, 0x35, 0x06, - 0x1c, 0xdf, 0xc6, 0x59, 0xd8, 0xec, 0x13, 0x9c, 0xea, 0xa7, 0xd3, 0x38, 0x1b, 0x18, 0x0e, 0xd4, - 0xe7, 0x6b, 0x43, 0xd6, 0x95, 0x6c, 0xaf, 0x5b, 0x4c, 0x2b, 0xb3, 0xdb, 0x87, 0xdd, 0xe2, 0xb4, - 0xeb, 0x44, 0xfe, 0x81, 0x5a, 0xb6, 0xcf, 0xa8, 0xe4, 0x7e, 0xc8, 0xee, 0x5f, 0xa9, 0x05, 0x11, - 0xc8, 0x27, 0x38, 0x13, 0x30, 0xd8, 0xa8, 0x53, 0x51, 0xcf, 0x9d, 0x53, 0xe1, 0xde, 0x39, 0xea, - 0x16, 0x6f, 0xc4, 0xc2, 0x49, 0xe6, 0x39, 0xcc, 0x6f, 0xba, 0x9e, 0x8c, 0x0f, 0x1b, 0x6e, 0x55, - 0x98, 0xd5, 0x8e, 0x64, 0xc2, 0x58, 0x63, 0xdb, 0x95, 0x60, 0x60, 0xcd, 0x05, 0xa1, 0xd6, 0xa8, - 0xa8, 0x93, 0x8b, 0x38, 0x2d, 0x78, 0xdb, 0xb7, 0x59, 0x2e, 0xb5, 0x80, 0x4a, 0x19, 0x0b, 0x66, - 0x24, 0x87, 0x67, 0xab, 0x6d, 0xb7, 0xe1, 0x30, 0x3f, 0x37, 0xa3, 0x16, 0xa2, 0xa9, 0xfe, 0x05, - 0xc2, 0x2f, 0xc7, 0x34, 0x04, 0x59, 0x3e, 0xc2, 0x99, 0x50, 0x96, 0xa0, 0x2a, 0x21, 0x55, 0x95, - 0xae, 0x26, 0x16, 0x88, 0x41, 0x49, 0x63, 0x95, 0x69, 0xce, 0x86, 0x35, 0x52, 0x80, 0x57, 0x1b, - 0x0a, 0x37, 0x77, 0xd8, 0x2d, 0xaa, 0x39, 0xbc, 0xc6, 0x2a, 0x26, 0x7d, 0x08, 0xa2, 0x8f, 0xe1, - 0x43, 0x8c, 0xfb, 0x18, 0xa2, 0x23, 0x3c, 0x31, 0x88, 0xf0, 0x34, 0x67, 0x22, 0x00, 0x62, 0xf9, - 0x5b, 0x8c, 0x67, 0x54, 0x12, 0xf2, 0x1d, 0x1a, 0xac, 0xba, 0x24, 0xa9, 0xcd, 0x24, 0x7d, 0x3f, - 0xe4, 0x17, 0x27, 0x77, 0x08, 0xe1, 0xe8, 0xa5, 0x2f, 0x7f, 0xff, 0xfb, 0xe9, 0xb4, 0x4e, 0x16, - 0xc2, 0x4f, 0x1e, 0x70, 0x30, 0xa3, 0xea, 0x69, 0xee, 0xc0, 0x29, 0xda, 0x25, 0x3f, 0x22, 0xfc, - 0xd2, 0x50, 0x83, 0x24, 0xcb, 0x93, 0xe4, 0x1b, 0xec, 0xdc, 0xf9, 0xf2, 0xa9, 0x7c, 0x00, 0xe6, - 0xa2, 0x82, 0xf9, 0x16, 0x29, 0x8d, 0x83, 0x69, 0xd6, 0x01, 0xda, 0x0f, 0x31, 0xb8, 0xd0, 0x6a, - 0x26, 0x83, 0x3b, 0xd8, 0x8b, 0x27, 0x83, 0x3b, 0xd4, 0xcb, 0x74, 0x43, 0xc1, 0x2d, 0x91, 0x37, - 0x87, 0xe1, 0x3a, 0xcc, 0xdc, 0x81, 0x63, 0xbd, 0xdb, 0x47, 0x2f, 0xc8, 0x4f, 0x08, 0x67, 0x87, - 0xbb, 0x05, 0x19, 0x99, 0x39, 0xa1, 0x91, 0xe5, 0x6f, 0x9c, 0xce, 0x69, 0x1c, 0xde, 0x63, 0xf2, - 0x0a, 0x05, 0xed, 0x67, 0x84, 0xb3, 0xc3, 0x35, 0x7f, 0x34, 0xde, 0x84, 0x6e, 0x35, 0x1a, 0x6f, - 0x52, 0x5b, 0xd1, 0xdf, 0x55, 0x78, 0xcb, 0x64, 0x69, 0x2c, 0x5e, 0x9f, 0x6e, 0x99, 0x3b, 0xcf, - 0xca, 0xff, 0x2e, 0xf9, 0x0d, 0x61, 0x72, 0xbc, 0xd4, 0x93, 0x9b, 0xa3, 0x70, 0x24, 0x36, 0xaa, - 0xfc, 0xad, 0xd3, 0xba, 0x01, 0x81, 0xf7, 0x15, 0x81, 0x9b, 0xa4, 0x3c, 0x5e, 0xf0, 0x20, 0xc8, - 0x20, 0x85, 0xcf, 0x71, 0x4a, 0x6d, 0xe7, 0xab, 0xa3, 0xb7, 0xe6, 0xb3, 0x3d, 0x5c, 0x1a, 0x6f, - 0x08, 0xb8, 0xde, 0x50, 0xb8, 0x34, 0x52, 0x18, 0xb5, 0x71, 0xc9, 0x26, 0x9e, 0x51, 0x15, 0x91, - 0x5c, 0x34, 0xc2, 0xab, 0x8e, 0x11, 0xdd, 0x83, 0x8c, 0x3b, 0xc1, 0x3d, 0x28, 0x7f, 0x6d, 0x5c, - 0xc2, 0x7e, 0x31, 0xd5, 0xf3, 0x2a, 0xe3, 0x05, 0x42, 0x8e, 0x67, 0xac, 0x58, 0x7b, 0x7f, 0x69, - 0x53, 0xdf, 0xf7, 0x34, 0xb4, 0xd7, 0xd3, 0xd0, 0x7e, 0x4f, 0x43, 0x7f, 0xf6, 0x34, 0xf4, 0xcd, - 0x81, 0x36, 0xb5, 0x7f, 0xa0, 0x4d, 0xfd, 0x71, 0xa0, 0x4d, 0x7d, 0xba, 0x18, 0x6b, 0x4b, 0xab, - 0x5c, 0x34, 0x1f, 0x04, 0x31, 0x54, 0x4e, 0x73, 0x1b, 0x9e, 0x83, 0xb7, 0xb8, 0x6a, 0x5a, 0x41, - 0x2d, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0xb6, 0x67, 0xf5, 0xed, 0x35, 0x0e, 0x00, 0x00, + 0xe0, 0x88, 0x38, 0x20, 0xf5, 0x82, 0xc4, 0x17, 0x40, 0x08, 0xee, 0x08, 0x71, 0xe0, 0x98, 0x63, + 0x24, 0x2e, 0x9c, 0x2c, 0x70, 0x38, 0xe5, 0x23, 0xe4, 0x84, 0x76, 0xf6, 0xad, 0xbb, 0x76, 0xb2, + 0xb6, 0x83, 0x88, 0xe8, 0x25, 0xbb, 0x93, 0x7d, 0xef, 0xfd, 0xfe, 0xec, 0xcc, 0x7b, 0x5e, 0xfc, + 0xea, 0xb6, 0xb9, 0x45, 0x45, 0xd3, 0x74, 0x3d, 0xc9, 0x7c, 0x8f, 0x36, 0x4c, 0xd9, 0x69, 0x31, + 0x61, 0x3e, 0x69, 0x33, 0xbf, 0x63, 0xb4, 0x7c, 0x2e, 0x39, 0x79, 0x39, 0x08, 0x70, 0x8c, 0x6d, + 0x23, 0xbc, 0x7e, 0xb6, 0x54, 0x65, 0x92, 0x2e, 0xe5, 0x2f, 0xd6, 0x78, 0x8d, 0xab, 0x08, 0x33, + 0xb8, 0x0b, 0x83, 0xf3, 0x09, 0xf5, 0xd4, 0x5f, 0x08, 0xb9, 0x52, 0xe3, 0xbc, 0xd6, 0x60, 0xa6, + 0x5a, 0x55, 0xdb, 0x9b, 0x26, 0x6b, 0xb6, 0x24, 0x80, 0xe5, 0x0b, 0xf0, 0x90, 0xb6, 0x5c, 0x93, + 0x7a, 0x1e, 0x97, 0x54, 0xba, 0xdc, 0x83, 0x54, 0xbd, 0x86, 0x73, 0x1f, 0x07, 0xcc, 0x56, 0xb9, + 0x27, 0x7d, 0x6a, 0xcb, 0x7b, 0xde, 0x26, 0xb7, 0xd8, 0x93, 0x36, 0x13, 0x92, 0xbc, 0x8f, 0x67, + 0xa9, 0xe3, 0xf8, 0x4c, 0x88, 0x1c, 0x5a, 0x40, 0xa5, 0xf9, 0xca, 0xd2, 0x51, 0xb7, 0x78, 0xa3, + 0xe6, 0xca, 0x7a, 0xbb, 0x6a, 0xd8, 0xbc, 0x69, 0xda, 0x5c, 0x34, 0xb9, 0x80, 0xcb, 0x0d, 0xe1, + 0x3c, 0x06, 0x56, 0x2b, 0xb6, 0xbd, 0x12, 0x26, 0x5a, 0x51, 0x05, 0xfd, 0x57, 0x84, 0x5f, 0x39, + 0x01, 0x49, 0xb4, 0xb8, 0x27, 0xd8, 0x7f, 0x0a, 0x45, 0x2c, 0x7c, 0xc1, 0x06, 0x90, 0x0d, 0xd7, + 0xdb, 0xe4, 0xb9, 0xe9, 0x05, 0x54, 0x3a, 0xbf, 0xfc, 0x9a, 0x71, 0xa2, 0xed, 0x46, 0x9c, 0x50, + 0x65, 0x6e, 0xbf, 0x5b, 0x44, 0x87, 0xdd, 0xe2, 0x94, 0x35, 0x6f, 0xc7, 0xfe, 0xaf, 0x3f, 0xc2, + 0x57, 0x06, 0xd8, 0xaf, 0xb9, 0x42, 0x72, 0xbf, 0x73, 0x26, 0x56, 0x71, 0x5c, 0x38, 0x19, 0x0b, + 0xcc, 0xfa, 0x08, 0xcf, 0x32, 0x4f, 0xfa, 0x2e, 0x0b, 0xc0, 0xce, 0x95, 0xce, 0x2f, 0x9b, 0x63, + 0x94, 0xad, 0x72, 0x87, 0x41, 0x91, 0xbb, 0x9e, 0xf4, 0x3b, 0x95, 0xd4, 0x5e, 0xa0, 0x30, 0xaa, + 0xa2, 0xdf, 0x1e, 0x12, 0x27, 0x2a, 0x9d, 0x20, 0x25, 0x12, 0x77, 0x19, 0xcf, 0xda, 0xdc, 0x61, + 0x1b, 0xae, 0xa3, 0xc4, 0xa5, 0xac, 0x74, 0xb0, 0xbc, 0xe7, 0xe8, 0xbf, 0x20, 0x7c, 0x39, 0xee, + 0xde, 0x03, 0x57, 0xd6, 0x41, 0xcd, 0xf3, 0xff, 0x46, 0x77, 0x86, 0x5c, 0xee, 0x8b, 0x06, 0x97, + 0x1f, 0xe2, 0x17, 0x06, 0x30, 0x23, 0xb3, 0x8d, 0x09, 0x40, 0x63, 0x46, 0x80, 0xd7, 0x17, 0xe2, + 0xd8, 0x42, 0x7f, 0x0c, 0xe0, 0x2b, 0x8d, 0x46, 0x94, 0xb7, 0x2e, 0xa9, 0x64, 0x67, 0xb2, 0x9f, + 0x1e, 0xe2, 0xab, 0x09, 0x60, 0x20, 0xf5, 0x5d, 0x9c, 0x6e, 0x72, 0x87, 0x35, 0x22, 0x89, 0x85, + 0x04, 0x89, 0xf7, 0x83, 0x20, 0x10, 0x04, 0x19, 0xfa, 0x57, 0x08, 0xa4, 0x58, 0x74, 0xeb, 0xcc, + 0xa5, 0x90, 0xab, 0x18, 0xab, 0x46, 0xba, 0xe1, 0x50, 0x49, 0xd5, 0x2e, 0x98, 0xb7, 0x32, 0xea, + 0x3f, 0x77, 0xa8, 0xa4, 0x7a, 0x19, 0x94, 0x1e, 0xe7, 0x02, 0x4a, 0x09, 0x4e, 0xa9, 0x4c, 0xc5, + 0xc4, 0x52, 0xf7, 0xfa, 0xd7, 0x08, 0x6b, 0x2a, 0x6b, 0xbd, 0x49, 0x7d, 0xf9, 0xbf, 0x6b, 0x58, + 0xc7, 0xc5, 0x44, 0x36, 0xa0, 0x62, 0x31, 0xae, 0xa2, 0x52, 0x38, 0xea, 0x16, 0x73, 0xcc, 0xb3, + 0xb9, 0xe3, 0x7a, 0x35, 0xf3, 0x91, 0xe0, 0x9e, 0x61, 0xd1, 0xad, 0xfb, 0x4c, 0x08, 0x5a, 0x63, + 0xa0, 0xf1, 0x2d, 0x9c, 0x85, 0xcd, 0x3e, 0xc1, 0xb1, 0x7e, 0x3a, 0x8d, 0xb3, 0x41, 0xe0, 0x40, + 0x87, 0xbe, 0x3e, 0x14, 0x5d, 0xc9, 0xf6, 0xba, 0xc5, 0xb4, 0x0a, 0xbb, 0x73, 0xd8, 0x2d, 0x4e, + 0xbb, 0x4e, 0x94, 0x1f, 0xb8, 0x65, 0xfb, 0x8c, 0x4a, 0xee, 0x87, 0xea, 0xfe, 0x95, 0x5b, 0x50, + 0x81, 0x7c, 0x82, 0x33, 0x81, 0x82, 0x8d, 0x3a, 0x15, 0xf5, 0xdc, 0x39, 0x55, 0xee, 0xed, 0xa3, + 0x6e, 0xf1, 0x66, 0xac, 0x9c, 0x64, 0x9e, 0xc3, 0xfc, 0xa6, 0xeb, 0xc9, 0xf8, 0x6d, 0xc3, 0xad, + 0x0a, 0xb3, 0xda, 0x91, 0x4c, 0x18, 0x6b, 0x6c, 0xbb, 0x12, 0xdc, 0x58, 0x73, 0x41, 0xa9, 0x35, + 0x2a, 0xea, 0xe4, 0x12, 0x4e, 0x0b, 0xde, 0xf6, 0x6d, 0x96, 0x4b, 0x2d, 0xa0, 0x52, 0xc6, 0x82, + 0x15, 0xc9, 0xe1, 0xd9, 0x6a, 0xdb, 0x6d, 0x38, 0xcc, 0xcf, 0xcd, 0xa8, 0x07, 0xd1, 0x52, 0xff, + 0x02, 0xe1, 0x97, 0x62, 0x1e, 0x82, 0x2d, 0x1f, 0xe2, 0x4c, 0x68, 0x4b, 0xd0, 0x95, 0x90, 0xea, + 0x4a, 0xd7, 0x12, 0x1b, 0xc4, 0xa0, 0xa5, 0xb1, 0xce, 0x34, 0x67, 0xc3, 0x33, 0x52, 0x80, 0x57, + 0x1b, 0x1a, 0x37, 0x77, 0xd8, 0x2d, 0xaa, 0x35, 0xbc, 0xc6, 0x2a, 0x26, 0x7d, 0x0a, 0xa2, 0xcf, + 0xe1, 0x03, 0x8c, 0xfb, 0x1c, 0xa2, 0x23, 0x3c, 0x31, 0x89, 0xf0, 0x34, 0x67, 0x22, 0x02, 0x62, + 0xf9, 0x5b, 0x8c, 0x67, 0x14, 0x08, 0xf9, 0x0e, 0xe1, 0xf9, 0x78, 0x57, 0x23, 0x49, 0x73, 0x26, + 0xe9, 0x17, 0x44, 0x7e, 0x71, 0xf2, 0x84, 0x90, 0x8e, 0x5e, 0xfa, 0xf2, 0xf7, 0xbf, 0x9f, 0x4e, + 0xeb, 0x64, 0x21, 0xfc, 0xd1, 0x03, 0x09, 0x66, 0xd4, 0x3d, 0xcd, 0x1d, 0x38, 0x45, 0xbb, 0xe4, + 0x47, 0x84, 0x5f, 0x1c, 0x9a, 0x90, 0x64, 0x79, 0x12, 0xbc, 0xc1, 0xd1, 0x9d, 0x2f, 0x9f, 0x2a, + 0x07, 0x68, 0x2e, 0x2a, 0x9a, 0x6f, 0x92, 0xd2, 0x38, 0x9a, 0x66, 0x1d, 0xa8, 0xfd, 0x10, 0xa3, + 0x0b, 0xa3, 0x66, 0x32, 0xba, 0x83, 0xc3, 0x78, 0x32, 0xba, 0x43, 0xb3, 0x4c, 0x37, 0x14, 0xdd, + 0x12, 0x79, 0x63, 0x98, 0xae, 0xc3, 0xcc, 0x1d, 0x38, 0xd6, 0xbb, 0x7d, 0xf6, 0x82, 0xfc, 0x84, + 0x70, 0x76, 0x78, 0x5a, 0x90, 0x91, 0xc8, 0x09, 0x83, 0x2c, 0x7f, 0xf3, 0x74, 0x49, 0xe3, 0xf8, + 0x1e, 0xb3, 0x57, 0x28, 0x6a, 0x3f, 0x23, 0x9c, 0x1d, 0xee, 0xf9, 0xa3, 0xf9, 0x26, 0x4c, 0xab, + 0xd1, 0x7c, 0x93, 0xc6, 0x8a, 0xfe, 0x8e, 0xe2, 0x5b, 0x26, 0x4b, 0x63, 0xf9, 0xfa, 0x74, 0xcb, + 0xdc, 0x79, 0xd6, 0xfe, 0x77, 0xc9, 0x6f, 0x08, 0x93, 0xe3, 0xad, 0x9e, 0xdc, 0x1a, 0xc5, 0x23, + 0x71, 0x50, 0xe5, 0x6f, 0x9f, 0x36, 0x0d, 0x04, 0xbc, 0xa7, 0x04, 0xdc, 0x22, 0xe5, 0xf1, 0x86, + 0x07, 0x45, 0x06, 0x25, 0x7c, 0x8e, 0x53, 0x6a, 0x3b, 0x5f, 0x1b, 0xbd, 0x35, 0x9f, 0xed, 0xe1, + 0xd2, 0xf8, 0x40, 0xe0, 0xf5, 0xba, 0xe2, 0xa5, 0x91, 0xc2, 0xa8, 0x8d, 0x4b, 0x36, 0xf1, 0x8c, + 0xea, 0x88, 0xe4, 0x92, 0x11, 0x7e, 0xec, 0x18, 0xd1, 0x97, 0x90, 0x71, 0x37, 0xf8, 0x12, 0xca, + 0x5f, 0x1f, 0x07, 0xd8, 0x6f, 0xa6, 0x7a, 0x5e, 0x21, 0x5e, 0x24, 0xe4, 0x38, 0x62, 0xc5, 0xda, + 0xfb, 0x4b, 0x9b, 0xfa, 0xbe, 0xa7, 0xa1, 0xbd, 0x9e, 0x86, 0xf6, 0x7b, 0x1a, 0xfa, 0xb3, 0xa7, + 0xa1, 0x6f, 0x0e, 0xb4, 0xa9, 0xfd, 0x03, 0x6d, 0xea, 0x8f, 0x03, 0x6d, 0xea, 0xd3, 0xc5, 0xd8, + 0x58, 0x5a, 0xe5, 0xa2, 0xf9, 0x20, 0xa8, 0xa1, 0x30, 0xcd, 0x6d, 0xb8, 0x0e, 0x7e, 0xc7, 0x55, + 0xd3, 0x8a, 0x6a, 0xf9, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x9e, 0x5e, 0x6a, 0x4f, 0x37, 0x0e, + 0x00, 0x00, } func (this *QueryContractInfoRequest) Equal(that interface{}) bool { @@ -1249,7 +1250,7 @@ type QueryClient interface { RawContractState(ctx context.Context, in *QueryRawContractStateRequest, opts ...grpc.CallOption) (*QueryRawContractStateResponse, error) SmartContractState(ctx context.Context, in *QuerySmartContractStateRequest, opts ...grpc.CallOption) (*QuerySmartContractStateResponse, error) Code(ctx context.Context, in *QueryCodeRequest, opts ...grpc.CallOption) (*QueryCodeResponse, error) - Codes(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*QueryCodesResponse, error) + Codes(ctx context.Context, in *types.Empty, opts ...grpc.CallOption) (*QueryCodesResponse, error) } type queryClient struct { @@ -1323,7 +1324,7 @@ func (c *queryClient) Code(ctx context.Context, in *QueryCodeRequest, opts ...gr return out, nil } -func (c *queryClient) Codes(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*QueryCodesResponse, error) { +func (c *queryClient) Codes(ctx context.Context, in *types.Empty, opts ...grpc.CallOption) (*QueryCodesResponse, error) { out := new(QueryCodesResponse) err := c.cc.Invoke(ctx, "/wasmd.x.wasmd.v1beta1.Query/Codes", in, out, opts...) if err != nil { @@ -1341,7 +1342,7 @@ type QueryServer interface { RawContractState(context.Context, *QueryRawContractStateRequest) (*QueryRawContractStateResponse, error) SmartContractState(context.Context, *QuerySmartContractStateRequest) (*QuerySmartContractStateResponse, error) Code(context.Context, *QueryCodeRequest) (*QueryCodeResponse, error) - Codes(context.Context, *empty.Empty) (*QueryCodesResponse, error) + Codes(context.Context, *types.Empty) (*QueryCodesResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -1369,7 +1370,7 @@ func (*UnimplementedQueryServer) SmartContractState(ctx context.Context, req *Qu func (*UnimplementedQueryServer) Code(ctx context.Context, req *QueryCodeRequest) (*QueryCodeResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Code not implemented") } -func (*UnimplementedQueryServer) Codes(ctx context.Context, req *empty.Empty) (*QueryCodesResponse, error) { +func (*UnimplementedQueryServer) Codes(ctx context.Context, req *types.Empty) (*QueryCodesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Codes not implemented") } @@ -1504,7 +1505,7 @@ func _Query_Code_Handler(srv interface{}, ctx context.Context, dec func(interfac } func _Query_Codes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(empty.Empty) + in := new(types.Empty) if err := dec(in); err != nil { return nil, err } @@ -1516,7 +1517,7 @@ func _Query_Codes_Handler(srv interface{}, ctx context.Context, dec func(interfa FullMethod: "/wasmd.x.wasmd.v1beta1.Query/Codes", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).Codes(ctx, req.(*empty.Empty)) + return srv.(QueryServer).Codes(ctx, req.(*types.Empty)) } return interceptor(ctx, in, info, handler) } diff --git a/x/wasm/internal/types/query.pb.gw.go b/x/wasm/internal/types/query.pb.gw.go index 9335f0fb6c..593eadbd98 100644 --- a/x/wasm/internal/types/query.pb.gw.go +++ b/x/wasm/internal/types/query.pb.gw.go @@ -13,9 +13,9 @@ import ( "io" "net/http" + types_1 "github.com/gogo/protobuf/types" "github.com/golang/protobuf/descriptor" "github.com/golang/protobuf/proto" - "github.com/golang/protobuf/ptypes/empty" "github.com/grpc-ecosystem/grpc-gateway/runtime" "github.com/grpc-ecosystem/grpc-gateway/utilities" "google.golang.org/grpc" @@ -457,7 +457,7 @@ func local_request_Query_Code_0(ctx context.Context, marshaler runtime.Marshaler } func request_Query_Codes_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq empty.Empty + var protoReq types_1.Empty var metadata runtime.ServerMetadata msg, err := client.Codes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) @@ -466,7 +466,7 @@ func request_Query_Codes_0(ctx context.Context, marshaler runtime.Marshaler, cli } func local_request_Query_Codes_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq empty.Empty + var protoReq types_1.Empty var metadata runtime.ServerMetadata msg, err := server.Codes(ctx, &protoReq) diff --git a/x/wasm/internal/types/query.proto b/x/wasm/internal/types/query.proto index c861f877eb..ded7271434 100644 --- a/x/wasm/internal/types/query.proto +++ b/x/wasm/internal/types/query.proto @@ -47,7 +47,7 @@ message QueryContractInfoRequest { message QueryContractInfoResponse { // address is the address of the contract bytes address = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; - ContractInfo ContractInfo = 2 [(gogoproto.embed) = true, (gogoproto.jsontag) = ""]; + ContractInfo contract_info = 2 [(gogoproto.embed) = true, (gogoproto.jsontag) = ""]; } message QueryContractHistoryRequest { @@ -66,7 +66,7 @@ message QueryContractsByCodeRequest { // ContractInfoWithAddress adds the address (key) to the ContractInfo representation message ContractInfoWithAddress { bytes address = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; - ContractInfo ContractInfo = 2 [(gogoproto.embed) = true, (gogoproto.jsontag) = ""]; + ContractInfo contract_info = 2 [(gogoproto.embed) = true, (gogoproto.jsontag) = ""]; } message QueryContractsByCodeResponse { diff --git a/x/wasm/internal/types/types.go b/x/wasm/internal/types/types.go index 6e2e159730..ba04502d1a 100644 --- a/x/wasm/internal/types/types.go +++ b/x/wasm/internal/types/types.go @@ -46,7 +46,7 @@ func NewCodeInfo(codeHash []byte, creator sdk.AccAddress, source string, builder } } -var AllCodeHistoryTypes = []ContractCodeHistoryOperationType{ContractCodeHistoryTypeGenesis, ContractCodeHistoryTypeInit, ContractCodeHistoryTypeMigrate} +var AllCodeHistoryTypes = []ContractCodeHistoryOperationType{ContractCodeHistoryOperationTypeGenesis, ContractCodeHistoryOperationTypeInit, ContractCodeHistoryOperationTypeMigrate} func (c *ContractHistory) AppendCodeHistory(newEntries ...ContractCodeHistoryEntry) { c.CodeHistoryEntries = append(c.CodeHistoryEntries, newEntries...) @@ -83,7 +83,7 @@ func (c *ContractInfo) ValidateBasic() error { func (c ContractInfo) InitialHistory(initMsg []byte) ContractCodeHistoryEntry { return ContractCodeHistoryEntry{ - Operation: ContractCodeHistoryTypeInit, + Operation: ContractCodeHistoryOperationTypeInit, CodeID: c.CodeID, Updated: c.Created, Msg: initMsg, @@ -92,7 +92,7 @@ func (c ContractInfo) InitialHistory(initMsg []byte) ContractCodeHistoryEntry { func (c *ContractInfo) AddMigration(ctx sdk.Context, codeID uint64, msg []byte) ContractCodeHistoryEntry { h := ContractCodeHistoryEntry{ - Operation: ContractCodeHistoryTypeMigrate, + Operation: ContractCodeHistoryOperationTypeMigrate, CodeID: codeID, Updated: NewAbsoluteTxPosition(ctx), Msg: msg, @@ -105,7 +105,7 @@ func (c *ContractInfo) AddMigration(ctx sdk.Context, codeID uint64, msg []byte) func (c *ContractInfo) ResetFromGenesis(ctx sdk.Context) ContractCodeHistoryEntry { c.Created = NewAbsoluteTxPosition(ctx) return ContractCodeHistoryEntry{ - Operation: ContractCodeHistoryTypeGenesis, + Operation: ContractCodeHistoryOperationTypeGenesis, CodeID: c.CodeID, Updated: c.Created, } diff --git a/x/wasm/internal/types/types.pb.go b/x/wasm/internal/types/types.pb.go index 3f75467eed..6a4c8fbb20 100644 --- a/x/wasm/internal/types/types.pb.go +++ b/x/wasm/internal/types/types.pb.go @@ -30,24 +30,24 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type AccessType int32 const ( - AccessTypeUndefined AccessType = 0 + AccessTypeUnspecified AccessType = 0 AccessTypeNobody AccessType = 1 AccessTypeOnlyAddress AccessType = 2 AccessTypeEverybody AccessType = 3 ) var AccessType_name = map[int32]string{ - 0: "UNDEFINED", - 1: "NOBODY", - 2: "ONLY_ADDRESS", - 3: "EVERYBODY", + 0: "ACCESS_TYPE_UNSPECIFIED", + 1: "ACCESS_TYPE_NOBODY", + 2: "ACCESS_TYPE_ONLY_ADDRESS", + 3: "ACCESS_TYPE_EVERYBODY", } var AccessType_value = map[string]int32{ - "UNDEFINED": 0, - "NOBODY": 1, - "ONLY_ADDRESS": 2, - "EVERYBODY": 3, + "ACCESS_TYPE_UNSPECIFIED": 0, + "ACCESS_TYPE_NOBODY": 1, + "ACCESS_TYPE_ONLY_ADDRESS": 2, + "ACCESS_TYPE_EVERYBODY": 3, } func (AccessType) EnumDescriptor() ([]byte, []int) { @@ -57,24 +57,24 @@ func (AccessType) EnumDescriptor() ([]byte, []int) { type ContractCodeHistoryOperationType int32 const ( - Undefined ContractCodeHistoryOperationType = 0 - ContractCodeHistoryTypeInit ContractCodeHistoryOperationType = 1 - ContractCodeHistoryTypeMigrate ContractCodeHistoryOperationType = 2 - ContractCodeHistoryTypeGenesis ContractCodeHistoryOperationType = 3 + ContractCodeHistoryOperationTypeUnspecified ContractCodeHistoryOperationType = 0 + ContractCodeHistoryOperationTypeInit ContractCodeHistoryOperationType = 1 + ContractCodeHistoryOperationTypeMigrate ContractCodeHistoryOperationType = 2 + ContractCodeHistoryOperationTypeGenesis ContractCodeHistoryOperationType = 3 ) var ContractCodeHistoryOperationType_name = map[int32]string{ - 0: "Undefined", - 1: "Init", - 2: "Migrate", - 3: "Genesis", + 0: "CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED", + 1: "CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT", + 2: "CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE", + 3: "CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS", } var ContractCodeHistoryOperationType_value = map[string]int32{ - "Undefined": 0, - "Init": 1, - "Migrate": 2, - "Genesis": 3, + "CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED": 0, + "CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT": 1, + "CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE": 2, + "CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS": 3, } func (x ContractCodeHistoryOperationType) String() string { @@ -407,9 +407,9 @@ var xxx_messageInfo_AbsoluteTxPosition proto.InternalMessageInfo // Model is a struct that holds a KV pair type Model struct { // hex-encode key to read it better (this is often ascii) - Key github_com_tendermint_tendermint_libs_bytes.HexBytes `protobuf:"bytes,1,opt,name=Key,proto3,casttype=github.com/tendermint/tendermint/libs/bytes.HexBytes" json:"Key,omitempty"` + Key github_com_tendermint_tendermint_libs_bytes.HexBytes `protobuf:"bytes,1,opt,name=key,proto3,casttype=github.com/tendermint/tendermint/libs/bytes.HexBytes" json:"key,omitempty"` // base64-encode raw value - Value []byte `protobuf:"bytes,2,opt,name=Value,proto3" json:"Value,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (m *Model) Reset() { *m = Model{} } @@ -462,76 +462,80 @@ func init() { func init() { proto.RegisterFile("x/wasm/internal/types/types.proto", fileDescriptor_45de2b3fc8aff6aa) } var fileDescriptor_45de2b3fc8aff6aa = []byte{ - // 1096 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0x4f, 0x6f, 0x1b, 0xc5, - 0x1b, 0xf6, 0xda, 0x8e, 0x9d, 0x4c, 0xfd, 0x6b, 0xdc, 0xf9, 0x25, 0xe0, 0xb8, 0x65, 0xd7, 0xd9, - 0x0a, 0x94, 0x14, 0xd5, 0x26, 0x01, 0x09, 0xd4, 0x5b, 0xfc, 0x87, 0xc6, 0x2d, 0xf9, 0xa3, 0x4d, - 0x53, 0x1a, 0x24, 0x64, 0x8d, 0x77, 0x27, 0xf6, 0xd0, 0xdd, 0x19, 0x6b, 0x67, 0x9c, 0xda, 0x39, - 0x71, 0x44, 0xe1, 0x82, 0x38, 0x71, 0x89, 0x84, 0x44, 0x0f, 0xfd, 0x02, 0x7c, 0x03, 0x0e, 0xb9, - 0x20, 0xf5, 0xc8, 0xc9, 0x82, 0x44, 0x7c, 0x81, 0x1c, 0x73, 0x42, 0x33, 0xb3, 0xc6, 0x86, 0x34, - 0x21, 0x54, 0x5c, 0xbc, 0x3b, 0xef, 0x3c, 0xcf, 0xf3, 0xce, 0xfb, 0xcc, 0x3b, 0xeb, 0x01, 0xf3, - 0xbd, 0xd2, 0x33, 0xc4, 0x83, 0x12, 0xa1, 0x02, 0x87, 0x14, 0xf9, 0x25, 0xd1, 0xef, 0x60, 0xae, - 0x7f, 0x8b, 0x9d, 0x90, 0x09, 0x06, 0x67, 0x25, 0xc0, 0x2b, 0xf6, 0x8a, 0xfa, 0xb9, 0xb7, 0xd4, - 0xc4, 0x02, 0x2d, 0xe5, 0x67, 0x5a, 0xac, 0xc5, 0x14, 0xa2, 0x24, 0xdf, 0x34, 0xd8, 0x6e, 0x82, - 0xe9, 0x15, 0xd7, 0xc5, 0x9c, 0x3f, 0xea, 0x77, 0xf0, 0x26, 0x0a, 0x51, 0x00, 0xeb, 0x60, 0x62, - 0x0f, 0xf9, 0x5d, 0x9c, 0x33, 0x0a, 0xc6, 0xc2, 0xf5, 0xe5, 0xf9, 0xe2, 0x2b, 0xf5, 0x8a, 0x23, - 0x5a, 0x39, 0x7b, 0x3a, 0xb0, 0x32, 0x7d, 0x14, 0xf8, 0xf7, 0x6c, 0xc5, 0xb4, 0x1d, 0xad, 0x70, - 0x2f, 0xf9, 0xdd, 0xf7, 0x96, 0x61, 0xff, 0x6c, 0x80, 0x8c, 0x46, 0x57, 0x18, 0xdd, 0x25, 0x2d, - 0xf8, 0x04, 0x80, 0x0e, 0x0e, 0x03, 0xc2, 0x39, 0x61, 0xf4, 0xea, 0x69, 0x66, 0x4f, 0x07, 0xd6, - 0x0d, 0x9d, 0x66, 0x44, 0xb7, 0x9d, 0x31, 0x2d, 0xf8, 0x39, 0x48, 0x23, 0xcf, 0x0b, 0x31, 0xe7, - 0xb9, 0x78, 0xc1, 0x58, 0xc8, 0x94, 0x2b, 0xa7, 0x03, 0xeb, 0xba, 0xe6, 0x44, 0x13, 0xf6, 0xd9, - 0xc0, 0xba, 0xdb, 0x22, 0xa2, 0xdd, 0x6d, 0x16, 0x5d, 0x16, 0x94, 0x5c, 0xc6, 0x03, 0xc6, 0xa3, - 0xc7, 0x5d, 0xee, 0x3d, 0x8d, 0xcc, 0x5c, 0x71, 0xdd, 0x15, 0xcd, 0x70, 0x86, 0x9a, 0x51, 0x3d, - 0xbf, 0xc7, 0x41, 0x4a, 0x59, 0xc5, 0xa1, 0x00, 0xd0, 0x65, 0x1e, 0x6e, 0x74, 0x3b, 0x3e, 0x43, - 0x5e, 0x03, 0xa9, 0xc5, 0xaa, 0x8a, 0xae, 0x2d, 0xdf, 0xbe, 0xb4, 0x22, 0x6d, 0x45, 0x79, 0xfe, - 0x68, 0x60, 0xc5, 0x4e, 0x07, 0xd6, 0x9c, 0x5e, 0xe3, 0x79, 0x31, 0xdb, 0xc9, 0xca, 0xe0, 0xb6, - 0x8a, 0x69, 0x2a, 0xfc, 0xd6, 0x00, 0x26, 0xa1, 0x5c, 0x20, 0x2a, 0x08, 0x12, 0xb8, 0xe1, 0xe1, - 0x5d, 0xd4, 0xf5, 0x45, 0x63, 0xcc, 0xd4, 0xf8, 0x55, 0x4d, 0x5d, 0x3c, 0x1d, 0x58, 0x6f, 0xeb, - 0xe4, 0x97, 0x4b, 0xda, 0xce, 0xad, 0x31, 0x40, 0x55, 0xcf, 0x6f, 0x8e, 0xac, 0x7f, 0x00, 0x60, - 0x80, 0x7a, 0x0d, 0x99, 0xa8, 0xa1, 0xca, 0xe0, 0x64, 0x1f, 0xe7, 0x12, 0x05, 0x63, 0x21, 0x59, - 0x7e, 0x6b, 0x54, 0xe1, 0x79, 0x8c, 0xed, 0x4c, 0x07, 0xa8, 0xf7, 0x29, 0xe2, 0x41, 0x85, 0x79, - 0x78, 0x8b, 0xec, 0xeb, 0xbe, 0x89, 0xd9, 0x5f, 0xc6, 0xc1, 0xa4, 0x0c, 0xd5, 0xe9, 0x2e, 0x83, - 0x37, 0xc1, 0x94, 0x62, 0xb4, 0x11, 0x6f, 0x2b, 0x83, 0x33, 0xce, 0xa4, 0x0c, 0xac, 0x22, 0xde, - 0x86, 0x0f, 0x41, 0xda, 0x0d, 0x31, 0x12, 0x2c, 0x8c, 0xb6, 0x7d, 0xe9, 0x35, 0x36, 0x39, 0x52, - 0x80, 0x6f, 0x80, 0x14, 0x67, 0xdd, 0xd0, 0xd5, 0x8b, 0x9f, 0x72, 0xa2, 0x11, 0xcc, 0x81, 0x74, - 0xb3, 0x4b, 0x7c, 0x0f, 0x87, 0xb9, 0xa4, 0x9a, 0x18, 0x0e, 0xe1, 0x13, 0x00, 0xc7, 0xbd, 0x73, - 0xd5, 0xd6, 0xe6, 0x26, 0xae, 0xde, 0x05, 0x49, 0xd9, 0x05, 0xce, 0x8d, 0x31, 0x11, 0x3d, 0x61, - 0x3f, 0x8f, 0x83, 0x4c, 0x85, 0x51, 0x11, 0x22, 0x57, 0x28, 0x1b, 0x6e, 0x83, 0xb4, 0xb2, 0x81, - 0x78, 0xca, 0x84, 0x64, 0x19, 0x1c, 0x0f, 0xac, 0x94, 0x72, 0xa9, 0xea, 0xa4, 0xe4, 0x54, 0xdd, - 0xfb, 0x6f, 0xed, 0xb8, 0x0f, 0x26, 0x90, 0x17, 0x10, 0xaa, 0xdc, 0x78, 0x2d, 0x29, 0xcd, 0x87, - 0x33, 0x60, 0xc2, 0x47, 0x4d, 0xec, 0x47, 0xee, 0xe9, 0x01, 0xac, 0x44, 0x6b, 0xc5, 0x5e, 0x64, - 0xd8, 0xe2, 0x45, 0x86, 0x35, 0x39, 0xf3, 0xbb, 0x02, 0x3f, 0xea, 0x6d, 0x32, 0x4e, 0x04, 0x61, - 0xd4, 0x19, 0x32, 0xed, 0x7d, 0x30, 0x3d, 0x74, 0x69, 0x95, 0x70, 0xc1, 0xc2, 0x3e, 0x6c, 0x81, - 0x19, 0xdd, 0x2f, 0x7a, 0xdc, 0xc0, 0x54, 0x84, 0x04, 0xcb, 0xb3, 0x99, 0x58, 0xb8, 0xb6, 0x5c, - 0xba, 0x20, 0xc9, 0x50, 0x45, 0x1a, 0x1a, 0x29, 0xd5, 0xa8, 0x08, 0xfb, 0xd1, 0x0e, 0xa9, 0xc3, - 0x3e, 0x16, 0x27, 0x98, 0xdb, 0x5f, 0xc7, 0x41, 0xee, 0x22, 0x1a, 0xdc, 0x06, 0x53, 0xac, 0x83, - 0x43, 0x24, 0x46, 0x1f, 0xba, 0x0f, 0xaf, 0x9e, 0x7a, 0x63, 0x48, 0x95, 0x27, 0xd5, 0x19, 0x29, - 0x8d, 0x77, 0x41, 0xfc, 0xc2, 0x2e, 0xa8, 0x80, 0x74, 0xb7, 0xe3, 0x29, 0x67, 0x13, 0xff, 0xda, - 0xd9, 0x88, 0x09, 0x8b, 0x20, 0x11, 0xf0, 0x96, 0xda, 0xb2, 0x4c, 0xf9, 0xd6, 0xd9, 0xc0, 0xca, - 0x61, 0xea, 0x32, 0x8f, 0xd0, 0x56, 0xe9, 0x0b, 0xce, 0x68, 0xd1, 0x41, 0xcf, 0xd6, 0x30, 0xe7, - 0xa8, 0x85, 0x1d, 0x09, 0xb4, 0x1d, 0x00, 0xcf, 0xcb, 0xc1, 0x79, 0x90, 0x69, 0xfa, 0xcc, 0x7d, - 0xda, 0x68, 0x63, 0xd2, 0x6a, 0x0b, 0xe5, 0x44, 0xc2, 0xb9, 0xa6, 0x62, 0xab, 0x2a, 0x04, 0xe7, - 0xc0, 0xa4, 0xe8, 0x35, 0x08, 0xf5, 0x70, 0x4f, 0xd7, 0xe4, 0xa4, 0x45, 0xaf, 0x2e, 0x87, 0x36, - 0x01, 0x13, 0x6b, 0xcc, 0xc3, 0x3e, 0x7c, 0x00, 0x12, 0x0f, 0x71, 0x5f, 0x9f, 0xfe, 0xf2, 0x47, - 0x67, 0x03, 0xeb, 0x83, 0xb1, 0x46, 0x14, 0x98, 0x7a, 0xf2, 0x6b, 0x44, 0xc5, 0xf8, 0xab, 0x4f, - 0x9a, 0xbc, 0xd4, 0xec, 0x0b, 0xcc, 0x8b, 0xab, 0xb8, 0x57, 0x96, 0x2f, 0x8e, 0x14, 0x91, 0xdd, - 0xf8, 0x58, 0xfd, 0xcb, 0xa9, 0x13, 0xe2, 0xe8, 0xc1, 0x9d, 0x1f, 0x0d, 0x00, 0x46, 0x1f, 0x47, - 0xf8, 0x0e, 0x98, 0xda, 0x5e, 0xaf, 0xd6, 0x3e, 0xae, 0xaf, 0xd7, 0xaa, 0xd9, 0x58, 0xfe, 0xcd, - 0x83, 0xc3, 0xc2, 0xff, 0x47, 0xd3, 0xdb, 0xd4, 0xc3, 0xbb, 0x84, 0x62, 0x0f, 0x16, 0x40, 0x6a, - 0x7d, 0xa3, 0xbc, 0x51, 0xdd, 0xc9, 0x1a, 0xf9, 0x99, 0x83, 0xc3, 0x42, 0x76, 0x04, 0x5a, 0x67, - 0x4d, 0xe6, 0xf5, 0xe1, 0xbb, 0x20, 0xb3, 0xb1, 0xfe, 0xc9, 0x4e, 0x63, 0xa5, 0x5a, 0x75, 0x6a, - 0x5b, 0x5b, 0xd9, 0x78, 0x7e, 0xee, 0xe0, 0xb0, 0x30, 0x3b, 0xc2, 0x6d, 0x50, 0xbf, 0x1f, 0x1d, - 0x18, 0x99, 0xb6, 0xf6, 0xb8, 0xe6, 0xec, 0x28, 0xc5, 0xc4, 0xdf, 0xd3, 0xd6, 0xf6, 0x70, 0xd8, - 0x97, 0xa2, 0xf9, 0xc9, 0xaf, 0x7e, 0x30, 0x63, 0x2f, 0x9e, 0x9b, 0xb1, 0x3b, 0x3f, 0x19, 0xa0, - 0xf0, 0x4f, 0x0d, 0x04, 0xff, 0x07, 0xa6, 0xfe, 0x5c, 0x72, 0x36, 0x06, 0x17, 0x41, 0xb2, 0x4e, - 0x89, 0xc8, 0x1a, 0x79, 0xeb, 0xe0, 0xb0, 0x70, 0xf3, 0x15, 0x74, 0xc9, 0x92, 0x10, 0x58, 0x02, - 0xe9, 0x35, 0xd2, 0x0a, 0x91, 0xc0, 0xd9, 0x78, 0xde, 0x3e, 0x38, 0x2c, 0x98, 0x17, 0xa0, 0x23, - 0x94, 0x24, 0xdc, 0xc7, 0x14, 0x73, 0xc2, 0xb3, 0x89, 0x4b, 0x09, 0x11, 0x2a, 0x9f, 0x94, 0xa5, - 0x94, 0x9d, 0xa3, 0xdf, 0xcc, 0xd8, 0x8b, 0x63, 0xd3, 0x38, 0x3a, 0x36, 0x8d, 0x97, 0xc7, 0xa6, - 0xf1, 0xeb, 0xb1, 0x69, 0x7c, 0x73, 0x62, 0xc6, 0x5e, 0x9e, 0x98, 0xb1, 0x5f, 0x4e, 0xcc, 0xd8, - 0x67, 0xef, 0x8d, 0xed, 0x78, 0x85, 0xf1, 0x40, 0xfe, 0x6d, 0xa8, 0x1b, 0x91, 0x57, 0xea, 0x45, - 0xcf, 0xbf, 0x5e, 0x8d, 0x9a, 0x29, 0x75, 0xd1, 0x79, 0xff, 0x8f, 0x00, 0x00, 0x00, 0xff, 0xff, - 0x6b, 0xe9, 0x46, 0x0d, 0x3a, 0x09, 0x00, 0x00, + // 1165 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0xcf, 0x8f, 0xdb, 0xc4, + 0x17, 0x8f, 0x93, 0xfd, 0xd5, 0x69, 0xd4, 0xa6, 0xf3, 0xdd, 0xfd, 0x36, 0x0d, 0x25, 0xc9, 0xba, + 0x20, 0xb6, 0xbf, 0x92, 0x76, 0x41, 0x14, 0xf5, 0x96, 0x38, 0x66, 0xd7, 0x85, 0x4d, 0x56, 0x93, + 0x2c, 0xed, 0x22, 0x55, 0xd6, 0xc4, 0x9e, 0x4d, 0x86, 0xda, 0x9e, 0xc8, 0x33, 0x69, 0x93, 0x9e, + 0x38, 0xa2, 0x70, 0x41, 0x9c, 0xb8, 0x44, 0x42, 0xa2, 0x42, 0xfd, 0x53, 0x7a, 0x41, 0xea, 0x91, + 0x53, 0x04, 0x5b, 0x71, 0xe0, 0xba, 0xc7, 0x9e, 0x90, 0xc7, 0x8e, 0x62, 0x68, 0xb7, 0x1b, 0x2a, + 0x2e, 0xb6, 0xe7, 0xcd, 0xfb, 0x7c, 0xde, 0xbc, 0xcf, 0x7b, 0xcf, 0x36, 0x58, 0x1f, 0x94, 0x1f, + 0x61, 0xee, 0x96, 0xa9, 0x27, 0x88, 0xef, 0x61, 0xa7, 0x2c, 0x86, 0x3d, 0xc2, 0xc3, 0x6b, 0xa9, + 0xe7, 0x33, 0xc1, 0xe0, 0x5a, 0xe0, 0x60, 0x97, 0x06, 0xa5, 0xf0, 0xfe, 0xf0, 0x66, 0x9b, 0x08, + 0x7c, 0x33, 0xb7, 0xda, 0x61, 0x1d, 0x26, 0x3d, 0xca, 0xc1, 0x53, 0xe8, 0xac, 0xb6, 0xc1, 0xd9, + 0x8a, 0x65, 0x11, 0xce, 0x5b, 0xc3, 0x1e, 0xd9, 0xc5, 0x3e, 0x76, 0xa1, 0x01, 0x16, 0x1f, 0x62, + 0xa7, 0x4f, 0xb2, 0x4a, 0x51, 0xd9, 0x38, 0xb3, 0xb9, 0x5e, 0x7a, 0x2d, 0x5f, 0x69, 0x06, 0xab, + 0x66, 0x8e, 0x26, 0x85, 0xf4, 0x10, 0xbb, 0xce, 0x6d, 0x55, 0x22, 0x55, 0x14, 0x32, 0xdc, 0x5e, + 0xf8, 0xe1, 0xc7, 0x82, 0xa2, 0xfe, 0xa2, 0x80, 0x74, 0xe8, 0xad, 0x31, 0xef, 0x80, 0x76, 0xe0, + 0x3d, 0x00, 0x7a, 0xc4, 0x77, 0x29, 0xe7, 0x94, 0x79, 0xf3, 0x87, 0x59, 0x3b, 0x9a, 0x14, 0xce, + 0x85, 0x61, 0x66, 0x70, 0x15, 0xc5, 0xb8, 0xe0, 0x7d, 0xb0, 0x8c, 0x6d, 0xdb, 0x27, 0x9c, 0x67, + 0x93, 0x45, 0x65, 0x23, 0x5d, 0xd5, 0x8e, 0x26, 0x85, 0x33, 0x21, 0x26, 0xda, 0x50, 0x5f, 0x4e, + 0x0a, 0xd7, 0x3b, 0x54, 0x74, 0xfb, 0xed, 0x92, 0xc5, 0xdc, 0xb2, 0xc5, 0xb8, 0xcb, 0x78, 0x74, + 0xbb, 0xce, 0xed, 0x07, 0x91, 0x98, 0x15, 0xcb, 0xaa, 0x84, 0x08, 0x34, 0xe5, 0x8c, 0xf2, 0xf9, + 0x23, 0x09, 0x96, 0xa4, 0x54, 0x1c, 0x0a, 0x00, 0x2d, 0x66, 0x13, 0xb3, 0xdf, 0x73, 0x18, 0xb6, + 0x4d, 0x2c, 0x0f, 0x2b, 0x33, 0x3a, 0xbd, 0x79, 0xe9, 0x8d, 0x19, 0x85, 0x52, 0x54, 0xd7, 0x9f, + 0x4d, 0x0a, 0x89, 0xa3, 0x49, 0xe1, 0x42, 0x78, 0xc6, 0x57, 0xc9, 0x54, 0x94, 0x09, 0x8c, 0x7b, + 0xd2, 0x16, 0x42, 0xe1, 0xf7, 0x0a, 0xc8, 0x53, 0x8f, 0x0b, 0xec, 0x09, 0x8a, 0x05, 0x31, 0x6d, + 0x72, 0x80, 0xfb, 0x8e, 0x30, 0x63, 0xa2, 0x26, 0xe7, 0x15, 0xf5, 0xf2, 0xd1, 0xa4, 0xf0, 0x7e, + 0x18, 0xfc, 0xcd, 0x94, 0x2a, 0xba, 0x18, 0x73, 0xa8, 0x85, 0xfb, 0xbb, 0x33, 0xe9, 0xef, 0x00, + 0xe8, 0xe2, 0x81, 0x19, 0x04, 0x32, 0x65, 0x1a, 0x9c, 0x3e, 0x26, 0xd9, 0x54, 0x51, 0xd9, 0x58, + 0xa8, 0xbe, 0x3b, 0xcb, 0xf0, 0x55, 0x1f, 0x15, 0x9d, 0x75, 0xf1, 0xe0, 0x2e, 0xe6, 0xae, 0xc6, + 0x6c, 0xd2, 0xa4, 0x8f, 0xc3, 0xbe, 0x49, 0xa8, 0x5f, 0x27, 0xc1, 0x4a, 0x60, 0x32, 0xbc, 0x03, + 0x06, 0xdf, 0x01, 0xa7, 0x24, 0xa2, 0x8b, 0x79, 0x57, 0x0a, 0x9c, 0x46, 0x2b, 0x81, 0x61, 0x1b, + 0xf3, 0x2e, 0xfc, 0x0c, 0x2c, 0x5b, 0x3e, 0xc1, 0x82, 0xf9, 0x51, 0xd9, 0x6f, 0xbe, 0x45, 0x91, + 0x23, 0x06, 0xf8, 0x7f, 0xb0, 0xc4, 0x59, 0xdf, 0xb7, 0xc2, 0xc3, 0x9f, 0x42, 0xd1, 0x0a, 0x66, + 0xc1, 0x72, 0xbb, 0x4f, 0x1d, 0x9b, 0xf8, 0xd9, 0x05, 0xb9, 0x31, 0x5d, 0xc2, 0x7b, 0x00, 0xc6, + 0xb5, 0xb3, 0x64, 0x69, 0xb3, 0x8b, 0xf3, 0x77, 0xc1, 0x42, 0xd0, 0x05, 0xe8, 0x5c, 0x8c, 0x24, + 0xdc, 0x50, 0x9f, 0x24, 0x41, 0x5a, 0x63, 0x9e, 0xf0, 0xb1, 0x25, 0xa4, 0x0c, 0x97, 0xc0, 0xb2, + 0x94, 0x81, 0xda, 0x52, 0x84, 0x85, 0x2a, 0x38, 0x9c, 0x14, 0x96, 0xa4, 0x4a, 0x35, 0xb4, 0x14, + 0x6c, 0x19, 0xf6, 0x7f, 0x2b, 0xc7, 0x16, 0x58, 0xc4, 0xb6, 0x4b, 0x3d, 0xa9, 0xc6, 0x5b, 0x51, + 0x85, 0x78, 0xb8, 0x0a, 0x16, 0x1d, 0xdc, 0x26, 0x4e, 0xa4, 0x5e, 0xb8, 0x80, 0x5a, 0x74, 0x56, + 0x62, 0x47, 0x82, 0x5d, 0x3e, 0x4e, 0xb0, 0x36, 0x67, 0x4e, 0x5f, 0x90, 0xd6, 0x60, 0x97, 0x71, + 0x2a, 0x28, 0xf3, 0xd0, 0x14, 0xa9, 0x3e, 0x06, 0x67, 0xa7, 0x2a, 0x6d, 0x53, 0x2e, 0x98, 0x3f, + 0x84, 0x1d, 0xb0, 0x1a, 0xf6, 0x4b, 0xb8, 0x36, 0x89, 0x27, 0x7c, 0x4a, 0x82, 0xd9, 0x4c, 0x6d, + 0x9c, 0xde, 0x2c, 0x1f, 0x13, 0x64, 0xca, 0x12, 0x08, 0x1a, 0x31, 0xe9, 0x9e, 0xf0, 0x87, 0x51, + 0x85, 0xe4, 0xb0, 0xc7, 0xec, 0x94, 0x70, 0xf5, 0xdb, 0x24, 0xc8, 0x1e, 0x07, 0x83, 0x7b, 0xe0, + 0x14, 0xeb, 0x11, 0x1f, 0x8b, 0xd9, 0x8b, 0xee, 0xd6, 0xfc, 0xa1, 0x1b, 0x53, 0x68, 0x30, 0xa9, + 0x68, 0xc6, 0x14, 0xef, 0x82, 0xe4, 0xb1, 0x5d, 0xa0, 0x81, 0xe5, 0x7e, 0xcf, 0x96, 0xca, 0xa6, + 0xfe, 0xb5, 0xb2, 0x11, 0x12, 0x96, 0x40, 0xca, 0xe5, 0x1d, 0x59, 0xb2, 0x74, 0xf5, 0xe2, 0xcb, + 0x49, 0x21, 0x4b, 0x3c, 0x8b, 0xd9, 0xd4, 0xeb, 0x94, 0xbf, 0xe2, 0xcc, 0x2b, 0x21, 0xfc, 0x68, + 0x87, 0x70, 0x8e, 0x3b, 0x04, 0x05, 0x8e, 0x2a, 0x02, 0xf0, 0x55, 0x3a, 0xb8, 0x0e, 0xd2, 0x6d, + 0x87, 0x59, 0x0f, 0xcc, 0x2e, 0xa1, 0x9d, 0xae, 0x90, 0x4a, 0xa4, 0xd0, 0x69, 0x69, 0xdb, 0x96, + 0x26, 0x78, 0x01, 0xac, 0x88, 0x81, 0x49, 0x3d, 0x9b, 0x0c, 0xc2, 0x9c, 0xd0, 0xb2, 0x18, 0x18, + 0xc1, 0x52, 0xa5, 0x60, 0x71, 0x87, 0xd9, 0xc4, 0x81, 0x77, 0x40, 0xea, 0x01, 0x19, 0x86, 0xd3, + 0x5f, 0xfd, 0xe4, 0xe5, 0xa4, 0xf0, 0x51, 0xac, 0x11, 0x05, 0xf1, 0xec, 0xe0, 0x6d, 0xe4, 0x89, + 0xf8, 0xa3, 0x43, 0xdb, 0xbc, 0xdc, 0x1e, 0x0a, 0xc2, 0x4b, 0xdb, 0x64, 0x50, 0x0d, 0x1e, 0x50, + 0x40, 0x12, 0x74, 0x63, 0xf8, 0x95, 0x93, 0x13, 0x12, 0x7d, 0xb0, 0xae, 0xfc, 0xa9, 0x00, 0x30, + 0x7b, 0x39, 0xc2, 0x8f, 0xc1, 0xf9, 0x8a, 0xa6, 0xe9, 0xcd, 0xa6, 0xd9, 0xda, 0xdf, 0xd5, 0xcd, + 0xbd, 0x7a, 0x73, 0x57, 0xd7, 0x8c, 0x4f, 0x0d, 0xbd, 0x96, 0x49, 0xe4, 0x2e, 0x8c, 0xc6, 0xc5, + 0xb5, 0x99, 0xf3, 0x9e, 0xc7, 0x7b, 0xc4, 0xa2, 0x07, 0x94, 0xd8, 0xf0, 0x1a, 0x80, 0x71, 0x5c, + 0xbd, 0x51, 0x6d, 0xd4, 0xf6, 0x33, 0x4a, 0x6e, 0x75, 0x34, 0x2e, 0x66, 0x66, 0x90, 0x3a, 0x6b, + 0x33, 0x7b, 0x08, 0x6f, 0x81, 0x6c, 0xdc, 0xbb, 0x51, 0xff, 0x7c, 0xdf, 0xac, 0xd4, 0x6a, 0x48, + 0x6f, 0x36, 0x33, 0xc9, 0x7f, 0x86, 0x69, 0x78, 0xce, 0x30, 0x1a, 0x2c, 0xb8, 0x09, 0xd6, 0xe2, + 0x40, 0xfd, 0x0b, 0x1d, 0xed, 0xcb, 0x48, 0xa9, 0xdc, 0xf9, 0xd1, 0xb8, 0xf8, 0xbf, 0x19, 0x4a, + 0x7f, 0x48, 0xfc, 0x61, 0x10, 0x2c, 0xb7, 0xf2, 0xcd, 0x4f, 0xf9, 0xc4, 0xd3, 0x27, 0xf9, 0xc4, + 0x95, 0x9f, 0x53, 0xa0, 0x78, 0x52, 0xd3, 0x41, 0x02, 0x6e, 0x68, 0x8d, 0x7a, 0x0b, 0x55, 0xb4, + 0x96, 0xa9, 0x35, 0x6a, 0xba, 0xb9, 0x6d, 0x34, 0x5b, 0x0d, 0xb4, 0x6f, 0x36, 0x76, 0x75, 0x54, + 0x69, 0x19, 0x8d, 0xfa, 0xeb, 0xa4, 0x29, 0x8f, 0xc6, 0xc5, 0xab, 0x27, 0x71, 0xc7, 0x05, 0xbb, + 0x0b, 0x2e, 0xcf, 0x15, 0xc6, 0xa8, 0x1b, 0xad, 0x8c, 0x92, 0xdb, 0x18, 0x8d, 0x8b, 0xef, 0x9d, + 0xc4, 0x6f, 0x78, 0x54, 0xc0, 0xfb, 0xe0, 0xda, 0x5c, 0xc4, 0x3b, 0xc6, 0x16, 0xaa, 0xb4, 0xf4, + 0x4c, 0x32, 0x77, 0x75, 0x34, 0x2e, 0x7e, 0x70, 0x12, 0xf7, 0x0e, 0xed, 0xf8, 0x58, 0x90, 0xb9, + 0xe9, 0xb7, 0xf4, 0xba, 0xde, 0x34, 0x9a, 0x99, 0xd4, 0x7c, 0xf4, 0x5b, 0xc4, 0x23, 0x9c, 0xf2, + 0xdc, 0x42, 0x50, 0xac, 0x2a, 0x7a, 0xf6, 0x7b, 0x3e, 0xf1, 0xf4, 0x30, 0xaf, 0x3c, 0x3b, 0xcc, + 0x2b, 0xcf, 0x0f, 0xf3, 0xca, 0x6f, 0x87, 0x79, 0xe5, 0xbb, 0x17, 0xf9, 0xc4, 0xf3, 0x17, 0xf9, + 0xc4, 0xaf, 0x2f, 0xf2, 0x89, 0x2f, 0x6f, 0xc4, 0xe6, 0x40, 0x63, 0xdc, 0x0d, 0x3e, 0xa6, 0xf2, + 0x3f, 0xd1, 0x2e, 0x0f, 0xa2, 0xfb, 0xdf, 0x7f, 0x18, 0xdb, 0x4b, 0xf2, 0xf7, 0xef, 0xc3, 0xbf, + 0x02, 0x00, 0x00, 0xff, 0xff, 0xb9, 0x52, 0xdd, 0xfe, 0x50, 0x0a, 0x00, 0x00, } func (this *AccessTypeParam) Equal(that interface{}) bool { diff --git a/x/wasm/internal/types/types.proto b/x/wasm/internal/types/types.proto index 1f170b385b..b23ab3a6b4 100644 --- a/x/wasm/internal/types/types.proto +++ b/x/wasm/internal/types/types.proto @@ -10,10 +10,10 @@ option (gogoproto.equal_all) = true; enum AccessType { option (gogoproto.goproto_enum_prefix) = false; option (gogoproto.goproto_enum_stringer) = false; - UNDEFINED = 0 [(gogoproto.enumvalue_customname) = "AccessTypeUndefined"]; - NOBODY = 1 [(gogoproto.enumvalue_customname) = "AccessTypeNobody"]; - ONLY_ADDRESS = 2 [(gogoproto.enumvalue_customname) = "AccessTypeOnlyAddress"]; - EVERYBODY = 3 [(gogoproto.enumvalue_customname) = "AccessTypeEverybody"]; + ACCESS_TYPE_UNSPECIFIED = 0 [(gogoproto.enumvalue_customname) = "AccessTypeUnspecified"]; + ACCESS_TYPE_NOBODY = 1 [(gogoproto.enumvalue_customname) = "AccessTypeNobody"]; + ACCESS_TYPE_ONLY_ADDRESS = 2 [(gogoproto.enumvalue_customname) = "AccessTypeOnlyAddress"]; + ACCESS_TYPE_EVERYBODY = 3 [(gogoproto.enumvalue_customname) = "AccessTypeEverybody"]; } message AccessTypeParam { @@ -57,10 +57,10 @@ message ContractInfo { enum ContractCodeHistoryOperationType { option (gogoproto.goproto_enum_prefix) = false; - Undefined = 0; - Init = 1 [(gogoproto.enumvalue_customname) = "ContractCodeHistoryTypeInit"]; - Migrate = 2 [(gogoproto.enumvalue_customname) = "ContractCodeHistoryTypeMigrate"]; - Genesis = 3 [(gogoproto.enumvalue_customname) = "ContractCodeHistoryTypeGenesis"]; + CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED = 0 [(gogoproto.enumvalue_customname) = "ContractCodeHistoryOperationTypeUnspecified"]; + CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT = 1 [(gogoproto.enumvalue_customname) = "ContractCodeHistoryOperationTypeInit"]; + CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE = 2 [(gogoproto.enumvalue_customname) = "ContractCodeHistoryOperationTypeMigrate"]; + CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS = 3 [(gogoproto.enumvalue_customname) = "ContractCodeHistoryOperationTypeGenesis"]; } message ContractHistory { @@ -87,7 +87,7 @@ message AbsoluteTxPosition { // Model is a struct that holds a KV pair message Model { // hex-encode key to read it better (this is often ascii) - bytes Key = 1 [(gogoproto.casttype) = "github.com/tendermint/tendermint/libs/bytes.HexBytes"]; + bytes key = 1 [(gogoproto.casttype) = "github.com/tendermint/tendermint/libs/bytes.HexBytes"]; // base64-encode raw value - bytes Value = 2; + bytes value = 2; } \ No newline at end of file From 02948d3c8d55d944e9b8ec90e63eb756f5ec5bec Mon Sep 17 00:00:00 2001 From: Alex Peters Date: Tue, 10 Nov 2020 12:36:22 +0100 Subject: [PATCH 2/6] Add protobuf comments --- buf.yaml | 2 +- doc/proto.md | 198 +++++++++++++-------------- x/wasm/internal/types/genesis.pb.go | 2 +- x/wasm/internal/types/genesis.proto | 2 +- x/wasm/internal/types/msg.pb.go | 57 +++++--- x/wasm/internal/types/msg.proto | 28 +++- x/wasm/internal/types/params_test.go | 4 +- x/wasm/internal/types/proposal.pb.go | 59 +++++--- x/wasm/internal/types/proposal.proto | 23 +++- x/wasm/internal/types/query.pb.go | 37 ++++- x/wasm/internal/types/query.proto | 29 +++- x/wasm/internal/types/types.pb.go | 62 ++++++--- x/wasm/internal/types/types.proto | 30 +++- 13 files changed, 363 insertions(+), 170 deletions(-) diff --git a/buf.yaml b/buf.yaml index 97da997731..94866e9ab6 100644 --- a/buf.yaml +++ b/buf.yaml @@ -10,7 +10,7 @@ build: lint: use: - DEFAULT -# - COMMENTS + - COMMENTS - FILE_LOWER_SNAKE_CASE except: - UNARY_RPC diff --git a/doc/proto.md b/doc/proto.md index 8ca9f0f066..175a05e027 100644 --- a/doc/proto.md +++ b/doc/proto.md @@ -125,7 +125,7 @@ GenesisState - genesis state of x/wasm ### Sequence -Sequence id and value of a counter +Sequence key and value of an id generation counter | Field | Type | Label | Description | @@ -157,13 +157,13 @@ Sequence id and value of a counter ### MsgClearAdmin - +MsgClearAdmin removes any admin stored for a smart contract | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| sender | [bytes](#bytes) | | | -| contract | [bytes](#bytes) | | | +| sender | [bytes](#bytes) | | Sender is the that actor that signed the messages | +| contract | [bytes](#bytes) | | Contract is the address of the smart contract | @@ -173,15 +173,15 @@ Sequence id and value of a counter ### MsgExecuteContract - +MsgExecuteContract submits the given message data to a smart contract | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| sender | [bytes](#bytes) | | | -| contract | [bytes](#bytes) | | | -| msg | [bytes](#bytes) | | | -| sent_funds | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | repeated | | +| sender | [bytes](#bytes) | | Sender is the that actor that signed the messages | +| contract | [bytes](#bytes) | | Contract is the address of the smart contract | +| msg | [bytes](#bytes) | | Msg json encoded message to be passed to the contract | +| sent_funds | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | repeated | SentFunds coins that are transferred to the contract on execution | @@ -191,17 +191,17 @@ Sequence id and value of a counter ### MsgInstantiateContract - +MsgInstantiateContract create a new smart contract instance for the given code id. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| sender | [bytes](#bytes) | | | +| sender | [bytes](#bytes) | | Sender is the that actor that signed the messages | | admin | [bytes](#bytes) | | Admin is an optional address that can execute migrations | -| code_id | [uint64](#uint64) | | | -| label | [string](#string) | | | -| init_msg | [bytes](#bytes) | | | -| init_funds | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | repeated | | +| code_id | [uint64](#uint64) | | CodeID is the reference to the stored WASM code | +| label | [string](#string) | | Label is optional metadata to be stored with a contract instance. | +| init_msg | [bytes](#bytes) | | InitMsg json encoded message to be passed to the contract on instantiation | +| init_funds | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | repeated | InitFunds coins that are transferred to the contract on instantiation | @@ -211,15 +211,15 @@ Sequence id and value of a counter ### MsgMigrateContract - +MsgMigrateContract runs a code upgrade/ downgrade for a smart contract | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| sender | [bytes](#bytes) | | | -| contract | [bytes](#bytes) | | | -| code_id | [uint64](#uint64) | | | -| migrate_msg | [bytes](#bytes) | | | +| sender | [bytes](#bytes) | | Sender is the that actor that signed the messages | +| contract | [bytes](#bytes) | | Contract is the address of the smart contract | +| code_id | [uint64](#uint64) | | CodeID references the new WASM code | +| migrate_msg | [bytes](#bytes) | | MigrateMsg json encoded message to be passed to the contract on migration | @@ -229,16 +229,16 @@ Sequence id and value of a counter ### MsgStoreCode - +MsgStoreCode submit WASM code to the system | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| sender | [bytes](#bytes) | | | +| sender | [bytes](#bytes) | | Sender is the that actor that signed the messages | | wasm_byte_code | [bytes](#bytes) | | WASMByteCode can be raw or gzip compressed | | source | [string](#string) | | Source is a valid absolute HTTPS URI to the contract's source code, optional | | builder | [string](#string) | | Builder is a valid docker image name with tag, optional | -| instantiate_permission | [AccessConfig](#wasmd.x.wasmd.v1beta1.AccessConfig) | | InstantiatePermission to apply on contract creation, optional | +| instantiate_permission | [AccessConfig](#wasmd.x.wasmd.v1beta1.AccessConfig) | | InstantiatePermission access control to apply on contract creation, optional | @@ -248,14 +248,14 @@ Sequence id and value of a counter ### MsgUpdateAdmin - +MsgUpdateAdmin sets a new admin for a smart contract | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| sender | [bytes](#bytes) | | | -| new_admin | [bytes](#bytes) | | | -| contract | [bytes](#bytes) | | | +| sender | [bytes](#bytes) | | Sender is the that actor that signed the messages | +| new_admin | [bytes](#bytes) | | NewAdmin address to be set | +| contract | [bytes](#bytes) | | Contract is the address of the smart contract | @@ -286,9 +286,9 @@ ClearAdminProposal gov proposal content type to clear the admin of a contract. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| title | [string](#string) | | | -| description | [string](#string) | | | -| contract | [bytes](#bytes) | | | +| title | [string](#string) | | Title is a short summary | +| description | [string](#string) | | Description is a human readable text | +| contract | [bytes](#bytes) | | Contract is the address of the smart contract | @@ -303,14 +303,14 @@ InstantiateContractProposal gov proposal content type to instantiate a contract. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| title | [string](#string) | | | -| description | [string](#string) | | | +| title | [string](#string) | | Title is a short summary | +| description | [string](#string) | | Description is a human readable text | | run_as | [bytes](#bytes) | | RunAs is the address that is passed to the contract's environment as sender | | admin | [bytes](#bytes) | | Admin is an optional address that can execute migrations | -| code_id | [uint64](#uint64) | | | -| label | [string](#string) | | | -| init_msg | [bytes](#bytes) | | | -| init_funds | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | repeated | | +| code_id | [uint64](#uint64) | | CodeID is the reference to the stored WASM code | +| label | [string](#string) | | Label is optional metadata to be stored with a constract instance. | +| init_msg | [bytes](#bytes) | | InitMsg json encoded message to be passed to the contract on instantiation | +| init_funds | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | repeated | InitFunds coins that are transferred to the contract on instantiation | @@ -325,12 +325,12 @@ MigrateContractProposal gov proposal content type to migrate a contract. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| title | [string](#string) | | | -| description | [string](#string) | | | +| title | [string](#string) | | Title is a short summary | +| description | [string](#string) | | Description is a human readable text | | run_as | [bytes](#bytes) | | RunAs is the address that is passed to the contract's environment as sender | -| contract | [bytes](#bytes) | | | -| code_id | [uint64](#uint64) | | | -| migrate_msg | [bytes](#bytes) | | | +| contract | [bytes](#bytes) | | Contract is the address of the smart contract | +| code_id | [uint64](#uint64) | | CodeID references the new WASM code | +| migrate_msg | [bytes](#bytes) | | MigrateMsg json encoded message to be passed to the contract on migration | @@ -340,13 +340,13 @@ MigrateContractProposal gov proposal content type to migrate a contract. ### StoreCodeProposal - +StoreCodeProposal gov proposal content type to submit WASM code to the system | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| title | [string](#string) | | | -| description | [string](#string) | | | +| title | [string](#string) | | Title is a short summary | +| description | [string](#string) | | Description is a human readable text | | run_as | [bytes](#bytes) | | RunAs is the address that is passed to the contract's environment as sender | | wasm_byte_code | [bytes](#bytes) | | WASMByteCode can be raw or gzip compressed | | source | [string](#string) | | Source is a valid absolute HTTPS URI to the contract's source code, optional | @@ -366,10 +366,10 @@ UpdateAdminProposal gov proposal content type to set an admin for a contract. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| title | [string](#string) | | | -| description | [string](#string) | | | -| new_admin | [bytes](#bytes) | | | -| contract | [bytes](#bytes) | | | +| title | [string](#string) | | Title is a short summary | +| description | [string](#string) | | Description is a human readable text | +| new_admin | [bytes](#bytes) | | NewAdmin address to be set | +| contract | [bytes](#bytes) | | Contract is the address of the smart contract | @@ -395,7 +395,7 @@ UpdateAdminProposal gov proposal content type to set an admin for a contract. ### CodeInfoResponse - +CodeInfoResponse contains code meta data from CodeInfo | Field | Type | Label | Description | @@ -430,7 +430,7 @@ ContractInfoWithAddress adds the address (key) to the ContractInfo representatio ### QueryAllContractStateRequest - +QueryAllContractStateRequest is the request type for the Query/AllContractState RPC method | Field | Type | Label | Description | @@ -445,7 +445,7 @@ ContractInfoWithAddress adds the address (key) to the ContractInfo representatio ### QueryAllContractStateResponse - +QueryAllContractStateResponse is the response type for the Query/AllContractState RPC method | Field | Type | Label | Description | @@ -460,7 +460,7 @@ ContractInfoWithAddress adds the address (key) to the ContractInfo representatio ### QueryCodeRequest - +QueryCodeRequest is the request type for the Query/Code RPC method | Field | Type | Label | Description | @@ -475,7 +475,7 @@ ContractInfoWithAddress adds the address (key) to the ContractInfo representatio ### QueryCodeResponse - +QueryCodeResponse is the response type for the Query/Code RPC method | Field | Type | Label | Description | @@ -491,7 +491,7 @@ ContractInfoWithAddress adds the address (key) to the ContractInfo representatio ### QueryCodesResponse - +QueryCodesResponse is the response type for the Query/Codes RPC method | Field | Type | Label | Description | @@ -506,7 +506,7 @@ ContractInfoWithAddress adds the address (key) to the ContractInfo representatio ### QueryContractHistoryRequest - +QueryContractHistoryRequest is the request type for the Query/ContractHistory RPC method | Field | Type | Label | Description | @@ -521,7 +521,7 @@ ContractInfoWithAddress adds the address (key) to the ContractInfo representatio ### QueryContractHistoryResponse - +QueryContractHistoryResponse is the response type for the Query/ContractHistory RPC method | Field | Type | Label | Description | @@ -567,7 +567,7 @@ QueryContractInfoResponse is the response type for the Query/ContractInfo RPC me ### QueryContractsByCodeRequest - +QueryContractsByCodeRequest is the request type for the Query/ContractsByCode RPC method | Field | Type | Label | Description | @@ -582,7 +582,7 @@ QueryContractInfoResponse is the response type for the Query/ContractInfo RPC me ### QueryContractsByCodeResponse - +QueryContractsByCodeResponse is the response type for the Query/ContractsByCode RPC method | Field | Type | Label | Description | @@ -597,7 +597,7 @@ QueryContractInfoResponse is the response type for the Query/ContractInfo RPC me ### QueryRawContractStateRequest - +QueryRawContractStateRequest is the request type for the Query/RawContractState RPC method | Field | Type | Label | Description | @@ -613,12 +613,12 @@ QueryContractInfoResponse is the response type for the Query/ContractInfo RPC me ### QueryRawContractStateResponse - +QueryRawContractStateResponse is the response type for the Query/RawContractState RPC method | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| data | [bytes](#bytes) | | | +| data | [bytes](#bytes) | | Data contains the raw store data | @@ -628,13 +628,13 @@ QueryContractInfoResponse is the response type for the Query/ContractInfo RPC me ### QuerySmartContractStateRequest - +QuerySmartContractStateRequest is the request type for the Query/SmartContractState RPC method | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | address | [bytes](#bytes) | | address is the address of the contract | -| query_data | [bytes](#bytes) | | | +| query_data | [bytes](#bytes) | | QueryData contains the query data passed to the contract | @@ -644,12 +644,12 @@ QueryContractInfoResponse is the response type for the Query/ContractInfo RPC me ### QuerySmartContractStateResponse - +QuerySmartContractStateResponse is the response type for the Query/SmartContractState RPC method | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| data | [bytes](#bytes) | | | +| data | [bytes](#bytes) | | Data contains the json data returned from the smart contract | @@ -669,14 +669,14 @@ Query provides defines the gRPC querier service | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| -| ContractInfo | [QueryContractInfoRequest](#wasmd.x.wasmd.v1beta1.QueryContractInfoRequest) | [QueryContractInfoResponse](#wasmd.x.wasmd.v1beta1.QueryContractInfoResponse) | | -| ContractHistory | [QueryContractHistoryRequest](#wasmd.x.wasmd.v1beta1.QueryContractHistoryRequest) | [QueryContractHistoryResponse](#wasmd.x.wasmd.v1beta1.QueryContractHistoryResponse) | | -| ContractsByCode | [QueryContractsByCodeRequest](#wasmd.x.wasmd.v1beta1.QueryContractsByCodeRequest) | [QueryContractsByCodeResponse](#wasmd.x.wasmd.v1beta1.QueryContractsByCodeResponse) | | -| AllContractState | [QueryAllContractStateRequest](#wasmd.x.wasmd.v1beta1.QueryAllContractStateRequest) | [QueryAllContractStateResponse](#wasmd.x.wasmd.v1beta1.QueryAllContractStateResponse) | | -| RawContractState | [QueryRawContractStateRequest](#wasmd.x.wasmd.v1beta1.QueryRawContractStateRequest) | [QueryRawContractStateResponse](#wasmd.x.wasmd.v1beta1.QueryRawContractStateResponse) | | -| SmartContractState | [QuerySmartContractStateRequest](#wasmd.x.wasmd.v1beta1.QuerySmartContractStateRequest) | [QuerySmartContractStateResponse](#wasmd.x.wasmd.v1beta1.QuerySmartContractStateResponse) | | -| Code | [QueryCodeRequest](#wasmd.x.wasmd.v1beta1.QueryCodeRequest) | [QueryCodeResponse](#wasmd.x.wasmd.v1beta1.QueryCodeResponse) | | -| Codes | [.google.protobuf.Empty](#google.protobuf.Empty) | [QueryCodesResponse](#wasmd.x.wasmd.v1beta1.QueryCodesResponse) | | +| ContractInfo | [QueryContractInfoRequest](#wasmd.x.wasmd.v1beta1.QueryContractInfoRequest) | [QueryContractInfoResponse](#wasmd.x.wasmd.v1beta1.QueryContractInfoResponse) | ContractInfo gets the contract meta data | +| ContractHistory | [QueryContractHistoryRequest](#wasmd.x.wasmd.v1beta1.QueryContractHistoryRequest) | [QueryContractHistoryResponse](#wasmd.x.wasmd.v1beta1.QueryContractHistoryResponse) | ContractHistory gets the contract code history | +| ContractsByCode | [QueryContractsByCodeRequest](#wasmd.x.wasmd.v1beta1.QueryContractsByCodeRequest) | [QueryContractsByCodeResponse](#wasmd.x.wasmd.v1beta1.QueryContractsByCodeResponse) | ContractsByCode lists all smart contracts for a code id | +| AllContractState | [QueryAllContractStateRequest](#wasmd.x.wasmd.v1beta1.QueryAllContractStateRequest) | [QueryAllContractStateResponse](#wasmd.x.wasmd.v1beta1.QueryAllContractStateResponse) | AllContractState gets all raw store data for a single contract | +| RawContractState | [QueryRawContractStateRequest](#wasmd.x.wasmd.v1beta1.QueryRawContractStateRequest) | [QueryRawContractStateResponse](#wasmd.x.wasmd.v1beta1.QueryRawContractStateResponse) | RawContractState gets single key from the raw store data of a contract | +| SmartContractState | [QuerySmartContractStateRequest](#wasmd.x.wasmd.v1beta1.QuerySmartContractStateRequest) | [QuerySmartContractStateResponse](#wasmd.x.wasmd.v1beta1.QuerySmartContractStateResponse) | SmartContractState get smart query result from the contract | +| Code | [QueryCodeRequest](#wasmd.x.wasmd.v1beta1.QueryCodeRequest) | [QueryCodeResponse](#wasmd.x.wasmd.v1beta1.QueryCodeResponse) | Code gets the binary code and metadata for a singe wasm code | +| Codes | [.google.protobuf.Empty](#google.protobuf.Empty) | [QueryCodesResponse](#wasmd.x.wasmd.v1beta1.QueryCodesResponse) | Codes gets the metadata for all stored wasm codes | @@ -708,7 +708,7 @@ AbsoluteTxPosition can be used to sort contracts ### AccessConfig - +AccessConfig access control type. | Field | Type | Label | Description | @@ -724,7 +724,7 @@ AbsoluteTxPosition can be used to sort contracts ### AccessTypeParam - +AccessTypeParam | Field | Type | Label | Description | @@ -744,11 +744,11 @@ CodeInfo is data for the uploaded contract WASM code | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| code_hash | [bytes](#bytes) | | | -| creator | [bytes](#bytes) | | | -| source | [string](#string) | | | -| builder | [string](#string) | | | -| instantiate_config | [AccessConfig](#wasmd.x.wasmd.v1beta1.AccessConfig) | | | +| code_hash | [bytes](#bytes) | | CodeHash is the unique CodeID | +| creator | [bytes](#bytes) | | Creator address who initially stored the code | +| source | [string](#string) | | Source is a valid absolute HTTPS URI to the contract's source code, optional | +| builder | [string](#string) | | Builder is a valid docker image name with tag, optional | +| instantiate_config | [AccessConfig](#wasmd.x.wasmd.v1beta1.AccessConfig) | | InstantiateConfig access control to apply on contract creation, optional | @@ -758,14 +758,14 @@ CodeInfo is data for the uploaded contract WASM code ### ContractCodeHistoryEntry -ContractCodeHistoryEntry stores code updates to a contract. +ContractCodeHistoryEntry metadata to a contract. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | operation | [ContractCodeHistoryOperationType](#wasmd.x.wasmd.v1beta1.ContractCodeHistoryOperationType) | | | -| code_id | [uint64](#uint64) | | | -| updated | [AbsoluteTxPosition](#wasmd.x.wasmd.v1beta1.AbsoluteTxPosition) | | | +| code_id | [uint64](#uint64) | | CodeID is the reference to the stored WASM code | +| updated | [AbsoluteTxPosition](#wasmd.x.wasmd.v1beta1.AbsoluteTxPosition) | | Updated Tx position when the operation was executed. | | msg | [bytes](#bytes) | | | @@ -776,7 +776,7 @@ ContractCodeHistoryEntry stores code updates to a contract. ### ContractHistory - +ContractHistory contains a sorted list of code updates to a contract | Field | Type | Label | Description | @@ -796,11 +796,11 @@ ContractInfo stores a WASM contract instance | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| code_id | [uint64](#uint64) | | | -| creator | [bytes](#bytes) | | | -| admin | [bytes](#bytes) | | | -| label | [string](#string) | | | -| created | [AbsoluteTxPosition](#wasmd.x.wasmd.v1beta1.AbsoluteTxPosition) | | never show this in query results, just use for sorting (Note: when using json tag "-" amino refused to serialize it...) | +| code_id | [uint64](#uint64) | | CodeID is the reference to the stored WASM code | +| creator | [bytes](#bytes) | | Creator address who initially instantiated the contract | +| admin | [bytes](#bytes) | | Admin is an optional address that can execute migrations | +| label | [string](#string) | | Label is optional metadata to be stored with a contract instance. | +| created | [AbsoluteTxPosition](#wasmd.x.wasmd.v1beta1.AbsoluteTxPosition) | | Created Tx position when the contract was instantiated. This data should kept internal and not be exposed via query results. Just use for sorting | @@ -845,28 +845,28 @@ Params defines the set of wasm parameters. ### AccessType - +AccessType permission types | Name | Number | Description | | ---- | ------ | ----------- | -| ACCESS_TYPE_UNSPECIFIED | 0 | | -| ACCESS_TYPE_NOBODY | 1 | | -| ACCESS_TYPE_ONLY_ADDRESS | 2 | | -| ACCESS_TYPE_EVERYBODY | 3 | | +| ACCESS_TYPE_UNSPECIFIED | 0 | AccessTypeUnspecified placeholder for empty value | +| ACCESS_TYPE_NOBODY | 1 | AccessTypeNobody forbidden | +| ACCESS_TYPE_ONLY_ADDRESS | 2 | AccessTypeOnlyAddress restricted to an address | +| ACCESS_TYPE_EVERYBODY | 3 | AccessTypeEverybody unrestricted | ### ContractCodeHistoryOperationType - +ContractCodeHistoryOperationType actions that caused a code change | Name | Number | Description | | ---- | ------ | ----------- | -| CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED | 0 | | -| CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT | 1 | | -| CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE | 2 | | -| CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS | 3 | | +| CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED | 0 | ContractCodeHistoryOperationTypeUnspecified placeholder for empty value | +| CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT | 1 | ContractCodeHistoryOperationTypeInit on chain contract instantiation | +| CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE | 2 | ContractCodeHistoryOperationTypeMigrate code migration | +| CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS | 3 | ContractCodeHistoryOperationTypeGenesis based on genesis data | diff --git a/x/wasm/internal/types/genesis.pb.go b/x/wasm/internal/types/genesis.pb.go index ac67c197bb..2eaf406ed6 100644 --- a/x/wasm/internal/types/genesis.pb.go +++ b/x/wasm/internal/types/genesis.pb.go @@ -215,7 +215,7 @@ func (m *Contract) GetContractState() []Model { return nil } -// Sequence id and value of a counter +// Sequence key and value of an id generation counter type Sequence struct { IDKey []byte `protobuf:"bytes,1,opt,name=id_key,json=idKey,proto3" json:"id_key,omitempty"` Value uint64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` diff --git a/x/wasm/internal/types/genesis.proto b/x/wasm/internal/types/genesis.proto index cf5529b28d..711a7fab4a 100644 --- a/x/wasm/internal/types/genesis.proto +++ b/x/wasm/internal/types/genesis.proto @@ -28,7 +28,7 @@ message Contract { repeated Model contract_state = 3 [(gogoproto.nullable) = false]; } -// Sequence id and value of a counter +// Sequence key and value of an id generation counter message Sequence { bytes id_key = 1 [(gogoproto.customname) = "IDKey"]; uint64 value = 2; diff --git a/x/wasm/internal/types/msg.pb.go b/x/wasm/internal/types/msg.pb.go index e39f7ae21c..5ea86c6f19 100644 --- a/x/wasm/internal/types/msg.pb.go +++ b/x/wasm/internal/types/msg.pb.go @@ -26,7 +26,9 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package +// MsgStoreCode submit WASM code to the system type MsgStoreCode struct { + // Sender is the that actor that signed the messages Sender github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=sender,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"sender,omitempty"` // WASMByteCode can be raw or gzip compressed WASMByteCode []byte `protobuf:"bytes,2,opt,name=wasm_byte_code,json=wasmByteCode,proto3" json:"wasm_byte_code,omitempty"` @@ -34,7 +36,7 @@ type MsgStoreCode struct { Source string `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"` // Builder is a valid docker image name with tag, optional Builder string `protobuf:"bytes,4,opt,name=builder,proto3" json:"builder,omitempty"` - // InstantiatePermission to apply on contract creation, optional + // InstantiatePermission access control to apply on contract creation, optional InstantiatePermission *AccessConfig `protobuf:"bytes,5,opt,name=instantiate_permission,json=instantiatePermission,proto3" json:"instantiate_permission,omitempty"` } @@ -71,14 +73,20 @@ func (m *MsgStoreCode) XXX_DiscardUnknown() { var xxx_messageInfo_MsgStoreCode proto.InternalMessageInfo +// MsgInstantiateContract create a new smart contract instance for the given code id. type MsgInstantiateContract struct { + // Sender is the that actor that signed the messages Sender github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=sender,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"sender,omitempty"` // Admin is an optional address that can execute migrations - Admin github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,2,opt,name=admin,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"admin,omitempty"` - CodeID uint64 `protobuf:"varint,3,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` - Label string `protobuf:"bytes,4,opt,name=label,proto3" json:"label,omitempty"` - InitMsg encoding_json.RawMessage `protobuf:"bytes,5,opt,name=init_msg,json=initMsg,proto3,casttype=encoding/json.RawMessage" json:"init_msg,omitempty"` - InitFunds github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,6,rep,name=init_funds,json=initFunds,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"init_funds"` + Admin github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,2,opt,name=admin,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"admin,omitempty"` + // CodeID is the reference to the stored WASM code + CodeID uint64 `protobuf:"varint,3,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` + // Label is optional metadata to be stored with a contract instance. + Label string `protobuf:"bytes,4,opt,name=label,proto3" json:"label,omitempty"` + // InitMsg json encoded message to be passed to the contract on instantiation + InitMsg encoding_json.RawMessage `protobuf:"bytes,5,opt,name=init_msg,json=initMsg,proto3,casttype=encoding/json.RawMessage" json:"init_msg,omitempty"` + // InitFunds coins that are transferred to the contract on instantiation + InitFunds github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,6,rep,name=init_funds,json=initFunds,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"init_funds"` } func (m *MsgInstantiateContract) Reset() { *m = MsgInstantiateContract{} } @@ -114,11 +122,16 @@ func (m *MsgInstantiateContract) XXX_DiscardUnknown() { var xxx_messageInfo_MsgInstantiateContract proto.InternalMessageInfo +// MsgExecuteContract submits the given message data to a smart contract type MsgExecuteContract struct { - Sender github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=sender,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"sender,omitempty"` - Contract github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,2,opt,name=contract,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"contract,omitempty"` - Msg encoding_json.RawMessage `protobuf:"bytes,3,opt,name=msg,proto3,casttype=encoding/json.RawMessage" json:"msg,omitempty"` - SentFunds github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,5,rep,name=sent_funds,json=sentFunds,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"sent_funds"` + // Sender is the that actor that signed the messages + Sender github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=sender,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"sender,omitempty"` + // Contract is the address of the smart contract + Contract github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,2,opt,name=contract,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"contract,omitempty"` + // Msg json encoded message to be passed to the contract + Msg encoding_json.RawMessage `protobuf:"bytes,3,opt,name=msg,proto3,casttype=encoding/json.RawMessage" json:"msg,omitempty"` + // SentFunds coins that are transferred to the contract on execution + SentFunds github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,5,rep,name=sent_funds,json=sentFunds,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"sent_funds"` } func (m *MsgExecuteContract) Reset() { *m = MsgExecuteContract{} } @@ -154,11 +167,16 @@ func (m *MsgExecuteContract) XXX_DiscardUnknown() { var xxx_messageInfo_MsgExecuteContract proto.InternalMessageInfo +// MsgMigrateContract runs a code upgrade/ downgrade for a smart contract type MsgMigrateContract struct { - Sender github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=sender,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"sender,omitempty"` - Contract github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,2,opt,name=contract,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"contract,omitempty"` - CodeID uint64 `protobuf:"varint,3,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` - MigrateMsg encoding_json.RawMessage `protobuf:"bytes,4,opt,name=migrate_msg,json=migrateMsg,proto3,casttype=encoding/json.RawMessage" json:"migrate_msg,omitempty"` + // Sender is the that actor that signed the messages + Sender github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=sender,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"sender,omitempty"` + // Contract is the address of the smart contract + Contract github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,2,opt,name=contract,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"contract,omitempty"` + // CodeID references the new WASM code + CodeID uint64 `protobuf:"varint,3,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` + // MigrateMsg json encoded message to be passed to the contract on migration + MigrateMsg encoding_json.RawMessage `protobuf:"bytes,4,opt,name=migrate_msg,json=migrateMsg,proto3,casttype=encoding/json.RawMessage" json:"migrate_msg,omitempty"` } func (m *MsgMigrateContract) Reset() { *m = MsgMigrateContract{} } @@ -194,9 +212,13 @@ func (m *MsgMigrateContract) XXX_DiscardUnknown() { var xxx_messageInfo_MsgMigrateContract proto.InternalMessageInfo +// MsgUpdateAdmin sets a new admin for a smart contract type MsgUpdateAdmin struct { - Sender github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=sender,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"sender,omitempty"` + // Sender is the that actor that signed the messages + Sender github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=sender,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"sender,omitempty"` + // NewAdmin address to be set NewAdmin github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,2,opt,name=new_admin,json=newAdmin,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"new_admin,omitempty"` + // Contract is the address of the smart contract Contract github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,3,opt,name=contract,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"contract,omitempty"` } @@ -233,8 +255,11 @@ func (m *MsgUpdateAdmin) XXX_DiscardUnknown() { var xxx_messageInfo_MsgUpdateAdmin proto.InternalMessageInfo +// MsgClearAdmin removes any admin stored for a smart contract type MsgClearAdmin struct { - Sender github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=sender,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"sender,omitempty"` + // Sender is the that actor that signed the messages + Sender github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=sender,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"sender,omitempty"` + // Contract is the address of the smart contract Contract github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,3,opt,name=contract,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"contract,omitempty"` } diff --git a/x/wasm/internal/types/msg.proto b/x/wasm/internal/types/msg.proto index 87f994eacf..cd4b6960e6 100644 --- a/x/wasm/internal/types/msg.proto +++ b/x/wasm/internal/types/msg.proto @@ -10,7 +10,9 @@ option go_package = "github.com/CosmWasm/wasmd/x/wasmd/internal/types"; option (gogoproto.goproto_getters_all) = false; +// MsgStoreCode submit WASM code to the system message MsgStoreCode { + // Sender is the that actor that signed the messages bytes sender = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; // WASMByteCode can be raw or gzip compressed bytes wasm_byte_code = 2 [(gogoproto.customname) = "WASMByteCode"]; @@ -18,41 +20,65 @@ message MsgStoreCode { string source = 3; // Builder is a valid docker image name with tag, optional string builder = 4; - // InstantiatePermission to apply on contract creation, optional + // InstantiatePermission access control to apply on contract creation, optional AccessConfig instantiate_permission = 5; } +// MsgInstantiateContract create a new smart contract instance for the given code id. message MsgInstantiateContract { + // Sender is the that actor that signed the messages bytes sender = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; // Admin is an optional address that can execute migrations bytes admin = 2 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // CodeID is the reference to the stored WASM code uint64 code_id = 3 [(gogoproto.customname) = "CodeID"]; + // Label is optional metadata to be stored with a contract instance. string label = 4; + // InitMsg json encoded message to be passed to the contract on instantiation bytes init_msg = 5 [(gogoproto.casttype) = "encoding/json.RawMessage"]; + // InitFunds coins that are transferred to the contract on instantiation repeated cosmos.base.v1beta1.Coin init_funds = 6 [(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"]; } +// MsgExecuteContract submits the given message data to a smart contract message MsgExecuteContract { + // Sender is the that actor that signed the messages bytes sender = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // Contract is the address of the smart contract bytes contract = 2 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // Msg json encoded message to be passed to the contract bytes msg = 3 [(gogoproto.casttype) = "encoding/json.RawMessage"]; + // SentFunds coins that are transferred to the contract on execution repeated cosmos.base.v1beta1.Coin sent_funds = 5 [(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"]; } +// MsgMigrateContract runs a code upgrade/ downgrade for a smart contract message MsgMigrateContract { + // Sender is the that actor that signed the messages bytes sender = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // Contract is the address of the smart contract bytes contract = 2 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // CodeID references the new WASM code uint64 code_id = 3 [(gogoproto.customname) = "CodeID"]; + // MigrateMsg json encoded message to be passed to the contract on migration bytes migrate_msg = 4 [(gogoproto.casttype) = "encoding/json.RawMessage"]; } +// MsgUpdateAdmin sets a new admin for a smart contract message MsgUpdateAdmin { + // Sender is the that actor that signed the messages bytes sender = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // NewAdmin address to be set bytes new_admin = 2 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // Contract is the address of the smart contract bytes contract = 3 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; } + +// MsgClearAdmin removes any admin stored for a smart contract message MsgClearAdmin { + // Sender is the that actor that signed the messages bytes sender = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // Contract is the address of the smart contract bytes contract = 3 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; } diff --git a/x/wasm/internal/types/params_test.go b/x/wasm/internal/types/params_test.go index abbe8b2cd1..56cd92691e 100644 --- a/x/wasm/internal/types/params_test.go +++ b/x/wasm/internal/types/params_test.go @@ -124,7 +124,7 @@ func TestAccessTypeMarshalJson(t *testing.T) { src AccessType exp string }{ - "Unspecified": {src: AccessTypeUnspecified, exp: `"Unspecified"`}, + "Unspecified": {src: AccessTypeUnspecified, exp: `"Unspecified"`}, "Nobody": {src: AccessTypeNobody, exp: `"Nobody"`}, "OnlyAddress": {src: AccessTypeOnlyAddress, exp: `"OnlyAddress"`}, "Everybody": {src: AccessTypeEverybody, exp: `"Everybody"`}, @@ -144,7 +144,7 @@ func TestAccessTypeUnmarshalJson(t *testing.T) { src string exp AccessType }{ - "Unspecified": {src: `"Unspecified"`, exp: AccessTypeUnspecified}, + "Unspecified": {src: `"Unspecified"`, exp: AccessTypeUnspecified}, "Nobody": {src: `"Nobody"`, exp: AccessTypeNobody}, "OnlyAddress": {src: `"OnlyAddress"`, exp: AccessTypeOnlyAddress}, "Everybody": {src: `"Everybody"`, exp: AccessTypeEverybody}, diff --git a/x/wasm/internal/types/proposal.pb.go b/x/wasm/internal/types/proposal.pb.go index abc83e0a12..dfd0496f3f 100644 --- a/x/wasm/internal/types/proposal.pb.go +++ b/x/wasm/internal/types/proposal.pb.go @@ -27,8 +27,11 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package +// StoreCodeProposal gov proposal content type to submit WASM code to the system type StoreCodeProposal struct { - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` + // Title is a short summary + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` + // Description is a human readable text Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` // RunAs is the address that is passed to the contract's environment as sender RunAs github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,3,opt,name=run_as,json=runAs,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"run_as,omitempty"` @@ -76,16 +79,22 @@ var xxx_messageInfo_StoreCodeProposal proto.InternalMessageInfo // InstantiateContractProposal gov proposal content type to instantiate a contract. type InstantiateContractProposal struct { - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` + // Title is a short summary + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` + // Description is a human readable text Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` // RunAs is the address that is passed to the contract's environment as sender RunAs github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,3,opt,name=run_as,json=runAs,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"run_as,omitempty"` // Admin is an optional address that can execute migrations - Admin github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,4,opt,name=admin,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"admin,omitempty"` - CodeID uint64 `protobuf:"varint,5,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` - Label string `protobuf:"bytes,6,opt,name=label,proto3" json:"label,omitempty"` - InitMsg encoding_json.RawMessage `protobuf:"bytes,7,opt,name=init_msg,json=initMsg,proto3,casttype=encoding/json.RawMessage" json:"init_msg,omitempty"` - InitFunds github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,8,rep,name=init_funds,json=initFunds,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"init_funds"` + Admin github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,4,opt,name=admin,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"admin,omitempty"` + // CodeID is the reference to the stored WASM code + CodeID uint64 `protobuf:"varint,5,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` + // Label is optional metadata to be stored with a constract instance. + Label string `protobuf:"bytes,6,opt,name=label,proto3" json:"label,omitempty"` + // InitMsg json encoded message to be passed to the contract on instantiation + InitMsg encoding_json.RawMessage `protobuf:"bytes,7,opt,name=init_msg,json=initMsg,proto3,casttype=encoding/json.RawMessage" json:"init_msg,omitempty"` + // InitFunds coins that are transferred to the contract on instantiation + InitFunds github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,8,rep,name=init_funds,json=initFunds,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"init_funds"` } func (m *InstantiateContractProposal) Reset() { *m = InstantiateContractProposal{} } @@ -122,13 +131,18 @@ var xxx_messageInfo_InstantiateContractProposal proto.InternalMessageInfo // MigrateContractProposal gov proposal content type to migrate a contract. type MigrateContractProposal struct { - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` + // Title is a short summary + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` + // Description is a human readable text Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` // RunAs is the address that is passed to the contract's environment as sender - RunAs github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,3,opt,name=run_as,json=runAs,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"run_as,omitempty"` - Contract github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,4,opt,name=contract,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"contract,omitempty"` - CodeID uint64 `protobuf:"varint,5,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` - MigrateMsg encoding_json.RawMessage `protobuf:"bytes,6,opt,name=migrate_msg,json=migrateMsg,proto3,casttype=encoding/json.RawMessage" json:"migrate_msg,omitempty"` + RunAs github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,3,opt,name=run_as,json=runAs,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"run_as,omitempty"` + // Contract is the address of the smart contract + Contract github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,4,opt,name=contract,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"contract,omitempty"` + // CodeID references the new WASM code + CodeID uint64 `protobuf:"varint,5,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` + // MigrateMsg json encoded message to be passed to the contract on migration + MigrateMsg encoding_json.RawMessage `protobuf:"bytes,6,opt,name=migrate_msg,json=migrateMsg,proto3,casttype=encoding/json.RawMessage" json:"migrate_msg,omitempty"` } func (m *MigrateContractProposal) Reset() { *m = MigrateContractProposal{} } @@ -165,10 +179,14 @@ var xxx_messageInfo_MigrateContractProposal proto.InternalMessageInfo // UpdateAdminProposal gov proposal content type to set an admin for a contract. type UpdateAdminProposal struct { - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - NewAdmin github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,3,opt,name=new_admin,json=newAdmin,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"new_admin,omitempty" yaml:"new_admin"` - Contract github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,4,opt,name=contract,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"contract,omitempty"` + // Title is a short summary + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` + // Description is a human readable text + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // NewAdmin address to be set + NewAdmin github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,3,opt,name=new_admin,json=newAdmin,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"new_admin,omitempty" yaml:"new_admin"` + // Contract is the address of the smart contract + Contract github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,4,opt,name=contract,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"contract,omitempty"` } func (m *UpdateAdminProposal) Reset() { *m = UpdateAdminProposal{} } @@ -205,9 +223,12 @@ var xxx_messageInfo_UpdateAdminProposal proto.InternalMessageInfo // ClearAdminProposal gov proposal content type to clear the admin of a contract. type ClearAdminProposal struct { - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - Contract github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,3,opt,name=contract,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"contract,omitempty"` + // Title is a short summary + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` + // Description is a human readable text + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // Contract is the address of the smart contract + Contract github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,3,opt,name=contract,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"contract,omitempty"` } func (m *ClearAdminProposal) Reset() { *m = ClearAdminProposal{} } diff --git a/x/wasm/internal/types/proposal.proto b/x/wasm/internal/types/proposal.proto index eea5db0b31..24f5d9de27 100644 --- a/x/wasm/internal/types/proposal.proto +++ b/x/wasm/internal/types/proposal.proto @@ -10,8 +10,11 @@ option (gogoproto.goproto_stringer_all) = false; option (gogoproto.goproto_getters_all) = false; option (gogoproto.equal_all) = true; +// StoreCodeProposal gov proposal content type to submit WASM code to the system message StoreCodeProposal { + // Title is a short summary string title = 1; + // Description is a human readable text string description = 2; // RunAs is the address that is passed to the contract's environment as sender bytes run_as = 3 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; @@ -27,42 +30,58 @@ message StoreCodeProposal { // InstantiateContractProposal gov proposal content type to instantiate a contract. message InstantiateContractProposal { + // Title is a short summary string title = 1; + // Description is a human readable text string description = 2; - - // RunAs is the address that is passed to the contract's environment as sender bytes run_as = 3 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; // Admin is an optional address that can execute migrations bytes admin = 4 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // CodeID is the reference to the stored WASM code uint64 code_id = 5 [(gogoproto.customname) = "CodeID"]; + // Label is optional metadata to be stored with a constract instance. string label = 6; + // InitMsg json encoded message to be passed to the contract on instantiation bytes init_msg = 7 [(gogoproto.casttype) = "encoding/json.RawMessage"]; + // InitFunds coins that are transferred to the contract on instantiation repeated cosmos.base.v1beta1.Coin init_funds = 8 [(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"]; } // MigrateContractProposal gov proposal content type to migrate a contract. message MigrateContractProposal { + // Title is a short summary string title = 1; + // Description is a human readable text string description = 2; // RunAs is the address that is passed to the contract's environment as sender bytes run_as = 3 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // Contract is the address of the smart contract bytes contract = 4 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // CodeID references the new WASM code uint64 code_id = 5 [(gogoproto.customname) = "CodeID"]; + // MigrateMsg json encoded message to be passed to the contract on migration bytes migrate_msg = 6 [(gogoproto.casttype) = "encoding/json.RawMessage"]; } // UpdateAdminProposal gov proposal content type to set an admin for a contract. message UpdateAdminProposal { + // Title is a short summary string title = 1; + // Description is a human readable text string description = 2; + // NewAdmin address to be set bytes new_admin = 3 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress", (gogoproto.moretags) = "yaml:\"new_admin\""]; + // Contract is the address of the smart contract bytes contract = 4 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; } // ClearAdminProposal gov proposal content type to clear the admin of a contract. message ClearAdminProposal { + // Title is a short summary string title = 1; + // Description is a human readable text string description = 2; + // Contract is the address of the smart contract bytes contract = 3 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; } diff --git a/x/wasm/internal/types/query.pb.go b/x/wasm/internal/types/query.pb.go index 12b34f2433..79935c7a80 100644 --- a/x/wasm/internal/types/query.pb.go +++ b/x/wasm/internal/types/query.pb.go @@ -113,6 +113,7 @@ func (m *QueryContractInfoResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryContractInfoResponse proto.InternalMessageInfo +// QueryContractHistoryRequest is the request type for the Query/ContractHistory RPC method type QueryContractHistoryRequest struct { // address is the address of the contract to query Address github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=address,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"address,omitempty"` @@ -151,6 +152,7 @@ func (m *QueryContractHistoryRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryContractHistoryRequest proto.InternalMessageInfo +// QueryContractHistoryResponse is the response type for the Query/ContractHistory RPC method type QueryContractHistoryResponse struct { Entries []ContractCodeHistoryEntry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries"` } @@ -188,6 +190,7 @@ func (m *QueryContractHistoryResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryContractHistoryResponse proto.InternalMessageInfo +// QueryContractsByCodeRequest is the request type for the Query/ContractsByCode RPC method type QueryContractsByCodeRequest struct { CodeId uint64 `protobuf:"varint,1,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` } @@ -264,6 +267,7 @@ func (m *ContractInfoWithAddress) XXX_DiscardUnknown() { var xxx_messageInfo_ContractInfoWithAddress proto.InternalMessageInfo +// QueryContractsByCodeResponse is the response type for the Query/ContractsByCode RPC method type QueryContractsByCodeResponse struct { ContractInfos []ContractInfoWithAddress `protobuf:"bytes,1,rep,name=contract_infos,json=contractInfos,proto3" json:"contract_infos"` } @@ -301,6 +305,7 @@ func (m *QueryContractsByCodeResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryContractsByCodeResponse proto.InternalMessageInfo +// QueryAllContractStateRequest is the request type for the Query/AllContractState RPC method type QueryAllContractStateRequest struct { // address is the address of the contract Address github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=address,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"address,omitempty"` @@ -339,6 +344,7 @@ func (m *QueryAllContractStateRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryAllContractStateRequest proto.InternalMessageInfo +// QueryAllContractStateResponse is the response type for the Query/AllContractState RPC method type QueryAllContractStateResponse struct { Models []Model `protobuf:"bytes,1,rep,name=models,proto3" json:"models"` } @@ -376,6 +382,7 @@ func (m *QueryAllContractStateResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryAllContractStateResponse proto.InternalMessageInfo +// QueryRawContractStateRequest is the request type for the Query/RawContractState RPC method type QueryRawContractStateRequest struct { // address is the address of the contract Address github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=address,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"address,omitempty"` @@ -415,7 +422,9 @@ func (m *QueryRawContractStateRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryRawContractStateRequest proto.InternalMessageInfo +// QueryRawContractStateResponse is the response type for the Query/RawContractState RPC method type QueryRawContractStateResponse struct { + // Data contains the raw store data Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` } @@ -452,10 +461,12 @@ func (m *QueryRawContractStateResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryRawContractStateResponse proto.InternalMessageInfo +// QuerySmartContractStateRequest is the request type for the Query/SmartContractState RPC method type QuerySmartContractStateRequest struct { // address is the address of the contract - Address github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=address,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"address,omitempty"` - QueryData []byte `protobuf:"bytes,2,opt,name=query_data,json=queryData,proto3" json:"query_data,omitempty"` + Address github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=address,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"address,omitempty"` + // QueryData contains the query data passed to the contract + QueryData []byte `protobuf:"bytes,2,opt,name=query_data,json=queryData,proto3" json:"query_data,omitempty"` } func (m *QuerySmartContractStateRequest) Reset() { *m = QuerySmartContractStateRequest{} } @@ -491,7 +502,9 @@ func (m *QuerySmartContractStateRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QuerySmartContractStateRequest proto.InternalMessageInfo +// QuerySmartContractStateResponse is the response type for the Query/SmartContractState RPC method type QuerySmartContractStateResponse struct { + // Data contains the json data returned from the smart contract Data encoding_json.RawMessage `protobuf:"bytes,1,opt,name=data,proto3,casttype=encoding/json.RawMessage" json:"data,omitempty"` } @@ -528,6 +541,7 @@ func (m *QuerySmartContractStateResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QuerySmartContractStateResponse proto.InternalMessageInfo +// QueryCodeRequest is the request type for the Query/Code RPC method type QueryCodeRequest struct { CodeId uint64 `protobuf:"varint,1,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` } @@ -565,6 +579,7 @@ func (m *QueryCodeRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryCodeRequest proto.InternalMessageInfo +// CodeInfoResponse contains code meta data from CodeInfo type CodeInfoResponse struct { CodeID uint64 `protobuf:"varint,1,opt,name=code_id,json=codeId,proto3" json:"id"` Creator github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,2,opt,name=creator,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"creator,omitempty"` @@ -606,6 +621,7 @@ func (m *CodeInfoResponse) XXX_DiscardUnknown() { var xxx_messageInfo_CodeInfoResponse proto.InternalMessageInfo +// QueryCodeResponse is the response type for the Query/Code RPC method type QueryCodeResponse struct { *CodeInfoResponse `protobuf:"bytes,1,opt,name=code_info,json=codeInfo,proto3,embedded=code_info" json:""` Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data"` @@ -644,6 +660,7 @@ func (m *QueryCodeResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryCodeResponse proto.InternalMessageInfo +// QueryCodesResponse is the response type for the Query/Codes RPC method type QueryCodesResponse struct { CodeInfos []CodeInfoResponse `protobuf:"bytes,1,rep,name=code_infos,json=codeInfos,proto3" json:"code_infos"` } @@ -1243,13 +1260,21 @@ const _ = grpc.SupportPackageIsVersion4 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type QueryClient interface { + // ContractInfo gets the contract meta data ContractInfo(ctx context.Context, in *QueryContractInfoRequest, opts ...grpc.CallOption) (*QueryContractInfoResponse, error) + // ContractHistory gets the contract code history ContractHistory(ctx context.Context, in *QueryContractHistoryRequest, opts ...grpc.CallOption) (*QueryContractHistoryResponse, error) + // ContractsByCode lists all smart contracts for a code id ContractsByCode(ctx context.Context, in *QueryContractsByCodeRequest, opts ...grpc.CallOption) (*QueryContractsByCodeResponse, error) + // AllContractState gets all raw store data for a single contract AllContractState(ctx context.Context, in *QueryAllContractStateRequest, opts ...grpc.CallOption) (*QueryAllContractStateResponse, error) + // RawContractState gets single key from the raw store data of a contract RawContractState(ctx context.Context, in *QueryRawContractStateRequest, opts ...grpc.CallOption) (*QueryRawContractStateResponse, error) + // SmartContractState get smart query result from the contract SmartContractState(ctx context.Context, in *QuerySmartContractStateRequest, opts ...grpc.CallOption) (*QuerySmartContractStateResponse, error) + // Code gets the binary code and metadata for a singe wasm code Code(ctx context.Context, in *QueryCodeRequest, opts ...grpc.CallOption) (*QueryCodeResponse, error) + // Codes gets the metadata for all stored wasm codes Codes(ctx context.Context, in *types.Empty, opts ...grpc.CallOption) (*QueryCodesResponse, error) } @@ -1335,13 +1360,21 @@ func (c *queryClient) Codes(ctx context.Context, in *types.Empty, opts ...grpc.C // QueryServer is the server API for Query service. type QueryServer interface { + // ContractInfo gets the contract meta data ContractInfo(context.Context, *QueryContractInfoRequest) (*QueryContractInfoResponse, error) + // ContractHistory gets the contract code history ContractHistory(context.Context, *QueryContractHistoryRequest) (*QueryContractHistoryResponse, error) + // ContractsByCode lists all smart contracts for a code id ContractsByCode(context.Context, *QueryContractsByCodeRequest) (*QueryContractsByCodeResponse, error) + // AllContractState gets all raw store data for a single contract AllContractState(context.Context, *QueryAllContractStateRequest) (*QueryAllContractStateResponse, error) + // RawContractState gets single key from the raw store data of a contract RawContractState(context.Context, *QueryRawContractStateRequest) (*QueryRawContractStateResponse, error) + // SmartContractState get smart query result from the contract SmartContractState(context.Context, *QuerySmartContractStateRequest) (*QuerySmartContractStateResponse, error) + // Code gets the binary code and metadata for a singe wasm code Code(context.Context, *QueryCodeRequest) (*QueryCodeResponse, error) + // Codes gets the metadata for all stored wasm codes Codes(context.Context, *types.Empty) (*QueryCodesResponse, error) } diff --git a/x/wasm/internal/types/query.proto b/x/wasm/internal/types/query.proto index ded7271434..63a6a14728 100644 --- a/x/wasm/internal/types/query.proto +++ b/x/wasm/internal/types/query.proto @@ -12,27 +12,35 @@ option (gogoproto.equal_all) = true; // Query provides defines the gRPC querier service service Query { + // ContractInfo gets the contract meta data rpc ContractInfo (QueryContractInfoRequest) returns (QueryContractInfoResponse) { option (google.api.http).get = "/wasm/v1beta1/contract/{address}"; } + // ContractHistory gets the contract code history rpc ContractHistory (QueryContractHistoryRequest) returns (QueryContractHistoryResponse) { option (google.api.http).get = "/wasm/v1beta1/contract/{address}/history"; } + // ContractsByCode lists all smart contracts for a code id rpc ContractsByCode (QueryContractsByCodeRequest) returns (QueryContractsByCodeResponse) { option (google.api.http).get = "/wasm/v1beta1/code/{code_id}/contracts"; } + // AllContractState gets all raw store data for a single contract rpc AllContractState (QueryAllContractStateRequest) returns (QueryAllContractStateResponse) { option (google.api.http).get = "/wasm/v1beta1/contract/{address}/state"; } + // RawContractState gets single key from the raw store data of a contract rpc RawContractState (QueryRawContractStateRequest) returns (QueryRawContractStateResponse) { option (google.api.http).get = "/wasm/v1beta1/contract/{address}/raw/{query_data}"; } + // SmartContractState get smart query result from the contract rpc SmartContractState (QuerySmartContractStateRequest) returns (QuerySmartContractStateResponse) { option (google.api.http).get = "/wasm/v1beta1/contract/{address}/smart/{query_data}"; } + // Code gets the binary code and metadata for a singe wasm code rpc Code (QueryCodeRequest) returns (QueryCodeResponse) { option (google.api.http).get = "/wasm/v1beta1/code/{code_id}"; } + // Codes gets the metadata for all stored wasm codes rpc Codes (google.protobuf.Empty) returns (QueryCodesResponse) { option (google.api.http).get = "/wasm/v1beta1/code"; } @@ -50,15 +58,17 @@ message QueryContractInfoResponse { ContractInfo contract_info = 2 [(gogoproto.embed) = true, (gogoproto.jsontag) = ""]; } +// QueryContractHistoryRequest is the request type for the Query/ContractHistory RPC method message QueryContractHistoryRequest { // address is the address of the contract to query bytes address = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; } +// QueryContractHistoryResponse is the response type for the Query/ContractHistory RPC method message QueryContractHistoryResponse { repeated ContractCodeHistoryEntry entries = 1 [(gogoproto.nullable) = false]; } - +// QueryContractsByCodeRequest is the request type for the Query/ContractsByCode RPC method message QueryContractsByCodeRequest { uint64 code_id = 1; // grpc-gateway_out does not support Go style CodID } @@ -68,44 +78,53 @@ message ContractInfoWithAddress { bytes address = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; ContractInfo contract_info = 2 [(gogoproto.embed) = true, (gogoproto.jsontag) = ""]; } - +// QueryContractsByCodeResponse is the response type for the Query/ContractsByCode RPC method message QueryContractsByCodeResponse { repeated ContractInfoWithAddress contract_infos = 1 [(gogoproto.nullable) = false]; } +// QueryAllContractStateRequest is the request type for the Query/AllContractState RPC method message QueryAllContractStateRequest { // address is the address of the contract bytes address = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; } +// QueryAllContractStateResponse is the response type for the Query/AllContractState RPC method message QueryAllContractStateResponse { repeated Model models = 1 [(gogoproto.nullable) = false]; } +// QueryRawContractStateRequest is the request type for the Query/RawContractState RPC method message QueryRawContractStateRequest { // address is the address of the contract bytes address = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; bytes query_data = 2; } - +// QueryRawContractStateResponse is the response type for the Query/RawContractState RPC method message QueryRawContractStateResponse { + // Data contains the raw store data bytes data = 1; } +// QuerySmartContractStateRequest is the request type for the Query/SmartContractState RPC method message QuerySmartContractStateRequest { // address is the address of the contract bytes address = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // QueryData contains the query data passed to the contract bytes query_data = 2; } - +// QuerySmartContractStateResponse is the response type for the Query/SmartContractState RPC method message QuerySmartContractStateResponse { + // Data contains the json data returned from the smart contract bytes data = 1 [(gogoproto.casttype) = "encoding/json.RawMessage"]; } +// QueryCodeRequest is the request type for the Query/Code RPC method message QueryCodeRequest { uint64 code_id = 1; // grpc-gateway_out does not support Go style CodID } +// CodeInfoResponse contains code meta data from CodeInfo message CodeInfoResponse { uint64 code_id = 1 [(gogoproto.customname) = "CodeID", (gogoproto.jsontag) = "id"]; // id for legacy support bytes creator = 2 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; @@ -114,11 +133,13 @@ message CodeInfoResponse { string builder = 5; } +// QueryCodeResponse is the response type for the Query/Code RPC method message QueryCodeResponse { CodeInfoResponse code_info = 1 [(gogoproto.embed) = true, (gogoproto.jsontag) = ""]; bytes data = 2 [(gogoproto.jsontag) = "data"]; } +// QueryCodesResponse is the response type for the Query/Codes RPC method message QueryCodesResponse { repeated CodeInfoResponse code_infos = 1 [(gogoproto.nullable) = false]; } diff --git a/x/wasm/internal/types/types.pb.go b/x/wasm/internal/types/types.pb.go index 6a4c8fbb20..6fa38d167f 100644 --- a/x/wasm/internal/types/types.pb.go +++ b/x/wasm/internal/types/types.pb.go @@ -27,13 +27,18 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package +// AccessType permission types type AccessType int32 const ( + // AccessTypeUnspecified placeholder for empty value AccessTypeUnspecified AccessType = 0 - AccessTypeNobody AccessType = 1 + // AccessTypeNobody forbidden + AccessTypeNobody AccessType = 1 + // AccessTypeOnlyAddress restricted to an address AccessTypeOnlyAddress AccessType = 2 - AccessTypeEverybody AccessType = 3 + // AccessTypeEverybody unrestricted + AccessTypeEverybody AccessType = 3 ) var AccessType_name = map[int32]string{ @@ -54,13 +59,18 @@ func (AccessType) EnumDescriptor() ([]byte, []int) { return fileDescriptor_45de2b3fc8aff6aa, []int{0} } +// ContractCodeHistoryOperationType actions that caused a code change type ContractCodeHistoryOperationType int32 const ( + // ContractCodeHistoryOperationTypeUnspecified placeholder for empty value ContractCodeHistoryOperationTypeUnspecified ContractCodeHistoryOperationType = 0 - ContractCodeHistoryOperationTypeInit ContractCodeHistoryOperationType = 1 - ContractCodeHistoryOperationTypeMigrate ContractCodeHistoryOperationType = 2 - ContractCodeHistoryOperationTypeGenesis ContractCodeHistoryOperationType = 3 + // ContractCodeHistoryOperationTypeInit on chain contract instantiation + ContractCodeHistoryOperationTypeInit ContractCodeHistoryOperationType = 1 + // ContractCodeHistoryOperationTypeMigrate code migration + ContractCodeHistoryOperationTypeMigrate ContractCodeHistoryOperationType = 2 + // ContractCodeHistoryOperationTypeGenesis based on genesis data + ContractCodeHistoryOperationTypeGenesis ContractCodeHistoryOperationType = 3 ) var ContractCodeHistoryOperationType_name = map[int32]string{ @@ -85,6 +95,7 @@ func (ContractCodeHistoryOperationType) EnumDescriptor() ([]byte, []int) { return fileDescriptor_45de2b3fc8aff6aa, []int{1} } +// AccessTypeParam type AccessTypeParam struct { Value AccessType `protobuf:"varint,1,opt,name=value,proto3,enum=wasmd.x.wasmd.v1beta1.AccessType" json:"value,omitempty" yaml:"value"` } @@ -122,6 +133,7 @@ func (m *AccessTypeParam) XXX_DiscardUnknown() { var xxx_messageInfo_AccessTypeParam proto.InternalMessageInfo +// AccessConfig access control type. type AccessConfig struct { Permission AccessType `protobuf:"varint,1,opt,name=permission,proto3,enum=wasmd.x.wasmd.v1beta1.AccessType" json:"permission,omitempty" yaml:"permission"` Address github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,2,opt,name=address,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"address,omitempty" yaml:"address"` @@ -201,11 +213,16 @@ var xxx_messageInfo_Params proto.InternalMessageInfo // CodeInfo is data for the uploaded contract WASM code type CodeInfo struct { - CodeHash []byte `protobuf:"bytes,1,opt,name=code_hash,json=codeHash,proto3" json:"code_hash,omitempty"` - Creator github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,2,opt,name=creator,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"creator,omitempty"` - Source string `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"` - Builder string `protobuf:"bytes,4,opt,name=builder,proto3" json:"builder,omitempty"` - InstantiateConfig AccessConfig `protobuf:"bytes,5,opt,name=instantiate_config,json=instantiateConfig,proto3" json:"instantiate_config"` + // CodeHash is the unique CodeID + CodeHash []byte `protobuf:"bytes,1,opt,name=code_hash,json=codeHash,proto3" json:"code_hash,omitempty"` + // Creator address who initially stored the code + Creator github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,2,opt,name=creator,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"creator,omitempty"` + // Source is a valid absolute HTTPS URI to the contract's source code, optional + Source string `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"` + // Builder is a valid docker image name with tag, optional + Builder string `protobuf:"bytes,4,opt,name=builder,proto3" json:"builder,omitempty"` + // InstantiateConfig access control to apply on contract creation, optional + InstantiateConfig AccessConfig `protobuf:"bytes,5,opt,name=instantiate_config,json=instantiateConfig,proto3" json:"instantiate_config"` } func (m *CodeInfo) Reset() { *m = CodeInfo{} } @@ -243,12 +260,16 @@ var xxx_messageInfo_CodeInfo proto.InternalMessageInfo // ContractInfo stores a WASM contract instance type ContractInfo struct { - CodeID uint64 `protobuf:"varint,1,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` + // CodeID is the reference to the stored WASM code + CodeID uint64 `protobuf:"varint,1,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` + // Creator address who initially instantiated the contract Creator github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,2,opt,name=creator,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"creator,omitempty"` - Admin github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,3,opt,name=admin,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"admin,omitempty"` - Label string `protobuf:"bytes,4,opt,name=label,proto3" json:"label,omitempty"` - // never show this in query results, just use for sorting - // (Note: when using json tag "-" amino refused to serialize it...) + // Admin is an optional address that can execute migrations + Admin github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,3,opt,name=admin,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"admin,omitempty"` + // Label is optional metadata to be stored with a contract instance. + Label string `protobuf:"bytes,4,opt,name=label,proto3" json:"label,omitempty"` + // Created Tx position when the contract was instantiated. + // This data should kept internal and not be exposed via query results. Just use for sorting Created *AbsoluteTxPosition `protobuf:"bytes,5,opt,name=created,proto3" json:"created,omitempty"` } @@ -285,6 +306,7 @@ func (m *ContractInfo) XXX_DiscardUnknown() { var xxx_messageInfo_ContractInfo proto.InternalMessageInfo +// ContractHistory contains a sorted list of code updates to a contract type ContractHistory struct { CodeHistoryEntries []ContractCodeHistoryEntry `protobuf:"bytes,1,rep,name=code_history_entries,json=codeHistoryEntries,proto3" json:"code_history_entries"` } @@ -322,12 +344,14 @@ func (m *ContractHistory) XXX_DiscardUnknown() { var xxx_messageInfo_ContractHistory proto.InternalMessageInfo -// ContractCodeHistoryEntry stores code updates to a contract. +// ContractCodeHistoryEntry metadata to a contract. type ContractCodeHistoryEntry struct { Operation ContractCodeHistoryOperationType `protobuf:"varint,1,opt,name=operation,proto3,enum=wasmd.x.wasmd.v1beta1.ContractCodeHistoryOperationType" json:"operation,omitempty"` - CodeID uint64 `protobuf:"varint,2,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` - Updated *AbsoluteTxPosition `protobuf:"bytes,3,opt,name=updated,proto3" json:"updated,omitempty"` - Msg encoding_json.RawMessage `protobuf:"bytes,4,opt,name=msg,proto3,casttype=encoding/json.RawMessage" json:"msg,omitempty"` + // CodeID is the reference to the stored WASM code + CodeID uint64 `protobuf:"varint,2,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` + // Updated Tx position when the operation was executed. + Updated *AbsoluteTxPosition `protobuf:"bytes,3,opt,name=updated,proto3" json:"updated,omitempty"` + Msg encoding_json.RawMessage `protobuf:"bytes,4,opt,name=msg,proto3,casttype=encoding/json.RawMessage" json:"msg,omitempty"` } func (m *ContractCodeHistoryEntry) Reset() { *m = ContractCodeHistoryEntry{} } diff --git a/x/wasm/internal/types/types.proto b/x/wasm/internal/types/types.proto index b23ab3a6b4..cebf796fdd 100644 --- a/x/wasm/internal/types/types.proto +++ b/x/wasm/internal/types/types.proto @@ -7,20 +7,27 @@ option go_package = "github.com/CosmWasm/wasmd/x/wasmd/internal/types"; option (gogoproto.goproto_getters_all) = false; option (gogoproto.equal_all) = true; +// AccessType permission types enum AccessType { option (gogoproto.goproto_enum_prefix) = false; option (gogoproto.goproto_enum_stringer) = false; + // AccessTypeUnspecified placeholder for empty value ACCESS_TYPE_UNSPECIFIED = 0 [(gogoproto.enumvalue_customname) = "AccessTypeUnspecified"]; + // AccessTypeNobody forbidden ACCESS_TYPE_NOBODY = 1 [(gogoproto.enumvalue_customname) = "AccessTypeNobody"]; + // AccessTypeOnlyAddress restricted to an address ACCESS_TYPE_ONLY_ADDRESS = 2 [(gogoproto.enumvalue_customname) = "AccessTypeOnlyAddress"]; + // AccessTypeEverybody unrestricted ACCESS_TYPE_EVERYBODY = 3 [(gogoproto.enumvalue_customname) = "AccessTypeEverybody"]; } +// AccessTypeParam message AccessTypeParam { option (gogoproto.goproto_stringer) = true; AccessType value = 1 [(gogoproto.moretags) = "yaml:\"value\""]; } +// AccessConfig access control type. message AccessConfig { option (gogoproto.goproto_stringer) = true; AccessType permission = 1 [(gogoproto.moretags) = "yaml:\"permission\""]; @@ -37,40 +44,57 @@ message Params { // CodeInfo is data for the uploaded contract WASM code message CodeInfo { + // CodeHash is the unique CodeID bytes code_hash = 1; + // Creator address who initially stored the code bytes creator = 2 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // Source is a valid absolute HTTPS URI to the contract's source code, optional string source = 3; + // Builder is a valid docker image name with tag, optional string builder = 4; + // InstantiateConfig access control to apply on contract creation, optional AccessConfig instantiate_config = 5 [(gogoproto.nullable) = false]; } // ContractInfo stores a WASM contract instance message ContractInfo { + // CodeID is the reference to the stored WASM code uint64 code_id = 1 [(gogoproto.customname) = "CodeID"]; + // Creator address who initially instantiated the contract bytes creator = 2 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // Admin is an optional address that can execute migrations bytes admin = 3 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // Label is optional metadata to be stored with a contract instance. string label = 4; - // never show this in query results, just use for sorting - // (Note: when using json tag "-" amino refused to serialize it...) + // Created Tx position when the contract was instantiated. + // This data should kept internal and not be exposed via query results. Just use for sorting AbsoluteTxPosition created = 5; } +// ContractCodeHistoryOperationType actions that caused a code change enum ContractCodeHistoryOperationType { option (gogoproto.goproto_enum_prefix) = false; + // ContractCodeHistoryOperationTypeUnspecified placeholder for empty value CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED = 0 [(gogoproto.enumvalue_customname) = "ContractCodeHistoryOperationTypeUnspecified"]; + // ContractCodeHistoryOperationTypeInit on chain contract instantiation CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT = 1 [(gogoproto.enumvalue_customname) = "ContractCodeHistoryOperationTypeInit"]; + // ContractCodeHistoryOperationTypeMigrate code migration CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE = 2 [(gogoproto.enumvalue_customname) = "ContractCodeHistoryOperationTypeMigrate"]; + // ContractCodeHistoryOperationTypeGenesis based on genesis data CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS = 3 [(gogoproto.enumvalue_customname) = "ContractCodeHistoryOperationTypeGenesis"]; } +// ContractHistory contains a sorted list of code updates to a contract message ContractHistory { repeated ContractCodeHistoryEntry code_history_entries = 1 [(gogoproto.nullable) = false]; } -// ContractCodeHistoryEntry stores code updates to a contract. +// ContractCodeHistoryEntry metadata to a contract. message ContractCodeHistoryEntry { ContractCodeHistoryOperationType operation = 1; + // CodeID is the reference to the stored WASM code uint64 code_id = 2 [(gogoproto.customname) = "CodeID"]; + // Updated Tx position when the operation was executed. AbsoluteTxPosition updated = 3; bytes msg = 4 [(gogoproto.casttype) = "encoding/json.RawMessage"]; From 0492b4d650de965dc800a368b5c8e670340096c3 Mon Sep 17 00:00:00 2001 From: Alexander Peters Date: Wed, 11 Nov 2020 12:11:41 +0100 Subject: [PATCH 3/6] Update contrib/prototools-docker/Dockerfile Co-authored-by: Simon Warta <2603011+webmaster128@users.noreply.github.com> --- contrib/prototools-docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/prototools-docker/Dockerfile b/contrib/prototools-docker/Dockerfile index c3f781d2a6..4be4c5fa31 100644 --- a/contrib/prototools-docker/Dockerfile +++ b/contrib/prototools-docker/Dockerfile @@ -12,7 +12,7 @@ RUN apk --no-cache add --update curl git libc6-compat make upx RUN go get -d \ github.com/gogo/protobuf/gogoproto && \ mkdir -p /usr/include/google/protobuf/ && \ - mv /go/src/github.com/gogo/protobuf/protobuf/google/protobuf/empty.proto /usr/include/google/protobuf/ &&\ + mv /go/src/github.com/gogo/protobuf/protobuf/google/protobuf/empty.proto /usr/include/google/protobuf/ && \ mv /go/src/github.com/gogo/protobuf/protobuf/google/protobuf/descriptor.proto /usr/include/google/protobuf/ RUN GO111MODULE=on go get \ From b9258719712a7e014398a53f93ee89e1e9d76f10 Mon Sep 17 00:00:00 2001 From: Alexander Peters Date: Wed, 11 Nov 2020 12:11:49 +0100 Subject: [PATCH 4/6] Update contrib/prototools-docker/Dockerfile Co-authored-by: Simon Warta <2603011+webmaster128@users.noreply.github.com> --- contrib/prototools-docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/prototools-docker/Dockerfile b/contrib/prototools-docker/Dockerfile index 4be4c5fa31..37ee08d8f8 100644 --- a/contrib/prototools-docker/Dockerfile +++ b/contrib/prototools-docker/Dockerfile @@ -18,7 +18,7 @@ RUN go get -d \ RUN GO111MODULE=on go get \ github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway@v${GRPC_GATEWAY_VERSION} \ github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger@v${GRPC_GATEWAY_VERSION} && \ - mv /go/bin/protoc-gen-grpc-gateway /usr/local/bin/ &&\ + mv /go/bin/protoc-gen-grpc-gateway /usr/local/bin/ && \ mv /go/bin/protoc-gen-swagger /usr/local/bin/ # Install regen fork of gogo proto From 668117c6d3999e30358a6e0f26b8e2cf3f1a91b2 Mon Sep 17 00:00:00 2001 From: Alexander Peters Date: Wed, 11 Nov 2020 12:12:00 +0100 Subject: [PATCH 5/6] Update x/wasm/internal/types/msg.proto Co-authored-by: Simon Warta <2603011+webmaster128@users.noreply.github.com> --- x/wasm/internal/types/msg.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/wasm/internal/types/msg.proto b/x/wasm/internal/types/msg.proto index cd4b6960e6..70f790509f 100644 --- a/x/wasm/internal/types/msg.proto +++ b/x/wasm/internal/types/msg.proto @@ -10,7 +10,7 @@ option go_package = "github.com/CosmWasm/wasmd/x/wasmd/internal/types"; option (gogoproto.goproto_getters_all) = false; -// MsgStoreCode submit WASM code to the system +// MsgStoreCode submit Wasm code to the system message MsgStoreCode { // Sender is the that actor that signed the messages bytes sender = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; From cccd69a34d44cb96f364ee1cbbd0d5ac8eff4531 Mon Sep 17 00:00:00 2001 From: Alexander Peters Date: Wed, 11 Nov 2020 12:12:08 +0100 Subject: [PATCH 6/6] Update x/wasm/internal/types/types.proto Co-authored-by: Simon Warta <2603011+webmaster128@users.noreply.github.com> --- x/wasm/internal/types/types.proto | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x/wasm/internal/types/types.proto b/x/wasm/internal/types/types.proto index cebf796fdd..60c18c7c24 100644 --- a/x/wasm/internal/types/types.proto +++ b/x/wasm/internal/types/types.proto @@ -58,7 +58,7 @@ message CodeInfo { // ContractInfo stores a WASM contract instance message ContractInfo { - // CodeID is the reference to the stored WASM code + // CodeID is the reference to the stored Wasm code uint64 code_id = 1 [(gogoproto.customname) = "CodeID"]; // Creator address who initially instantiated the contract bytes creator = 2 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; @@ -114,4 +114,4 @@ message Model { bytes key = 1 [(gogoproto.casttype) = "github.com/tendermint/tendermint/libs/bytes.HexBytes"]; // base64-encode raw value bytes value = 2; -} \ No newline at end of file +}