> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cultura.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# IVerifierModule

# Solidity API

# Contract: IVerifierModule

## External Functions

### registerVerifierBond

```solidity theme={null}
function registerVerifierBondfunction registerVerifierBond(address digitalAssetAddress, uint256 digitalAssetId, address verifier, uint256 bondedAmount) external
```

#### Parameters

| Name                  | Description                                 |
| --------------------- | ------------------------------------------- |
| `digitalAssetAddress` | The address of the digital asset contract   |
| `digitalAssetId`      | The token ID of the digital asset           |
| `verifier`            | The address of the verifier                 |
| `bondedAmount`        | The amount of tokens bonded by the verifier |

*Dev:* Register a verifier's bond for a specific verified rights

### receiveFees

```solidity theme={null}
function receiveFeesfunction receiveFees(address digitalAssetAddress, uint256 digitalAssetId, uint256 amount, address sender) external
```

#### Parameters

| Name                  | Description                                                      |
| --------------------- | ---------------------------------------------------------------- |
| `digitalAssetAddress` | The address of the digital asset contract                        |
| `digitalAssetId`      | The token ID of the digital asset                                |
| `amount`              | The amount of tokens that should have been sent to this contract |
| `sender`              | The address that sent the tokens                                 |

*Dev:* Receive rewards for a specific verified rights (called by CulturaRightsBoundAccount)

### calculateClaimableRewards

```solidity theme={null}
function calculateClaimableRewardsfunction calculateClaimableRewards(address digitalAssetAddress, uint256 digitalAssetId, address verifier) external view returns (uint256 claimableAmount)
```

#### Parameters

| Name                  | Description                               |
| --------------------- | ----------------------------------------- |
| `digitalAssetAddress` | The address of the digital asset contract |
| `digitalAssetId`      | The token ID of the digital asset         |
| `verifier`            | The address of the verifier               |

#### Return Values

| Description                                 |
| ------------------------------------------- |
| The amount of tokens the verifier can claim |

*Dev:* Calculate the claimable rewards for a verifier for a specific verified rights

### claimRewards

```solidity theme={null}
function claimRewardsfunction claimRewards(address digitalAssetAddress, uint256 digitalAssetId) external
```

#### Parameters

| Name                  | Description                               |
| --------------------- | ----------------------------------------- |
| `digitalAssetAddress` | The address of the digital asset contract |
| `digitalAssetId`      | The token ID of the digital asset         |

*Dev:* Allow a verifier to claim their rewards for a specific verified rights

### distributeRewards

```solidity theme={null}
function distributeRewardsfunction distributeRewards(address digitalAssetAddress, uint256 digitalAssetId, address boundAccount, uint256 period) external
```

#### Parameters

| Name                  | Description                                  |
| --------------------- | -------------------------------------------- |
| `digitalAssetAddress` | The address of the digital asset contract    |
| `digitalAssetId`      | The token ID of the digital asset            |
| `boundAccount`        | The address of the CulturaRightsBoundAccount |
| `period`              | The payment period to claim from             |

*Dev:* Allows any verifier to trigger the distribution of rewards from the bound account

### getVerifierBond

```solidity theme={null}
function getVerifierBondfunction getVerifierBond(address digitalAssetAddress, uint256 digitalAssetId, address verifier) external view returns (uint256)
```

#### Parameters

| Name                  | Description                               |
| --------------------- | ----------------------------------------- |
| `digitalAssetAddress` | The address of the digital asset contract |
| `digitalAssetId`      | The token ID of the digital asset         |
| `verifier`            | The address of the verifier               |

#### Return Values

| Description                                 |
| ------------------------------------------- |
| The amount of tokens bonded by the verifier |

*Dev:* Get the amount of tokens a verifier has bonded for a specific verified rights

### getTotalBondedAmount

```solidity theme={null}
function getTotalBondedAmountfunction getTotalBondedAmount(address digitalAssetAddress, uint256 digitalAssetId) external view returns (uint256)
```

#### Parameters

| Name                  | Description                               |
| --------------------- | ----------------------------------------- |
| `digitalAssetAddress` | The address of the digital asset contract |
| `digitalAssetId`      | The token ID of the digital asset         |

#### Return Values

| Description                                               |
| --------------------------------------------------------- |
| The total amount of tokens bonded for the verified rights |

*Dev:* Get the total amount of tokens bonded for a specific verified rights
