# IEntityManager

> Manages voter entities, including addresses and node IDs.

> For the complete documentation index, see [llms.txt](/llms.txt). Markdown versions of documentation pages are available by appending `.md` to the page URL.

Source: https://dev.flare.network/network/fsp/solidity-reference/IEntityManager

Manages voter entities, including addresses and node IDs.

Sourced from `IEntityManager.sol` on [GitHub](https://github.com/flare-foundation/flare-smart-contracts-v2/blob/main/contracts/userInterfaces/IEntityManager.sol).

## Functions[​](#functions "Direct link to Functions")

### confirmDelegationAddressRegistration[​](#confirmdelegationaddressregistration "Direct link to confirmDelegationAddressRegistration")

Confirms a delegation address registration (called by the delegation address).

```
function confirmDelegationAddressRegistration(    address _voter) external;
```

#### Parameters[​](#parameters "Direct link to Parameters")

-   `_voter`: Voter address.

### confirmSigningPolicyAddressRegistration[​](#confirmsigningpolicyaddressregistration "Direct link to confirmSigningPolicyAddressRegistration")

Confirms a signing policy address registration (called by the signing policy address).

```
function confirmSigningPolicyAddressRegistration(    address _voter) external;
```

#### Parameters[​](#parameters-1 "Direct link to Parameters")

-   `_voter`: Voter address.

### confirmSubmitAddressRegistration[​](#confirmsubmitaddressregistration "Direct link to confirmSubmitAddressRegistration")

Confirms a submit address registration (called by the submit address).

```
function confirmSubmitAddressRegistration(    address _voter) external;
```

#### Parameters[​](#parameters-2 "Direct link to Parameters")

-   `_voter`: Voter address.

### confirmSubmitSignaturesAddressRegistration[​](#confirmsubmitsignaturesaddressregistration "Direct link to confirmSubmitSignaturesAddressRegistration")

Confirms a submit signatures address registration (called by the submit signatures address).

```
function confirmSubmitSignaturesAddressRegistration(    address _voter) external;
```

#### Parameters[​](#parameters-3 "Direct link to Parameters")

-   `_voter`: Voter address.

### getDelegationAddressOf[​](#getdelegationaddressof "Direct link to getDelegationAddressOf")

Gets the delegation address of a voter at the current block number.

```
function getDelegationAddressOf(    address _voter) external view returns (    address);
```

#### Parameters[​](#parameters-4 "Direct link to Parameters")

-   `_voter`: Voter address.

#### Returns[​](#returns "Direct link to Returns")

-   \`\`: Public key.

### getDelegationAddressOfAt[​](#getdelegationaddressofat "Direct link to getDelegationAddressOfAt")

Gets the delegation address of a voter at a specific block number.

```
function getDelegationAddressOfAt(    address _voter,    uint256 _blockNumber) external view returns (    address);
```

#### Parameters[​](#parameters-5 "Direct link to Parameters")

-   `_voter`: Voter address.
-   `_blockNumber`: Block number.

#### Returns[​](#returns-1 "Direct link to Returns")

-   \`\`: Public key.

### getNodeIdsOf[​](#getnodeidsof "Direct link to getNodeIdsOf")

Gets the node ids of a voter at the current block number.

```
function getNodeIdsOf(    address _voter) external view returns (    bytes20[]);
```

#### Parameters[​](#parameters-6 "Direct link to Parameters")

-   `_voter`: Voter address.

#### Returns[​](#returns-2 "Direct link to Returns")

-   \`\`: Node ids.

### getNodeIdsOfAt[​](#getnodeidsofat "Direct link to getNodeIdsOfAt")

Gets the node ids of a voter at a specific block number.

```
function getNodeIdsOfAt(    address _voter,    uint256 _blockNumber) external view returns (    bytes20[]);
```

#### Parameters[​](#parameters-7 "Direct link to Parameters")

-   `_voter`: Voter address.
-   `_blockNumber`: Block number.

#### Returns[​](#returns-3 "Direct link to Returns")

-   \`\`: Node ids.

### getPublicKeyOf[​](#getpublickeyof "Direct link to getPublicKeyOf")

Gets the public key of a voter at the current block number.

```
function getPublicKeyOf(    address _voter) external view returns (    bytes32,    bytes32);
```

#### Parameters[​](#parameters-8 "Direct link to Parameters")

-   `_voter`: Voter address.

#### Returns[​](#returns-4 "Direct link to Returns")

-   \`\`: Public key.
-   \`\`:

### getPublicKeyOfAt[​](#getpublickeyofat "Direct link to getPublicKeyOfAt")

Gets the public key of a voter at a specific block number.

```
function getPublicKeyOfAt(    address _voter,    uint256 _blockNumber) external view returns (    bytes32,    bytes32);
```

#### Parameters[​](#parameters-9 "Direct link to Parameters")

-   `_voter`: Voter address.
-   `_blockNumber`: Block number.

#### Returns[​](#returns-5 "Direct link to Returns")

-   \`\`: Public key.
-   \`\`:

### getVoterAddresses[​](#getvoteraddresses "Direct link to getVoterAddresses")

Gets voter's addresses at the current block number.

```
function getVoterAddresses(    address _voter) external view returns (    struct IEntityManager.VoterAddresses _addresses);
```

#### Parameters[​](#parameters-10 "Direct link to Parameters")

-   `_voter`: Voter address.

#### Returns[​](#returns-6 "Direct link to Returns")

-   `_addresses`: Voter addresses.

### getVoterAddressesAt[​](#getvoteraddressesat "Direct link to getVoterAddressesAt")

Gets voter's addresses at a specific block number.

```
function getVoterAddressesAt(    address _voter,    uint256 _blockNumber) external view returns (    struct IEntityManager.VoterAddresses _addresses);
```

#### Parameters[​](#parameters-11 "Direct link to Parameters")

-   `_voter`: Voter address.
-   `_blockNumber`: Block number.

#### Returns[​](#returns-7 "Direct link to Returns")

-   `_addresses`: Voter addresses.

### getVoterForDelegationAddress[​](#getvoterfordelegationaddress "Direct link to getVoterForDelegationAddress")

Gets voter's address for a delegation address at a specific block number.

```
function getVoterForDelegationAddress(    address _delegationAddress,    uint256 _blockNumber) external view returns (    address _voter);
```

#### Parameters[​](#parameters-12 "Direct link to Parameters")

-   `_delegationAddress`: Delegation address.
-   `_blockNumber`: Block number.

#### Returns[​](#returns-8 "Direct link to Returns")

-   `_voter`: Voter address.

### getVoterForNodeId[​](#getvoterfornodeid "Direct link to getVoterForNodeId")

Gets voter's address for a node id at a specific block number.

```
function getVoterForNodeId(    bytes20 _nodeId,    uint256 _blockNumber) external view returns (    address _voter);
```

#### Parameters[​](#parameters-13 "Direct link to Parameters")

-   `_nodeId`: Node id.
-   `_blockNumber`: Block number.

#### Returns[​](#returns-9 "Direct link to Returns")

-   `_voter`: Voter address.

### getVoterForPublicKey[​](#getvoterforpublickey "Direct link to getVoterForPublicKey")

Gets voter's address for a public key at a specific block number.

```
function getVoterForPublicKey(    bytes32 _part1,    bytes32 _part2,    uint256 _blockNumber) external view returns (    address _voter);
```

#### Parameters[​](#parameters-14 "Direct link to Parameters")

-   `_part1`: First part of the public key.
-   `_part2`: Second part of the public key.
-   `_blockNumber`: Block number.

#### Returns[​](#returns-10 "Direct link to Returns")

-   `_voter`: Voter address.

### getVoterForSigningPolicyAddress[​](#getvoterforsigningpolicyaddress "Direct link to getVoterForSigningPolicyAddress")

Gets voter's address for a signing policy address at a specific block number.

```
function getVoterForSigningPolicyAddress(    address _signingPolicyAddress,    uint256 _blockNumber) external view returns (    address _voter);
```

#### Parameters[​](#parameters-15 "Direct link to Parameters")

-   `_signingPolicyAddress`: Signing policy address.
-   `_blockNumber`: Block number.

#### Returns[​](#returns-11 "Direct link to Returns")

-   `_voter`: Voter address.

### getVoterForSubmitAddress[​](#getvoterforsubmitaddress "Direct link to getVoterForSubmitAddress")

Gets voter's address for a submit address at a specific block number.

```
function getVoterForSubmitAddress(    address _submitAddress,    uint256 _blockNumber) external view returns (    address _voter);
```

#### Parameters[​](#parameters-16 "Direct link to Parameters")

-   `_submitAddress`: Submit address.
-   `_blockNumber`: Block number.

#### Returns[​](#returns-12 "Direct link to Returns")

-   `_voter`: Voter address.

### getVoterForSubmitSignaturesAddress[​](#getvoterforsubmitsignaturesaddress "Direct link to getVoterForSubmitSignaturesAddress")

Gets voter's address for a submit signatures address at a specific block number.

```
function getVoterForSubmitSignaturesAddress(    address _submitSignaturesAddress,    uint256 _blockNumber) external view returns (    address _voter);
```

#### Parameters[​](#parameters-17 "Direct link to Parameters")

-   `_submitSignaturesAddress`: Submit signatures address.
-   `_blockNumber`: Block number.

#### Returns[​](#returns-13 "Direct link to Returns")

-   `_voter`: Voter address.

### proposeDelegationAddress[​](#proposedelegationaddress "Direct link to proposeDelegationAddress")

Proposes a delegation address (called by the voter).

```
function proposeDelegationAddress(    address _delegationAddress) external;
```

#### Parameters[​](#parameters-18 "Direct link to Parameters")

-   `_delegationAddress`: Delegation address.

### proposeSigningPolicyAddress[​](#proposesigningpolicyaddress "Direct link to proposeSigningPolicyAddress")

Proposes a signing policy address (called by the voter).

```
function proposeSigningPolicyAddress(    address _signingPolicyAddress) external;
```

#### Parameters[​](#parameters-19 "Direct link to Parameters")

-   `_signingPolicyAddress`: Signing policy address.

### proposeSubmitAddress[​](#proposesubmitaddress "Direct link to proposeSubmitAddress")

Proposes a submit address (called by the voter).

```
function proposeSubmitAddress(    address _submitAddress) external;
```

#### Parameters[​](#parameters-20 "Direct link to Parameters")

-   `_submitAddress`: Submit address.

### proposeSubmitSignaturesAddress[​](#proposesubmitsignaturesaddress "Direct link to proposeSubmitSignaturesAddress")

Proposes a submit signatures address (called by the voter).

```
function proposeSubmitSignaturesAddress(    address _submitSignaturesAddress) external;
```

#### Parameters[​](#parameters-21 "Direct link to Parameters")

-   `_submitSignaturesAddress`: Submit signatures address.

### registerNodeId[​](#registernodeid "Direct link to registerNodeId")

Registers a node id.

```
function registerNodeId(    bytes20 _nodeId,    bytes _certificateRaw,    bytes _signature) external;
```

#### Parameters[​](#parameters-22 "Direct link to Parameters")

-   `_nodeId`: Node id.
-   `_certificateRaw`: Certificate in raw format.
-   `_signature`: Signature.

### registerPublicKey[​](#registerpublickey "Direct link to registerPublicKey")

Registers a public key.

```
function registerPublicKey(    bytes32 _part1,    bytes32 _part2,    bytes _verificationData) external;
```

#### Parameters[​](#parameters-23 "Direct link to Parameters")

-   `_part1`: First part of the public key.
-   `_part2`: Second part of the public key.
-   `_verificationData`: Additional data used to verify the public key.

### unregisterNodeId[​](#unregisternodeid "Direct link to unregisterNodeId")

Unregisters a node id.

```
function unregisterNodeId(    bytes20 _nodeId) external;
```

#### Parameters[​](#parameters-24 "Direct link to Parameters")

-   `_nodeId`: Node id.

### unregisterPublicKey[​](#unregisterpublickey "Direct link to unregisterPublicKey")

Unregisters a public key.

```
function unregisterPublicKey() external;
```

## Events[​](#events "Direct link to Events")

### DelegationAddressProposed[​](#delegationaddressproposed "Direct link to DelegationAddressProposed")

Event emitted when a delegation address is proposed.

```
event DelegationAddressProposed(    address voter,    address delegationAddress)
```

### DelegationAddressRegistrationConfirmed[​](#delegationaddressregistrationconfirmed "Direct link to DelegationAddressRegistrationConfirmed")

Event emitted when a delegation address registration is confirmed.

```
event DelegationAddressRegistrationConfirmed(    address voter,    address delegationAddress)
```

### MaxNodeIdsPerEntitySet[​](#maxnodeidsperentityset "Direct link to MaxNodeIdsPerEntitySet")

Event emitted when the maximum number of node ids per entity is set.

```
event MaxNodeIdsPerEntitySet(    uint256 maxNodeIdsPerEntity)
```

### NodeIdRegistered[​](#nodeidregistered "Direct link to NodeIdRegistered")

Event emitted when a node id is registered.

```
event NodeIdRegistered(    address voter,    bytes20 nodeId)
```

### NodeIdUnregistered[​](#nodeidunregistered "Direct link to NodeIdUnregistered")

Event emitted when a node id is unregistered.

```
event NodeIdUnregistered(    address voter,    bytes20 nodeId)
```

### PublicKeyRegistered[​](#publickeyregistered "Direct link to PublicKeyRegistered")

Event emitted when a public key is registered.

```
event PublicKeyRegistered(    address voter,    bytes32 part1,    bytes32 part2)
```

### PublicKeyUnregistered[​](#publickeyunregistered "Direct link to PublicKeyUnregistered")

Event emitted when a public key is unregistered.

```
event PublicKeyUnregistered(    address voter,    bytes32 part1,    bytes32 part2)
```

### SigningPolicyAddressProposed[​](#signingpolicyaddressproposed "Direct link to SigningPolicyAddressProposed")

Event emitted when a signing policy address is proposed.

```
event SigningPolicyAddressProposed(    address voter,    address signingPolicyAddress)
```

### SigningPolicyAddressRegistrationConfirmed[​](#signingpolicyaddressregistrationconfirmed "Direct link to SigningPolicyAddressRegistrationConfirmed")

Event emitted when a signing policy address registration is confirmed.

```
event SigningPolicyAddressRegistrationConfirmed(    address voter,    address signingPolicyAddress)
```

### SubmitAddressProposed[​](#submitaddressproposed "Direct link to SubmitAddressProposed")

Event emitted when a submit address is proposed.

```
event SubmitAddressProposed(    address voter,    address submitAddress)
```

### SubmitAddressRegistrationConfirmed[​](#submitaddressregistrationconfirmed "Direct link to SubmitAddressRegistrationConfirmed")

Event emitted when a submit address registration is confirmed.

```
event SubmitAddressRegistrationConfirmed(    address voter,    address submitAddress)
```

### SubmitSignaturesAddressProposed[​](#submitsignaturesaddressproposed "Direct link to SubmitSignaturesAddressProposed")

Event emitted when a submit signatures address is proposed.

```
event SubmitSignaturesAddressProposed(    address voter,    address submitSignaturesAddress)
```

### SubmitSignaturesAddressRegistrationConfirmed[​](#submitsignaturesaddressregistrationconfirmed "Direct link to SubmitSignaturesAddressRegistrationConfirmed")

Event emitted when a submit signatures address registration is confirmed.

```
event SubmitSignaturesAddressRegistrationConfirmed(    address voter,    address submitSignaturesAddress)
```

## Structures[​](#structures "Direct link to Structures")

### VoterAddresses[​](#voteraddresses "Direct link to VoterAddresses")

Voter addresses.

```
struct VoterAddresses {  address submitAddress;  address submitSignaturesAddress;  address signingPolicyAddress;}
```
