jit_inherent

package
v0.4.4-beta Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 7, 2023 License: Apache-2.0 Imports: 11 Imported by: 6

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Init

func Init(protocol integration.AspectProtocol)

Init initializes the global JITInherentManager instance.

func NewUserOperation

func NewUserOperation(protoMsg *types.JitInherentRequest) *aa.UserOperation

func NewUserOperations

func NewUserOperations(protoMsg ...*types.JitInherentRequest) []*aa.UserOperation

Types

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

Manager manages the JIT inherent calls.

func Get

func Get() *Manager

Get returns the global JITInherentManager instance.

func (*Manager) ClearLookup

func (m *Manager) ClearLookup()

ClearLookup clears the user operation sender lookup. When current block finished, the lookup table should be cleared.

func (*Manager) ClearUserOp

func (m *Manager) ClearUserOp(userOpHash common.Hash)

ClearUserOp clears the user operation sender lookup. When current call finished, the lookup table should be cleared.

func (*Manager) EstimateGas

func (m *Manager) EstimateGas(aspect common.Address, inherent *types.JitInherentRequest) (
	verificationGasLimit, callGasLimit *uint256.Int, err error,
)

func (*Manager) Nonce

func (m *Manager) Nonce(account common.Address, key *big.Int) (nonce *big.Int, err error)

func (*Manager) SenderAspect

func (m *Manager) SenderAspect(userOpHash common.Hash) common.Address

SenderAspect returns the sender Aspect address of the user operation.

func (*Manager) Submit

func (m *Manager) Submit(aspect common.Address,
	gas uint64, stage integration.JoinPointStage, inherents ...*types.JitInherentRequest,
) (*types.JitInherentResponse, error)

·Submit submits a JIT inherent call. There are two types of JIT inherent calls:

  1. JIT transaction: the JIT transaction will be submitted directly into the block proposal to guarantee the execution. Please note that the JIT transaction submission could be failed if there is no space left in the block.
  2. JIT call: the JIT call will be injected into the current evm callstack to guarantee the execution. Only one JIT call can be submitted at a time.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL