@@ -5,6 +5,7 @@ import { IDataServiceFees } from "../interfaces/IDataServiceFees.sol";
5
5
6
6
import { ProvisionTracker } from "../libraries/ProvisionTracker.sol " ;
7
7
import { LinkedList } from "../../libraries/LinkedList.sol " ;
8
+ import { DataServiceFeesLib } from "../libraries/DataServiceFeesLib.sol " ;
8
9
9
10
import { DataService } from "../DataService.sol " ;
10
11
import { DataServiceFeesV1Storage } from "./DataServiceFeesStorage.sol " ;
@@ -41,23 +42,34 @@ abstract contract DataServiceFees is DataService, DataServiceFeesV1Storage, IDat
41
42
* @param _unlockTimestamp The timestamp when the tokens can be released
42
43
*/
43
44
function _lockStake (address _serviceProvider , uint256 _tokens , uint256 _unlockTimestamp ) internal {
44
- require (_tokens != 0 , DataServiceFeesZeroTokens ());
45
- feesProvisionTracker.lock (_graphStaking (), _serviceProvider, _tokens, _delegationRatio);
46
-
47
- LinkedList.List storage claimsList = claimsLists[_serviceProvider];
48
-
49
- // Save item and add to list
50
- bytes32 claimId = _buildStakeClaimId (_serviceProvider, claimsList.nonce);
51
- claims[claimId] = StakeClaim ({
52
- tokens: _tokens,
53
- createdAt: block .timestamp ,
54
- releasableAt: _unlockTimestamp,
55
- nextClaim: bytes32 (0 )
56
- });
57
- if (claimsList.count != 0 ) claims[claimsList.tail].nextClaim = claimId;
58
- claimsList.addTail (claimId);
59
-
60
- emit StakeClaimLocked (_serviceProvider, claimId, _tokens, _unlockTimestamp);
45
+ // require(_tokens != 0, DataServiceFeesZeroTokens());
46
+ // feesProvisionTracker.lock(_graphStaking(), _serviceProvider, _tokens, _delegationRatio);
47
+
48
+ // LinkedList.List storage claimsList = claimsLists[_serviceProvider];
49
+
50
+ // // Save item and add to list
51
+ // bytes32 claimId = _buildStakeClaimId(_serviceProvider, claimsList.nonce);
52
+ // claims[claimId] = StakeClaim({
53
+ // tokens: _tokens,
54
+ // createdAt: block.timestamp,
55
+ // releasableAt: _unlockTimestamp,
56
+ // nextClaim: bytes32(0)
57
+ // });
58
+ // if (claimsList.count != 0) claims[claimsList.tail].nextClaim = claimId;
59
+ // claimsList.addTail(claimId);
60
+
61
+ // emit StakeClaimLocked(_serviceProvider, claimId, _tokens, _unlockTimestamp);
62
+
63
+ DataServiceFeesLib.lockStake (
64
+ _delegationRatio,
65
+ feesProvisionTracker,
66
+ claims,
67
+ claimsLists,
68
+ _graphStaking (),
69
+ _serviceProvider,
70
+ _tokens,
71
+ _unlockTimestamp
72
+ );
61
73
}
62
74
63
75
/**
@@ -92,23 +104,25 @@ abstract contract DataServiceFees is DataService, DataServiceFeesV1Storage, IDat
92
104
* @return The updated accumulator data
93
105
*/
94
106
function _processStakeClaim (bytes32 _claimId , bytes memory _acc ) private returns (bool , bytes memory ) {
95
- StakeClaim memory claim = _getStakeClaim (_claimId);
107
+ // StakeClaim memory claim = _getStakeClaim(_claimId);
96
108
97
- // early exit
98
- if (claim.releasableAt > block .timestamp ) {
99
- return (true , LinkedList.NULL_BYTES);
100
- }
109
+ // // early exit
110
+ // if (claim.releasableAt > block.timestamp) {
111
+ // return (true, LinkedList.NULL_BYTES);
112
+ // }
101
113
102
- // decode
103
- (uint256 tokensClaimed , address serviceProvider ) = abi.decode (_acc, (uint256 , address ));
114
+ // // decode
115
+ // (uint256 tokensClaimed, address serviceProvider) = abi.decode(_acc, (uint256, address));
104
116
105
- // process
106
- feesProvisionTracker.release (serviceProvider, claim.tokens);
107
- emit StakeClaimReleased (serviceProvider, _claimId, claim.tokens, claim.releasableAt);
117
+ // // process
118
+ // feesProvisionTracker.release(serviceProvider, claim.tokens);
119
+ // emit StakeClaimReleased(serviceProvider, _claimId, claim.tokens, claim.releasableAt);
108
120
109
- // encode
110
- _acc = abi.encode (tokensClaimed + claim.tokens, serviceProvider);
111
- return (false , _acc);
121
+ // // encode
122
+ // _acc = abi.encode(tokensClaimed + claim.tokens, serviceProvider);
123
+ // return (false, _acc);
124
+
125
+ return DataServiceFeesLib.processStakeClaim (feesProvisionTracker, claims, _claimId, _acc);
112
126
}
113
127
114
128
/**
@@ -120,16 +134,16 @@ abstract contract DataServiceFees is DataService, DataServiceFeesV1Storage, IDat
120
134
delete claims[_claimId];
121
135
}
122
136
123
- /**
124
- * @notice Gets the details of a stake claim
125
- * @param _claimId The ID of the stake claim
126
- * @return The stake claim details
127
- */
128
- function _getStakeClaim (bytes32 _claimId ) private view returns (StakeClaim memory ) {
129
- StakeClaim memory claim = claims[_claimId];
130
- require (claim.createdAt != 0 , DataServiceFeesClaimNotFound (_claimId));
131
- return claim;
132
- }
137
+ // / **
138
+ // * @notice Gets the details of a stake claim
139
+ // * @param _claimId The ID of the stake claim
140
+ // * @return The stake claim details
141
+ // */
142
+ // function _getStakeClaim(bytes32 _claimId) private view returns (StakeClaim memory) {
143
+ // StakeClaim memory claim = claims[_claimId];
144
+ // require(claim.createdAt != 0, DataServiceFeesClaimNotFound(_claimId));
145
+ // return claim;
146
+ // }
133
147
134
148
/**
135
149
* @notice Gets the next stake claim in the linked list
@@ -141,13 +155,7 @@ abstract contract DataServiceFees is DataService, DataServiceFeesV1Storage, IDat
141
155
return claims[_claimId].nextClaim;
142
156
}
143
157
144
- /**
145
- * @notice Builds a stake claim ID
146
- * @param _serviceProvider The address of the service provider
147
- * @param _nonce A nonce of the stake claim
148
- * @return The stake claim ID
149
- */
150
- function _buildStakeClaimId (address _serviceProvider , uint256 _nonce ) private view returns (bytes32 ) {
151
- return keccak256 (abi.encodePacked (address (this ), _serviceProvider, _nonce));
152
- }
158
+ // function _buildStakeClaimId(address serviceProvider, uint256 nonce) private view returns (bytes32) {
159
+ // return keccak256(abi.encodePacked(address(this), serviceProvider, nonce));
160
+ // }
153
161
}
0 commit comments