wormhole/wormchain/testutil/simapp/simapp.go

50 lines
1.3 KiB
Go

package simapp
import (
"time"
"github.com/cosmos/cosmos-sdk/simapp"
"github.com/tendermint/spm/cosmoscmd"
abci "github.com/tendermint/tendermint/abci/types"
"github.com/tendermint/tendermint/libs/log"
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
tmtypes "github.com/tendermint/tendermint/types"
tmdb "github.com/tendermint/tm-db"
"github.com/wormhole-foundation/wormchain/app"
)
// New creates application instance with in-memory database and disabled logging.
func New(dir string) cosmoscmd.App {
db := tmdb.NewMemDB()
logger := log.NewNopLogger()
encoding := cosmoscmd.MakeEncodingConfig(app.ModuleBasics)
a := app.New(logger, db, nil, true, map[int64]bool{}, dir, 0, encoding,
simapp.EmptyAppOptions{})
// InitChain updates deliverState which is required when app.NewContext is called
a.InitChain(abci.RequestInitChain{
ConsensusParams: defaultConsensusParams,
AppStateBytes: []byte("{}"),
})
return a
}
var defaultConsensusParams = &abci.ConsensusParams{
Block: &abci.BlockParams{
MaxBytes: 200000,
MaxGas: 2000000,
},
Evidence: &tmproto.EvidenceParams{
MaxAgeNumBlocks: 302400,
MaxAgeDuration: 504 * time.Hour, // 3 weeks is the max duration
MaxBytes: 10000,
},
Validator: &tmproto.ValidatorParams{
PubKeyTypes: []string{
tmtypes.ABCIPubKeyTypeEd25519,
},
},
}