chore: expose registerAtIndex in WakuRlnRegistry

This commit is contained in:
Richard Ramos 2024-04-22 14:34:08 -04:00
parent f0ab2309e3
commit 3d668ddbea
No known key found for this signature in database
GPG Key ID: 1CE87DB518195760

View File

@ -20,6 +20,8 @@ contract WakuRlnRegistry is OwnableUpgradeable, UUPSUpgradeable {
IPoseidonHasher public poseidonHasher;
uint40 public membershipTTL;
event NewStorageContract(uint16 index, address storageAddress);
modifier onlyUsableStorage() {
@ -27,8 +29,9 @@ contract WakuRlnRegistry is OwnableUpgradeable, UUPSUpgradeable {
_;
}
function initialize(address _poseidonHasher) external initializer {
function initialize(address _poseidonHasher, uint40 _membershipTTL) external initializer {
poseidonHasher = IPoseidonHasher(_poseidonHasher);
membershipTTL = _membershipTTL;
__Ownable_init();
}
@ -49,7 +52,7 @@ contract WakuRlnRegistry is OwnableUpgradeable, UUPSUpgradeable {
}
function newStorage() external onlyOwner {
WakuRln newStorageContract = new WakuRln(address(poseidonHasher), nextStorageIndex);
WakuRln newStorageContract = new WakuRln(address(poseidonHasher), nextStorageIndex, membershipTTL);
_insertIntoStorageMap(address(newStorageContract));
}
@ -85,6 +88,11 @@ contract WakuRlnRegistry is OwnableUpgradeable, UUPSUpgradeable {
WakuRln(storages[storageIndex]).register(commitments);
}
function registerAtIndex(uint16 storageIndex, uint256 commitment, uint256 index) external {
if (storageIndex >= nextStorageIndex) revert NoStorageContractAvailable();
WakuRln(storages[storageIndex]).registerAtIndex(commitment, index);
}
function forceProgress() external onlyOwner onlyUsableStorage {
if (storages[usingStorageIndex + 1] == address(0)) revert NoStorageContractAvailable();
usingStorageIndex += 1;