29 lines
726 B
Solidity
Raw Normal View History

2023-08-03 18:27:46 +05:30
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.15;
function noDuplicate(uint256[] calldata ids) pure returns (bool) {
uint256 len = ids.length;
for (uint256 i = 0; i < len; i++) {
for (uint256 j = i + 1; j < len; j++) {
if (ids[i] == ids[j]) {
return false;
}
}
}
return true;
}
2023-08-22 10:44:43 +05:30
function noInvalidCommitment(uint256[] calldata ids, uint256 p) pure returns (bool) {
uint256 len = ids.length;
for (uint256 i = 0; i < len; i++) {
if (!isValidCommitment(ids[i], p)) {
return false;
}
}
return true;
}
function isValidCommitment(uint256 id, uint256 p) pure returns (bool) {
return id < p && id != 0;
}