@exodus/balances
This module tracks balances across assets and portfolios. It delegates to assets for any asset-specifics.
WARNING: no asset specifics!
If you introduce any asset specifics like if (assetName === 'dogicorn') balance = balance.mul(2)
, you will be fired immediately. This is a safety measure to save you from @feri42's wrath. All asset-specifics belong in asset.api.getBalances
or other APIs inside the asset libraries.
Install
yarn add @exodus/balances
Usage
import createBalances from '@exodus/balances'
const balances = createBalances({
assetsModule,
walletAccountsAtom,
blockchainMetadata,
balanceFields: ['balance'],
logger,
})
balances.on('balances', ({ balances, oldBalances, changes }) => {
})
balances.sync()