New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@exodus/balances

Package Overview
Dependencies
Maintainers
0
Versions
65
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@exodus/balances - npm Package Compare versions

Comparing version 13.4.0 to 13.5.0

atoms/asset-total-wallet-amounts.js

9

atoms/index.js

@@ -6,2 +6,3 @@ import createAssetNamesWithBalanceAtom from './asset-names-with-balance.js'

import createHasBalanceAtom from './has-balance.js'
import createAssetsTotalWalletAmountsAtom from './asset-total-wallet-amounts.js'

@@ -47,1 +48,9 @@ export const balancesAtomDefinition = {

}
export const assetsTotalWalletAmountsDefinition = {
id: 'assetsTotalWalletAmountsAtom',
type: 'atom',
factory: createAssetsTotalWalletAmountsAtom,
dependencies: ['balancesAtom'],
public: true,
}

@@ -6,2 +6,8 @@ # Change Log

## [13.5.0](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/balances@13.4.0...@exodus/balances@13.5.0) (2024-11-29)
### Features
- feat: add various crypto balance props (#10419)
## [13.4.0](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/balances@13.3.2...@exodus/balances@13.4.0) (2024-11-25)

@@ -8,0 +14,0 @@

3

default-config.js

@@ -22,5 +22,6 @@ const balanceFieldsConfig = [

.flatMap((fieldConfig) => [fieldConfig.name, fieldConfig.legacyName])
.filter(Boolean), // wallets can reduce the number of exposed fields
.filter(Boolean), // wallets can reduce the number of exposed fields,
assetsToTrackForBalances: [],
}
export default config

@@ -8,2 +8,3 @@ import balancesDefinition from './module/index.js'

assetNamesWithBalanceAtomDefinition,
assetsTotalWalletAmountsDefinition,
} from './atoms/index.js'

@@ -22,2 +23,4 @@ import balancesReportDefinition from './report/index.js'

balanceFields: walletConfig?.balanceFields || defaultConfig.balanceFields,
assetsToTrackForBalances:
walletConfig?.assetsToTrackForBalances || defaultConfig.assetsToTrackForBalances,
}

@@ -28,2 +31,3 @@ typeforce(

balanceFieldsConfig: typeforce.arrayOf('Object'),
assetsToTrackForBalances: typeforce.arrayOf('Object'),
},

@@ -52,5 +56,7 @@ config,

{ definition: balancesLifecyclePluginDefinition },
{ definition: assetsTotalWalletAmountsDefinition },
{
if: { registered: ['analytics'] },
definition: balancesAnalyticsPluginDefinition,
config: { assetsToTrackForBalances: config.assetsToTrackForBalances },
},

@@ -57,0 +63,0 @@ ],

{
"name": "@exodus/balances",
"version": "13.4.0",
"version": "13.5.0",
"description": "Tracks crypto balances across enabled wallet accounts.",

@@ -68,3 +68,3 @@ "author": "Exodus Movement, Inc.",

},
"gitHead": "901254d521ab3c43da0be4a4537ed80015e1c6b9"
"gitHead": "d979dacecad62ad66a5761afc08d6ea362ca05a5"
}

@@ -5,5 +5,12 @@ const createBalancesAnalyticsPlugin = ({

assetsWithBalanceCountAtom,
assetsTotalWalletAmountsAtom,
config: { assetsToTrackForBalances },
}) => {
let subscriptions = []
const getAssetAmountFromNumberUnit = (unit) => {
if (!unit) return 0
return unit.toDefaultNumber()
}
const onStart = () => {

@@ -20,3 +27,15 @@ analytics.requireDefaultEventProperties(['hasBalance', 'numberOfAssets'])

subscriptions = [unsubscribeBalanceAtom, unsubscribeBalanceCountAtom]
const unsubscribeWalletAmountsAtom = assetsTotalWalletAmountsAtom.observe(async (balances) => {
const assetBalances = assetsToTrackForBalances.reduce((acc, obj) => {
acc[obj.analyticsName] = getAssetAmountFromNumberUnit(balances.get(obj.assetName))
return acc
}, {})
analytics.setDefaultEventProperties(assetBalances)
})
subscriptions = [
unsubscribeBalanceAtom,
unsubscribeBalanceCountAtom,
unsubscribeWalletAmountsAtom,
]
}

@@ -23,0 +42,0 @@

@@ -16,4 +16,10 @@ import createBalancesAnalyticsPlugin from './analytics.js'

factory: createBalancesAnalyticsPlugin,
dependencies: ['analytics', 'hasBalanceAtom', 'assetsWithBalanceCountAtom'],
dependencies: [
'analytics',
'hasBalanceAtom',
'assetsWithBalanceCountAtom',
'assetsTotalWalletAmountsAtom',
'config?',
],
public: true,
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc