Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
hoangdv2429 committed Mar 26, 2024
1 parent 80b02ec commit ea44d87
Show file tree
Hide file tree
Showing 45 changed files with 681 additions and 659 deletions.
15 changes: 5 additions & 10 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -143,21 +143,16 @@ test_evm: ## Run go test
# Protobuf #
# ---------------------------------------------------------------------------- #

containerProtoVer=v0.2
containerProtoImage=tendermintdev/sdk-proto-gen:$(containerProtoVer)
containerProtoGen=cosmos-sdk-proto-gen-$(containerProtoVer)
containerProtoFmt=cosmos-sdk-proto-fmt-$(containerProtoVer)
protoVer=0.14.0
protoImageName=ghcr.io/cosmos/proto-builder:$(protoVer)
protoImage=$(DOCKER) run --rm -v $(CURDIR):/workspace --workdir /workspace $(protoImageName)

proto-gen: ## Generates protobuf files
@echo "Generating Protobuf files"
@if docker ps -a --format '{{.Names}}' | grep -Eq "^${containerProtoGen}$$"; then docker start -a $(containerProtoGen); else docker run --name $(containerProtoGen) -v $(CURDIR):/workspace --workdir /workspace $(containerProtoImage) \
sh ./proto/protocgen.sh; fi
@$(protoImage) sh ./scripts/protocgen.sh

proto-format: ## Formats protobuf files
@echo "Formatting Protobuf files"
@if docker ps -a --format '{{.Names}}' | grep -Eq "^${containerProtoFmt}$$"; then docker start -a $(containerProtoFmt); else docker run --name $(containerProtoFmt) -v $(CURDIR):/workspace --workdir /workspace tendermintdev/docker-build-proto \
find ./ -not -path "./third_party/*" -name "*.proto" -exec clang-format -i {} \; ; fi

@$(protoImage) find ./proto -name "*.proto" -exec clang-format -i {} \;

# Absolutely awesome: http://marmelab.com/blog/2016/02/29/auto-documented-makefile.html
.PHONY: help
Expand Down
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ require (
cosmossdk.io/errors v1.0.0-beta.7
cosmossdk.io/math v1.2.0
github.com/cosmos/cosmos-sdk v0.46.15
github.com/cosmos/gogoproto v1.4.11
github.com/cosmos/ibc-go/v6 v6.1.1
github.com/dymensionxyz/dymint v1.0.0-alpha
github.com/gogo/protobuf v1.3.3
Expand All @@ -22,7 +23,6 @@ require (
github.com/tendermint/tm-db v0.6.8-0.20220506192307-f628bb5dc95b
google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe
google.golang.org/grpc v1.61.0
google.golang.org/protobuf v1.32.0
gopkg.in/natefinch/lumberjack.v2 v2.0.0
gopkg.in/yaml.v2 v2.4.0
)
Expand Down Expand Up @@ -62,7 +62,6 @@ require (
github.com/cosmos/btcutil v1.0.5 // indirect
github.com/cosmos/cosmos-proto v1.0.0-beta.3 // indirect
github.com/cosmos/go-bip39 v1.0.0 // indirect
github.com/cosmos/gogoproto v1.4.11 // indirect
github.com/cosmos/gorocksdb v1.2.0 // indirect
github.com/cosmos/iavl v0.19.6 // indirect
github.com/cosmos/ledger-cosmos-go v0.12.4 // indirect
Expand Down Expand Up @@ -227,6 +226,7 @@ require (
google.golang.org/appengine v1.6.8 // indirect
google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe // indirect
google.golang.org/protobuf v1.32.0 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
lukechampine.com/blake3 v1.2.1 // indirect
Expand Down
8 changes: 8 additions & 0 deletions proto/buf.gen.gogo.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
version: v1
plugins:
- name: gocosmos
out: .gen
opt: plugins=grpc,Mgoogle/protobuf/duration.proto=github.com/cosmos/gogoproto/types,Mgoogle/protobuf/struct.proto=github.com/cosmos/gogoproto/types,Mgoogle/protobuf/timestamp.proto=github.com/cosmos/gogoproto/types,Mgoogle/protobuf/wrappers.proto=github.com/cosmos/gogoproto/types,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types,Mcosmos/orm/v1alpha1/orm.proto=github.com/cosmos/cosmos-sdk/api/cosmos/orm/v1alpha1
- name: grpc-gateway
out: .gen
opt: logtostderr=true,allow_colon_final_segments=true
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
syntax = "proto3";
package rollapp.denommetadata.types;
package rollapp.denommetadata;

import "gogoproto/gogo.proto";
import "denommetadata/params.proto";
import "rollapp/denommetadata/params.proto";
import "cosmos/staking/v1beta1/staking.proto";

option go_package = "github.com/dymensionxyz/dymension-rdk/x/denommetadata/types";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
syntax = "proto3";
package rollapp.denommetadata.types;
package rollapp.denommetadata;
import "gogoproto/gogo.proto";

option go_package = "github.com/dymensionxyz/dymension-rdk/x/denommetadata/types";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
syntax = "proto3";
package rollapp.denommetadata.types;
package rollapp.denommetadata;

import "gogoproto/gogo.proto";
import "google/api/annotations.proto";
import "denommetadata/params.proto";
import "rollapp/denommetadata/params.proto";

option go_package = "github.com/dymensionxyz/dymension-rdk/x/denommetadata/types";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
syntax = "proto3";
package rollapp.denommetadata.types;
package rollapp.denommetadata;

import "gogoproto/gogo.proto";
import "cosmos/bank/v1beta1/bank.proto";

import "denommetadata/params.proto";
import "rollapp/denommetadata/params.proto";

option go_package = "github.com/dymensionxyz/dymension-rdk/x/denommetadata/types";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
syntax = "proto3";
package rollapp.epochs.types;
package rollapp.epochs;

import "gogoproto/gogo.proto";
import "google/protobuf/duration.proto";
Expand Down
4 changes: 2 additions & 2 deletions proto/epochs/query.proto → proto/rollapp/epochs/query.proto
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
syntax = "proto3";
package rollapp.epochs.types;
package rollapp.epochs;

import "gogoproto/gogo.proto";
import "google/api/annotations.proto";
import "cosmos/base/query/v1beta1/pagination.proto";
import "epochs/genesis.proto";
import "rollapp/epochs/genesis.proto";

option go_package = "github.com/dymensionxyz/dymension-rdk/x/epochs/types";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ syntax = "proto3";
package rollapp.hub_genesis;

import "gogoproto/gogo.proto";
import "hub-genesis/params.proto";
import "hub-genesis/hub.proto";
import "rollapp/hub_genesis/params.proto";
import "rollapp/hub_genesis/hub.proto";

option go_package = "github.com/dymensionxyz/dymension-rdk/x/hub-genesis/types";

Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package rollapp.hub_genesis;

import "gogoproto/gogo.proto";
import "google/api/annotations.proto";
import "hub-genesis/params.proto";
import "hub-genesis/hub.proto";
import "rollapp/hub_genesis/params.proto";
import "rollapp/hub_genesis/hub.proto";

option go_package = "github.com/dymensionxyz/dymension-rdk/x/hub-genesis/types";

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ syntax = "proto3";
package rollapp.mint.v1beta1;

import "gogoproto/gogo.proto";
import "mint/v1beta1/mint.proto";
import "mint/v1beta1/params.proto";
import "rollapp/mint/v1beta1/mint.proto";
import "rollapp/mint/v1beta1/params.proto";

option go_package = "github.com/dymensionxyz/dymension-rdk/x/mint/types";

Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package rollapp.mint.v1beta1;

import "gogoproto/gogo.proto";
import "google/api/annotations.proto";
import "mint/v1beta1/mint.proto";
import "mint/v1beta1/params.proto";
import "rollapp/mint/v1beta1/mint.proto";
import "rollapp/mint/v1beta1/params.proto";

option go_package = "github.com/dymensionxyz/dymension-rdk/x/mint/types";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
syntax = "proto3";
package rollapp.sequencers.types;
package rollapp.sequencers;

import "gogoproto/gogo.proto";
import "sequencers/params.proto";
import "rollapp/sequencers/params.proto";
import "cosmos/staking/v1beta1/staking.proto";

// this line is used by starport scaffolding # genesis/proto/import
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
syntax = "proto3";
package rollapp.sequencers.types;
package rollapp.sequencers;
import "gogoproto/gogo.proto";
import "google/protobuf/duration.proto";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
syntax = "proto3";
package rollapp.sequencers.types;
package rollapp.sequencers;

import "gogoproto/gogo.proto";

import "cosmos/staking/v1beta1/staking.proto";
import "google/api/annotations.proto";
import "cosmos/base/query/v1beta1/pagination.proto";
import "sequencers/params.proto";
import "rollapp/sequencers/params.proto";

// this line is used by starport scaffolding # 1

Expand Down
23 changes: 14 additions & 9 deletions scripts/protocgen.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,20 @@ set -eo pipefail

proto_dirs=$(find ./proto -path -prune -o -name '*.proto' -print0 | xargs -0 -n1 dirname | sort | uniq)
for dir in $proto_dirs; do
protoc \
-I "proto" \
-I "third_party/proto" \
--gocosmos_out=plugins=interfacetype+grpc,\
Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types:. \
--grpc-gateway_out=logtostderr=true,allow_colon_final_segments=true:. \
$(find "${dir}" -maxdepth 1 -name '*.proto')
for file in $(find "${dir}" -maxdepth 1 -name '*.proto'); do
if grep "option go_package" $file &>/dev/null; then
buf generate --template ./proto/buf.gen.gogo.yaml $file
fi
done
done

# move proto files to the right places
cp -r github.com/dymensionxyz/dymension-rdk/* ./
rm -rf github.com
cp -r .gen/github.com/dymensionxyz/dymension-rdk/* ./proto
rm -rf .gen/

# move generated .go files from proto to their respective directories in x
for file in $(find ./proto -name '*.go'); do
dir=$(dirname "${file#./proto/}")
mkdir -p "./${dir}"
mv "$file" "./${dir}"
done
46 changes: 24 additions & 22 deletions x/denommetadata/types/genesis.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

44 changes: 23 additions & 21 deletions x/denommetadata/types/params.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit ea44d87

Please sign in to comment.