@shapeshiftoss/caip 1.6.1 → 1.10.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.
@@ -0,0 +1,2 @@
1
+ import eip155 from './eip155:1/adapter.json';
2
+ export { eip155 };
@@ -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.eip155 = void 0;
7
+ const adapter_json_1 = __importDefault(require("./eip155:1/adapter.json"));
8
+ exports.eip155 = adapter_json_1.default;
@@ -0,0 +1,2 @@
1
+ export declare const yearnToCAIP19: (id: string) => string;
2
+ export declare const CAIP19ToYearn: (caip19: string) => string | undefined;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.CAIP19ToYearn = exports.yearnToCAIP19 = void 0;
26
+ const toLower_1 = __importDefault(require("lodash/toLower"));
27
+ const adapters = __importStar(require("./generated"));
28
+ const generatedCAIP19ToYearnMap = Object.values(adapters).reduce((acc, cur) => ({
29
+ ...acc,
30
+ ...cur
31
+ }));
32
+ const invert = (data) => Object.entries(data).reduce((acc, [k, v]) => ((acc[v] = k), acc), {});
33
+ const generatedYearnToCAIP19Map = invert(generatedCAIP19ToYearnMap);
34
+ const yearnToCAIP19 = (id) => generatedYearnToCAIP19Map[id];
35
+ exports.yearnToCAIP19 = yearnToCAIP19;
36
+ const CAIP19ToYearn = (caip19) => generatedCAIP19ToYearnMap[(0, toLower_1.default)(caip19)];
37
+ exports.CAIP19ToYearn = CAIP19ToYearn;
@@ -0,0 +1,7 @@
1
+ import { Token, Vault } from '@yfi/sdk';
2
+ export declare const writeFiles: (data: Record<string, Record<string, string>>) => Promise<void>;
3
+ export declare const fetchData: () => Promise<(Token | Vault)[]>;
4
+ export declare const parseEthData: (data: (Token | Vault)[]) => Record<string, string>;
5
+ export declare const parseData: (d: (Token | Vault)[]) => {
6
+ [x: string]: Record<string, string>;
7
+ };
@@ -0,0 +1,56 @@
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.parseData = exports.parseEthData = exports.fetchData = exports.writeFiles = void 0;
7
+ const providers_1 = require("@ethersproject/providers");
8
+ const types_1 = require("@shapeshiftoss/types");
9
+ const sdk_1 = require("@yfi/sdk");
10
+ const fs_1 = __importDefault(require("fs"));
11
+ const toLower_1 = __importDefault(require("lodash/toLower"));
12
+ const uniqBy_1 = __importDefault(require("lodash/uniqBy"));
13
+ const caip2_1 = require("../../caip2/caip2");
14
+ const caip19_1 = require("./../../caip19/caip19");
15
+ const network = 1; // 1 for mainnet
16
+ const provider = new providers_1.JsonRpcProvider(process.env.REACT_APP_UNCHAINED_ETHEREUM_HTTP_URL);
17
+ const yearnSdk = new sdk_1.Yearn(network, { provider, disableAllowlist: true });
18
+ const writeFiles = async (data) => {
19
+ const path = './src/adapters/yearn/generated/';
20
+ const file = '/adapter.json';
21
+ const writeFile = async ([k, v]) => await fs_1.default.promises.writeFile(`${path}${k}${file}`, JSON.stringify(v));
22
+ await Promise.all(Object.entries(data).map(writeFile));
23
+ console.info('Generated Yearn CAIP19 adapter data.');
24
+ };
25
+ exports.writeFiles = writeFiles;
26
+ const fetchData = async () => {
27
+ const [vaults, ironBankTokens, zapperTokens, underlyingVaultTokens] = await Promise.all([
28
+ yearnSdk.vaults.get(),
29
+ yearnSdk.ironBank.tokens(),
30
+ yearnSdk.tokens.supported(),
31
+ yearnSdk.vaults.tokens()
32
+ ]);
33
+ const tokens = [...vaults, ...ironBankTokens, ...zapperTokens, ...underlyingVaultTokens];
34
+ const uniqueTokens = (0, uniqBy_1.default)(tokens, 'address');
35
+ return uniqueTokens;
36
+ };
37
+ exports.fetchData = fetchData;
38
+ const parseEthData = (data) => {
39
+ const chain = types_1.ChainTypes.Ethereum;
40
+ const contractType = types_1.ContractTypes.ERC20;
41
+ const result = data.reduce((acc, datum) => {
42
+ const { address } = datum;
43
+ const id = address;
44
+ const tokenId = (0, toLower_1.default)(address);
45
+ const caip19 = (0, caip19_1.toCAIP19)({ chain, network: types_1.NetworkTypes.MAINNET, contractType, tokenId });
46
+ acc[caip19] = id;
47
+ return acc;
48
+ }, {});
49
+ return result;
50
+ };
51
+ exports.parseEthData = parseEthData;
52
+ const parseData = (d) => {
53
+ const ethMainnet = (0, caip2_1.toCAIP2)({ chain: types_1.ChainTypes.Ethereum, network: types_1.NetworkTypes.MAINNET });
54
+ return { [ethMainnet]: (0, exports.parseEthData)(d) };
55
+ };
56
+ exports.parseData = parseData;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import * as adapters from './adapters/coingecko';
1
+ import * as adapters from './adapters';
2
2
  import * as caip2 from './caip2/caip2';
3
3
  import * as caip10 from './caip10/caip10';
4
4
  import * as caip19 from './caip19/caip19';
package/dist/index.js CHANGED
@@ -20,7 +20,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
22
  exports.caip10 = exports.caip19 = exports.caip2 = exports.adapters = void 0;
23
- const adapters = __importStar(require("./adapters/coingecko"));
23
+ const adapters = __importStar(require("./adapters"));
24
24
  exports.adapters = adapters;
25
25
  const caip2 = __importStar(require("./caip2/caip2"));
26
26
  exports.caip2 = caip2;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapeshiftoss/caip",
3
- "version": "1.6.1",
3
+ "version": "1.10.0",
4
4
  "description": "CAIP Implementation",
5
5
  "homepage": "",
6
6
  "license": "MIT",
@@ -20,7 +20,10 @@
20
20
  "build": "yarn clean && tsc --project tsconfig.build.json",
21
21
  "clean": "rm -rf dist",
22
22
  "dev": "tsc --watch",
23
- "generate": "yarn build && node dist/adapters/coingecko/generate.js",
23
+ "generate-coingecko": "yarn build && node dist/adapters/coingecko/generate.js",
24
+ "generate-coincap": "yarn build && node dist/adapters/coincap/generate.js",
25
+ "generate-yearn": "yarn build && node dist/adapters/yearn/generate.js",
26
+ "generate": "yarn build && node dist/adapters/coingecko/generate.js && node dist/adatpters/coincap/generate.js && node dist/adapters/yearn/generate.js",
24
27
  "test": "jest test",
25
28
  "type-check": "tsc --project ./tsconfig.json --noEmit"
26
29
  },
@@ -30,6 +33,7 @@
30
33
  },
31
34
  "devDependencies": {
32
35
  "@shapeshiftoss/types": "^1.13.1",
36
+ "@yfi/sdk": "^1.0.27",
33
37
  "axios": "^0.24.0"
34
38
  }
35
39
  }