func NewParams(maxCodeSize, callCreateDepth uint64, vmOpGasParams [256]uint64, vmContractCreationGasParams VMContractCreationGasParams) Params {
	return Params{
		MaxCodeSize:                 maxCodeSize,
		MaxCallCreateDepth:          callCreateDepth,
		VMOpGasParams:               vmOpGasParams,
		VMContractCreationGasParams: vmContractCreationGasParams,
	}
}
NewParams return Params
package types
import (
	"encoding/json"
	"fmt"
	"github.com/Dipper-Labs/Dipper-Protocol/app/v0/params"
)
const (
	defaultMaxCodeSize     = 1024 * 1024
	defaultCallCreateDepth = 1024
	defaultContractCreationGas = 53000
	defaultGasPerByte          = 200
)
var (
	KeyMaxCodeSize                 = []byte("MaxCodeSize")
	KeyMaxCallCreateDepth          = []byte("MaxCallCreateDepth")
	KeyVMOpGasParams               = []byte("VMOpGasParams")
	KeyVMContractCreationGasParams = []byte("VMContractCreationGasParams")
	DefaultVMOpGasParams = [256]uint64{
		0, 3, 5, 3, 5, 5, 5, 5, 8, 8, 0, 5, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0,  
		30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 700, 2, 2, 2, 3, 2, 3, 2, 3, 2, 700, 700, 2, 3, 700,  
		20, 2, 2, 2, 0, 2, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 3, 800, 0, 8, 10, 2, 2, 2, 1, 0, 0, 0, 0,  
		3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,  
		3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,  
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32000, 700, 700, 0, 700, 32000, 0, 0, 0, 0, 700, 0, 0, 0, 0, 0,  
	}
	vmContractCreationGasParams = VMContractCreationGasParams{Gas: defaultContractCreationGas, GasPerByte: defaultGasPerByte}
)
type VMContractCreationGasParams struct {
	Gas        uint64 `json:"gas" yaml:"gas"`
	GasPerByte uint64 `json:"gas_per_byte" yaml:"gas_per_byte"`
}
type Params struct {
	MaxCodeSize                 uint64                      `json:"max_code_size" yaml:"max_code_size"`
	MaxCallCreateDepth          uint64                      `json:"max_call_create_depth" yaml:"max_call_create_depth"`
	VMOpGasParams               [256]uint64                 `json:"vm_op_gas_params" yaml:"vm_op_gas_params"`
	VMContractCreationGasParams VMContractCreationGasParams `json:"vm_contract_creation_gas_params" yaml:"vm_contract_creation_gas_params"`
}
var _ params.ParamSet = (*Params)(nil)