@shapeshiftoss/caip 5.2.3 → 6.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.
@@ -1,5 +1,6 @@
1
1
  import { ChainId, ChainNamespace, ChainReference } from '../chainId/chainId';
2
- export declare type AccountId = string;
2
+ import { Nominal } from '../utils';
3
+ export declare type AccountId = Nominal<string, 'AccountId'>;
3
4
  declare type ToAccountIdWithChainId = {
4
5
  chainId: ChainId;
5
6
  account: string;
@@ -1,5 +1,5 @@
1
1
  export declare const banxaTickerToAssetId: (id: string) => string | undefined;
2
- export declare const AssetIdToBanxaTicker: (assetId: string) => string | undefined;
2
+ export declare const assetIdToBanxaTicker: (assetId: string) => string | undefined;
3
3
  export declare const getSupportedBanxaAssets: () => {
4
4
  assetId: string;
5
5
  ticker: string;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getBanxaBlockchainFromBanxaAssetTicker = exports.getSupportedBanxaAssets = exports.AssetIdToBanxaTicker = exports.banxaTickerToAssetId = void 0;
6
+ exports.getBanxaBlockchainFromBanxaAssetTicker = exports.getSupportedBanxaAssets = exports.assetIdToBanxaTicker = exports.banxaTickerToAssetId = void 0;
7
7
  const entries_1 = __importDefault(require("lodash/entries"));
8
8
  const toLower_1 = __importDefault(require("lodash/toLower"));
9
9
  const assetId_1 = require("../../assetId/assetId");
@@ -41,8 +41,8 @@ const invert = (data) => Object.entries(data).reduce((acc, [k, v]) => ((acc[v] =
41
41
  const banxaTickerToAssetIdMap = invert(AssetIdToBanxaTickerMap);
42
42
  const banxaTickerToAssetId = (id) => banxaTickerToAssetIdMap[id];
43
43
  exports.banxaTickerToAssetId = banxaTickerToAssetId;
44
- const AssetIdToBanxaTicker = (assetId) => AssetIdToBanxaTickerMap[(0, toLower_1.default)(assetId)];
45
- exports.AssetIdToBanxaTicker = AssetIdToBanxaTicker;
44
+ const assetIdToBanxaTicker = (assetId) => AssetIdToBanxaTickerMap[(0, toLower_1.default)(assetId)];
45
+ exports.assetIdToBanxaTicker = assetIdToBanxaTicker;
46
46
  const getSupportedBanxaAssets = () => (0, entries_1.default)(AssetIdToBanxaTickerMap).map(([assetId, ticker]) => ({
47
47
  assetId,
48
48
  ticker
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("./utils");
4
+ // To run, install ts-node globally `npm i -g ts-node`
5
+ // From the caip package root. Run `ts-node ./src/adapters/coinbase/generate.ts`
6
+ const main = async () => {
7
+ const coinbaseCurrencies = await (0, utils_1.getData)();
8
+ const output = (0, utils_1.parseData)(coinbaseCurrencies);
9
+ await (0, utils_1.writeFiles)(output);
10
+ };
11
+ main();
@@ -0,0 +1,153 @@
1
+ {
2
+ "eip155:1/erc20:0x8290333cef9e6d528dd5618fb97a76f268f3edd4": "ANKR",
3
+ "eip155:1/erc20:0x33349b282065b0284d756f0577fb39c158f935e6": "MPL",
4
+ "eip155:1/erc20:0x41e5560054824ea6b0732e656e3ad64e20e94e45": "CVC",
5
+ "eip155:1/erc20:0x9992ec3cf6a55b00978cddf2b27bc6882d88d1ec": "POLY",
6
+ "eip155:1/erc20:0x09a3ecafa817268f77be1283176b946c4ff2e608": "MIR",
7
+ "eip155:1/erc20:0xf1f955016ecbcd7321c7266bccfb96c68ea5e49b": "RLY",
8
+ "eip155:1/erc20:0x2260fac5e5542a773aa44fbcfedf7c193bc2c599": "WBTC",
9
+ "eip155:1/erc20:0xdbdb4d16eda451d0503b854cf79d55697f90c8df": "ALCX",
10
+ "eip155:1/erc20:0x5732046a883704404f284ce41ffadd5b007fd668": "BLZ",
11
+ "eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f": "DAI",
12
+ "eip155:1/erc20:0x7dd9c5cba05e151c895fde1cf355c9a1d5da6429": "GLM",
13
+ "eip155:1/erc20:0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce": "SHIB",
14
+ "eip155:1/erc20:0x408e41876cccdc0f92210600ef50372656052a38": "REN",
15
+ "eip155:1/erc20:0x6fb3e0a217407efff7ca062d46c26e5d60a14d69": "IOTX",
16
+ "eip155:1/erc20:0xdac17f958d2ee523a2206206994597c13d831ec7": "USDT",
17
+ "eip155:1/erc20:0xdd974d5c2e2928dea5f71b9825b8b646686bd200": "KNC",
18
+ "eip155:1/erc20:0x41d5d79431a913c4ae7d69a668ecdfe5ff9dfb68": "INV",
19
+ "eip155:1/erc20:0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2": "MKR",
20
+ "eip155:1/erc20:0xc18360217d8f7ab5e7c516566761ea12ce7f9d72": "ENS",
21
+ "eip155:1/erc20:0xd8912c10681d8b21fd3742244f44658dba12264e": "PLU",
22
+ "eip155:1/erc20:0x3a4f40631a4f906c2bad353ed06de7a5d3fcb430": "PLA",
23
+ "eip155:1/erc20:0x6de037ef9ad2725eb40118bb1702ebb27e4aeb24": "RNDR",
24
+ "eip155:1/erc20:0x55296f69f40ea6d20e478533c15a6b08b654e758": "XYO",
25
+ "eip155:1/erc20:0xdab396ccf3d84cf2d07c4454e10c8a6f5b008d2b": "GFI",
26
+ "eip155:1/erc20:0x4575f41308ec1483f3d399aa9a2826d74da13deb": "OXT",
27
+ "eip155:1/erc20:0xd2877702675e6ceb975b4a1dff9fb7baf4c91ea9": "WLUNA",
28
+ "eip155:1/erc20:0x0954906da0bf32d5479e25f46056d22f08464cab": "INDEX",
29
+ "eip155:1/erc20:0xff20817765cb7f73d4bde2e66e067e58d11095c2": "AMP",
30
+ "eip155:1/erc20:0xaea46a60368a7bd060eec7df8cba43b7ef41ad85": "FET",
31
+ "eip155:1/erc20:0x4fe83213d56308330ec302a8bd641f1d0113a4cc": "NU",
32
+ "eip155:1/erc20:0x7f08962d948c5c59cac284035748be21134ebc2b": "UMA",
33
+ "eip155:1/erc20:0x3d658390460295fb963f54dc0899cfb1c30776df": "COVAL",
34
+ "eip155:1/erc20:0xfc98e825a2264d890f9a1e68ed50e1526abccacd": "MCO2",
35
+ "eip155:1/erc20:0x799ebfabe77a6e34311eeee9825190b9ece32824": "BTRST",
36
+ "eip155:1/erc20:0x0d67f3e4bcbd2d6b7a90150c73bdf9ffc6b6de9b": "GRT",
37
+ "eip155:1/erc20:0x5faa989af96af85384b8a938c2ede4a7378d9875": "GAL",
38
+ "eip155:1/erc20:0x8f8221afbb33998d8584a2b05749ba73c37a938a": "REQ",
39
+ "eip155:1/erc20:0xd26114cd6ee289accf82350c8d8487fedb8a0c07": "OMG",
40
+ "eip155:1/erc20:0x91af0fbb28aba7e31403cb457106ce79397fd4e6": "AERGO",
41
+ "eip155:1/erc20:0x321c2fe4446c7c963dc41dd58879af648838f98d": "CTX",
42
+ "eip155:1/erc20:0xccc8cb5229b0ac8069c51fd58367fd1e622afd97": "GODS",
43
+ "eip155:1/erc20:0x6dea81c8171d0ba574754ef6f8b412f2ed88c54d": "LQTY",
44
+ "eip155:1/erc20:0x9e46a38f5daabe8683e10793b06749eef7d733d1": "NCT",
45
+ "eip155:1/erc20:0x8e870d67f660d95d5be530380d0ec0bd388289e1": "PAX",
46
+ "eip155:1/erc20:0x6b3595068778dd592e39a122f4f5a5cf09c90fe2": "SUSHI",
47
+ "eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": "USDC",
48
+ "eip155:1/erc20:0xec67005c4e498ec7f55e092bd1d35cbc47c91892": "MLN",
49
+ "eip155:1/erc20:0xd291e7a03283640fdc51b121ac401383a46cc623": "RGT",
50
+ "eip155:1/erc20:0x99ea4db9ee77acd40b119bd1dc4e33e1c070b80d": "QSP",
51
+ "eip155:1/erc20:0x090185f2135308bad17527004364ebcc2d37e5f6": "SPELL",
52
+ "eip155:1/erc20:0xf17e65822b568b3903685a7c9f496cf7656cc6c2": "BICO",
53
+ "eip155:1/erc20:0x0d8775f648430679a709e98d2b0cb6250d2887ef": "BAT",
54
+ "eip155:1/erc20:0x037a54aab062628c9bbae1fdb1583c195585fe41": "LCX",
55
+ "eip155:1/erc20:0x3c4b6e6e1ea3d4863700d7f76b36b7f3d3f13e3d": "VGX",
56
+ "eip155:1/erc20:0x514910771af9ca656af840dff83e8264ecf986ca": "LINK",
57
+ "eip155:1/erc20:0x744d70fdbe2ba4cf95131626614a1763df805b9e": "SNT",
58
+ "eip155:1/erc20:0xaa7a9ca87d3694b5755f213b5d04094b8d0f0a6f": "TRAC",
59
+ "eip155:1/erc20:0x4c19596f5aaff459fa38b0f7ed92f11ae6543784": "TRU",
60
+ "eip155:1/erc20:0xed04915c23f00a313a544955524eb7dbd823143d": "ACH",
61
+ "eip155:1/erc20:0x1776e1f26f98b1a5df9cd347953a26dd3cb46671": "NMR",
62
+ "eip155:1/erc20:0x00c83aecc790e8a4453e5dd3b0b4b3680501a7a7": "SKL",
63
+ "eip155:1/erc20:0x03ab458634910aad20ef5f1c8ee96f1d6ac54919": "RAI",
64
+ "eip155:1/erc20:0x32353a6c91143bfd6c7d363b546e62a9a2489a20": "AGLD",
65
+ "eip155:1/erc20:0x5cf04716ba20127f1e2297addcf4b5035000c9eb": "NKN",
66
+ "eip155:1/erc20:0x4a220e6096b25eadb88358cb44068a3248254675": "QNT",
67
+ "eip155:1/erc20:0x88df592f8eb5d7bd38bfef7deb0fbc02cf3778a0": "TRB",
68
+ "eip155:1/erc20:0x85eee30c52b0b379b046fb0f85f4f3dc3009afec": "KEEP",
69
+ "eip155:1/erc20:0x8207c1ffc5b6804f6024322ccf34f29c3541ae26": "OGN",
70
+ "eip155:1/erc20:0xbc396689893d065f41bc2c6ecbee5e0085233447": "PERP",
71
+ "eip155:1/erc20:0x0abdace70d3790235af448c88547603b945604ea": "DNT",
72
+ "eip155:1/erc20:0x111111111117dc0aa78b770fa6a738034120c302": "1INCH",
73
+ "cosmos:cosmoshub-4/slip44:118": "ATOM",
74
+ "eip155:1/erc20:0xa1d0e215a23d7030842fc67ce582a6afa3ccab83": "YFII",
75
+ "eip155:1/erc20:0x15d4c048f83bd7e37d49ea4c83a07267ec4203da": "GALA",
76
+ "eip155:1/erc20:0x31c8eacbffdd875c74b94b077895bd78cf1e64a3": "RAD",
77
+ "eip155:1/erc20:0x6123b0049f904d730db3c36a31167d9d4121fa6b": "RBN",
78
+ "eip155:1/erc20:0x1f9840a85d5af5bf1d1762f925bdaddc4201f984": "UNI",
79
+ "eip155:1/erc20:0x3472a5a71965499acd81997a54bba8d852c6e53d": "BADGER",
80
+ "eip155:1/erc20:0xddb3422497e61e13543bea06989c0789117555c5": "COTI",
81
+ "eip155:1/erc20:0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0": "MATIC",
82
+ "eip155:1/erc20:0x0bc529c00c6401aef6d220be8c6ea1667f6ad93e": "YFI",
83
+ "eip155:1/erc20:0xc011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f": "SNX",
84
+ "eip155:1/erc20:0xba50933c268f567bdc86e1ac131be072c6b0b71a": "ARPA",
85
+ "eip155:1/erc20:0xde30da39c46104798bb5aa3fe8b9e0e1f348163f": "GTC",
86
+ "eip155:1/erc20:0xa0246c9032bc3a600820415ae600c6388619a14d": "FARM",
87
+ "eip155:1/erc20:0xc08512927d12348f6620a698105e1baac6ecd911": "GYEN",
88
+ "eip155:1/erc20:0x814e0908b12a99fecf5bc101bb5d0b8b5cdf7d26": "MDT",
89
+ "eip155:1/erc20:0x70d2b7c19352bb76e4409858ff5746e500f2b67c": "UPI",
90
+ "eip155:1/erc20:0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9": "AAVE",
91
+ "eip155:1/erc20:0x4d224452801aced8b2f0aebe155379bb5d594381": "APE",
92
+ "eip155:1/erc20:0x58b6a8a3302369daec383334672404ee733ab239": "LPT",
93
+ "eip155:1/erc20:0xedb171c18ce90b633db442f2a6f72874093b49ef": "WAMPL",
94
+ "eip155:1/erc20:0xc00e94cb662c3520282e6f5717214004a7f26888": "COMP",
95
+ "eip155:1/erc20:0x226bb599a12c826476e3a771454697ea52e9e220": "PRO",
96
+ "eip155:1/erc20:0xb64ef51c888972c908cfacf59b47c1afbc0ab8ac": "STORJ",
97
+ "eip155:1/erc20:0x464ebe77c293e473b48cfe96ddcf88fcf7bfdac0": "KRL",
98
+ "eip155:1/erc20:0x8daebade922df735c38c80c7ebd708af50815faa": "TBTC",
99
+ "eip155:1/erc20:0xe2f2a5c287993345a840db3b0845fbc70f5935a5": "MUSD",
100
+ "eip155:1/erc20:0xbb0e17ef65f82ab018d8edd776e8dd940327b28b": "AXS",
101
+ "eip155:1/erc20:0x80c62fe4487e1351b47ba49809ebd60ed085bf52": "CLV",
102
+ "eip155:1/erc20:0xac51066d7bec65dc4589368da368b212745d63e8": "ALICE",
103
+ "eip155:1/erc20:0x7420b4b9a0110cdc71fb720908340c03f9bc03ec": "JASMY",
104
+ "eip155:1/erc20:0x83e6f1e41cdd28eaceb20cb649155049fac3d5aa": "POLS",
105
+ "eip155:1/erc20:0x441761326490cacf7af299725b6292597ee822c2": "UNFI",
106
+ "bip122:000000000019d6689c085ae165831e93/slip44:0": "BTC",
107
+ "eip155:1/erc20:0x84ca8bc7997272c7cfb4d0cd3d55cd942b3c9419": "DIA",
108
+ "eip155:1/erc20:0x626e8036deb333b408be468f951bdb42433cbf18": "AIOZ",
109
+ "eip155:1/erc20:0xd533a949740bb3306d119cc777fa900ba034cd52": "CRV",
110
+ "eip155:1/erc20:0xba11d00c5f74255f56a5e366f4f77f5a186d7f55": "BAND",
111
+ "eip155:1/erc20:0x8c15ef5b4b21951d50e53e4fbda8298ffad25057": "FX",
112
+ "eip155:1/erc20:0x6c28aef8977c9b773996d0e8376d2ee379446f2f": "QUICK",
113
+ "eip155:1/erc20:0x4fabb145d64652a948d72533023f6e7a623c7c53": "BUSD",
114
+ "eip155:1/erc20:0xf57e7e7c23978c3caec3c3548e3d615c346e79ff": "IMX",
115
+ "eip155:1/erc20:0x42476f744292107e34519f9c357927074ea3f75d": "LOOM",
116
+ "eip155:1/erc20:0xc7283b66eb1eb5fb86327f08e1b5816b0720212b": "TRIBE",
117
+ "eip155:1/erc20:0x0b38210ea11411557c13457d4da7dc6ea731b88a": "API3",
118
+ "eip155:1/erc20:0x0d88ed6e74bbfd96b831231638b66c05571e824f": "AVT",
119
+ "eip155:1/erc20:0x0f5d2fb29fb7d3cfee444a200298f468908cc942": "MANA",
120
+ "eip155:1/slip44:60": "ETH",
121
+ "eip155:1/erc20:0xc770eefad204b5180df6a14ee197d99d808ee52d": "FOX",
122
+ "eip155:1/erc20:0x71ab77b7dbb4fa7e017bc15090b2163221420282": "HIGH",
123
+ "eip155:1/erc20:0x1985365e9f78359a9b6ad760e32412f4a445e862": "REP",
124
+ "eip155:1/erc20:0x0763fdccf1ae541a5961815c0872a8c5bc6de4d7": "SUKU",
125
+ "eip155:1/erc20:0x2565ae0385659badcada1031db704442e1b69982": "ASM",
126
+ "eip155:1/erc20:0x607f4c5bb672230e8672085532f7e901544a7375": "RLC",
127
+ "eip155:1/erc20:0x081131434f93063751813c619ecca9c4dc7862a3": "DAR",
128
+ "eip155:1/erc20:0x0391d2021f89dc339f60fff84546ea23e337750f": "BOND",
129
+ "eip155:1/erc20:0x491604c0fdf08347dd1fa4ee062a822a5dd06b5d": "CTSI",
130
+ "eip155:1/erc20:0xc221b7e65ffc80de234bbb6667abdd46593d34f0": "WCFG",
131
+ "eip155:1/erc20:0x3506424f91fd33084466f402d5d97f05f8e3b4af": "CHZ",
132
+ "eip155:1/erc20:0x1f573d6fb3f13d689ff844b4ce37794d79a7ff1c": "BNT",
133
+ "eip155:1/erc20:0x3a880652f47bfaa771908c07dd8673a787daed3a": "DDX",
134
+ "eip155:1/erc20:0xbbc2ae13b23d715c30720f079fcd9b4a74093505": "ERN",
135
+ "eip155:1/erc20:0x69af81e73a73b40adf4f3d4223cd9b1ece623074": "MASK",
136
+ "eip155:1/erc20:0x0f2d719407fdbeff09d87557abb7232601fd9f29": "SYN",
137
+ "eip155:1/erc20:0xa47c8bf37f92abed4a126bda807a7b7498661acd": "UST",
138
+ "eip155:1/erc20:0xba100000625a3754423978a60c9317c58a424e3d": "BAL",
139
+ "eip155:1/erc20:0xa74476443119a942de498590fe1f2454d7d4ac0d": "GNT",
140
+ "eip155:1/erc20:0x0258f474786ddfd37abce6df6bbb1dd5dfc4434a": "ORN",
141
+ "eip155:1/erc20:0xfca59cd816ab1ead66534d82bc21e7515ce441cf": "RARI",
142
+ "eip155:1/erc20:0xe53ec727dbdeb9e2d5456c3be40cff031ab40a55": "SUPER",
143
+ "eip155:1/erc20:0xa9b1eb5908cfc3cdf91f9b8b3a74108598009096": "AUCTION",
144
+ "eip155:1/erc20:0xb705268213d593b8fd88d3fdeff93aff5cbdcfae": "IDEX",
145
+ "eip155:1/erc20:0x595832f8fc6bf59c85c527fec3740a1b7a361269": "POWR",
146
+ "eip155:1/erc20:0xe41d2489571d322189246dafa5ebde1f4699f498": "ZRX",
147
+ "eip155:1/erc20:0xa0b73e1ff0b80914ab6fe0444e65848c4c34450b": "CRO",
148
+ "eip155:1/erc20:0x08389495d7456e1951ddf7c3a1314a4bfb646d8b": "CRPT",
149
+ "eip155:1/erc20:0xf629cbd94d3791c9250152bd8dfbdf380e2a3b9c": "ENJ",
150
+ "eip155:1/erc20:0x77fba179c79de5b7653f68b5039af940ada60ce0": "FORTH",
151
+ "eip155:1/erc20:0xbbbbca6a901c926f240b89eacb641d8aec7aeafd": "LRC",
152
+ "eip155:1/erc20:0x7c84e62859d0715eb77d1b1c4154ecd6abb21bec": "SHPING"
153
+ }
@@ -0,0 +1,2 @@
1
+ import tickerMap from './adapter.json';
2
+ export { tickerMap };
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.tickerMap = void 0;
7
+ const adapter_json_1 = __importDefault(require("./adapter.json"));
8
+ exports.tickerMap = adapter_json_1.default;
@@ -0,0 +1,3 @@
1
+ import { AssetId } from '../../index';
2
+ export declare const coinbaseTickerToAssetId: (id: string) => AssetId | undefined;
3
+ export declare const assetIdToCoinbaseTicker: (assetId: AssetId) => string | undefined;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.assetIdToCoinbaseTicker = exports.coinbaseTickerToAssetId = void 0;
7
+ const toLower_1 = __importDefault(require("lodash/toLower"));
8
+ const generated_1 = require("./generated");
9
+ // As of 2022/06/13 (ETH/BTC/COSMOS assets)
10
+ const assetIdToCoinbaseTickerMap = generated_1.tickerMap;
11
+ const invert = (data) => Object.entries(data).reduce((acc, [k, v]) => ((acc[v] = k), acc), {});
12
+ const coinbaseAssetIdToAssetIdMap = invert(assetIdToCoinbaseTickerMap);
13
+ const coinbaseTickerToAssetId = (id) => coinbaseAssetIdToAssetIdMap[id];
14
+ exports.coinbaseTickerToAssetId = coinbaseTickerToAssetId;
15
+ const assetIdToCoinbaseTicker = (assetId) => assetIdToCoinbaseTickerMap[(0, toLower_1.default)(assetId)];
16
+ exports.assetIdToCoinbaseTicker = assetIdToCoinbaseTicker;
@@ -0,0 +1,12 @@
1
+ import { AssetId } from '../../index';
2
+ declare type CoinbaseCurrency = {
3
+ id: string;
4
+ details: {
5
+ crypto_address_link: string | null;
6
+ };
7
+ default_network: string;
8
+ };
9
+ export declare function parseData(data: CoinbaseCurrency[]): Record<AssetId, string>;
10
+ export declare function getData(): Promise<CoinbaseCurrency[]>;
11
+ export declare const writeFiles: (data: Record<AssetId, string>) => Promise<void>;
12
+ export {};
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.writeFiles = exports.getData = exports.parseData = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const toLower_1 = __importDefault(require("lodash/toLower"));
10
+ function coinbaseCurrencyToAssetId(currency) {
11
+ var _a;
12
+ if (currency.id === 'BTC')
13
+ return 'bip122:000000000019d6689c085ae165831e93/slip44:0';
14
+ if (currency.id === 'ATOM')
15
+ return 'cosmos:cosmoshub-4/slip44:118';
16
+ if (currency.id === 'OSMO')
17
+ return 'cosmos:osmosis-1/slip44:118';
18
+ if (currency.id === 'ETH')
19
+ return 'eip155:1/slip44:60';
20
+ if (currency.default_network === 'ethereum') {
21
+ const addressQuery = (_a = currency.details.crypto_address_link) === null || _a === void 0 ? void 0 : _a.split('token/')[1];
22
+ const address = addressQuery === null || addressQuery === void 0 ? void 0 : addressQuery.split('?a')[0];
23
+ return `eip155:1/erc20:${(0, toLower_1.default)(address)}`;
24
+ }
25
+ console.info(`Could not create assetId from coinbase asset ${currency.id}`);
26
+ return null;
27
+ }
28
+ function parseData(data) {
29
+ return data.reduce((acc, current) => {
30
+ const assetId = coinbaseCurrencyToAssetId(current);
31
+ if (!assetId)
32
+ return acc;
33
+ acc[assetId] = current.id;
34
+ return acc;
35
+ }, {});
36
+ }
37
+ exports.parseData = parseData;
38
+ async function getData() {
39
+ try {
40
+ const { data } = await axios_1.default.get('https://api.pro.coinbase.com/currencies');
41
+ return data;
42
+ }
43
+ catch (err) {
44
+ console.error('Get supported coins (coinbase-pay) failed');
45
+ return [];
46
+ }
47
+ }
48
+ exports.getData = getData;
49
+ const writeFile = async (data) => {
50
+ const path = './src/adapters/coinbase/generated/';
51
+ const file = 'adapter.json';
52
+ await fs_1.default.promises.writeFile(`${path}${file}`, JSON.stringify(data, null, 2));
53
+ };
54
+ const writeFiles = async (data) => {
55
+ await writeFile(data);
56
+ console.info('Generated Coinbase AssetId adapter data.');
57
+ };
58
+ exports.writeFiles = writeFiles;
@@ -16,14 +16,7 @@ export declare const writeFiles: (data: Record<string, Record<string, string>>)
16
16
  export declare const fetchData: (URL: string) => Promise<CoinCapCoin[]>;
17
17
  export declare const parseEthData: (data: CoinCapCoin[]) => Record<string, string>;
18
18
  export declare const parseData: (d: CoinCapCoin[]) => {
19
- "eip155:1": Record<string, string>;
20
- "bip122:000000000019d6689c085ae165831e93": {
21
- [x: string]: string;
22
- };
23
- "cosmos:cosmoshub-4": {
24
- [x: string]: string;
25
- };
26
- "cosmos:osmosis-1": {
19
+ [x: string]: {
27
20
  [x: string]: string;
28
21
  };
29
22
  };
@@ -10,14 +10,7 @@ export declare const writeFiles: (data: Record<string, Record<string, string>>)
10
10
  export declare const fetchData: (URL: string) => Promise<CoingeckoCoin[]>;
11
11
  export declare const parseEthData: (data: CoingeckoCoin[]) => Record<string, string>;
12
12
  export declare const parseData: (d: CoingeckoCoin[]) => {
13
- "eip155:1": Record<string, string>;
14
- "bip122:000000000019d6689c085ae165831e93": {
15
- [x: string]: string;
16
- };
17
- "cosmos:cosmoshub-4": {
18
- [x: string]: string;
19
- };
20
- "cosmos:osmosis-1": {
13
+ [x: string]: {
21
14
  [x: string]: string;
22
15
  };
23
16
  };
@@ -1,2 +1,2 @@
1
- export declare const gemAssetIdToAssetId: (id: string) => string | undefined;
2
- export declare const assetIdToGemAssetId: (assetId: string) => string | undefined;
1
+ export declare const gemTickerToAssetId: (id: string) => string | undefined;
2
+ export declare const assetIdToGemTicker: (assetId: string) => string | undefined;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.assetIdToGemAssetId = exports.gemAssetIdToAssetId = void 0;
6
+ exports.assetIdToGemTicker = exports.gemTickerToAssetId = void 0;
7
7
  const toLower_1 = __importDefault(require("lodash/toLower"));
8
8
  const assetIdToGemAssetIdMap = {
9
9
  'bip122:000000000019d6689c085ae165831e93/slip44:0': 'bitcoin',
@@ -30,7 +30,7 @@ const assetIdToGemAssetIdMap = {
30
30
  };
31
31
  const invert = (data) => Object.entries(data).reduce((acc, [k, v]) => ((acc[v] = k), acc), {});
32
32
  const gemAssetIdToAssetIdMap = invert(assetIdToGemAssetIdMap);
33
- const gemAssetIdToAssetId = (id) => gemAssetIdToAssetIdMap[id];
34
- exports.gemAssetIdToAssetId = gemAssetIdToAssetId;
35
- const assetIdToGemAssetId = (assetId) => assetIdToGemAssetIdMap[(0, toLower_1.default)(assetId)];
36
- exports.assetIdToGemAssetId = assetIdToGemAssetId;
33
+ const gemTickerToAssetId = (id) => gemAssetIdToAssetIdMap[id];
34
+ exports.gemTickerToAssetId = gemTickerToAssetId;
35
+ const assetIdToGemTicker = (assetId) => assetIdToGemAssetIdMap[(0, toLower_1.default)(assetId)];
36
+ exports.assetIdToGemTicker = assetIdToGemTicker;
@@ -4,4 +4,5 @@ export * from './yearn';
4
4
  export * from './osmosis';
5
5
  export * from './gem';
6
6
  export * from './banxa';
7
+ export * from './coinbase';
7
8
  export * from './thortrading';
@@ -20,4 +20,5 @@ __exportStar(require("./yearn"), exports);
20
20
  __exportStar(require("./osmosis"), exports);
21
21
  __exportStar(require("./gem"), exports);
22
22
  __exportStar(require("./banxa"), exports);
23
+ __exportStar(require("./coinbase"), exports);
23
24
  __exportStar(require("./thortrading"), exports);
@@ -1,6 +1,7 @@
1
1
  import { ChainId, ChainNamespace, ChainReference } from '../chainId/chainId';
2
2
  import { ASSET_NAMESPACE_STRINGS, ASSET_REFERENCE } from '../constants';
3
- export declare type AssetId = string;
3
+ import { Nominal } from '../utils';
4
+ export declare type AssetId = Nominal<string, 'AssetId'>;
4
5
  export declare type AssetNamespace = typeof ASSET_NAMESPACE_STRINGS[number];
5
6
  export declare type AssetReference = typeof ASSET_REFERENCE[keyof typeof ASSET_REFERENCE];
6
7
  declare type ToAssetIdWithChainId = {
@@ -1,5 +1,6 @@
1
1
  import { CHAIN_NAMESPACE, CHAIN_REFERENCE } from '../constants';
2
- export declare type ChainId = string;
2
+ import { Nominal } from '../utils';
3
+ export declare type ChainId = Nominal<string, 'ChainId'>;
3
4
  export declare type ChainNamespace = typeof CHAIN_NAMESPACE[keyof typeof CHAIN_NAMESPACE];
4
5
  export declare type ChainReference = typeof CHAIN_REFERENCE[keyof typeof CHAIN_REFERENCE];
5
6
  declare type ToChainIdArgs = {
@@ -1,13 +1,15 @@
1
- import { AssetNamespace } from './assetId/assetId';
2
- import { ChainNamespace, ChainReference } from './chainId/chainId';
3
- export declare const btcAssetId = "bip122:000000000019d6689c085ae165831e93/slip44:0";
4
- export declare const ethAssetId = "eip155:1/slip44:60";
5
- export declare const cosmosAssetId = "cosmos:cosmoshub-4/slip44:118";
6
- export declare const osmosisAssetId = "cosmos:osmosis-1/slip44:118";
7
- export declare const ethChainId = "eip155:1";
8
- export declare const btcChainId = "bip122:000000000019d6689c085ae165831e93";
9
- export declare const cosmosChainId = "cosmos:cosmoshub-4";
10
- export declare const osmosisChainId = "cosmos:osmosis-1";
1
+ import { AssetId, AssetNamespace } from './assetId/assetId';
2
+ import { ChainId, ChainNamespace, ChainReference } from './chainId/chainId';
3
+ export declare const btcAssetId: AssetId;
4
+ export declare const ethAssetId: AssetId;
5
+ export declare const cosmosAssetId: AssetId;
6
+ export declare const osmosisAssetId: AssetId;
7
+ export declare const avalancheAssetId: AssetId;
8
+ export declare const ethChainId: ChainId;
9
+ export declare const btcChainId: ChainId;
10
+ export declare const cosmosChainId: ChainId;
11
+ export declare const osmosisChainId: ChainId;
12
+ export declare const avalancheChainId: ChainId;
11
13
  export declare const CHAIN_NAMESPACE: {
12
14
  readonly Ethereum: "eip155";
13
15
  readonly Bitcoin: "bip122";
@@ -26,6 +28,7 @@ export declare const CHAIN_REFERENCE: {
26
28
  readonly CosmosHubVega: "vega-testnet";
27
29
  readonly OsmosisMainnet: "osmosis-1";
28
30
  readonly OsmosisTestnet: "osmo-testnet-1";
31
+ readonly AvalancheCChain: "43114";
29
32
  };
30
33
  export declare const VALID_CHAIN_IDS: ValidChainMap;
31
34
  declare type ValidAssetNamespace = {
package/dist/constants.js CHANGED
@@ -1,14 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ASSET_REFERENCE = exports.ASSET_NAMESPACE_STRINGS = exports.VALID_ASSET_NAMESPACE = exports.VALID_CHAIN_IDS = exports.CHAIN_REFERENCE = exports.CHAIN_NAMESPACE = exports.osmosisChainId = exports.cosmosChainId = exports.btcChainId = exports.ethChainId = exports.osmosisAssetId = exports.cosmosAssetId = exports.ethAssetId = exports.btcAssetId = void 0;
3
+ exports.ASSET_REFERENCE = exports.ASSET_NAMESPACE_STRINGS = exports.VALID_ASSET_NAMESPACE = exports.VALID_CHAIN_IDS = exports.CHAIN_REFERENCE = exports.CHAIN_NAMESPACE = exports.avalancheChainId = exports.osmosisChainId = exports.cosmosChainId = exports.btcChainId = exports.ethChainId = exports.avalancheAssetId = exports.osmosisAssetId = exports.cosmosAssetId = exports.ethAssetId = exports.btcAssetId = void 0;
4
4
  exports.btcAssetId = 'bip122:000000000019d6689c085ae165831e93/slip44:0';
5
5
  exports.ethAssetId = 'eip155:1/slip44:60';
6
6
  exports.cosmosAssetId = 'cosmos:cosmoshub-4/slip44:118';
7
7
  exports.osmosisAssetId = 'cosmos:osmosis-1/slip44:118';
8
+ exports.avalancheAssetId = 'eip155:43114/slip44:9000';
8
9
  exports.ethChainId = 'eip155:1';
9
10
  exports.btcChainId = 'bip122:000000000019d6689c085ae165831e93';
10
11
  exports.cosmosChainId = 'cosmos:cosmoshub-4';
11
12
  exports.osmosisChainId = 'cosmos:osmosis-1';
13
+ exports.avalancheChainId = 'eip155:43114';
12
14
  exports.CHAIN_NAMESPACE = {
13
15
  Ethereum: 'eip155',
14
16
  Bitcoin: 'bip122',
@@ -26,14 +28,16 @@ exports.CHAIN_REFERENCE = {
26
28
  CosmosHubMainnet: 'cosmoshub-4',
27
29
  CosmosHubVega: 'vega-testnet',
28
30
  OsmosisMainnet: 'osmosis-1',
29
- OsmosisTestnet: 'osmo-testnet-1'
31
+ OsmosisTestnet: 'osmo-testnet-1',
32
+ AvalancheCChain: '43114' // https://docs.avax.network/apis/avalanchego/apis/c-chain
30
33
  };
31
34
  exports.VALID_CHAIN_IDS = Object.freeze({
32
35
  [exports.CHAIN_NAMESPACE.Bitcoin]: [exports.CHAIN_REFERENCE.BitcoinMainnet, exports.CHAIN_REFERENCE.BitcoinTestnet],
33
36
  [exports.CHAIN_NAMESPACE.Ethereum]: [
34
37
  exports.CHAIN_REFERENCE.EthereumMainnet,
35
38
  exports.CHAIN_REFERENCE.EthereumRopsten,
36
- exports.CHAIN_REFERENCE.EthereumRinkeby
39
+ exports.CHAIN_REFERENCE.EthereumRinkeby,
40
+ exports.CHAIN_REFERENCE.AvalancheCChain
37
41
  ],
38
42
  [exports.CHAIN_NAMESPACE.Cosmos]: [
39
43
  exports.CHAIN_REFERENCE.CosmosHubMainnet,
@@ -5,7 +5,7 @@ export declare const isChainReference: (maybeChainReference: ChainReference | st
5
5
  export declare const isAssetNamespace: (maybeAssetNamespace: AssetNamespace | string) => maybeAssetNamespace is "cw20" | "cw721" | "erc20" | "erc721" | "slip44" | "native" | "ibc";
6
6
  export declare const isAssetReference: (maybeAssetReference: AssetReference | string) => maybeAssetReference is AssetReference;
7
7
  export declare const isAssetId: (maybeAssetId: AssetId | string) => maybeAssetId is AssetReference;
8
- export declare const isChainId: (maybeChainId: ChainId | string) => maybeChainId is string;
8
+ export declare const isChainId: (maybeChainId: ChainId | string) => maybeChainId is ChainId;
9
9
  export declare const assertIsChainId: (value: ChainId | string | undefined) => asserts value is ChainId;
10
10
  export declare const assertIsChainNamespace: (value: ChainNamespace | string | undefined) => asserts value is ChainNamespace;
11
11
  export declare const assertIsChainReference: (value: ChainReference | string | undefined) => asserts value is ChainReference;
package/dist/utils.d.ts CHANGED
@@ -17,3 +17,8 @@ export declare const makeCosmosHubData: () => {
17
17
  export declare const makeOsmosisData: () => {
18
18
  [x: string]: string;
19
19
  };
20
+ interface Flavoring<FlavorT> {
21
+ _type?: FlavorT;
22
+ }
23
+ export declare type Nominal<T, FlavorT> = T & Flavoring<FlavorT>;
24
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapeshiftoss/caip",
3
- "version": "5.2.3",
3
+ "version": "6.0.0",
4
4
  "description": "CAIP Implementation",
5
5
  "homepage": "",
6
6
  "license": "MIT",