/**
* Default wallet listener which takes no action on notifications.
*/
class MoneroWalletListener {
/**
* Invoked as the wallet is synchronized.
*
* @param {number} height - height of the synced block
* @param {number} startHeight - starting height of the sync request
* @param {number} endHeight - ending height of the sync request
* @param {number} percentDone - sync progress as a percentage
* @param {string} message - human-readable description of the current progress
*/
async onSyncProgress(height, startHeight, endHeight, percentDone, message) { }
/**
* Invoked when a new block is added to the chain.
*
* @param {int} height - the height of the new block (i.e. the number of blocks before it).
*/
async onNewBlock(height) { }
/**
* Invoked when the wallet's balances change.
*
* @param {BigInteger} newBalance - new wallet balance
* @param {BigInteger} newUnlockedBalance - new unlocked wallet balance
*/
async onBalancesChanged(newBalance, newUnlockedBalance) { }
/**
* Invoked 3 times per received output: once when unconfirmed, once when confirmed, and
* once when unlocked.
*
* The notified output includes basic fields only, so the output or its transaction should be fetched to get all available fields.
*
* @param {MoneroOutputWallet} output - the received output
*/
async onOutputReceived(output) { }
/**
* Invoked twice per spent output: once when confirmed and once when unlocked.
*
* The notified output includes basic fields only, so the output or its transaction should be fetched to get all available fields.
*
* @param {MoneroOutputWallet} output - the spent output
*/
async onOutputSpent(output) { }
}
module.exports = MoneroWalletListener;