-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathStrategy.sol
83 lines (59 loc) · 2.36 KB
/
Strategy.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
// External Libraries
import {ReentrancyGuard} from "openzeppelin-contracts/contracts/security/ReentrancyGuard.sol";
// Intefaces
import {IAllo} from "allo/contracts/core/IAllo.sol";
import {IRegistry} from "allo/contracts/core/IRegistry.sol";
// Core Contracts
import {BaseStrategy} from "allo/contracts/strategies/BaseStrategy.sol";
// Internal Libraries
import {Metadata} from "allo/contracts/core/libraries/Metadata.sol";
/// @title Strategy
contract Strategy is BaseStrategy {
/// ===============================
/// ======== Constructor ==========
/// ===============================
constructor(address _allo, string memory _name) BaseStrategy(_allo, _name) {}
/// ===============================
/// ========= Initialize ==========
/// ===============================
function initialize(uint256 _poolId, bytes memory _data) public virtual
override {
}
/// ====================================
/// ======== Strategy Methods ==========
/// ====================================
/// @notice Register to the pool
/// @param _data The data to be decoded
/// @param _sender The sender of the transaction
function _registerRecipient(bytes memory _data, address _sender) internal
override returns (address recipientId) {
}
/// @notice Allocate amount to recipent for direct grants
/// @param _data The data to be decoded
/// @param _sender The sender of the allocation
function _allocate(bytes memory _data, address _sender) internal virtual
override {
}
/// @notice Distribute the upcoming milestone
/// @param _sender The sender of the distribution
function _distribute(address[] memory _recipientIds, bytes memory, address
_sender) internal virtual override {
}
/// ====================================
/// ============= Views ================
/// ====================================
function getRecipientStatus(address _recipientId) external view returns
(RecipientStatus) {
}
/// ====================================
/// =========== Internal ===============
/// ====================================
function _getPayout(address _recipientId, bytes memory _data) internal view
override returns (PayoutSummary memory){
}
function _isValidAllocator(address _allocator) internal view override virtual
returns (bool) {
}
}