@vultisig/core-chain 1.6.1 → 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 +16 -0
- package/dist/chains/cosmos/cosmosRpcUrl.d.ts +9 -1
- package/dist/chains/cosmos/cosmosRpcUrl.d.ts.map +1 -1
- package/dist/chains/cosmos/cosmosRpcUrl.js +14 -1
- package/dist/chains/cosmos/cosmosRpcUrl.js.map +1 -1
- package/dist/chains/evm/contract/knownContracts.d.ts +50 -0
- package/dist/chains/evm/contract/knownContracts.d.ts.map +1 -0
- package/dist/chains/evm/contract/knownContracts.js +113 -0
- package/dist/chains/evm/contract/knownContracts.js.map +1 -0
- package/dist/coin/balance/resolvers/cosmos.d.ts.map +1 -1
- package/dist/coin/balance/resolvers/cosmos.js +2 -9
- package/dist/coin/balance/resolvers/cosmos.js.map +1 -1
- package/dist/coin/token/metadata/resolvers/cosmos.d.ts.map +1 -1
- package/dist/coin/token/metadata/resolvers/cosmos.js +41 -4
- package/dist/coin/token/metadata/resolvers/cosmos.js.map +1 -1
- package/dist/swap/native/NativeSwapChain.d.ts +22 -1
- package/dist/swap/native/NativeSwapChain.d.ts.map +1 -1
- package/dist/swap/native/NativeSwapChain.js.map +1 -1
- package/dist/swap/native/asset/toNativeSwapAsset.d.ts.map +1 -1
- package/dist/swap/native/asset/toNativeSwapAsset.js +43 -1
- package/dist/swap/native/asset/toNativeSwapAsset.js.map +1 -1
- package/package.json +6 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
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
|
+
|
|
11
|
+
## 1.7.0
|
|
12
|
+
|
|
13
|
+
### Minor Changes
|
|
14
|
+
|
|
15
|
+
- [#441](https://github.com/vultisig/vultisig-sdk/pull/441) [`e3dc2e8`](https://github.com/vultisig/vultisig-sdk/commit/e3dc2e828b3e4f95b293d4493bddbc176bbb3bb7) Thanks [@Ehsan-saradar](https://github.com/Ehsan-saradar)! - feat(chain/evm): static known-contract label registry for offline transaction-intent display
|
|
16
|
+
|
|
17
|
+
Adds `chains/evm/contract/knownContracts.ts` mapping well-known EVM contract addresses (Uniswap V2/V3 routers, 1inch V5/V6, Permit2, THORChain Router, Aave V3 Pool) to human-readable labels and categories. Complements `commonSelectors.ts`: that table labels what function is being called, this one labels who is being called (and lets UIs label spender-style address arguments). Lookup is offline, case-insensitive, and optionally chain-scoped.
|
|
18
|
+
|
|
3
19
|
## 1.6.1
|
|
4
20
|
|
|
5
21
|
### Patch 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
|
|
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;
|
|
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
|
|
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;
|
|
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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Static registry of well-known EVM contract addresses with human-readable
|
|
3
|
+
* labels. Used by transaction-intent display to label both the recipient
|
|
4
|
+
* (`tx.to`) of a contract call and address-typed arguments such as the
|
|
5
|
+
* `spender` in `approve(address,uint256)`.
|
|
6
|
+
*
|
|
7
|
+
* Layering for transaction-intent display:
|
|
8
|
+
*
|
|
9
|
+
* 1. Blockaid simulation may already attribute well-known contracts in its
|
|
10
|
+
* `transaction_actions` / `address_validation` payloads — especially
|
|
11
|
+
* malicious or sanctioned addresses. Run that first when available.
|
|
12
|
+
*
|
|
13
|
+
* 2. This static table — offline fast-path for the long tail of well-known
|
|
14
|
+
* routers, aggregators, and protocol entry points the user is likely
|
|
15
|
+
* interacting with on a healthy chain. Resolves instantly with no
|
|
16
|
+
* network round-trip.
|
|
17
|
+
*
|
|
18
|
+
* Addresses are normalized to lowercase. Keys must be 0x-prefixed 40-hex-char
|
|
19
|
+
* strings (the canonical EIP-55 checksum form is lowercased here for stable
|
|
20
|
+
* lookup; callers may pass any casing).
|
|
21
|
+
*
|
|
22
|
+
* Chain scoping: many DEX/aggregator deployments use deterministic CREATE2
|
|
23
|
+
* addresses and live at the same address across every EVM chain. Such
|
|
24
|
+
* entries omit `chains`. Entries that are tied to a specific deployment
|
|
25
|
+
* include `chains` so the lookup helper can filter when the caller knows
|
|
26
|
+
* which chain the transaction is on.
|
|
27
|
+
*/
|
|
28
|
+
import type { EvmChain } from '../../../Chain.js';
|
|
29
|
+
export type KnownEvmContractCategory = 'DEX Router' | 'DEX Aggregator' | 'Token Approval Helper' | 'Cross-Chain Bridge' | 'Lending Protocol' | 'NFT Marketplace';
|
|
30
|
+
export type KnownEvmContract = {
|
|
31
|
+
label: string;
|
|
32
|
+
category: KnownEvmContractCategory;
|
|
33
|
+
/**
|
|
34
|
+
* If present, the entry is only valid on these chains. Omit for entries
|
|
35
|
+
* whose canonical deployment uses the same address on every EVM chain
|
|
36
|
+
* (deterministic CREATE2 deploys).
|
|
37
|
+
*/
|
|
38
|
+
chains?: ReadonlyArray<EvmChain>;
|
|
39
|
+
};
|
|
40
|
+
export declare const knownEvmContracts: Readonly<Record<string, KnownEvmContract>>;
|
|
41
|
+
export type LookupKnownEvmContractOptions = {
|
|
42
|
+
/**
|
|
43
|
+
* Chain the transaction is on. When omitted the lookup ignores any
|
|
44
|
+
* chain-scoping on entries (best-effort labeling). When supplied, entries
|
|
45
|
+
* with a `chains` filter only match if the chain is in that list.
|
|
46
|
+
*/
|
|
47
|
+
chain?: EvmChain;
|
|
48
|
+
};
|
|
49
|
+
export declare const lookupKnownEvmContract: (address: string, options?: LookupKnownEvmContractOptions) => KnownEvmContract | null;
|
|
50
|
+
//# sourceMappingURL=knownContracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knownContracts.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/evm/contract/knownContracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C,MAAM,MAAM,wBAAwB,GAChC,YAAY,GACZ,gBAAgB,GAChB,uBAAuB,GACvB,oBAAoB,GACpB,kBAAkB,GAClB,iBAAiB,CAAA;AAErB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,wBAAwB,CAAA;IAClC;;;;OAIG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAoFxE,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;;;OAIG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,sBAAsB,GACjC,SAAS,MAAM,EACf,UAAU,6BAA6B,KACtC,gBAAgB,GAAG,IASrB,CAAA"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Static registry of well-known EVM contract addresses with human-readable
|
|
3
|
+
* labels. Used by transaction-intent display to label both the recipient
|
|
4
|
+
* (`tx.to`) of a contract call and address-typed arguments such as the
|
|
5
|
+
* `spender` in `approve(address,uint256)`.
|
|
6
|
+
*
|
|
7
|
+
* Layering for transaction-intent display:
|
|
8
|
+
*
|
|
9
|
+
* 1. Blockaid simulation may already attribute well-known contracts in its
|
|
10
|
+
* `transaction_actions` / `address_validation` payloads — especially
|
|
11
|
+
* malicious or sanctioned addresses. Run that first when available.
|
|
12
|
+
*
|
|
13
|
+
* 2. This static table — offline fast-path for the long tail of well-known
|
|
14
|
+
* routers, aggregators, and protocol entry points the user is likely
|
|
15
|
+
* interacting with on a healthy chain. Resolves instantly with no
|
|
16
|
+
* network round-trip.
|
|
17
|
+
*
|
|
18
|
+
* Addresses are normalized to lowercase. Keys must be 0x-prefixed 40-hex-char
|
|
19
|
+
* strings (the canonical EIP-55 checksum form is lowercased here for stable
|
|
20
|
+
* lookup; callers may pass any casing).
|
|
21
|
+
*
|
|
22
|
+
* Chain scoping: many DEX/aggregator deployments use deterministic CREATE2
|
|
23
|
+
* addresses and live at the same address across every EVM chain. Such
|
|
24
|
+
* entries omit `chains`. Entries that are tied to a specific deployment
|
|
25
|
+
* include `chains` so the lookup helper can filter when the caller knows
|
|
26
|
+
* which chain the transaction is on.
|
|
27
|
+
*/
|
|
28
|
+
export const knownEvmContracts = {
|
|
29
|
+
// Uniswap V2 Router (UniswapV2Router02). Ethereum mainnet only — the V2
|
|
30
|
+
// contract was never re-deployed by Uniswap to other chains.
|
|
31
|
+
'0x7a250d5630b4cf539739df2c5dacb4c659f2488d': {
|
|
32
|
+
label: 'Uniswap V2 Router',
|
|
33
|
+
category: 'DEX Router',
|
|
34
|
+
chains: ['Ethereum'],
|
|
35
|
+
},
|
|
36
|
+
// Uniswap V3 SwapRouter (legacy, "Router1"). Valid for the deployments
|
|
37
|
+
// listed below; do NOT assume the same address across every EVM chain —
|
|
38
|
+
// Uniswap's deployment docs explicitly warn router addresses can differ.
|
|
39
|
+
'0xe592427a0aece92de3edee1f18e0157c05861564': {
|
|
40
|
+
label: 'Uniswap V3 Router',
|
|
41
|
+
category: 'DEX Router',
|
|
42
|
+
chains: ['Ethereum', 'Arbitrum', 'Optimism', 'Polygon'],
|
|
43
|
+
},
|
|
44
|
+
// Uniswap V3 SwapRouter02. Valid for these deployments. Base uses a
|
|
45
|
+
// different SwapRouter02 address — see the entry below.
|
|
46
|
+
'0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45': {
|
|
47
|
+
label: 'Uniswap V3 SwapRouter02',
|
|
48
|
+
category: 'DEX Router',
|
|
49
|
+
chains: ['Ethereum', 'Arbitrum', 'Optimism', 'Polygon'],
|
|
50
|
+
},
|
|
51
|
+
// Uniswap V3 SwapRouter02 — Base deployment (per Uniswap's Base contracts
|
|
52
|
+
// page).
|
|
53
|
+
'0x2626664c2603336e57b271c5c0b26f421741e481': {
|
|
54
|
+
label: 'Uniswap V3 SwapRouter02',
|
|
55
|
+
category: 'DEX Router',
|
|
56
|
+
chains: ['Base'],
|
|
57
|
+
},
|
|
58
|
+
// Uniswap V3 SwapRouter02 — BSC deployment.
|
|
59
|
+
'0xb971ef87ede563556b2ed4b1c0b0019111dd85d2': {
|
|
60
|
+
label: 'Uniswap V3 SwapRouter02',
|
|
61
|
+
category: 'DEX Router',
|
|
62
|
+
chains: ['BSC'],
|
|
63
|
+
},
|
|
64
|
+
// Uniswap V3 SwapRouter02 — Avalanche deployment.
|
|
65
|
+
'0xbb00ff08d01d300023c629e8ffffcb65a5a578ce': {
|
|
66
|
+
label: 'Uniswap V3 SwapRouter02',
|
|
67
|
+
category: 'DEX Router',
|
|
68
|
+
chains: ['Avalanche'],
|
|
69
|
+
},
|
|
70
|
+
// 1inch Aggregation Router V5. Same address on most supported chains, but
|
|
71
|
+
// not zkSync Era (different V5 router) — left unscoped because we don't
|
|
72
|
+
// currently route on zkSync; tighten if that changes.
|
|
73
|
+
'0x1111111254eeb25477b68fb85ed929f73a960582': {
|
|
74
|
+
label: '1inch V5 Router',
|
|
75
|
+
category: 'DEX Aggregator',
|
|
76
|
+
},
|
|
77
|
+
// 1inch Aggregation Router V6.
|
|
78
|
+
'0x111111125421ca6dc452d289314280a0f8842a65': {
|
|
79
|
+
label: '1inch V6 Router',
|
|
80
|
+
category: 'DEX Aggregator',
|
|
81
|
+
},
|
|
82
|
+
// Uniswap Permit2 — universal token-approval helper used by Universal
|
|
83
|
+
// Router and many other integrators. Deployed at the same address on every
|
|
84
|
+
// EVM chain Uniswap currently lists; left unscoped on that basis.
|
|
85
|
+
'0x000000000022d473030f116ddee9f6b43ac78ba3': {
|
|
86
|
+
label: 'Permit2',
|
|
87
|
+
category: 'Token Approval Helper',
|
|
88
|
+
},
|
|
89
|
+
// THORChain Router on Ethereum mainnet (deposit entry point for
|
|
90
|
+
// cross-chain swaps).
|
|
91
|
+
'0xd37bbe5744d730a1d98d8dc97c42f0ca46ad7146': {
|
|
92
|
+
label: 'THORChain Router',
|
|
93
|
+
category: 'Cross-Chain Bridge',
|
|
94
|
+
chains: ['Ethereum'],
|
|
95
|
+
},
|
|
96
|
+
// Aave V3 Pool on Ethereum mainnet.
|
|
97
|
+
'0x87870bca3f3fd6335c3f4ce8392d69350b4fa4e2': {
|
|
98
|
+
label: 'Aave V3 Pool',
|
|
99
|
+
category: 'Lending Protocol',
|
|
100
|
+
chains: ['Ethereum'],
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
export const lookupKnownEvmContract = (address, options) => {
|
|
104
|
+
const entry = knownEvmContracts[address.toLowerCase()];
|
|
105
|
+
if (!entry) {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
if (options?.chain && entry.chains && !entry.chains.includes(options.chain)) {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
return entry;
|
|
112
|
+
};
|
|
113
|
+
//# sourceMappingURL=knownContracts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knownContracts.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/evm/contract/knownContracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAuBH,MAAM,CAAC,MAAM,iBAAiB,GAA+C;IAC3E,wEAAwE;IACxE,6DAA6D;IAC7D,4CAA4C,EAAE;QAC5C,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,CAAC,UAAU,CAAC;KACrB;IAED,uEAAuE;IACvE,wEAAwE;IACxE,yEAAyE;IACzE,4CAA4C,EAAE;QAC5C,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC;KACxD;IAED,oEAAoE;IACpE,wDAAwD;IACxD,4CAA4C,EAAE;QAC5C,KAAK,EAAE,yBAAyB;QAChC,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC;KACxD;IAED,0EAA0E;IAC1E,SAAS;IACT,4CAA4C,EAAE;QAC5C,KAAK,EAAE,yBAAyB;QAChC,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,CAAC,MAAM,CAAC;KACjB;IAED,4CAA4C;IAC5C,4CAA4C,EAAE;QAC5C,KAAK,EAAE,yBAAyB;QAChC,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,CAAC,KAAK,CAAC;KAChB;IAED,kDAAkD;IAClD,4CAA4C,EAAE;QAC5C,KAAK,EAAE,yBAAyB;QAChC,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,CAAC,WAAW,CAAC;KACtB;IAED,0EAA0E;IAC1E,wEAAwE;IACxE,sDAAsD;IACtD,4CAA4C,EAAE;QAC5C,KAAK,EAAE,iBAAiB;QACxB,QAAQ,EAAE,gBAAgB;KAC3B;IAED,+BAA+B;IAC/B,4CAA4C,EAAE;QAC5C,KAAK,EAAE,iBAAiB;QACxB,QAAQ,EAAE,gBAAgB;KAC3B;IAED,sEAAsE;IACtE,2EAA2E;IAC3E,kEAAkE;IAClE,4CAA4C,EAAE;QAC5C,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,uBAAuB;KAClC;IAED,gEAAgE;IAChE,sBAAsB;IACtB,4CAA4C,EAAE;QAC5C,KAAK,EAAE,kBAAkB;QACzB,QAAQ,EAAE,oBAAoB;QAC9B,MAAM,EAAE,CAAC,UAAU,CAAC;KACrB;IAED,oCAAoC;IACpC,4CAA4C,EAAE;QAC5C,KAAK,EAAE,cAAc;QACrB,QAAQ,EAAE,kBAAkB;QAC5B,MAAM,EAAE,CAAC,UAAU,CAAC;KACrB;CACF,CAAA;AAWD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,OAAe,EACf,OAAuC,EACd,EAAE;IAC3B,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;IACtD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5E,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,KAAK,CAAA;AACd,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;
|
|
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 (
|
|
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;
|
|
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;
|
|
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
|
|
11
|
-
|
|
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 (
|
|
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":"AACA,OAAO,
|
|
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:
|
|
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,
|
|
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":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAA;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAU,CAAA;AAG3E,wFAAwF;AACxF,MAAM,CAAC,MAAM,2BAA2B,GAAoC;IAC1E,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;IACpB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;CACrB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,0CAA0C,GAAG,GAAG,CAAA;AAE7D,MAAM,CAAC,MAAM,oBAAoB,GAAoC;IACnE,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY;IAC/D,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY;CAChE,CAAA;AAED,MAAM,0BAA0B,GAAG;IACjC,KAAK,CAAC,SAAS;IACf,KAAK,CAAC,WAAW;IACjB,KAAK,CAAC,GAAG;IACT,KAAK,CAAC,OAAO;IACb,KAAK,CAAC,QAAQ;IACd,KAAK,CAAC,QAAQ;IACd,KAAK,CAAC,MAAM;IACZ,KAAK,CAAC,QAAQ;IACd,KAAK,CAAC,SAAS;IACf,KAAK,CAAC,MAAM;IACZ,KAAK,CAAC,IAAI;IACV,KAAK,CAAC,MAAM;IACZ,KAAK,CAAC,IAAI;IACV,KAAK,CAAC,KAAK;CACH,CAAA;AAEV,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,0BAA0B;IAC7C,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QACjB,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,QAAQ;QACd,KAAK,CAAC,IAAI;QACV,KAAK,CAAC,OAAO;QACb,KAAK,CAAC,QAAQ;QACd,KAAK,CAAC,KAAK;KACZ;CACO,CAAA;AAKV,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CACtD,MAAM,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CACzC,CAAA;AAE7B,MAAM,CAAC,MAAM,kBAAkB,
|
|
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;
|
|
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
|
|
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;
|
|
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.
|
|
3
|
+
"version": "1.7.1",
|
|
4
4
|
"description": "Blockchain chain logic shared across Vultisig clients",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -474,6 +474,11 @@
|
|
|
474
474
|
"import": "./dist/chains/evm/contract/commonSelectors.js",
|
|
475
475
|
"default": "./dist/chains/evm/contract/commonSelectors.js"
|
|
476
476
|
},
|
|
477
|
+
"./chains/evm/contract/knownContracts": {
|
|
478
|
+
"types": "./dist/chains/evm/contract/knownContracts.d.ts",
|
|
479
|
+
"import": "./dist/chains/evm/contract/knownContracts.js",
|
|
480
|
+
"default": "./dist/chains/evm/contract/knownContracts.js"
|
|
481
|
+
},
|
|
477
482
|
"./chains/evm/contract/universalRouter/decode": {
|
|
478
483
|
"types": "./dist/chains/evm/contract/universalRouter/decode.d.ts",
|
|
479
484
|
"import": "./dist/chains/evm/contract/universalRouter/decode.js",
|