github.com/okex/exchain@v1.8.0/libs/ibc-go/testing/simapp/adapter/evm/module.go (about)

     1  package evm
     2  
     3  import (
     4  	"encoding/json"
     5  	sdk "github.com/okex/exchain/libs/cosmos-sdk/types"
     6  	"github.com/okex/exchain/libs/ibc-go/testing/simapp/adapter"
     7  	abci "github.com/okex/exchain/libs/tendermint/abci/types"
     8  	"github.com/okex/exchain/x/evm"
     9  	"github.com/okex/exchain/x/evm/types"
    10  )
    11  
    12  type EvmModuleAdapter struct {
    13  	evm.AppModule
    14  
    15  	tkeeper *evm.Keeper
    16  	ak      types.AccountKeeper
    17  }
    18  
    19  func TNewEvmModuleAdapter(k *evm.Keeper, ak types.AccountKeeper) *EvmModuleAdapter {
    20  	ret := &EvmModuleAdapter{}
    21  	ret.AppModule = evm.NewAppModule(k, ak)
    22  	ret.tkeeper = k
    23  	ret.ak = ak
    24  	return ret
    25  }
    26  
    27  func (ea EvmModuleAdapter) DefaultGenesis() json.RawMessage {
    28  	return adapter.ModuleCdc.MustMarshalJSON(types.DefaultGenesisState())
    29  }
    30  func (ea EvmModuleAdapter) InitGenesis(ctx sdk.Context, data json.RawMessage) []abci.ValidatorUpdate {
    31  	return ea.initGenesis(ctx, data)
    32  }
    33  
    34  func (ea EvmModuleAdapter) initGenesis(ctx sdk.Context, data json.RawMessage) []abci.ValidatorUpdate {
    35  	var genState types.GenesisState
    36  	// Initialize global index to index in genesis state
    37  
    38  	adapter.ModuleCdc.MustUnmarshalJSON(data, &genState)
    39  	genState.Params.EnableCall = true
    40  	genState.Params.MaxGasLimitPerTx = 10000000000000
    41  	evm.InitGenesis(ctx, *ea.tkeeper, ea.ak, genState)
    42  
    43  	return []abci.ValidatorUpdate{}
    44  }