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/beacon/engine"
|
||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
"github.com/ethereum/go-ethereum/core/types"
|
"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,
|
// PreBuiltTxList is a pre-built transaction list based on the latest chain state,
|
||||||
// with estimated gas used / bytes.
|
// with estimated gas used / bytes.
|
||||||
type PreBuiltTxList struct {
|
type PreBuiltTxList struct {
|
||||||
TxList types.Transactions
|
TxList []*ethapi.RPCTransaction
|
||||||
EstimatedGasUsed uint64
|
EstimatedGasUsed uint64
|
||||||
BytesLength uint64
|
BytesLength uint64
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ import (
|
||||||
"github.com/ethereum/go-ethereum/core/txpool"
|
"github.com/ethereum/go-ethereum/core/txpool"
|
||||||
"github.com/ethereum/go-ethereum/core/types"
|
"github.com/ethereum/go-ethereum/core/types"
|
||||||
"github.com/ethereum/go-ethereum/core/vm"
|
"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/log"
|
||||||
"github.com/ethereum/go-ethereum/params"
|
"github.com/ethereum/go-ethereum/params"
|
||||||
"github.com/ethereum/go-ethereum/rlp"
|
"github.com/ethereum/go-ethereum/rlp"
|
||||||
|
|
@ -93,7 +94,7 @@ func (w *Miner) buildTransactionsLists(
|
||||||
}
|
}
|
||||||
|
|
||||||
return lastTransaction, &PreBuiltTxList{
|
return lastTransaction, &PreBuiltTxList{
|
||||||
TxList: env.txs,
|
TxList: w.toRPCTransactions(env.txs),
|
||||||
EstimatedGasUsed: env.header.GasLimit - env.gasPool.Gas(),
|
EstimatedGasUsed: env.header.GasLimit - env.gasPool.Gas(),
|
||||||
BytesLength: uint64(len(b)),
|
BytesLength: uint64(len(b)),
|
||||||
}, nil
|
}, nil
|
||||||
|
|
@ -338,6 +339,15 @@ loop:
|
||||||
return lastTransaction
|
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.
|
// encodeAndCompressTxList encodes and compresses the given transactions list.
|
||||||
func encodeAndCompressTxList(txs types.Transactions) ([]byte, error) {
|
func encodeAndCompressTxList(txs types.Transactions) ([]byte, error) {
|
||||||
b, err := rlp.EncodeToBytes(txs)
|
b, err := rlp.EncodeToBytes(txs)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue