alrevuelta d136499243
poc
2023-11-27 18:35:47 +01:00

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