|
|
@@ -1479,6 +1479,22 @@ func (s *PublicTransactionPoolAPI) SendTransaction(ctx context.Context, args Sen
|
|
|
return SubmitTransaction(ctx, s.b, signed)
|
|
|
}
|
|
|
|
|
|
+// FillTransaction fills the defaults (nonce, gas, gasPrice) on a given unsigned transaction,
|
|
|
+// and returns it to the caller for further processing (signing + broadcast)
|
|
|
+func (s *PublicTransactionPoolAPI) FillTransaction(ctx context.Context, args SendTxArgs) (*SignTransactionResult, error) {
|
|
|
+ // Set some sanity defaults and terminate on failure
|
|
|
+ if err := args.setDefaults(ctx, s.b); err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ // Assemble the transaction and obtain rlp
|
|
|
+ tx := args.toTransaction()
|
|
|
+ data, err := rlp.EncodeToBytes(tx)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ return &SignTransactionResult{data, tx}, nil
|
|
|
+}
|
|
|
+
|
|
|
// SendRawTransaction will add the signed transaction to the transaction pool.
|
|
|
// The sender is responsible for signing the transaction and using the correct nonce.
|
|
|
func (s *PublicTransactionPoolAPI) SendRawTransaction(ctx context.Context, encodedTx hexutil.Bytes) (common.Hash, error) {
|