Documentation ¶
Index ¶
- func Init(protocol integration.AspectProtocol)
- func NewUserOperation(protoMsg *types.JitInherentRequest) *aa.UserOperation
- func NewUserOperations(protoMsg ...*types.JitInherentRequest) []*aa.UserOperation
- type Manager
- func (m *Manager) ClearLookup()
- func (m *Manager) ClearUserOp(userOpHash common.Hash)
- func (m *Manager) EstimateGas(aspect common.Address, inherent *types.JitInherentRequest) (verificationGasLimit, callGasLimit *uint256.Int, err error)
- func (m *Manager) Nonce(account common.Address, key *big.Int) (nonce *big.Int, err error)
- func (m *Manager) SenderAspect(userOpHash common.Hash) common.Address
- func (m *Manager) Submit(aspect common.Address, gas uint64, stage integration.JoinPointStage, ...) (*types.JitInherentResponse, error)
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 (*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 ¶
ClearUserOp clears the user operation sender lookup. When current call finished, the lookup table should be cleared.
func (*Manager) EstimateGas ¶
func (*Manager) SenderAspect ¶
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:
- 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.
- 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.
Click to show internal directories.
Click to hide internal directories.