@@ -12,9 +12,9 @@ contract RNSCommission is Initializable, AccessControlEnumerable, INSCommission
12
12
/// @dev Role for accounts that can send RON for this contract.
13
13
bytes32 public constant SENDER_ROLE = keccak256 ("SENDER_ROLE " );
14
14
15
- /// @dev Gap for upgradability .
15
+ /// @dev Gap for upgradeability .
16
16
uint256 [50 ] private ____gap;
17
- /// @dev Array of `Commission` structs that store commissions infomation .
17
+ /// @dev Array of `Commission` structs that store commissions information .
18
18
Commission[] internal _commissionInfos;
19
19
20
20
constructor () {
@@ -55,6 +55,8 @@ contract RNSCommission is Initializable, AccessControlEnumerable, INSCommission
55
55
onlyRole (DEFAULT_ADMIN_ROLE)
56
56
{
57
57
if (commissionIdx >= _commissionInfos.length ) revert InvalidArrayLength ();
58
+ // TODO: should fix to not duplicate logic in set commision info
59
+ if (newRecipient == address (0 )) revert NullAddress ();
58
60
59
61
_commissionInfos[commissionIdx].recipient = newRecipient;
60
62
_commissionInfos[commissionIdx].name = newName;
@@ -98,6 +100,8 @@ contract RNSCommission is Initializable, AccessControlEnumerable, INSCommission
98
100
uint256 sum;
99
101
100
102
for (uint256 i; i < length; ++ i) {
103
+ if (commissionInfos[i].recipient == address (0 )) revert NullAddress ();
104
+
101
105
sum += commissionInfos[i].ratio;
102
106
_commissionInfos.push (commissionInfos[i]);
103
107
}
0 commit comments