| 165 | |
| 166 | |
| 167 | def transfer_tasks_view( |
| 168 | transfer_tasks: Dict[SecretHash, TransferTask], |
| 169 | token_address: TokenAddress = None, |
| 170 | channel_id: ChannelID = None, |
| 171 | ) -> List[Dict[str, Any]]: |
| 172 | view = [] |
| 173 | |
| 174 | for secrethash, transfer_task in transfer_tasks.items(): |
| 175 | transfer = get_transfer_from_task(secrethash, transfer_task) |
| 176 | |
| 177 | if transfer is None: |
| 178 | continue |
| 179 | if token_address is not None: |
| 180 | if transfer.token != token_address: |
| 181 | continue |
| 182 | elif channel_id is not None: |
| 183 | if transfer.balance_proof.channel_identifier != channel_id: |
| 184 | continue |
| 185 | |
| 186 | view.append(flatten_transfer(transfer, transfer_task.role)) |
| 187 | |
| 188 | return view |
| 189 | |
| 190 | |
| 191 | class RaidenAPI: # pragma: no unittest |