Fix: do not lose the AA tx application error; fix lost 'nonce' value

This commit is contained in:
Alex Forshtat 2024-07-18 23:09:15 +02:00
parent 736e0e2638
commit 1712985683
3 changed files with 3 additions and 1 deletions

View file

@ -106,7 +106,7 @@ func (tx *Rip7560AccountAbstractionTx) gasFeeCap() *big.Int { return tx.GasFe
func (tx *Rip7560AccountAbstractionTx) gasTipCap() *big.Int { return tx.GasTipCap } func (tx *Rip7560AccountAbstractionTx) gasTipCap() *big.Int { return tx.GasTipCap }
func (tx *Rip7560AccountAbstractionTx) gasPrice() *big.Int { return tx.GasFeeCap } func (tx *Rip7560AccountAbstractionTx) gasPrice() *big.Int { return tx.GasFeeCap }
func (tx *Rip7560AccountAbstractionTx) value() *big.Int { return tx.Value } func (tx *Rip7560AccountAbstractionTx) value() *big.Int { return tx.Value }
func (tx *Rip7560AccountAbstractionTx) nonce() uint64 { return 0 } func (tx *Rip7560AccountAbstractionTx) nonce() uint64 { return tx.Nonce }
func (tx *Rip7560AccountAbstractionTx) to() *common.Address { return tx.To } func (tx *Rip7560AccountAbstractionTx) to() *common.Address { return tx.To }
func (tx *Rip7560AccountAbstractionTx) effectiveGasPrice(dst *big.Int, baseFee *big.Int) *big.Int { func (tx *Rip7560AccountAbstractionTx) effectiveGasPrice(dst *big.Int, baseFee *big.Int) *big.Int {

View file

@ -493,6 +493,7 @@ func (args *TransactionArgs) ToTransaction() *types.Transaction {
To: &common.Address{}, To: &common.Address{},
ChainID: (*big.Int)(args.ChainID), ChainID: (*big.Int)(args.ChainID),
Gas: uint64(*args.Gas), Gas: uint64(*args.Gas),
Nonce: uint64(*args.Nonce),
GasFeeCap: (*big.Int)(args.MaxFeePerGas), GasFeeCap: (*big.Int)(args.MaxFeePerGas),
GasTipCap: (*big.Int)(args.MaxPriorityFeePerGas), GasTipCap: (*big.Int)(args.MaxPriorityFeePerGas),
Value: (*big.Int)(args.Value), Value: (*big.Int)(args.Value),

View file

@ -431,6 +431,7 @@ func (miner *Miner) fillTransactions(interrupt *atomic.Int32, env *environment)
pendingBundle, err := miner.txpool.PendingRip7560Bundle() pendingBundle, err := miner.txpool.PendingRip7560Bundle()
if pendingBundle != nil { if pendingBundle != nil {
if err = miner.commitRip7560TransactionsBundle(env, pendingBundle, interrupt); err != nil { if err = miner.commitRip7560TransactionsBundle(env, pendingBundle, interrupt); err != nil {
log.Error(err.Error())
return err return err
} }
} }