Bid Submission
FastLane Searchers submit their bids and solutions to the FastLane Protocol using EIP-712
signed messages. This method allows for off-chain data signing and on-chain verification, reducing gas costs and improving efficiency.
The submission to the PFL-Auction will be performed by Bundler EOA's. To establish a trusted a PFL-Auction transaction is constructed of 3 parts here:
UserOperation. : (opportunity transaction converted on PFL-Auction system)
SolverOperation : (generated and signed by searcher)
dAppOperation : (generated and signed by dAppSigner to hash userOperation and selected solverOperations)
The above definitions are simplified to for more technical details we encourage to read our Atlas documentation
Submitting the Signed Message
This will be a two step process
Atlas will call the atlasSolverCall
on the solver/searcher contracts
1. Generate CallData for the Solver contract function
The first step is to generate and encode the backrun for a particular opportunity transaction
In our example the
solve()
functionResponsibilities:
perform backrun operation
makes sure the the contract has
bidToken
inbidAmount
quantity (POL)
2. Generate SolverOperation to Submit for
The second part will be generating the a EIP-712
signed messages with a atlas specific format
EIP-712 like Message Structure
Searchers need to construct and sign a message containing the bid and operation details according to an Atlas format similar to the EIP-712 standard. A SolverOperation contains the following important details
The message includes:
Bid Details: Bid token address, bid amount.
Operation Data: Encoded data for the solver operation.
dAppControl: PFL-Auction specific implementation of the Atlas hooks (pre-solver, post-solver)
dAppSigner: Account which will be signing the dAppControl operation
userOpHash: hash of User's Operation, for verification
deadline: is provided in block number not timestamp!
dAppControl Contract Address
Address: 0xF1b1b8827163C980a8EC7F3968140AEF00f3A5F3
Description: This is the current address of the
dAppControl
contract, which is responsible for generating theuserOpHash
needed for the solver operation.PFL-Auctions implementation for Atlas hooks (pre-solver, post-solver) and value distribution
dAppOpSigner Address
Description: This is the address of the
dAppOpSigner
, which acts as the signer for the bundled dAppOperation
atlasVerification Contract Address
Address: 0x621c6970fD9F124230feE35117d318069056819a
Description: This contract is used for EIP-712 domain verification when signing the solver operation.
atlas Contract Address
Address: 0xB363f4D32DdB0b43622eA07Ae9145726941272B4
Description: Atlas main entryPoint contract
metacall
will be used to submit PFL-Bundles (handled by FastLane bundler)
Encoding of the Bundle
When encoding the bundle, represent all BigInt
values as hex strings (prefixed with 0x
), and serialize the entire JSON object as a string.
Example Solver Operation as struct:
Example Bundle payload what we expect:
Example:
Please see Full Example section on how to target your own transaction instead of one from a provider.
For details on how to create a bundle review the Full Example
Last updated