@shapeshiftoss/caip 4.0.1 → 5.1.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/utils.d.ts CHANGED
@@ -1,18 +1,19 @@
1
1
  import { AccountId } from './accountId/accountId';
2
2
  import { AssetId } from './assetId/assetId';
3
- import { ChainId } from './chainId/chainId';
4
- export declare const btcAssetId = "bip122:000000000019d6689c085ae165831e93/slip44:0";
5
- export declare const ethAssetId = "eip155:1/slip44:60";
6
- export declare const cosmosAssetId = "cosmos:cosmoshub-4/slip44:118";
7
- export declare const osmosisAssetId = "cosmos:osmosis-1/slip44:118";
8
- export declare const ethChainId = "eip155:1";
9
- export declare const btcChainId = "bip122:000000000019d6689c085ae165831e93";
10
- export declare const cosmosChainId = "cosmos:cosmoshub-4";
11
- export declare const osmosisChainId = "cosmos:osmosis-1";
3
+ import { ChainId, ChainNamespace, ChainReference } from './chainId/chainId';
4
+ export declare const parseAssetIdRegExp: RegExp;
12
5
  export declare const chainIdToAssetId: Record<ChainId, AssetId>;
13
- export declare const assetIdToChainId: (assetId: AssetId) => string;
14
6
  export declare const accountIdToChainId: (accountId: AccountId) => ChainId;
15
7
  export declare const accountIdToSpecifier: (accountId: AccountId) => string;
16
- export declare const getChainReferenceFromChainId: (chainId: ChainId) => import("./chainId/chainId").ChainReference;
17
8
  export declare const chainIdToFeeAssetId: (chainId: ChainId) => AssetId;
18
9
  export declare const getFeeAssetIdFromAssetId: (assetId: AssetId) => AssetId | undefined;
10
+ export declare const isValidChainPartsPair: (chainNamespace: ChainNamespace, chainReference: ChainReference) => boolean;
11
+ export declare const makeBtcData: () => {
12
+ [x: string]: string;
13
+ };
14
+ export declare const makeCosmosHubData: () => {
15
+ [x: string]: string;
16
+ };
17
+ export declare const makeOsmosisData: () => {
18
+ [x: string]: string;
19
+ };
package/dist/utils.js CHANGED
@@ -1,39 +1,67 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFeeAssetIdFromAssetId = exports.chainIdToFeeAssetId = exports.getChainReferenceFromChainId = exports.accountIdToSpecifier = exports.accountIdToChainId = exports.assetIdToChainId = exports.chainIdToAssetId = exports.osmosisChainId = exports.cosmosChainId = exports.btcChainId = exports.ethChainId = exports.osmosisAssetId = exports.cosmosAssetId = exports.ethAssetId = exports.btcAssetId = void 0;
3
+ exports.makeOsmosisData = exports.makeCosmosHubData = exports.makeBtcData = exports.isValidChainPartsPair = exports.getFeeAssetIdFromAssetId = exports.chainIdToFeeAssetId = exports.accountIdToSpecifier = exports.accountIdToChainId = exports.chainIdToAssetId = exports.parseAssetIdRegExp = void 0;
4
4
  const accountId_1 = require("./accountId/accountId");
5
5
  const assetId_1 = require("./assetId/assetId");
6
- const chainId_1 = require("./chainId/chainId");
7
- exports.btcAssetId = 'bip122:000000000019d6689c085ae165831e93/slip44:0';
8
- exports.ethAssetId = 'eip155:1/slip44:60';
9
- exports.cosmosAssetId = 'cosmos:cosmoshub-4/slip44:118';
10
- exports.osmosisAssetId = 'cosmos:osmosis-1/slip44:118';
11
- exports.ethChainId = 'eip155:1';
12
- exports.btcChainId = 'bip122:000000000019d6689c085ae165831e93';
13
- exports.cosmosChainId = 'cosmos:cosmoshub-4';
14
- exports.osmosisChainId = 'cosmos:osmosis-1';
6
+ const constants_1 = require("./constants");
7
+ // https://regex101.com/r/f0xGqP/2
8
+ exports.parseAssetIdRegExp = /(?<chainNamespace>[-a-z\d]{3,8}):(?<chainReference>[-a-zA-Z\d]{1,32})\/(?<assetNamespace>[-a-z\d]{3,8}):(?<assetReference>[-a-zA-Z\d]+)/;
15
9
  // TODO(ryankk): this will be removed and replaced with something like `toAssetId(fromChainId(chainId))`
16
10
  // when `fromChainId` supports returning ChainNamespace and ChainReference.
17
11
  exports.chainIdToAssetId = {
18
- [exports.ethChainId]: exports.ethAssetId,
19
- [exports.btcChainId]: exports.btcAssetId,
20
- [exports.cosmosChainId]: exports.cosmosAssetId,
21
- [exports.osmosisChainId]: exports.osmosisAssetId
12
+ [constants_1.ethChainId]: constants_1.ethAssetId,
13
+ [constants_1.btcChainId]: constants_1.btcAssetId,
14
+ [constants_1.cosmosChainId]: constants_1.cosmosAssetId,
15
+ [constants_1.osmosisChainId]: constants_1.osmosisAssetId
22
16
  };
23
- const assetIdToChainId = (assetId) => {
24
- const { chain, network } = (0, assetId_1.fromAssetId)(assetId);
25
- return (0, chainId_1.toChainId)({ chain, network });
26
- };
27
- exports.assetIdToChainId = assetIdToChainId;
28
17
  const accountIdToChainId = (accountId) => (0, accountId_1.fromAccountId)(accountId).chainId;
29
18
  exports.accountIdToChainId = accountIdToChainId;
30
19
  const accountIdToSpecifier = (accountId) => (0, accountId_1.fromAccountId)(accountId).account;
31
20
  exports.accountIdToSpecifier = accountIdToSpecifier;
32
- const getChainReferenceFromChainId = (chainId) => chainId_1.networkTypeToChainReference[(0, chainId_1.fromChainId)(chainId).network];
33
- exports.getChainReferenceFromChainId = getChainReferenceFromChainId;
34
21
  const chainIdToFeeAssetId = (chainId) => exports.chainIdToAssetId[chainId];
35
22
  exports.chainIdToFeeAssetId = chainIdToFeeAssetId;
36
23
  // We make the assumption here that the fee assetIds are in `chainIdToAssetId` for each
37
24
  // chain we support.
38
- const getFeeAssetIdFromAssetId = (assetId) => exports.chainIdToAssetId[(0, exports.assetIdToChainId)(assetId)];
25
+ const getFeeAssetIdFromAssetId = (assetId) => {
26
+ const { chainId } = (0, assetId_1.fromAssetId)(assetId);
27
+ return exports.chainIdToAssetId[chainId];
28
+ };
39
29
  exports.getFeeAssetIdFromAssetId = getFeeAssetIdFromAssetId;
30
+ const isValidChainPartsPair = (chainNamespace, chainReference) => { var _a; return ((_a = constants_1.VALID_CHAIN_IDS[chainNamespace]) === null || _a === void 0 ? void 0 : _a.includes(chainReference)) || false; };
31
+ exports.isValidChainPartsPair = isValidChainPartsPair;
32
+ const makeBtcData = () => {
33
+ const chainNamespace = constants_1.CHAIN_NAMESPACE.Bitcoin;
34
+ const chainReference = constants_1.CHAIN_REFERENCE.BitcoinMainnet;
35
+ const assetId = (0, assetId_1.toAssetId)({
36
+ chainNamespace,
37
+ chainReference,
38
+ assetNamespace: 'slip44',
39
+ assetReference: constants_1.ASSET_REFERENCE.Bitcoin
40
+ });
41
+ return { [assetId]: 'bitcoin' };
42
+ };
43
+ exports.makeBtcData = makeBtcData;
44
+ const makeCosmosHubData = () => {
45
+ const chainNamespace = constants_1.CHAIN_NAMESPACE.Cosmos;
46
+ const chainReference = constants_1.CHAIN_REFERENCE.CosmosHubMainnet;
47
+ const assetId = (0, assetId_1.toAssetId)({
48
+ chainNamespace,
49
+ chainReference,
50
+ assetNamespace: 'slip44',
51
+ assetReference: constants_1.ASSET_REFERENCE.Cosmos
52
+ });
53
+ return { [assetId]: 'cosmos' };
54
+ };
55
+ exports.makeCosmosHubData = makeCosmosHubData;
56
+ const makeOsmosisData = () => {
57
+ const chainNamespace = constants_1.CHAIN_NAMESPACE.Cosmos;
58
+ const chainReference = constants_1.CHAIN_REFERENCE.OsmosisMainnet;
59
+ const assetId = (0, assetId_1.toAssetId)({
60
+ chainNamespace,
61
+ chainReference,
62
+ assetNamespace: 'slip44',
63
+ assetReference: constants_1.ASSET_REFERENCE.Osmosis
64
+ });
65
+ return { [assetId]: 'osmosis' };
66
+ };
67
+ exports.makeOsmosisData = makeOsmosisData;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapeshiftoss/caip",
3
- "version": "4.0.1",
3
+ "version": "5.1.0",
4
4
  "description": "CAIP Implementation",
5
5
  "homepage": "",
6
6
  "license": "MIT",
@@ -31,10 +31,10 @@
31
31
  "type-check": "tsc --project ./tsconfig.build.json --noEmit"
32
32
  },
33
33
  "peerDependencies": {
34
- "@shapeshiftoss/types": "3.1.3"
34
+ "@shapeshiftoss/types": "4.3.1"
35
35
  },
36
36
  "devDependencies": {
37
- "@shapeshiftoss/types": "3.1.3",
37
+ "@shapeshiftoss/types": "4.3.1",
38
38
  "@yfi/sdk": "^1.0.30",
39
39
  "axios": "^0.26.1",
40
40
  "ts-node": "^10.7.0"