Relay JSON-RPC API

pfl_addSearcherBundle

Submits a searcher bundle to PFL auction handler.

Parameters

  1. 1.
    OPPORTUNITY_TX_DATA - the opportunity transaction data.
  2. 2.
    SEARCHER_TX_DATA - the searcher transaction data.

Returns

  • On success:
{'jsonrpc': '2.0', 'id': 1, 'result': '2022-12-08T07:55:16.779024625Z'}
  • On error:
{
"jsonrpc":"2.0",
"id":1,
"error":{
"code":-32000,
"message":"err - R0016 - auction already completed"
}
}
// AUCTION ERRORS (0XXX)
// API ERRORS (1XXX)
// NODE ERRORS (2XXX)
// CONTRACT ERRORS (5XXX)
Error code
Desc
R0001
PFL node has known opp tx for too long
R0002
auction cleanup result unexpected
R0003
auction expired but not yet deleted
R0004
auction already deleted but not expired
R0005
auction already deleted and expired
R0006
bundle channel is full
R0007
bid channel full
R0008
searcher has already bid in this auction
R0009
could not find searcher EOA
R0010
auction is not live
R0011
bid channel err (not on auction init)
R0012
targetted validator is not in this sprint
R0013
targetted validator not participating in PFL
R0014
bundle has too few transactions
R0015
bundle has too many transactions
R0016
auction already completed
R0017
time since oppTx arrival exceeds grace period
R0018
bid had no tx as value in BidToTxMap
R0019
bid couldnt be converted from str in bidMap
R0020
node not connected to any potential validators
R0021
opp tx hash does not match hash in searcher tx
R0022
searcher sending bid to wrong Auction Handler
R1001
Sentry cannot process an auction for the current validator
R1000
PDN forwarding
R1002
target bundle RPC not found
R2001
invalid block number
R4000
validator already knows opp tx
R4001
oppTx GasTipCap != searcher GasTipCap
R4002
oppTx GasFeeCap != payment/searcher
R4003
oppTx GasPrice != payment/searcher
R4004
oppTx Type != searcherTx type
R5000
bid method not found in contract ABI
R5001
txInput has insufficient length to decode
R5002
payment transaction is not being sent to correct PFL contract address
R5003
transaction did not call submitFlashBid
R5004
struct field not recognized

Example

// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"pfl_AddSearcherBundle","params":[[OPPORTUNITY_TX_DATA, SEARCHER_TX_DATA]],"id":1}'
// Result
{'jsonrpc': '2.0', 'id': 1, 'result': '2022-12-08T07:55:16.779024625Z'}

See next

To understand what these _DATA parameters are, see Transaction Encoding
For complete example of how to create a PFL bundle, see TODO.