populate egp field

This commit is contained in:
Jinsuk Park 2024-03-12 16:36:51 -07:00
parent acb8edda00
commit 8d856b98ac
No known key found for this signature in database
GPG key ID: 55BC6A66FEF320E4
2 changed files with 12 additions and 5 deletions

View file

@ -88,6 +88,7 @@ func (b *Builder) addTransaction(txn *types.Transaction, env *environment) (*sua
// If the context is not set, the logs will not be recorded // If the context is not set, the logs will not be recorded
b.env.state.SetTxContext(txn.Hash(), b.env.tcount) b.env.state.SetTxContext(txn.Hash(), b.env.tcount)
prevGas := env.header.GasUsed
logs, err := b.wrk.commitTransaction(env, txn) logs, err := b.wrk.commitTransaction(env, txn)
if err != nil { if err != nil {
return &suavextypes.SimulateTransactionResult{ return &suavextypes.SimulateTransactionResult{
@ -95,7 +96,8 @@ func (b *Builder) addTransaction(txn *types.Transaction, env *environment) (*sua
Success: false, Success: false,
}, err }, err
} }
return receiptToSimResult(&types.Receipt{Logs: logs}), nil egp := env.header.GasUsed - prevGas
return receiptToSimResult(&types.Receipt{Logs: logs}, egp), nil
} }
func (b *Builder) AddTransaction(txn *types.Transaction) (*suavextypes.SimulateTransactionResult, error) { func (b *Builder) AddTransaction(txn *types.Transaction) (*suavextypes.SimulateTransactionResult, error) {
@ -124,6 +126,7 @@ func (b *Builder) addBundle(bundle *suavextypes.Bundle, env *environment) (*suav
} }
revertingHashes := bundle.RevertingHashesMap() revertingHashes := bundle.RevertingHashesMap()
egp := uint64(0)
var results []*suavextypes.SimulateTransactionResult var results []*suavextypes.SimulateTransactionResult
for _, txn := range bundle.Txs { for _, txn := range bundle.Txs {
@ -139,9 +142,11 @@ func (b *Builder) addBundle(bundle *suavextypes.Bundle, env *environment) (*suav
Success: false, Success: false,
}, nil }, nil
} }
egp += result.Egp
} }
return &suavextypes.SimulateBundleResult{ return &suavextypes.SimulateBundleResult{
Egp: egp,
SimulateTransactionResults: results, SimulateTransactionResults: results,
Success: true, Success: true,
}, nil }, nil
@ -248,8 +253,9 @@ func (b *Builder) Bid(builderPubKey phase0.BLSPubKey) (*suavextypes.SubmitBlockR
return &bidRequest, nil return &bidRequest, nil
} }
func receiptToSimResult(receipt *types.Receipt) *suavextypes.SimulateTransactionResult { func receiptToSimResult(receipt *types.Receipt, egp uint64) *suavextypes.SimulateTransactionResult {
result := &suavextypes.SimulateTransactionResult{ result := &suavextypes.SimulateTransactionResult{
Egp: egp,
Success: true, Success: true,
Logs: []*suavextypes.SimulatedLog{}, Logs: []*suavextypes.SimulatedLog{},
} }

View file

@ -61,9 +61,10 @@ type SimulateTransactionResult struct {
} }
type SimulateBundleResult struct { type SimulateBundleResult struct {
SimulateTransactionResults []*SimulateTransactionResult Egp uint64 `json:"egp"`
Success bool SimulateTransactionResults []*SimulateTransactionResult `json:"simulateTransactionResults"`
Error string Success bool `json:"success"`
Error string `json:"error"`
} }
// field type overrides for gencodec // field type overrides for gencodec