@vultisig/core-chain 1.6.0 → 1.6.1

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @vultisig/core-chain
2
2
 
3
+ ## 1.6.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#431](https://github.com/vultisig/vultisig-sdk/pull/431) [`1132ae5`](https://github.com/vultisig/vultisig-sdk/commit/1132ae51f8e4d5b8ca8a1855af9ea51031b574e9) Thanks [@gomesalexandre](https://github.com/gomesalexandre)! - fix cosmos denom resolver picking wrong segment for 3-part factory denoms
8
+
3
9
  ## 1.6.0
4
10
 
5
11
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/find/resolvers/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAKxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAI3E,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,WAAW,CAsC1D,CAAA"}
1
+ {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/find/resolvers/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAKxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAI3E,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,WAAW,CAqE1D,CAAA"}
@@ -15,7 +15,36 @@ export const findCosmosCoins = async ({ address, chain }) => {
15
15
  .then(({ ticker }) => ({ denom, ticker }))
16
16
  .catch(() => ({ denom, ticker: undefined }))));
17
17
  return without(coins.map(({ denom, ticker }) => {
18
- const coinTicker = ticker || denom.split(/[-./]/)[1]?.toUpperCase();
18
+ // #428: ticker fallback for denoms that lack metadata. Tiered by
19
+ // denom shape - they aren't all the same:
20
+ //
21
+ // 1. factory/{addr}/{subdenom} (THORChain factory tokens etc.) -
22
+ // use slash-last. The legacy `split(/[-./]/)[1]` would resolve
23
+ // to the creator address. Slash-last also preserves dotted
24
+ // suffixes (`usdc.v2` -> `USDC.V2`) and hyphenated tails
25
+ // (`yA-USDC` -> `YA-USDC`), mirroring the metadata resolver's
26
+ // deriveTicker semantics
27
+ // (packages/core/chain/coin/token/metadata/resolvers/cosmos.ts).
28
+ //
29
+ // 2. THORChain secured assets / dotted IBC (`btc-btc`,
30
+ // `eth-usdc-0xa0b...`, `foo/bar`) - the legacy `[-./]` split is
31
+ // correct, `[1]` resolves to the asset ticker (`btc`/`usdc`/
32
+ // `bar`). Switching ALL denoms to slash-last would regress
33
+ // these because `btc-btc` contains no `/` - `.at(-1)` would
34
+ // surface the entire denom (`BTC-BTC`).
35
+ //
36
+ // 3. Single-token (no separator, e.g. `mysterytoken`) - the
37
+ // `[-./]` split returns `[1] = undefined`, so we fall back to
38
+ // the denom itself uppercased. Strictly better than silently
39
+ // dropping the coin from the user's balance list.
40
+ const factoryTail = denom.startsWith('factory/')
41
+ ? denom.split('/').at(-1)
42
+ : undefined;
43
+ const legacyMid = denom.split(/[-./]/)[1];
44
+ const coinTicker = (ticker ||
45
+ factoryTail ||
46
+ legacyMid ||
47
+ denom)?.toUpperCase();
19
48
  if (!coinTicker) {
20
49
  console.error(`Failed to extract ticker from ${denom}`);
21
50
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/find/resolvers/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAA;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,iEAAiE,CAAA;AACzG,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AAErE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAA;AAClG,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAE3D,MAAM,CAAC,MAAM,eAAe,GAAmC,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;IAC1F,kFAAkF;IAClF,IAAI,KAAK,KAAK,WAAW,CAAC,SAAS;QAAE,OAAO,EAAE,CAAA;IAE9C,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IACrD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,OAAO,CACL,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EAClC,kBAAkB,CAAC,KAAK,CAAC,EACzB,uBAAuB,CAAC,UAAU,CACnC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CACZ,sBAAsB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;SACzC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;SACzC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAC/C,CACF,CAAA;IAED,OAAO,OAAO,CACZ,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;QAC9B,MAAM,UAAU,GAAG,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAA;QAEnE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAA;YACvD,OAAM;QACR,CAAC;QAED,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK;YACL,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,QAAQ;YACtC,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE;YAC9B,OAAO;SACR,CAAA;IACH,CAAC,CAAC,EACF,SAAS,CACV,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/find/resolvers/cosmos.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vultisig/core-chain",
3
- "version": "1.6.0",
3
+ "version": "1.6.1",
4
4
  "description": "Blockchain chain logic shared across Vultisig clients",
5
5
  "license": "MIT",
6
6
  "repository": {