@shapeshiftoss/caip 1.6.0 → 1.9.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/adapters/coincap/generate.d.ts +1 -0
- package/dist/adapters/coincap/generate.js +10 -0
- package/dist/adapters/coincap/generated/bip122:000000000019d6689c085ae165831e93/adapter.json +1 -0
- package/dist/adapters/coincap/generated/eip155:1/adapter.json +1 -0
- package/dist/adapters/coincap/generated/index.d.ts +3 -0
- package/dist/adapters/coincap/generated/index.js +10 -0
- package/dist/adapters/coincap/index.d.ts +3 -0
- package/dist/adapters/coincap/index.js +38 -0
- package/dist/adapters/coincap/utils.d.ts +23 -0
- package/dist/adapters/coincap/utils.js +54 -0
- package/dist/adapters/coingecko/generate.js +1 -1
- package/dist/adapters/coingecko/index.d.ts +3 -3
- package/dist/adapters/coingecko/index.js +4 -16
- package/dist/adapters/index.d.ts +3 -0
- package/dist/adapters/index.js +15 -0
- package/dist/adapters/yearn/generate.d.ts +1 -0
- package/dist/adapters/yearn/generate.js +9 -0
- package/dist/adapters/yearn/generated/eip155:1/adapter.json +1 -0
- package/dist/adapters/yearn/generated/index.d.ts +2 -0
- package/dist/adapters/yearn/generated/index.js +8 -0
- package/dist/adapters/yearn/index.d.ts +2 -0
- package/dist/adapters/yearn/index.js +37 -0
- package/dist/adapters/yearn/utils.d.ts +7 -0
- package/dist/adapters/yearn/utils.js +57 -0
- package/dist/caip19/caip19.js +3 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +6 -2
|
@@ -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,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 generatedCAIP19ToCoinCapMap = 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 generatedCoinCapToCAIP19Map = invert(generatedCAIP19ToCoinCapMap);
|
|
34
|
+
const yearnToCAIP19 = (id) => generatedCoinCapToCAIP19Map[id];
|
|
35
|
+
exports.yearnToCAIP19 = yearnToCAIP19;
|
|
36
|
+
const CAIP19ToYearn = (caip19) => generatedCAIP19ToCoinCapMap[(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,57 @@
|
|
|
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
|
+
// YearnVaultMarketCapService deps
|
|
16
|
+
const provider = new providers_1.JsonRpcProvider(process.env.REACT_APP_UNCHAINED_ETHEREUM_HTTP_URL);
|
|
17
|
+
const yearnSdk = new sdk_1.Yearn(1, { provider });
|
|
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 network = types_1.NetworkTypes.MAINNET;
|
|
41
|
+
const contractType = types_1.ContractTypes.ERC20;
|
|
42
|
+
const result = data.reduce((acc, datum) => {
|
|
43
|
+
const { address } = datum;
|
|
44
|
+
const id = address;
|
|
45
|
+
const tokenId = (0, toLower_1.default)(address);
|
|
46
|
+
const caip19 = (0, caip19_1.toCAIP19)({ chain, network, contractType, tokenId });
|
|
47
|
+
acc[caip19] = id;
|
|
48
|
+
return acc;
|
|
49
|
+
}, {});
|
|
50
|
+
return result;
|
|
51
|
+
};
|
|
52
|
+
exports.parseEthData = parseEthData;
|
|
53
|
+
const parseData = (d) => {
|
|
54
|
+
const ethMainnet = (0, caip2_1.toCAIP2)({ chain: types_1.ChainTypes.Ethereum, network: types_1.NetworkTypes.MAINNET });
|
|
55
|
+
return { [ethMainnet]: (0, exports.parseEthData)(d) };
|
|
56
|
+
};
|
|
57
|
+
exports.parseData = parseData;
|
package/dist/caip19/caip19.js
CHANGED
|
@@ -19,6 +19,7 @@ const toCAIP19 = ({ chain, network, contractType, tokenId }) => {
|
|
|
19
19
|
const caip2 = (0, caip2_1.toCAIP2)({ chain, network });
|
|
20
20
|
switch (chain) {
|
|
21
21
|
case types_1.ChainTypes.Ethereum: {
|
|
22
|
+
tokenId = tokenId === null || tokenId === void 0 ? void 0 : tokenId.toLowerCase();
|
|
22
23
|
if (contractType) {
|
|
23
24
|
if (!tokenId) {
|
|
24
25
|
throw new Error(`toCAIP19: no tokenId provided with contract type ${contractType}`);
|
|
@@ -106,12 +107,12 @@ const fromCAIP19 = (caip19) => {
|
|
|
106
107
|
}
|
|
107
108
|
case AssetNamespace.ERC20: {
|
|
108
109
|
const contractType = types_1.ContractTypes.ERC20;
|
|
109
|
-
const tokenId = referenceString;
|
|
110
|
+
const tokenId = referenceString.toLowerCase();
|
|
110
111
|
return { chain, network, contractType, tokenId };
|
|
111
112
|
}
|
|
112
113
|
case AssetNamespace.ERC721: {
|
|
113
114
|
const contractType = types_1.ContractTypes.ERC721;
|
|
114
|
-
const tokenId = referenceString;
|
|
115
|
+
const tokenId = referenceString.toLowerCase();
|
|
115
116
|
return { chain, network, contractType, tokenId };
|
|
116
117
|
}
|
|
117
118
|
}
|
package/dist/index.d.ts
CHANGED
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
|
|
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.
|
|
3
|
+
"version": "1.9.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.12",
|
|
33
37
|
"axios": "^0.24.0"
|
|
34
38
|
}
|
|
35
39
|
}
|