Skip to content

Commit 4d505be

Browse files
author
Mark Tyneway
committed
wallet: create finalize lock
1 parent e087b89 commit 4d505be

File tree

1 file changed

+25
-5
lines changed

1 file changed

+25
-5
lines changed

lib/wallet/wallet.js

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2897,32 +2897,52 @@ class Wallet extends EventEmitter {
28972897
}
28982898

28992899
/**
2900-
* Create and finalize a finalize MTX.
2900+
* Create and finalize a finalize
2901+
* MTX without a lock.
29012902
* @param {String} name
29022903
* @param {Object} options
29032904
* @returns {MTX}
29042905
*/
29052906

2906-
async createFinalize(name, options) {
2907+
async _createFinalize(name, options) {
29072908
const mtx = await this.makeFinalize(name);
29082909
await this.fill(mtx, options);
29092910
return this.finalize(mtx, options);
29102911
}
29112912

29122913
/**
2913-
* Create and send a finalize MTX.
2914+
* Create and finalize a finalize
2915+
* MTX with a lock.
2916+
* @param {String} name
2917+
* @param {Object} options
2918+
* @returns {MTX}
2919+
*/
2920+
2921+
async createFinalize(name, options) {
2922+
const unlock = await this.fundLock.lock();
2923+
try {
2924+
return await this._createFinalize(name, options);
2925+
} finally {
2926+
unlock();
2927+
}
2928+
}
2929+
2930+
/**
2931+
* Create and send a finalize
2932+
* MTX without a lock.
29142933
* @param {String} name
29152934
* @param {Object} options
29162935
*/
29172936

29182937
async _sendFinalize(name, options) {
29192938
const passphrase = options ? options.passphrase : null;
2920-
const mtx = await this.createFinalize(name, options);
2939+
const mtx = await this._createFinalize(name, options);
29212940
return this.sendMTX(mtx, passphrase);
29222941
}
29232942

29242943
/**
2925-
* Create and send a finalize MTX.
2944+
* Create and send a finalize
2945+
* MTX with a lock.
29262946
* @param {String} name
29272947
* @param {Object} options
29282948
*/

0 commit comments

Comments
 (0)