mirror of
https://github.com/planetmint/planetmint-go.git
synced 2025-06-04 13:16:39 +00:00

* ignite scaffold map redeem-claim amount issued:bool --module dao --index beneficiary,liquid-tx-hash * revert: remove autogenerated delete redeem claim logic * fix: replace deprecated autogenerated sdkerrors with errorsmod * refactor: rename issued to confirmed on redeem claim * feat: add claim address param * test: add test for restricted msg UpdateRedeemClaim * refactor: update redeem claim key creation and messages * feat: add SendUpdateRedeemCLaim to util * feat: add RedeemClaimDecorator for ante package * ignite scaffold message confirm-redeem-claim id:uint beneficiary:string --module dao * feat: add handleConfirmRedeemClaim to ante handler * feat: add handleUpdateRedeemClaim to ante handler * feat: implement ConfirmRedeemClaim msg handler * test: add redeem claim test and adjust e2e test suite * fix: make use of uint to rddl string util in CreateRedeemClaim * fix: linter and staticcheck errors * ignite scaffold query redeem-claim-by-liquid-tx-hash liquid-tx-hash --response redeem-claim:RedeemClaim --module dao * feat: add RedeemClaimByLiquidTXHash store capabilities * test: add QueryRedeemClaimByLiquidTxHash to e2e test suite * feat: add RedeemClaimDecorator to ante handler chain * fix: remove redundant planetmint-go from service path * fix: linter and staticcheck errors * fix: go vet errors * fix: remove unused autogenerated simulation * fix: broken simulation * fix: openapi.yml * revert: remove autogenerated redundant test file that causes data race on pipeline * feat: burn claim on CreateRedeemClaim * fix: linter error * test: fix mock bankkeeper for msg server test * fix: reissuance test if statement * chore: removed TODO comment * fix: typo in redeem claim error msg * revert: remove autogenerated genesis state * fix: dao module simulation * revert: remove unused function * fix: linter errors * fix: linter error --------- Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
103 lines
2.9 KiB
Go
103 lines
2.9 KiB
Go
package simulation
|
|
|
|
import (
|
|
"math/rand"
|
|
"strconv"
|
|
|
|
simappparams "cosmossdk.io/simapp/params"
|
|
"github.com/cosmos/cosmos-sdk/baseapp"
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
simtypes "github.com/cosmos/cosmos-sdk/types/simulation"
|
|
"github.com/cosmos/cosmos-sdk/x/simulation"
|
|
"github.com/planetmint/planetmint-go/x/dao/keeper"
|
|
"github.com/planetmint/planetmint-go/x/dao/types"
|
|
)
|
|
|
|
// Prevent strconv unused error
|
|
var _ = strconv.IntSize
|
|
|
|
func SimulateMsgCreateRedeemClaim(
|
|
ak types.AccountKeeper,
|
|
bk types.BankKeeper,
|
|
k keeper.Keeper,
|
|
) simtypes.Operation {
|
|
return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string,
|
|
) (simtypes.OperationMsg, []simtypes.FutureOperation, error) {
|
|
simAccount, _ := simtypes.RandomAcc(r, accs)
|
|
|
|
i := r.Int()
|
|
msg := &types.MsgCreateRedeemClaim{
|
|
Creator: simAccount.Address.String(),
|
|
Beneficiary: strconv.Itoa(i),
|
|
}
|
|
|
|
_, found := k.GetRedeemClaim(ctx, msg.Beneficiary, uint64(i))
|
|
if found {
|
|
return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "RedeemClaim already exist"), nil, nil
|
|
}
|
|
|
|
txCtx := simulation.OperationInput{
|
|
R: r,
|
|
App: app,
|
|
TxGen: simappparams.MakeTestEncodingConfig().TxConfig,
|
|
Cdc: nil,
|
|
Msg: msg,
|
|
MsgType: msg.Type(),
|
|
Context: ctx,
|
|
SimAccount: simAccount,
|
|
ModuleName: types.ModuleName,
|
|
CoinsSpentInMsg: sdk.NewCoins(),
|
|
AccountKeeper: ak,
|
|
Bankkeeper: bk,
|
|
}
|
|
return simulation.GenAndDeliverTxWithRandFees(txCtx)
|
|
}
|
|
}
|
|
|
|
func SimulateMsgUpdateRedeemClaim(
|
|
ak types.AccountKeeper,
|
|
bk types.BankKeeper,
|
|
k keeper.Keeper,
|
|
) simtypes.Operation {
|
|
return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string,
|
|
) (simtypes.OperationMsg, []simtypes.FutureOperation, error) {
|
|
var (
|
|
simAccount = simtypes.Account{}
|
|
redeemClaim = types.RedeemClaim{}
|
|
msg = &types.MsgUpdateRedeemClaim{}
|
|
allRedeemClaim = k.GetAllRedeemClaim(ctx)
|
|
found = false
|
|
)
|
|
for _, obj := range allRedeemClaim {
|
|
simAccount, found = FindAccount(accs, obj.Creator)
|
|
if found {
|
|
redeemClaim = obj
|
|
break
|
|
}
|
|
}
|
|
if !found {
|
|
return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "redeemClaim creator not found"), nil, nil
|
|
}
|
|
msg.Creator = simAccount.Address.String()
|
|
|
|
msg.Beneficiary = redeemClaim.Beneficiary
|
|
msg.LiquidTxHash = redeemClaim.LiquidTxHash
|
|
|
|
txCtx := simulation.OperationInput{
|
|
R: r,
|
|
App: app,
|
|
TxGen: simappparams.MakeTestEncodingConfig().TxConfig,
|
|
Cdc: nil,
|
|
Msg: msg,
|
|
MsgType: msg.Type(),
|
|
Context: ctx,
|
|
SimAccount: simAccount,
|
|
ModuleName: types.ModuleName,
|
|
CoinsSpentInMsg: sdk.NewCoins(),
|
|
AccountKeeper: ak,
|
|
Bankkeeper: bk,
|
|
}
|
|
return simulation.GenAndDeliverTxWithRandFees(txCtx)
|
|
}
|
|
}
|