walletrpc: disallow locking with internal ID

The internal lock ID that the wallet kit subserver uses to lock inputs
for itself shouldn't be allowed to be used when locking inputs manually
over the RPC.
This commit is contained in:
Oliver Gugger 2020-10-01 16:21:47 +02:00
parent 6229609be7
commit 9a063355e2
No known key found for this signature in database
GPG Key ID: 8E4256593F177720

View File

@ -329,6 +329,12 @@ func (w *WalletKit) LeaseOutput(ctx context.Context,
return nil, errors.New("id must be 32 random bytes")
}
// Don't allow our internal ID to be used externally for locking. Only
// unlocking is allowed.
if lockID == LndInternalLockID {
return nil, errors.New("reserved id cannot be used")
}
op, err := unmarshallOutPoint(req.Outpoint)
if err != nil {
return nil, err