@talismn/balances 0.0.0-pr2075-20250708151500 → 0.0.0-pr2075-20250708160640

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1575,7 +1575,6 @@ const fetchWithoutAggregator$1 = async (client, balanceDefs) => {
1575
1575
  success: [],
1576
1576
  errors: []
1577
1577
  };
1578
- log.debug("fetching %s balances without aggregator", MODULE_TYPE$8, balanceDefs.length);
1579
1578
  const results = await Promise.allSettled(balanceDefs.map(async ({
1580
1579
  token,
1581
1580
  address
@@ -1593,7 +1592,7 @@ const fetchWithoutAggregator$1 = async (client, balanceDefs) => {
1593
1592
  value: result.toString(),
1594
1593
  source: MODULE_TYPE$8,
1595
1594
  networkId: chaindataProvider.parseEvmErc20TokenId(token.id).networkId,
1596
- status: "cache"
1595
+ status: "live"
1597
1596
  };
1598
1597
  return balance;
1599
1598
  } catch (err) {
@@ -1620,7 +1619,6 @@ const fetchWithAggregator$1 = async (client, balanceDefs, erc20BalancesAggregato
1620
1619
  success: [],
1621
1620
  errors: []
1622
1621
  };
1623
- log.debug("fetching %s balances with aggregator", MODULE_TYPE$8, balanceDefs.length);
1624
1622
  try {
1625
1623
  const erc20Balances = await client.readContract({
1626
1624
  abi: erc20BalancesAggregatorAbi,
@@ -1637,7 +1635,7 @@ const fetchWithAggregator$1 = async (client, balanceDefs, erc20BalancesAggregato
1637
1635
  value: erc20Balances[index].toString(),
1638
1636
  source: MODULE_TYPE$8,
1639
1637
  networkId: chaindataProvider.parseTokenId(balanceDef.token.id).networkId,
1640
- status: "cache"
1638
+ status: "live"
1641
1639
  }));
1642
1640
  return {
1643
1641
  success,
@@ -1873,7 +1871,6 @@ const fetchWithoutMulticall = async (client, balanceDefs) => {
1873
1871
  success: [],
1874
1872
  errors: []
1875
1873
  };
1876
- log.debug("fetching %s balances without multicall3", MODULE_TYPE$7, balanceDefs.length);
1877
1874
  const results = await Promise.allSettled(balanceDefs.map(async ({
1878
1875
  token,
1879
1876
  address
@@ -1915,7 +1912,6 @@ const fetchWithMulticall = async (client, balanceDefs, multicall3Address) => {
1915
1912
  success: [],
1916
1913
  errors: []
1917
1914
  };
1918
- log.debug("fetching %s balances with multicall3", MODULE_TYPE$7, balanceDefs.length);
1919
1915
  try {
1920
1916
  const callResults = await client.multicall({
1921
1917
  contracts: balanceDefs.map(({
@@ -2090,7 +2086,6 @@ const fetchWithoutAggregator = async (client, balanceDefs) => {
2090
2086
  success: [],
2091
2087
  errors: []
2092
2088
  };
2093
- log.debug("fetching %s balances without aggregator", MODULE_TYPE$6, balanceDefs.length);
2094
2089
  const results = await Promise.allSettled(balanceDefs.map(async ({
2095
2090
  token,
2096
2091
  address
@@ -2108,7 +2103,7 @@ const fetchWithoutAggregator = async (client, balanceDefs) => {
2108
2103
  value: result.toString(),
2109
2104
  source: MODULE_TYPE$6,
2110
2105
  networkId: chaindataProvider.parseTokenId(token.id).networkId,
2111
- status: "cache"
2106
+ status: "live"
2112
2107
  };
2113
2108
  return balance;
2114
2109
  } catch (err) {
@@ -2135,7 +2130,6 @@ const fetchWithAggregator = async (client, balanceDefs, erc20BalancesAggregatorA
2135
2130
  success: [],
2136
2131
  errors: []
2137
2132
  };
2138
- log.debug("fetching %s balances with aggregator", MODULE_TYPE$6, balanceDefs.length);
2139
2133
  try {
2140
2134
  const erc20Balances = await client.readContract({
2141
2135
  abi: erc20BalancesAggregatorAbi,
@@ -2152,7 +2146,7 @@ const fetchWithAggregator = async (client, balanceDefs, erc20BalancesAggregatorA
2152
2146
  value: erc20Balances[index].toString(),
2153
2147
  source: MODULE_TYPE$6,
2154
2148
  networkId: chaindataProvider.parseTokenId(balanceDef.token.id).networkId,
2155
- status: "cache"
2149
+ status: "live"
2156
2150
  }));
2157
2151
  return {
2158
2152
  success,
@@ -4438,7 +4432,7 @@ const fetchBalances$4 = async ({
4438
4432
  networkId,
4439
4433
  tokenId: token.id,
4440
4434
  source: MODULE_TYPE$3,
4441
- status: "cache",
4435
+ status: "live",
4442
4436
  values: [{
4443
4437
  type: "free",
4444
4438
  label: "free",
@@ -10372,14 +10366,18 @@ class BalancesProvider {
10372
10366
  acc[networkId][tokenId] = addresses;
10373
10367
  return acc;
10374
10368
  }, {});
10375
- return rxjs.combineLatest(lodash.toPairs(addressesByTokenIdByNetworkId).map(([networkId]) => this.getNetworkBalances$(networkId, addressesByTokenIdByNetworkId[networkId]))).pipe(rxjs.map(results => {
10376
- return {
10377
- status: results.some(({
10378
- status
10379
- }) => status === "initialising") ? "initialising" : "live",
10380
- balances: results.flatMap(result => result.balances)
10381
- };
10382
- }), rxjs.startWith({
10369
+ return rxjs.combineLatest({
10370
+ isStale: rxjs.timer(30_000).pipe(rxjs.map(() => true), rxjs.startWith(false)),
10371
+ results: rxjs.combineLatest(lodash.toPairs(addressesByTokenIdByNetworkId).map(([networkId]) => this.getNetworkBalances$(networkId, addressesByTokenIdByNetworkId[networkId])))
10372
+ }).pipe(rxjs.map(({
10373
+ isStale,
10374
+ results
10375
+ }) => ({
10376
+ status: !isStale && results.some(({
10377
+ status
10378
+ }) => status === "initialising") ? "initialising" : "live",
10379
+ balances: results.flatMap(result => result.balances)
10380
+ })), rxjs.startWith({
10383
10381
  status: "initialising",
10384
10382
  balances: this.getStoredBalances(addressesByTokenId)
10385
10383
  }), rxjs.distinctUntilChanged(lodash.isEqual));
@@ -1575,7 +1575,6 @@ const fetchWithoutAggregator$1 = async (client, balanceDefs) => {
1575
1575
  success: [],
1576
1576
  errors: []
1577
1577
  };
1578
- log.debug("fetching %s balances without aggregator", MODULE_TYPE$8, balanceDefs.length);
1579
1578
  const results = await Promise.allSettled(balanceDefs.map(async ({
1580
1579
  token,
1581
1580
  address
@@ -1593,7 +1592,7 @@ const fetchWithoutAggregator$1 = async (client, balanceDefs) => {
1593
1592
  value: result.toString(),
1594
1593
  source: MODULE_TYPE$8,
1595
1594
  networkId: chaindataProvider.parseEvmErc20TokenId(token.id).networkId,
1596
- status: "cache"
1595
+ status: "live"
1597
1596
  };
1598
1597
  return balance;
1599
1598
  } catch (err) {
@@ -1620,7 +1619,6 @@ const fetchWithAggregator$1 = async (client, balanceDefs, erc20BalancesAggregato
1620
1619
  success: [],
1621
1620
  errors: []
1622
1621
  };
1623
- log.debug("fetching %s balances with aggregator", MODULE_TYPE$8, balanceDefs.length);
1624
1622
  try {
1625
1623
  const erc20Balances = await client.readContract({
1626
1624
  abi: erc20BalancesAggregatorAbi,
@@ -1637,7 +1635,7 @@ const fetchWithAggregator$1 = async (client, balanceDefs, erc20BalancesAggregato
1637
1635
  value: erc20Balances[index].toString(),
1638
1636
  source: MODULE_TYPE$8,
1639
1637
  networkId: chaindataProvider.parseTokenId(balanceDef.token.id).networkId,
1640
- status: "cache"
1638
+ status: "live"
1641
1639
  }));
1642
1640
  return {
1643
1641
  success,
@@ -1873,7 +1871,6 @@ const fetchWithoutMulticall = async (client, balanceDefs) => {
1873
1871
  success: [],
1874
1872
  errors: []
1875
1873
  };
1876
- log.debug("fetching %s balances without multicall3", MODULE_TYPE$7, balanceDefs.length);
1877
1874
  const results = await Promise.allSettled(balanceDefs.map(async ({
1878
1875
  token,
1879
1876
  address
@@ -1915,7 +1912,6 @@ const fetchWithMulticall = async (client, balanceDefs, multicall3Address) => {
1915
1912
  success: [],
1916
1913
  errors: []
1917
1914
  };
1918
- log.debug("fetching %s balances with multicall3", MODULE_TYPE$7, balanceDefs.length);
1919
1915
  try {
1920
1916
  const callResults = await client.multicall({
1921
1917
  contracts: balanceDefs.map(({
@@ -2090,7 +2086,6 @@ const fetchWithoutAggregator = async (client, balanceDefs) => {
2090
2086
  success: [],
2091
2087
  errors: []
2092
2088
  };
2093
- log.debug("fetching %s balances without aggregator", MODULE_TYPE$6, balanceDefs.length);
2094
2089
  const results = await Promise.allSettled(balanceDefs.map(async ({
2095
2090
  token,
2096
2091
  address
@@ -2108,7 +2103,7 @@ const fetchWithoutAggregator = async (client, balanceDefs) => {
2108
2103
  value: result.toString(),
2109
2104
  source: MODULE_TYPE$6,
2110
2105
  networkId: chaindataProvider.parseTokenId(token.id).networkId,
2111
- status: "cache"
2106
+ status: "live"
2112
2107
  };
2113
2108
  return balance;
2114
2109
  } catch (err) {
@@ -2135,7 +2130,6 @@ const fetchWithAggregator = async (client, balanceDefs, erc20BalancesAggregatorA
2135
2130
  success: [],
2136
2131
  errors: []
2137
2132
  };
2138
- log.debug("fetching %s balances with aggregator", MODULE_TYPE$6, balanceDefs.length);
2139
2133
  try {
2140
2134
  const erc20Balances = await client.readContract({
2141
2135
  abi: erc20BalancesAggregatorAbi,
@@ -2152,7 +2146,7 @@ const fetchWithAggregator = async (client, balanceDefs, erc20BalancesAggregatorA
2152
2146
  value: erc20Balances[index].toString(),
2153
2147
  source: MODULE_TYPE$6,
2154
2148
  networkId: chaindataProvider.parseTokenId(balanceDef.token.id).networkId,
2155
- status: "cache"
2149
+ status: "live"
2156
2150
  }));
2157
2151
  return {
2158
2152
  success,
@@ -4438,7 +4432,7 @@ const fetchBalances$4 = async ({
4438
4432
  networkId,
4439
4433
  tokenId: token.id,
4440
4434
  source: MODULE_TYPE$3,
4441
- status: "cache",
4435
+ status: "live",
4442
4436
  values: [{
4443
4437
  type: "free",
4444
4438
  label: "free",
@@ -10372,14 +10366,18 @@ class BalancesProvider {
10372
10366
  acc[networkId][tokenId] = addresses;
10373
10367
  return acc;
10374
10368
  }, {});
10375
- return rxjs.combineLatest(lodash.toPairs(addressesByTokenIdByNetworkId).map(([networkId]) => this.getNetworkBalances$(networkId, addressesByTokenIdByNetworkId[networkId]))).pipe(rxjs.map(results => {
10376
- return {
10377
- status: results.some(({
10378
- status
10379
- }) => status === "initialising") ? "initialising" : "live",
10380
- balances: results.flatMap(result => result.balances)
10381
- };
10382
- }), rxjs.startWith({
10369
+ return rxjs.combineLatest({
10370
+ isStale: rxjs.timer(30_000).pipe(rxjs.map(() => true), rxjs.startWith(false)),
10371
+ results: rxjs.combineLatest(lodash.toPairs(addressesByTokenIdByNetworkId).map(([networkId]) => this.getNetworkBalances$(networkId, addressesByTokenIdByNetworkId[networkId])))
10372
+ }).pipe(rxjs.map(({
10373
+ isStale,
10374
+ results
10375
+ }) => ({
10376
+ status: !isStale && results.some(({
10377
+ status
10378
+ }) => status === "initialising") ? "initialising" : "live",
10379
+ balances: results.flatMap(result => result.balances)
10380
+ })), rxjs.startWith({
10383
10381
  status: "initialising",
10384
10382
  balances: this.getStoredBalances(addressesByTokenId)
10385
10383
  }), rxjs.distinctUntilChanged(lodash.isEqual));
@@ -1562,7 +1562,6 @@ const fetchWithoutAggregator$1 = async (client, balanceDefs) => {
1562
1562
  success: [],
1563
1563
  errors: []
1564
1564
  };
1565
- log.debug("fetching %s balances without aggregator", MODULE_TYPE$8, balanceDefs.length);
1566
1565
  const results = await Promise.allSettled(balanceDefs.map(async ({
1567
1566
  token,
1568
1567
  address
@@ -1580,7 +1579,7 @@ const fetchWithoutAggregator$1 = async (client, balanceDefs) => {
1580
1579
  value: result.toString(),
1581
1580
  source: MODULE_TYPE$8,
1582
1581
  networkId: parseEvmErc20TokenId(token.id).networkId,
1583
- status: "cache"
1582
+ status: "live"
1584
1583
  };
1585
1584
  return balance;
1586
1585
  } catch (err) {
@@ -1607,7 +1606,6 @@ const fetchWithAggregator$1 = async (client, balanceDefs, erc20BalancesAggregato
1607
1606
  success: [],
1608
1607
  errors: []
1609
1608
  };
1610
- log.debug("fetching %s balances with aggregator", MODULE_TYPE$8, balanceDefs.length);
1611
1609
  try {
1612
1610
  const erc20Balances = await client.readContract({
1613
1611
  abi: erc20BalancesAggregatorAbi,
@@ -1624,7 +1622,7 @@ const fetchWithAggregator$1 = async (client, balanceDefs, erc20BalancesAggregato
1624
1622
  value: erc20Balances[index].toString(),
1625
1623
  source: MODULE_TYPE$8,
1626
1624
  networkId: parseTokenId(balanceDef.token.id).networkId,
1627
- status: "cache"
1625
+ status: "live"
1628
1626
  }));
1629
1627
  return {
1630
1628
  success,
@@ -1860,7 +1858,6 @@ const fetchWithoutMulticall = async (client, balanceDefs) => {
1860
1858
  success: [],
1861
1859
  errors: []
1862
1860
  };
1863
- log.debug("fetching %s balances without multicall3", MODULE_TYPE$7, balanceDefs.length);
1864
1861
  const results = await Promise.allSettled(balanceDefs.map(async ({
1865
1862
  token,
1866
1863
  address
@@ -1902,7 +1899,6 @@ const fetchWithMulticall = async (client, balanceDefs, multicall3Address) => {
1902
1899
  success: [],
1903
1900
  errors: []
1904
1901
  };
1905
- log.debug("fetching %s balances with multicall3", MODULE_TYPE$7, balanceDefs.length);
1906
1902
  try {
1907
1903
  const callResults = await client.multicall({
1908
1904
  contracts: balanceDefs.map(({
@@ -2077,7 +2073,6 @@ const fetchWithoutAggregator = async (client, balanceDefs) => {
2077
2073
  success: [],
2078
2074
  errors: []
2079
2075
  };
2080
- log.debug("fetching %s balances without aggregator", MODULE_TYPE$6, balanceDefs.length);
2081
2076
  const results = await Promise.allSettled(balanceDefs.map(async ({
2082
2077
  token,
2083
2078
  address
@@ -2095,7 +2090,7 @@ const fetchWithoutAggregator = async (client, balanceDefs) => {
2095
2090
  value: result.toString(),
2096
2091
  source: MODULE_TYPE$6,
2097
2092
  networkId: parseTokenId(token.id).networkId,
2098
- status: "cache"
2093
+ status: "live"
2099
2094
  };
2100
2095
  return balance;
2101
2096
  } catch (err) {
@@ -2122,7 +2117,6 @@ const fetchWithAggregator = async (client, balanceDefs, erc20BalancesAggregatorA
2122
2117
  success: [],
2123
2118
  errors: []
2124
2119
  };
2125
- log.debug("fetching %s balances with aggregator", MODULE_TYPE$6, balanceDefs.length);
2126
2120
  try {
2127
2121
  const erc20Balances = await client.readContract({
2128
2122
  abi: erc20BalancesAggregatorAbi,
@@ -2139,7 +2133,7 @@ const fetchWithAggregator = async (client, balanceDefs, erc20BalancesAggregatorA
2139
2133
  value: erc20Balances[index].toString(),
2140
2134
  source: MODULE_TYPE$6,
2141
2135
  networkId: parseTokenId(balanceDef.token.id).networkId,
2142
- status: "cache"
2136
+ status: "live"
2143
2137
  }));
2144
2138
  return {
2145
2139
  success,
@@ -4425,7 +4419,7 @@ const fetchBalances$4 = async ({
4425
4419
  networkId,
4426
4420
  tokenId: token.id,
4427
4421
  source: MODULE_TYPE$3,
4428
- status: "cache",
4422
+ status: "live",
4429
4423
  values: [{
4430
4424
  type: "free",
4431
4425
  label: "free",
@@ -10359,14 +10353,18 @@ class BalancesProvider {
10359
10353
  acc[networkId][tokenId] = addresses;
10360
10354
  return acc;
10361
10355
  }, {});
10362
- return combineLatest(toPairs(addressesByTokenIdByNetworkId).map(([networkId]) => this.getNetworkBalances$(networkId, addressesByTokenIdByNetworkId[networkId]))).pipe(map(results => {
10363
- return {
10364
- status: results.some(({
10365
- status
10366
- }) => status === "initialising") ? "initialising" : "live",
10367
- balances: results.flatMap(result => result.balances)
10368
- };
10369
- }), startWith({
10356
+ return combineLatest({
10357
+ isStale: timer(30_000).pipe(map(() => true), startWith(false)),
10358
+ results: combineLatest(toPairs(addressesByTokenIdByNetworkId).map(([networkId]) => this.getNetworkBalances$(networkId, addressesByTokenIdByNetworkId[networkId])))
10359
+ }).pipe(map(({
10360
+ isStale,
10361
+ results
10362
+ }) => ({
10363
+ status: !isStale && results.some(({
10364
+ status
10365
+ }) => status === "initialising") ? "initialising" : "live",
10366
+ balances: results.flatMap(result => result.balances)
10367
+ })), startWith({
10370
10368
  status: "initialising",
10371
10369
  balances: this.getStoredBalances(addressesByTokenId)
10372
10370
  }), distinctUntilChanged(isEqual));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talismn/balances",
3
- "version": "0.0.0-pr2075-20250708151500",
3
+ "version": "0.0.0-pr2075-20250708160640",
4
4
  "author": "Talisman",
5
5
  "homepage": "https://talisman.xyz",
6
6
  "license": "GPL-3.0-or-later",
@@ -35,13 +35,13 @@
35
35
  "scale-ts": "^1.6.1",
36
36
  "viem": "^2.27.3",
37
37
  "zod": "^3.25.62",
38
- "@talismn/chain-connector": "0.0.0-pr2075-20250708151500",
39
- "@talismn/chain-connector-evm": "0.0.0-pr2075-20250708151500",
40
- "@talismn/chaindata-provider": "0.0.0-pr2075-20250708151500",
41
- "@talismn/sapi": "0.0.0-pr2075-20250708151500",
42
- "@talismn/scale": "0.0.0-pr2075-20250708151500",
43
- "@talismn/token-rates": "0.0.0-pr2075-20250708151500",
44
- "@talismn/util": "0.0.0-pr2075-20250708151500"
38
+ "@talismn/chain-connector": "0.0.0-pr2075-20250708160640",
39
+ "@talismn/chain-connector-evm": "0.0.0-pr2075-20250708160640",
40
+ "@talismn/chaindata-provider": "0.0.0-pr2075-20250708160640",
41
+ "@talismn/sapi": "0.0.0-pr2075-20250708160640",
42
+ "@talismn/scale": "0.0.0-pr2075-20250708160640",
43
+ "@talismn/token-rates": "0.0.0-pr2075-20250708160640",
44
+ "@talismn/util": "0.0.0-pr2075-20250708160640"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@polkadot/api-contract": "16.1.2",