Documentation ¶
Index ¶
- Constants
- Variables
- func AdjustV(V *big.Int, txType uint8, chainID *big.Int) *big.Int
- func GetVersion(ctx sdk.Context, ethCfg *params.ChainConfig) derived.SignerVersion
- func IsEVMMessage(tx sdk.Tx) (bool, error)
- func Preprocess(ctx sdk.Context, msgEVMTransaction *evmtypes.MsgEVMTransaction) error
- type AnteErrorHandler
- type BasicDecorator
- type EVMAddressDecorator
- type EVMFeeCheckDecorator
- type EVMPreprocessDecorator
- func (p *EVMPreprocessDecorator) AnteDeps(txDeps []sdkacltypes.AccessOperation, tx sdk.Tx, txIndex int, ...) (newTxDeps []sdkacltypes.AccessOperation, err error)
- func (p *EVMPreprocessDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (sdk.Context, error)
- func (p *EVMPreprocessDecorator) AssociateAddresses(ctx sdk.Context, seiAddr sdk.AccAddress, evmAddr common.Address, ...) error
- func (p *EVMPreprocessDecorator) IsAccountBalancePositive(ctx sdk.Context, seiAddr sdk.AccAddress, evmAddr common.Address) bool
- type EVMRouterDecorator
- type EVMSigVerifyDecorator
- type GasLimitDecorator
Constants ¶
View Source
const BalanceThreshold uint64 = 1000000
Accounts need to have at least 1Sei to force association. Note that account won't be charged.
Variables ¶
View Source
var AllowedTxTypes = map[derived.SignerVersion][]uint8{ derived.London: {ethtypes.LegacyTxType, ethtypes.AccessListTxType, ethtypes.DynamicFeeTxType}, derived.Cancun: {ethtypes.LegacyTxType, ethtypes.AccessListTxType, ethtypes.DynamicFeeTxType, ethtypes.BlobTxType}, }
View Source
var BigBalanceThreshold *big.Int = new(big.Int).SetUint64(BalanceThreshold)
View Source
var BigBalanceThresholdMinus1 *big.Int = new(big.Int).SetUint64(BalanceThreshold - 1)
View Source
var SignerMap = map[derived.SignerVersion]func(*big.Int) ethtypes.Signer{ derived.London: ethtypes.NewLondonSigner, derived.Cancun: ethtypes.NewCancunSigner, }
Functions ¶
func GetVersion ¶
func GetVersion(ctx sdk.Context, ethCfg *params.ChainConfig) derived.SignerVersion
func Preprocess ¶
func Preprocess(ctx sdk.Context, msgEVMTransaction *evmtypes.MsgEVMTransaction) error
stateless
Types ¶
type AnteErrorHandler ¶
type AnteErrorHandler struct {
// contains filtered or unexported fields
}
func NewAnteErrorHandler ¶
func NewAnteErrorHandler(wrapped sdk.AnteHandler, k *keeper.Keeper) *AnteErrorHandler
func (*AnteErrorHandler) Handle ¶
func (a *AnteErrorHandler) Handle(ctx sdk.Context, tx sdk.Tx, simulate bool) (newCtx sdk.Context, err error)
if there is any error in ante handler, record it in deferred info so that a receipt can be written for it in the EndBlock. (we can't directly write receipt here since we still need to return an error which will cause any write here to revert)
type BasicDecorator ¶
type BasicDecorator struct { }
func NewBasicDecorator ¶
func NewBasicDecorator() *BasicDecorator
func (BasicDecorator) AnteHandle ¶
func (gl BasicDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (sdk.Context, error)
cherrypicked from go-ethereum:txpool:ValidateTransaction
type EVMAddressDecorator ¶
type EVMAddressDecorator struct {
// contains filtered or unexported fields
}
func NewEVMAddressDecorator ¶
func NewEVMAddressDecorator(evmKeeper *evmkeeper.Keeper, accountKeeper *accountkeeper.AccountKeeper) *EVMAddressDecorator
func (*EVMAddressDecorator) AnteHandle ¶
type EVMFeeCheckDecorator ¶
type EVMFeeCheckDecorator struct {
// contains filtered or unexported fields
}
func NewEVMFeeCheckDecorator ¶
func NewEVMFeeCheckDecorator(evmKeeper *evmkeeper.Keeper) *EVMFeeCheckDecorator
func (EVMFeeCheckDecorator) AnteHandle ¶
func (EVMFeeCheckDecorator) CalculatePriority ¶
CalculatePriority returns a priority based on the effective gas price of the transaction
type EVMPreprocessDecorator ¶
type EVMPreprocessDecorator struct {
// contains filtered or unexported fields
}
func NewEVMPreprocessDecorator ¶
func NewEVMPreprocessDecorator(evmKeeper *evmkeeper.Keeper, accountKeeper *accountkeeper.AccountKeeper) *EVMPreprocessDecorator
func (*EVMPreprocessDecorator) AnteDeps ¶
func (p *EVMPreprocessDecorator) AnteDeps(txDeps []sdkacltypes.AccessOperation, tx sdk.Tx, txIndex int, next sdk.AnteDepGenerator) (newTxDeps []sdkacltypes.AccessOperation, err error)
func (*EVMPreprocessDecorator) AnteHandle ¶
func (*EVMPreprocessDecorator) AssociateAddresses ¶
func (p *EVMPreprocessDecorator) AssociateAddresses(ctx sdk.Context, seiAddr sdk.AccAddress, evmAddr common.Address, pubkey cryptotypes.PubKey) error
func (*EVMPreprocessDecorator) IsAccountBalancePositive ¶
func (p *EVMPreprocessDecorator) IsAccountBalancePositive(ctx sdk.Context, seiAddr sdk.AccAddress, evmAddr common.Address) bool
type EVMRouterDecorator ¶
type EVMRouterDecorator struct {
// contains filtered or unexported fields
}
func NewEVMRouterDecorator ¶
func NewEVMRouterDecorator( defaultAnteHandler sdk.AnteHandler, evmAnteHandler sdk.AnteHandler, defaultAnteDepGenerator sdk.AnteDepGenerator, evmAnteDepGenerator sdk.AnteDepGenerator, ) *EVMRouterDecorator
func (EVMRouterDecorator) AnteDeps ¶
func (r EVMRouterDecorator) AnteDeps(txDeps []sdkacltypes.AccessOperation, tx sdk.Tx, txIndex int) (newTxDeps []sdkacltypes.AccessOperation, err error)
type EVMSigVerifyDecorator ¶
type EVMSigVerifyDecorator struct {
// contains filtered or unexported fields
}
func NewEVMSigVerifyDecorator ¶
func NewEVMSigVerifyDecorator(evmKeeper *evmkeeper.Keeper, latestCtxGetter func() sdk.Context) *EVMSigVerifyDecorator
func (*EVMSigVerifyDecorator) AnteHandle ¶
type GasLimitDecorator ¶
type GasLimitDecorator struct {
// contains filtered or unexported fields
}
func NewGasLimitDecorator ¶
func NewGasLimitDecorator(evmKeeper *evmkeeper.Keeper) *GasLimitDecorator
func (GasLimitDecorator) AnteHandle ¶
func (gl GasLimitDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (sdk.Context, error)
Called at the end of the ante chain to set gas limit properly
Click to show internal directories.
Click to hide internal directories.