# Staking Configuration

## Code

`StakingConfiguration.sol`

## Address

`StakingConfiguration` is deployed at [`0x51B2f83aac13adB9Ed826C4cdb593C88e6B61C92`](https://etherscan.io/address/0x51B2f83aac13adB9Ed826C4cdb593C88e6B61C92) on the Ethereum mainnet.

## Overview

This is a basic configuration contract. Contains all information subject to change related to ETH Staking on HORD.app.

## Events

### NameChanged

```solidity
event NameChanged(string parameter, address newValue);
```

* Emitted each time when name or symbol is changed.

### AddressChanged

```solidity
event AddressChanged(string parameter, address newValue);
```

* Emitted each time when some address is changed.

### ConfigurationChanged

```solidity
event ConfigurationChanged(string parameter, uint256 newValue);
```

* Emitted each time when some numerical value is changed.&#x20;

## Read-Only Functions

### feeRecipient

```solidity
function feeRecipient() external view returns(address);
```

* Returns fee recipient address.

### stakeETHTokenName

```solidity
function stakeETHTokenName() external view returns(string memory);
```

* Returns name of staking ETH token.

### stakeETHTokenSymbol

```solidity
function stakeETHTokenSymbol() external view returns(string memory);
```

* Returns symbol of staking ETH token.

### amountETHInValidator

```solidity
function amountETHInValidator() external view returns(uint256);
```

* Returns amount of ETH needed to launch a new validator.

### rewardFeePercentage

```solidity
function rewardFeePercentage() external view returns(uint256);
```

* Returns percentage of reward fee.

### tolerancePercentageForRewards

```solidity
function tolerancePercentageForRewards() external view returns(uint256);
```

* Returns percentage of tolerance for rewards.

### tolerancePercentageForFee

```solidity
function tolerancePercentageForFee() external view returns (uint256);
```

* Returns percentage of tolerance for fee.

## State-Changing Functions

### setFeeRecipientAddress

```solidity
function setFeeRecipientAddress(address _feeRecipient) external onlyHordCongress;
```

* Set fee recipient address.
* Emits an [`AddressChanged`](#addresschanged) event.

### setStakeETHTokenName

```solidity
function setStakeETHTokenName(string memory _stakeETHTokenName) external onlyHordCongress;
```

* Set name of ETH staking token.
* &#x20;Emits a [`NameChanged`](#namechanged) event.

### setStakeETHTokenSymbol

```solidity
function setStakeETHTokenSymbol(string memory _stakeETHTokenSymbol) external onlyHordCongress;
```

* Set symbol of ETH staking token.
* &#x20;Emits a [`NameChanged`](#namechanged) event.

### setAmountETHInValidator

```solidity
function setAmountETHInValidator(uint256 _amountETHInValidator) external onlyHordCongress;
```

* Set amount of ETH needed to launch a new validator.
* &#x20;Emits a [`ConfigurationChanged`](#configurationchanged) event.

### setRewardFeePercentage

```solidity
function setRewardFeePercentage(uint256 _rewardFeePercentage) external onlyHordCongress;
```

* Set percentage of reward fee.
* &#x20;Emits a [`ConfigurationChanged`](#configurationchanged) event.

### setTolerancePercentageForRewards

```solidity
function setTolerancePercentageForRewards(uint256 _tolerancePercentageForRewards) external onlyHordCongress;
```

* Set percentage of tolerance for rewards.
* &#x20;Emits a [`ConfigurationChanged`](#configurationchanged) event.

### setTolerancePercentageForFee

```solidity
function setTolerancePercentageForFee(uint256 _tolerancePercentageForFee) external onlyHordCongress;
```

* Set percentage of tolerance for fee.
* &#x20;Emits a [`ConfigurationChanged`](#configurationchanged) event.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hord.fi/protocol/smart-contracts/staking-configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
