Skip to content

Commit

Permalink
Merge branch 'main' into ty/1328-ica_module
Browse files Browse the repository at this point in the history
  • Loading branch information
ryanchristo committed Sep 1, 2022
2 parents 128fe83 + d2bc473 commit 615943e
Show file tree
Hide file tree
Showing 60 changed files with 455 additions and 403 deletions.
15 changes: 9 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
#### Changed

- [#1350](https://github.com/regen-network/regen-ledger/pull/1350) Move application entry point to root directory
- [#1357](https://github.com/regen-network/regen-ledger/pull/1350) Migrate from custom module manager to sdk module manager
- [#1357](https://github.com/regen-network/regen-ledger/pull/1357) Migrate from custom module manager to sdk module manager

#### Removed

Expand Down Expand Up @@ -62,15 +62,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

#### API Breaking Changes

- [#1337](https://github.com/regen-network/regen-ledger/pull/1337) The `NewModule` method in `ecocredit/module` requires an `authority` address.
- [#1337](https://github.com/regen-network/regen-ledger/pull/1337) The `NewKeeper` method in `ecocredit/core` requires an `authority` address.
- [#1337](https://github.com/regen-network/regen-ledger/pull/1337) The `AddCreditType` proposal handler has been removed.
- [#1342](https://github.com/regen-network/regen-ledger/pull/1342) The `NewKeeper` method in `ecocredit/marketplace` requires an `authority` address.
- [#1342](https://github.com/regen-network/regen-ledger/pull/1342) The `AllowedDenom` proposal handler has been removed.

- [#1357](https://github.com/regen-network/regen-ledger/pull/#1357) The `NewModule` method in `ecocredit/module` requires a store `key`.

#### Added

- [#1337](https://github.com/regen-network/regen-ledger/pull/1342) Add `AddAllowedDenom` msg-based gov proposal
- [#1337](https://github.com/regen-network/regen-ledger/pull/1337) Add `AddAllowedDenom` msg-based gov proposal
- [#1337](https://github.com/regen-network/regen-ledger/pull/1337) Add `AddCreditType` msg-based gov proposal
- [#1346](https://github.com/regen-network/regen-ledger/pull/1346) Add `RemoveAllowedDenom` msg-based gov proposal
- [#1349](https://github.com/regen-network/regen-ledger/pull/1349) Add `UpdateBasketFees` msg-based gov proposal
Expand All @@ -95,7 +96,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- [#1423](https://github.com/regen-network/regen-ledger/pull/1423) Add `CreditClassAllowlistEnabled` params query
- [#1450](https://github.com/regen-network/regen-ledger/pull/1450) Add `QueryBalancesByBatch` query


#### Changed

- [#1362](https://github.com/regen-network/regen-ledger/pull/1362) Update `Batch` state validation checks
Expand Down Expand Up @@ -130,6 +130,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- [#1429](https://github.com/regen-network/regen-ledger/pull/1429) Migrated `ecocredit/client` core commands to `ecocredit/base/client`
- [#1429](https://github.com/regen-network/regen-ledger/pull/1429) Migrated `ecocredit/server/core` to `ecocredit/base/keeper`
- [#1429](https://github.com/regen-network/regen-ledger/pull/1429) Migrated `ecocredit/simulation` core operations to `ecocredit/base/simulation`
- [#1447](https://github.com/regen-network/regen-ledger/pull/1447) Rename `CoreKeeper` to `BaseKeeper`
- [#1452](https://github.com/regen-network/regen-ledger/pull/1452) Migrated `BeginBlocker` to `ecocredit/module`

### Fixed

Expand All @@ -139,15 +141,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- [#1337](https://github.com/regen-network/regen-ledger/pull/1337) Remove `AddCreditType` proposal handler
- [#1342](https://github.com/regen-network/regen-ledger/pull/1342) Remove `AllowedDenom` proposal handler
- [#1354](https://github.com/regen-network/regen-ledger/pull/1354) Removed `paramsKeeper` parameter from `core/Keeper`.
- [#1354](https://github.com/regen-network/regen-ledger/pull/1354) Removed `paramsKeeper` parameter from `core/Keeper`
- [#1447](https://github.com/regen-network/regen-ledger/pull/1447) Remove `.core` from legacy amino codec names

### x/group

#### Removed

- [#1258](https://github.com/regen-network/regen-ledger/pull/1258) Remove group module in favor of Cosmos SDK group module

## [v4.0.1](https://github.com/regen-network/regen-ledger/releases/tag/v4.0.1) - TBD
## [v4.0.1](https://github.com/regen-network/regen-ledger/releases/tag/v4.0.1) - 2022-08-30

### x/ecocredit

Expand Down
4 changes: 2 additions & 2 deletions app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -392,10 +392,10 @@ func NewRegenApp(logger log.Logger, db dbm.DB, traceStore io.Writer, loadLatest
// register custom modules here
ecocreditMod := ecocreditmodule.NewModule(
app.keys[ecocredit.ModuleName],
app.GetSubspace(ecocredit.DefaultParamspace),
authtypes.NewModuleAddress(govtypes.ModuleName),
app.AccountKeeper,
app.BankKeeper,
authtypes.NewModuleAddress(govtypes.ModuleName),
app.GetSubspace(ecocredit.DefaultParamspace),
)
dataMod := datamodule.NewModule(app.keys[data.ModuleName], app.AccountKeeper, app.BankKeeper)

Expand Down
13 changes: 13 additions & 0 deletions app/simulation/app_import_export_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import (
"encoding/json"
"fmt"
"os"
"runtime/debug"
"strings"
"testing"

"github.com/stretchr/testify/require"
Expand Down Expand Up @@ -108,6 +110,17 @@ func TestAppImportExport(t *testing.T) {
err = json.Unmarshal(exported.AppState, &genesisState)
require.NoError(t, err)

defer func() {
if r := recover(); r != nil {
err := fmt.Sprintf("%v", r)
if !strings.Contains(err, "validator set is empty after InitGenesis") {
panic(r)
}
logger.Info("Skipping simulation as all validators have been unbonded")
logger.Info("err", err, "stacktrace", string(debug.Stack()))
}
}()

ctxA := app.NewContext(true, tmproto.Header{Height: app.LastBlockHeight()})
ctxB := newApp.NewContext(true, tmproto.Header{Height: app.LastBlockHeight()})

Expand Down
6 changes: 3 additions & 3 deletions scripts/generate_feature_docs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ mkdir -p $eco_types_dir

eco_readme="# Features\n\n"
eco_readme+="## Types\n\n"
eco_readme+="### Core\n\n"
eco_readme+="### Base\n\n"

for file in $(find ./x/ecocredit/core/features -path -prune -o -name '*.feature' | sort -t '\0' -n); do
for file in $(find ./x/ecocredit/base/features -path -prune -o -name '*.feature' | sort -t '\0' -n); do
name=$(basename "${file%.*}")
eco_readme+="- [$name](./types/$name.html)\n"
"$GOBIN/gherkin2markdown" "$file" > "$eco_types_dir/$name.md"
Expand All @@ -69,7 +69,7 @@ for file in $(find ./x/ecocredit/marketplace/features -path -prune -o -name '*.f
done

eco_readme+="## Server\n\n"
eco_readme+="### Core\n\n"
eco_readme+="### Base\n\n"

for file in $(find ./x/ecocredit/server/core -path -prune -o -name '*.feature' | sort -t '\0' -n); do
name=$(basename "${file%.*}")
Expand Down
6 changes: 4 additions & 2 deletions x/ecocredit/base/keeper/keeper.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@ import (
types "github.com/regen-network/regen-ledger/x/ecocredit/base/types/v1"
)

var _ types.MsgServer = &Keeper{}
var _ types.QueryServer = &Keeper{}
var (
_ types.MsgServer = &Keeper{}
_ types.QueryServer = &Keeper{}
)

type Keeper struct {
stateStore api.StateStore
Expand Down
2 changes: 1 addition & 1 deletion x/ecocredit/base/keeper/msg_cancel.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ func (k Keeper) Cancel(ctx context.Context, req *types.MsgCancel) (*types.MsgCan
return nil, err
}

sdkCtx.GasMeter().ConsumeGas(ecocredit.GasCostPerIteration, "ecocredit/core/MsgCancel credit iteration")
sdkCtx.GasMeter().ConsumeGas(ecocredit.GasCostPerIteration, "ecocredit/MsgCancel credit iteration")
}
return &types.MsgCancelResponse{}, nil
}
2 changes: 1 addition & 1 deletion x/ecocredit/base/keeper/msg_create_batch.go
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ func (k Keeper) CreateBatch(ctx context.Context, req *types.MsgCreateBatch) (*ty
return nil, err
}

sdkCtx.GasMeter().ConsumeGas(ecocredit.GasCostPerIteration, "ecocredit/core/MsgCreateBatch issuance iteration")
sdkCtx.GasMeter().ConsumeGas(ecocredit.GasCostPerIteration, "ecocredit/MsgCreateBatch issuance iteration")
}

if err = k.stateStore.BatchSupplyTable().Insert(ctx, &api.BatchSupply{
Expand Down
2 changes: 1 addition & 1 deletion x/ecocredit/base/keeper/msg_create_class.go
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ func (k Keeper) CreateClass(goCtx context.Context, req *types.MsgCreateClass) (*
return nil, err
}

sdkCtx.GasMeter().ConsumeGas(ecocredit.GasCostPerIteration, "ecocredit/core/MsgCreateClass issuer iteration")
sdkCtx.GasMeter().ConsumeGas(ecocredit.GasCostPerIteration, "ecocredit/MsgCreateClass issuer iteration")
}

err = sdkCtx.EventManager().EmitTypedEvent(&types.EventCreateClass{
Expand Down
2 changes: 1 addition & 1 deletion x/ecocredit/base/keeper/msg_retire.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ func (k Keeper) Retire(ctx context.Context, req *types.MsgRetire) (*types.MsgRet
return nil, err
}

sdkCtx.GasMeter().ConsumeGas(ecocredit.GasCostPerIteration, "ecocredit/core/MsgRetire credit iteration")
sdkCtx.GasMeter().ConsumeGas(ecocredit.GasCostPerIteration, "ecocredit/MsgRetire credit iteration")
}
return &types.MsgRetireResponse{}, nil
}
2 changes: 1 addition & 1 deletion x/ecocredit/base/keeper/msg_send.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ func (k Keeper) Send(ctx context.Context, req *types.MsgSend) (*types.MsgSendRes
return nil, err
}

sdkCtx.GasMeter().ConsumeGas(ecocredit.GasCostPerIteration, "ecocredit/core/MsgSend credit iteration")
sdkCtx.GasMeter().ConsumeGas(ecocredit.GasCostPerIteration, "ecocredit/MsgSend credit iteration")
}
return &types.MsgSendResponse{}, nil
}
Expand Down
4 changes: 2 additions & 2 deletions x/ecocredit/base/keeper/msg_update_class_issuers.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ func (k Keeper) UpdateClassIssuers(ctx context.Context, req *types.MsgUpdateClas
return nil, err
}

sdkCtx.GasMeter().ConsumeGas(ecocredit.GasCostPerIteration, "ecocredit/core/MsgUpdateClassIssuers issuer iteration")
sdkCtx.GasMeter().ConsumeGas(ecocredit.GasCostPerIteration, "ecocredit/MsgUpdateClassIssuers issuer iteration")
}

// add the new issuers
Expand All @@ -62,7 +62,7 @@ func (k Keeper) UpdateClassIssuers(ctx context.Context, req *types.MsgUpdateClas
return nil, err
}

sdkCtx.GasMeter().ConsumeGas(ecocredit.GasCostPerIteration, "ecocredit/core/MsgUpdateClassIssuers issuer iteration")
sdkCtx.GasMeter().ConsumeGas(ecocredit.GasCostPerIteration, "ecocredit/MsgUpdateClassIssuers issuer iteration")
}

if err = sdkCtx.EventManager().EmitTypedEvent(&types.EventUpdateClassIssuers{
Expand Down
4 changes: 2 additions & 2 deletions x/ecocredit/base/keeper/query_allowed_class_creators.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import (
"github.com/cosmos/cosmos-sdk/orm/model/ormlist"
sdk "github.com/cosmos/cosmos-sdk/types"

ecocreditv1 "github.com/regen-network/regen-ledger/api/regen/ecocredit/v1"
baseapi "github.com/regen-network/regen-ledger/api/regen/ecocredit/v1"
"github.com/regen-network/regen-ledger/types/ormutil"
types "github.com/regen-network/regen-ledger/x/ecocredit/base/types/v1"
)
Expand All @@ -18,7 +18,7 @@ func (k Keeper) AllowedClassCreators(ctx context.Context, req *types.QueryAllowe
return nil, err
}

itr, err := k.stateStore.AllowedClassCreatorTable().List(ctx, ecocreditv1.AllowedClassCreatorAddressIndexKey{}, ormlist.Paginate(pg))
itr, err := k.stateStore.AllowedClassCreatorTable().List(ctx, baseapi.AllowedClassCreatorAddressIndexKey{}, ormlist.Paginate(pg))
if err != nil {
return nil, err
}
Expand Down
32 changes: 16 additions & 16 deletions x/ecocredit/base/types/v1/codec.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,22 +17,22 @@ func RegisterTypes(registry codectypes.InterfaceRegistry) {
}

func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) {
cdc.RegisterConcrete(&MsgCreateClass{}, "regen.core/MsgCreateClass", nil)
cdc.RegisterConcrete(&MsgCreateProject{}, "regen.core/MsgCreateProject", nil)
cdc.RegisterConcrete(&MsgCancel{}, "regen.core/MsgCancel", nil)
cdc.RegisterConcrete(&MsgCreateBatch{}, "regen.core/MsgCreateBatch", nil)
cdc.RegisterConcrete(&MsgMintBatchCredits{}, "regen.core/MsgMintBatchCredits", nil)
cdc.RegisterConcrete(&MsgSealBatch{}, "regen.core/MsgSealBatch", nil)
cdc.RegisterConcrete(&MsgRetire{}, "regen.core/MsgRetire", nil)
cdc.RegisterConcrete(&MsgSend{}, "regen.core/MsgSend", nil)
cdc.RegisterConcrete(&MsgUpdateClassAdmin{}, "regen.core/MsgUpdateClassAdmin", nil)
cdc.RegisterConcrete(&MsgUpdateClassMetadata{}, "regen.core/MsgUpdateClassMetadata", nil)
cdc.RegisterConcrete(&MsgUpdateClassIssuers{}, "regen.core/MsgUpdateClassIssuers", nil)
cdc.RegisterConcrete(&MsgUpdateProjectAdmin{}, "regen.core/MsgUpdateProjectAdmin", nil)
cdc.RegisterConcrete(&MsgUpdateProjectMetadata{}, "regen.core/MsgUpdateProjectMetadata", nil)
cdc.RegisterConcrete(&CreditTypeProposal{}, "regen.core/CreditTypeProposal", nil)
cdc.RegisterConcrete(&MsgBridgeReceive{}, "regen.core/MsgBridgeReceive", nil)
cdc.RegisterConcrete(&MsgAddCreditType{}, "regen.core/MsgAddCreditType", nil)
cdc.RegisterConcrete(&MsgCreateClass{}, "regen/MsgCreateClass", nil)
cdc.RegisterConcrete(&MsgCreateProject{}, "regen/MsgCreateProject", nil)
cdc.RegisterConcrete(&MsgCancel{}, "regen/MsgCancel", nil)
cdc.RegisterConcrete(&MsgCreateBatch{}, "regen/MsgCreateBatch", nil)
cdc.RegisterConcrete(&MsgMintBatchCredits{}, "regen/MsgMintBatchCredits", nil)
cdc.RegisterConcrete(&MsgSealBatch{}, "regen/MsgSealBatch", nil)
cdc.RegisterConcrete(&MsgRetire{}, "regen/MsgRetire", nil)
cdc.RegisterConcrete(&MsgSend{}, "regen/MsgSend", nil)
cdc.RegisterConcrete(&MsgUpdateClassAdmin{}, "regen/MsgUpdateClassAdmin", nil)
cdc.RegisterConcrete(&MsgUpdateClassMetadata{}, "regen/MsgUpdateClassMetadata", nil)
cdc.RegisterConcrete(&MsgUpdateClassIssuers{}, "regen/MsgUpdateClassIssuers", nil)
cdc.RegisterConcrete(&MsgUpdateProjectAdmin{}, "regen/MsgUpdateProjectAdmin", nil)
cdc.RegisterConcrete(&MsgUpdateProjectMetadata{}, "regen/MsgUpdateProjectMetadata", nil)
cdc.RegisterConcrete(&CreditTypeProposal{}, "regen/CreditTypeProposal", nil)
cdc.RegisterConcrete(&MsgBridgeReceive{}, "regen/MsgBridgeReceive", nil)
cdc.RegisterConcrete(&MsgAddCreditType{}, "regen/MsgAddCreditType", nil)
}

var (
Expand Down
16 changes: 9 additions & 7 deletions x/ecocredit/basket/keeper/keeper.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,36 +4,38 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"

api "github.com/regen-network/regen-ledger/api/regen/ecocredit/basket/v1"
ecoApi "github.com/regen-network/regen-ledger/api/regen/ecocredit/v1"
baseapi "github.com/regen-network/regen-ledger/api/regen/ecocredit/v1"
"github.com/regen-network/regen-ledger/x/ecocredit"
types "github.com/regen-network/regen-ledger/x/ecocredit/basket/types/v1"
)

var (
_ types.MsgServer = Keeper{}
_ types.QueryServer = Keeper{}
)

// Keeper is the basket keeper.
type Keeper struct {
stateStore api.StateStore
coreStore ecoApi.StateStore
baseStore baseapi.StateStore
bankKeeper ecocredit.BankKeeper
paramsKeeper ecocredit.ParamKeeper
moduleAddress sdk.AccAddress
authority sdk.AccAddress
}

var _ types.MsgServer = Keeper{}
var _ types.QueryServer = Keeper{}

// NewKeeper returns a new keeper instance.
func NewKeeper(
ss api.StateStore,
cs ecoApi.StateStore,
cs baseapi.StateStore,
bk ecocredit.BankKeeper,
pk ecocredit.ParamKeeper,
ma sdk.AccAddress,
authority sdk.AccAddress,
) Keeper {
return Keeper{
stateStore: ss,
coreStore: cs,
baseStore: cs,
bankKeeper: bk,
paramsKeeper: pk,
moduleAddress: ma,
Expand Down
10 changes: 5 additions & 5 deletions x/ecocredit/basket/keeper/keeper_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"

api "github.com/regen-network/regen-ledger/api/regen/ecocredit/basket/v1"
ecoApi "github.com/regen-network/regen-ledger/api/regen/ecocredit/v1"
baseapi "github.com/regen-network/regen-ledger/api/regen/ecocredit/v1"
"github.com/regen-network/regen-ledger/x/ecocredit"
"github.com/regen-network/regen-ledger/x/ecocredit/mocks"
)
Expand All @@ -39,7 +39,7 @@ type baseSuite struct {
ctrl *gomock.Controller
addrs []sdk.AccAddress
stateStore api.StateStore
coreStore ecoApi.StateStore
baseStore baseapi.StateStore
bankKeeper *mocks.MockBankKeeper
paramsKeeper *mocks.MockParamKeeper
storeKey *storetypes.KVStoreKey
Expand All @@ -54,7 +54,7 @@ func setupBase(t gocuke.TestingT) *baseSuite {
assert.NilError(t, err)
s.stateStore, err = api.NewStateStore(s.db)
assert.NilError(t, err)
s.coreStore, err = ecoApi.NewStateStore(s.db)
s.baseStore, err = baseapi.NewStateStore(s.db)
assert.NilError(t, err)

db := dbm.NewMemDB()
Expand All @@ -76,8 +76,8 @@ func setupBase(t gocuke.TestingT) *baseSuite {
authority, err := sdk.AccAddressFromBech32("regen1nzh226hxrsvf4k69sa8v0nfuzx5vgwkczk8j68")
assert.NilError(t, err)

s.k = NewKeeper(s.stateStore, s.coreStore, s.bankKeeper, s.paramsKeeper, moduleAddress, authority)
s.coreStore, err = ecoApi.NewStateStore(s.db)
s.k = NewKeeper(s.stateStore, s.baseStore, s.bankKeeper, s.paramsKeeper, moduleAddress, authority)
s.baseStore, err = baseapi.NewStateStore(s.db)
assert.NilError(t, err)

// add test addresses
Expand Down
4 changes: 2 additions & 2 deletions x/ecocredit/basket/keeper/msg_create.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ func (k Keeper) Create(ctx context.Context, msg *types.MsgCreate) (*types.MsgCre
}
}

creditType, err := k.coreStore.CreditTypeTable().Get(ctx, msg.CreditTypeAbbrev)
creditType, err := k.baseStore.CreditTypeTable().Get(ctx, msg.CreditTypeAbbrev)
if err != nil {
return nil, sdkerrors.ErrInvalidRequest.Wrapf(
"could not get credit type with abbreviation %s: %s", msg.CreditTypeAbbrev, err.Error(),
Expand Down Expand Up @@ -168,7 +168,7 @@ func (k Keeper) Create(ctx context.Context, msg *types.MsgCreate) (*types.MsgCre
func (k Keeper) indexAllowedClasses(ctx context.Context, basketID uint64, allowedClasses []string, creditTypeAbbrev string) error {
sdkCtx := sdk.UnwrapSDKContext(ctx)
for _, class := range allowedClasses {
classInfo, err := k.coreStore.ClassTable().GetById(ctx, class)
classInfo, err := k.baseStore.ClassTable().GetById(ctx, class)
if err != nil {
return sdkerrors.ErrInvalidRequest.Wrapf("could not get credit class %s: %s", class, err.Error())
}
Expand Down
Loading

0 comments on commit 615943e

Please sign in to comment.