Sunrise Problem:

The “sunrise” problem is the need for a regulated exchange to know whether a transmission of crypto assets out of their exchange are going to an entity that is covered by the Travel Rule. In addition, they must be able to learn the specific requirements of the data which must be transmitted with the transaction to comply with regulations of their exchange and that of where the recipient resides.

Sequence Diagram

User_2 on VASP_B is sending funds to User_1 on VASP_A

User_1
VASP_A
FIO_Chain
VASP_B
User_2
@Starter(User_1)

confirmation = VASP_A->FIO_Chain.registerVasp(FIOAddress,FIODomain) 
User_1DepositAddress = VASP_A.requestDepositAddress(tokenCode) {
  confirmation = FIO_Chain.registerFioAddress("User_1@VASP_A")
  User_1DepositAddress =  generateDepositAddress()
  confirmation = FIO_Chain.addDepositAddress("User_1@VASP_A,User_1DepositAddress")
 }

User_1->User_2:Out of bounds transmission of User_1DepositAddress

processed = User_2->VASP_B.withdrawFunds(User_1DepositAddress) {
  "{YES,VASP_A,TravelRuleRequirements,TransmitStandardA}" = FIO_Chain.isVASP(User_1DepositAddress)
  VASP_A.transferFunds(User_1DepositAddress)
  VASP_B->VASP_A.transmitTravelRuleDataViaTransmitStandardA
}