Skip to content
This repository was archived by the owner on Apr 10, 2026. It is now read-only.

Commit 69ece42

Browse files
authored
update to 0.37 (#133)
* update to 0.37 rc * follow module spec * Some tutorial changes Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * update to 0.37 and delete unneded file * more minor touchups * module structure change
1 parent 415ea4f commit 69ece42

34 files changed

Lines changed: 396 additions & 371 deletions

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ go.sum: go.mod
1111

1212
lint:
1313
golangci-lint run
14-
find . -name '*.go' -type f -not -path "./vendor*" -not -path "*.git*" | xargs gofmt -d -s
14+
@find . -name '*.go' -type f -not -path "./vendor*" -not -path "*.git*" | xargs gofmt -d -s
1515
go mod verify

app.go

Lines changed: 41 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import (
66

77
abci "github.com/tendermint/tendermint/abci/types"
88
cmn "github.com/tendermint/tendermint/libs/common"
9-
dbm "github.com/tendermint/tendermint/libs/db"
109
"github.com/tendermint/tendermint/libs/log"
1110
tmtypes "github.com/tendermint/tendermint/types"
11+
dbm "github.com/tendermint/tm-db"
1212

1313
bam "github.com/cosmos/cosmos-sdk/baseapp"
1414
"github.com/cosmos/cosmos-sdk/codec"
@@ -72,18 +72,9 @@ type nameServiceApp struct {
7272
*bam.BaseApp
7373
cdc *codec.Codec
7474

75-
// Keys to access the substores
76-
keyMain *sdk.KVStoreKey
77-
keyAccount *sdk.KVStoreKey
78-
keySupply *sdk.KVStoreKey
79-
keyStaking *sdk.KVStoreKey
80-
tkeyStaking *sdk.TransientStoreKey
81-
keyDistr *sdk.KVStoreKey
82-
tkeyDistr *sdk.TransientStoreKey
83-
keyNS *sdk.KVStoreKey
84-
keyParams *sdk.KVStoreKey
85-
tkeyParams *sdk.TransientStoreKey
86-
keySlashing *sdk.KVStoreKey
75+
// keys to access the substores
76+
keys map[string]*sdk.KVStoreKey
77+
tkeys map[string]*sdk.TransientStoreKey
8778

8879
// Keepers
8980
accountKeeper auth.AccountKeeper
@@ -100,34 +91,30 @@ type nameServiceApp struct {
10091
}
10192

10293
// NewNameServiceApp is a constructor function for nameServiceApp
103-
func NewNameServiceApp(logger log.Logger, db dbm.DB) *nameServiceApp {
94+
func NewNameServiceApp(
95+
logger log.Logger, db dbm.DB, baseAppOptions ...func(*bam.BaseApp),
96+
) *nameServiceApp {
10497

10598
// First define the top level codec that will be shared by the different modules
10699
cdc := MakeCodec()
107100

108101
// BaseApp handles interactions with Tendermint through the ABCI protocol
109-
bApp := bam.NewBaseApp(appName, logger, db, auth.DefaultTxDecoder(cdc))
102+
bApp := bam.NewBaseApp(appName, logger, db, auth.DefaultTxDecoder(cdc), baseAppOptions...)
103+
104+
keys := sdk.NewKVStoreKeys(bam.MainStoreKey, auth.StoreKey, staking.StoreKey,
105+
supply.StoreKey, distr.StoreKey, slashing.StoreKey, params.StoreKey)
106+
tkeys := sdk.NewTransientStoreKeys(staking.TStoreKey, params.TStoreKey)
110107

111108
// Here you initialize your application with the store keys it requires
112109
var app = &nameServiceApp{
113110
BaseApp: bApp,
114111
cdc: cdc,
115-
116-
keyMain: sdk.NewKVStoreKey(bam.MainStoreKey),
117-
keyAccount: sdk.NewKVStoreKey(auth.StoreKey),
118-
keySupply: sdk.NewKVStoreKey(supply.StoreKey),
119-
keyStaking: sdk.NewKVStoreKey(staking.StoreKey),
120-
tkeyStaking: sdk.NewTransientStoreKey(staking.TStoreKey),
121-
keyDistr: sdk.NewKVStoreKey(distr.StoreKey),
122-
tkeyDistr: sdk.NewTransientStoreKey(distr.TStoreKey),
123-
keyNS: sdk.NewKVStoreKey(nameservice.StoreKey),
124-
keyParams: sdk.NewKVStoreKey(params.StoreKey),
125-
tkeyParams: sdk.NewTransientStoreKey(params.TStoreKey),
126-
keySlashing: sdk.NewKVStoreKey(slashing.StoreKey),
112+
keys: keys,
113+
tkeys: tkeys,
127114
}
128115

129116
// The ParamsKeeper handles parameter storage for the application
130-
app.paramsKeeper = params.NewKeeper(app.cdc, app.keyParams, app.tkeyParams, params.DefaultCodespace)
117+
app.paramsKeeper = params.NewKeeper(app.cdc, keys[params.StoreKey], tkeys[params.TStoreKey], params.DefaultCodespace)
131118
// Set specific supspaces
132119
authSubspace := app.paramsKeeper.Subspace(auth.DefaultParamspace)
133120
bankSupspace := app.paramsKeeper.Subspace(bank.DefaultParamspace)
@@ -138,7 +125,7 @@ func NewNameServiceApp(logger log.Logger, db dbm.DB) *nameServiceApp {
138125
// The AccountKeeper handles address -> account lookups
139126
app.accountKeeper = auth.NewAccountKeeper(
140127
app.cdc,
141-
app.keyAccount,
128+
keys[auth.StoreKey],
142129
authSubspace,
143130
auth.ProtoBaseAccount,
144131
)
@@ -148,41 +135,42 @@ func NewNameServiceApp(logger log.Logger, db dbm.DB) *nameServiceApp {
148135
app.accountKeeper,
149136
bankSupspace,
150137
bank.DefaultCodespace,
138+
app.ModuleAccountAddrs(),
151139
)
152140

153141
// The SupplyKeeper collects transaction fees and renders them to the fee distribution module
154142
app.supplyKeeper = supply.NewKeeper(
155143
app.cdc,
156-
app.keySupply,
144+
keys[supply.StoreKey],
157145
app.accountKeeper,
158146
app.bankKeeper,
159-
supply.DefaultCodespace,
160147
maccPerms,
161148
)
162149

163150
// The staking keeper
164151
stakingKeeper := staking.NewKeeper(
165152
app.cdc,
166-
app.keyStaking,
167-
app.tkeyStaking,
153+
keys[staking.StoreKey],
154+
tkeys[staking.TStoreKey],
168155
app.supplyKeeper,
169156
stakingSubspace,
170157
staking.DefaultCodespace,
171158
)
172159

173160
app.distrKeeper = distr.NewKeeper(
174161
app.cdc,
175-
app.keyDistr,
162+
keys[distr.StoreKey],
176163
distrSubspace,
177164
&stakingKeeper,
178165
app.supplyKeeper,
179166
distr.DefaultCodespace,
180167
auth.FeeCollectorName,
168+
app.ModuleAccountAddrs(),
181169
)
182170

183171
app.slashingKeeper = slashing.NewKeeper(
184172
app.cdc,
185-
app.keySlashing,
173+
keys[slashing.StoreKey],
186174
&stakingKeeper,
187175
slashingSubspace,
188176
slashing.DefaultCodespace,
@@ -200,7 +188,7 @@ func NewNameServiceApp(logger log.Logger, db dbm.DB) *nameServiceApp {
200188
// It handles interactions with the namestore
201189
app.nsKeeper = nameservice.NewKeeper(
202190
app.bankKeeper,
203-
app.keyNS,
191+
keys[nameservice.StoreKey],
204192
app.cdc,
205193
)
206194

@@ -220,6 +208,8 @@ func NewNameServiceApp(logger log.Logger, db dbm.DB) *nameServiceApp {
220208
app.mm.SetOrderEndBlockers(staking.ModuleName)
221209

222210
// Sets the order of Genesis - Order matters, genutil is to always come last
211+
// NOTE: The genutils moodule must occur after staking so that pools are
212+
// properly initialized with tokens from genesis accounts.
223213
app.mm.SetOrderInitGenesis(
224214
genaccounts.ModuleName,
225215
distr.ModuleName,
@@ -248,21 +238,11 @@ func NewNameServiceApp(logger log.Logger, db dbm.DB) *nameServiceApp {
248238
),
249239
)
250240

251-
app.MountStores(
252-
app.keyMain,
253-
app.keyAccount,
254-
app.keySupply,
255-
app.keyStaking,
256-
app.tkeyStaking,
257-
app.keyDistr,
258-
app.tkeyDistr,
259-
app.keySlashing,
260-
app.keyNS,
261-
app.keyParams,
262-
app.tkeyParams,
263-
)
241+
// initialize stores
242+
app.MountKVStores(keys)
243+
app.MountTransientStores(tkeys)
264244

265-
err := app.LoadLatestVersion(app.keyMain)
245+
err := app.LoadLatestVersion(app.keys[bam.MainStoreKey])
266246
if err != nil {
267247
cmn.Exit(err.Error())
268248
}
@@ -295,7 +275,17 @@ func (app *nameServiceApp) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock)
295275
return app.mm.EndBlock(ctx, req)
296276
}
297277
func (app *nameServiceApp) LoadHeight(height int64) error {
298-
return app.LoadVersion(height, app.keyMain)
278+
return app.LoadVersion(height, app.keys[bam.MainStoreKey])
279+
}
280+
281+
// ModuleAccountAddrs returns all the app's module account addresses.
282+
func (app *nameServiceApp) ModuleAccountAddrs() map[string]bool {
283+
modAccAddrs := make(map[string]bool)
284+
for acc := range maccPerms {
285+
modAccAddrs[supply.NewModuleAddress(acc).String()] = true
286+
}
287+
288+
return modAccAddrs
299289
}
300290

301291
//_________________________________________________________

cmd/nsd/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ import (
1717
genutilcli "github.com/cosmos/cosmos-sdk/x/genutil/client/cli"
1818
app "github.com/cosmos/sdk-application-tutorial"
1919
abci "github.com/tendermint/tendermint/abci/types"
20-
dbm "github.com/tendermint/tendermint/libs/db"
2120
tmtypes "github.com/tendermint/tendermint/types"
21+
dbm "github.com/tendermint/tm-db"
2222
)
2323

2424
func main() {

go.mod

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,18 @@ module github.com/cosmos/sdk-application-tutorial
33
go 1.12
44

55
require (
6-
github.com/cosmos/cosmos-sdk v0.36.0-rc1
6+
github.com/cosmos/cosmos-sdk v0.37.0
7+
github.com/go-logfmt/logfmt v0.4.0 // indirect
78
github.com/gorilla/mux v1.7.0
89
github.com/mattn/go-isatty v0.0.7 // indirect
910
github.com/prometheus/procfs v0.0.0-20190328153300-af7bedc223fb // indirect
1011
github.com/spf13/afero v1.2.2 // indirect
1112
github.com/spf13/cobra v0.0.5
1213
github.com/spf13/viper v1.3.2
1314
github.com/tendermint/go-amino v0.15.0
14-
github.com/tendermint/tendermint v0.32.1
15+
github.com/tendermint/tendermint v0.32.2
16+
github.com/tendermint/tm-db v0.1.1
1517
golang.org/x/sys v0.0.0-20190329044733-9eb1bfa1ce65 // indirect
1618
google.golang.org/appengine v1.4.0 // indirect
1719
google.golang.org/genproto v0.0.0-20190327125643-d831d65fe17d // indirect
18-
google.golang.org/grpc v1.19.1 // indirect
1920
)

go.sum

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ github.com/cosmos/cosmos-sdk v0.35.0 h1:EPeie1aKHwnXtTzKggvabG7aAPN+DDmju2xquvjF
3636
github.com/cosmos/cosmos-sdk v0.35.0/go.mod h1:ruF+G4D7hRf34uzZQvf/SIja9fsIThU5D7GirwTMQ9I=
3737
github.com/cosmos/cosmos-sdk v0.36.0-rc1 h1:hgSXNeVwNYxD0+O9DxRrxJcir9Z7Q5zreLV6G7GrjYA=
3838
github.com/cosmos/cosmos-sdk v0.36.0-rc1/go.mod h1:UV765S3m9sxCg8rYaBr4XgeHZl2UP6y++Coz9mLlYFc=
39+
github.com/cosmos/cosmos-sdk v0.36.0 h1:nDHhZDeucmv/PoThz89Q8cj9S8OH2EUutgertz2pZ90=
40+
github.com/cosmos/cosmos-sdk v0.37.0-rc1 h1:DjrmTg+MTRJozgqIhI+7vT1MI2hQobeb8AQcXQ87JO0=
41+
github.com/cosmos/cosmos-sdk v0.37.0-rc1/go.mod h1:3b/k/Zd+YDuttSmEJdNkxga1H5EIiDUhSYeErAHQN7A=
42+
github.com/cosmos/cosmos-sdk v0.37.0 h1:S2I3NDGN2wqfGlY5KqkAHTpfezjhgeqDxrCxhlhd528=
43+
github.com/cosmos/cosmos-sdk v0.37.0/go.mod h1:3b/k/Zd+YDuttSmEJdNkxga1H5EIiDUhSYeErAHQN7A=
3944
github.com/cosmos/go-bip39 v0.0.0-20180618194314-52158e4697b8 h1:Iwin12wRQtyZhH6FV3ykFcdGNlYEzoeR0jN8Vn+JWsI=
4045
github.com/cosmos/go-bip39 v0.0.0-20180618194314-52158e4697b8/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y=
4146
github.com/cosmos/ledger-cosmos-go v0.10.3 h1:Qhi5yTR5Pg1CaTpd00pxlGwNl4sFRdtK1J96OTjeFFc=
@@ -74,9 +79,12 @@ github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM
7479
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
7580
github.com/golang/protobuf v1.3.0 h1:kbxbvI4Un1LUWKxufD+BiE6AEExYYgkQLQmLFqA1LFk=
7681
github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0=
82+
github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs=
83+
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
7784
github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
7885
github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4=
7986
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
87+
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
8088
github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf h1:+RRA9JqSOZFfKrOeqr2z77+8R2RKyh8PG66dcu1V0ck=
8189
github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
8290
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
@@ -103,6 +111,8 @@ github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6
103111
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
104112
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY=
105113
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
114+
github.com/libp2p/go-buffer-pool v0.0.1 h1:9Rrn/H46cXjaA2HQ5Y8lyhOS1NhTkZ4yuEs2r3Eechg=
115+
github.com/libp2p/go-buffer-pool v0.0.1/go.mod h1:xtyIz9PMobb13WaxR6Zo1Pd1zXJKYg0a8KiIvDp3TzQ=
106116
github.com/magiconair/properties v1.8.0 h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDtDePerRcY=
107117
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
108118
github.com/mattn/go-isatty v0.0.6 h1:SrwhHcpV4nWrMGdNcC2kXpMfcBVYGDuTArqyhocJgvA=
@@ -149,6 +159,8 @@ github.com/prometheus/procfs v0.0.0-20190328153300-af7bedc223fb h1:LvNCMEj0FFZQY
149159
github.com/prometheus/procfs v0.0.0-20190328153300-af7bedc223fb/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
150160
github.com/rakyll/statik v0.1.4 h1:zCS/YQCxfo/fQjCtGVGIyWGFnRbQ18Y55mhS3XPE+Oo=
151161
github.com/rakyll/statik v0.1.4/go.mod h1:OEi9wJV/fMUAGx1eNjq75DKDsJVuEv1U0oYdX6GX8Zs=
162+
github.com/rakyll/statik v0.1.5 h1:Ly2UjURzxnsSYS0zI50fZ+srA+Fu7EbpV5hglvJvJG0=
163+
github.com/rakyll/statik v0.1.5/go.mod h1:OEi9wJV/fMUAGx1eNjq75DKDsJVuEv1U0oYdX6GX8Zs=
152164
github.com/rcrowley/go-metrics v0.0.0-20180503174638-e2704e165165 h1:nkcn14uNmFEuGCb2mBZbBb24RdNRL08b/wb+xBOYpuk=
153165
github.com/rcrowley/go-metrics v0.0.0-20180503174638-e2704e165165/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
154166
github.com/rs/cors v1.6.0 h1:G9tHG9lebljV9mfp9SNPDL36nCDxmo3zTlAf1YgvzmI=
@@ -204,11 +216,17 @@ github.com/tendermint/iavl v0.12.2 h1:Ls5p5VINCM1HRT9g5Vvs2zmDOCU/CCIvIHzd/pZ8P0
204216
github.com/tendermint/iavl v0.12.2/go.mod h1:EoKMMv++tDOL5qKKVnoIqtVPshRrEPeJ0WsgDOLAauM=
205217
github.com/tendermint/iavl v0.12.3-0.20190712145259-c834d3192b52 h1:l3qTzz8KkhZZSeLTJGqh0+iONjGM/tS5vvbunXjAmnA=
206218
github.com/tendermint/iavl v0.12.3-0.20190712145259-c834d3192b52/go.mod h1:A9IoWRVTibyXXlfZztHy52RloI85QOrIcsE9dyQh+DY=
219+
github.com/tendermint/iavl v0.12.4 h1:hd1woxUGISKkfUWBA4mmmTwOua6PQZTJM/F0FDrmMV8=
220+
github.com/tendermint/iavl v0.12.4/go.mod h1:8LHakzt8/0G3/I8FUU0ReNx98S/EP6eyPJkAUvEXT/o=
207221
github.com/tendermint/tendermint v0.31.5 h1:vTet8tCq3B9/J9Yo11dNZ8pOB7NtSy++bVSfkP4KzR4=
208222
github.com/tendermint/tendermint v0.31.5/go.mod h1:ymcPyWblXCplCPQjbOYbrF1fWnpslATMVqiGgWbZrlc=
209223
github.com/tendermint/tendermint v0.31.7/go.mod h1:ymcPyWblXCplCPQjbOYbrF1fWnpslATMVqiGgWbZrlc=
210224
github.com/tendermint/tendermint v0.32.1 h1:J8ddXMbCmG6GZjdCl/N1wgdXDU9uO91J2Y5CA9xYfGo=
211225
github.com/tendermint/tendermint v0.32.1/go.mod h1:jmPDAKuNkev9793/ivn/fTBnfpA9mGBww8MPRNPNxnU=
226+
github.com/tendermint/tendermint v0.32.2 h1:FvZWdksfDg/65vKKr5Lgo57keARFnmhrUEXHwyrV1QY=
227+
github.com/tendermint/tendermint v0.32.2/go.mod h1:NwMyx58S8VJ7tEpFKqRVlVWKO9N9zjTHu+Dx96VsnOE=
228+
github.com/tendermint/tm-db v0.1.1 h1:G3Xezy3sOk9+ekhjZ/kjArYIs1SmwV+1OUgNkj7RgV0=
229+
github.com/tendermint/tm-db v0.1.1/go.mod h1:0cPKWu2Mou3IlxecH+MEUSYc1Ch537alLe6CpFrKzgw=
212230
github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
213231
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
214232
github.com/zondax/hid v0.9.0 h1:eiT3P6vNxAEVxXMw66eZUAAnU2zD33JBkfG/EnfAKl8=
@@ -221,9 +239,12 @@ golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnf
221239
golang.org/x/crypto v0.0.0-20190228161510-8dd112bcdc25/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
222240
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M=
223241
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
242+
golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a h1:YX8ljsm6wXlHZO+aRz9Exqr0evNhKRNe5K/gi+zKh4U=
243+
golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
224244
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
225245
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
226246
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
247+
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
227248
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
228249
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
229250
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -234,6 +255,8 @@ golang.org/x/net v0.0.0-20190213061140-3a22650c66bd h1:HuTn7WObtcDo9uEEU7rEqL0jY
234255
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
235256
golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628=
236257
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
258+
golang.org/x/net v0.0.0-20190628185345-da137c7871d7 h1:rTIdg5QFRR7XCaK4LCjBiPbx8j4DQRpdYMnGn/bJUEU=
259+
golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
237260
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
238261
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
239262
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -256,7 +279,9 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
256279
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
257280
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
258281
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
282+
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
259283
golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
284+
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
260285
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
261286
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
262287
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8 h1:Nw54tB0rB7hY/N0NQvRW8DG4Yk3Q6T9cu9RcFQDu1tc=
@@ -270,6 +295,8 @@ google.golang.org/grpc v1.19.0 h1:cfg4PD8YEdSFnm7qLV4++93WcmhH2nIUhMjhdCvl3j8=
270295
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
271296
google.golang.org/grpc v1.19.1 h1:TrBcJ1yqAl1G++wO39nD/qtgpsW9/1+QGrluyMGEYgM=
272297
google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
298+
google.golang.org/grpc v1.22.0 h1:J0UbZOIrCAl+fpTOf8YLs4dJo8L/owV4LYVtAXQoPkw=
299+
google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
273300
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
274301
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
275302
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
@@ -281,3 +308,4 @@ gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
281308
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
282309
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
283310
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
311+
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=

tutorial/README.md

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,24 @@ Through the course of this tutorial you will create the following files that mak
3333
│   │ ├── query.go
3434
│   │ └── tx.go
3535
│   └── rest
36+
│ ├── query.go
37+
│ ├── tx.go
3638
│   └── rest.go
37-
├── types
38-
├── codec.go
39-
├── key.go
40-
├── msgs.go
41-
├── querier.go
42-
└── types.go
39+
├── internal
40+
│ ├── keeper
41+
│ │ ├── keeper.go
42+
│ │ ├── querier.go
43+
│ └── types
44+
│ ├── codec.go
45+
│ ├── errors.go
46+
│ ├── key.go
47+
│ ├── msgs.go
48+
│ ├── querier.go
49+
│ └── types.go
4350
├── alias.go
4451
├── genesis.go
4552
├── handler.go
46-
├── keeper.go
47-
├── module.go
48-
└── querier.go
53+
└── module.go
4954

5055
```
5156

0 commit comments

Comments
 (0)