@@ -6,6 +6,7 @@ import "@openzeppelin/contracts/math/SafeMath.sol";
6
6
import "../governance/Managed.sol " ;
7
7
import "../bancor/BancorFormula.sol " ;
8
8
9
+ import "./IGNS.sol " ;
9
10
import "./erc1056/IEthereumDIDRegistry.sol " ;
10
11
11
12
/**
@@ -15,21 +16,11 @@ import "./erc1056/IEthereumDIDRegistry.sol";
15
16
* Each version is associated with a Subgraph Deployment. The contract no knowledge of human
16
17
* readable names. All human readable names emitted in events.
17
18
*/
18
- contract GNS is Managed {
19
+ contract GNS is Managed , IGNS {
19
20
using SafeMath for uint256 ;
20
21
21
22
// -- State --
22
23
23
- struct NameCurationPool {
24
- uint256 vSignal; // The token of the subgraph deployment bonding curve
25
- uint256 nSignal; // The token of the name curation bonding curve
26
- mapping (address => uint256 ) curatorNSignal;
27
- bytes32 subgraphDeploymentID;
28
- uint32 reserveRatio;
29
- bool disabled;
30
- uint256 withdrawableGRT;
31
- }
32
-
33
24
// Equates to Connector weight on bancor formula to be CW = 1
34
25
uint32 private constant defaultReserveRatio = 1000000 ;
35
26
@@ -191,7 +182,7 @@ contract GNS is Managed {
191
182
/**
192
183
* @dev Approve curation contract to pull funds.
193
184
*/
194
- function approveAll () external onlyGovernor {
185
+ function approveAll () external override onlyGovernor {
195
186
graphToken ().approve (address (curation ()), uint256 (- 1 ));
196
187
}
197
188
@@ -200,7 +191,7 @@ contract GNS is Managed {
200
191
* @notice Update the minimum vSignal amount to `_minimumVSignalStake`
201
192
* @param _minimumVSignalStake Minimum amount of vSignal required
202
193
*/
203
- function setMinimumVsignal (uint256 _minimumVSignalStake ) external onlyGovernor {
194
+ function setMinimumVsignal (uint256 _minimumVSignalStake ) external override onlyGovernor {
204
195
require (_minimumVSignalStake > 0 , "Minimum vSignal cannot be 0 " );
205
196
minimumVSignalStake = _minimumVSignalStake;
206
197
emit ParameterUpdated ("minimumVSignalStake " );
@@ -211,7 +202,7 @@ contract GNS is Managed {
211
202
* the name curators tokens while upgrading or deprecating and is configurable in parts per hundred.
212
203
* @param _ownerFeePercentage Owner fee percentage
213
204
*/
214
- function setOwnerFeePercentage (uint32 _ownerFeePercentage ) external onlyGovernor {
205
+ function setOwnerFeePercentage (uint32 _ownerFeePercentage ) external override onlyGovernor {
215
206
require (_ownerFeePercentage <= 100 , "Owner fee must be 100 or less " );
216
207
ownerFeePercentage = _ownerFeePercentage;
217
208
emit ParameterUpdated ("ownerFeePercentage " );
@@ -229,7 +220,7 @@ contract GNS is Managed {
229
220
uint8 _nameSystem ,
230
221
bytes32 _nameIdentifier ,
231
222
string calldata _name
232
- ) external onlyGraphAccountOwner (_graphAccount) {
223
+ ) external override onlyGraphAccountOwner (_graphAccount) {
233
224
emit SetDefaultName (_graphAccount, _nameSystem, _nameIdentifier, _name);
234
225
}
235
226
@@ -243,7 +234,7 @@ contract GNS is Managed {
243
234
address _graphAccount ,
244
235
uint256 _subgraphNumber ,
245
236
bytes32 _subgraphMetadata
246
- ) public onlyGraphAccountOwner (_graphAccount) {
237
+ ) public override onlyGraphAccountOwner (_graphAccount) {
247
238
emit SubgraphMetadataUpdated (_graphAccount, _subgraphNumber, _subgraphMetadata);
248
239
}
249
240
@@ -260,7 +251,7 @@ contract GNS is Managed {
260
251
bytes32 _subgraphDeploymentID ,
261
252
bytes32 _versionMetadata ,
262
253
bytes32 _subgraphMetadata
263
- ) external onlyGraphAccountOwner (_graphAccount) {
254
+ ) external override onlyGraphAccountOwner (_graphAccount) {
264
255
uint256 subgraphNumber = graphAccountSubgraphNumbers[_graphAccount];
265
256
_publishVersion (_graphAccount, subgraphNumber, _subgraphDeploymentID, _versionMetadata);
266
257
graphAccountSubgraphNumbers[_graphAccount]++ ;
@@ -282,7 +273,7 @@ contract GNS is Managed {
282
273
uint256 _subgraphNumber ,
283
274
bytes32 _subgraphDeploymentID ,
284
275
bytes32 _versionMetadata
285
- ) external onlyGraphAccountOwner (_graphAccount) {
276
+ ) external override onlyGraphAccountOwner (_graphAccount) {
286
277
require (
287
278
isPublished (_graphAccount, _subgraphNumber),
288
279
"GNS: Cannot update version if not published, or has been deprecated "
@@ -329,6 +320,7 @@ contract GNS is Managed {
329
320
*/
330
321
function deprecateSubgraph (address _graphAccount , uint256 _subgraphNumber )
331
322
external
323
+ override
332
324
onlyGraphAccountOwner (_graphAccount)
333
325
{
334
326
require (
@@ -417,7 +409,7 @@ contract GNS is Managed {
417
409
address _graphAccount ,
418
410
uint256 _subgraphNumber ,
419
411
uint256 _tokens
420
- ) external {
412
+ ) external override {
421
413
NameCurationPool storage namePool = nameSignals[_graphAccount][_subgraphNumber];
422
414
require (namePool.disabled == false , "GNS: Cannot be disabled " );
423
415
require (
@@ -437,7 +429,7 @@ contract GNS is Managed {
437
429
address _graphAccount ,
438
430
uint256 _subgraphNumber ,
439
431
uint256 _nSignal
440
- ) external {
432
+ ) external override {
441
433
address nameCurator = msg .sender ;
442
434
NameCurationPool storage namePool = nameSignals[_graphAccount][_subgraphNumber];
443
435
uint256 curatorNSignal = namePool.curatorNSignal[nameCurator];
@@ -479,7 +471,7 @@ contract GNS is Managed {
479
471
* @param _graphAccount Subgraph owner
480
472
* @param _subgraphNumber Subgraph owners subgraph number which was curated on by nameCurators
481
473
*/
482
- function withdraw (address _graphAccount , uint256 _subgraphNumber ) external {
474
+ function withdraw (address _graphAccount , uint256 _subgraphNumber ) external override {
483
475
NameCurationPool storage namePool = nameSignals[_graphAccount][_subgraphNumber];
484
476
require (namePool.disabled == true , "GNS: Name bonding curve must be disabled first " );
485
477
require (namePool.withdrawableGRT > 0 , "GNS: No more GRT to withdraw " );
@@ -606,7 +598,7 @@ contract GNS is Managed {
606
598
address _graphAccount ,
607
599
uint256 _subgraphNumber ,
608
600
uint256 _tokens
609
- ) public view returns (uint256 , uint256 ) {
601
+ ) public override view returns (uint256 , uint256 ) {
610
602
NameCurationPool memory namePool = nameSignals[_graphAccount][_subgraphNumber];
611
603
uint256 vSignal = curation ().tokensToSignal (namePool.subgraphDeploymentID, _tokens);
612
604
uint256 nSignal = vSignalToNSignal (_graphAccount, _subgraphNumber, vSignal);
@@ -626,6 +618,7 @@ contract GNS is Managed {
626
618
uint256 _nSignal
627
619
)
628
620
public
621
+ override
629
622
view
630
623
returns (
631
624
uint256 ,
@@ -653,7 +646,7 @@ contract GNS is Managed {
653
646
address _graphAccount ,
654
647
uint256 _subgraphNumber ,
655
648
uint256 _vSignal
656
- ) public view returns (uint256 ) {
649
+ ) public override view returns (uint256 ) {
657
650
NameCurationPool memory namePool = nameSignals[_graphAccount][_subgraphNumber];
658
651
uint256 vSignal = _vSignal;
659
652
@@ -690,7 +683,7 @@ contract GNS is Managed {
690
683
address _graphAccount ,
691
684
uint256 _subgraphNumber ,
692
685
uint256 _nSignal
693
- ) public view returns (uint256 ) {
686
+ ) public override view returns (uint256 ) {
694
687
NameCurationPool memory namePool = nameSignals[_graphAccount][_subgraphNumber];
695
688
return
696
689
BancorFormula (bondingCurve).calculateSaleReturn (
@@ -712,7 +705,7 @@ contract GNS is Managed {
712
705
address _graphAccount ,
713
706
uint256 _subgraphNumber ,
714
707
address _curator
715
- ) public view returns (uint256 ) {
708
+ ) public override view returns (uint256 ) {
716
709
return nameSignals[_graphAccount][_subgraphNumber].curatorNSignal[_curator];
717
710
}
718
711
@@ -724,6 +717,7 @@ contract GNS is Managed {
724
717
*/
725
718
function isPublished (address _graphAccount , uint256 _subgraphNumber )
726
719
public
720
+ override
727
721
view
728
722
returns (bool )
729
723
{
0 commit comments