# Returned Data

Returned data are variables that are created automatically when executing FCT.\
This variables holds all the returned values from previous called functions of the current FCT execution.&#x20;

### How to use

The returned data are kept in bytes format for each call. That means that in order to use a variable there is a need to tell the FCT engine from what call and with what offset the value exist.

#### Usage

0xFD000....TTTTLLLL\
LLLL holds the call number (starting with 1)\
TTTT holds the offset in 32 bytes blocks inside the call

{% hint style="info" %}
`0xFD00000000000000000000000000000000020003 means the 64-96 bits of the returned data from the third call on the FCT will be used`
{% endhint %}

{% hint style="success" %}
`FD stands for "Future Data"`
{% endhint %}

0xFDB000....TTTTLLLL\
LLLL holds the call number (starting with 1)\
TTTT holds the reverse offset (backwards) in 32 bytes blocks inside the call

{% hint style="info" %}
`0xFDB0000000000000000000000000000000000003 means the last 32 bits of the returned data from the third call on the FCT will be used`
{% endhint %}

{% hint style="success" %}
`FDB stands for "Future Data in Backwards"`
{% endhint %}

**External variable use four  range of values:**\
\
`For address types:`\
\
`0xFD00000000000000000000000000000000000001`\
`...`\
`0xFD000000000000000000000000000000ffffffff`\
`and`\
`0xFDB0000000000000000000000000000000000001`\
`...`\
`0xFDB00000000000000000000000000000ffffffff`\
\
\
`For uint256 and bytes32 types:`

`0xFD00000000000000000000000000000000000000000000000000000000000001`\
`...`\
`0xFD000000000000000000000000000000000000000000000000000000ffffffff`\
`and`\
`0xFDB0000000000000000000000000000000000000000000000000000000000001`\
`...`\
`0xFDB00000000000000000000000000000000000000000000000000000ffffffff`<br>

{% hint style="warning" %}
Call number must be smaller than the current running call
{% endhint %}
