public async Task <ITransactionResponse> Init(SwapInitDto swapInitDto)
        {
            ValidateSwapInitData(swapInitDto);
            var swapInitProto = GenerateAtomicSwapInitPayload(swapInitDto);

            return(await SendTransaction(swapInitProto, swapInitProto.SwapId, AtomicSwapMethodEnum.Init));
        }
 private void ValidateSwapInitData(SwapInitDto data)
 {
     if (!IsValidReceiverAddress(data.ReceiverAddress))
     {
         throw new ArgumentException("Receiver Address has invalid format");
     }
     if (!IsValidSecretLock(data.SecretLockBySolicitor))
     {
         throw new ArgumentException("Secret Lock has invalid format");
     }
 }
 private AtomicSwapInitPayload GenerateAtomicSwapInitPayload(SwapInitDto data)
 {
     return(new AtomicSwapInitPayload
     {
         Amount = data.Amount,
         CreatedAt = GetUnixTime(data.CreatedAt),
         EmailAddressEncryptedByInitiator = data.EmailAddressEncryptedByInitiator,
         ReceiverAddress = data.ReceiverAddress,
         SenderAddressNonLocal = data.SenderAddress,
         SecretLockBySolicitor = data.SecretLockBySolicitor,
         SwapId = data.SwapId
     });
 }