-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProtocolFeesWithdrawer.json
230 lines (230 loc) · 19.5 KB
/
ProtocolFeesWithdrawer.json
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
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
{
"_format": "hh-sol-artifact-1",
"contractName": "ProtocolFeesWithdrawer",
"sourceName": "contracts/ProtocolFeesWithdrawer.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract IVault",
"name": "vault",
"type": "address"
},
{
"internalType": "contract IERC20[]",
"name": "initialDeniedTokens",
"type": "address[]"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "contract IERC20",
"name": "token",
"type": "address"
}
],
"name": "TokenAllowlisted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "contract IERC20",
"name": "token",
"type": "address"
}
],
"name": "TokenDenylisted",
"type": "event"
},
{
"inputs": [
{
"internalType": "contract IERC20",
"name": "token",
"type": "address"
}
],
"name": "allowlistToken",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20",
"name": "token",
"type": "address"
}
],
"name": "denylistToken",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "selector",
"type": "bytes4"
}
],
"name": "getActionId",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getAuthorizer",
"outputs": [
{
"internalType": "contract IAuthorizer",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"name": "getDenylistedToken",
"outputs": [
{
"internalType": "contract IERC20",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getDenylistedTokensLength",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getProtocolFeesCollector",
"outputs": [
{
"internalType": "contract IProtocolFeesCollector",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getVault",
"outputs": [
{
"internalType": "contract IVault",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20",
"name": "token",
"type": "address"
}
],
"name": "isWithdrawableToken",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20[]",
"name": "tokens",
"type": "address[]"
}
],
"name": "isWithdrawableTokens",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20[]",
"name": "tokens",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "amounts",
"type": "uint256[]"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
}
],
"name": "withdrawCollectedFees",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60e06040523480156200001157600080fd5b506040516200104238038062001042833981810160405260408110156200003757600080fd5b8151602083018051604051929492938301929190846401000000008211156200005f57600080fd5b9083019060208201858111156200007557600080fd5b82518660208202830111640100000000821117156200009357600080fd5b82525081516020918201928201910280838360005b83811015620000c2578181015183820152602001620000a8565b50505050919091016040818152306080526001600160601b0319606089901b1660a05263d2946c2b60e01b8252516001600160a01b038816955063d2946c2b945060048083019450602093509091829003018186803b1580156200012557600080fd5b505afa1580156200013a573d6000803e3d6000fd5b505050506040513d60208110156200015157600080fd5b505160601b6001600160601b03191660c052805160005b818110156200019f57620001968382815181106200018257fe5b6020026020010151620001a960201b60201c565b60010162000168565b50505050620002df565b620001c48160006200025560201b620007b91790919060201c565b62000216576040805162461bcd60e51b815260206004820152601860248201527f546f6b656e20616c72656164792064656e796c69737465640000000000000000604482015290519081900360640190fd5b604080516001600160a01b038316815290517ff1a0f8a2f72d5da4064fe8bb9f78d485b757edfbd004465e56f102f2b8ab6edb9181900360200190a150565b6000620002638383620002be565b620002b457508154600180820184556000848152602080822090930180546001600160a01b0319166001600160a01b03861690811790915585549082528286019093526040902091909155620002b8565b5060005b92915050565b6001600160a01b031660009081526001919091016020526040902054151590565b60805160a05160601c60c05160601c610d2b62000317600039806103f952806106c152508061059752508061052a5250610d2b6000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c8063a21dfaee11610081578063d2946c2b1161005b578063d2946c2b14610324578063de0b27c91461032c578063fd3a0cdd1461035f576100c9565b8063a21dfaee14610265578063aaabadc5146102e9578063cdf0e934146102f1576100c9565b8063851c1bb3116100b2578063851c1bb3146101db5780638d928af81461022c5780638dd26fc61461025d576100c9565b8063194d810f146100ce5780636daefab614610103575b600080fd5b610101600480360360208110156100e457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661037c565b005b6101016004803603606081101561011957600080fd5b81019060208101813564010000000081111561013457600080fd5b82018360208201111561014657600080fd5b8035906020019184602083028401116401000000008311171561016857600080fd5b91939092909160208101903564010000000081111561018657600080fd5b82018360208201111561019857600080fd5b803590602001918460208302840111640100000000831117156101ba57600080fd5b91935091503573ffffffffffffffffffffffffffffffffffffffff16610390565b61021a600480360360208110156101f157600080fd5b50357fffffffff0000000000000000000000000000000000000000000000000000000016610524565b60408051918252519081900360200190f35b610234610595565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61021a6105b9565b6102d56004803603602081101561027b57600080fd5b81019060208101813564010000000081111561029657600080fd5b8201836020820111156102a857600080fd5b803590602001918460208302840111640100000000831117156102ca57600080fd5b5090925090506105ca565b604080519115158252519081900360200190f35b61023461062c565b6102d56004803603602081101561030757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166106ac565b6102346106bf565b6101016004803603602081101561034257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166106e3565b6102346004803603602081101561037557600080fd5b50356107ad565b610384610841565b61038d81610887565b50565b610398610841565b6103a285856105ca565b6103f7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180610ccf6027913960400191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636daefab686868686866040518663ffffffff1660e01b81526004018080602001806020018473ffffffffffffffffffffffffffffffffffffffff1681526020018381038352888882818152602001925060200280828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169091018481038352868152602090810191508790870280828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b15801561050557600080fd5b505af1158015610519573d6000803e3d6000fd5b505050505050505050565b604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527fffffffff000000000000000000000000000000000000000000000000000000008416828401528251602481840301815260449092019092528051910120919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60006105c56000610949565b905090565b600081815b8181101561061f576106088585838181106105e657fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff166106ac565b61061757600092505050610626565b6001016105cf565b5060019150505b92915050565b6000610636610595565b73ffffffffffffffffffffffffffffffffffffffff1663aaabadc56040518163ffffffff1660e01b815260040160206040518083038186803b15801561067b57600080fd5b505afa15801561068f573d6000803e3d6000fd5b505050506040513d60208110156106a557600080fd5b5051905090565b60006106b8818361094d565b1592915050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6106eb610841565b6106f660008261097b565b61076157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f546f6b656e206973206e6f742064656e796c6973746564000000000000000000604482015290519081900360640190fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8316815290517fecc8f38812b30ead07c6cdc6aa7b0eb8d42772335216e06122f7e821db6852589181900360200190a150565b60006106268183610b29565b60006107c5838361094d565b61083957508154600180820184556000848152602080822090930180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff861690811790915585549082528286019093526040902091909155610626565b506000610626565b60006108706000357fffffffff0000000000000000000000000000000000000000000000000000000016610524565b905061038d61087f8233610b4c565b610191610c15565b6108926000826107b9565b6108fd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f546f6b656e20616c72656164792064656e796c69737465640000000000000000604482015290519081900360640190fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8316815290517ff1a0f8a2f72d5da4064fe8bb9f78d485b757edfbd004465e56f102f2b8ab6edb9181900360200190a150565b5490565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001919091016020526040902054151590565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120548015610b1f5783547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8083019101808214610a845760008660000182815481106109e957fe5b600091825260209091200154875473ffffffffffffffffffffffffffffffffffffffff90911691508190889085908110610a1f57fe5b600091825260208083209190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff94851617905592909116815260018881019092526040902090830190555b8554869080610a8f57fe5b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590920190925573ffffffffffffffffffffffffffffffffffffffff8716825260018881019091526040822091909155935061062692505050565b6000915050610626565b8154600090610b3b9083106064610c15565b610b458383610c27565b9392505050565b6000610b5661062c565b73ffffffffffffffffffffffffffffffffffffffff16639be2a8848484306040518463ffffffff1660e01b8152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff168152602001935050505060206040518083038186803b158015610be257600080fd5b505afa158015610bf6573d6000803e3d6000fd5b505050506040513d6020811015610c0c57600080fd5b50519392505050565b81610c2357610c2381610c61565b5050565b6000826000018281548110610c3857fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff169392505050565b7f08c379a0000000000000000000000000000000000000000000000000000000006000908152602060045260076024526642414c23000030600a808404818106603090810160081b95839006959095019082900491820690940160101b939093010160c81b604452606490fdfe417474656d7074696e6720746f2077697468647261772064656e796c697374656420746f6b656ea26469706673582212201a94212c9bfba33337b6a725b53b23d89d6a7f9a7cfb769ff67c9886e699f37064736f6c63430007010033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c8063a21dfaee11610081578063d2946c2b1161005b578063d2946c2b14610324578063de0b27c91461032c578063fd3a0cdd1461035f576100c9565b8063a21dfaee14610265578063aaabadc5146102e9578063cdf0e934146102f1576100c9565b8063851c1bb3116100b2578063851c1bb3146101db5780638d928af81461022c5780638dd26fc61461025d576100c9565b8063194d810f146100ce5780636daefab614610103575b600080fd5b610101600480360360208110156100e457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661037c565b005b6101016004803603606081101561011957600080fd5b81019060208101813564010000000081111561013457600080fd5b82018360208201111561014657600080fd5b8035906020019184602083028401116401000000008311171561016857600080fd5b91939092909160208101903564010000000081111561018657600080fd5b82018360208201111561019857600080fd5b803590602001918460208302840111640100000000831117156101ba57600080fd5b91935091503573ffffffffffffffffffffffffffffffffffffffff16610390565b61021a600480360360208110156101f157600080fd5b50357fffffffff0000000000000000000000000000000000000000000000000000000016610524565b60408051918252519081900360200190f35b610234610595565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61021a6105b9565b6102d56004803603602081101561027b57600080fd5b81019060208101813564010000000081111561029657600080fd5b8201836020820111156102a857600080fd5b803590602001918460208302840111640100000000831117156102ca57600080fd5b5090925090506105ca565b604080519115158252519081900360200190f35b61023461062c565b6102d56004803603602081101561030757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166106ac565b6102346106bf565b6101016004803603602081101561034257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166106e3565b6102346004803603602081101561037557600080fd5b50356107ad565b610384610841565b61038d81610887565b50565b610398610841565b6103a285856105ca565b6103f7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180610ccf6027913960400191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636daefab686868686866040518663ffffffff1660e01b81526004018080602001806020018473ffffffffffffffffffffffffffffffffffffffff1681526020018381038352888882818152602001925060200280828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169091018481038352868152602090810191508790870280828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b15801561050557600080fd5b505af1158015610519573d6000803e3d6000fd5b505050505050505050565b604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527fffffffff000000000000000000000000000000000000000000000000000000008416828401528251602481840301815260449092019092528051910120919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60006105c56000610949565b905090565b600081815b8181101561061f576106088585838181106105e657fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff166106ac565b61061757600092505050610626565b6001016105cf565b5060019150505b92915050565b6000610636610595565b73ffffffffffffffffffffffffffffffffffffffff1663aaabadc56040518163ffffffff1660e01b815260040160206040518083038186803b15801561067b57600080fd5b505afa15801561068f573d6000803e3d6000fd5b505050506040513d60208110156106a557600080fd5b5051905090565b60006106b8818361094d565b1592915050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6106eb610841565b6106f660008261097b565b61076157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f546f6b656e206973206e6f742064656e796c6973746564000000000000000000604482015290519081900360640190fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8316815290517fecc8f38812b30ead07c6cdc6aa7b0eb8d42772335216e06122f7e821db6852589181900360200190a150565b60006106268183610b29565b60006107c5838361094d565b61083957508154600180820184556000848152602080822090930180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff861690811790915585549082528286019093526040902091909155610626565b506000610626565b60006108706000357fffffffff0000000000000000000000000000000000000000000000000000000016610524565b905061038d61087f8233610b4c565b610191610c15565b6108926000826107b9565b6108fd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f546f6b656e20616c72656164792064656e796c69737465640000000000000000604482015290519081900360640190fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8316815290517ff1a0f8a2f72d5da4064fe8bb9f78d485b757edfbd004465e56f102f2b8ab6edb9181900360200190a150565b5490565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001919091016020526040902054151590565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120548015610b1f5783547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8083019101808214610a845760008660000182815481106109e957fe5b600091825260209091200154875473ffffffffffffffffffffffffffffffffffffffff90911691508190889085908110610a1f57fe5b600091825260208083209190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff94851617905592909116815260018881019092526040902090830190555b8554869080610a8f57fe5b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590920190925573ffffffffffffffffffffffffffffffffffffffff8716825260018881019091526040822091909155935061062692505050565b6000915050610626565b8154600090610b3b9083106064610c15565b610b458383610c27565b9392505050565b6000610b5661062c565b73ffffffffffffffffffffffffffffffffffffffff16639be2a8848484306040518463ffffffff1660e01b8152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff168152602001935050505060206040518083038186803b158015610be257600080fd5b505afa158015610bf6573d6000803e3d6000fd5b505050506040513d6020811015610c0c57600080fd5b50519392505050565b81610c2357610c2381610c61565b5050565b6000826000018281548110610c3857fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff169392505050565b7f08c379a0000000000000000000000000000000000000000000000000000000006000908152602060045260076024526642414c23000030600a808404818106603090810160081b95839006959095019082900491820690940160101b939093010160c81b604452606490fdfe417474656d7074696e6720746f2077697468647261772064656e796c697374656420746f6b656ea26469706673582212201a94212c9bfba33337b6a725b53b23d89d6a7f9a7cfb769ff67c9886e699f37064736f6c63430007010033",
"linkReferences": {},
"deployedLinkReferences": {}
}