For the complete documentation index, see llms.txt. This page is also available as Markdown.

Solver Call

A special call that allows 3rd party to add call data that is not known at the signing stage of the FCT message.

In order make a solver call 'solver' keyword needs to be used as the method interface of the call.

The string 'solver' is not a standard interface, so there won't be any collisions with existing contracts method calls

There are special rules for solver calls in order to protect bothe solver and other participants.

  • On fct message, variable_arguments_start and variable_arguments_end must be 0

  • Solver can change those values, on callId, it won't affect the message signatures validation process

  • Solver must provide a special call data as follows: <SIgnature><Dealline><Method Selector><Method Data>

Solver can execute, only if signature matches runner's owner. This protects both participants and solvers.

  • The signature is done for hash (keccak256) of the following encoded data: <FCT Message Hash><Call Header and Data><Repeats Left><Deadline>

  • The deadline holds the highest block number that this signature can be used in.

Last updated