1+ /*
2+ Copyright 2022 Set Labs Inc.
3+
4+ Licensed under the Apache License, Version 2.0 (the "License");
5+ you may not use this file except in compliance with the License.
6+ You may obtain a copy of the License at
7+
8+ http://www.apache.org/licenses/LICENSE-2.0
9+
10+ Unless required by applicable law or agreed to in writing, software
11+ distributed under the License is distributed on an "AS IS" BASIS,
12+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+ See the License for the specific language governing permissions and
14+ limitations under the License.
15+
16+ SPDX-License-Identifier: Apache License, Version 2.0
17+ */
18+
19+ pragma solidity 0.6.10 ;
20+ pragma experimental "ABIEncoderV2 " ;
21+
22+ import { ISetToken } from "./ISetToken.sol " ;
23+
24+ interface IClaimModule {
25+ function initialize (
26+ ISetToken _setToken ,
27+ bool _anyoneClaim ,
28+ address [] calldata _rewardPools ,
29+ string [] calldata _integrationNames
30+ ) external ;
31+
32+ function anyoneClaim (ISetToken _setToken ) external view returns (bool );
33+ function claim (ISetToken _setToken , address _rewardPool , string calldata _integrationName ) external ;
34+ function batchClaim (ISetToken _setToken , address [] calldata _rewardPools , string [] calldata _integrationNames ) external ;
35+ function updateAnyoneClaim (ISetToken _setToken , bool _anyoneClaim ) external ;
36+ function addClaim (ISetToken _setToken , address _rewardPool , string calldata _integrationName ) external ;
37+ function batchAddClaim (ISetToken _setToken , address [] calldata _rewardPools , string [] calldata _integrationNames ) external ;
38+ function removeClaim (ISetToken _setToken , address _rewardPool , string calldata _integrationName ) external ;
39+ function batchRemoveClaim (ISetToken _setToken , address [] calldata _rewardPools , string [] calldata _integrationNames ) external ;
40+ function removeModule () external ;
41+ function getRewardPools (ISetToken _setToken ) external returns (address [] memory );
42+ function isRewardPool (ISetToken _setToken , address _rewardPool ) external returns (bool );
43+ function getRewardPoolClaims (ISetToken _setToken , address _rewardPool ) external returns (address [] memory );
44+ function isRewardPoolClaim (ISetToken _setToken , address _rewardPool , string calldata _integrationName ) external returns (bool );
45+ function getRewards (ISetToken _setToken , address _rewardPool , string calldata _integrationName ) external returns (uint256 );
46+ }
0 commit comments