mirror of
https://github.com/logos-messaging/waku-rlnv1-contract.git
synced 2026-01-07 08:43:06 +00:00
4.1 KiB
4.1 KiB
Solidity API
NotImplemented
error NotImplemented()
WakuRln
contractIndex
uint16 contractIndex
tree
struct LazyIMTData tree
constructor
constructor(address _poseidonHasher, uint16 _contractIndex) public
_register
function _register(uint256 idCommitment) internal
Registers a member
Parameters
| Name | Type | Description |
|---|---|---|
| idCommitment | uint256 | The idCommitment of the member |
register
function register(uint256[] idCommitments) external
register
function register(uint256 idCommitment) external payable
Allows a user to register as a member
Parameters
| Name | Type | Description |
|---|---|---|
| idCommitment | uint256 | The idCommitment of the member |
slash
function slash(uint256 idCommitment, address payable receiver, uint256[8] proof) external pure
Allows a user to slash a member
Parameters
| Name | Type | Description |
|---|---|---|
| idCommitment | uint256 | The idCommitment of the member |
| receiver | address payable | |
| proof | uint256[8] |
_validateRegistration
function _validateRegistration(uint256 idCommitment) internal view
Inheriting contracts MUST override this function
_validateSlash
function _validateSlash(uint256 idCommitment, address payable receiver, uint256[8] proof) internal pure
withdraw
function withdraw() external pure
Allows a user to withdraw funds allocated to them upon slashing a member
merkleRoot
function merkleRoot() public view returns (uint256)
numOfLeaves
function numOfLeaves() public view returns (uint40)
getElement
function getElement(uint256 elementIndex) public view returns (uint256)
StorageAlreadyExists
error StorageAlreadyExists(address storageAddress)
NoStorageContractAvailable
error NoStorageContractAvailable()
IncompatibleStorage
error IncompatibleStorage()
IncompatibleStorageIndex
error IncompatibleStorageIndex()
WakuRlnRegistry
nextStorageIndex
uint16 nextStorageIndex
storages
mapping(uint16 => address) storages
usingStorageIndex
uint16 usingStorageIndex
poseidonHasher
contract IPoseidonHasher poseidonHasher
NewStorageContract
event NewStorageContract(uint16 index, address storageAddress)
onlyUsableStorage
modifier onlyUsableStorage()
initialize
function initialize(address _poseidonHasher) external
_authorizeUpgrade
function _authorizeUpgrade(address newImplementation) internal
_Function that should revert when msg.sender is not authorized to upgrade the contract. Called by
{upgradeTo} and {upgradeToAndCall}.
Normally, this function will use an xref:access.adoc[access control] modifier such as {Ownable-onlyOwner}.
function _authorizeUpgrade(address) internal override onlyOwner {}
```_
### _insertIntoStorageMap
```solidity
function _insertIntoStorageMap(address storageAddress) internal
registerStorage
function registerStorage(address storageAddress) external
newStorage
function newStorage() external
register
function register(uint256[] commitments) external
register
function register(uint16 storageIndex, uint256[] commitments) external
register
function register(uint16 storageIndex, uint256 commitment) external
forceProgress
function forceProgress() external