@shapeshiftoss/caip 6.15.0 → 7.0.0
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/dist/accountId/accountId.js +1 -1
- package/dist/adapters/banxa/index.js +3 -3
- package/dist/adapters/coincap/index.js +1 -1
- package/dist/adapters/coincap/utils.js +1 -1
- package/dist/adapters/coingecko/index.js +2 -2
- package/dist/adapters/coingecko/utils.js +4 -4
- package/dist/adapters/gem/index.js +1 -1
- package/dist/adapters/index.d.ts +1 -0
- package/dist/adapters/index.js +1 -0
- package/dist/adapters/junopay/index.js +2 -2
- package/dist/adapters/mtpelerin/index.d.ts +72 -0
- package/dist/adapters/mtpelerin/index.js +125 -0
- package/dist/adapters/osmosis/index.js +1 -1
- package/dist/adapters/osmosis/utils.js +2 -2
- package/dist/adapters/thortrading/index.js +1 -1
- package/dist/adapters/yearn/index.js +1 -1
- package/dist/adapters/yearn/utils.js +3 -3
- package/dist/assetId/assetId.js +3 -3
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +12 -12
- package/package.json +1 -1
|
@@ -4,7 +4,7 @@ exports.fromCAIP10 = exports.toCAIP10 = exports.fromAccountId = exports.toAccoun
|
|
|
4
4
|
const chainId_1 = require("../chainId/chainId");
|
|
5
5
|
const constants_1 = require("../constants");
|
|
6
6
|
const typeGuards_1 = require("../typeGuards");
|
|
7
|
-
const toAccountId = ({ chainId: maybeChainId, chainNamespace: maybeChainNamespace, chainReference: maybeChainReference, account }) => {
|
|
7
|
+
const toAccountId = ({ chainId: maybeChainId, chainNamespace: maybeChainNamespace, chainReference: maybeChainReference, account, }) => {
|
|
8
8
|
if (!account)
|
|
9
9
|
throw new Error(`toAccountId: account is required`);
|
|
10
10
|
const chainId = maybeChainId !== null && maybeChainId !== void 0 ? maybeChainId : (0, chainId_1.toChainId)({ chainNamespace: maybeChainNamespace, chainReference: maybeChainReference });
|
|
@@ -41,7 +41,7 @@ const AssetIdToBanxaTickerMap = {
|
|
|
41
41
|
'eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48': 'usdc',
|
|
42
42
|
'eip155:1/erc20:0x8e870d67f660d95d5be530380d0ec0bd388289e1': 'usdp',
|
|
43
43
|
'eip155:1/erc20:0xdac17f958d2ee523a2206206994597c13d831ec7': 'usdt',
|
|
44
|
-
'eip155:1/erc20:0x2260fac5e5542a773aa44fbcfedf7c193bc2c599': 'wbtc'
|
|
44
|
+
'eip155:1/erc20:0x2260fac5e5542a773aa44fbcfedf7c193bc2c599': 'wbtc',
|
|
45
45
|
};
|
|
46
46
|
const invert = (data) => Object.entries(data).reduce((acc, [k, v]) => ((acc[v] = k), acc), {});
|
|
47
47
|
const banxaTickerToAssetIdMap = invert(AssetIdToBanxaTickerMap);
|
|
@@ -51,7 +51,7 @@ const assetIdToBanxaTicker = (assetId) => AssetIdToBanxaTickerMap[(0, toLower_1.
|
|
|
51
51
|
exports.assetIdToBanxaTicker = assetIdToBanxaTicker;
|
|
52
52
|
const getSupportedBanxaAssets = () => (0, entries_1.default)(AssetIdToBanxaTickerMap).map(([assetId, ticker]) => ({
|
|
53
53
|
assetId,
|
|
54
|
-
ticker
|
|
54
|
+
ticker,
|
|
55
55
|
}));
|
|
56
56
|
exports.getSupportedBanxaAssets = getSupportedBanxaAssets;
|
|
57
57
|
/**
|
|
@@ -66,7 +66,7 @@ const chainIdToBanxaBlockchainCodeMap = {
|
|
|
66
66
|
[constants_1.ethChainId]: 'ETH',
|
|
67
67
|
[constants_1.btcChainId]: 'BTC',
|
|
68
68
|
[constants_1.cosmosChainId]: 'COSMOS',
|
|
69
|
-
[constants_1.avalancheChainId]: 'AVAX-C' // note - the AVAX-C chain is not the same as the AVAX "ticker" on the banxa side
|
|
69
|
+
[constants_1.avalancheChainId]: 'AVAX-C', // note - the AVAX-C chain is not the same as the AVAX "ticker" on the banxa side
|
|
70
70
|
};
|
|
71
71
|
/**
|
|
72
72
|
* Convert a banxa asset identifier to a Banxa chain identifier for use in Banxa HTTP URLs
|
|
@@ -32,7 +32,7 @@ const adapters = __importStar(require("./generated"));
|
|
|
32
32
|
exports.coincapUrl = 'https://api.coincap.io/v2/assets?limit=2000';
|
|
33
33
|
const generatedAssetIdToCoinCapMap = Object.values(adapters).reduce((acc, cur) => ({
|
|
34
34
|
...acc,
|
|
35
|
-
...cur
|
|
35
|
+
...cur,
|
|
36
36
|
}));
|
|
37
37
|
const invert = (data) => Object.entries(data).reduce((acc, [k, v]) => ((acc[v] = k), acc), {});
|
|
38
38
|
const generatedCoinCapToAssetIdMap = invert(generatedAssetIdToCoinCapMap);
|
|
@@ -45,6 +45,6 @@ const parseData = (d) => ({
|
|
|
45
45
|
[constants_1.dogeChainId]: utils_1.dogecoinAssetMap,
|
|
46
46
|
[constants_1.ltcChainId]: utils_1.litecoinAssetMap,
|
|
47
47
|
[constants_1.cosmosChainId]: utils_1.cosmosAssetMap,
|
|
48
|
-
[constants_1.osmosisChainId]: utils_1.osmosisAssetMap
|
|
48
|
+
[constants_1.osmosisChainId]: utils_1.osmosisAssetMap,
|
|
49
49
|
});
|
|
50
50
|
exports.parseData = parseData;
|
|
@@ -47,7 +47,7 @@ exports.coingeckoUrl = 'https://api.coingecko.com/api/v3/coins/list?include_plat
|
|
|
47
47
|
const assetIdToCoinGeckoIdMapByChain = Object.values(adapters);
|
|
48
48
|
const generatedAssetIdToCoingeckoMap = assetIdToCoinGeckoIdMapByChain.reduce((acc, cur) => ({
|
|
49
49
|
...acc,
|
|
50
|
-
...cur
|
|
50
|
+
...cur,
|
|
51
51
|
}));
|
|
52
52
|
const generatedCoingeckoToAssetIdsMap = (0, invertBy_1.default)(generatedAssetIdToCoingeckoMap);
|
|
53
53
|
const coingeckoToAssetIds = (id) => generatedCoingeckoToAssetIdsMap[id];
|
|
@@ -77,7 +77,7 @@ const chainIdToCoingeckoAssetPlatform = (chainId) => {
|
|
|
77
77
|
throw new Error(`chainNamespace ${chainNamespace}, chainReference ${chainReference} not supported.`);
|
|
78
78
|
}
|
|
79
79
|
// No valid asset platform: https://api.coingecko.com/api/v3/asset_platforms
|
|
80
|
-
case constants_1.CHAIN_NAMESPACE.
|
|
80
|
+
case constants_1.CHAIN_NAMESPACE.Utxo:
|
|
81
81
|
default:
|
|
82
82
|
throw new Error(`chainNamespace ${chainNamespace} not supported.`);
|
|
83
83
|
}
|
|
@@ -19,7 +19,7 @@ const parseData = (coins) => {
|
|
|
19
19
|
chainNamespace: constants_1.CHAIN_NAMESPACE.Ethereum,
|
|
20
20
|
chainReference: constants_1.CHAIN_REFERENCE.EthereumMainnet,
|
|
21
21
|
assetNamespace: 'erc20',
|
|
22
|
-
assetReference: platforms.ethereum
|
|
22
|
+
assetReference: platforms.ethereum,
|
|
23
23
|
});
|
|
24
24
|
prev[constants_1.ethChainId][assetId] = id;
|
|
25
25
|
}
|
|
@@ -33,7 +33,7 @@ const parseData = (coins) => {
|
|
|
33
33
|
chainNamespace: constants_1.CHAIN_NAMESPACE.Ethereum,
|
|
34
34
|
chainReference: constants_1.CHAIN_REFERENCE.AvalancheCChain,
|
|
35
35
|
assetNamespace: 'erc20',
|
|
36
|
-
assetReference: platforms.avalanche
|
|
36
|
+
assetReference: platforms.avalanche,
|
|
37
37
|
});
|
|
38
38
|
prev[constants_1.avalancheChainId][assetId] = id;
|
|
39
39
|
}
|
|
@@ -44,7 +44,7 @@ const parseData = (coins) => {
|
|
|
44
44
|
return prev;
|
|
45
45
|
}, {
|
|
46
46
|
[constants_1.ethChainId]: { [constants_1.ethAssetId]: 'ethereum' },
|
|
47
|
-
[constants_1.avalancheChainId]: { [constants_1.avalancheAssetId]: 'avalanche-2' }
|
|
47
|
+
[constants_1.avalancheChainId]: { [constants_1.avalancheAssetId]: 'avalanche-2' },
|
|
48
48
|
});
|
|
49
49
|
return {
|
|
50
50
|
...assetMap,
|
|
@@ -53,7 +53,7 @@ const parseData = (coins) => {
|
|
|
53
53
|
[constants_1.dogeChainId]: utils_1.dogecoinAssetMap,
|
|
54
54
|
[constants_1.ltcChainId]: utils_1.litecoinAssetMap,
|
|
55
55
|
[constants_1.cosmosChainId]: utils_1.cosmosAssetMap,
|
|
56
|
-
[constants_1.osmosisChainId]: utils_1.osmosisAssetMap
|
|
56
|
+
[constants_1.osmosisChainId]: utils_1.osmosisAssetMap,
|
|
57
57
|
};
|
|
58
58
|
};
|
|
59
59
|
exports.parseData = parseData;
|
|
@@ -29,7 +29,7 @@ const assetIdToGemAssetIdMap = {
|
|
|
29
29
|
'eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48': 'usd-coin',
|
|
30
30
|
'eip155:1/erc20:0x2260fac5e5542a773aa44fbcfedf7c193bc2c599': 'wrapped-bitcoin',
|
|
31
31
|
'eip155:1/erc20:0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2': 'weth',
|
|
32
|
-
'eip155:1/erc20:0x0bc529c00c6401aef6d220be8c6ea1667f6ad93e': 'yearn-finance'
|
|
32
|
+
'eip155:1/erc20:0x0bc529c00c6401aef6d220be8c6ea1667f6ad93e': 'yearn-finance',
|
|
33
33
|
};
|
|
34
34
|
const invert = (data) => Object.entries(data).reduce((acc, [k, v]) => ((acc[v] = k), acc), {});
|
|
35
35
|
const gemAssetIdToAssetIdMap = invert(assetIdToGemAssetIdMap);
|
package/dist/adapters/index.d.ts
CHANGED
package/dist/adapters/index.js
CHANGED
|
@@ -38,7 +38,7 @@ const assetIdToJunoPayTickerMap = {
|
|
|
38
38
|
'eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48': 'usdc',
|
|
39
39
|
'eip155:1/erc20:0x8e870d67f660d95d5be530380d0ec0bd388289e1': 'usdp',
|
|
40
40
|
'eip155:1/erc20:0xdac17f958d2ee523a2206206994597c13d831ec7': 'usdt',
|
|
41
|
-
'eip155:1/erc20:0x2260fac5e5542a773aa44fbcfedf7c193bc2c599': 'wbtc'
|
|
41
|
+
'eip155:1/erc20:0x2260fac5e5542a773aa44fbcfedf7c193bc2c599': 'wbtc',
|
|
42
42
|
};
|
|
43
43
|
const junoPayTickerToAssetIdMap = (0, invert_1.default)(assetIdToJunoPayTickerMap);
|
|
44
44
|
const junoPayTickerToAssetId = (id) => junoPayTickerToAssetIdMap[id];
|
|
@@ -47,6 +47,6 @@ const assetIdToJunoPayTicker = (assetId) => assetIdToJunoPayTickerMap[(0, toLowe
|
|
|
47
47
|
exports.assetIdToJunoPayTicker = assetIdToJunoPayTicker;
|
|
48
48
|
const getSupportedJunoPayAssets = () => (0, entries_1.default)(assetIdToJunoPayTickerMap).map(([assetId, ticker]) => ({
|
|
49
49
|
assetId,
|
|
50
|
-
ticker
|
|
50
|
+
ticker,
|
|
51
51
|
}));
|
|
52
52
|
exports.getSupportedJunoPayAssets = getSupportedJunoPayAssets;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { AssetId } from '../../assetId/assetId';
|
|
2
|
+
/**
|
|
3
|
+
* The following is the list of assets that Mt Pelerin supports
|
|
4
|
+
* but they're **not supported** (yet?) in ShapeShift
|
|
5
|
+
* {
|
|
6
|
+
'[xdai_mainnet]/0x0000000000000000000000000000000000000000': 'XDAI',
|
|
7
|
+
'[xdai_mainnet]/0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83': 'USDC',
|
|
8
|
+
'[xdai_mainnet]/0x4ECaBa5870353805a9F068101A40E0f32ed605C6': 'USDT',
|
|
9
|
+
'[xdai_mainnet]/0x8e5bBbb09Ed1ebdE8674Cda39A0c169401db4252': 'WBTC',
|
|
10
|
+
'[xdai_mainnet]/0x6A023CCd1ff6F2045C3309768eAd9E68F978f6e1': 'WETH',
|
|
11
|
+
'[xdai_mainnet]/0x9fB1d52596c44603198fB0aee434fac3a679f702': 'jEUR',
|
|
12
|
+
'[xdai_mainnet]/0x2d5563da42b06FbBF9c67b7DC073cF6A7842239e': 'jCHF',
|
|
13
|
+
'[bsc_mainnet]/0x0000000000000000000000000000000000000000': 'BNB',
|
|
14
|
+
'[bsc_mainnet]/0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d': 'USDC',
|
|
15
|
+
'[bsc_mainnet]/0x55d398326f99059fF775485246999027B3197955': 'USDT',
|
|
16
|
+
'[bsc_mainnet]/0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c': 'BTCB',
|
|
17
|
+
'[bsc_mainnet]/0x2170ed0880ac9a755fd29b2688956bd959f933f8': 'WETH',
|
|
18
|
+
'[bsc_mainnet]/0xe9e7cea3dedca5984780bafc599bd69add087d56': 'BUSD',
|
|
19
|
+
'[bsc_mainnet]/0x23b8683Ff98F9E4781552DFE6f12Aa32814924e8': 'jEUR',
|
|
20
|
+
'[bsc_mainnet]/0x7c869b5A294b1314E985283d01C702B62224a05f': 'jCHF',
|
|
21
|
+
'[bsc_mainnet]/0x048E9b1ddF9EBbb224812372280e94Ccac443f9e': 'jGBP',
|
|
22
|
+
'[bsc_mainnet]/0x6B8b9AE0627a7622c593A1696859ca753c61A670': 'jZAR',
|
|
23
|
+
'[matic_mainnet]/0x0000000000000000000000000000000000000000': 'MATIC',
|
|
24
|
+
'[matic_mainnet]/0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174': 'USDC',
|
|
25
|
+
'[matic_mainnet]/0xc2132D05D31c914a87C6611C10748AEb04B58e8F': 'USDT',
|
|
26
|
+
'[matic_mainnet]/0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6': 'WBTC',
|
|
27
|
+
'[matic_mainnet]/0x4e3Decbb3645551B8A19f0eA1678079FCB33fB4c': 'jEUR',
|
|
28
|
+
'[matic_mainnet]/0xbD1463F02f61676d53fd183C2B19282BFF93D099': 'jCHF',
|
|
29
|
+
'[matic_mainnet]/0x767058F11800FBA6A682E73A6e79ec5eB74Fac8c': 'jGBP',
|
|
30
|
+
'[matic_mainnet]/0x8ca194A3b22077359b5732DE53373D4afC11DeE3': 'jCAD',
|
|
31
|
+
'[matic_mainnet]/0xa926db7a4CC0cb1736D5ac60495ca8Eb7214B503': 'jSGD',
|
|
32
|
+
'[matic_mainnet]/0x197E5d6CcfF265AC3E303a34Db360ee1429f5d1A': 'jSEK',
|
|
33
|
+
'[matic_mainnet]/0xCB7F1Ef7246D1497b985f7FC45A1A31F04346133': 'jAUD',
|
|
34
|
+
'[matic_mainnet]/0x8343091F2499FD4b6174A46D067A920a3b851FF9': 'jJPY',
|
|
35
|
+
'[matic_mainnet]/0x7ceb23fd6bc0add59e62ac25578270cff1b9f619': 'WETH',
|
|
36
|
+
'[matic_mainnet]/0xE111178A87A3BFf0c8d18DECBa5798827539Ae99': 'EURS',
|
|
37
|
+
'[matic_mainnet]/0x7BDF330f423Ea880FF95fC41A280fD5eCFD3D09f': 'EURT',
|
|
38
|
+
'[matic_mainnet]/0xE0B52e49357Fd4DAf2c15e02058DCE6BC0057db4': 'agEUR',
|
|
39
|
+
'[matic_mainnet]/0x45c32fA6DF82ead1e2EF74d17b76547EDdFaFF89': 'FRAX',
|
|
40
|
+
'[matic_mainnet]/0xa3Fa99A148fA48D14Ed51d610c367C61876997F1': 'MAI',
|
|
41
|
+
'[matic_mainnet]/0xE6469Ba6D2fD6130788E0eA9C0a0515900563b59': 'UST',
|
|
42
|
+
'[tezos_mainnet]/0x0000000000000000000000000000000000000000': 'XTZ',
|
|
43
|
+
'[tezos_mainnet]/KT1JBNFcB5tiycHNdYGYCtR3kk6JaJysUCi8': 'EURL',
|
|
44
|
+
'[arbitrum_mainnet]/0x0000000000000000000000000000000000000000': 'ETH',
|
|
45
|
+
'[arbitrum_mainnet]/0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8': 'USDC',
|
|
46
|
+
'[optimism_mainnet]/0x0000000000000000000000000000000000000000': 'ETH',
|
|
47
|
+
'[optimism_mainnet]/0x7F5c764cBc14f9669B88837ca1490cCa17c31607': 'USDC',
|
|
48
|
+
'[avalanche_mainnet]/0x9fB1d52596c44603198fB0aee434fac3a679f702': 'jEUR',
|
|
49
|
+
'[avalanche_mainnet]/0x2d5563da42b06FbBF9c67b7DC073cF6A7842239e': 'jCHF',
|
|
50
|
+
'[avalanche_mainnet]/0x5c49b268c9841AFF1Cc3B0a418ff5c3442eE3F3b': 'MAI',
|
|
51
|
+
'[avalanche_mainnet]/0xb599c3590F42f8F995ECfa0f85D2980B76862fc1': 'UST',
|
|
52
|
+
'[fantom_mainnet]/0x0000000000000000000000000000000000000000': 'FTM',
|
|
53
|
+
'[fantom_mainnet]/0x04068DA6C83AFCFA0e13ba15A6696662335D5B75': 'USDC',
|
|
54
|
+
'[fantom_mainnet]/0xdc301622e621166BD8E82f2cA0A26c13Ad0BE355': 'FRAX',
|
|
55
|
+
'[fantom_mainnet]/0xfB98B335551a418cD0737375a2ea0ded62Ea213b': 'MAI',
|
|
56
|
+
'[fantom_mainnet]/0x846e4D51d7E2043C1a87E0Ab7490B93FB940357b': 'UST',
|
|
57
|
+
'[rsk_mainnet]/0x0000000000000000000000000000000000000000': 'RBTC',
|
|
58
|
+
'[rsk_mainnet]/0x2d919f19d4892381d58edebeca66d5642cef1a1f': 'RDOC',
|
|
59
|
+
'[rsk_mainnet]/0xef213441a85df4d7acbdae0cf78004e1e486bb96': 'USDT',
|
|
60
|
+
'[rsk_mainnet]/0x2acc95758f8b5f583470ba265eb685a8f45fc9d5': 'RIF',
|
|
61
|
+
'[ethChainId]/0x89d71DfbDD6ebeCd0dfe27D55189F903169d2991': 'THDX'
|
|
62
|
+
* }
|
|
63
|
+
*/
|
|
64
|
+
export declare const mtPelerinSymbolToAssetIds: (id: string) => AssetId[];
|
|
65
|
+
export declare const assetIdToMtPelerinSymbol: (assetId: AssetId) => string | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* Convert a mtPelerin asset identifier to a MtPelerin chain identifier for use in MtPelerin HTTP URLs
|
|
68
|
+
*
|
|
69
|
+
* @param {string} assetId - an assetId string referencing a specific asset; e.g., ethAssetId
|
|
70
|
+
* @returns {string} - a MtPelerin network identifier; e.g., 'mainnet'
|
|
71
|
+
*/
|
|
72
|
+
export declare const getMtPelerinNetFromAssetId: (assetId: AssetId) => string | undefined;
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMtPelerinNetFromAssetId = exports.assetIdToMtPelerinSymbol = exports.mtPelerinSymbolToAssetIds = void 0;
|
|
4
|
+
const assetId_1 = require("../../assetId/assetId");
|
|
5
|
+
const constants_1 = require("../../constants");
|
|
6
|
+
/**
|
|
7
|
+
* provided from https://api.mtPelerin.com/currencies/tokens
|
|
8
|
+
*/
|
|
9
|
+
const MtPelerinSymbolToAssetIds = {
|
|
10
|
+
ETH: [constants_1.ethAssetId],
|
|
11
|
+
BTC: [constants_1.btcAssetId],
|
|
12
|
+
DAI: ['eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f'],
|
|
13
|
+
USDT: ['eip155:1/erc20:0xdac17f958d2ee523a2206206994597c13d831ec7'],
|
|
14
|
+
USDC: [
|
|
15
|
+
'eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
16
|
+
'eip155:43114/erc20:0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e',
|
|
17
|
+
],
|
|
18
|
+
jEUR: ['eip155:1/erc20:0x0f17bc9a994b87b5225cfb6a2cd4d667adb4f20b'],
|
|
19
|
+
jCHF: ['eip155:1/erc20:0x53dfea0a8cc2a2a2e425e1c174bc162999723ea0'],
|
|
20
|
+
jGBP: ['eip155:1/erc20:0x7409856cae628f5d578b285b45669b36e7005283'],
|
|
21
|
+
WBTC: ['eip155:1/erc20:0x2260fac5e5542a773aa44fbcfedf7c193bc2c599'],
|
|
22
|
+
AVAX: [constants_1.avalancheAssetId],
|
|
23
|
+
EURS: ['eip155:1/erc20:0xdb25f211ab05b1c97d595516f45794528a807ad8'],
|
|
24
|
+
EURT: ['eip155:1/erc20:0xc581b735a1688071a1746c968e0798d642ede491'],
|
|
25
|
+
agEUR: ['eip155:1/erc20:0x1a7e4e63778b4f12a199c062f3efdd288afcbce8'],
|
|
26
|
+
FRAX: [
|
|
27
|
+
'eip155:1/erc20:0x853d955acef822db058eb8505911ed77f175b99e',
|
|
28
|
+
'eip155:43114/erc20:0xd24c2ad096400b6fbcd2ad8b24e7acbc21a1da64',
|
|
29
|
+
],
|
|
30
|
+
UST: ['eip155:1/erc20:0xa693b19d2931d498c5b318df961919bb4aee87a5'],
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* The following is the list of assets that Mt Pelerin supports
|
|
34
|
+
* but they're **not supported** (yet?) in ShapeShift
|
|
35
|
+
* {
|
|
36
|
+
'[xdai_mainnet]/0x0000000000000000000000000000000000000000': 'XDAI',
|
|
37
|
+
'[xdai_mainnet]/0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83': 'USDC',
|
|
38
|
+
'[xdai_mainnet]/0x4ECaBa5870353805a9F068101A40E0f32ed605C6': 'USDT',
|
|
39
|
+
'[xdai_mainnet]/0x8e5bBbb09Ed1ebdE8674Cda39A0c169401db4252': 'WBTC',
|
|
40
|
+
'[xdai_mainnet]/0x6A023CCd1ff6F2045C3309768eAd9E68F978f6e1': 'WETH',
|
|
41
|
+
'[xdai_mainnet]/0x9fB1d52596c44603198fB0aee434fac3a679f702': 'jEUR',
|
|
42
|
+
'[xdai_mainnet]/0x2d5563da42b06FbBF9c67b7DC073cF6A7842239e': 'jCHF',
|
|
43
|
+
'[bsc_mainnet]/0x0000000000000000000000000000000000000000': 'BNB',
|
|
44
|
+
'[bsc_mainnet]/0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d': 'USDC',
|
|
45
|
+
'[bsc_mainnet]/0x55d398326f99059fF775485246999027B3197955': 'USDT',
|
|
46
|
+
'[bsc_mainnet]/0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c': 'BTCB',
|
|
47
|
+
'[bsc_mainnet]/0x2170ed0880ac9a755fd29b2688956bd959f933f8': 'WETH',
|
|
48
|
+
'[bsc_mainnet]/0xe9e7cea3dedca5984780bafc599bd69add087d56': 'BUSD',
|
|
49
|
+
'[bsc_mainnet]/0x23b8683Ff98F9E4781552DFE6f12Aa32814924e8': 'jEUR',
|
|
50
|
+
'[bsc_mainnet]/0x7c869b5A294b1314E985283d01C702B62224a05f': 'jCHF',
|
|
51
|
+
'[bsc_mainnet]/0x048E9b1ddF9EBbb224812372280e94Ccac443f9e': 'jGBP',
|
|
52
|
+
'[bsc_mainnet]/0x6B8b9AE0627a7622c593A1696859ca753c61A670': 'jZAR',
|
|
53
|
+
'[matic_mainnet]/0x0000000000000000000000000000000000000000': 'MATIC',
|
|
54
|
+
'[matic_mainnet]/0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174': 'USDC',
|
|
55
|
+
'[matic_mainnet]/0xc2132D05D31c914a87C6611C10748AEb04B58e8F': 'USDT',
|
|
56
|
+
'[matic_mainnet]/0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6': 'WBTC',
|
|
57
|
+
'[matic_mainnet]/0x4e3Decbb3645551B8A19f0eA1678079FCB33fB4c': 'jEUR',
|
|
58
|
+
'[matic_mainnet]/0xbD1463F02f61676d53fd183C2B19282BFF93D099': 'jCHF',
|
|
59
|
+
'[matic_mainnet]/0x767058F11800FBA6A682E73A6e79ec5eB74Fac8c': 'jGBP',
|
|
60
|
+
'[matic_mainnet]/0x8ca194A3b22077359b5732DE53373D4afC11DeE3': 'jCAD',
|
|
61
|
+
'[matic_mainnet]/0xa926db7a4CC0cb1736D5ac60495ca8Eb7214B503': 'jSGD',
|
|
62
|
+
'[matic_mainnet]/0x197E5d6CcfF265AC3E303a34Db360ee1429f5d1A': 'jSEK',
|
|
63
|
+
'[matic_mainnet]/0xCB7F1Ef7246D1497b985f7FC45A1A31F04346133': 'jAUD',
|
|
64
|
+
'[matic_mainnet]/0x8343091F2499FD4b6174A46D067A920a3b851FF9': 'jJPY',
|
|
65
|
+
'[matic_mainnet]/0x7ceb23fd6bc0add59e62ac25578270cff1b9f619': 'WETH',
|
|
66
|
+
'[matic_mainnet]/0xE111178A87A3BFf0c8d18DECBa5798827539Ae99': 'EURS',
|
|
67
|
+
'[matic_mainnet]/0x7BDF330f423Ea880FF95fC41A280fD5eCFD3D09f': 'EURT',
|
|
68
|
+
'[matic_mainnet]/0xE0B52e49357Fd4DAf2c15e02058DCE6BC0057db4': 'agEUR',
|
|
69
|
+
'[matic_mainnet]/0x45c32fA6DF82ead1e2EF74d17b76547EDdFaFF89': 'FRAX',
|
|
70
|
+
'[matic_mainnet]/0xa3Fa99A148fA48D14Ed51d610c367C61876997F1': 'MAI',
|
|
71
|
+
'[matic_mainnet]/0xE6469Ba6D2fD6130788E0eA9C0a0515900563b59': 'UST',
|
|
72
|
+
'[tezos_mainnet]/0x0000000000000000000000000000000000000000': 'XTZ',
|
|
73
|
+
'[tezos_mainnet]/KT1JBNFcB5tiycHNdYGYCtR3kk6JaJysUCi8': 'EURL',
|
|
74
|
+
'[arbitrum_mainnet]/0x0000000000000000000000000000000000000000': 'ETH',
|
|
75
|
+
'[arbitrum_mainnet]/0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8': 'USDC',
|
|
76
|
+
'[optimism_mainnet]/0x0000000000000000000000000000000000000000': 'ETH',
|
|
77
|
+
'[optimism_mainnet]/0x7F5c764cBc14f9669B88837ca1490cCa17c31607': 'USDC',
|
|
78
|
+
'[avalanche_mainnet]/0x9fB1d52596c44603198fB0aee434fac3a679f702': 'jEUR',
|
|
79
|
+
'[avalanche_mainnet]/0x2d5563da42b06FbBF9c67b7DC073cF6A7842239e': 'jCHF',
|
|
80
|
+
'[avalanche_mainnet]/0x5c49b268c9841AFF1Cc3B0a418ff5c3442eE3F3b': 'MAI',
|
|
81
|
+
'[avalanche_mainnet]/0xb599c3590F42f8F995ECfa0f85D2980B76862fc1': 'UST',
|
|
82
|
+
'[fantom_mainnet]/0x0000000000000000000000000000000000000000': 'FTM',
|
|
83
|
+
'[fantom_mainnet]/0x04068DA6C83AFCFA0e13ba15A6696662335D5B75': 'USDC',
|
|
84
|
+
'[fantom_mainnet]/0xdc301622e621166BD8E82f2cA0A26c13Ad0BE355': 'FRAX',
|
|
85
|
+
'[fantom_mainnet]/0xfB98B335551a418cD0737375a2ea0ded62Ea213b': 'MAI',
|
|
86
|
+
'[fantom_mainnet]/0x846e4D51d7E2043C1a87E0Ab7490B93FB940357b': 'UST',
|
|
87
|
+
'[rsk_mainnet]/0x0000000000000000000000000000000000000000': 'RBTC',
|
|
88
|
+
'[rsk_mainnet]/0x2d919f19d4892381d58edebeca66d5642cef1a1f': 'RDOC',
|
|
89
|
+
'[rsk_mainnet]/0xef213441a85df4d7acbdae0cf78004e1e486bb96': 'USDT',
|
|
90
|
+
'[rsk_mainnet]/0x2acc95758f8b5f583470ba265eb685a8f45fc9d5': 'RIF',
|
|
91
|
+
'[ethChainId]/0x89d71DfbDD6ebeCd0dfe27D55189F903169d2991': 'THDX'
|
|
92
|
+
* }
|
|
93
|
+
*/
|
|
94
|
+
const mtPelerinSymbolToAssetIds = (id) => MtPelerinSymbolToAssetIds[id];
|
|
95
|
+
exports.mtPelerinSymbolToAssetIds = mtPelerinSymbolToAssetIds;
|
|
96
|
+
const assetIdToMtPelerinSymbol = (assetId) => {
|
|
97
|
+
return Object.entries(MtPelerinSymbolToAssetIds)
|
|
98
|
+
.filter(([, assetIds]) => assetIds.includes(assetId))
|
|
99
|
+
.map(([key]) => key)[0];
|
|
100
|
+
};
|
|
101
|
+
exports.assetIdToMtPelerinSymbol = assetIdToMtPelerinSymbol;
|
|
102
|
+
/**
|
|
103
|
+
* map ChainIds to MtPelerin network,
|
|
104
|
+
* since some MtPelerin assets could be on multiple chains and their default
|
|
105
|
+
* chain won't be exactly the same as ours.
|
|
106
|
+
*
|
|
107
|
+
* https://developers.mtPelerin.com/integration-guides/options -> "net"
|
|
108
|
+
* source of truth per MtPelerin
|
|
109
|
+
*/
|
|
110
|
+
const chainIdToMtPelerinNetworkCodeMap = {
|
|
111
|
+
[constants_1.ethChainId]: 'mainnet',
|
|
112
|
+
[constants_1.btcChainId]: 'bitcoin_mainnet',
|
|
113
|
+
[constants_1.avalancheChainId]: 'avalanche_mainnet', // this is actually the C-Chain
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* Convert a mtPelerin asset identifier to a MtPelerin chain identifier for use in MtPelerin HTTP URLs
|
|
117
|
+
*
|
|
118
|
+
* @param {string} assetId - an assetId string referencing a specific asset; e.g., ethAssetId
|
|
119
|
+
* @returns {string} - a MtPelerin network identifier; e.g., 'mainnet'
|
|
120
|
+
*/
|
|
121
|
+
const getMtPelerinNetFromAssetId = (assetId) => {
|
|
122
|
+
const { chainId } = (0, assetId_1.fromAssetId)(assetId);
|
|
123
|
+
return chainIdToMtPelerinNetworkCodeMap[chainId];
|
|
124
|
+
};
|
|
125
|
+
exports.getMtPelerinNetFromAssetId = getMtPelerinNetFromAssetId;
|
|
@@ -28,7 +28,7 @@ const adapters = __importStar(require("./generated"));
|
|
|
28
28
|
exports.osmosisUrl = 'https://api-osmosis.imperator.co/tokens/v2/all';
|
|
29
29
|
const generatedAssetIdToOsmosisMap = Object.values(adapters).reduce((acc, cur) => ({
|
|
30
30
|
...acc,
|
|
31
|
-
...cur
|
|
31
|
+
...cur,
|
|
32
32
|
}));
|
|
33
33
|
const invert = (data) => Object.entries(data).reduce((acc, [k, v]) => ((acc[v] = k), acc), {});
|
|
34
34
|
const generatedOsmosisToAssetIdMap = invert(generatedAssetIdToOsmosisMap);
|
|
@@ -46,10 +46,10 @@ exports.parseOsmosisData = parseOsmosisData;
|
|
|
46
46
|
const parseData = (d) => {
|
|
47
47
|
const osmosisMainnet = (0, chainId_1.toChainId)({
|
|
48
48
|
chainNamespace: constants_1.CHAIN_NAMESPACE.Cosmos,
|
|
49
|
-
chainReference: constants_1.CHAIN_REFERENCE.OsmosisMainnet
|
|
49
|
+
chainReference: constants_1.CHAIN_REFERENCE.OsmosisMainnet,
|
|
50
50
|
});
|
|
51
51
|
return {
|
|
52
|
-
[osmosisMainnet]: (0, exports.parseOsmosisData)(d)
|
|
52
|
+
[osmosisMainnet]: (0, exports.parseOsmosisData)(d),
|
|
53
53
|
};
|
|
54
54
|
};
|
|
55
55
|
exports.parseData = parseData;
|
|
@@ -32,7 +32,7 @@ const thorPoolIdAssetIdSymbolMap = {
|
|
|
32
32
|
'LTC.LTC': constants_1.ltcAssetId,
|
|
33
33
|
'DOGE.DOGE': constants_1.dogeAssetId,
|
|
34
34
|
'GAIA.ATOM': constants_1.cosmosAssetId,
|
|
35
|
-
'BCH.BCH': constants_1.bchAssetId
|
|
35
|
+
'BCH.BCH': constants_1.bchAssetId,
|
|
36
36
|
};
|
|
37
37
|
const invert = (data) => Object.entries(data).reduce((acc, [k, v]) => ((acc[v] = k), acc), {});
|
|
38
38
|
const assetIdToPoolAssetIdMap = invert(thorPoolIdAssetIdSymbolMap);
|
|
@@ -31,7 +31,7 @@ const toLower_1 = __importDefault(require("lodash/toLower"));
|
|
|
31
31
|
const adapters = __importStar(require("./generated"));
|
|
32
32
|
const generatedAssedIdToYearnMap = Object.values(adapters).reduce((acc, cur) => ({
|
|
33
33
|
...acc,
|
|
34
|
-
...cur
|
|
34
|
+
...cur,
|
|
35
35
|
}));
|
|
36
36
|
const invert = (data) => Object.entries(data).reduce((acc, [k, v]) => ((acc[v] = k), acc), {});
|
|
37
37
|
const generatedYearnToAssetIdMap = invert(generatedAssedIdToYearnMap);
|
|
@@ -28,7 +28,7 @@ const fetchData = async () => {
|
|
|
28
28
|
yearnSdk.vaults.get(),
|
|
29
29
|
yearnSdk.ironBank.tokens(),
|
|
30
30
|
yearnSdk.tokens.supported(),
|
|
31
|
-
yearnSdk.vaults.tokens()
|
|
31
|
+
yearnSdk.vaults.tokens(),
|
|
32
32
|
]);
|
|
33
33
|
const tokens = [...vaults, ...ironBankTokens, ...zapperTokens, ...underlyingVaultTokens];
|
|
34
34
|
return (0, uniqBy_1.default)(tokens, 'address');
|
|
@@ -46,7 +46,7 @@ const parseEthData = (data) => {
|
|
|
46
46
|
chainNamespace,
|
|
47
47
|
chainReference,
|
|
48
48
|
assetNamespace,
|
|
49
|
-
assetReference
|
|
49
|
+
assetReference,
|
|
50
50
|
});
|
|
51
51
|
acc[assetId] = id;
|
|
52
52
|
return acc;
|
|
@@ -56,7 +56,7 @@ exports.parseEthData = parseEthData;
|
|
|
56
56
|
const parseData = (d) => {
|
|
57
57
|
const ethMainnet = (0, chainId_1.toChainId)({
|
|
58
58
|
chainNamespace: constants_1.CHAIN_NAMESPACE.Ethereum,
|
|
59
|
-
chainReference: constants_1.CHAIN_REFERENCE.EthereumMainnet
|
|
59
|
+
chainReference: constants_1.CHAIN_REFERENCE.EthereumMainnet,
|
|
60
60
|
});
|
|
61
61
|
return { [ethMainnet]: (0, exports.parseEthData)(d) };
|
|
62
62
|
};
|
package/dist/assetId/assetId.js
CHANGED
|
@@ -32,17 +32,17 @@ const toAssetId = (args) => {
|
|
|
32
32
|
return {
|
|
33
33
|
chainId: args.chainId,
|
|
34
34
|
chainNamespace: fromChainIdResult.chainNamespace,
|
|
35
|
-
chainReference: fromChainIdResult.chainReference
|
|
35
|
+
chainReference: fromChainIdResult.chainReference,
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
38
|
else
|
|
39
39
|
return {
|
|
40
40
|
chainId: (0, chainId_1.toChainId)({
|
|
41
41
|
chainNamespace: args.chainNamespace,
|
|
42
|
-
chainReference: args.chainReference
|
|
42
|
+
chainReference: args.chainReference,
|
|
43
43
|
}),
|
|
44
44
|
chainNamespace: args.chainNamespace,
|
|
45
|
-
chainReference: args.chainReference
|
|
45
|
+
chainReference: args.chainReference,
|
|
46
46
|
};
|
|
47
47
|
})();
|
|
48
48
|
const isContractAddress = Array('erc20', 'erc721').includes(assetNamespace);
|
package/dist/constants.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export declare const cosmosChainId: ChainId;
|
|
|
18
18
|
export declare const osmosisChainId: ChainId;
|
|
19
19
|
export declare const CHAIN_NAMESPACE: {
|
|
20
20
|
readonly Ethereum: "eip155";
|
|
21
|
-
readonly
|
|
21
|
+
readonly Utxo: "bip122";
|
|
22
22
|
readonly Cosmos: "cosmos";
|
|
23
23
|
};
|
|
24
24
|
declare type ValidChainMap = {
|
package/dist/constants.js
CHANGED
|
@@ -19,8 +19,8 @@ exports.cosmosChainId = 'cosmos:cosmoshub-4';
|
|
|
19
19
|
exports.osmosisChainId = 'cosmos:osmosis-1';
|
|
20
20
|
exports.CHAIN_NAMESPACE = {
|
|
21
21
|
Ethereum: 'eip155',
|
|
22
|
-
|
|
23
|
-
Cosmos: 'cosmos'
|
|
22
|
+
Utxo: 'bip122',
|
|
23
|
+
Cosmos: 'cosmos',
|
|
24
24
|
};
|
|
25
25
|
exports.CHAIN_REFERENCE = {
|
|
26
26
|
EthereumMainnet: '1',
|
|
@@ -38,33 +38,33 @@ exports.CHAIN_REFERENCE = {
|
|
|
38
38
|
CosmosHubVega: 'vega-testnet',
|
|
39
39
|
OsmosisMainnet: 'osmosis-1',
|
|
40
40
|
OsmosisTestnet: 'osmo-testnet-1',
|
|
41
|
-
AvalancheCChain: '43114' // https://docs.avax.network/apis/avalanchego/apis/c-chain
|
|
41
|
+
AvalancheCChain: '43114', // https://docs.avax.network/apis/avalanchego/apis/c-chain
|
|
42
42
|
};
|
|
43
43
|
exports.VALID_CHAIN_IDS = Object.freeze({
|
|
44
|
-
[exports.CHAIN_NAMESPACE.
|
|
44
|
+
[exports.CHAIN_NAMESPACE.Utxo]: [
|
|
45
45
|
exports.CHAIN_REFERENCE.BitcoinMainnet,
|
|
46
46
|
exports.CHAIN_REFERENCE.BitcoinTestnet,
|
|
47
47
|
exports.CHAIN_REFERENCE.BitcoinCashMainnet,
|
|
48
48
|
exports.CHAIN_REFERENCE.DogecoinMainnet,
|
|
49
|
-
exports.CHAIN_REFERENCE.LitecoinMainnet
|
|
49
|
+
exports.CHAIN_REFERENCE.LitecoinMainnet,
|
|
50
50
|
],
|
|
51
51
|
[exports.CHAIN_NAMESPACE.Ethereum]: [
|
|
52
52
|
exports.CHAIN_REFERENCE.EthereumMainnet,
|
|
53
53
|
exports.CHAIN_REFERENCE.EthereumRopsten,
|
|
54
54
|
exports.CHAIN_REFERENCE.EthereumRinkeby,
|
|
55
|
-
exports.CHAIN_REFERENCE.AvalancheCChain
|
|
55
|
+
exports.CHAIN_REFERENCE.AvalancheCChain,
|
|
56
56
|
],
|
|
57
57
|
[exports.CHAIN_NAMESPACE.Cosmos]: [
|
|
58
58
|
exports.CHAIN_REFERENCE.CosmosHubMainnet,
|
|
59
59
|
exports.CHAIN_REFERENCE.CosmosHubVega,
|
|
60
60
|
exports.CHAIN_REFERENCE.OsmosisMainnet,
|
|
61
|
-
exports.CHAIN_REFERENCE.OsmosisTestnet
|
|
62
|
-
]
|
|
61
|
+
exports.CHAIN_REFERENCE.OsmosisTestnet,
|
|
62
|
+
],
|
|
63
63
|
});
|
|
64
64
|
exports.VALID_ASSET_NAMESPACE = Object.freeze({
|
|
65
|
-
[exports.CHAIN_NAMESPACE.
|
|
65
|
+
[exports.CHAIN_NAMESPACE.Utxo]: ['slip44'],
|
|
66
66
|
[exports.CHAIN_NAMESPACE.Ethereum]: ['slip44', 'erc20', 'erc721'],
|
|
67
|
-
[exports.CHAIN_NAMESPACE.Cosmos]: ['cw20', 'cw721', 'ibc', 'native', 'slip44']
|
|
67
|
+
[exports.CHAIN_NAMESPACE.Cosmos]: ['cw20', 'cw721', 'ibc', 'native', 'slip44'],
|
|
68
68
|
});
|
|
69
69
|
exports.ASSET_NAMESPACE_STRINGS = [
|
|
70
70
|
'cw20',
|
|
@@ -73,7 +73,7 @@ exports.ASSET_NAMESPACE_STRINGS = [
|
|
|
73
73
|
'erc721',
|
|
74
74
|
'slip44',
|
|
75
75
|
'native',
|
|
76
|
-
'ibc'
|
|
76
|
+
'ibc',
|
|
77
77
|
];
|
|
78
78
|
exports.ASSET_REFERENCE = {
|
|
79
79
|
Bitcoin: '0',
|
|
@@ -83,5 +83,5 @@ exports.ASSET_REFERENCE = {
|
|
|
83
83
|
Cosmos: '118',
|
|
84
84
|
Osmosis: '118',
|
|
85
85
|
BitcoinCash: '145',
|
|
86
|
-
AvalancheC: '9000'
|
|
86
|
+
AvalancheC: '9000',
|
|
87
87
|
};
|