@@ -16,6 +16,30 @@ contract DisputeManagerIndexingCreateDisputeTest is DisputeManagerTest {
16
16
_createIndexingDispute (allocationID, bytes32 ("POI1 " ));
17
17
}
18
18
19
+ function test_Indexing_Create_Dispute_WithDelegation (uint256 tokens , uint256 delegationTokens ) public useIndexer {
20
+ vm.assume (tokens >= minimumProvisionTokens);
21
+ vm.assume (tokens < 100_000_000 ether); // set a low cap to test overdelegation
22
+ _createProvision (users.indexer, tokens, fishermanRewardPercentage, disputePeriod);
23
+ _register (users.indexer, abi.encode ("url " , "geoHash " , address (0 )));
24
+ bytes memory data = _createSubgraphAllocationData (
25
+ users.indexer,
26
+ subgraphDeployment,
27
+ allocationIDPrivateKey,
28
+ tokens
29
+ );
30
+ _startService (users.indexer, data);
31
+
32
+ uint256 delegationRatio = subgraphService.getDelegationRatio ();
33
+ delegationTokens = bound (delegationTokens, 1e18 , tokens * delegationRatio * 2 ); // make sure we have overdelegation
34
+
35
+ resetPrank (users.delegator);
36
+ token.approve (address (staking), delegationTokens);
37
+ staking.delegate (users.indexer, address (subgraphService), delegationTokens, 0 );
38
+
39
+ resetPrank (users.fisherman);
40
+ _createIndexingDispute (allocationID, bytes32 ("POI1 " ));
41
+ }
42
+
19
43
function test_Indexing_Create_Dispute_RevertWhen_SubgraphServiceNotSet (
20
44
uint256 tokens
21
45
) public useIndexer useAllocation (tokens) {
0 commit comments