@vultisig/core-chain 1.7.0 → 1.7.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,13 @@
1
1
  # @vultisig/core-chain
2
2
 
3
+ ## 1.7.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#455](https://github.com/vultisig/vultisig-sdk/pull/455) [`5102976`](https://github.com/vultisig/vultisig-sdk/commit/5102976d7c13fa9578bbbc6e5122526cefc1ec66) Thanks [@rcoderdev](https://github.com/rcoderdev)! - Normalize THORChain/MayaChain native swap asset ids: single-segment denoms and simple `x/…` paths map to `THOR.<ticker>` / `MAYA.<ticker>`; secured `chain-symbol-0x…` denoms map to `CHAIN.SYMBOL` notation using the canonical `nativeSwapChainIds` mapping. Full `CHAIN.SYMBOL` strings and unrecognized complex denoms remain unchanged.
8
+
9
+ - [#456](https://github.com/vultisig/vultisig-sdk/pull/456) [`b36eb62`](https://github.com/vultisig/vultisig-sdk/commit/b36eb62842051b8b2bae06f1e123a5ebcf6cad88) Thanks [@rcoderdev](https://github.com/rcoderdev)! - Add Terra CW20 metadata resolution and build CW20 token sends as CosmWasm execute transfers.
10
+
3
11
  ## 1.7.0
4
12
 
5
13
  ### Minor Changes
@@ -1,5 +1,13 @@
1
1
  import { CosmosChain } from '@vultisig/core-chain/Chain';
2
2
  import { AccountCoinKey } from '@vultisig/core-chain/coin/AccountCoin';
3
+ type CosmosWasmContract = {
4
+ chain: CosmosChain;
5
+ id: string;
6
+ };
3
7
  export declare const cosmosRpcUrl: Record<CosmosChain, string>;
4
- export declare const getCosmosWasmTokenBalanceUrl: ({ chain, id, address, }: AccountCoinKey<CosmosChain>) => string;
8
+ export declare const isCosmosWasmTokenId: (id?: string) => id is string;
9
+ export declare const getCosmosWasmSmartQueryUrl: ({ chain, id }: CosmosWasmContract, query: object) => string;
10
+ export declare const getCosmosWasmTokenBalanceUrl: ({ chain, id, address }: AccountCoinKey<CosmosChain>) => string;
11
+ export declare const getCosmosWasmTokenInfoUrl: (input: CosmosWasmContract) => string;
12
+ export {};
5
13
  //# sourceMappingURL=cosmosRpcUrl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cosmosRpcUrl.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/cosmos/cosmosRpcUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAGtE,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAWpD,CAAA;AAED,eAAO,MAAM,4BAA4B,GAAI,yBAI1C,cAAc,CAAC,WAAW,CAAC,WAC4F,CAAA"}
1
+ {"version":3,"file":"cosmosRpcUrl.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/cosmos/cosmosRpcUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAItE,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,WAAW,CAAA;IAClB,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAWpD,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,KAAK,MAAM,KAAG,EAAE,IAAI,MAQvD,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAI,eAAe,kBAAkB,EAAE,OAAO,MAAM,WACY,CAAA;AAEvG,eAAO,MAAM,4BAA4B,GAAI,wBAAwB,cAAc,CAAC,WAAW,CAAC,WAO7F,CAAA;AAEH,eAAO,MAAM,yBAAyB,GAAI,OAAO,kBAAkB,WACZ,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { shouldBePresent } from '@vultisig/lib-utils/assert/shouldBePresent';
1
2
  import { base64Encode } from '@vultisig/lib-utils/base64Encode';
2
3
  export const cosmosRpcUrl = {
3
4
  Cosmos: 'https://cosmos-rest.publicnode.com',
@@ -11,5 +12,17 @@ export const cosmosRpcUrl = {
11
12
  MayaChain: 'https://mayanode.mayachain.info',
12
13
  Akash: 'https://akash-rest.publicnode.com',
13
14
  };
14
- export const getCosmosWasmTokenBalanceUrl = ({ chain, id, address, }) => `${cosmosRpcUrl[chain]}/cosmwasm/wasm/v1/contract/${id}/smart/${base64Encode(JSON.stringify({ balance: { address } }))}`;
15
+ export const isCosmosWasmTokenId = (id) => {
16
+ if (!id || id.startsWith('ibc/') || id.startsWith('factory/')) {
17
+ return false;
18
+ }
19
+ const wasmTokenPattern = /^[a-z]+1[a-z0-9]{20,80}$/;
20
+ return wasmTokenPattern.test(id);
21
+ };
22
+ export const getCosmosWasmSmartQueryUrl = ({ chain, id }, query) => `${cosmosRpcUrl[chain]}/cosmwasm/wasm/v1/contract/${id}/smart/${base64Encode(JSON.stringify(query))}`;
23
+ export const getCosmosWasmTokenBalanceUrl = ({ chain, id, address }) => getCosmosWasmSmartQueryUrl({
24
+ chain,
25
+ id: shouldBePresent(id),
26
+ }, { balance: { address } });
27
+ export const getCosmosWasmTokenInfoUrl = (input) => getCosmosWasmSmartQueryUrl(input, { token_info: {} });
15
28
  //# sourceMappingURL=cosmosRpcUrl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cosmosRpcUrl.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/cosmos/cosmosRpcUrl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAE/D,MAAM,CAAC,MAAM,YAAY,GAAgC;IACvD,MAAM,EAAE,oCAAoC;IAC5C,OAAO,EAAE,qCAAqC;IAC9C,IAAI,EAAE,kCAAkC;IACxC,MAAM,EAAE,oCAAoC;IAC5C,KAAK,EAAE,kCAAkC;IACzC,YAAY,EAAE,0CAA0C;IACxD,KAAK,EAAE,gCAAgC;IACvC,SAAS,EAAE,iDAAiD;IAC5D,SAAS,EAAE,iCAAiC;IAC5C,KAAK,EAAE,mCAAmC;CAC3C,CAAA;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAC3C,KAAK,EACL,EAAE,EACF,OAAO,GACqB,EAAE,EAAE,CAChC,GAAG,YAAY,CAAC,KAAK,CAAC,8BAA8B,EAAE,UAAU,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAA"}
1
+ {"version":3,"file":"cosmosRpcUrl.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/cosmos/cosmosRpcUrl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAO/D,MAAM,CAAC,MAAM,YAAY,GAAgC;IACvD,MAAM,EAAE,oCAAoC;IAC5C,OAAO,EAAE,qCAAqC;IAC9C,IAAI,EAAE,kCAAkC;IACxC,MAAM,EAAE,oCAAoC;IAC5C,KAAK,EAAE,kCAAkC;IACzC,YAAY,EAAE,0CAA0C;IACxD,KAAK,EAAE,gCAAgC;IACvC,SAAS,EAAE,iDAAiD;IAC5D,SAAS,EAAE,iCAAiC;IAC5C,KAAK,EAAE,mCAAmC;CAC3C,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAW,EAAgB,EAAE;IAC/D,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9D,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,gBAAgB,GAAG,0BAA0B,CAAA;IAEnD,OAAO,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAClC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAsB,EAAE,KAAa,EAAE,EAAE,CAC7F,GAAG,YAAY,CAAC,KAAK,CAAC,8BAA8B,EAAE,UAAU,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAA;AAEvG,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAA+B,EAAE,EAAE,CAClG,0BAA0B,CACxB;IACE,KAAK;IACL,EAAE,EAAE,eAAe,CAAC,EAAE,CAAC;CACxB,EACD,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CACzB,CAAA;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAyB,EAAE,EAAE,CACrE,0BAA0B,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/balance/resolvers/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAMxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAYjD,eAAO,MAAM,oBAAoB,EAAE,mBAAmB,CACpD,WAAW,CAeZ,CAAA"}
1
+ {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/balance/resolvers/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAMxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,oBAAoB,EAAE,mBAAmB,CAAC,WAAW,CAcjE,CAAA"}
@@ -1,16 +1,9 @@
1
1
  import { getCosmosClient } from '@vultisig/core-chain/chains/cosmos/client';
2
- import { getCosmosWasmTokenBalanceUrl } from '@vultisig/core-chain/chains/cosmos/cosmosRpcUrl';
2
+ import { getCosmosWasmTokenBalanceUrl, isCosmosWasmTokenId } from '@vultisig/core-chain/chains/cosmos/cosmosRpcUrl';
3
3
  import { getDenom } from '@vultisig/core-chain/coin/utils/getDenom';
4
4
  import { queryUrl } from '@vultisig/lib-utils/query/queryUrl';
5
- const isWasmToken = (id) => {
6
- if (id.startsWith('ibc/') || id.startsWith('factory/')) {
7
- return false;
8
- }
9
- const wasmTokenPattern = /^[a-z]+1[a-z0-9]{20,80}$/;
10
- return wasmTokenPattern.test(id);
11
- };
12
5
  export const getCosmosCoinBalance = async (input) => {
13
- if (input.id && isWasmToken(input.id)) {
6
+ if (isCosmosWasmTokenId(input.id)) {
14
7
  const url = getCosmosWasmTokenBalanceUrl(input);
15
8
  const { data } = await queryUrl(url);
16
9
  return BigInt(data.balance ?? 0);
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/balance/resolvers/cosmos.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAA;AAC9F,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAI7D,MAAM,WAAW,GAAG,CAAC,EAAU,EAAW,EAAE;IAC1C,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACvD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,gBAAgB,GAAG,0BAA0B,CAAA;IAEnD,OAAO,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAClC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAE7B,KAAK,EAAC,KAAK,EAAC,EAAE;IAChB,IAAI,KAAK,CAAC,EAAE,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAA;QAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAoB,GAAG,CAAC,CAAA;QACvD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAA;IAClC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAEjD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE7B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAE7D,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AAC/B,CAAC,CAAA"}
1
+ {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/balance/resolvers/cosmos.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAA;AACnH,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAI7D,MAAM,CAAC,MAAM,oBAAoB,GAAqC,KAAK,EAAC,KAAK,EAAC,EAAE;IAClF,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAA;QAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAoB,GAAG,CAAC,CAAA;QACvD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAA;IAClC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAEjD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE7B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAE7D,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AAC/B,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/coin/token/metadata/resolvers/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAGxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAA;AA+DzF,eAAO,MAAM,sBAAsB,EAAE,qBAAqB,CACxD,WAAW,CAqBZ,CAAA"}
1
+ {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/coin/token/metadata/resolvers/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAQxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAA;AAgFzF,eAAO,MAAM,sBAAsB,EAAE,qBAAqB,CAAC,WAAW,CAuCrE,CAAA"}
@@ -1,4 +1,4 @@
1
- import { cosmosRpcUrl } from '@vultisig/core-chain/chains/cosmos/cosmosRpcUrl';
1
+ import { cosmosRpcUrl, getCosmosWasmTokenInfoUrl, isCosmosWasmTokenId, } from '@vultisig/core-chain/chains/cosmos/cosmosRpcUrl';
2
2
  import { knownCosmosTokens } from '@vultisig/core-chain/coin/knownTokens/cosmos';
3
3
  import { getLastItem } from '@vultisig/lib-utils/array/getLastItem';
4
4
  import { attempt } from '@vultisig/lib-utils/attempt';
@@ -7,8 +7,15 @@ import { queryUrl } from '@vultisig/lib-utils/query/queryUrl';
7
7
  const decimalsFromMeta = (meta) => {
8
8
  if (!meta.denom_units || !meta.display)
9
9
  return null;
10
- const unit = meta.denom_units.find(u => u.denom === (meta.symbol || meta.display));
11
- return unit?.exponent ?? null;
10
+ const byDisplay = meta.denom_units.find(u => u.denom === meta.display);
11
+ if (byDisplay)
12
+ return byDisplay.exponent;
13
+ if (meta.symbol) {
14
+ const bySymbol = meta.denom_units.find(u => u.denom === meta.symbol);
15
+ if (bySymbol)
16
+ return bySymbol.exponent;
17
+ }
18
+ return null;
12
19
  };
13
20
  const deriveTicker = (denom, meta) => {
14
21
  if (meta.symbol)
@@ -41,6 +48,20 @@ const getDenomMetaFromLCD = async (lcdBase, denom) => {
41
48
  return listRes.data?.metadatas?.find(data => data.base === denom) ?? null;
42
49
  });
43
50
  };
51
+ const getCw20MetaFromLCD = async (chain, id) => {
52
+ const { data } = await queryUrl(getCosmosWasmTokenInfoUrl({ chain, id }));
53
+ const ticker = data?.symbol?.trim();
54
+ if (!ticker)
55
+ throw new Error(`Could not fetch CW20 symbol for ${id}`);
56
+ const decimals = data?.decimals;
57
+ if (typeof decimals !== 'number' || !Number.isInteger(decimals) || decimals < 0) {
58
+ throw new Error(`Could not fetch CW20 decimals for ${id}`);
59
+ }
60
+ return {
61
+ ticker,
62
+ decimals,
63
+ };
64
+ };
44
65
  export const getCosmosTokenMetadata = async ({ chain, id }) => {
45
66
  const knownMeta = knownCosmosTokens[chain]?.[id];
46
67
  if (knownMeta) {
@@ -49,12 +70,28 @@ export const getCosmosTokenMetadata = async ({ chain, id }) => {
49
70
  decimals: knownMeta.decimals,
50
71
  };
51
72
  }
73
+ if (isCosmosWasmTokenId(id)) {
74
+ return asyncFallbackChain(async () => getCw20MetaFromLCD(chain, id), async () => {
75
+ const lcd = cosmosRpcUrl[chain];
76
+ const meta = await getDenomMetaFromLCD(lcd, id);
77
+ if (!meta)
78
+ throw new Error(`No denom meta information available for ${id}`);
79
+ const decimals = decimalsFromMeta(meta);
80
+ if (decimals === null)
81
+ throw new Error(`Could not fetch decimal for ${id}`);
82
+ const ticker = deriveTicker(id, meta);
83
+ return {
84
+ ticker,
85
+ decimals,
86
+ };
87
+ });
88
+ }
52
89
  const lcd = cosmosRpcUrl[chain];
53
90
  const meta = await getDenomMetaFromLCD(lcd, id);
54
91
  if (!meta)
55
92
  throw new Error(`No denom meta information available for ${id}`);
56
93
  const decimals = decimalsFromMeta(meta);
57
- if (!decimals)
94
+ if (decimals === null)
58
95
  throw new Error(`Could not fetch decimal for ${id}`);
59
96
  const ticker = deriveTicker(id, meta);
60
97
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/coin/token/metadata/resolvers/cosmos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/coin/token/metadata/resolvers/cosmos.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,28 @@ export declare const nativeSwapEnabledChainsRecord: {
14
14
  };
15
15
  type NativeSwapEnabledChain = (typeof nativeSwapEnabledChainsRecord)[NativeSwapChain][number];
16
16
  export declare const nativeSwapEnabledChains: NativeSwapEnabledChain[];
17
- export declare const nativeSwapChainIds: Record<NativeSwapEnabledChain, string>;
17
+ export declare const nativeSwapChainIds: {
18
+ Avalanche: string;
19
+ "Bitcoin-Cash": string;
20
+ BSC: string;
21
+ Bitcoin: string;
22
+ Dogecoin: string;
23
+ Ethereum: string;
24
+ Cosmos: string;
25
+ Litecoin: string;
26
+ THORChain: string;
27
+ MayaChain: string;
28
+ Kujira: string;
29
+ Dash: string;
30
+ Arbitrum: string;
31
+ Zcash: string;
32
+ Ripple: string;
33
+ Base: string;
34
+ Solana: string;
35
+ Tron: string;
36
+ Noble: string;
37
+ };
38
+ export type NativeSwapChainId = (typeof nativeSwapChainIds)[NativeSwapEnabledChain];
18
39
  type NativeSwapPayloadCase = 'thorchainSwapPayload' | 'mayachainSwapPayload';
19
40
  export declare const nativeSwapPayloadCase: Record<NativeSwapChain, NativeSwapPayloadCase>;
20
41
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"NativeSwapChain.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/native/NativeSwapChain.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,qCAA8C,CAAA;AAC3E,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/D,wFAAwF;AACxF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAGvE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,0CAA0C,MAAM,CAAA;AAE7D,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAGhE,CAAA;AAmBD,eAAO,MAAM,6BAA6B;;;CAYhC,CAAA;AAEV,KAAK,sBAAsB,GACzB,CAAC,OAAO,6BAA6B,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjE,eAAO,MAAM,uBAAuB,EAE/B,sBAAsB,EAAE,CAAA;AAE7B,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAoBrE,CAAA;AAED,KAAK,qBAAqB,GACtB,sBAAsB,GACtB,sBAAsB,CAAA;AAE1B,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,eAAe,EACf,qBAAqB,CAItB,CAAA"}
1
+ {"version":3,"file":"NativeSwapChain.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/native/NativeSwapChain.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,qCAA8C,CAAA;AAC3E,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/D,wFAAwF;AACxF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAGvE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,0CAA0C,MAAM,CAAA;AAE7D,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAGhE,CAAA;AAmBD,eAAO,MAAM,6BAA6B;;;CAYhC,CAAA;AAEV,KAAK,sBAAsB,GACzB,CAAC,OAAO,6BAA6B,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjE,eAAO,MAAM,uBAAuB,EAE/B,sBAAsB,EAAE,CAAA;AAE7B,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;CAoBmB,CAAA;AAClD,MAAM,MAAM,iBAAiB,GAC3B,CAAC,OAAO,kBAAkB,CAAC,CAAC,sBAAsB,CAAC,CAAA;AAErD,KAAK,qBAAqB,GACtB,sBAAsB,GACtB,sBAAsB,CAAA;AAE1B,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,eAAe,EACf,qBAAqB,CAItB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"NativeSwapChain.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/native/NativeSwapChain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NativeSwapChain.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/native/NativeSwapChain.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"toNativeSwapAsset.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/asset/toNativeSwapAsset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAGxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAA;AAShF,kFAAkF;AAClF,eAAO,MAAM,iBAAiB,GAAI,wBAI/B,OAAO,GAAG,gBAAgB,KAAG,MAgB/B,CAAA"}
1
+ {"version":3,"file":"toNativeSwapAsset.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/asset/toNativeSwapAsset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAGxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAA;AA2EhF,kFAAkF;AAClF,eAAO,MAAM,iBAAiB,GAAI,wBAI/B,OAAO,GAAG,gBAAgB,KAAG,MAoB/B,CAAA"}
@@ -2,6 +2,44 @@ import { isOneOf } from '@vultisig/lib-utils/array/isOneOf';
2
2
  import { shouldBePresent } from '@vultisig/lib-utils/assert/shouldBePresent';
3
3
  import { isFeeCoin } from '../../../coin/utils/isFeeCoin.js';
4
4
  import { nativeSwapChainIds, nativeSwapChains, nativeSwapEnabledChains, } from '../NativeSwapChain.js';
5
+ const nativeSwapChainIdValues = Object.values(nativeSwapChainIds);
6
+ const securedAssetDenomChainKeyToSwapId = Object.fromEntries(nativeSwapChainIdValues.map(swapId => [
7
+ swapId.toLowerCase(),
8
+ swapId,
9
+ ]));
10
+ const getSecuredAssetSwapId = (chainKey) => securedAssetDenomChainKeyToSwapId[chainKey.toLowerCase()];
11
+ const formatSecuredAssetRest = (rest) => {
12
+ const evmTail = rest.match(/^(.+)-(0x[0-9a-fA-F]+)$/i);
13
+ if (evmTail) {
14
+ return `${evmTail[1].toUpperCase()}-${evmTail[2]}`;
15
+ }
16
+ return rest.toUpperCase();
17
+ };
18
+ const normalizeNativeSwapChainDenom = ({ chain, id, ticker, }) => {
19
+ let denom = id;
20
+ if (id.startsWith('x/')) {
21
+ const tail = id.slice(2);
22
+ if (!tail.includes('/')) {
23
+ denom = shouldBePresent(tail);
24
+ }
25
+ }
26
+ if (denom.includes('.')) {
27
+ return denom;
28
+ }
29
+ const segments = denom.split('-');
30
+ if (segments.length >= 2) {
31
+ const swapId = getSecuredAssetSwapId(segments[0]);
32
+ if (swapId) {
33
+ const rest = segments.slice(1).join('-');
34
+ return `${swapId}.${formatSecuredAssetRest(rest)}`;
35
+ }
36
+ }
37
+ if (!denom.includes('-') && !denom.includes('/')) {
38
+ const swapChainId = nativeSwapChainIds[chain];
39
+ return `${swapChainId}.${ticker}`;
40
+ }
41
+ return id;
42
+ };
5
43
  /** Converts a coin to the asset notation used by THORChain/MayaChain swap APIs */
6
44
  export const toNativeSwapAsset = ({ chain, id, ticker, }) => {
7
45
  if (!isOneOf(chain, nativeSwapEnabledChains)) {
@@ -12,7 +50,11 @@ export const toNativeSwapAsset = ({ chain, id, ticker, }) => {
12
50
  return `${swapChainId}.${ticker}`;
13
51
  }
14
52
  if (isOneOf(chain, nativeSwapChains)) {
15
- return shouldBePresent(id);
53
+ return normalizeNativeSwapChainDenom({
54
+ chain,
55
+ id: shouldBePresent(id),
56
+ ticker,
57
+ });
16
58
  }
17
59
  const swapChainId = nativeSwapChainIds[chain];
18
60
  return `${swapChainId}.${ticker}-${id}`;
@@ -1 +1 @@
1
- {"version":3,"file":"toNativeSwapAsset.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/asset/toNativeSwapAsset.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;AAG5E,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AACzD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,oBAAoB,CAAA;AAE3B,kFAAkF;AAClF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,KAAK,EACL,EAAE,EACF,MAAM,GACqB,EAAU,EAAE;IACvC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,uBAAuB,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,IAAI,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;QAC7C,OAAO,GAAG,WAAW,IAAI,MAAM,EAAE,CAAA;IACnC,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC;QACrC,OAAO,eAAe,CAAC,EAAE,CAAC,CAAA;IAC5B,CAAC;IAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAC7C,OAAO,GAAG,WAAW,IAAI,MAAM,IAAI,EAAE,EAAE,CAAA;AACzC,CAAC,CAAA"}
1
+ {"version":3,"file":"toNativeSwapAsset.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/asset/toNativeSwapAsset.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.7.0",
3
+ "version": "1.7.1",
4
4
  "description": "Blockchain chain logic shared across Vultisig clients",
5
5
  "license": "MIT",
6
6
  "repository": {