# Function Transcript

### Overview

**Transcripts** **serve as&#x20;*****certificates of compute*** — **immutable records** that capture every stage of a task execution. Each transcript offers a transparent and verifiable account of how a computation was performed, providing complete traceability and auditability throughout the process.

This example illustrates a **Function Task Execution Transcript**, where multiple nodes submitted identical outputs.

<details>

<summary>Function Task Transcript</summary>

{% code fullWidth="true" expandable="true" %}

```json
{
    "executionId": "657938a7-ebf1-4899-85ea-494fbca71123",
    "transcript": [
        {
         {
    "executionId": "4eaccb5c-17a5-4a32-b0d8-9ff0df18f016",
    "transcript": [
        {
            "type": "task_created",
            "executionId": "4eaccb5c-17a5-4a32-b0d8-9ff0df18f016",
            "message": {
                "type": "dispatch_task",
                "taskId": "rs_13e93c66863b2c02fe1ea690234134287cfde0cfc11fc63406dd6ef539e40099",
                "executionId": "4eaccb5c-17a5-4a32-b0d8-9ff0df18f016",
                "msgHash": "bd42f7387f91d4de78d2c357cf1e5882d2133e3231c7206d15a89c9fd8e05839",
                "signature": {
                    "v": 28,
                    "r": "571f1a796041afe2ca4e90b72ca3158270bab71f7a653760635ab40e545689b2",
                    "s": "4c3edb551ee89605d38ee4f87d341a970339034622650fa87906995dc6bf8a0d"
                },
                "limits": {
                    "gas": "60000000000",
                    "call": "65536",
                    "frame": "524288",
                    "memory": "1024"
                },
                "econParams": {
                    "reward": "0",
                    "requiredSolutions": 2,
                    "totalSolutions": 2,
                    "executionTimeout": 27000
                },
                "workers": {
                    "blockNumber": 47476800,
                    "selectionStrategy": "default",
                    "setNodes": [
                        "0x************************************0B1A",
                        "0x************************************EC4D"
                    ]
                },
                "dispatcherTimestamp": 1762363564,
                "taskRequesterTimestamp": 1744817190,
                "ledgerName": "evm",
                "blockHash": "0x************************************************************8eaf",
                "blockNumber": 47476800,
                "chainId": "43113",
                "nodeRegistryContractAddress": "0x************************************66Ce",
                "taskRegistryContractAddress": "0x************************************5f5A",
                "taskAuthorizationContractAddress": "0x************************************96E4",
                "taskRequesterAddress": "0x************************************7E42",               
                "taskPath": "/3891ca78/fibo",
                "taskVersion": 1,
                "senderAddress": "0xE3AcBBB129F14681C315028dB0A156597fb5058B",
                "input": "20"
            },
            "msgHash": "1f08d8165217b4eedc345317c7d586b63f41cdda72795116f3c43a894a80d998",
            "signature": {
                "v": 28,
                "r": "b514d9c39c8f490ced2533616e662ea03800b0fb4cac499a2f57ea89ce3e751c",
                "s": "5fc922c503e279ac9085957eae07b1d01fdd63d255eb616fa0ecc7b821629db0"
            },
            "publicKey": "0423fcbc3763e133bbec077378366887191b9dc7053bea44505ba7df8fa7d571be967f04e5246261884b3737ff94de900bca12aa41367138c033558d36d81b9299",
            "sequencerAddress": "0x************************************058B",
            "timestamp": 1762363564534
        },
        {
            "type": "node_outcome",
            "executionId": "4eaccb5c-17a5-4a32-b0d8-9ff0df18f016",
            "message": {
                "executionId": "4eaccb5c-17a5-4a32-b0d8-9ff0df18f016",
                "senderAddress": "0x************************************0B1A",
                "encryptedSolution": {
                    "iv": "4756cc5e25a080b4a262818a56ab5a2e",
                    "ephemPublicKey": "0411c83cb3e08a155c340a5e8dfc3ce205923b02c1acec4f800f04a531c9cef23fe61c56dcca58cd78ecbc65c868b77b57b6a3434acf5a325030127f906190125d",
                    "ciphertext": "6536310dd0d68d8f68bcebbb6ba92b0066e076401184190e3acc6686881116668cb21843a3fe5a97888b1080e3cec40e6341b4b3c540769b668baf78455168b5874a2fb0d24dcd22d3831b5b96fe20e2f3c2d2cedce8091994dd18c04f0b542bd6729c52ebc72b5ab4b05eb3a467b5e5649d9a2dc777c18f42f3ed6dab5fc415e7dc8e1226d0e56308a630b6cd509659b900ae34023456aaa6e1c22dd84ccf7e881c42001932c0e93dc4b84f6b82cd73394ec2adde7d47d40fc535e169784eb878c9745834cf570fbd98b8ce6cf9f92ae31db1619993d752dc517fc9356dc7cd779fb420d82ffd18d5f561f056a8fe4324130bd72b35bbe11a3e1a1f27c4f41a4ae59c2dfb44659158ab0e8fa51378d005ce00b7ebdcdef010a600147832a229d2e5a8d33cc4dd0cf80cb686aec1d72e7999e5432832b6dd77034c5c0a8ed3d5f0ef6595ae5ca4ba0180f340136e13f4eb29e819dadb095615a91937133bee4b6bc69f5807c0ff98a96e3724ba75fab59a4a171fdce058ddb5a5280ab942559b79a81a5dc0b9afe53cdc493f38760fb9237f28214d431384611851f0c692ce2c03c4eac73e733d79353cc09f9cec9b523164d208565733902e421777791b68167cdb77e36e9f27eb9fb4bd6f81a3604362b598af1ae43268258a3980ec419ca7",
                    "mac": "1c6481c1a1d3cf258733718f3b6ddc3b054ecc6d80cfedc47d5f427160dfbd0f"
                },
                "msgHash": "b24b5ce07f9e2850b3adc66c75e2f6d3ac324e881e447a41f727edbdefac7e15",
                "signature": {
                    "v": 28,
                    "r": "35e07888a376dca665c93061514081ffa887ac6db67a23f8afd989738551abd1",
                    "s": "4782beba6c2ca2c8a5f8e34baa43bb1fd4455ca60646912021c59b6a5e613493"
                }
            },
            "msgHash": "7df509e0d4a41817d4d1430198c0814ffe94efc9e5acfccba1832f1bac99a463",
            "signature": {
                "v": 28,
                "r": "a0248adca0a31db05406911907f5e5d27e7f3d353ef56a98dd327b3c1e232616",
                "s": "212d89091e27d343b393d7ba672df1830aa04bcc7c97643ddcb04d4a3fd96cc5"
            },
            "sequencerAddress": "0x************************************058B",
            "timestamp": 1762363564785
        },
        {
            "type": "node_outcome",
            "executionId": "4eaccb5c-17a5-4a32-b0d8-9ff0df18f016",
            "message": {
                "executionId": "4eaccb5c-17a5-4a32-b0d8-9ff0df18f016",
                "senderAddress": "0x************************************EC4D",
                "encryptedSolution": {
                    "iv": "bb2553f57a61e4667df2eb2349a07fcf",
                    "ephemPublicKey": "0434174e02cf111c643d29d255eb759c82b67aab92dec2351678b80d4668f2b45bbdd694055d63da66688ed217aa8b302316d6409cca544cd1f512d7ae305d2ec2",
                    "ciphertext": "f1a2c4326b834976a095555df6d1299d2412ec3f913aeea503c8dc7cb9b79eb75a5ddf9a61af063ef3e513e0da32b2ac9d2772ad5bdd6920eeda8f672aa0a2bd0c26591a87e61d23f689df6735a1bf6fdced3d82a5fa2958e430e03a461d192f3c803cd34359341ab88d01b886e5f47f3595ea850826ef7961da3a2ab186562a8864940aa4c4ae79ee48a58266c12beed6f8fef3ab4d57ae754fb951cce65868dc6d9118d03a9f58ccdffe3d3948c681162e4a50cbc29ea9832529e17857a41c18a2e514ad7150d953a30e0578e7462d52e3c34a42f1f75139256af721020444e1e082521121b86cdd02d08c0d9364a21c06795b345acdbf893da4282781c28a7a3489b3743bb740505c13e9d0059c0cd256a3628c87d4ca142793366e38cb418162e8b6d1c94ad84a0335cbf4a00067c68d16ab3dfc8787284a86ae8bfd6582118f00f0db7b735e7699e8cf29ee7671e4e6699ffaa1065ba5e1fa2cb454441aa7f7d956d858bb428ef25ffb3b8dbe41aec503a6a08a0404d3ad0e5507933f2e50f873e98a9ef014051f792ea1006d2459a1ab703d2115b6feb2e1e18e0334c93421d80b9692afc1fe69d978cb97d7ab649e0bad0350e0144947c205cacf5b7833d85abc4747902a08221b86eefccc335ca0636b61314bd4debd93872725dd2f",
                    "mac": "68f2fc468c5fe7c75a389544747c3f1fe1e95448d453d6128e4f0904d36a2535"
                },
                "msgHash": "de15db288f1833e1a929ef6bc1909dc9938c55def6bf3ea65521d7e1398ac6ca",
                "signature": {
                    "v": 28,
                    "r": "f151ca1a7e412c7901f3032fb99aef2d5b737bc08ddfc30dc213d99ccbe58484",
                    "s": "244f994a2b1d2a6b32b5e6d3c49f04cadba93b26151922f7ff6a25e2cffb1c6b"
                }
            },
            "msgHash": "5ed8219981143b87bd421388a676ee4365cbd85bcf70c6f15841de08164a73a8",
            "signature": {
                "v": 27,
                "r": "09dd841dc6653198fba75bdf7fd35b023c53fbb6d372c3c8cb826a30a57f37e5",
                "s": "033bb03d5506f1553c41e95858d461766326eb3a570353165311b9c431e314ee"
            },
            "sequencerAddress": "0x************************************058B",
            "timestamp": 1762363564788
        },
        {
            "type": "solutions_revealed",
            "executionId": "4eaccb5c-17a5-4a32-b0d8-9ff0df18f016",
            "msgHash": "cf98d061de3b32f9f292562e0e893c77c6a73f5042e854c66fb2469a4bd135de",
            "signature": {
                "v": 28,
                "r": "138fed323202d52c6f08a3a66e8e4b54422cf1ec0ee710302717f9da55e84e02",
                "s": "0563f71775a26499985bdc87619257dfa67527eb6cace9811a75bd845edbe359"
            },
            "clearTextSolutions": [
                {
                    "signature": {
                        "v": 27,
                        "r": "fd94598b19e9de38b5f36e5e0d88b596b9ba74d37c81dbc3999ffec5160a7983",
                        "s": "549ddc5207773d8b579fa0218d83e80ffddc8c1c53c9cd7850adb541de98d008"
                    },
                    "clearTextSolution": {
                        "output": "6765",
                        "status": "succeed",
                        "metering": {
                            "limits": {
                                "gas": 60000000000,
                                "call": 65536,
                                "frame": 524288,
                                "memory": 1024
                            },
                            "last": {
                                "steps": 7083189,
                                "call": 2,
                                "frame": 23
                            },
                            "peak": {
                                "call": 26,
                                "frame": 1677,
                                "memory": 18
                            },
                            "versions": {
                                "protocol": "1.120.0-beta.224"
                            }
                        },
                        "senderAddress": "0x************************************0B1A"
                    }
                },
                {
                    "signature": {
                        "v": 28,
                        "r": "8d88f742ef68acd6a39b796cdc59700283df430edb19902b6c99663a14d8483b",
                        "s": "6b2deba99026174dd9cd2aa3a47950eda6d3c7c4df62faab0393fcca4fcce8a2"
                    },
                    "clearTextSolution": {
                        "output": "6765",
                        "status": "succeed",
                        "metering": {
                            "limits": {
                                "gas": 60000000000,
                                "call": 65536,
                                "frame": 524288,
                                "memory": 1024
                            },
                            "last": {
                                "steps": 7083189,
                                "call": 2,
                                "frame": 23
                            },
                            "peak": {
                                "call": 26,
                                "frame": 1677,
                                "memory": 18
                            },
                            "versions": {
                                "protocol": "1.120.0-beta.224"
                            }
                        },
                        "senderAddress": "0x************************************EC4D"
                    }
                }
            ],
            "sequencerAddress": "0x************************************058B",
            "timestamp": 1762363564862
        },
        {
            "type": "execution_completed",
            "executionId": "4eaccb5c-17a5-4a32-b0d8-9ff0df18f016",
            "transcriptHash": "5e9a304e7a3c7bcd7af49a41a8ac5a91e181e6ed34b636ad0cd3c40d5a4642b6",
            "status": "ReadyForInvoice",
            "signature": {
                "v": 28,
                "r": "363361dc46d1215c26987c58b12af63d9d69f12c4e68e89bdd264d9e5b133462",
                "s": "7f7bd677791a2a60511be60d6c3f2cb12334b1bc7f9f54ac4a758a15780001c6"
            },
            "signerAddress": "0x************************************058B",
            "timestamp": 1762363564920
        },
        {
            "type": "execution_metadata",
            "executionId": "4eaccb5c-17a5-4a32-b0d8-9ff0df18f016",
            "message": {
                "version": "1.0.0"
            },
            "msgHash": "e91e71e1600a703f6008387487a0da2636b665a29458c75aea9a7638c5926409",
            "signature": {
                "v": 28,
                "r": "85c9b4eb4b8d30e3981be9f8fd76a0568697aaf43e1f219ed5e07310979470d0",
                "s": "3c4d0b39125c73f3282167a49594a5df0daef6754f338bb1f5889c1641164b3d"
            },
            "timestamp": 1762363565011
        }
    ],
    "timestamp": 1762363577084,
    "msgHash": "3188fc10a466a01842b396d603725fc998d694fb54acad61005c5b68606e29f0",
    "signature": {
        "v": 27,
        "r": "9c6565667e5a357725c425af182c07a79ac934c133ff93187a59c49429cdd338",
        "s": "5f0d0d9545775fc8f0e938cbf582813c54b21b1f88f5e3cefcefd089c2844cf5"
    }
}                    "iv": "abf4bfccb4a0b40eb00e3a0a20919000",
                    "ephemPublicKey": "0471d6cc1c87826bbe2fb12885de4dc0de471ff572c1a848f87631b600da041cd0c62f82d89127b8370250a9d25488d56bba6a7853a28bcd0d1d43d51c1811c119",
                    "ciphertext": "5df2ccbf2098e5b4c8ad84955963667625eb83f7cd8b48a82fa31ddfd19892aefcbd1d70086bb119f8505dabba2ac7202b36d9a621de27b5de7a25620b19e87b6f083253c768b26af378ce9012f73e10179f376ce4dc7c383aa0dc371c066552486803f46026d79c9a65ab949d1f170c14d97096577295f86380c5ac9ed6adb6280877910ac578abdb7cd2bbff96ad9c1206d51569d2d0250a6c8d54e9b38919faa0f4b73f3fe08887a9fcab353a9636ac3975abbae7293e110fabfd4f446c5765ea2b534b5504521f87d56e1c1824742ab3eae5d53365bd09de7ffa4d74f01bcf221ddb6a1cb387c0566fc5bb74af1b17a19b11f1a140de0f98c887288cd2512fc6d000ee2104d2f0a68af77425d96352941b32cb32e7752600b54e77873e82ce17f39de6b0c138c1c135c40e9ce81bcae1bb62f222c1a2ccd0f7c7f100c50978239668a3f32ecf8940c53c7d4c4bd10dec3e9db7b3fa8179f3552f65839d4928aca17baf46a7684335b05d6ca32786b56a1bba727289608f1e76b6797001f97509c05af1ba894b01980b85f2c79a161235168fd77db2f90482f10c897564d9f572308757dc69aece0e0b77e87c4905d3237f9ac82b0be5de256fbca30b7a797c95e8700ffd93ae17e1210ccdd5d37d",
                    "mac": "b5ad4c7f9627c4760c3cf806688bfa52c38eb80c2970730d1d49ca6fc2a90eaa"
                },
                "msgHash": "825479530f1ac744573d03c3d65d4b45629bf276a88c5c96a84e093014908c6a",
                "signature": {
                    "v": 28,
                    "r": "b797e68762cd7df235d942b349ac8020a738f94bf63c7a5d7da0e842461021e3",
                    "s": "1af6f7af901ea1526896601a9d5300247eb7e19f39604938444bca9c1e05f71c"
                }
            },
            "msgHash": "8a2881c958f06b068a0384d44a7cd911130c77c3dd692df3106c23843c2a5abd",
            "signature": {
                "v": 27,
                "r": "15e5eef9c4465bc2a948ca4d7de734c93cf9a4aad481db2b7457733ff1206ce8",
                "s": "189351ce08b39bff61bfd6cd677f6d23925d9275944677972c2f94bff0df4972"
            },
            "sequencerAddress": "0x************************************2266",
            "timestamp": 1717686205848
        },
        {
            "type": "solutions_revealed",
            "executionId": "657938a7-ebf1-4899-85ea-494fbca71123",
            "msgHash": "a8f8eca9b0f25c0e76662a9e8e0899541f785717193e9887db3b2adf1199ab30",
            "signature": {
                "v": 28,
                "r": "4fcad130489b95545d464e4dd5ee872bcfb40ba78e8d02b691bfdb509b607e10",
                "s": "5c58b407f5271a8729b224941632004df4a9884c719fc3ca4f18d1c262616693"
            },
            "clearTextSolutions": [
                {
                    "signature": {
                        "v": 27,
                        "r": "cf46300186ff01fcf90720a6475d3ca1c924abf9d348e2d6081e2cb1c38d3e16",
                        "s": "37ad0e079462cfa47a281ae490e192a1b1e23d5ae11c1ca6171364f36acfd290"
                    },
                    "clearTextSolution": {
                        "output": "13",
                        "status": "succeed",
                        "metering": {
                            "limits": {
                                "gas": 1099511627776,
                                "call": 500000,
                                "frame": 4194304,
                                "memory": 256
                            },
                            "last": {
                                "steps": 1628060352,
                                "call": 3,
                                "frame": 9
                            },
                            "peak": {
                                "call": 219,
                                "frame": 1407
                            },
                            "versions": {
                                "protocol": "1.84.1"
                            }
                        },
                        "senderAddress": "0x************************************79C8"
                    }
                },
                {
                    "signature": {
                        "v": 28,
                        "r": "04ac644f10bbe15aaef05cb6f8b01c7af575b679d45f85eaaf0da2be8a61fcc5",
                        "s": "202f83bb698cd8541cf1f91a930514478f85e87d869237c839882aab72ca720f"
                    },
                    "clearTextSolution": {
                        "output": "13",
                        "status": "succeed",
                        "metering": {
                            "limits": {
                                "gas": 1099511627776,
                                "call": 500000,
                                "frame": 4194304,
                                "memory": 256
                            },
                            "last": {
                                "steps": 1628060352,
                                "call": 3,
                                "frame": 9
                            },
                            "peak": {
                                "call": 219,
                                "frame": 1407
                            },
                            "versions": {
                                "protocol": "1.84.1"
                            }
                        },
                        "senderAddress": "0x************************************b906"
                    }
                },
                {
                    "signature": {
                        "v": 27,
                        "r": "f9e25227fdc47f5f8440712e0800b2ea6ffd21896256eaeef8d09b6af4fe08bb",
                        "s": "78e30985d524242d1ccddffa1f687387e2657fed201102732af67e8c1ee1aa95"
                    },
                    "clearTextSolution": {
                        "output": "13",
                        "status": "succeed",
                        "metering": {
                            "limits": {
                                "gas": 1099511627776,
                                "call": 500000,
                                "frame": 4194304,
                                "memory": 256
                            },
                            "last": {
                                "steps": 1628060352,
                                "call": 3,
                                "frame": 9
                            },
                            "peak": {
                                "call": 219,
                                "frame": 1407
                            },
                            "versions": {
                                "protocol": "1.84.1"
                            }
                        },
                         "senderAddress": "0x************************************b906"
                    }
                }
            ]
            "sequencerAddress": "0x************************************2266",
            "timestamp": 1717686205894
        },
        {
            "type": "execution_completed",
            "executionId": "657938a7-ebf1-4899-85ea-494fbca71123",
            "transcriptHash": "ebc2f5fc248991e9f570c255140e1154f08962dc0bdc997ff67d5f37435e72d9",
            "status": "ReadyForInvoice",
            "signature": {
                "v": 28,
                "r": "4c12ca5b2e33d5566e3ec14742562b1df785f30f8c48a48bece1ac6eb2e762da",
                "s": "5fe6808bf5eaf948eb35ba1ed3e33f1d83174b5ce16c247a3f8f33a78f6cdeed"
            },
            "signerAddress": "0x************************************058B",
            "timestamp": 1717686205918
        }
    ],
    "timestamp": 1717686229391,
    "msgHash": "b058423ba3b27e8e75a126277ece339be9e2703f15131d5610bd1cdb08c8e279",
    "signature": {
        "v": 27,
        "r": "cb660c29b11012d0371d446f0eed9c6339eb09779b1d0f4910fe318bfda61554",
        "s": "58a1eb8d91f9c0b17f358dfdece56d266e9b20cfe857c079a6f9d1e066a47c98"
    }
}
```

{% endcode %}

</details>

### Execution Lifecycle Messages

<details>

<summary>root message</summary>

This `root message` is the first entry recorded in the execution transcript. It contains key information such as the **execution ID**, the **timestamp** of when the task requester initiated the execution, and the **hash** representing all the messages contained within the transcript.

<table><thead><tr><th width="201">Property</th><th width="331.3333333333333">Description</th><th>Values</th></tr></thead><tbody><tr><td>executionId</td><td>Current execution ID</td><td>Text</td></tr><tr><td><a href="#execution-lifecycle-messages">transcript</a></td><td>List of all the messages generated during the Function Task execution</td><td>Array</td></tr><tr><td>timestamp</td><td>Transcript query request timestamp. The moment when the task-requester calls the transcript query endpoint.</td><td>unixTimestamp</td></tr><tr><td>msgHash</td><td>Transcript Hash</td><td>Text</td></tr><tr><td>signature</td><td>Truebit Verify Hub signature</td><td>v: Text<br>r: Text<br>s: Text</td></tr></tbody></table>

</details>

<details>

<summary>task_created</summary>

The `task_created` message is added to the transcript when the Truebit platform receives a new execution request from the task requester. It contains key information such as the **execution ID**, the **original message** sent by the requester (stored in the **message** field), and all data is **signed by the Truebit Verify Hub**.

<table><thead><tr><th width="188">Property</th><th width="309.4934895833333">Description</th><th>Values</th></tr></thead><tbody><tr><td>type</td><td>Message type</td><td><code>task_created</code></td></tr><tr><td>executionId</td><td>Current execution ID</td><td>Text</td></tr><tr><td>message</td><td>Original message received from the Task Requester</td><td>See Below "dispatch_task"</td></tr><tr><td>msgHash</td><td>Current message hash</td><td>Text</td></tr><tr><td>signature</td><td>Truebit Verify Hub signature</td><td>v: Text<br>r: Text<br>s: Text</td></tr><tr><td>publickey</td><td>Truebit Verify Hub public key</td><td>Text</td></tr><tr><td>sequencerAddress</td><td>Truebit Verify Hub Address</td><td>Text</td></tr><tr><td>timestamp</td><td>task_created message created timestamp</td><td>unixTimestamp</td></tr></tbody></table>

**Original message sent by the Task Requester:** `dispatch_task`

<table><thead><tr><th width="202.1640625">Property</th><th width="255">Description</th><th>Values</th></tr></thead><tbody><tr><td>type</td><td>Message type</td><td><code>dispatch_task</code></td></tr><tr><td>taskId</td><td>Function task ID</td><td>Text</td></tr><tr><td>executionId</td><td>Current execution ID</td><td>Text</td></tr><tr><td>msgHash</td><td>Current message hash</td><td>Text</td></tr><tr><td>signature</td><td>Truebit Verify Hub signature</td><td>v: Text<br>r: Text<br>s: Text</td></tr><tr><td>limits</td><td>Function task execution limits values</td><td><ul><li><strong>gas</strong>: Maximum amount of steps allowed for task execution.</li><li><strong>call</strong>: Amount of Nested calls allowed for task execution.</li><li><strong>frame</strong>: Stack memory allocated for the Calls during the task execution.</li><li><strong>memory</strong>: Amount of memory used by the task execution</li></ul></td></tr><tr><td>econParams</td><td>Economics parameters for the function task execution.</td><td><ul><li><strong>reward</strong>: <strong>TBC</strong></li><li><strong>requiredSolutions</strong>: Min amount of solutions to get a validated result.</li><li><strong>totalSolutions</strong>: Total amount of solutions to get a validated result.</li><li><strong>executionTimeout</strong>: Amount of execution time before it gets canceled.</li></ul></td></tr><tr><td>workers</td><td>List of <a href="../introduction/truebit-verify-nodes">Truebit Verify Nodes</a> selected to work on this function task rxecution</td><td><ul><li><strong>blockNumber</strong>: number</li><li><strong>selectionStrategy</strong>: [ "default"]</li><li><strong>setNodes</strong>: Array of nodes</li></ul></td></tr><tr><td>dispatcherTimestamp</td><td>Dispatcher timestamp at the moment of receiving a new task execution from taskRequester</td><td>unixTimestamp</td></tr><tr><td>taskRequesterTimestamp</td><td>Timestamp specified on the task execution request by the TaskRequester</td><td>unixTimestamp</td></tr><tr><td>ledgerName</td><td>Current ledger in usage</td><td>['avalanche']</td></tr><tr><td>blockHash</td><td>Current block hash</td><td>Text</td></tr><tr><td>blockNumber</td><td>Current block number</td><td>Number</td></tr><tr><td>chainId</td><td>Unique ID for blockchain identification</td><td>Text</td></tr><tr><td>nodeRegistryContractAddress</td><td>Node registration Smart contract Address</td><td>Text</td></tr><tr><td>taskRegistryContractAddress</td><td>Task registration Smart contract Address</td><td>Text</td></tr><tr><td>taskAuthorizationContractAddress</td><td>Task Authorization Contract Address</td><td>Text</td></tr><tr><td>taskRequesterAddress</td><td>Task Requester address. This address will pay for the task execution</td><td>Text</td></tr><tr><td>taskPath</td><td>Provided path for task execution. It must contain the namespace and taskname</td><td>Text</td></tr><tr><td>taskVersion</td><td>Provided version Task for execution </td><td>Number</td></tr><tr><td>senderAddress</td><td>Truebit Verify Hub address</td><td>Text</td></tr><tr><td>input</td><td>Function Task Input parameters</td><td>Text</td></tr></tbody></table>

</details>

<details>

<summary>node_outcome</summary>

The `node_outcome` message is recorded in the transcript each time the Truebit Verify Hub receives a response from a Truebit Verify Node. It includes key information such as the **execution ID**, the **original message** from the node (stored in the **message** field), and all data is **signed by the Truebit Verify Hub**.

<table><thead><tr><th width="203">Property</th><th width="292">Description</th><th>Values</th></tr></thead><tbody><tr><td>type</td><td>Message type</td><td><code>node_outcome</code></td></tr><tr><td>executionId</td><td>Current execution ID</td><td>Text</td></tr><tr><td>message</td><td>Original message received from the Truebit node </td><td>See below "computed_outcome"</td></tr><tr><td>msgHash</td><td>Current message Hash</td><td>Text</td></tr><tr><td>signature</td><td>Truebit Verify Node signature</td><td>v: Text<br>r: Text<br>s: Text</td></tr><tr><td>sequencerAddress</td><td>Truebit Verify Hub Address</td><td>Text</td></tr><tr><td>timestamp</td><td>node_outcome message created timestamp</td><td>unixTimestamp</td></tr></tbody></table>

**Original message sent by the Task Requester:** `computed_outcome`

<table><thead><tr><th width="203">Property</th><th width="292">Description</th><th>Values</th></tr></thead><tbody><tr><td>type</td><td>Message type</td><td><code>computed_outcome</code></td></tr><tr><td>executionId</td><td>Current execution ID</td><td>Text</td></tr><tr><td>senderAddress</td><td>Truebit Verify Node address</td><td>Text</td></tr><tr><td>encryptedSolution</td><td>Encrypted solution submitted by the Truebit Verify Node using the Truebit Verify Hub public key.</td><td><p>"iv": Text</p><p>"ephemPublicKey": Text</p><p>"ciphertext": Text</p><p>"mac": Text</p></td></tr><tr><td>msgHash</td><td>Current message Hash</td><td>Text</td></tr><tr><td>signature</td><td>Truebit Verify Node signature</td><td>v: Text<br>r: Text<br>s: Text</td></tr></tbody></table>

</details>

<details>

<summary>solutions_revealed</summary>

The `solutions_revealed` message is recorded in the transcript once either the required number of node responses has been received or the execution time has expired. This message includes key information such as the **execution ID** and all the **solutions provided by the nodes**, presented in an **unencrypted** form so that anyone can review the submitted results. These responses were previously **encoded** to prevent premature solution disclosure while the execution was still in progress.

<table><thead><tr><th>Property</th><th width="289">Description</th><th>Values</th></tr></thead><tbody><tr><td>type</td><td>Message type</td><td><code>solutions_revealed</code></td></tr><tr><td>executionId</td><td>Current execution ID</td><td>Text</td></tr><tr><td>msgHash</td><td>Current message Hash</td><td>Text</td></tr><tr><td>signature</td><td>Truebit Verify Hub signature</td><td>v: Text<br>r: Text<br>s: Text</td></tr><tr><td>clearTextSolutions</td><td>List of all the solutions provided by the selected Truebit Verify Nodes.</td><td><p>Array of</p><p>[</p><ul><li>signature: Node's signature</li><li><a href="#cleartextsolutions-message">clearTextSolution</a></li></ul><p>]<br></p></td></tr><tr><td>sequencerAddress</td><td>Truebit Verify Hub address</td><td>Text</td></tr><tr><td>timestamp</td><td>Message sent timestamp</td><td>unixTimestamp</td></tr></tbody></table>

**Information stored within the clearTextSolution message**

This array will contain an unencrypted list of all the messages received from the nodes

<table><thead><tr><th width="184">Property</th><th width="289">Description</th><th>Values</th></tr></thead><tbody><tr><td>output</td><td>Unencrypted node solution</td><td>Text</td></tr><tr><td>status</td><td>Node execution status</td><td>[ "succeed", "Failed"]</td></tr><tr><td><a href="#metering">metering</a></td><td>Metrics used for the execution</td><td><p>Array of </p><ul><li>limits</li><li>last</li><li>peak</li><li>versions</li></ul></td></tr><tr><td>senderAddress</td><td>Truebit verify Node Address</td><td>Text</td></tr></tbody></table>

**Metering message**

<table><thead><tr><th width="184">Property</th><th width="289">Description</th><th>Values</th></tr></thead><tbody><tr><td>limits</td><td>Limits values specified in the dispatch_task message</td><td><ul><li>gas</li><li>call</li><li>frame</li><li>memory</li></ul></td></tr><tr><td>last</td><td>Actual <strong>last</strong> values consumed during execution</td><td><ul><li>gas</li><li>call</li><li>frame</li></ul></td></tr><tr><td>peak</td><td>Actual <strong>peak</strong> consumed during execution</td><td><ul><li>call</li><li>frame</li></ul></td></tr><tr><td>versions</td><td>Truebit protocol version</td><td><strong>protocol</strong>: Truebit protocol version number</td></tr></tbody></table>

</details>

<details>

<summary>execution_completed</summary>

The `execution_completed` message is logged into the transcript once the entire execution process has been completed — whether the task was resolved through **node consensus** or required intervention by the **Truebit Control Node** during the **Non-Consensus Resolution Process**.

<table><thead><tr><th width="234">Property</th><th width="256.1328125">Description</th><th>Values</th></tr></thead><tbody><tr><td>type</td><td>Message type</td><td><code>execution_completed</code></td></tr><tr><td>executionId</td><td>Current execution ID</td><td>Text</td></tr><tr><td>transcriptHash</td><td>Execution lifecycle messages hash.</td><td>Text</td></tr><tr><td>status</td><td>Final execution status</td><td>["ReadyForInvoice", "Error"]</td></tr><tr><td>errorDetails</td><td>Only present if there was an error during the execution.</td><td>The details of any error thrown by the protocol or its services</td></tr><tr><td>signature</td><td>Truebit Verify Hub signature</td><td>v: Text<br>r: Text<br>s: Text</td></tr><tr><td>signerAddress</td><td>Truebit Verify Hub address</td><td>Text</td></tr><tr><td>timestamp</td><td>Message sent timestamp</td><td>unixTimestamp</td></tr></tbody></table>

**Execution complete statuses**

| Status          | Description                                                                               |
| --------------- | ----------------------------------------------------------------------------------------- |
| ReadyForInvoice | The task execution finished, so the protocol is ready to process the execution's invoices |
| Error           | There was an error during the execution. Please check the **errorDetails** field.         |

</details>

<details>

<summary>execution_metadata</summary>

<table><thead><tr><th width="234">Property</th><th width="257.03515625">Description</th><th>Values</th></tr></thead><tbody><tr><td>type</td><td>Message type</td><td><code>execution_metadata</code></td></tr><tr><td>executionId</td><td>Current execution ID</td><td>Text</td></tr><tr><td>message</td><td>Truebit Protocol version</td><td>Array of<br>["version"]</td></tr><tr><td>msgHash</td><td>Hash that represents the message</td><td>Text</td></tr><tr><td>signature</td><td>Truebit Verify Hub signature</td><td>v: Text<br>r: Text<br>s: Text</td></tr><tr><td>timestamp</td><td>Message sent timestamp</td><td>unixTimestamp</td></tr></tbody></table>

</details>
