Skip to content

Commit

Permalink
Feat/stargate (#86)
Browse files Browse the repository at this point in the history
* add custom & stargate query

* add stargate msg

* consume gas when querying stargate & custom

* add stargate msg test

* add address converter to custom querier

* stargate msg delete path

* rename initiavm to movevm

* bump movevm to v0.2.0

* refactor the structure and add tests

---------

Co-authored-by: beer-1 <[email protected]>
  • Loading branch information
sh-cha and beer-1 authored Feb 28, 2024
1 parent ef827ec commit e5b1778
Show file tree
Hide file tree
Showing 71 changed files with 700 additions and 189 deletions.
1 change: 1 addition & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ comment:
behavior: default # update if exists else create new

ignore:
- "api"
- "*.md"
- "*.rst"
- "cmd/"
Expand Down
18 changes: 9 additions & 9 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
FROM golang:1.21-alpine AS go-builder
#ARG arch=x86_64

# See https://github.com/initia-labs/initiavm/releases
ENV LIBINITIAVM_VERSION=v0.2.0-beta.2.1
# See https://github.com/initia-labs/movevm/releases
ENV LIBINITIAVM_VERSION=v0.2.0

# this comes from standard alpine nightly file
# https://github.com/rust-lang/docker-rust-nightly/blob/master/alpine3.12/Dockerfile
Expand All @@ -20,18 +20,18 @@ COPY . /code/
RUN git clone --depth 1 https://github.com/microsoft/mimalloc; cd mimalloc; mkdir build; cd build; cmake ..; make -j$(nproc); make install
ENV MIMALLOC_RESERVE_HUGE_OS_PAGES=4

# See https://github.com/initia-labs/initiavm/releases
ADD https://github.com/initia-labs/initiavm/releases/download/${LIBINITIAVM_VERSION}/libinitia_muslc.aarch64.a /lib/libinitia_muslc.aarch64.a
ADD https://github.com/initia-labs/initiavm/releases/download/${LIBINITIAVM_VERSION}/libinitia_muslc.x86_64.a /lib/libinitia_muslc.x86_64.a
# See https://github.com/initia-labs/movevm/releases
ADD https://github.com/initia-labs/movevm/releases/download/${LIBINITIAVM_VERSION}/libmovevm_muslc.aarch64.a /lib/libmovevm_muslc.aarch64.a
ADD https://github.com/initia-labs/movevm/releases/download/${LIBINITIAVM_VERSION}/libmovevm_muslc.x86_64.a /lib/libmovevm_muslc.x86_64.a

# Highly recommend to verify the version hash
# RUN sha256sum /lib/libinitia_muslc.aarch64.a | grep a5e63292ec67f5bdefab51b42c3fbc3fa307c6aefeb6b409d971f1df909c3927
# RUN sha256sum /lib/libinitia_muslc.x86_64.a | grep 762307147bf8f550bd5324b7f7c4f17ee20805ff93dc06cc073ffbd909438320
# RUN sha256sum /lib/libmovevm_muslc.aarch64.a | grep a5e63292ec67f5bdefab51b42c3fbc3fa307c6aefeb6b409d971f1df909c3927
# RUN sha256sum /lib/libmovevm_muslc.x86_64.a | grep 762307147bf8f550bd5324b7f7c4f17ee20805ff93dc06cc073ffbd909438320

# Copy the library you want to the final location that will be found by the linker flag `-linitia_muslc`
RUN cp /lib/libinitia_muslc.`uname -m`.a /lib/libinitia_muslc.a
RUN cp /lib/libmovevm_muslc.`uname -m`.a /lib/libmovevm_muslc.a

# force it to use static lib (from above) not standard libinitia.so file
# force it to use static lib (from above) not standard libmovevm.so file
RUN LEDGER_ENABLED=false BUILD_TAGS=muslc LDFLAGS="-linkmode=external -extldflags \"-L/code/mimalloc/build -lmimalloc -Wl,-z,muldefs -static\"" make build

FROM alpine:3.15.4
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ build-linux-with-shared-library:
docker build --tag initia/initiad-shared ./ -f ./shared.Dockerfile
docker create --name temp initia/initiad-shared:latest
docker cp temp:/usr/local/bin/initiad $(BUILDDIR)/
docker cp temp:/lib/libinitia.so $(BUILDDIR)/
docker cp temp:/lib/libmovevm.so $(BUILDDIR)/
docker rm temp

install: go.sum
Expand Down
1 change: 1 addition & 0 deletions app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -824,6 +824,7 @@ func NewInitiaApp(
app.OracleKeeper,
// app.NftTransferKeeper,
app.BaseApp.MsgServiceRouter(),
app.BaseApp.GRPCQueryRouter(),
moveConfig,
// staking feature
app.DistrKeeper,
Expand Down
2 changes: 1 addition & 1 deletion benchmark/app_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import (
simappparams "cosmossdk.io/simapp/params"
initiaapp "github.com/initia-labs/initia/app"
movetypes "github.com/initia-labs/initia/x/move/types"
vmtypes "github.com/initia-labs/initiavm/types"
vmtypes "github.com/initia-labs/movevm/types"

dbm "github.com/cosmos/cosmos-db"
"github.com/cosmos/cosmos-sdk/client"
Expand Down
36 changes: 18 additions & 18 deletions cmd/move/move.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@ import (
movecli "github.com/initia-labs/initia/x/move/client/cli"
movetypes "github.com/initia-labs/initia/x/move/types"

"github.com/initia-labs/initiavm/api"
"github.com/initia-labs/initiavm/types/compiler"
buildtypes "github.com/initia-labs/initiavm/types/compiler/build"
coveragetypes "github.com/initia-labs/initiavm/types/compiler/coverage"
docgentypes "github.com/initia-labs/initiavm/types/compiler/docgen"
provetypes "github.com/initia-labs/initiavm/types/compiler/prove"
testtypes "github.com/initia-labs/initiavm/types/compiler/test"
"github.com/initia-labs/movevm/api"
"github.com/initia-labs/movevm/types/compiler"
buildtypes "github.com/initia-labs/movevm/types/compiler/build"
coveragetypes "github.com/initia-labs/movevm/types/compiler/coverage"
docgentypes "github.com/initia-labs/movevm/types/compiler/docgen"
provetypes "github.com/initia-labs/movevm/types/compiler/prove"
testtypes "github.com/initia-labs/movevm/types/compiler/test"
"github.com/pelletier/go-toml"
"github.com/spf13/cobra"
)
Expand Down Expand Up @@ -143,7 +143,7 @@ func moveBuildCmd() *cobra.Command {
Long: "Build a move package. The provided path must specify the path of move package to build",
Args: cobra.ExactArgs(0),
RunE: func(cmd *cobra.Command, args []string) error {
arg, err := getInitiaCompilerArgument(cmd)
arg, err := getCompilerArgument(cmd)
if err != nil {
return err
}
Expand All @@ -168,7 +168,7 @@ func moveTestCmd() *cobra.Command {
Long: "Run tests in a move package. The provided path must specify the path of move package to test",
Args: cobra.ExactArgs(0),
RunE: func(cmd *cobra.Command, args []string) error {
arg, err := getInitiaCompilerArgument(cmd)
arg, err := getCompilerArgument(cmd)
if err != nil {
return err
}
Expand Down Expand Up @@ -198,7 +198,7 @@ func moveCoverageSummaryCmd() *cobra.Command {
Short: "Display a coverage summary for all modules in this package",
Args: cobra.ExactArgs(0),
RunE: func(cmd *cobra.Command, args []string) error {
arg, err := getInitiaCompilerArgument(cmd)
arg, err := getCompilerArgument(cmd)
if err != nil {
return err
}
Expand Down Expand Up @@ -229,7 +229,7 @@ func moveCoverageSourceCmd() *cobra.Command {
Short: "Display coverage information about the module against source code",
Args: cobra.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
arg, err := getInitiaCompilerArgument(cmd)
arg, err := getCompilerArgument(cmd)
if err != nil {
return err
}
Expand All @@ -256,7 +256,7 @@ func moveCoverageBytecodeCmd() *cobra.Command {
Short: "Display coverage information about the module against disassembled bytecode",
Args: cobra.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
arg, err := getInitiaCompilerArgument(cmd)
arg, err := getCompilerArgument(cmd)
if err != nil {
return err
}
Expand Down Expand Up @@ -284,7 +284,7 @@ func moveNewCmd() *cobra.Command {
Long: "Create a new Move package with name `name` at `path`. If `path` is not provided the package will be created in the directory `name`",
Args: cobra.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
arg, err := getInitiaCompilerArgument(cmd)
arg, err := getCompilerArgument(cmd)
if err != nil {
return err
}
Expand All @@ -309,7 +309,7 @@ func moveCleanCmd() *cobra.Command {
Long: "Remove previously built data and its cache",
Args: cobra.ExactArgs(0),
RunE: func(cmd *cobra.Command, args []string) error {
arg := compiler.InitiaCompilerArgument{}
arg := compiler.CompilerArgument{}

cleanCache, err := cmd.Flags().GetBool(flagCleanCache)
if err != nil {
Expand Down Expand Up @@ -448,7 +448,7 @@ func moveProveCmd() *cobra.Command {
Long: "run formal verification of a Move package using the Move prover",
Args: cobra.ExactArgs(0),
RunE: func(cmd *cobra.Command, args []string) error {
arg, err := getInitiaCompilerArgument(cmd)
arg, err := getCompilerArgument(cmd)
if err != nil {
return err
}
Expand Down Expand Up @@ -506,7 +506,7 @@ func moveDocgenCmd() *cobra.Command {
Long: "Generate documents of a move package. The provided path must specify the path of move package to generate docs",
Args: cobra.ExactArgs(0),
RunE: func(cmd *cobra.Command, args []string) error {
arg, err := getInitiaCompilerArgument(cmd)
arg, err := getCompilerArgument(cmd)
if err != nil {
return err
}
Expand Down Expand Up @@ -597,7 +597,7 @@ func addMoveDocgenFlags(cmd *cobra.Command) {
cmd.Flags().String(flagReferencesFile, "", "Package-relative path to a file whose content is added to each generated markdown file.")
}

func getInitiaCompilerArgument(cmd *cobra.Command) (*compiler.InitiaCompilerArgument, error) {
func getCompilerArgument(cmd *cobra.Command) (*compiler.CompilerArgument, error) {
bc, err := getBuildConfig(cmd)
if err != nil {
return nil, err
Expand All @@ -613,7 +613,7 @@ func getInitiaCompilerArgument(cmd *cobra.Command) (*compiler.InitiaCompilerArgu
return nil, err
}

return &compiler.InitiaCompilerArgument{
return &compiler.CompilerArgument{
PackagePath: packagePath,
Verbose: verbose,
BuildConfig: *bc,
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ require (
github.com/hashicorp/go-metrics v0.5.2
github.com/initia-labs/OPinit v0.2.0-beta.1
// we also need to update `LIBINITIAVM_VERSION` of images/private/Dockerfile#5
github.com/initia-labs/initiavm v0.2.0-beta.2.0.20240226025020-6e778c96c52f
github.com/initia-labs/movevm v0.0.0-20240228123400-2951cc64c945
github.com/pelletier/go-toml v1.9.5
github.com/pkg/errors v0.9.1
github.com/rakyll/statik v0.1.7
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -725,8 +725,8 @@ github.com/initia-labs/cosmos-sdk v0.0.0-20240123082052-77e8b246064a h1:wD9ynlE7
github.com/initia-labs/cosmos-sdk v0.0.0-20240123082052-77e8b246064a/go.mod h1:tlrkY1sntOt1q0OX/rqF0zRJtmXNoffAS6VFTcky+w8=
github.com/initia-labs/iavl v0.0.0-20240208034922-5d81c449d4c0 h1:GQ7/UD5mB6q104roqZK5jxb6ff9sBk0/uwFxgERQIaU=
github.com/initia-labs/iavl v0.0.0-20240208034922-5d81c449d4c0/go.mod h1:CmTGqMnRnucjxbjduneZXT+0vPgNElYvdefjX2q9tYc=
github.com/initia-labs/initiavm v0.2.0-beta.2.0.20240226025020-6e778c96c52f h1:zNxqfWC8MymWOakk2JL+PkzVHIX309cNBCnMJJRfUJM=
github.com/initia-labs/initiavm v0.2.0-beta.2.0.20240226025020-6e778c96c52f/go.mod h1:Yq+GksFbLNwnyNHKd84yDUTqFpzye3F1ic7Ax9sur10=
github.com/initia-labs/movevm v0.0.0-20240228123400-2951cc64c945 h1:aoPuGF00i+yo39QfiJwLv7QMnhaGJJ/jzkW2NNAas9o=
github.com/initia-labs/movevm v0.0.0-20240228123400-2951cc64c945/go.mod h1:1EyJ06+Hn43MfaXZ+30a2gmhS5zjqiFF8oSF5CHai28=
github.com/jhump/protoreflect v1.15.3 h1:6SFRuqU45u9hIZPJAoZ8c28T3nK64BNdp9w6jFonzls=
github.com/jhump/protoreflect v1.15.3/go.mod h1:4ORHmSBmlCW8fh3xHmJMGyul1zNqZK4Elxc8qKP+p1k=
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
Expand Down
12 changes: 6 additions & 6 deletions images/private/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
FROM golang:1.21-alpine AS go-builder
#ARG arch=x86_64

# See https://github.com/initia-labs/initiavm/releases
ARG LIBINITIAVM_VERSION=v0.2.0-beta.2.1
# See https://github.com/initia-labs/movevm/releases
ARG LIBINITIAVM_VERSION=v0.2.0

# this comes from standard alpine nightly file
# https://github.com/rust-lang/docker-rust-nightly/blob/master/alpine3.12/Dockerfile
Expand All @@ -24,14 +24,14 @@ ARG GITHUB_ACCESS_TOKEN
ENV GOPRIVATE=github.com/initia-labs/*
RUN git config --global url."https://${GITHUB_ACCESS_TOKEN}:[email protected]/".insteadOf "https://github.com/"

# See https://github.com/initia-labs/initiavm/releases
# See https://github.com/initia-labs/movevm/releases
ADD https://github.com/gruntwork-io/fetch/releases/download/v0.4.6/fetch_linux_amd64 /usr/bin/fetch
RUN chmod +x /usr/bin/fetch
ENV GITHUB_OAUTH_TOKEN=$GITHUB_ACCESS_TOKEN
RUN fetch --repo="https://github.com/initia-labs/initiavm" --tag="${LIBINITIAVM_VERSION}" --release-asset="libinitia_muslc.*.a" /lib/
RUN cp /lib/libinitia_muslc.`uname -m`.a /lib/libinitia_muslc.a
RUN fetch --repo="https://github.com/initia-labs/movevm" --tag="${LIBINITIAVM_VERSION}" --release-asset="libmovevm_muslc.*.a" /lib/
RUN cp /lib/libmovevm_muslc.`uname -m`.a /lib/libmovevm_muslc.a

# force it to use static lib (from above) not standard libinitia.so file
# force it to use static lib (from above) not standard libmovevm.so file
RUN LEDGER_ENABLED=false BUILD_TAGS=muslc LDFLAGS="-linkmode=external -extldflags \"-L/code/mimalloc/build -lmimalloc -Wl,-z,muldefs -static\"" make build

FROM alpine:3.15.4
Expand Down
4 changes: 2 additions & 2 deletions shared.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ COPY . /code/

RUN LEDGER_ENABLED=false make build

RUN cp /go/pkg/mod/github.com/initia\-labs/initiavm@v*/api/libinitia.`uname -m`.so /lib/libinitia.so
RUN cp /go/pkg/mod/github.com/initia\-labs/initiavm@v*/api/libmovevm.`uname -m`.so /lib/libmovevm.so

FROM ubuntu:20.04

WORKDIR /root

COPY --from=go-builder /code/build/initiad /usr/local/bin/initiad
COPY --from=go-builder /lib/libinitia.so /lib/libinitia.so
COPY --from=go-builder /lib/libmovevm.so /lib/libmovevm.so

# rest server
EXPOSE 1317
Expand Down
5 changes: 3 additions & 2 deletions x/bank/keeper/common_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ import (
rewardtypes "github.com/initia-labs/initia/x/reward/types"
"github.com/initia-labs/initia/x/slashing"

"github.com/initia-labs/initiavm/precompile"
"github.com/initia-labs/movevm/precompile"

"github.com/skip-mev/slinky/x/oracle"
oraclekeeper "github.com/skip-mev/slinky/x/oracle/keeper"
Expand Down Expand Up @@ -373,6 +373,7 @@ func _createTestInput(
bankKeeper,
oracleKeeper,
nil,
nil,
moveConfig,
distKeeper,
stakingKeeper,
Expand Down Expand Up @@ -401,7 +402,7 @@ func _createTestInput(
msgRouter := baseapp.NewMsgServiceRouter()
msgRouter.SetInterfaceRegistry(encodingConfig.InterfaceRegistry)
banktypes.RegisterMsgServer(msgRouter, bankkeeper.NewMsgServerImpl(bankKeeper))
movetypes.RegisterMsgServer(msgRouter, movekeeper.NewMsgServerImpl(*moveKeeper))
movetypes.RegisterMsgServer(msgRouter, movekeeper.NewMsgServerImpl(moveKeeper))

govConfig := govtypes.DefaultConfig()
govKeeper := govkeeper.NewKeeper(
Expand Down
2 changes: 1 addition & 1 deletion x/bank/types/expected_keeper.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
"github.com/cosmos/cosmos-sdk/types/query"
cosmosbanktypes "github.com/cosmos/cosmos-sdk/x/bank/types"

vmtypes "github.com/initia-labs/initiavm/types"
vmtypes "github.com/initia-labs/movevm/types"
)

type MoveBankKeeper interface {
Expand Down
9 changes: 5 additions & 4 deletions x/distribution/keeper/common_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ import (
rewardkeeper "github.com/initia-labs/initia/x/reward/keeper"
rewardtypes "github.com/initia-labs/initia/x/reward/types"
"github.com/initia-labs/initia/x/slashing"
"github.com/initia-labs/initiavm/precompile"
"github.com/initia-labs/movevm/precompile"
)

var ModuleBasics = module.NewBasicManager(
Expand Down Expand Up @@ -353,8 +353,9 @@ func _createTestInput(
runtime.NewKVStoreService(keys[movetypes.StoreKey]),
accountKeeper,
bankKeeper,
nil, // oracle keeper unused
nil, // msg router unused
nil,
nil,
nil,
moveConfig,
distKeeper,
stakingKeeper,
Expand Down Expand Up @@ -383,7 +384,7 @@ func _createTestInput(
msgRouter := baseapp.NewMsgServiceRouter()
msgRouter.SetInterfaceRegistry(encodingConfig.InterfaceRegistry)
banktypes.RegisterMsgServer(msgRouter, bankkeeper.NewMsgServerImpl(bankKeeper))
movetypes.RegisterMsgServer(msgRouter, movekeeper.NewMsgServerImpl(*moveKeeper))
movetypes.RegisterMsgServer(msgRouter, movekeeper.NewMsgServerImpl(moveKeeper))

govConfig := govtypes.DefaultConfig()
govKeeper := govkeeper.NewKeeper(
Expand Down
9 changes: 5 additions & 4 deletions x/gov/keeper/common_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ import (
rewardtypes "github.com/initia-labs/initia/x/reward/types"
"github.com/initia-labs/initia/x/slashing"

"github.com/initia-labs/initiavm/precompile"
"github.com/initia-labs/movevm/precompile"
)

var ModuleBasics = module.NewBasicManager(
Expand Down Expand Up @@ -383,8 +383,9 @@ func _createTestInput(
runtime.NewKVStoreService(keys[movetypes.StoreKey]),
accountKeeper,
bankKeeper,
nil, // oracle keeper unused
nil, // msg router unused
nil,
nil,
nil,
moveConfig,
distKeeper,
stakingKeeper,
Expand Down Expand Up @@ -413,7 +414,7 @@ func _createTestInput(
msgRouter := baseapp.NewMsgServiceRouter()
msgRouter.SetInterfaceRegistry(encodingConfig.InterfaceRegistry)
banktypes.RegisterMsgServer(msgRouter, bankkeeper.NewMsgServerImpl(bankKeeper))
movetypes.RegisterMsgServer(msgRouter, movekeeper.NewMsgServerImpl(*moveKeeper))
movetypes.RegisterMsgServer(msgRouter, movekeeper.NewMsgServerImpl(moveKeeper))

govConfig := govtypes.DefaultConfig()
govKeeper := govkeeper.NewKeeper(
Expand Down
5 changes: 3 additions & 2 deletions x/ibc-hooks/keeper/common_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ import (
rewardkeeper "github.com/initia-labs/initia/x/reward/keeper"
rewardtypes "github.com/initia-labs/initia/x/reward/types"
"github.com/initia-labs/initia/x/slashing"
"github.com/initia-labs/initiavm/precompile"
"github.com/initia-labs/movevm/precompile"
)

var ModuleBasics = module.NewBasicManager(
Expand Down Expand Up @@ -376,6 +376,7 @@ func _createTestInput(
bankKeeper,
nil, // oracle keeper unused
nil, // msg router unused
nil, // query router unused
moveConfig,
distKeeper,
stakingKeeper,
Expand Down Expand Up @@ -412,7 +413,7 @@ func _createTestInput(
msgRouter := baseapp.NewMsgServiceRouter()
msgRouter.SetInterfaceRegistry(encodingConfig.InterfaceRegistry)
banktypes.RegisterMsgServer(msgRouter, bankkeeper.NewMsgServerImpl(bankKeeper))
movetypes.RegisterMsgServer(msgRouter, movekeeper.NewMsgServerImpl(*moveKeeper))
movetypes.RegisterMsgServer(msgRouter, movekeeper.NewMsgServerImpl(moveKeeper))

govConfig := govtypes.DefaultConfig()
govKeeper := govkeeper.NewKeeper(
Expand Down
2 changes: 1 addition & 1 deletion x/ibc-hooks/move-hooks/ack.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import (
ibchooks "github.com/initia-labs/initia/x/ibc-hooks"
nfttransfertypes "github.com/initia-labs/initia/x/ibc/nft-transfer/types"
movetypes "github.com/initia-labs/initia/x/move/types"
vmtypes "github.com/initia-labs/initiavm/types"
vmtypes "github.com/initia-labs/movevm/types"
)

func (h MoveHooks) onAckIcs20Packet(
Expand Down
2 changes: 1 addition & 1 deletion x/ibc-hooks/move-hooks/receive.go
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,6 @@ func (h MoveHooks) execMsg(ctx sdk.Context, msg *movetypes.MsgExecute) (*movetyp
return nil, err
}

moveMsgServer := movekeeper.NewMsgServerImpl(*h.moveKeeper)
moveMsgServer := movekeeper.NewMsgServerImpl(h.moveKeeper)
return moveMsgServer.Execute(ctx, msg)
}
Loading

0 comments on commit e5b1778

Please sign in to comment.