Skip to content

Commit 3631a24

Browse files
Merge pull request #25 from soramitsu/feature/code_refactor
Feature/code refactor
2 parents 55d6919 + 193e504 commit 3631a24

26 files changed

+196
-1022
lines changed

contracts/factories/ERC20LockUpFactory.sol

Lines changed: 31 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,18 @@ contract ERC20LockUpStakingFactory is Ownable, ILockUpFactory {
1717
using SafeERC20 for IERC20;
1818

1919
address[] public stakingPools;
20-
Request[] public requests;
20+
LockUpRequest[] public requests;
2121
mapping(uint256 id => address pool) public poolById;
2222

2323
constructor() Ownable(msg.sender) {}
2424

2525
/// @notice Function allows users to deploy the LockUp staking pool with specified parameters
2626
function deploy(uint256 id) public returns (address newPoolAddress) {
2727
if (requests.length < id) revert InvalidId();
28-
Request memory req = requests[id];
29-
if (req.requestStatus != Status.APPROVED) revert InvalidRequestStatus();
30-
if (msg.sender != req.deployer) revert InvalidCaller();
28+
LockUpRequest memory req = requests[id];
29+
if (req.info.requestStatus != Status.APPROVED)
30+
revert InvalidRequestStatus();
31+
if (msg.sender != req.info.deployer) revert InvalidCaller();
3132
newPoolAddress = address(
3233
new ERC20LockUpPool{
3334
salt: keccak256(
@@ -50,7 +51,7 @@ contract ERC20LockUpStakingFactory is Ownable, ILockUpFactory {
5051
)
5152
);
5253
stakingPools.push(newPoolAddress);
53-
requests[id].requestStatus = Status.DEPLOYED;
54+
requests[id].info.requestStatus = Status.DEPLOYED;
5455
poolById[id] = newPoolAddress;
5556
uint256 rewardAmount = (req.data.poolEndTime - req.data.poolStartTime) *
5657
req.data.rewardPerSecond;
@@ -65,14 +66,20 @@ contract ERC20LockUpStakingFactory is Ownable, ILockUpFactory {
6566
emit StakingPoolDeployed(newPoolAddress, id);
6667
}
6768

68-
function requestDeployment(DeploymentData calldata data) external {
69+
function requestDeployment(
70+
bytes32 ipfsHash,
71+
DeploymentData calldata data
72+
) external {
6973
if (data.stakeToken == address(0) || data.rewardToken == address(0))
7074
revert InvalidTokenAddress();
7175
if (data.rewardPerSecond == 0) revert InvalidRewardRate();
7276
requests.push(
73-
Request({
74-
deployer: msg.sender,
75-
requestStatus: Status.CREATED,
77+
LockUpRequest({
78+
info: RequestInfo({
79+
ipfsHash: ipfsHash,
80+
deployer: msg.sender,
81+
requestStatus: Status.CREATED
82+
}),
7683
data: data
7784
})
7885
);
@@ -86,33 +93,33 @@ contract ERC20LockUpStakingFactory is Ownable, ILockUpFactory {
8693

8794
function approveRequest(uint256 id) external onlyOwner {
8895
if (requests.length < id) revert InvalidId();
89-
Request storage req = requests[id];
90-
if (req.requestStatus != Status.CREATED) revert InvalidRequestStatus();
91-
req.requestStatus = Status.APPROVED;
92-
emit RequestStatusChanged(id, req.requestStatus);
96+
LockUpRequest storage req = requests[id];
97+
if (req.info.requestStatus != Status.CREATED) revert InvalidRequestStatus();
98+
req.info.requestStatus = Status.APPROVED;
99+
emit RequestStatusChanged(id, req.info.requestStatus);
93100
}
94101

95102
function denyRequest(uint256 id) external onlyOwner {
96103
if (requests.length < id) revert InvalidId();
97-
Request storage req = requests[id];
98-
if (req.requestStatus != Status.CREATED) revert InvalidRequestStatus();
99-
req.requestStatus = Status.DENIED;
100-
emit RequestStatusChanged(id, req.requestStatus);
104+
LockUpRequest storage req = requests[id];
105+
if (req.info.requestStatus != Status.CREATED) revert InvalidRequestStatus();
106+
req.info.requestStatus = Status.DENIED;
107+
emit RequestStatusChanged(id, req.info.requestStatus);
101108
}
102109

103110
function cancelRequest(uint256 id) external {
104111
if (requests.length < id) revert InvalidId();
105-
Request storage req = requests[id];
106-
if (msg.sender != req.deployer) revert InvalidCaller();
112+
LockUpRequest storage req = requests[id];
113+
if (msg.sender != req.info.deployer) revert InvalidCaller();
107114
if (
108-
req.requestStatus != Status.CREATED &&
109-
req.requestStatus != Status.APPROVED
115+
req.info.requestStatus != Status.CREATED &&
116+
req.info.requestStatus != Status.APPROVED
110117
) revert InvalidRequestStatus();
111-
req.requestStatus = Status.CANCELED;
112-
emit RequestStatusChanged(id, req.requestStatus);
118+
req.info.requestStatus = Status.CANCELED;
119+
emit RequestStatusChanged(id, req.info.requestStatus);
113120
}
114121

115-
function getRequests() external view returns (Request[] memory reqs) {
122+
function getRequests() external view returns (LockUpRequest[] memory reqs) {
116123
reqs = requests;
117124
}
118125

contracts/factories/ERC20NoLockUpFactory.sol

Lines changed: 0 additions & 120 deletions
This file was deleted.

contracts/factories/ERC20PenaltyFeeFactory.sol

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,17 @@ contract ERC20PenaltyFeeStakingFactory is Ownable, IPenaltyFeeFactory {
1717
using SafeERC20 for IERC20;
1818

1919
address[] public stakingPools;
20-
Request[] public requests;
20+
PenaltyFeeRequest[] public requests;
2121
mapping(uint256 id => address pool) public poolById;
2222

2323
constructor() Ownable(msg.sender) {}
2424

2525
/// @notice Function allows users to deploy the penaltyFee staking pool with specified parameters
2626
function deploy(uint256 id) public returns (address newPoolAddress) {
2727
if (requests.length < id) revert InvalidId();
28-
Request memory req = requests[id];
29-
if (req.requestStatus != Status.APPROVED) revert InvalidRequestStatus();
30-
if (msg.sender != req.deployer) revert InvalidCaller();
28+
PenaltyFeeRequest memory req = requests[id];
29+
if (req.info.requestStatus != Status.APPROVED) revert InvalidRequestStatus();
30+
if (msg.sender != req.info.deployer) revert InvalidCaller();
3131
newPoolAddress = address(
3232
new ERC20PenaltyFeePool{
3333
salt: keccak256(
@@ -54,14 +54,17 @@ contract ERC20PenaltyFeeStakingFactory is Ownable, IPenaltyFeeFactory {
5454
emit StakingPoolDeployed(newPoolAddress, id);
5555
}
5656

57-
function requestDeployment(DeploymentData calldata data) external {
57+
function requestDeployment(bytes32 ipfsHash, DeploymentData calldata data) external {
5858
if (data.stakeToken == address(0) || data.rewardToken == address(0))
5959
revert InvalidTokenAddress();
6060
if (data.rewardPerSecond == 0) revert InvalidRewardRate();
6161
requests.push(
62-
Request({
63-
deployer: msg.sender,
64-
requestStatus: Status.CREATED,
62+
PenaltyFeeRequest({
63+
info: RequestInfo({
64+
ipfsHash: ipfsHash,
65+
deployer: msg.sender,
66+
requestStatus: Status.CREATED
67+
}),
6568
data: data
6669
})
6770
);
@@ -75,33 +78,33 @@ contract ERC20PenaltyFeeStakingFactory is Ownable, IPenaltyFeeFactory {
7578

7679
function approveRequest(uint256 id) external onlyOwner {
7780
if (requests.length < id) revert InvalidId();
78-
Request storage req = requests[id];
79-
if (req.requestStatus != Status.CREATED) revert InvalidRequestStatus();
80-
req.requestStatus = Status.APPROVED;
81-
emit RequestStatusChanged(id, req.requestStatus);
81+
PenaltyFeeRequest storage req = requests[id];
82+
if (req.info.requestStatus != Status.CREATED) revert InvalidRequestStatus();
83+
req.info.requestStatus = Status.APPROVED;
84+
emit RequestStatusChanged(id, req.info.requestStatus);
8285
}
8386

8487
function denyRequest(uint256 id) external onlyOwner {
8588
if (requests.length < id) revert InvalidId();
86-
Request storage req = requests[id];
87-
if (req.requestStatus != Status.CREATED) revert InvalidRequestStatus();
88-
req.requestStatus = Status.DENIED;
89-
emit RequestStatusChanged(id, req.requestStatus);
89+
PenaltyFeeRequest storage req = requests[id];
90+
if (req.info.requestStatus != Status.CREATED) revert InvalidRequestStatus();
91+
req.info.requestStatus = Status.DENIED;
92+
emit RequestStatusChanged(id, req.info.requestStatus);
9093
}
9194

9295
function cancelRequest(uint256 id) external {
9396
if (requests.length < id) revert InvalidId();
94-
Request storage req = requests[id];
95-
if (msg.sender != req.deployer) revert InvalidCaller();
97+
PenaltyFeeRequest storage req = requests[id];
98+
if (msg.sender != req.info.deployer) revert InvalidCaller();
9699
if (
97-
req.requestStatus != Status.CREATED ||
98-
req.requestStatus != Status.APPROVED
100+
req.info.requestStatus != Status.CREATED ||
101+
req.info.requestStatus != Status.APPROVED
99102
) revert InvalidRequestStatus();
100-
req.requestStatus = Status.CANCELED;
101-
emit RequestStatusChanged(id, req.requestStatus);
103+
req.info.requestStatus = Status.CANCELED;
104+
emit RequestStatusChanged(id, req.info.requestStatus);
102105
}
103106

104-
function getRequests() external view returns (Request[] memory reqs) {
107+
function getRequests() external view returns (PenaltyFeeRequest[] memory reqs) {
105108
reqs = requests;
106109
}
107110

0 commit comments

Comments
 (0)