> For the complete documentation index, see [llms.txt](https://docs.intentable.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.intentable.io/intent-structure/calls/call-header.md).

# Call Header

{% hint style="success" %}
For example, FCT Runner can allow a specific address (child account) to run only FCTs that has 0x0001 permission, while limiting execution of FCTs with 0x0001 permissions in terms of protocols, amounts and rate.&#x20;
{% endhint %}

### flow\_control

FCT supports if/then functionality via the flow\_control field combined with the "jump on" fields.

flow\_control is defined using human readable string, so the user can easily see the flow condition.

<table><thead><tr><th width="219">EIP712 String</th><th width="89">Value</th><th>Meaning</th></tr></thead><tbody><tr><td>"continue on success, revert on fail"</td><td>0</td><td>If call reverts, revert the whole FCT, otherwise, continue to the next call according to the jump_on_success field</td></tr><tr><td>"continue on success, stop on fail"</td><td>1</td><td>If call reverts, stop FCT execution (previous calls are not reverted), otherwise, continue to the next call according to the jump_on_success field</td></tr><tr><td>"continue on success, continue on fail"</td><td>2</td><td>Whether call reverts or not, continue to the next call according to the jump_on_success and  jump_on_fail fields respectively </td></tr><tr><td>"revert on success, continue on fail"</td><td>3</td><td>If call reverts, continue to the next call according to the jump_on_fail field, otherwise, revert the whole FCT</td></tr><tr><td>"revert on success, stop on fail"</td><td>4</td><td>If call reverts, stop FCT execution (previous calls are not reverted), otherwise, revert the whole FCT</td></tr><tr><td>"stop on success, continue on fail"</td><td>5</td><td>If call reverts, continue to the next call according to the jump_on_fail field, otherwise, stop FCT execution (previous calls are not reverted)</td></tr><tr><td>"stop on success, revert on fail"</td><td>6</td><td>If call reverts, revert the whole FCT, otherwise, stop FCT execution (previous calls are not reverted)</td></tr><tr><td>"stop on success, stop on fail"</td><td>7</td><td>Whether call reverts or not, stop FCT execution (previous calls are not reverted)</td></tr></tbody></table>

{% hint style="info" %}
if/then blocks can be achieved by using one of the "cont" flow controls and setting the "jump\_on" values&#x20;
{% endhint %}

### jump\_on\_success

Part of the flow control.\
Specify the amount of calls to jump over when current call succeed.\
When setting to 0 and the current call succeed, the adjacent call will be executed.  &#x20;

{% hint style="info" %}
This value is ignored when "stop on success" or "revert on success" is being used
{% endhint %}

### jump\_on\_fail

Part of the flow control.\
Specify the amount of calls to jump over when current call fails.\
When setting to 0 and the current call fails, the adjacent call will be executed.  &#x20;

{% hint style="info" %}
This value is ignored when "stop on fail" or "revert on fail" is being used
{% endhint %}

### method\_interface

The name of the function to be called followed by type-names, in parentheses, without any spaces.\
This is used in order to calculate the function signature and selector.\
See more info [here](https://ethereum.stackexchange.com/questions/135205/what-is-a-function-signature-and-function-selector-in-solidity-and-evm-language)

{% hint style="info" %}
ERC20 transfer method interface looks like this:  "transfer(address,uint256)"
{% endhint %}
