@ -86,12 +86,12 @@ func newLoopOutSwap(globalCtx context.Context, cfg *swapConfig,
return nil , fmt . Errorf ( "cannot initiate swap: %v" , err )
return nil , fmt . Errorf ( "cannot initiate swap: %v" , err )
}
}
err = validateLoopOutContract ( cfg . lnd , currentHeight , request , swap Resp)
err = validateLoopOutContract ( cfg . lnd , currentHeight , request , swap Hash, swap Resp)
if err != nil {
if err != nil {
return nil , err
return nil , err
}
}
// Instanti e a struct that contains all required data to start the swap.
// Instanti at e a struct that contains all required data to start the swap.
initiationTime := time . Now ( )
initiationTime := time . Now ( )
contract := loopdb . LoopOutContract {
contract := loopdb . LoopOutContract {
@ -660,21 +660,26 @@ func (s *loopOutSwap) sweep(ctx context.Context,
// validateLoopOutContract validates the contract parameters against our
// validateLoopOutContract validates the contract parameters against our
// request.
// request.
func validateLoopOutContract ( lnd * lndclient . LndServices ,
func validateLoopOutContract ( lnd * lndclient . LndServices ,
height int32 ,
height int32 , request * OutRequest , swapHash lntypes . Hash ,
request * OutRequest ,
response * newLoopOutResponse ) error {
response * newLoopOutResponse ) error {
// Check invoice amounts.
// Check invoice amounts.
chainParams := lnd . ChainParams
chainParams := lnd . ChainParams
swapInvoice Amt, err := swap . GetInvoiceAmt (
swapInvoice Hash, swapInvoice Amt, err := swap . DecodeInvoice (
chainParams , response . swapInvoice ,
chainParams , response . swapInvoice ,
)
)
if err != nil {
if err != nil {
return err
return err
}
}
prepayInvoiceAmt , err := swap . GetInvoiceAmt (
if swapInvoiceHash != swapHash {
return fmt . Errorf (
"cannot initiate swap, swap invoice hash %v not equal generated swap hash %v" ,
swapInvoiceHash , swapHash )
}
_ , prepayInvoiceAmt , err := swap . DecodeInvoice (
chainParams , response . prepayInvoice ,
chainParams , response . prepayInvoice ,
)
)
if err != nil {
if err != nil {