2023-03-30 06:51:48 +00:00
|
|
|
# Solidity API
|
|
|
|
|
|
|
|
## IPoseidonHasher
|
|
|
|
|
|
|
|
### hash
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
function hash(uint256 input) external pure returns (uint256 result)
|
|
|
|
```
|
|
|
|
|
|
|
|
Hashes the input using the Poseidon hash function, n = 2, second input is the constant 0
|
|
|
|
|
|
|
|
#### Parameters
|
|
|
|
|
|
|
|
| Name | Type | Description |
|
|
|
|
| ----- | ------- | ----------------- |
|
|
|
|
| input | uint256 | The input to hash |
|
|
|
|
|
|
|
|
## PoseidonHasher
|
|
|
|
|
|
|
|
### Q
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 Q
|
|
|
|
```
|
|
|
|
|
|
|
|
### C0
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C0
|
|
|
|
```
|
|
|
|
|
|
|
|
### C1
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C1
|
|
|
|
```
|
|
|
|
|
|
|
|
### C2
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C2
|
|
|
|
```
|
|
|
|
|
|
|
|
### C3
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C3
|
|
|
|
```
|
|
|
|
|
|
|
|
### C4
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C4
|
|
|
|
```
|
|
|
|
|
|
|
|
### C5
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C5
|
|
|
|
```
|
|
|
|
|
|
|
|
### C6
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C6
|
|
|
|
```
|
|
|
|
|
|
|
|
### C7
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C7
|
|
|
|
```
|
|
|
|
|
|
|
|
### C8
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C8
|
|
|
|
```
|
|
|
|
|
|
|
|
### C9
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C9
|
|
|
|
```
|
|
|
|
|
|
|
|
### C10
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C10
|
|
|
|
```
|
|
|
|
|
|
|
|
### C11
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C11
|
|
|
|
```
|
|
|
|
|
|
|
|
### C12
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C12
|
|
|
|
```
|
|
|
|
|
|
|
|
### C13
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C13
|
|
|
|
```
|
|
|
|
|
|
|
|
### C14
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C14
|
|
|
|
```
|
|
|
|
|
|
|
|
### C15
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C15
|
|
|
|
```
|
|
|
|
|
|
|
|
### C16
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C16
|
|
|
|
```
|
|
|
|
|
|
|
|
### C17
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C17
|
|
|
|
```
|
|
|
|
|
|
|
|
### C18
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C18
|
|
|
|
```
|
|
|
|
|
|
|
|
### C19
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C19
|
|
|
|
```
|
|
|
|
|
|
|
|
### C20
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C20
|
|
|
|
```
|
|
|
|
|
|
|
|
### C21
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C21
|
|
|
|
```
|
|
|
|
|
|
|
|
### C22
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C22
|
|
|
|
```
|
|
|
|
|
|
|
|
### C23
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C23
|
|
|
|
```
|
|
|
|
|
|
|
|
### C24
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C24
|
|
|
|
```
|
|
|
|
|
|
|
|
### C25
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C25
|
|
|
|
```
|
|
|
|
|
|
|
|
### C26
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C26
|
|
|
|
```
|
|
|
|
|
|
|
|
### C27
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C27
|
|
|
|
```
|
|
|
|
|
|
|
|
### C28
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C28
|
|
|
|
```
|
|
|
|
|
|
|
|
### C29
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C29
|
|
|
|
```
|
|
|
|
|
|
|
|
### C30
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C30
|
|
|
|
```
|
|
|
|
|
|
|
|
### C31
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C31
|
|
|
|
```
|
|
|
|
|
|
|
|
### C32
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C32
|
|
|
|
```
|
|
|
|
|
|
|
|
### C33
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C33
|
|
|
|
```
|
|
|
|
|
|
|
|
### C34
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C34
|
|
|
|
```
|
|
|
|
|
|
|
|
### C35
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C35
|
|
|
|
```
|
|
|
|
|
|
|
|
### C36
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C36
|
|
|
|
```
|
|
|
|
|
|
|
|
### C37
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C37
|
|
|
|
```
|
|
|
|
|
|
|
|
### C38
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C38
|
|
|
|
```
|
|
|
|
|
|
|
|
### C39
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C39
|
|
|
|
```
|
|
|
|
|
|
|
|
### C40
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C40
|
|
|
|
```
|
|
|
|
|
|
|
|
### C41
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C41
|
|
|
|
```
|
|
|
|
|
|
|
|
### C42
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C42
|
|
|
|
```
|
|
|
|
|
|
|
|
### C43
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C43
|
|
|
|
```
|
|
|
|
|
|
|
|
### C44
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C44
|
|
|
|
```
|
|
|
|
|
|
|
|
### C45
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C45
|
|
|
|
```
|
|
|
|
|
|
|
|
### C46
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C46
|
|
|
|
```
|
|
|
|
|
|
|
|
### C47
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C47
|
|
|
|
```
|
|
|
|
|
|
|
|
### C48
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C48
|
|
|
|
```
|
|
|
|
|
|
|
|
### C49
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C49
|
|
|
|
```
|
|
|
|
|
|
|
|
### C50
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C50
|
|
|
|
```
|
|
|
|
|
|
|
|
### C51
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C51
|
|
|
|
```
|
|
|
|
|
|
|
|
### C52
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C52
|
|
|
|
```
|
|
|
|
|
|
|
|
### C53
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C53
|
|
|
|
```
|
|
|
|
|
|
|
|
### C54
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C54
|
|
|
|
```
|
|
|
|
|
|
|
|
### C55
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C55
|
|
|
|
```
|
|
|
|
|
|
|
|
### C56
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C56
|
|
|
|
```
|
|
|
|
|
|
|
|
### C57
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C57
|
|
|
|
```
|
|
|
|
|
|
|
|
### C58
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C58
|
|
|
|
```
|
|
|
|
|
|
|
|
### C59
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C59
|
|
|
|
```
|
|
|
|
|
|
|
|
### C60
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C60
|
|
|
|
```
|
|
|
|
|
|
|
|
### C61
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C61
|
|
|
|
```
|
|
|
|
|
|
|
|
### C62
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C62
|
|
|
|
```
|
|
|
|
|
|
|
|
### C63
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C63
|
|
|
|
```
|
|
|
|
|
|
|
|
### C64
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C64
|
|
|
|
```
|
|
|
|
|
|
|
|
### C65
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C65
|
|
|
|
```
|
|
|
|
|
|
|
|
### C66
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C66
|
|
|
|
```
|
|
|
|
|
|
|
|
### C67
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C67
|
|
|
|
```
|
|
|
|
|
|
|
|
### C68
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C68
|
|
|
|
```
|
|
|
|
|
|
|
|
### C69
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C69
|
|
|
|
```
|
|
|
|
|
|
|
|
### C70
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C70
|
|
|
|
```
|
|
|
|
|
|
|
|
### C71
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C71
|
|
|
|
```
|
|
|
|
|
|
|
|
### C72
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C72
|
|
|
|
```
|
|
|
|
|
|
|
|
### C73
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C73
|
|
|
|
```
|
|
|
|
|
|
|
|
### C74
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C74
|
|
|
|
```
|
|
|
|
|
|
|
|
### C75
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C75
|
|
|
|
```
|
|
|
|
|
|
|
|
### C76
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C76
|
|
|
|
```
|
|
|
|
|
|
|
|
### C77
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C77
|
|
|
|
```
|
|
|
|
|
|
|
|
### C78
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C78
|
|
|
|
```
|
|
|
|
|
|
|
|
### C79
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C79
|
|
|
|
```
|
|
|
|
|
|
|
|
### C80
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C80
|
|
|
|
```
|
|
|
|
|
|
|
|
### C81
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C81
|
|
|
|
```
|
|
|
|
|
|
|
|
### C82
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C82
|
|
|
|
```
|
|
|
|
|
|
|
|
### C83
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C83
|
|
|
|
```
|
|
|
|
|
|
|
|
### C84
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C84
|
|
|
|
```
|
|
|
|
|
|
|
|
### C85
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C85
|
|
|
|
```
|
|
|
|
|
|
|
|
### C86
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C86
|
|
|
|
```
|
|
|
|
|
|
|
|
### C87
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C87
|
|
|
|
```
|
|
|
|
|
|
|
|
### C88
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C88
|
|
|
|
```
|
|
|
|
|
|
|
|
### C89
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C89
|
|
|
|
```
|
|
|
|
|
|
|
|
### C90
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C90
|
|
|
|
```
|
|
|
|
|
|
|
|
### C91
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C91
|
|
|
|
```
|
|
|
|
|
|
|
|
### C92
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C92
|
|
|
|
```
|
|
|
|
|
|
|
|
### C93
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C93
|
|
|
|
```
|
|
|
|
|
|
|
|
### C94
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C94
|
|
|
|
```
|
|
|
|
|
|
|
|
### C95
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C95
|
|
|
|
```
|
|
|
|
|
|
|
|
### C96
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C96
|
|
|
|
```
|
|
|
|
|
|
|
|
### C97
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C97
|
|
|
|
```
|
|
|
|
|
|
|
|
### C98
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C98
|
|
|
|
```
|
|
|
|
|
|
|
|
### C99
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C99
|
|
|
|
```
|
|
|
|
|
|
|
|
### C100
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C100
|
|
|
|
```
|
|
|
|
|
|
|
|
### C101
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C101
|
|
|
|
```
|
|
|
|
|
|
|
|
### C102
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C102
|
|
|
|
```
|
|
|
|
|
|
|
|
### C103
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C103
|
|
|
|
```
|
|
|
|
|
|
|
|
### C104
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C104
|
|
|
|
```
|
|
|
|
|
|
|
|
### C105
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C105
|
|
|
|
```
|
|
|
|
|
|
|
|
### C106
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C106
|
|
|
|
```
|
|
|
|
|
|
|
|
### C107
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C107
|
|
|
|
```
|
|
|
|
|
|
|
|
### C108
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C108
|
|
|
|
```
|
|
|
|
|
|
|
|
### C109
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C109
|
|
|
|
```
|
|
|
|
|
|
|
|
### C110
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C110
|
|
|
|
```
|
|
|
|
|
|
|
|
### C111
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C111
|
|
|
|
```
|
|
|
|
|
|
|
|
### C112
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C112
|
|
|
|
```
|
|
|
|
|
|
|
|
### C113
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C113
|
|
|
|
```
|
|
|
|
|
|
|
|
### C114
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C114
|
|
|
|
```
|
|
|
|
|
|
|
|
### C115
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C115
|
|
|
|
```
|
|
|
|
|
|
|
|
### C116
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C116
|
|
|
|
```
|
|
|
|
|
|
|
|
### C117
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C117
|
|
|
|
```
|
|
|
|
|
|
|
|
### C118
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C118
|
|
|
|
```
|
|
|
|
|
|
|
|
### C119
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C119
|
|
|
|
```
|
|
|
|
|
|
|
|
### C120
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C120
|
|
|
|
```
|
|
|
|
|
|
|
|
### C121
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C121
|
|
|
|
```
|
|
|
|
|
|
|
|
### C122
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C122
|
|
|
|
```
|
|
|
|
|
|
|
|
### C123
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C123
|
|
|
|
```
|
|
|
|
|
|
|
|
### C124
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C124
|
|
|
|
```
|
|
|
|
|
|
|
|
### C125
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C125
|
|
|
|
```
|
|
|
|
|
|
|
|
### C126
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C126
|
|
|
|
```
|
|
|
|
|
|
|
|
### C127
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 C127
|
|
|
|
```
|
|
|
|
|
|
|
|
### M00
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 M00
|
|
|
|
```
|
|
|
|
|
|
|
|
### M01
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 M01
|
|
|
|
```
|
|
|
|
|
|
|
|
### M10
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 M10
|
|
|
|
```
|
|
|
|
|
|
|
|
### M11
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 M11
|
|
|
|
```
|
|
|
|
|
|
|
|
### hash
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
function hash(uint256 input) external pure returns (uint256 result)
|
|
|
|
```
|
|
|
|
|
|
|
|
Hashes the input using the Poseidon hash function, n = 2, second input is the constant 0
|
|
|
|
|
|
|
|
#### Parameters
|
|
|
|
|
|
|
|
| Name | Type | Description |
|
|
|
|
| ----- | ------- | ----------------- |
|
|
|
|
| input | uint256 | The input to hash |
|
|
|
|
|
|
|
|
### \_hash
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
function _hash(uint256 input) internal pure returns (uint256 result)
|
|
|
|
```
|
|
|
|
|
2023-05-23 06:54:58 +00:00
|
|
|
## FullTree
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
error FullTree()
|
|
|
|
```
|
|
|
|
|
|
|
|
The tree is full
|
|
|
|
|
2023-03-30 12:00:54 +00:00
|
|
|
## DuplicateIdCommitment
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
error DuplicateIdCommitment()
|
|
|
|
```
|
|
|
|
|
|
|
|
Member is already registered
|
|
|
|
|
2023-03-30 06:51:48 +00:00
|
|
|
## RLN
|
|
|
|
|
|
|
|
### DEPTH
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 DEPTH
|
|
|
|
```
|
|
|
|
|
|
|
|
The depth of the merkle tree
|
|
|
|
|
|
|
|
### SET_SIZE
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 SET_SIZE
|
|
|
|
```
|
|
|
|
|
|
|
|
The size of the merkle tree, i.e 2^depth
|
|
|
|
|
|
|
|
### idCommitmentIndex
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
uint256 idCommitmentIndex
|
|
|
|
```
|
|
|
|
|
|
|
|
The index of the next member to be registered
|
|
|
|
|
|
|
|
### members
|
|
|
|
|
|
|
|
```solidity
|
2023-07-03 12:45:21 +00:00
|
|
|
mapping(uint256 => bool) members
|
2023-03-30 06:51:48 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
The membership status of each member
|
2023-05-23 06:54:58 +00:00
|
|
|
maps from idCommitment to their index in the set
|
2023-03-30 06:51:48 +00:00
|
|
|
|
|
|
|
### poseidonHasher
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
contract IPoseidonHasher poseidonHasher
|
|
|
|
```
|
|
|
|
|
|
|
|
The Poseidon hasher contract
|
|
|
|
|
|
|
|
### MemberRegistered
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
event MemberRegistered(uint256 idCommitment, uint256 index)
|
|
|
|
```
|
|
|
|
|
|
|
|
Emitted when a new member is added to the set
|
|
|
|
|
|
|
|
#### Parameters
|
|
|
|
|
|
|
|
| Name | Type | Description |
|
|
|
|
| ------------ | ------- | ---------------------------------- |
|
|
|
|
| idCommitment | uint256 | The idCommitment of the member |
|
|
|
|
| index | uint256 | The index of the member in the set |
|
|
|
|
|
|
|
|
### constructor
|
|
|
|
|
|
|
|
```solidity
|
2023-07-03 12:45:21 +00:00
|
|
|
constructor(uint256[] constructMembers, address _poseidonHasher) public
|
2023-03-30 06:51:48 +00:00
|
|
|
```
|
|
|
|
|
2023-07-03 12:45:21 +00:00
|
|
|
### \_register
|
2023-03-30 06:51:48 +00:00
|
|
|
|
|
|
|
```solidity
|
2023-07-03 12:45:21 +00:00
|
|
|
function _register(uint256 idCommitment) internal
|
2023-03-30 06:51:48 +00:00
|
|
|
```
|
|
|
|
|
2023-07-03 12:45:21 +00:00
|
|
|
Registers a member
|
2023-03-30 06:51:48 +00:00
|
|
|
|
|
|
|
#### Parameters
|
|
|
|
|
|
|
|
| Name | Type | Description |
|
|
|
|
| ------------ | ------- | ------------------------------ |
|
|
|
|
| idCommitment | uint256 | The idCommitment of the member |
|
|
|
|
|
|
|
|
### hash
|
|
|
|
|
|
|
|
```solidity
|
|
|
|
function hash(uint256 input) internal view returns (uint256)
|
|
|
|
```
|
|
|
|
|
|
|
|
Hashes a value using the Poseidon hasher
|
|
|
|
NOTE: The variant of Poseidon we use accepts only 1 input, assume n=2, and the second input is 0
|
|
|
|
|
|
|
|
#### Parameters
|
|
|
|
|
|
|
|
| Name | Type | Description |
|
|
|
|
| ----- | ------- | ----------------- |
|
|
|
|
| input | uint256 | The value to hash |
|