@shapeshiftoss/caip 8.13.0 → 8.14.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,4 +1,6 @@
1
+ import { AssetId } from '../../assetId/assetId';
1
2
  export declare const osmosisGetTokensUrl = "https://api-osmosis.imperator.co/tokens/v2/all";
2
3
  export declare const osmosisGetLpTokensUrl = "https://api-osmosis.imperator.co/pools/v2/all?low_liquidity=true";
3
4
  export declare const osmosisToAssetId: (id: string) => string | undefined;
4
5
  export declare const assetIdToOsmosis: (assetId: string) => string | undefined;
6
+ export declare const osmosisLpAssetIdToPoolId: (lpAssetId: AssetId | string) => string | undefined;
@@ -23,8 +23,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.assetIdToOsmosis = exports.osmosisToAssetId = exports.osmosisGetLpTokensUrl = exports.osmosisGetTokensUrl = void 0;
26
+ exports.osmosisLpAssetIdToPoolId = exports.assetIdToOsmosis = exports.osmosisToAssetId = exports.osmosisGetLpTokensUrl = exports.osmosisGetTokensUrl = void 0;
27
+ const assetId_1 = require("../../assetId/assetId");
27
28
  const adapters = __importStar(require("./generated"));
29
+ const utils_1 = require("./utils");
28
30
  exports.osmosisGetTokensUrl = 'https://api-osmosis.imperator.co/tokens/v2/all';
29
31
  exports.osmosisGetLpTokensUrl = 'https://api-osmosis.imperator.co/pools/v2/all?low_liquidity=true';
30
32
  const generatedAssetIdToOsmosisMap = Object.values(adapters).reduce((acc, cur) => ({
@@ -37,3 +39,16 @@ const osmosisToAssetId = (id) => generatedOsmosisToAssetIdMap[id];
37
39
  exports.osmosisToAssetId = osmosisToAssetId;
38
40
  const assetIdToOsmosis = (assetId) => generatedAssetIdToOsmosisMap[assetId];
39
41
  exports.assetIdToOsmosis = assetIdToOsmosis;
42
+ const osmosisLpAssetIdToPoolId = (lpAssetId) => {
43
+ const { assetReference } = (0, assetId_1.fromAssetId)(lpAssetId);
44
+ if (!(0, utils_1.isOsmosisLpAsset)(assetReference))
45
+ return undefined;
46
+ const segments = assetReference.split('/');
47
+ if (segments.length !== 3)
48
+ return undefined;
49
+ const poolId = segments[2];
50
+ if (!(0, utils_1.isNumeric)(poolId))
51
+ return undefined;
52
+ return poolId;
53
+ };
54
+ exports.osmosisLpAssetIdToPoolId = osmosisLpAssetIdToPoolId;
@@ -1,3 +1,4 @@
1
+ import { AssetReference } from '../../assetId/assetId';
1
2
  export declare type OsmosisCoin = {
2
3
  price: number;
3
4
  denom: string;
@@ -32,3 +33,5 @@ export declare const parseOsmosisData: (data: OsmosisCoin[]) => Record<string, s
32
33
  export declare const parseData: (d: OsmosisCoin[]) => {
33
34
  [x: string]: Record<string, string>;
34
35
  };
36
+ export declare const isOsmosisLpAsset: (assetReference: AssetReference | string) => boolean;
37
+ export declare const isNumeric: (s: string) => boolean;
@@ -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.parseData = exports.parseOsmosisData = exports.fetchData = exports.writeFiles = void 0;
6
+ exports.isNumeric = exports.isOsmosisLpAsset = exports.parseData = exports.parseOsmosisData = exports.fetchData = exports.writeFiles = void 0;
7
7
  const axios_1 = __importDefault(require("axios"));
8
8
  const fs_1 = __importDefault(require("fs"));
9
9
  const assetId_1 = require("../../assetId/assetId");
@@ -76,3 +76,15 @@ const parseData = (d) => {
76
76
  };
77
77
  };
78
78
  exports.parseData = parseData;
79
+ const isOsmosisLpAsset = (assetReference) => {
80
+ return assetReference.startsWith('gamm/pool/');
81
+ };
82
+ exports.isOsmosisLpAsset = isOsmosisLpAsset;
83
+ const isNumeric = (s) => {
84
+ if (typeof s !== 'string')
85
+ return false;
86
+ if (s.trim() === '')
87
+ return false;
88
+ return !Number.isNaN(Number(s));
89
+ };
90
+ exports.isNumeric = isNumeric;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapeshiftoss/caip",
3
- "version": "8.13.0",
3
+ "version": "8.14.0",
4
4
  "description": "CAIP Implementation",
5
5
  "homepage": "",
6
6
  "license": "MIT",