-
Notifications
You must be signed in to change notification settings - Fork 10
/
IDropper.sol
164 lines (135 loc) · 4.01 KB
/
IDropper.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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.9;
// Interface generated by solface: https://github.com/bugout-dev/solface
// solface version: 0.0.4
interface IDropper {
// structs
struct Compound0 {
uint256 tokenType;
address tokenAddress;
uint256 tokenId;
uint256 amount;
}
struct Compound1 {
address terminusAddress;
uint256 poolId;
}
// events
event Claimed(
uint256 dropId,
address claimant,
address signer,
uint256 requestID,
uint256 amount
);
event DropAuthorizationChanged(
uint256 dropId,
address terminusAddress,
uint256 poolId
);
event DropCreated(
uint256 dropId,
uint256 tokenType,
address tokenAddress,
uint256 tokenId,
uint256 amount
);
event DropStatusChanged(uint256 dropId, bool status);
event DropURIChanged(uint256 dropId, string uri);
event Withdrawal(
address recipient,
uint256 tokenType,
address tokenAddress,
uint256 tokenId,
uint256 amount
);
// functions
function claim(
uint256 dropId,
uint256 requestID,
uint256 blockDeadline,
uint256 amount,
address signer,
bytes memory signature
) external;
function claimMessageHash(
uint256 dropId,
uint256 requestID,
address claimant,
uint256 blockDeadline,
uint256 amount
) external view returns (bytes32);
function claimStatus(
uint256 dropId,
uint256 requestId
) external view returns (bool);
function createDrop(
uint256 tokenType,
address tokenAddress,
uint256 tokenId,
uint256 amount,
address authorizationTokenAddress,
uint256 authorizationPoolId,
string memory uri
) external returns (uint256);
function dropStatus(uint256 dropId) external view returns (bool);
function dropUri(uint256 dropId) external view returns (string memory);
function dropperVersion()
external
view
returns (string memory, string memory);
function erc1155_type() external view returns (uint256);
function erc20_type() external view returns (uint256);
function erc721_type() external view returns (uint256);
function getDrop(uint256 dropId) external view returns (Compound0 memory);
function getDropAuthorization(
uint256 dropId
) external view returns (Compound1 memory);
function init(
address terminusAdminContractAddress,
uint256 terminusAdminPoolID
) external;
function numDrops() external view returns (uint256);
function onERC1155BatchReceived(
address,
address,
uint256[] memory,
uint256[] memory,
bytes memory
) external returns (bytes4);
function onERC1155Received(
address,
address,
uint256,
uint256,
bytes memory
) external returns (bytes4);
function onERC721Received(
address operator,
address from,
uint256 tokenId,
bytes memory data
) external returns (bytes4);
function setDropAuthorization(
uint256 dropId,
address terminusAddress,
uint256 poolId
) external;
function setDropStatus(uint256 dropId, bool status) external;
function setDropUri(uint256 dropId, string memory uri) external;
function supportsInterface(bytes4 interfaceId) external view returns (bool);
function surrenderPoolControl(
uint256 poolId,
address terminusAddress,
address newPoolController
) external;
function terminus_mintable_type() external view returns (uint256);
function withdrawERC1155(
address tokenAddress,
uint256 tokenId,
uint256 amount
) external;
function withdrawERC20(address tokenAddress, uint256 amount) external;
function withdrawERC721(address tokenAddress, uint256 tokenId) external;
// errors
}