All Makefile proto commands use Docker (#7931)

* Update tooling around docker

* Run commands

* Remove swagger gen for now

* Update proto-gen-any

* Fix indentn

* Use CURDIR

Co-authored-by: Alessio Treglia <alessio@tendermint.com>
This commit is contained in:
Amaury 2020-11-13 17:36:58 +01:00 committed by GitHub
parent 6e3fab854f
commit a8ef4a380d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
35 changed files with 485 additions and 370 deletions

View File

@ -12,10 +12,10 @@ jobs:
steps: steps:
- uses: actions/checkout@master - uses: actions/checkout@master
- name: lint - name: lint
run: make proto-lint-docker run: make proto-lint
breakage: breakage:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@master - uses: actions/checkout@master
- name: check-breakage - name: check-breakage
run: make proto-check-breaking-docker run: make proto-check-breaking

1
.gitignore vendored
View File

@ -20,7 +20,6 @@ docs/node_modules
docs/modules docs/modules
dist dist
tools-stamp tools-stamp
proto-tools-stamp
buf-stamp buf-stamp
artifacts artifacts

View File

@ -142,11 +142,15 @@ build, in which case we can fall back on `go mod tidy -v`.
We use [Protocol Buffers](https://developers.google.com/protocol-buffers) along with [gogoproto](https://github.com/gogo/protobuf) to generate code for use in Cosmos-SDK. We use [Protocol Buffers](https://developers.google.com/protocol-buffers) along with [gogoproto](https://github.com/gogo/protobuf) to generate code for use in Cosmos-SDK.
For determinstic behavior around Protobuf tooling, everything is containerized using Docker. Make sure to have Docker installed on your machine, or head to [Docker's website](https://docs.docker.com/get-docker/) to install it.
For formatting code in `.proto` files, you can run `make proto-format` command. For formatting code in `.proto` files, you can run `make proto-format` command.
For linting and checking breaking changes, we use [buf](https://buf.build/). There are two options for linting and to check if your changes will cause a break. The first is that you can install [buf](https://buf.build/docs/installation) locally, the commands for running buf after installing are `make proto-lint` and the breaking changes check will be `make proto-check-breaking`. If you do not want to install buf and have docker installed already then you can use these commands `make proto-lint-docker` and `make proto-check-breaking-docker`. For linting and checking breaking changes, we use [buf](https://buf.build/). You can use the commands `make proto-lint` and `make proto-check-breaking` to respectively lint your proto files and check for breaking changes.
To generate the protobuf stubs you must have `protoc` and `protoc-gen-gocosmos` installed. To install these tools run `make proto-tools`. After this step you will be able to run `make proto-gen` to generate the protobuf stubs. To generate the protobuf stubs, you can run `make proto-gen`.
We also added the `make proto-all` command to run all the above commands sequentially.
In order for imports to properly compile in your IDE, you may need to manually set your protobuf path in your IDE's workspace settings/config. In order for imports to properly compile in your IDE, you may need to manually set your protobuf path in your IDE's workspace settings/config.
@ -268,8 +272,8 @@ and PRs are merged into `master`, if a contributor wishes the PR to be released
- **[Impact]** Explanation of how the bug affects users or developers. - **[Impact]** Explanation of how the bug affects users or developers.
- **[Test Case]** section with detailed instructions on how to reproduce the bug. - **[Test Case]** section with detailed instructions on how to reproduce the bug.
- **[Regression Potential]** section with a discussion how regressions are most likely to manifest, or might - **[Regression Potential]** section with a discussion how regressions are most likely to manifest, or might
manifest even if it's unlikely, as a result of the change. **It is assumed that any SRU candidate PR is manifest even if it's unlikely, as a result of the change. **It is assumed that any SRU candidate PR is
well-tested before it is merged in and has an overall low risk of regression**. well-tested before it is merged in and has an overall low risk of regression**.
It is the PR's author's responsibility to fix merge conflicts, update changelog entries, and It is the PR's author's responsibility to fix merge conflicts, update changelog entries, and
ensure CI passes. If a PR originates from an external contributor, it may be a core team member's ensure CI passes. If a PR originates from an external contributor, it may be a core team member's
@ -280,7 +284,7 @@ Finally, when a point release is ready to be made:
1. Create `release/v0.38.N` branch 1. Create `release/v0.38.N` branch
2. Ensure changelog entries are verified 2. Ensure changelog entries are verified
2. Be sure changelog entries are added to `RELEASE_CHANGELOG.md` 1. Be sure changelog entries are added to `RELEASE_CHANGELOG.md`
3. Add release version date to the changelog 3. Add release version date to the changelog
4. Push release branch along with the annotated tag: **git tag -a** 4. Push release branch along with the annotated tag: **git tag -a**
5. Create a PR into `master` containing ONLY `CHANGELOG.md` updates 5. Create a PR into `master` containing ONLY `CHANGELOG.md` updates

View File

@ -10,7 +10,7 @@ BUILDDIR ?= $(CURDIR)/build
SIMAPP = ./simapp SIMAPP = ./simapp
MOCKS_DIR = $(CURDIR)/tests/mocks MOCKS_DIR = $(CURDIR)/tests/mocks
HTTPS_GIT := https://github.com/cosmos/cosmos-sdk.git HTTPS_GIT := https://github.com/cosmos/cosmos-sdk.git
DOCKER_BUF := docker run -v $(shell pwd):/workspace --workdir /workspace bufbuild/buf DOCKER_BUF := docker run -v $(CURDIR):/workspace --workdir /workspace bufbuild/buf
export GO111MODULE = on export GO111MODULE = on
@ -356,43 +356,30 @@ devdoc-update:
### Protobuf ### ### Protobuf ###
############################################################################### ###############################################################################
proto-all: proto-tools proto-gen proto-lint proto-check-breaking proto-swagger-gen proto-format proto-all: proto-format proto-lint proto-check-breaking proto-gen
proto-gen: proto-gen:
@./scripts/protocgen.sh
proto-gen-docker:
@echo "Generating Protobuf files" @echo "Generating Protobuf files"
docker run -v $(shell pwd):/workspace --workdir /workspace tendermintdev/sdk-proto-gen sh ./scripts/protocgen.sh docker run -v $(CURDIR):/workspace --workdir /workspace tendermintdev/sdk-proto-gen sh ./scripts/protocgen.sh
.PHONY: proto-gen-docker
proto-format: proto-format:
@echo "Formatting Protobuf files" @echo "Formatting Protobuf files"
docker run -v $(shell pwd):/workspace \ docker run -v $(CURDIR):/workspace \
--workdir /workspace tendermintdev/docker-build-proto \ --workdir /workspace tendermintdev/docker-build-proto \
find ./ -not -path "./third_party/*" -name *.proto -exec clang-format -i {} \; find ./ -not -path "./third_party/*" -name *.proto -exec clang-format -i {} \;
.PHONY: proto-format
# This generates the SDK's custom wrapper for google.protobuf.Any. It should only be run manually when needed # This generates the SDK's custom wrapper for google.protobuf.Any. It should only be run manually when needed
proto-gen-any: proto-gen-any:
@./scripts/protocgen-any.sh docker run -v $(CURDIR):/workspace --workdir /workspace tendermintdev/sdk-proto-gen sh ./scripts/protocgen-any.sh
proto-swagger-gen: proto-swagger-gen:
@./scripts/protoc-swagger-gen.sh @./scripts/protoc-swagger-gen.sh
proto-lint: proto-lint:
@buf check lint --error-format=json @$(DOCKER_BUF) check lint --error-format=json
proto-check-breaking: proto-check-breaking:
@buf check breaking --against-input '.git#branch=master'
proto-lint-docker:
@$(DOCKER_BUF) check lint --error-format=json
.PHONY: proto-lint
proto-check-breaking-docker:
@$(DOCKER_BUF) check breaking --against-input $(HTTPS_GIT)#branch=master @$(DOCKER_BUF) check breaking --against-input $(HTTPS_GIT)#branch=master
.PHONY: proto-check-breaking-ci
TM_URL = https://raw.githubusercontent.com/tendermint/tendermint/v0.34.0-rc6/proto/tendermint TM_URL = https://raw.githubusercontent.com/tendermint/tendermint/v0.34.0-rc6/proto/tendermint
GOGO_PROTO_URL = https://raw.githubusercontent.com/regen-network/protobuf/cosmos GOGO_PROTO_URL = https://raw.githubusercontent.com/regen-network/protobuf/cosmos
@ -445,7 +432,7 @@ proto-update-deps:
## Issue link: https://github.com/confio/ics23/issues/32 ## Issue link: https://github.com/confio/ics23/issues/32
@sed -i '4ioption go_package = "github.com/confio/ics23/go";' $(CONFIO_TYPES)/proofs.proto @sed -i '4ioption go_package = "github.com/confio/ics23/go";' $(CONFIO_TYPES)/proofs.proto
.PHONY: proto-all proto-gen proto-lint proto-check-breaking proto-update-deps .PHONY: proto-all proto-gen proto-gen-any proto-swagger-gen proto-format proto-lint proto-check-breaking proto-update-deps
############################################################################### ###############################################################################
### Localnet ### ### Localnet ###

View File

@ -19992,6 +19992,221 @@ paths:
type: boolean type: boolean
tags: tags:
- Query - Query
/ibc/client/v1beta1/params:
get:
summary: ClientParams queries all parameters of the ibc client.
operationId: ClientParams
responses:
'200':
description: A successful response.
schema:
type: object
properties:
params:
description: params defines the parameters of the module.
type: object
properties:
allowed_clients:
type: array
items:
type: string
description: >-
allowed_clients defines the list of allowed client state
types.
description: >-
QueryClientParamsResponse is the response type for the
Query/ClientParams RPC method.
default:
description: An unexpected error response.
schema:
type: object
properties:
error:
type: string
code:
type: integer
format: int32
message:
type: string
details:
type: array
items:
type: object
properties:
type_url:
type: string
description: >-
A URL/resource name that uniquely identifies the type of
the serialized
protocol buffer message. This string must contain at
least
one "/" character. The last segment of the URL's path
must represent
the fully qualified name of the type (as in
`path/google.protobuf.Duration`). The name should be in
a canonical form
(e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary
all types that they
expect it to use in the context of Any. However, for
URLs which use the
scheme `http`, `https`, or no scheme, one can optionally
set up a type
server that maps type URLs to message definitions as
follows:
* If no scheme is provided, `https` is assumed.
* An HTTP GET on the URL must yield a
[google.protobuf.Type][]
value in binary format, or produce an error.
* Applications are allowed to cache lookup results based
on the
URL, or have them precompiled into a binary to avoid any
lookup. Therefore, binary compatibility needs to be preserved
on changes to types. (Use versioned type names to manage
breaking changes.)
Note: this functionality is not currently available in
the official
protobuf release, and it is not used for type URLs
beginning with
type.googleapis.com.
Schemes other than `http`, `https` (or the empty scheme)
might be
used with implementation specific semantics.
value:
type: string
format: byte
description: >-
Must be a valid serialized protocol buffer of the above
specified type.
description: >-
`Any` contains an arbitrary serialized protocol buffer
message along with a
URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values
in the form
of utility functions or additional generated methods of the
Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
...
}
Example 2: Pack and unpack a message in Java.
Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
foo = any.unpack(Foo.class);
}
Example 3: Pack and unpack a message in Python.
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
any.Unpack(foo)
...
Example 4: Pack and unpack a message in Go
foo := &pb.Foo{...}
any, err := ptypes.MarshalAny(foo)
...
foo := &pb.Foo{}
if err := ptypes.UnmarshalAny(any, foo); err != nil {
...
}
The pack methods provided by protobuf library will by
default use
'type.googleapis.com/full.type.name' as the type URL and the
unpack
methods only use the fully qualified type name after the
last '/'
in the type URL, for example "foo.bar.com/x/y.z" will yield
type
name "y.z".
JSON
====
The JSON representation of an `Any` value uses the regular
representation of the deserialized, embedded message, with
an
additional field `@type` which contains the type URL.
Example:
package google.profile;
message Person {
string first_name = 1;
string last_name = 2;
}
{
"@type": "type.googleapis.com/google.profile.Person",
"firstName": <string>,
"lastName": <string>
}
If the embedded message type is well-known and has a custom
JSON
representation, that representation will be embedded adding
a field
`value` which holds the custom JSON in addition to the
`@type`
field. Example (for message [google.protobuf.Duration][]):
{
"@type": "type.googleapis.com/google.protobuf.Duration",
"value": "1.212s"
}
tags:
- Query
/ibc/core/client/v1beta1/client_states: /ibc/core/client/v1beta1/client_states:
get: get:
summary: ClientStates queries all the IBC light clients of a chain. summary: ClientStates queries all the IBC light clients of a chain.
@ -33015,6 +33230,30 @@ definitions:
description: >- description: >-
ConsensusStateWithHeight defines a consensus state with an additional ConsensusStateWithHeight defines a consensus state with an additional
height field. height field.
ibc.core.client.v1.Params:
type: object
properties:
allowed_clients:
type: array
items:
type: string
description: allowed_clients defines the list of allowed client state types.
description: Params defines the set of IBC light client parameters.
ibc.core.client.v1.QueryClientParamsResponse:
type: object
properties:
params:
description: params defines the parameters of the module.
type: object
properties:
allowed_clients:
type: array
items:
type: string
description: allowed_clients defines the list of allowed client state types.
description: >-
QueryClientParamsResponse is the response type for the Query/ClientParams
RPC method.
ibc.core.client.v1.QueryClientStateResponse: ibc.core.client.v1.QueryClientStateResponse:
type: object type: object
properties: properties:

View File

@ -1,5 +1,5 @@
// Code generated by protoc-gen-gogo. DO NOT EDIT. // Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: third_party/proto/google/protobuf/any.proto // source: google/protobuf/any.proto
package types package types
@ -29,7 +29,7 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
func (m *Any) Reset() { *m = Any{} } func (m *Any) Reset() { *m = Any{} }
func (*Any) ProtoMessage() {} func (*Any) ProtoMessage() {}
func (*Any) Descriptor() ([]byte, []int) { func (*Any) Descriptor() ([]byte, []int) {
return fileDescriptor_cb68f365a8e2bcdc, []int{0} return fileDescriptor_b53526c13ae22eb4, []int{0}
} }
func (*Any) XXX_WellKnownType() string { return "Any" } func (*Any) XXX_WellKnownType() string { return "Any" }
func (m *Any) XXX_Unmarshal(b []byte) error { func (m *Any) XXX_Unmarshal(b []byte) error {
@ -79,28 +79,25 @@ func (*Any) XXX_MessageName() string {
func init() { func init() {
} }
func init() { func init() { proto.RegisterFile("google/protobuf/any.proto", fileDescriptor_b53526c13ae22eb4) }
proto.RegisterFile("third_party/proto/google/protobuf/any.proto", fileDescriptor_cb68f365a8e2bcdc)
}
var fileDescriptor_cb68f365a8e2bcdc = []byte{ var fileDescriptor_b53526c13ae22eb4 = []byte{
// 246 bytes of a gzipped FileDescriptorProto // 235 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x2e, 0xc9, 0xc8, 0x2c, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4c, 0xcf, 0xcf, 0x4f,
0x4a, 0x89, 0x2f, 0x48, 0x2c, 0x2a, 0xa9, 0xd4, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x4f, 0xcf, 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcc, 0xab, 0xd4,
0xcf, 0x4f, 0xcf, 0x49, 0x85, 0x70, 0x92, 0x4a, 0xd3, 0xf4, 0x13, 0xf3, 0x2a, 0xf5, 0xc0, 0x1c, 0x03, 0x73, 0x84, 0xf8, 0x21, 0x52, 0x7a, 0x30, 0x29, 0x29, 0x91, 0xf4, 0xfc, 0xf4, 0x7c, 0x30,
0x21, 0x7e, 0x88, 0x94, 0x1e, 0x4c, 0x4a, 0x4a, 0x0d, 0x9b, 0xee, 0xf4, 0x7c, 0x04, 0x0b, 0xa2, 0x4f, 0x1f, 0xc4, 0x82, 0x48, 0x28, 0xd9, 0x70, 0x31, 0x3b, 0xe6, 0x55, 0x0a, 0x49, 0x72, 0x71,
0x54, 0xc9, 0x86, 0x8b, 0xd9, 0x31, 0xaf, 0x52, 0x48, 0x92, 0x8b, 0xa3, 0xa4, 0xb2, 0x20, 0x35, 0x94, 0x54, 0x16, 0xa4, 0xc6, 0x97, 0x16, 0xe5, 0x48, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x06, 0xb1,
0xbe, 0xb4, 0x28, 0x47, 0x82, 0x51, 0x81, 0x51, 0x83, 0x33, 0x88, 0x1d, 0xc4, 0x0f, 0x2d, 0xca, 0x83, 0xf8, 0xa1, 0x45, 0x39, 0x42, 0x22, 0x5c, 0xac, 0x65, 0x89, 0x39, 0xa5, 0xa9, 0x12, 0x4c,
0x11, 0x12, 0xe1, 0x62, 0x2d, 0x4b, 0xcc, 0x29, 0x4d, 0x95, 0x60, 0x52, 0x60, 0xd4, 0xe0, 0x09, 0x0a, 0x8c, 0x1a, 0x3c, 0x41, 0x10, 0x8e, 0x15, 0xcb, 0x87, 0x85, 0xf2, 0x0c, 0x4e, 0xcd, 0x8c,
0x82, 0x70, 0xac, 0x58, 0x3e, 0x2c, 0x94, 0x67, 0x70, 0x6a, 0x66, 0xbc, 0xf1, 0x50, 0x8e, 0xe1, 0x37, 0x1e, 0xca, 0x31, 0x7c, 0x78, 0x28, 0xc7, 0xf8, 0xe3, 0xa1, 0x1c, 0x63, 0xc3, 0x23, 0x39,
0xc3, 0x43, 0x39, 0xc6, 0x1f, 0x0f, 0xe5, 0x18, 0x1b, 0x1e, 0xc9, 0x31, 0xae, 0x78, 0x24, 0xc7, 0xc6, 0x15, 0x8f, 0xe4, 0x18, 0x4f, 0x3c, 0x92, 0x63, 0xbc, 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23,
0x78, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0xbe, 0x78, 0x24, 0x39, 0xc6, 0x17, 0x8f, 0xe4, 0x18, 0x3e, 0x80, 0xc4, 0x1f, 0xcb, 0x31, 0x1e, 0x78, 0x2c, 0xc7,
0xc7, 0xf0, 0x01, 0x24, 0xfe, 0x58, 0x8e, 0xf1, 0xc0, 0x63, 0x39, 0x86, 0x13, 0x8f, 0xe5, 0x18, 0x70, 0xe2, 0xb1, 0x1c, 0x23, 0x97, 0x70, 0x72, 0x7e, 0xae, 0x1e, 0x9a, 0xfb, 0x9c, 0x38, 0x1c,
0xb9, 0x84, 0x93, 0xf3, 0x73, 0xf5, 0xd0, 0x5c, 0xec, 0xc4, 0xe1, 0x98, 0x57, 0x19, 0x00, 0xe2, 0xf3, 0x2a, 0x03, 0x40, 0x9c, 0x00, 0xc6, 0x28, 0x56, 0x90, 0xe5, 0xc5, 0x8b, 0x98, 0x98, 0xdd,
0x04, 0x30, 0x46, 0xb1, 0x82, 0x2c, 0x2f, 0x5e, 0xc4, 0xc4, 0xec, 0x1e, 0xe0, 0xb4, 0x8a, 0x49, 0x03, 0x9c, 0x56, 0x31, 0xc9, 0xb9, 0x43, 0x94, 0x06, 0x40, 0x95, 0xea, 0x85, 0xa7, 0xe6, 0xe4,
0xce, 0x1d, 0xa2, 0x34, 0x00, 0xaa, 0x54, 0x2f, 0x3c, 0x35, 0x27, 0xc7, 0x3b, 0x2f, 0xbf, 0x3c, 0x78, 0xe7, 0xe5, 0x97, 0xe7, 0x85, 0x80, 0x94, 0x25, 0xb1, 0x81, 0xcd, 0x30, 0x06, 0x04, 0x00,
0x2f, 0x04, 0xa4, 0x2c, 0x89, 0x0d, 0x6c, 0x86, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x16, 0xc3, 0x00, 0xff, 0xff, 0xe6, 0xfb, 0xa0, 0x21, 0x0e, 0x01, 0x00, 0x00,
0x46, 0x5f, 0x32, 0x01, 0x00, 0x00,
} }
func (this *Any) Compare(that interface{}) int { func (this *Any) Compare(that interface{}) int {

View File

@ -57,14 +57,6 @@ tools-stamp: statik runsim
# in a row. # in a row.
touch $@ touch $@
proto-tools: proto-tools-stamp
proto-tools-stamp:
bash $(mkfile_dir)/proto-tools-installer.sh
# Create dummy file to satisfy dependency and avoid
# rebuilding when this Makefile target is hit twice
# in a row.
touch $@
# Install the runsim binary with a temporary workaround of entering an outside # Install the runsim binary with a temporary workaround of entering an outside
# directory as the "go get" command ignores the -mod option and will polute the # directory as the "go get" command ignores the -mod option and will polute the
# go.{mod, sum} files. # go.{mod, sum} files.
@ -87,6 +79,6 @@ $(RUNSIM):
tools-clean: tools-clean:
rm -f $(STATIK) $(GOLANGCI_LINT) $(RUNSIM) rm -f $(STATIK) $(GOLANGCI_LINT) $(RUNSIM)
rm -f proto-tools-stamp tools-stamp rm -f tools-stamp
.PHONY: tools-clean statik runsim .PHONY: tools-clean statik runsim

View File

@ -1,101 +0,0 @@
#!/bin/bash
set -ue
DESTDIR=${DESTDIR:-}
PREFIX=${PREFIX:-/usr/local}
UNAME_S="$(uname -s 2>/dev/null)"
UNAME_M="$(uname -m 2>/dev/null)"
BUF_VERSION=0.30.0
PROTOC_GRPC_GATEWAY_VERSION=1.14.7
f_abort() {
local l_rc=$1
shift
echo $@ >&2
exit ${l_rc}
}
case "${UNAME_S}" in
Linux)
PROTOC_ZIP="protoc-${PROTOC_VERSION}-linux-x86_64.zip"
PROTOC_GRPC_GATEWAY_BIN="protoc-gen-grpc-gateway-v${PROTOC_GRPC_GATEWAY_VERSION}-linux-x86_64"
;;
Darwin)
PROTOC_ZIP="protoc-${PROTOC_VERSION}-osx-x86_64.zip"
PROTOC_GRPC_GATEWAY_BIN="protoc-gen-grpc-gateway-v${PROTOC_GRPC_GATEWAY_VERSION}-darwin-x86_64"
;;
*)
f_abort 1 "Unknown kernel name. Exiting."
esac
TEMPDIR="$(mktemp -d)"
trap "rm -rvf ${TEMPDIR}" EXIT
f_print_installing_with_padding() {
printf "Installing %30s ..." "$1" >&2
}
f_print_done() {
echo -e "\tDONE" >&2
}
f_ensure_tools() {
! which curl &>/dev/null && f_abort 2 "couldn't find curl, aborting" || true
}
f_ensure_dirs() {
mkdir -p "${DESTDIR}/${PREFIX}/bin"
mkdir -p "${DESTDIR}/${PREFIX}/include"
}
f_needs_install() {
if [ -x $1 ]; then
echo -e "\talready installed. Skipping." >&2
return 1
fi
return 0
}
f_install_buf() {
f_print_installing_with_padding buf
f_needs_install "${DESTDIR}/${PREFIX}/bin/buf" || return 0
curl -sSL "https://github.com/bufbuild/buf/releases/download/v${BUF_VERSION}/buf-${UNAME_S}-${UNAME_M}" -o "${DESTDIR}/${PREFIX}/bin/buf"
chmod +x "${DESTDIR}/${PREFIX}/bin/buf"
f_print_done
}
f_install_protoc_gen_grpc_gateway() {
f_print_installing_with_padding protoc-gen-grpc-gateway
f_needs_install "${DESTDIR}/${PREFIX}/bin/protoc-gen-grpc-gateway" || return 0
curl -o "${DESTDIR}/${PREFIX}/bin/protoc-gen-grpc-gateway" -sSL "https://github.com/grpc-ecosystem/grpc-gateway/releases/download/v${PROTOC_GRPC_GATEWAY_VERSION}/${PROTOC_GRPC_GATEWAY_BIN}"
f_print_done
}
f_install_protoc_gen_swagger() {
f_print_installing_with_padding protoc-gen-swagger
f_needs_install "${DESTDIR}/${PREFIX}/bin/protoc-gen-swagger" || return 0
if ! which npm &>/dev/null ; then
echo -e "\tNPM is not installed. Skipping."
return 0
fi
pushd "${TEMPDIR}" >/dev/null
go get github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger
npm install -g swagger-combine
popd >/dev/null
f_print_done
}
f_ensure_tools
f_ensure_dirs
f_install_buf
f_install_protoc_gen_gocosmos
f_install_protoc_gen_grpc_gateway
f_install_protoc_gen_swagger

View File

@ -17,8 +17,9 @@ message BaseAccount {
option (cosmos_proto.implements_interface) = "AccountI"; option (cosmos_proto.implements_interface) = "AccountI";
string address = 1; string address = 1;
google.protobuf.Any pub_key = 2 [(gogoproto.jsontag) = "public_key,omitempty", (gogoproto.moretags) = "yaml:\"public_key\""]; google.protobuf.Any pub_key = 2
[(gogoproto.jsontag) = "public_key,omitempty", (gogoproto.moretags) = "yaml:\"public_key\""];
uint64 account_number = 3 [(gogoproto.moretags) = "yaml:\"account_number\""]; uint64 account_number = 3 [(gogoproto.moretags) = "yaml:\"account_number\""];
uint64 sequence = 4; uint64 sequence = 4;
} }
@ -29,9 +30,9 @@ message ModuleAccount {
option (gogoproto.goproto_stringer) = false; option (gogoproto.goproto_stringer) = false;
option (cosmos_proto.implements_interface) = "ModuleAccountI"; option (cosmos_proto.implements_interface) = "ModuleAccountI";
BaseAccount base_account = 1 [(gogoproto.embed) = true, (gogoproto.moretags) = "yaml:\"base_account\""]; BaseAccount base_account = 1 [(gogoproto.embed) = true, (gogoproto.moretags) = "yaml:\"base_account\""];
string name = 2; string name = 2;
repeated string permissions = 3; repeated string permissions = 3;
} }
// Params defines the parameters for the auth module. // Params defines the parameters for the auth module.

View File

@ -28,15 +28,15 @@ message MsgSend {
} }
// MsgSendResponse defines the Msg/Send response type. // MsgSendResponse defines the Msg/Send response type.
message MsgSendResponse { } message MsgSendResponse {}
// MsgMultiSend represents an arbitrary multi-in, multi-out send message. // MsgMultiSend represents an arbitrary multi-in, multi-out send message.
message MsgMultiSend { message MsgMultiSend {
option (gogoproto.equal) = false; option (gogoproto.equal) = false;
repeated Input inputs = 1 [(gogoproto.nullable) = false]; repeated Input inputs = 1 [(gogoproto.nullable) = false];
repeated Output outputs = 2 [(gogoproto.nullable) = false]; repeated Output outputs = 2 [(gogoproto.nullable) = false];
} }
// MsgMultiSendResponse defines the Msg/MultiSend response type. // MsgMultiSendResponse defines the Msg/MultiSend response type.
message MsgMultiSendResponse { } message MsgMultiSendResponse {}

View File

@ -58,7 +58,7 @@ message ABCIMessageLog {
message StringEvent { message StringEvent {
option (gogoproto.stringer) = true; option (gogoproto.stringer) = true;
string type = 1; string type = 1;
repeated Attribute attributes = 2 [(gogoproto.nullable) = false]; repeated Attribute attributes = 2 [(gogoproto.nullable) = false];
} }

View File

@ -8,7 +8,7 @@ option go_package = "github.com/cosmos/cosmos-sdk/store/types";
// CommitInfo defines commit information used by the multi-store when committing // CommitInfo defines commit information used by the multi-store when committing
// a version/height. // a version/height.
message CommitInfo { message CommitInfo {
int64 version = 1; int64 version = 1;
repeated StoreInfo store_infos = 2 [(gogoproto.nullable) = false]; repeated StoreInfo store_infos = 2 [(gogoproto.nullable) = false];
} }

View File

@ -22,4 +22,4 @@ message MsgVerifyInvariant {
} }
// MsgVerifyInvariantResponse defines the Msg/VerifyInvariant response type. // MsgVerifyInvariantResponse defines the Msg/VerifyInvariant response type.
message MsgVerifyInvariantResponse { } message MsgVerifyInvariantResponse {}

View File

@ -11,12 +11,12 @@ option go_package = "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519";
// the x-coordinate. Otherwise the first byte is a 0x03. // the x-coordinate. Otherwise the first byte is a 0x03.
// This prefix is followed with the x-coordinate. // This prefix is followed with the x-coordinate.
message PubKey { message PubKey {
option (gogoproto.goproto_stringer) = false; option (gogoproto.goproto_stringer) = false;
bytes key = 1 [(gogoproto.casttype) = "crypto/ed25519.PublicKey"]; bytes key = 1 [(gogoproto.casttype) = "crypto/ed25519.PublicKey"];
} }
// PrivKey defines a ed25519 private key. // PrivKey defines a ed25519 private key.
message PrivKey { message PrivKey {
bytes key = 1 [(gogoproto.casttype) = "crypto/ed25519.PrivateKey"]; bytes key = 1 [(gogoproto.casttype) = "crypto/ed25519.PrivateKey"];
} }

View File

@ -9,7 +9,7 @@ import "cosmos/base/v1beta1/coin.proto";
// Msg defines the distribution Msg service. // Msg defines the distribution Msg service.
service Msg { service Msg {
// SetWithdrawAddress defines a method to change the withdraw address // SetWithdrawAddress defines a method to change the withdraw address
// for a delegator (or validator self-delegation). // for a delegator (or validator self-delegation).
rpc SetWithdrawAddress(MsgSetWithdrawAddress) returns (MsgSetWithdrawAddressResponse); rpc SetWithdrawAddress(MsgSetWithdrawAddress) returns (MsgSetWithdrawAddressResponse);
@ -17,7 +17,7 @@ service Msg {
// from a single validator. // from a single validator.
rpc WithdrawDelegatorReward(MsgWithdrawDelegatorReward) returns (MsgWithdrawDelegatorRewardResponse); rpc WithdrawDelegatorReward(MsgWithdrawDelegatorReward) returns (MsgWithdrawDelegatorRewardResponse);
// WithdrawValidatorCommission defines a method to withdraw the // WithdrawValidatorCommission defines a method to withdraw the
// full commission to the validator address. // full commission to the validator address.
rpc WithdrawValidatorCommission(MsgWithdrawValidatorCommission) returns (MsgWithdrawValidatorCommissionResponse); rpc WithdrawValidatorCommission(MsgWithdrawValidatorCommission) returns (MsgWithdrawValidatorCommissionResponse);
@ -37,7 +37,7 @@ message MsgSetWithdrawAddress {
} }
// MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response type. // MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response type.
message MsgSetWithdrawAddressResponse { } message MsgSetWithdrawAddressResponse {}
// MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator // MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator
// from a single validator. // from a single validator.
@ -50,7 +50,7 @@ message MsgWithdrawDelegatorReward {
} }
// MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward response type. // MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward response type.
message MsgWithdrawDelegatorRewardResponse { } message MsgWithdrawDelegatorRewardResponse {}
// MsgWithdrawValidatorCommission withdraws the full commission to the validator // MsgWithdrawValidatorCommission withdraws the full commission to the validator
// address. // address.
@ -62,7 +62,7 @@ message MsgWithdrawValidatorCommission {
} }
// MsgWithdrawValidatorCommissionResponse defines the Msg/WithdrawValidatorCommission response type. // MsgWithdrawValidatorCommissionResponse defines the Msg/WithdrawValidatorCommission response type.
message MsgWithdrawValidatorCommissionResponse { } message MsgWithdrawValidatorCommissionResponse {}
// MsgFundCommunityPool allows an account to directly // MsgFundCommunityPool allows an account to directly
// fund the community pool. // fund the community pool.
@ -76,4 +76,4 @@ message MsgFundCommunityPool {
} }
// MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response type. // MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response type.
message MsgFundCommunityPoolResponse { } message MsgFundCommunityPoolResponse {}

View File

@ -7,7 +7,7 @@ import "cosmos_proto/cosmos.proto";
import "gogoproto/gogo.proto"; import "gogoproto/gogo.proto";
import "google/protobuf/any.proto"; import "google/protobuf/any.proto";
option go_package = "github.com/cosmos/cosmos-sdk/x/gov/types"; option go_package = "github.com/cosmos/cosmos-sdk/x/gov/types";
// Msg defines the bank Msg service. // Msg defines the bank Msg service.
service Msg { service Msg {
@ -24,7 +24,7 @@ service Msg {
// MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary // MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary
// proposal Content. // proposal Content.
message MsgSubmitProposal { message MsgSubmitProposal {
option (gogoproto.equal) = false; option (gogoproto.equal) = false;
option (gogoproto.goproto_stringer) = false; option (gogoproto.goproto_stringer) = false;
option (gogoproto.stringer) = false; option (gogoproto.stringer) = false;
option (gogoproto.goproto_getters) = false; option (gogoproto.goproto_getters) = false;
@ -40,12 +40,12 @@ message MsgSubmitProposal {
// MsgSubmitProposalResponse defines the Msg/SubmitProposal response type. // MsgSubmitProposalResponse defines the Msg/SubmitProposal response type.
message MsgSubmitProposalResponse { message MsgSubmitProposalResponse {
uint64 proposal_id = 1 [(gogoproto.jsontag) = "proposal_id", (gogoproto.moretags) = "yaml:\"proposal_id\""]; uint64 proposal_id = 1 [(gogoproto.jsontag) = "proposal_id", (gogoproto.moretags) = "yaml:\"proposal_id\""];
} }
// MsgVote defines a message to cast a vote. // MsgVote defines a message to cast a vote.
message MsgVote { message MsgVote {
option (gogoproto.equal) = false; option (gogoproto.equal) = false;
option (gogoproto.goproto_stringer) = false; option (gogoproto.goproto_stringer) = false;
option (gogoproto.stringer) = false; option (gogoproto.stringer) = false;
option (gogoproto.goproto_getters) = false; option (gogoproto.goproto_getters) = false;
@ -60,7 +60,7 @@ message MsgVoteResponse {}
// MsgDeposit defines a message to submit a deposit to an existing proposal. // MsgDeposit defines a message to submit a deposit to an existing proposal.
message MsgDeposit { message MsgDeposit {
option (gogoproto.equal) = false; option (gogoproto.equal) = false;
option (gogoproto.goproto_stringer) = false; option (gogoproto.goproto_stringer) = false;
option (gogoproto.stringer) = false; option (gogoproto.stringer) = false;
option (gogoproto.goproto_getters) = false; option (gogoproto.goproto_getters) = false;

View File

@ -11,9 +11,9 @@ message ParameterChangeProposal {
option (gogoproto.goproto_getters) = false; option (gogoproto.goproto_getters) = false;
option (gogoproto.goproto_stringer) = false; option (gogoproto.goproto_stringer) = false;
string title = 1; string title = 1;
string description = 2; string description = 2;
repeated ParamChange changes = 3 [(gogoproto.nullable) = false]; repeated ParamChange changes = 3 [(gogoproto.nullable) = false];
} }
// ParamChange defines an individual parameter change, for use in // ParamChange defines an individual parameter change, for use in

View File

@ -18,7 +18,7 @@ option go_package = "github.com/cosmos/cosmos-sdk/x/staking/types";
// (`n` is set by the staking module's `historical_entries` parameter). // (`n` is set by the staking module's `historical_entries` parameter).
message HistoricalInfo { message HistoricalInfo {
tendermint.types.Header header = 1 [(gogoproto.nullable) = false]; tendermint.types.Header header = 1 [(gogoproto.nullable) = false];
repeated Validator valset = 2 [(gogoproto.nullable) = false]; repeated Validator valset = 2 [(gogoproto.nullable) = false];
} }
// CommissionRates defines the initial commission rates to be used for creating // CommissionRates defines the initial commission rates to be used for creating
@ -75,13 +75,12 @@ message Validator {
option (gogoproto.goproto_stringer) = false; option (gogoproto.goproto_stringer) = false;
option (gogoproto.goproto_getters) = false; option (gogoproto.goproto_getters) = false;
string operator_address = 1 [(gogoproto.moretags) = "yaml:\"operator_address\""]; string operator_address = 1 [(gogoproto.moretags) = "yaml:\"operator_address\""];
google.protobuf.Any consensus_pubkey = 2 [ google.protobuf.Any consensus_pubkey = 2
(cosmos_proto.accepts_interface) = "cosmos.crypto.PubKey", [(cosmos_proto.accepts_interface) = "cosmos.crypto.PubKey", (gogoproto.moretags) = "yaml:\"consensus_pubkey\""];
(gogoproto.moretags) = "yaml:\"consensus_pubkey\""]; bool jailed = 3;
bool jailed = 3; BondStatus status = 4;
BondStatus status = 4; string tokens = 5 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", (gogoproto.nullable) = false];
string tokens = 5 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", (gogoproto.nullable) = false];
string delegator_shares = 6 [ string delegator_shares = 6 [
(gogoproto.moretags) = "yaml:\"delegator_shares\"", (gogoproto.moretags) = "yaml:\"delegator_shares\"",
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec",
@ -177,8 +176,8 @@ message UnbondingDelegation {
option (gogoproto.goproto_getters) = false; option (gogoproto.goproto_getters) = false;
option (gogoproto.goproto_stringer) = false; option (gogoproto.goproto_stringer) = false;
string delegator_address = 1 [(gogoproto.moretags) = "yaml:\"delegator_address\""]; string delegator_address = 1 [(gogoproto.moretags) = "yaml:\"delegator_address\""];
string validator_address = 2 [(gogoproto.moretags) = "yaml:\"validator_address\""]; string validator_address = 2 [(gogoproto.moretags) = "yaml:\"validator_address\""];
repeated UnbondingDelegationEntry entries = 3 [(gogoproto.nullable) = false]; // unbonding delegation entries repeated UnbondingDelegationEntry entries = 3 [(gogoproto.nullable) = false]; // unbonding delegation entries
} }
@ -222,10 +221,10 @@ message Redelegation {
option (gogoproto.goproto_getters) = false; option (gogoproto.goproto_getters) = false;
option (gogoproto.goproto_stringer) = false; option (gogoproto.goproto_stringer) = false;
string delegator_address = 1 [(gogoproto.moretags) = "yaml:\"delegator_address\""]; string delegator_address = 1 [(gogoproto.moretags) = "yaml:\"delegator_address\""];
string validator_src_address = 2 [(gogoproto.moretags) = "yaml:\"validator_src_address\""]; string validator_src_address = 2 [(gogoproto.moretags) = "yaml:\"validator_src_address\""];
string validator_dst_address = 3 [(gogoproto.moretags) = "yaml:\"validator_dst_address\""]; string validator_dst_address = 3 [(gogoproto.moretags) = "yaml:\"validator_dst_address\""];
repeated RedelegationEntry entries = 4 [(gogoproto.nullable) = false]; // redelegation entries repeated RedelegationEntry entries = 4 [(gogoproto.nullable) = false]; // redelegation entries
} }
// Params defines the parameters for the staking module. // Params defines the parameters for the staking module.
@ -268,8 +267,8 @@ message RedelegationEntryResponse {
message RedelegationResponse { message RedelegationResponse {
option (gogoproto.equal) = false; option (gogoproto.equal) = false;
Redelegation redelegation = 1 [(gogoproto.nullable) = false]; Redelegation redelegation = 1 [(gogoproto.nullable) = false];
repeated RedelegationEntryResponse entries = 2 [(gogoproto.nullable) = false]; repeated RedelegationEntryResponse entries = 2 [(gogoproto.nullable) = false];
} }
// Pool is used for tracking bonded and not-bonded token supply of the bond // Pool is used for tracking bonded and not-bonded token supply of the bond

View File

@ -51,7 +51,7 @@ message MsgCreateValidator {
} }
// MsgCreateValidatorResponse defines the Msg/CreateValidator response type. // MsgCreateValidatorResponse defines the Msg/CreateValidator response type.
message MsgCreateValidatorResponse { } message MsgCreateValidatorResponse {}
// MsgEditValidator defines a SDK message for editing an existing validator. // MsgEditValidator defines a SDK message for editing an existing validator.
message MsgEditValidator { message MsgEditValidator {
@ -77,7 +77,7 @@ message MsgEditValidator {
} }
// MsgEditValidatorResponse defines the Msg/EditValidator response type. // MsgEditValidatorResponse defines the Msg/EditValidator response type.
message MsgEditValidatorResponse { } message MsgEditValidatorResponse {}
// MsgDelegate defines a SDK message for performing a delegation of coins // MsgDelegate defines a SDK message for performing a delegation of coins
// from a delegator to a validator. // from a delegator to a validator.
@ -91,7 +91,7 @@ message MsgDelegate {
} }
// MsgDelegateResponse defines the Msg/Delegate response type. // MsgDelegateResponse defines the Msg/Delegate response type.
message MsgDelegateResponse { } message MsgDelegateResponse {}
// MsgBeginRedelegate defines a SDK message for performing a redelegation // MsgBeginRedelegate defines a SDK message for performing a redelegation
// of coins from a delegator and source validator to a destination validator. // of coins from a delegator and source validator to a destination validator.

View File

@ -37,43 +37,43 @@ message SignatureDescriptors {
// signature itself. It is primarily used for coordinating signatures between // signature itself. It is primarily used for coordinating signatures between
// clients. // clients.
message SignatureDescriptor { message SignatureDescriptor {
// public_key is the public key of the signer // public_key is the public key of the signer
google.protobuf.Any public_key = 1; google.protobuf.Any public_key = 1;
Data data = 2; Data data = 2;
// sequence is the sequence of the account, which describes the // sequence is the sequence of the account, which describes the
// number of committed transactions signed by a given address. It is used to prevent // number of committed transactions signed by a given address. It is used to prevent
// replay attacks. // replay attacks.
uint64 sequence = 3; uint64 sequence = 3;
// Data represents signature data // Data represents signature data
message Data { message Data {
// sum is the oneof that specifies whether this represents single or multi-signature data // sum is the oneof that specifies whether this represents single or multi-signature data
oneof sum { oneof sum {
// single represents a single signer // single represents a single signer
Single single = 1; Single single = 1;
// multi represents a multisig signer // multi represents a multisig signer
Multi multi = 2; Multi multi = 2;
}
// Single is the signature data for a single signer
message Single {
// mode is the signing mode of the single signer
SignMode mode = 1;
// signature is the raw signature bytes
bytes signature = 2;
}
// Multi is the signature data for a multisig public key
message Multi {
// bitarray specifies which keys within the multisig are signing
cosmos.crypto.multisig.v1beta1.CompactBitArray bitarray = 1;
// signatures is the signatures of the multi-signature
repeated Data signatures = 2;
}
} }
// Single is the signature data for a single signer
message Single {
// mode is the signing mode of the single signer
SignMode mode = 1;
// signature is the raw signature bytes
bytes signature = 2;
}
// Multi is the signature data for a multisig public key
message Multi {
// bitarray specifies which keys within the multisig are signing
cosmos.crypto.multisig.v1beta1.CompactBitArray bitarray = 1;
// signatures is the signatures of the multi-signature
repeated Data signatures = 2;
}
}
} }

View File

@ -10,68 +10,68 @@ option go_package = "github.com/cosmos/cosmos-sdk/types/tx";
// Service defines a gRPC service for interacting with transactions. // Service defines a gRPC service for interacting with transactions.
service Service { service Service {
// Simulate simulates executing a transaction for estimating gas usage. // Simulate simulates executing a transaction for estimating gas usage.
rpc Simulate(SimulateRequest) returns (SimulateResponse) { rpc Simulate(SimulateRequest) returns (SimulateResponse) {
option (google.api.http).post = "/cosmos/tx/v1beta1/simulate"; option (google.api.http).post = "/cosmos/tx/v1beta1/simulate";
} }
// GetTx fetches a tx by hash. // GetTx fetches a tx by hash.
rpc GetTx(GetTxRequest) returns (GetTxResponse) { rpc GetTx(GetTxRequest) returns (GetTxResponse) {
option (google.api.http).get = "/cosmos/tx/v1beta1/tx/{hash}"; option (google.api.http).get = "/cosmos/tx/v1beta1/tx/{hash}";
} }
// GetTxsEvent fetches txs by event. // GetTxsEvent fetches txs by event.
rpc GetTxsEvent(GetTxsEventRequest) returns (GetTxsEventResponse) { rpc GetTxsEvent(GetTxsEventRequest) returns (GetTxsEventResponse) {
option (google.api.http).get = "/cosmos/tx/v1beta1/txs"; option (google.api.http).get = "/cosmos/tx/v1beta1/txs";
} }
} }
// GetTxsEventRequest is the request type for the Service.TxsByEvents // GetTxsEventRequest is the request type for the Service.TxsByEvents
// RPC method. // RPC method.
message GetTxsEventRequest { message GetTxsEventRequest {
// event is the transaction event type. // event is the transaction event type.
string event = 1; string event = 1;
// pagination defines an pagination for the request. // pagination defines an pagination for the request.
cosmos.base.query.v1beta1.PageRequest pagination = 2; cosmos.base.query.v1beta1.PageRequest pagination = 2;
} }
// GetTxsEventResponse is the response type for the Service.TxsByEvents // GetTxsEventResponse is the response type for the Service.TxsByEvents
// RPC method. // RPC method.
message GetTxsEventResponse { message GetTxsEventResponse {
// txs is the list of queried transactions. // txs is the list of queried transactions.
repeated cosmos.tx.v1beta1.Tx txs = 1; repeated cosmos.tx.v1beta1.Tx txs = 1;
// tx_responses is the list of queried TxResponses. // tx_responses is the list of queried TxResponses.
repeated cosmos.base.abci.v1beta1.TxResponse tx_responses = 2; repeated cosmos.base.abci.v1beta1.TxResponse tx_responses = 2;
// pagination defines an pagination for the response. // pagination defines an pagination for the response.
cosmos.base.query.v1beta1.PageResponse pagination = 3; cosmos.base.query.v1beta1.PageResponse pagination = 3;
} }
// SimulateRequest is the request type for the Service.Simulate // SimulateRequest is the request type for the Service.Simulate
// RPC method. // RPC method.
message SimulateRequest { message SimulateRequest {
// tx is the transaction to simulate. // tx is the transaction to simulate.
cosmos.tx.v1beta1.Tx tx = 1; cosmos.tx.v1beta1.Tx tx = 1;
} }
// SimulateResponse is the response type for the // SimulateResponse is the response type for the
// Service.SimulateRPC method. // Service.SimulateRPC method.
message SimulateResponse { message SimulateResponse {
// gas_info is the information about gas used in the simulation. // gas_info is the information about gas used in the simulation.
cosmos.base.abci.v1beta1.GasInfo gas_info = 1; cosmos.base.abci.v1beta1.GasInfo gas_info = 1;
// result is the result of the simulation. // result is the result of the simulation.
cosmos.base.abci.v1beta1.Result result = 2; cosmos.base.abci.v1beta1.Result result = 2;
} }
// GetTxRequest is the request type for the Service.GetTx // GetTxRequest is the request type for the Service.GetTx
// RPC method. // RPC method.
message GetTxRequest { message GetTxRequest {
// hash is the tx hash to query, encoded as a hex string. // hash is the tx hash to query, encoded as a hex string.
string hash = 1; string hash = 1;
} }
// GetTxResponse is the response type for the Service.GetTx method. // GetTxResponse is the response type for the Service.GetTx method.
message GetTxResponse { message GetTxResponse {
// tx is the queried transaction. // tx is the queried transaction.
cosmos.tx.v1beta1.Tx tx = 1; cosmos.tx.v1beta1.Tx tx = 1;
// tx_response is the queried TxResponses. // tx_response is the queried TxResponses.
cosmos.base.abci.v1beta1.TxResponse tx_response = 2; cosmos.base.abci.v1beta1.TxResponse tx_response = 2;
} }

View File

@ -39,7 +39,8 @@ message Plan {
// so that connecting chains can verify that the new upgraded client is valid by verifying a proof on the // so that connecting chains can verify that the new upgraded client is valid by verifying a proof on the
// previous version of the chain. // previous version of the chain.
// This will allow IBC connections to persist smoothly across planned chain upgrades // This will allow IBC connections to persist smoothly across planned chain upgrades
google.protobuf.Any upgraded_client_state = 5 [(gogoproto.moretags) = "yaml:\"upgraded_client_state\""];; google.protobuf.Any upgraded_client_state = 5 [(gogoproto.moretags) = "yaml:\"upgraded_client_state\""];
;
} }
// SoftwareUpgradeProposal is a gov Content type for initiating a software // SoftwareUpgradeProposal is a gov Content type for initiating a software

View File

@ -6,7 +6,6 @@ import "cosmos/base/v1beta1/coin.proto";
option go_package = "github.com/cosmos/cosmos-sdk/x/auth/vesting/types"; option go_package = "github.com/cosmos/cosmos-sdk/x/auth/vesting/types";
// Msg defines the bank Msg service. // Msg defines the bank Msg service.
service Msg { service Msg {
// CreateVestingAccount defines a method that enables creating a vesting // CreateVestingAccount defines a method that enables creating a vesting
@ -14,7 +13,6 @@ service Msg {
rpc CreateVestingAccount(MsgCreateVestingAccount) returns (MsgCreateVestingAccountResponse); rpc CreateVestingAccount(MsgCreateVestingAccount) returns (MsgCreateVestingAccountResponse);
} }
// MsgCreateVestingAccount defines a message that enables creating a vesting // MsgCreateVestingAccount defines a message that enables creating a vesting
// account. // account.
message MsgCreateVestingAccount { message MsgCreateVestingAccount {
@ -30,4 +28,4 @@ message MsgCreateVestingAccount {
} }
// MsgCreateVestingAccountResponse defines the Msg/CreateVestingAccount response type. // MsgCreateVestingAccountResponse defines the Msg/CreateVestingAccount response type.
message MsgCreateVestingAccountResponse { } message MsgCreateVestingAccountResponse {}

View File

@ -40,4 +40,4 @@ message MsgTransfer {
} }
// MsgTransferResponse defines the Msg/Transfer response type. // MsgTransferResponse defines the Msg/Transfer response type.
message MsgTransferResponse { } message MsgTransferResponse {}

View File

@ -8,11 +8,11 @@ import "ibc/core/channel/v1/channel.proto";
// GenesisState defines the ibc channel submodule's genesis state. // GenesisState defines the ibc channel submodule's genesis state.
message GenesisState { message GenesisState {
repeated IdentifiedChannel channels = 1 [(gogoproto.casttype) = "IdentifiedChannel", (gogoproto.nullable) = false]; repeated IdentifiedChannel channels = 1 [(gogoproto.casttype) = "IdentifiedChannel", (gogoproto.nullable) = false];
repeated PacketState acknowledgements = 2 [(gogoproto.nullable) = false]; repeated PacketState acknowledgements = 2 [(gogoproto.nullable) = false];
repeated PacketState commitments = 3 [(gogoproto.nullable) = false]; repeated PacketState commitments = 3 [(gogoproto.nullable) = false];
repeated PacketState receipts = 4 [(gogoproto.nullable) = false]; repeated PacketState receipts = 4 [(gogoproto.nullable) = false];
repeated PacketSequence send_sequences = 5 repeated PacketSequence send_sequences = 5
[(gogoproto.nullable) = false, (gogoproto.moretags) = "yaml:\"send_sequences\""]; [(gogoproto.nullable) = false, (gogoproto.moretags) = "yaml:\"send_sequences\""];
repeated PacketSequence recv_sequences = 6 repeated PacketSequence recv_sequences = 6
[(gogoproto.nullable) = false, (gogoproto.moretags) = "yaml:\"recv_sequences\""]; [(gogoproto.nullable) = false, (gogoproto.moretags) = "yaml:\"recv_sequences\""];

View File

@ -37,8 +37,9 @@ service Query {
// ChannelConsensusState queries for the consensus state for the channel // ChannelConsensusState queries for the consensus state for the channel
// associated with the provided channel identifiers. // associated with the provided channel identifiers.
rpc ChannelConsensusState(QueryChannelConsensusStateRequest) returns (QueryChannelConsensusStateResponse) { rpc ChannelConsensusState(QueryChannelConsensusStateRequest) returns (QueryChannelConsensusStateResponse) {
option (google.api.http).get = "/ibc/core/channel/v1beta1/channels/{channel_id}/ports/{port_id}/consensus_state/version/" option (google.api.http).get =
"{version_number}/height/{version_height}"; "/ibc/core/channel/v1beta1/channels/{channel_id}/ports/{port_id}/consensus_state/version/"
"{version_number}/height/{version_height}";
} }
// PacketCommitment queries a stored packet commitment hash. // PacketCommitment queries a stored packet commitment hash.
@ -55,21 +56,23 @@ service Query {
// PacketReceipt queries if a given packet sequence has been received on the queried chain // PacketReceipt queries if a given packet sequence has been received on the queried chain
rpc PacketReceipt(QueryPacketReceiptRequest) returns (QueryPacketReceiptResponse) { rpc PacketReceipt(QueryPacketReceiptRequest) returns (QueryPacketReceiptResponse) {
option (google.api.http).get = "/ibc/core/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_receipts/{sequence}"; option (google.api.http).get =
"/ibc/core/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_receipts/{sequence}";
} }
// PacketAcknowledgement queries a stored packet acknowledgement hash. // PacketAcknowledgement queries a stored packet acknowledgement hash.
rpc PacketAcknowledgement(QueryPacketAcknowledgementRequest) returns (QueryPacketAcknowledgementResponse) { rpc PacketAcknowledgement(QueryPacketAcknowledgementRequest) returns (QueryPacketAcknowledgementResponse) {
option (google.api.http).get = "/ibc/core/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_acks/{sequence}"; option (google.api.http).get =
"/ibc/core/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_acks/{sequence}";
} }
// PacketAcknowledgements returns all the packet acknowledgements associated // PacketAcknowledgements returns all the packet acknowledgements associated
// with a channel. // with a channel.
rpc PacketAcknowledgements(QueryPacketAcknowledgementsRequest) returns (QueryPacketAcknowledgementsResponse) { rpc PacketAcknowledgements(QueryPacketAcknowledgementsRequest) returns (QueryPacketAcknowledgementsResponse) {
option (google.api.http).get = "/ibc/core/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_acknowledgements"; option (google.api.http).get =
"/ibc/core/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_acknowledgements";
} }
// UnreceivedPackets returns all the unreceived IBC packets associated with a // UnreceivedPackets returns all the unreceived IBC packets associated with a
// channel and sequences. // channel and sequences.
rpc UnreceivedPackets(QueryUnreceivedPacketsRequest) returns (QueryUnreceivedPacketsResponse) { rpc UnreceivedPackets(QueryUnreceivedPacketsRequest) returns (QueryUnreceivedPacketsResponse) {

View File

@ -9,17 +9,15 @@ import "gogoproto/gogo.proto";
// GenesisState defines the ibc client submodule's genesis state. // GenesisState defines the ibc client submodule's genesis state.
message GenesisState { message GenesisState {
// client states with their corresponding identifiers // client states with their corresponding identifiers
repeated IdentifiedClientState clients = 1 [ repeated IdentifiedClientState clients = 1
(gogoproto.nullable) = false, [(gogoproto.nullable) = false, (gogoproto.castrepeated) = "IdentifiedClientStates"];
(gogoproto.castrepeated) = "IdentifiedClientStates"
];
// consensus states from each client // consensus states from each client
repeated ClientConsensusStates clients_consensus = 2 [ repeated ClientConsensusStates clients_consensus = 2 [
(gogoproto.nullable) = false, (gogoproto.nullable) = false,
(gogoproto.castrepeated) = "ClientsConsensusStates", (gogoproto.castrepeated) = "ClientsConsensusStates",
(gogoproto.moretags) = "yaml:\"clients_consensus\"" (gogoproto.moretags) = "yaml:\"clients_consensus\""
]; ];
Params params = 3 [ (gogoproto.nullable) = false]; Params params = 3 [(gogoproto.nullable) = false];
// create localhost on initialization // create localhost on initialization
bool create_localhost = 4 [(gogoproto.moretags) = "yaml:\"create_localhost\""]; bool create_localhost = 4 [(gogoproto.moretags) = "yaml:\"create_localhost\""];
} }

View File

@ -34,8 +34,8 @@ service Query {
option (google.api.http).get = "/ibc/core/client/v1beta1/consensus_states/{client_id}"; option (google.api.http).get = "/ibc/core/client/v1beta1/consensus_states/{client_id}";
} }
// ClientParams queries all parameters of the ibc client. // ClientParams queries all parameters of the ibc client.
rpc ClientParams(QueryClientParamsRequest) returns (QueryClientParamsResponse) { rpc ClientParams(QueryClientParamsRequest) returns (QueryClientParamsResponse) {
option (google.api.http).get = "/ibc/client/v1beta1/params"; option (google.api.http).get = "/ibc/client/v1beta1/params";
} }
} }
@ -70,10 +70,8 @@ message QueryClientStatesRequest {
// method. // method.
message QueryClientStatesResponse { message QueryClientStatesResponse {
// list of stored ClientStates of the chain. // list of stored ClientStates of the chain.
repeated IdentifiedClientState client_states = 1 [ repeated IdentifiedClientState client_states = 1
(gogoproto.nullable) = false, [(gogoproto.nullable) = false, (gogoproto.castrepeated) = "IdentifiedClientStates"];
(gogoproto.castrepeated) = "IdentifiedClientStates"
];
// pagination response // pagination response
cosmos.base.query.v1beta1.PageResponse pagination = 2; cosmos.base.query.v1beta1.PageResponse pagination = 2;
} }

View File

@ -39,7 +39,7 @@ message MsgCreateClient {
} }
// MsgCreateClientResponse defines the Msg/CreateClient response type. // MsgCreateClientResponse defines the Msg/CreateClient response type.
message MsgCreateClientResponse { } message MsgCreateClientResponse {}
// MsgUpdateClient defines an sdk.Msg to update a IBC client state using // MsgUpdateClient defines an sdk.Msg to update a IBC client state using
// the given header. // the given header.
@ -56,7 +56,7 @@ message MsgUpdateClient {
} }
// MsgUpdateClientResponse defines the Msg/UpdateClient response type. // MsgUpdateClientResponse defines the Msg/UpdateClient response type.
message MsgUpdateClientResponse { } message MsgUpdateClientResponse {}
// MsgUpgradeClient defines an sdk.Msg to upgrade an IBC client to a new client state // MsgUpgradeClient defines an sdk.Msg to upgrade an IBC client to a new client state
message MsgUpgradeClient { message MsgUpgradeClient {
@ -73,7 +73,7 @@ message MsgUpgradeClient {
} }
// MsgUpgradeClientResponse defines the Msg/UpgradeClient response type. // MsgUpgradeClientResponse defines the Msg/UpgradeClient response type.
message MsgUpgradeClientResponse { } message MsgUpgradeClientResponse {}
// MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence for // MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence for
// light client misbehaviour. // light client misbehaviour.
@ -90,4 +90,4 @@ message MsgSubmitMisbehaviour {
} }
// MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour response type. // MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour response type.
message MsgSubmitMisbehaviourResponse { } message MsgSubmitMisbehaviourResponse {}

View File

@ -36,5 +36,5 @@ message MerklePath {
// should be succinct. // should be succinct.
// MerkleProofs are ordered from leaf-to-root // MerkleProofs are ordered from leaf-to-root
message MerkleProof { message MerkleProof {
repeated ics23.CommitmentProof proofs = 1; repeated ics23.CommitmentProof proofs = 1;
} }

View File

@ -18,7 +18,7 @@ service Msg {
// ConnectionOpenAck defines a rpc handler method for MsgConnectionOpenAck. // ConnectionOpenAck defines a rpc handler method for MsgConnectionOpenAck.
rpc ConnectionOpenAck(MsgConnectionOpenAck) returns (MsgConnectionOpenAckResponse); rpc ConnectionOpenAck(MsgConnectionOpenAck) returns (MsgConnectionOpenAckResponse);
// ConnectionOpenConfirm defines a rpc handler method for MsgConnectionOpenConfirm. // ConnectionOpenConfirm defines a rpc handler method for MsgConnectionOpenConfirm.
rpc ConnectionOpenConfirm(MsgConnectionOpenConfirm) returns (MsgConnectionOpenConfirmResponse); rpc ConnectionOpenConfirm(MsgConnectionOpenConfirm) returns (MsgConnectionOpenConfirmResponse);
} }
@ -37,7 +37,7 @@ message MsgConnectionOpenInit {
} }
// MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit response type. // MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit response type.
message MsgConnectionOpenInitResponse { } message MsgConnectionOpenInitResponse {}
// MsgConnectionOpenTry defines a msg sent by a Relayer to try to open a // MsgConnectionOpenTry defines a msg sent by a Relayer to try to open a
// connection on Chain B. // connection on Chain B.
@ -48,9 +48,9 @@ message MsgConnectionOpenTry {
string client_id = 1 [(gogoproto.moretags) = "yaml:\"client_id\""]; string client_id = 1 [(gogoproto.moretags) = "yaml:\"client_id\""];
string desired_connection_id = 2 [(gogoproto.moretags) = "yaml:\"desired_connection_id\""]; string desired_connection_id = 2 [(gogoproto.moretags) = "yaml:\"desired_connection_id\""];
string counterparty_chosen_connection_id = 3 [(gogoproto.moretags) = "yaml:\"counterparty_chosen_connection_id\""]; string counterparty_chosen_connection_id = 3 [(gogoproto.moretags) = "yaml:\"counterparty_chosen_connection_id\""];
google.protobuf.Any client_state = 4 [(gogoproto.moretags) = "yaml:\"client_state\""]; google.protobuf.Any client_state = 4 [(gogoproto.moretags) = "yaml:\"client_state\""];
Counterparty counterparty = 5 [(gogoproto.nullable) = false]; Counterparty counterparty = 5 [(gogoproto.nullable) = false];
repeated Version counterparty_versions = 6 [(gogoproto.moretags) = "yaml:\"counterparty_versions\""]; repeated Version counterparty_versions = 6 [(gogoproto.moretags) = "yaml:\"counterparty_versions\""];
ibc.core.client.v1.Height proof_height = 7 ibc.core.client.v1.Height proof_height = 7
[(gogoproto.moretags) = "yaml:\"proof_height\"", (gogoproto.nullable) = false]; [(gogoproto.moretags) = "yaml:\"proof_height\"", (gogoproto.nullable) = false];
// proof of the initialization the connection on Chain A: `UNITIALIZED -> // proof of the initialization the connection on Chain A: `UNITIALIZED ->
@ -66,7 +66,7 @@ message MsgConnectionOpenTry {
} }
// MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry response type. // MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry response type.
message MsgConnectionOpenTryResponse { } message MsgConnectionOpenTryResponse {}
// MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to // MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to
// acknowledge the change of connection state to TRYOPEN on Chain B. // acknowledge the change of connection state to TRYOPEN on Chain B.
@ -93,7 +93,7 @@ message MsgConnectionOpenAck {
} }
// MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck response type. // MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck response type.
message MsgConnectionOpenAckResponse { } message MsgConnectionOpenAckResponse {}
// MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B to // MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B to
// acknowledge the change of connection state to OPEN on Chain A. // acknowledge the change of connection state to OPEN on Chain A.
@ -110,4 +110,4 @@ message MsgConnectionOpenConfirm {
} }
// MsgConnectionOpenConfirmResponse defines the Msg/ConnectionOpenConfirm response type. // MsgConnectionOpenConfirmResponse defines the Msg/ConnectionOpenConfirm response type.
message MsgConnectionOpenConfirmResponse { } message MsgConnectionOpenConfirmResponse {}

View File

@ -8,8 +8,8 @@ set -eo pipefail
go install github.com/gogo/protobuf/protoc-gen-gogotypes go install github.com/gogo/protobuf/protoc-gen-gogotypes
buf protoc -I. --gogotypes_out=./codec/types third_party/proto/google/protobuf/any.proto buf protoc -I "third_party/proto" --gogotypes_out=./codec/types third_party/proto/google/protobuf/any.proto
mv codec/types/third_party/proto/google/protobuf/any.pb.go codec/types mv codec/types/google/protobuf/any.pb.go codec/types
rm -rf codec/types/third_party rm -rf codec/types/third_party
# This removes the call to RegisterType in the custom generated Any wrapper # This removes the call to RegisterType in the custom generated Any wrapper

View File

@ -9,31 +9,31 @@ option go_package = "github.com/cosmos/cosmos-sdk/testutil/testdata";
// Query tests the protobuf Query service as defined in // Query tests the protobuf Query service as defined in
// https://github.com/cosmos/cosmos-sdk/issues/5921. // https://github.com/cosmos/cosmos-sdk/issues/5921.
service Query { service Query {
rpc Echo(EchoRequest) returns (EchoResponse); rpc Echo(EchoRequest) returns (EchoResponse);
rpc SayHello(SayHelloRequest) returns (SayHelloResponse); rpc SayHello(SayHelloRequest) returns (SayHelloResponse);
rpc TestAny(TestAnyRequest) returns (TestAnyResponse); rpc TestAny(TestAnyRequest) returns (TestAnyResponse);
} }
message EchoRequest { message EchoRequest {
string message = 1; string message = 1;
} }
message EchoResponse { message EchoResponse {
string message = 1; string message = 1;
} }
message SayHelloRequest { message SayHelloRequest {
string name = 1; string name = 1;
} }
message SayHelloResponse { message SayHelloResponse {
string greeting = 1; string greeting = 1;
} }
message TestAnyRequest { message TestAnyRequest {
google.protobuf.Any any_animal = 1; google.protobuf.Any any_animal = 1;
} }
message TestAnyResponse { message TestAnyResponse {
testdata.HasAnimal has_animal = 1; testdata.HasAnimal has_animal = 1;
} }

View File

@ -9,20 +9,20 @@ option go_package = "github.com/cosmos/cosmos-sdk/testutil/testdata";
// Msg tests the Protobuf message service as defined in // Msg tests the Protobuf message service as defined in
// https://github.com/cosmos/cosmos-sdk/issues/7500. // https://github.com/cosmos/cosmos-sdk/issues/7500.
service Msg { service Msg {
rpc CreateDog(MsgCreateDog) returns (MsgCreateDogResponse); rpc CreateDog(MsgCreateDog) returns (MsgCreateDogResponse);
} }
message MsgCreateDog { message MsgCreateDog {
testdata.Dog dog = 1; testdata.Dog dog = 1;
} }
message MsgCreateDogResponse { message MsgCreateDogResponse {
string name = 1; string name = 1;
} }
// TestMsg is msg type for testing protobuf message using any, as defined in // TestMsg is msg type for testing protobuf message using any, as defined in
// https://github.com/cosmos/cosmos-sdk/issues/6213. // https://github.com/cosmos/cosmos-sdk/issues/6213.
message TestMsg { message TestMsg {
option (gogoproto.goproto_getters) = false; option (gogoproto.goproto_getters) = false;
repeated string signers = 1; repeated string signers = 1;
} }

View File

@ -42,8 +42,8 @@ message Nested4A {
} }
message Nested3A { message Nested3A {
int32 id = 1; int32 id = 1;
string name = 2; string name = 2;
repeated Nested4A a4 = 4; repeated Nested4A a4 = 4;
map<int64, Nested4A> index = 5; map<int64, Nested4A> index = 5;
} }
@ -66,10 +66,10 @@ message Nested4B {
} }
message Nested3B { message Nested3B {
int32 id = 1; int32 id = 1;
int32 age = 2; int32 age = 2;
string name = 3; string name = 3;
repeated Nested4B b4 = 4; repeated Nested4B b4 = 4;
} }
message Nested2B { message Nested2B {
@ -101,32 +101,32 @@ message Customer3 {
} }
message TestVersion1 { message TestVersion1 {
int64 x = 1; int64 x = 1;
TestVersion1 a = 2; TestVersion1 a = 2;
TestVersion1 b = 3; // [(gogoproto.nullable) = false] generates invalid recursive structs; TestVersion1 b = 3; // [(gogoproto.nullable) = false] generates invalid recursive structs;
repeated TestVersion1 c = 4; repeated TestVersion1 c = 4;
repeated TestVersion1 d = 5 [(gogoproto.nullable) = false]; repeated TestVersion1 d = 5 [(gogoproto.nullable) = false];
oneof sum { oneof sum {
int32 e = 6; int32 e = 6;
TestVersion1 f = 7; TestVersion1 f = 7;
} }
google.protobuf.Any g = 8; google.protobuf.Any g = 8;
repeated TestVersion1 h = 9; // [(gogoproto.castrepeated) = "TestVersion1"]; repeated TestVersion1 h = 9; // [(gogoproto.castrepeated) = "TestVersion1"];
// google.protobuf.Timestamp i = 10; // google.protobuf.Timestamp i = 10;
// google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true]; // google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true];
Customer1 k = 12 [(gogoproto.embed) = true]; Customer1 k = 12 [(gogoproto.embed) = true];
} }
message TestVersion2 { message TestVersion2 {
int64 x = 1; int64 x = 1;
TestVersion2 a = 2; TestVersion2 a = 2;
TestVersion2 b = 3; // [(gogoproto.nullable) = false]; TestVersion2 b = 3; // [(gogoproto.nullable) = false];
repeated TestVersion2 c = 4; repeated TestVersion2 c = 4;
repeated TestVersion2 d = 5; // [(gogoproto.nullable) = false]; repeated TestVersion2 d = 5; // [(gogoproto.nullable) = false];
oneof sum { oneof sum {
int32 e = 6; int32 e = 6;
TestVersion2 f = 7; TestVersion2 f = 7;
} }
google.protobuf.Any g = 8; google.protobuf.Any g = 8;
repeated TestVersion1 h = 9; // [(gogoproto.castrepeated) = "TestVersion1"]; repeated TestVersion1 h = 9; // [(gogoproto.castrepeated) = "TestVersion1"];
// google.protobuf.Timestamp i = 10; // google.protobuf.Timestamp i = 10;
// google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true]; // google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true];
@ -134,16 +134,16 @@ message TestVersion2 {
uint64 new_field = 25; uint64 new_field = 25;
} }
message TestVersion3 { message TestVersion3 {
int64 x = 1; int64 x = 1;
TestVersion3 a = 2; TestVersion3 a = 2;
TestVersion3 b = 3; // [(gogoproto.nullable) = false]; TestVersion3 b = 3; // [(gogoproto.nullable) = false];
repeated TestVersion3 c = 4; repeated TestVersion3 c = 4;
repeated TestVersion3 d = 5; // [(gogoproto.nullable) = false]; repeated TestVersion3 d = 5; // [(gogoproto.nullable) = false];
oneof sum { oneof sum {
int32 e = 6; int32 e = 6;
TestVersion3 f = 7; TestVersion3 f = 7;
} }
google.protobuf.Any g = 8; google.protobuf.Any g = 8;
repeated TestVersion1 h = 9; //[(gogoproto.castrepeated) = "TestVersion1"]; repeated TestVersion1 h = 9; //[(gogoproto.castrepeated) = "TestVersion1"];
// google.protobuf.Timestamp i = 10; // google.protobuf.Timestamp i = 10;
// google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true]; // google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true];
@ -152,15 +152,15 @@ message TestVersion3 {
} }
message TestVersion3LoneOneOfValue { message TestVersion3LoneOneOfValue {
int64 x = 1; int64 x = 1;
TestVersion3 a = 2; TestVersion3 a = 2;
TestVersion3 b = 3; // [(gogoproto.nullable) = false]; TestVersion3 b = 3; // [(gogoproto.nullable) = false];
repeated TestVersion3 c = 4; repeated TestVersion3 c = 4;
repeated TestVersion3 d = 5; // [(gogoproto.nullable) = false]; repeated TestVersion3 d = 5; // [(gogoproto.nullable) = false];
oneof sum { oneof sum {
int32 e = 6; int32 e = 6;
} }
google.protobuf.Any g = 8; google.protobuf.Any g = 8;
repeated TestVersion1 h = 9; //[(gogoproto.castrepeated) = "TestVersion1"]; repeated TestVersion1 h = 9; //[(gogoproto.castrepeated) = "TestVersion1"];
// google.protobuf.Timestamp i = 10; // google.protobuf.Timestamp i = 10;
// google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true]; // google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true];
@ -169,15 +169,15 @@ message TestVersion3LoneOneOfValue {
} }
message TestVersion3LoneNesting { message TestVersion3LoneNesting {
int64 x = 1; int64 x = 1;
TestVersion3 a = 2; TestVersion3 a = 2;
TestVersion3 b = 3; // [(gogoproto.nullable) = false]; TestVersion3 b = 3; // [(gogoproto.nullable) = false];
repeated TestVersion3 c = 4; repeated TestVersion3 c = 4;
repeated TestVersion3 d = 5; // [(gogoproto.nullable) = false]; repeated TestVersion3 d = 5; // [(gogoproto.nullable) = false];
oneof sum { oneof sum {
TestVersion3LoneNesting f = 7; TestVersion3LoneNesting f = 7;
} }
google.protobuf.Any g = 8; google.protobuf.Any g = 8;
repeated TestVersion1 h = 9; //[(gogoproto.castrepeated) = "TestVersion1"]; repeated TestVersion1 h = 9; //[(gogoproto.castrepeated) = "TestVersion1"];
// google.protobuf.Timestamp i = 10; // google.protobuf.Timestamp i = 10;
// google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true]; // google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true];
@ -210,15 +210,15 @@ message TestVersion3LoneNesting {
} }
message TestVersion4LoneNesting { message TestVersion4LoneNesting {
int64 x = 1; int64 x = 1;
TestVersion3 a = 2; TestVersion3 a = 2;
TestVersion3 b = 3; // [(gogoproto.nullable) = false]; TestVersion3 b = 3; // [(gogoproto.nullable) = false];
repeated TestVersion3 c = 4; repeated TestVersion3 c = 4;
repeated TestVersion3 d = 5; // [(gogoproto.nullable) = false]; repeated TestVersion3 d = 5; // [(gogoproto.nullable) = false];
oneof sum { oneof sum {
TestVersion3LoneNesting f = 7; TestVersion3LoneNesting f = 7;
} }
google.protobuf.Any g = 8; google.protobuf.Any g = 8;
repeated TestVersion1 h = 9; //[(gogoproto.castrepeated) = "TestVersion1"]; repeated TestVersion1 h = 9; //[(gogoproto.castrepeated) = "TestVersion1"];
// google.protobuf.Timestamp i = 10; // google.protobuf.Timestamp i = 10;
// google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true]; // google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true];
@ -257,7 +257,7 @@ message TestVersionFD1 {
int32 e = 6; int32 e = 6;
TestVersion1 f = 7; TestVersion1 f = 7;
} }
google.protobuf.Any g = 8; google.protobuf.Any g = 8;
repeated TestVersion1 h = 9; // [(gogoproto.castrepeated) = "TestVersion1"]; repeated TestVersion1 h = 9; // [(gogoproto.castrepeated) = "TestVersion1"];
} }
@ -268,7 +268,7 @@ message TestVersionFD1WithExtraAny {
int32 e = 6; int32 e = 6;
TestVersion1 f = 7; TestVersion1 f = 7;
} }
AnyWithExtra g = 8; AnyWithExtra g = 8;
repeated TestVersion1 h = 9; // [(gogoproto.castrepeated) = "TestVersion1"]; repeated TestVersion1 h = 9; // [(gogoproto.castrepeated) = "TestVersion1"];
} }
@ -279,11 +279,11 @@ message AnyWithExtra {
} }
message TestUpdatedTxRaw { message TestUpdatedTxRaw {
bytes body_bytes = 1; bytes body_bytes = 1;
bytes auth_info_bytes = 2; bytes auth_info_bytes = 2;
repeated bytes signatures = 3; repeated bytes signatures = 3;
bytes new_field_5 = 5; bytes new_field_5 = 5;
bytes new_field_1024 = 1024; bytes new_field_1024 = 1024;
} }
message TestUpdatedTxBody { message TestUpdatedTxBody {