Hooks
NOTE: all bellow examples are just sample data to showcase fields used in data passed to hooks.
after_candidates_generated
This hook is capable of mutating data.
{
"cycle": 580,
"candidates": [
{
"source": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU",
"recipient": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU",
"fee_rate": 5,
"staked_balance": "1000000000",
"delegated_balance": "1000000000",
"is_invalid": true,
"is_emptied": true,
"is_baker_paying_tx_fee": true,
"is_baker_paying_allocation_tx_fee": true,
"invalid_because": "reason"
}
]
}
after_bonds_distributed
This hook is capable of mutating data.
{
"cycle": 580,
"candidates": [
{
"source": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU",
"recipient": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU",
"fee_rate": 5,
"staked_balance": "1000000000",
"delegated_balance": "1000000000",
"is_invalid": true,
"is_emptied": true,
"is_baker_paying_tx_fee": true,
"is_baker_paying_allocation_tx_fee": true,
"invalid_because": "reason",
"bonds_amount": "1000000000",
"tx_kind": "fa1",
"fa_token_id": "10",
"fa_contract": "KT18amZmM5W7qDWVt2pH6uj7sCEd3kbzLrHT"
}
]
}
check_balance
This hook is NOT capable of mutating data.
{
"skip_tez_check": true,
"is_sufficient": true,
"message": "This message is used to carry errors from hook to the caller.",
"payouts": [
{
"source": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU",
"recipient": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU",
"fee_rate": 5,
"staked_balance": "1000000000",
"delegated_balance": "1000000000",
"is_invalid": true,
"is_emptied": true,
"is_baker_paying_tx_fee": true,
"is_baker_paying_allocation_tx_fee": true,
"invalid_because": "reason",
"bonds_amount": "1000000000",
"tx_kind": "fa1",
"fa_token_id": "10",
"fa_contract": "KT18amZmM5W7qDWVt2pH6uj7sCEd3kbzLrHT",
"fee": "1000000000"
}
]
}
on_fees_collection
This hook is capable of mutating data.
{
"cycle": 580,
"candidates": [
{
"source": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU",
"recipient": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU",
"fee_rate": 5,
"staked_balance": "1000000000",
"delegated_balance": "1000000000",
"is_invalid": true,
"is_emptied": true,
"is_baker_paying_tx_fee": true,
"is_baker_paying_allocation_tx_fee": true,
"invalid_because": "reason",
"bonds_amount": "1000000000",
"tx_kind": "fa1",
"fa_token_id": "10",
"fa_contract": "KT18amZmM5W7qDWVt2pH6uj7sCEd3kbzLrHT",
"fee": "1000000000"
}
]
}
after_payouts_blueprint_generated
This hook is NOT capable of mutating data currently.
{
"cycles": 1,
"payouts": [
{
"baker": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU",
"delegator": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU",
"cycle": 1,
"recipient": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU",
"kind": "invalid",
"tx_kind": "fa1",
"fa_token_id": "10",
"fa_contract": "KT18amZmM5W7qDWVt2pH6uj7sCEd3kbzLrHT",
"delegator_balance": "1000000000",
"amount": "1000000000",
"fee_rate": 5,
"fee": "1000000000",
"op_limits": {
"transaction_fee": 1,
"storage_limit": 1,
"gas_limit": 1,
"deserialization_gas_limit": 1,
"allocation_burn": 1,
"storage_burn": 1
},
"note": "reason"
}
],
"summary": {
"cycle": 1,
"delegators": 2,
"paid_delegators": 1,
"own_staked_balance": "1000000000",
"own_delegated_balance": "0",
"external_staked_balance": "0",
"external_delegated_balance": "0",
"cycle_fees": "1000000000",
"cycle_rewards": "1000000000",
"distributed_rewards": "1000000000",
"bond_income": "1000000000",
"fee_income": "1000000000",
"total_income": "1000000000",
"donated_bonds": "1000000000",
"donated_fees": "1000000000",
"donated_total": "1000000000",
"timestamp": "2023-01-01T00:00:00Z"
}
}
after_payouts_prepared
This hook is capable of mutating data currently.
{
"recipes": null,
"payouts": [
{
"baker": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU",
"delegator": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU",
"cycle": 1,
"recipient": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU",
"kind": "invalid",
"tx_kind": "fa1",
"fa_token_id": "10",
"fa_contract": "KT18amZmM5W7qDWVt2pH6uj7sCEd3kbzLrHT",
"delegator_balance": "1000000000",
"amount": "1000000000",
"fee_rate": 5,
"fee": "1000000000",
"op_limits": {
"transaction_fee": 1,
"storage_limit": 1,
"gas_limit": 1,
"deserialization_gas_limit": 1,
"allocation_burn": 1,
"storage_burn": 1
},
"note": "reason"
}
],
"invalid_payouts": null,
"reports_of_past_succesful_payouts": [
{
"id": "fd8d0230c9d70458",
"baker": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU",
"timestamp": "2024-12-21T10:36:53.620615773Z",
"cycle": 1,
"kind": "invalid",
"tx_kind": "fa1",
"contract": "KT18amZmM5W7qDWVt2pH6uj7sCEd3kbzLrHT",
"token_id": "10",
"delegator": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU",
"delegator_balance": "1000000000",
"recipient": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU",
"amount": "1000000000",
"fee_rate": 5,
"fee": "1000000000",
"tx_fee": 1,
"op_hash": "oneDGhZacw99EEFaYDTtWfz5QEhUW3PPVFsHa7GShnLPuDn7gSd",
"success": true,
"note": "reason"
}
]
}