@shapeshiftoss/caip 6.15.1 → 6.16.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.
@@ -7,3 +7,4 @@ export * from './banxa';
7
7
  export * from './coinbase';
8
8
  export * from './junopay';
9
9
  export * from './thortrading';
10
+ export * from './mtpelerin';
@@ -23,3 +23,4 @@ __exportStar(require("./banxa"), exports);
23
23
  __exportStar(require("./coinbase"), exports);
24
24
  __exportStar(require("./junopay"), exports);
25
25
  __exportStar(require("./thortrading"), exports);
26
+ __exportStar(require("./mtpelerin"), exports);
@@ -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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapeshiftoss/caip",
3
- "version": "6.15.1",
3
+ "version": "6.16.0",
4
4
  "description": "CAIP Implementation",
5
5
  "homepage": "",
6
6
  "license": "MIT",