---
# System prepended metadata

title: usdf ibc send task list

---

# usdf ibc send task list

 - [ ] Contract repo for reflect/ibc reflect/ and ibc-reflect-send (basically support's bank send) 
-  [ ] `On private chain, initiate move funds from buyer to seller` Apply restricted token logic to message execution i.e if token being sent is restricted marker make sure smart contract has auth to it and can transfer it via marker transfer.
 This is the exchange between the buyer(paying in usdf), to seller account in usdf receiving usdf.
-  [ ]  packet timeout etc should be configurable 
-  [ ]  packet timeout should be retried? (maybe not for first impl?)
-  [ ]  `On receipt of successful transfer, remove smart contract hold on asset.` handle success condition on sends 
-  [ ] `On failure, rollback ownership change` handle error condition on sends (None exists now fwiw)
-  [ ] Write tests at the contract level for al functions 
-  [ ] Write or at least execute tests for failure on timeout 
-  [ ] Write or at least execute tests on actual failure i.e let's say a transfer for restricted token fails 
 
 
Assumption on queries, i assume all queries to done by an api but maybe in the future ibc queries can be supported by the contract itself so that no api is involved for queries 

-  [ ] `Need to query destination chain to determine if account can accept USDF`, contract should support this(like account balances example) and usdf valid account `User must have a valid USDF zone account that can recieve funds
` is that just an attribute on the account?(Question for Ira)
-  [ ] `Private zone must have funds committed/escrowed in amount >= bid amount` && `Bob submits bid for asset in amount. Bid is only successful if private chain confirms amount of funds exist in escrow and can be locked` ability to query this on destination zone via sc, similar to `query balance` in `ibc-reflect-send`
 
 
_NOTE: I don't see separate queries here ... in the "buy" flow ... the purchase simply succeeds or fails from the public chain perspective ... within the private zone the logic about having enough funds to complete the action evaluates escrow balances. In the "offer" flow a similar execution against the USDF zone seeking generic approval (success/fail) would be done to determine of the offer can be made._
 
 