mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-27 23:26:44 +00:00
feat(miner): use []*ethapi.RPCTransaction in RPC response body (#391)
This commit is contained in:
parent
36430eb4f5
commit
afd09afd03
2 changed files with 13 additions and 2 deletions
|
|
@ -6,12 +6,13 @@ import (
|
|||
"github.com/ethereum/go-ethereum/beacon/engine"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/ethereum/go-ethereum/internal/ethapi"
|
||||
)
|
||||
|
||||
// PreBuiltTxList is a pre-built transaction list based on the latest chain state,
|
||||
// with estimated gas used / bytes.
|
||||
type PreBuiltTxList struct {
|
||||
TxList types.Transactions
|
||||
TxList []*ethapi.RPCTransaction
|
||||
EstimatedGasUsed uint64
|
||||
BytesLength uint64
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/core/txpool"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/ethereum/go-ethereum/core/vm"
|
||||
"github.com/ethereum/go-ethereum/internal/ethapi"
|
||||
"github.com/ethereum/go-ethereum/log"
|
||||
"github.com/ethereum/go-ethereum/params"
|
||||
"github.com/ethereum/go-ethereum/rlp"
|
||||
|
|
@ -93,7 +94,7 @@ func (w *Miner) buildTransactionsLists(
|
|||
}
|
||||
|
||||
return lastTransaction, &PreBuiltTxList{
|
||||
TxList: env.txs,
|
||||
TxList: w.toRPCTransactions(env.txs),
|
||||
EstimatedGasUsed: env.header.GasLimit - env.gasPool.Gas(),
|
||||
BytesLength: uint64(len(b)),
|
||||
}, nil
|
||||
|
|
@ -338,6 +339,15 @@ loop:
|
|||
return lastTransaction
|
||||
}
|
||||
|
||||
// toRPCTransactions converts the given transactions to RPC transactions.
|
||||
func (w *Miner) toRPCTransactions(txs types.Transactions) []*ethapi.RPCTransaction {
|
||||
var rpcTxs []*ethapi.RPCTransaction
|
||||
for _, tx := range txs {
|
||||
rpcTxs = append(rpcTxs, ethapi.NewRPCPendingTransaction(tx, nil, w.chainConfig))
|
||||
}
|
||||
return rpcTxs
|
||||
}
|
||||
|
||||
// encodeAndCompressTxList encodes and compresses the given transactions list.
|
||||
func encodeAndCompressTxList(txs types.Transactions) ([]byte, error) {
|
||||
b, err := rlp.EncodeToBytes(txs)
|
||||
|
|
|
|||
Loading…
Reference in a new issue