Skip to content

Commit ec4fdf6

Browse files
authored
chore(script): merge from release/v0.3.5 (#250)
2 parents d341561 + 6b385d8 commit ec4fdf6

File tree

3 files changed

+11
-5
lines changed

3 files changed

+11
-5
lines changed

script/20242406-migrate-auction-controller-treasury-and-deploy-rns-commission/20240624_MigrateAuctionAndControllerTreasuryAndDeployRNSCommission.s.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ contract Migration__20240624_MigrateAuctionAndControllerTreasuryAndDeployRNSComm
1616
address private _defaultAdmin;
1717

1818
function run() public {
19-
_controller = RONRegistrarController(loadContract(Contract.RONRegistrarController.key()));
2019
_auction = RNSAuction(loadContract(Contract.RNSAuction.key()));
20+
_controller = RONRegistrarController(_upgradeProxy(Contract.RONRegistrarController.key()));
2121

2222
_rnsCommission = new RNSCommissionDeploy().run();
2323
_defaultAdmin = 0x968D0Cd7343f711216817E617d3f92a23dC91c07;

src/RNSCommission.sol

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ contract RNSCommission is Initializable, AccessControlEnumerable, INSCommission
1212
/// @dev Role for accounts that can send RON for this contract.
1313
bytes32 public constant SENDER_ROLE = keccak256("SENDER_ROLE");
1414

15-
/// @dev Gap for upgradability.
15+
/// @dev Gap for upgradeability.
1616
uint256[50] private ____gap;
17-
/// @dev Array of `Commission` structs that store commissions infomation.
17+
/// @dev Array of `Commission` structs that store commissions information.
1818
Commission[] internal _commissionInfos;
1919

2020
constructor() {
@@ -55,6 +55,8 @@ contract RNSCommission is Initializable, AccessControlEnumerable, INSCommission
5555
onlyRole(DEFAULT_ADMIN_ROLE)
5656
{
5757
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();
5860

5961
_commissionInfos[commissionIdx].recipient = newRecipient;
6062
_commissionInfos[commissionIdx].name = newName;
@@ -98,6 +100,8 @@ contract RNSCommission is Initializable, AccessControlEnumerable, INSCommission
98100
uint256 sum;
99101

100102
for (uint256 i; i < length; ++i) {
103+
if (commissionInfos[i].recipient == address(0)) revert NullAddress();
104+
101105
sum += commissionInfos[i].ratio;
102106
_commissionInfos.push(commissionInfos[i]);
103107
}

src/interfaces/INSCommission.sol

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ interface INSCommission {
1414
event CommissionInfoUpdated(
1515
address indexed updatedBy, uint256 indexed commissionIdx, address payable newRecipient, string newName
1616
);
17-
/// @dev Emiited when transfer RON to commission's recipient.
17+
/// @dev Emitted when transfer RON to commission's recipient.
1818
event Distributed(address indexed recipient, uint256 commissionAmount);
1919

2020
/// @dev Revert when index is out of range
@@ -23,6 +23,8 @@ interface INSCommission {
2323
error InvalidRatio();
2424
/// @dev Revert when amount of RON is invalid
2525
error InvalidAmountOfRON();
26+
/// @dev Revert when recipient address is null
27+
error NullAddress();
2628

2729
/**
2830
* @dev Maximum commission percentage.
@@ -35,7 +37,7 @@ interface INSCommission {
3537
function SENDER_ROLE() external pure returns (bytes32);
3638

3739
/**
38-
* @dev Returns comissions information.
40+
* @dev Returns commissions information.
3941
*/
4042
function getCommissions() external view returns (Commission[] memory commissionInfos);
4143

0 commit comments

Comments
 (0)