From a079399759fac31e183002563380cf3cc40d1e08 Mon Sep 17 00:00:00 2001 From: Overtorment Date: Mon, 3 Aug 2020 13:00:29 +0100 Subject: [PATCH] FIX: race condition in generateAddress (closes #93) --- class/User.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/class/User.js b/class/User.js index ba27c97..1c043ea 100644 --- a/class/User.js +++ b/class/User.js @@ -107,6 +107,12 @@ export class User { * @returns {Promise} */ async generateAddress() { + let lock = new Lock(this._redis, 'generating_address_' + this._userid); + if (!(await lock.obtainLock())) { + // someone's already generating address + return; + } + let self = this; return new Promise(function(resolve, reject) { self._lightning.newAddress({ type: 0 }, async function(err, response) {