Skip to content

Commit 4de2475

Browse files
author
nashqueue
committed
Ignite CLI Scaffold modulue scavange
1 parent 0fd4cca commit 4de2475

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+9445
-1
lines changed

app/app.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,9 @@ import (
9999
monitoringptypes "github.com/tendermint/spn/x/monitoringp/types"
100100

101101
"scavenge/docs"
102+
scavengemodule "scavenge/x/scavenge"
103+
scavengemodulekeeper "scavenge/x/scavenge/keeper"
104+
scavengemoduletypes "scavenge/x/scavenge/types"
102105
// this line is used by starport scaffolding # stargate/app/moduleImport
103106
)
104107

@@ -153,6 +156,7 @@ var (
153156
transfer.AppModuleBasic{},
154157
vesting.AppModuleBasic{},
155158
monitoringp.AppModuleBasic{},
159+
scavengemodule.AppModuleBasic{},
156160
// this line is used by starport scaffolding # stargate/app/moduleBasic
157161
)
158162

@@ -165,6 +169,7 @@ var (
165169
stakingtypes.NotBondedPoolName: {authtypes.Burner, authtypes.Staking},
166170
govtypes.ModuleName: {authtypes.Burner},
167171
ibctransfertypes.ModuleName: {authtypes.Minter, authtypes.Burner},
172+
scavengemoduletypes.ModuleName: {authtypes.Minter, authtypes.Burner, authtypes.Staking},
168173
// this line is used by starport scaffolding # stargate/app/maccPerms
169174
}
170175
)
@@ -225,6 +230,7 @@ type App struct {
225230
ScopedTransferKeeper capabilitykeeper.ScopedKeeper
226231
ScopedMonitoringKeeper capabilitykeeper.ScopedKeeper
227232

233+
ScavengeKeeper scavengemodulekeeper.Keeper
228234
// this line is used by starport scaffolding # stargate/app/keeperDeclaration
229235

230236
// mm is the module manager
@@ -261,6 +267,7 @@ func New(
261267
minttypes.StoreKey, distrtypes.StoreKey, slashingtypes.StoreKey,
262268
govtypes.StoreKey, paramstypes.StoreKey, ibchost.StoreKey, upgradetypes.StoreKey, feegrant.StoreKey,
263269
evidencetypes.StoreKey, ibctransfertypes.StoreKey, capabilitytypes.StoreKey, monitoringptypes.StoreKey,
270+
scavengemoduletypes.StoreKey,
264271
// this line is used by starport scaffolding # stargate/app/storeKey
265272
)
266273
tkeys := sdk.NewTransientStoreKeys(paramstypes.TStoreKey)
@@ -382,6 +389,16 @@ func New(
382389
)
383390
monitoringModule := monitoringp.NewAppModule(appCodec, app.MonitoringKeeper)
384391

392+
app.ScavengeKeeper = *scavengemodulekeeper.NewKeeper(
393+
appCodec,
394+
keys[scavengemoduletypes.StoreKey],
395+
keys[scavengemoduletypes.MemStoreKey],
396+
app.GetSubspace(scavengemoduletypes.ModuleName),
397+
398+
app.BankKeeper,
399+
)
400+
scavengeModule := scavengemodule.NewAppModule(appCodec, app.ScavengeKeeper, app.AccountKeeper, app.BankKeeper)
401+
385402
// this line is used by starport scaffolding # stargate/app/keeperDefinition
386403

387404
// Create static IBC router, add transfer route, then set and seal it
@@ -423,6 +440,7 @@ func New(
423440
params.NewAppModule(app.ParamsKeeper),
424441
transferModule,
425442
monitoringModule,
443+
scavengeModule,
426444
// this line is used by starport scaffolding # stargate/app/appModule
427445
)
428446

@@ -450,6 +468,7 @@ func New(
450468
feegrant.ModuleName,
451469
paramstypes.ModuleName,
452470
monitoringptypes.ModuleName,
471+
scavengemoduletypes.ModuleName,
453472
// this line is used by starport scaffolding # stargate/app/beginBlockers
454473
)
455474

@@ -473,6 +492,7 @@ func New(
473492
ibchost.ModuleName,
474493
ibctransfertypes.ModuleName,
475494
monitoringptypes.ModuleName,
495+
scavengemoduletypes.ModuleName,
476496
// this line is used by starport scaffolding # stargate/app/endBlockers
477497
)
478498

@@ -501,6 +521,7 @@ func New(
501521
ibctransfertypes.ModuleName,
502522
feegrant.ModuleName,
503523
monitoringptypes.ModuleName,
524+
scavengemoduletypes.ModuleName,
504525
// this line is used by starport scaffolding # stargate/app/initGenesis
505526
)
506527

@@ -525,6 +546,7 @@ func New(
525546
ibc.NewAppModule(app.IBCKeeper),
526547
transferModule,
527548
monitoringModule,
549+
scavengeModule,
528550
// this line is used by starport scaffolding # stargate/app/appModule
529551
)
530552
app.sm.RegisterStoreDecoders()
@@ -714,6 +736,7 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino
714736
paramsKeeper.Subspace(ibctransfertypes.ModuleName)
715737
paramsKeeper.Subspace(ibchost.ModuleName)
716738
paramsKeeper.Subspace(monitoringptypes.ModuleName)
739+
paramsKeeper.Subspace(scavengemoduletypes.ModuleName)
717740
// this line is used by starport scaffolding # stargate/app/paramSubspace
718741

719742
return paramsKeeper

docs/static/openapi.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29809,6 +29809,42 @@ paths:
2980929809
format: uint64
2981029810
tags:
2981129811
- Query
29812+
/scavenge/scavenge/params:
29813+
get:
29814+
summary: Parameters queries the parameters of the module.
29815+
operationId: ScavengeScavengeParams
29816+
responses:
29817+
'200':
29818+
description: A successful response.
29819+
schema:
29820+
type: object
29821+
properties:
29822+
params:
29823+
description: params holds all the parameters of this module.
29824+
type: object
29825+
description: >-
29826+
QueryParamsResponse is response type for the Query/Params RPC
29827+
method.
29828+
default:
29829+
description: An unexpected error response.
29830+
schema:
29831+
type: object
29832+
properties:
29833+
code:
29834+
type: integer
29835+
format: int32
29836+
message:
29837+
type: string
29838+
details:
29839+
type: array
29840+
items:
29841+
type: object
29842+
properties:
29843+
'@type':
29844+
type: string
29845+
additionalProperties: {}
29846+
tags:
29847+
- Query
2981229848
/tendermint/spn/claim/airdrop_supply:
2981329849
get:
2981429850
summary: Queries a AirdropSupply by index.
@@ -51516,6 +51552,16 @@ definitions:
5151651552
description: |-
5151751553
Version defines the versioning scheme used to negotiate the IBC verison in
5151851554
the connection handshake.
51555+
scavenge.scavenge.Params:
51556+
type: object
51557+
description: Params defines the parameters for the module.
51558+
scavenge.scavenge.QueryParamsResponse:
51559+
type: object
51560+
properties:
51561+
params:
51562+
description: params holds all the parameters of this module.
51563+
type: object
51564+
description: QueryParamsResponse is response type for the Query/Params RPC method.
5151951565
tendermint.spn.claim.ClaimRecord:
5152051566
type: object
5152151567
properties:

go.mod

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,13 @@ go 1.16
55
require (
66
github.com/cosmos/cosmos-sdk v0.45.4
77
github.com/cosmos/ibc-go/v3 v3.0.0
8+
github.com/gogo/protobuf v1.3.3
9+
github.com/golang/protobuf v1.5.2
10+
github.com/gorilla/mux v1.8.0
11+
github.com/grpc-ecosystem/grpc-gateway v1.16.0
812
github.com/ignite/cli v0.22.2
913
github.com/spf13/cast v1.4.1
14+
github.com/spf13/cobra v1.4.0
1015
github.com/stretchr/testify v1.7.1
1116
github.com/tendermint/spn v0.2.1-0.20220610090138-44b136f042c4
1217
github.com/tendermint/tendermint v0.34.19
@@ -15,7 +20,9 @@ require (
1520
golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f // indirect
1621
golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d // indirect
1722
golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f // indirect
18-
google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc // indirect
23+
google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc
24+
google.golang.org/grpc v1.48.0
25+
gopkg.in/yaml.v2 v2.4.0
1926
)
2027

2128
replace (

proto/scavenge/genesis.proto

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
syntax = "proto3";
2+
package scavenge.scavenge;
3+
4+
import "gogoproto/gogo.proto";
5+
import "scavenge/params.proto";
6+
// this line is used by starport scaffolding # genesis/proto/import
7+
8+
option go_package = "scavenge/x/scavenge/types";
9+
10+
// GenesisState defines the scavenge module's genesis state.
11+
message GenesisState {
12+
Params params = 1 [(gogoproto.nullable) = false];
13+
// this line is used by starport scaffolding # genesis/proto/state
14+
}

proto/scavenge/params.proto

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
syntax = "proto3";
2+
package scavenge.scavenge;
3+
4+
import "gogoproto/gogo.proto";
5+
6+
option go_package = "scavenge/x/scavenge/types";
7+
8+
// Params defines the parameters for the module.
9+
message Params {
10+
option (gogoproto.goproto_stringer) = false;
11+
12+
}

proto/scavenge/query.proto

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
syntax = "proto3";
2+
package scavenge.scavenge;
3+
4+
import "gogoproto/gogo.proto";
5+
import "google/api/annotations.proto";
6+
import "cosmos/base/query/v1beta1/pagination.proto";
7+
import "scavenge/params.proto";
8+
// this line is used by starport scaffolding # 1
9+
10+
option go_package = "scavenge/x/scavenge/types";
11+
12+
// Query defines the gRPC querier service.
13+
service Query {
14+
// Parameters queries the parameters of the module.
15+
rpc Params(QueryParamsRequest) returns (QueryParamsResponse) {
16+
option (google.api.http).get = "/scavenge/scavenge/params";
17+
}
18+
// this line is used by starport scaffolding # 2
19+
}
20+
21+
// QueryParamsRequest is request type for the Query/Params RPC method.
22+
message QueryParamsRequest {}
23+
24+
// QueryParamsResponse is response type for the Query/Params RPC method.
25+
message QueryParamsResponse {
26+
// params holds all the parameters of this module.
27+
Params params = 1 [(gogoproto.nullable) = false];
28+
}
29+
30+
// this line is used by starport scaffolding # 3

proto/scavenge/tx.proto

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
syntax = "proto3";
2+
package scavenge.scavenge;
3+
4+
// this line is used by starport scaffolding # proto/tx/import
5+
6+
option go_package = "scavenge/x/scavenge/types";
7+
8+
// Msg defines the Msg service.
9+
service Msg {
10+
// this line is used by starport scaffolding # proto/tx/rpc
11+
}
12+
13+
// this line is used by starport scaffolding # proto/tx/message

testutil/keeper/scavenge.go

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package keeper
2+
3+
import (
4+
"testing"
5+
6+
"github.com/cosmos/cosmos-sdk/codec"
7+
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
8+
"github.com/cosmos/cosmos-sdk/store"
9+
storetypes "github.com/cosmos/cosmos-sdk/store/types"
10+
sdk "github.com/cosmos/cosmos-sdk/types"
11+
typesparams "github.com/cosmos/cosmos-sdk/x/params/types"
12+
"github.com/stretchr/testify/require"
13+
"github.com/tendermint/tendermint/libs/log"
14+
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
15+
tmdb "github.com/tendermint/tm-db"
16+
"scavenge/x/scavenge/keeper"
17+
"scavenge/x/scavenge/types"
18+
)
19+
20+
func ScavengeKeeper(t testing.TB) (*keeper.Keeper, sdk.Context) {
21+
storeKey := sdk.NewKVStoreKey(types.StoreKey)
22+
memStoreKey := storetypes.NewMemoryStoreKey(types.MemStoreKey)
23+
24+
db := tmdb.NewMemDB()
25+
stateStore := store.NewCommitMultiStore(db)
26+
stateStore.MountStoreWithDB(storeKey, sdk.StoreTypeIAVL, db)
27+
stateStore.MountStoreWithDB(memStoreKey, sdk.StoreTypeMemory, nil)
28+
require.NoError(t, stateStore.LoadLatestVersion())
29+
30+
registry := codectypes.NewInterfaceRegistry()
31+
cdc := codec.NewProtoCodec(registry)
32+
33+
paramsSubspace := typesparams.NewSubspace(cdc,
34+
types.Amino,
35+
storeKey,
36+
memStoreKey,
37+
"ScavengeParams",
38+
)
39+
k := keeper.NewKeeper(
40+
cdc,
41+
storeKey,
42+
memStoreKey,
43+
paramsSubspace,
44+
nil,
45+
)
46+
47+
ctx := sdk.NewContext(stateStore, tmproto.Header{}, false, log.NewNopLogger())
48+
49+
// Initialize params
50+
k.SetParams(ctx, types.DefaultParams())
51+
52+
return k, ctx
53+
}

vue/src/store/generated/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import CosmosIbcGoIbcCoreChannelV1 from './cosmos/ibc-go/ibc.core.channel.v1'
2020
import CosmosIbcGoIbcCoreClientV1 from './cosmos/ibc-go/ibc.core.client.v1'
2121
import CosmosIbcGoIbcCoreConnectionV1 from './cosmos/ibc-go/ibc.core.connection.v1'
2222
import CosmosIbcGoIbcCorePortV1 from './cosmos/ibc-go/ibc.core.port.v1'
23+
import ScavengeScavengeScavenge from './scavenge/scavenge.scavenge'
2324

2425

2526
export default {
@@ -43,6 +44,7 @@ export default {
4344
CosmosIbcGoIbcCoreClientV1: load(CosmosIbcGoIbcCoreClientV1, 'ibc.core.client.v1'),
4445
CosmosIbcGoIbcCoreConnectionV1: load(CosmosIbcGoIbcCoreConnectionV1, 'ibc.core.connection.v1'),
4546
CosmosIbcGoIbcCorePortV1: load(CosmosIbcGoIbcCorePortV1, 'ibc.core.port.v1'),
47+
ScavengeScavengeScavenge: load(ScavengeScavengeScavenge, 'scavenge.scavenge'),
4648

4749
}
4850

0 commit comments

Comments
 (0)