@shapeshiftoss/caip 3.1.0 → 4.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.
package/README.md CHANGED
@@ -64,8 +64,8 @@ Ether
64
64
  ```ts
65
65
  const chain = ChainTypes.Ethereum
66
66
  const network = NetworkTypes.MAINNET
67
- const assetNamespace = AssetNamespace.Slip44
68
- const assetReference = AssetReference.Ethereum
67
+ const assetNamespace = 'slip44'
68
+ const assetReference = ASSET_REFERENCE.Ethereum
69
69
  const result = toAssetId({ chain, network, assetNamespace, assetReference })
70
70
  expect(result).toEqual('eip155:1/slip44:60')
71
71
  ```
@@ -75,7 +75,7 @@ ERC20 token
75
75
  ```ts
76
76
  const chain = ChainTypes.Ethereum
77
77
  const network = NetworkTypes.MAINNET
78
- const contractType = AssetNamespace.ERC20
78
+ const contractType = 'erc20'
79
79
  const tokenId = '0xc770eefad204b5180df6a14ee197d99d808ee52d'
80
80
  const result = toAssetId({ chain, network, contractType, tokenId })
81
81
  expect(result).toEqual('eip155:1/erc20:0xc770eefad204b5180df6a14ee197d99d808ee52d')
@@ -90,8 +90,8 @@ const assetId = 'eip155:1/slip44:60'
90
90
  const { chain, network, contractType, tokenId } = fromAssetId(assetId)
91
91
  expect(chain).toEqual(ChainTypes.Ethereum)
92
92
  expect(network).toEqual(NetworkTypes.MAINNET)
93
- expect(contractType).toEqual(AssetNamespace.Slip44)
94
- expect(tokenId).toEqual(AssetReference.Ethereum)
93
+ expect(contractType).toEqual('slip44')
94
+ expect(tokenId).toEqual(ASSET_REFERENCE.Ethereum)
95
95
  ```
96
96
 
97
97
  ERC20 token
@@ -101,7 +101,7 @@ const assetId = 'eip155:1/erc20:0xc770eefad204b5180df6a14ee197d99d808ee52d'
101
101
  const { chain, network, contractType, tokenId } = fromAssetId(assetId)
102
102
  expect(chain).toEqual(ChainTypes.Ethereum)
103
103
  expect(network).toEqual(NetworkTypes.MAINNET)
104
- expect(contractType).toEqual(AssetNamespace.ERC20)
104
+ expect(contractType).toEqual('erc20')
105
105
  expect(tokenId).toEqual('0xc770eefad204b5180df6a14ee197d99d808ee52d')
106
106
  ```
107
107
 
@@ -13,7 +13,7 @@ const toAccountId = ({ chainId, account }) => {
13
13
  // we lowercase eth accounts as per the draft spec
14
14
  // it's not explicit, but cHecKsUM can be recovered from lowercase eth accounts
15
15
  // we don't lowercase bitcoin addresses as they'll fail checksum
16
- const outputAccount = namespace === chainId_1.ChainNamespace.Ethereum ? account.toLowerCase() : account;
16
+ const outputAccount = namespace === chainId_1.CHAIN_NAMESPACE.Ethereum ? account.toLowerCase() : account;
17
17
  return `${chainId}:${outputAccount}`;
18
18
  };
19
19
  exports.toAccountId = toAccountId;
@@ -34,7 +34,7 @@ const fromAccountId = (accountId) => {
34
34
  // we lowercase eth accounts as per the draft spec
35
35
  // it's not explicit, but cHecKsUM can be recovered from lowercase eth accounts
36
36
  // we don't lowercase bitcoin addresses as they'll fail checksum
37
- const outputAccount = namespace === chainId_1.ChainNamespace.Ethereum ? account.toLowerCase() : account;
37
+ const outputAccount = namespace === chainId_1.CHAIN_NAMESPACE.Ethereum ? account.toLowerCase() : account;
38
38
  return { chainId, account: outputAccount };
39
39
  };
40
40
  exports.fromAccountId = fromAccountId;
@@ -24,8 +24,8 @@ const parseEthData = (data) => {
24
24
  const chain = types_1.ChainTypes.Ethereum;
25
25
  const network = types_1.NetworkTypes.MAINNET;
26
26
  return ethCoins.reduce((acc, { id, explorer }) => {
27
- let assetReference = assetId_1.AssetReference.Ethereum;
28
- const assetNamespace = id === 'ethereum' ? assetId_1.AssetNamespace.Slip44 : assetId_1.AssetNamespace.ERC20;
27
+ let assetReference = assetId_1.ASSET_REFERENCE.Ethereum;
28
+ const assetNamespace = id === 'ethereum' ? 'slip44' : 'erc20';
29
29
  if (id !== 'ethereum' && explorer) {
30
30
  assetReference = explorer
31
31
  .replace('https://etherscan.io/token/', '')
@@ -44,8 +44,8 @@ const makeBtcData = () => {
44
44
  const assetId = (0, assetId_1.toAssetId)({
45
45
  chain,
46
46
  network,
47
- assetNamespace: assetId_1.AssetNamespace.Slip44,
48
- assetReference: assetId_1.AssetReference.Bitcoin
47
+ assetNamespace: 'slip44',
48
+ assetReference: assetId_1.ASSET_REFERENCE.Bitcoin
49
49
  });
50
50
  return { [assetId]: 'bitcoin' };
51
51
  };
@@ -56,8 +56,8 @@ const makeCosmosHubData = () => {
56
56
  const assetId = (0, assetId_1.toAssetId)({
57
57
  chain,
58
58
  network,
59
- assetNamespace: assetId_1.AssetNamespace.Slip44,
60
- assetReference: assetId_1.AssetReference.Cosmos
59
+ assetNamespace: 'slip44',
60
+ assetReference: assetId_1.ASSET_REFERENCE.Cosmos
61
61
  });
62
62
  return { [assetId]: 'cosmos' };
63
63
  };
@@ -68,8 +68,8 @@ const makeOsmosisData = () => {
68
68
  const assetId = (0, assetId_1.toAssetId)({
69
69
  chain,
70
70
  network,
71
- assetNamespace: assetId_1.AssetNamespace.Slip44,
72
- assetReference: assetId_1.AssetReference.Osmosis
71
+ assetNamespace: 'slip44',
72
+ assetReference: assetId_1.ASSET_REFERENCE.Osmosis
73
73
  });
74
74
  return { [assetId]: 'osmosis' };
75
75
  };
@@ -24,8 +24,8 @@ const parseEthData = (data) => {
24
24
  const chain = types_1.ChainTypes.Ethereum;
25
25
  const network = types_1.NetworkTypes.MAINNET;
26
26
  return ethCoins.reduce((acc, { id, platforms }) => {
27
- const assetNamespace = id === 'ethereum' ? assetId_1.AssetNamespace.Slip44 : assetId_1.AssetNamespace.ERC20;
28
- const assetReference = id === 'ethereum' ? assetId_1.AssetReference.Ethereum : platforms === null || platforms === void 0 ? void 0 : platforms.ethereum;
27
+ const assetNamespace = id === 'ethereum' ? 'slip44' : 'erc20';
28
+ const assetReference = id === 'ethereum' ? assetId_1.ASSET_REFERENCE.Ethereum : platforms === null || platforms === void 0 ? void 0 : platforms.ethereum;
29
29
  const assetId = (0, assetId_1.toAssetId)({ chain, network, assetNamespace, assetReference });
30
30
  acc[assetId] = id;
31
31
  return acc;
@@ -38,8 +38,8 @@ const makeBtcData = () => {
38
38
  const assetId = (0, assetId_1.toAssetId)({
39
39
  chain,
40
40
  network,
41
- assetNamespace: assetId_1.AssetNamespace.Slip44,
42
- assetReference: assetId_1.AssetReference.Bitcoin
41
+ assetNamespace: 'slip44',
42
+ assetReference: assetId_1.ASSET_REFERENCE.Bitcoin
43
43
  });
44
44
  return { [assetId]: 'bitcoin' };
45
45
  };
@@ -50,8 +50,8 @@ const makeCosmosHubData = () => {
50
50
  const assetId = (0, assetId_1.toAssetId)({
51
51
  chain,
52
52
  network,
53
- assetNamespace: assetId_1.AssetNamespace.Slip44,
54
- assetReference: assetId_1.AssetReference.Cosmos
53
+ assetNamespace: 'slip44',
54
+ assetReference: assetId_1.ASSET_REFERENCE.Cosmos
55
55
  });
56
56
  return { [assetId]: 'cosmos' };
57
57
  };
@@ -62,8 +62,8 @@ const makeOsmosisData = () => {
62
62
  const assetId = (0, assetId_1.toAssetId)({
63
63
  chain,
64
64
  network,
65
- assetNamespace: assetId_1.AssetNamespace.Slip44,
66
- assetReference: assetId_1.AssetReference.Osmosis
65
+ assetNamespace: 'slip44',
66
+ assetReference: assetId_1.ASSET_REFERENCE.Osmosis
67
67
  });
68
68
  return { [assetId]: 'osmosis' };
69
69
  };
@@ -27,13 +27,12 @@ const parseOsmosisData = (data) => {
27
27
  let assetNamespace;
28
28
  let assetReference;
29
29
  if (isNativeAsset) {
30
- // TODO(ryankk): remove `toString` when AssetReferences are changed to strings
31
- assetReference = isOsmo ? assetId_1.AssetReference.Osmosis.toString() : denom;
32
- assetNamespace = isOsmo ? assetId_1.AssetNamespace.Slip44 : assetId_1.AssetNamespace.NATIVE;
30
+ assetReference = isOsmo ? assetId_1.ASSET_REFERENCE.Osmosis : denom;
31
+ assetNamespace = isOsmo ? 'slip44' : 'native';
33
32
  }
34
33
  else {
35
34
  assetReference = denom.split('/')[1];
36
- assetNamespace = assetId_1.AssetNamespace.IBC;
35
+ assetNamespace = 'ibc';
37
36
  }
38
37
  const chain = types_1.ChainTypes.Osmosis;
39
38
  const network = types_1.NetworkTypes.OSMOSIS_MAINNET;
@@ -36,7 +36,7 @@ const fetchData = async () => {
36
36
  exports.fetchData = fetchData;
37
37
  const parseEthData = (data) => {
38
38
  const chain = types_1.ChainTypes.Ethereum;
39
- const assetNamespace = assetId_1.AssetNamespace.ERC20;
39
+ const assetNamespace = 'erc20';
40
40
  return data.reduce((acc, datum) => {
41
41
  const { address } = datum;
42
42
  const id = address;
@@ -1,21 +1,15 @@
1
1
  import { ChainTypes, NetworkTypes } from '@shapeshiftoss/types';
2
2
  import { ChainReference } from '../chainId/chainId';
3
3
  export declare type AssetId = string;
4
- export declare enum AssetNamespace {
5
- CW20 = "cw20",
6
- CW721 = "cw721",
7
- ERC20 = "erc20",
8
- ERC721 = "erc721",
9
- Slip44 = "slip44",
10
- NATIVE = "native",
11
- IBC = "ibc"
12
- }
13
- export declare enum AssetReference {
14
- Bitcoin = "0",
15
- Ethereum = "60",
16
- Cosmos = "118",
17
- Osmosis = "118"
18
- }
4
+ declare const assetNamespaceStrings: readonly ["cw20", "cw721", "erc20", "erc721", "slip44", "native", "ibc"];
5
+ export declare type AssetNamespace = typeof assetNamespaceStrings[number];
6
+ export declare const ASSET_REFERENCE: {
7
+ readonly Bitcoin: "0";
8
+ readonly Ethereum: "60";
9
+ readonly Cosmos: "118";
10
+ readonly Osmosis: "118";
11
+ };
12
+ export declare type AssetReference = typeof ASSET_REFERENCE[keyof typeof ASSET_REFERENCE];
19
13
  declare type ToAssetIdArgs = {
20
14
  chain: ChainTypes;
21
15
  network: NetworkTypes | ChainReference;
@@ -1,50 +1,31 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fromCAIP19 = exports.toCAIP19 = exports.fromAssetId = exports.toAssetId = exports.AssetReference = exports.AssetNamespace = void 0;
3
+ exports.fromCAIP19 = exports.toCAIP19 = exports.fromAssetId = exports.toAssetId = exports.ASSET_REFERENCE = void 0;
4
4
  // https://github.com/ChainAgnostic/CAIPs/blob/master/CAIPs/caip-19.md
5
5
  const types_1 = require("@shapeshiftoss/types");
6
6
  const chainId_1 = require("../chainId/chainId");
7
- var AssetNamespace;
8
- (function (AssetNamespace) {
9
- AssetNamespace["CW20"] = "cw20";
10
- AssetNamespace["CW721"] = "cw721";
11
- AssetNamespace["ERC20"] = "erc20";
12
- AssetNamespace["ERC721"] = "erc721";
13
- AssetNamespace["Slip44"] = "slip44";
14
- AssetNamespace["NATIVE"] = "native";
15
- AssetNamespace["IBC"] = "ibc";
16
- })(AssetNamespace = exports.AssetNamespace || (exports.AssetNamespace = {}));
17
- var AssetReference;
18
- (function (AssetReference) {
19
- AssetReference["Bitcoin"] = "0";
20
- AssetReference["Ethereum"] = "60";
21
- AssetReference["Cosmos"] = "118";
22
- AssetReference["Osmosis"] = "118";
23
- })(AssetReference = exports.AssetReference || (exports.AssetReference = {}));
7
+ const assetNamespaceStrings = [
8
+ 'cw20',
9
+ 'cw721',
10
+ 'erc20',
11
+ 'erc721',
12
+ 'slip44',
13
+ 'native',
14
+ 'ibc'
15
+ ];
16
+ exports.ASSET_REFERENCE = {
17
+ Bitcoin: '0',
18
+ Ethereum: '60',
19
+ Cosmos: '118',
20
+ Osmosis: '118'
21
+ };
24
22
  const validAssetNamespaces = Object.freeze({
25
- [types_1.ChainTypes.Bitcoin]: [AssetNamespace.Slip44],
26
- [types_1.ChainTypes.Ethereum]: [AssetNamespace.Slip44, AssetNamespace.ERC20, AssetNamespace.ERC721],
27
- [types_1.ChainTypes.Cosmos]: [
28
- AssetNamespace.CW20,
29
- AssetNamespace.CW721,
30
- AssetNamespace.IBC,
31
- AssetNamespace.NATIVE,
32
- AssetNamespace.Slip44
33
- ],
34
- [types_1.ChainTypes.Osmosis]: [
35
- AssetNamespace.CW20,
36
- AssetNamespace.CW721,
37
- AssetNamespace.IBC,
38
- AssetNamespace.NATIVE,
39
- AssetNamespace.Slip44
40
- ]
23
+ [types_1.ChainTypes.Bitcoin]: ['slip44'],
24
+ [types_1.ChainTypes.Ethereum]: ['slip44', 'erc20', 'erc721'],
25
+ [types_1.ChainTypes.Cosmos]: ['cw20', 'cw721', 'ibc', 'native', 'slip44'],
26
+ [types_1.ChainTypes.Osmosis]: ['cw20', 'cw721', 'ibc', 'native', 'slip44']
41
27
  });
42
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
43
- function stringToEnum(obj, item) {
44
- var _a;
45
- const found = (_a = Object.entries(obj).find((i) => i.includes(item))) === null || _a === void 0 ? void 0 : _a[0];
46
- return found ? obj[found] : undefined;
47
- }
28
+ const isAssetNamespace = (maybeAssetNamespace) => assetNamespaceStrings.some((s) => s === maybeAssetNamespace);
48
29
  /**
49
30
  * validate that a value is a string slip44 value
50
31
  * @see https://github.com/satoshilabs/slips/blob/master/slip-0044.md
@@ -70,10 +51,10 @@ const toAssetId = (args) => {
70
51
  if (!validAssetNamespaces[chain].includes(assetNamespace)) {
71
52
  throw new Error(`toAssetId: Asset Namespace ${assetNamespace} not supported for chain ${chain}`);
72
53
  }
73
- if (assetNamespace === AssetNamespace.Slip44 && !isValidSlip44(String(assetReference))) {
54
+ if (assetNamespace === 'slip44' && !isValidSlip44(String(assetReference))) {
74
55
  throw new Error(`Invalid reference for namespace slip44`);
75
56
  }
76
- if ([AssetNamespace.ERC20, AssetNamespace.ERC721].includes(assetNamespace)) {
57
+ if (Array('erc20', 'erc721').includes(assetNamespace)) {
77
58
  if (!assetReference.startsWith('0x')) {
78
59
  throw new Error(`toAssetId: assetReference must start with 0x: ${assetReference}`);
79
60
  }
@@ -94,7 +75,7 @@ const fromAssetId = (assetId) => {
94
75
  // they are valid enum values
95
76
  let chain = chainId_1.chainNamespaceToChainType[matches[1]];
96
77
  const network = chainId_1.chainReferenceToNetworkType[matches[2]];
97
- const assetNamespace = stringToEnum(AssetNamespace, matches[3]);
78
+ const assetNamespace = isAssetNamespace(matches[3]) ? matches[3] : undefined;
98
79
  let assetReference = matches[4];
99
80
  if (chain && network && assetNamespace && assetReference) {
100
81
  switch (network) {
@@ -103,8 +84,8 @@ const fromAssetId = (assetId) => {
103
84
  chain = types_1.ChainTypes.Osmosis;
104
85
  }
105
86
  switch (assetNamespace) {
106
- case AssetNamespace.ERC20:
107
- case AssetNamespace.ERC721: {
87
+ case 'erc20':
88
+ case 'erc721': {
108
89
  assetReference = assetReference.toLowerCase();
109
90
  }
110
91
  }
@@ -1,21 +1,23 @@
1
1
  import { ChainTypes, NetworkTypes } from '@shapeshiftoss/types';
2
2
  export declare type ChainId = string;
3
- export declare enum ChainNamespace {
4
- Ethereum = "eip155",
5
- Bitcoin = "bip122",
6
- Cosmos = "cosmos"
7
- }
8
- export declare enum ChainReference {
9
- EthereumMainnet = "1",
10
- EthereumRopsten = "3",
11
- EthereumRinkeby = "4",
12
- BitcoinMainnet = "000000000019d6689c085ae165831e93",
13
- BitcoinTestnet = "000000000933ea01ad0ee984209779ba",
14
- CosmosHubMainnet = "cosmoshub-4",
15
- CosmosHubVega = "vega-testnet",
16
- OsmosisMainnet = "osmosis-1",
17
- OsmosisTestnet = "osmo-testnet-1"
18
- }
3
+ export declare const CHAIN_NAMESPACE: {
4
+ readonly Ethereum: "eip155";
5
+ readonly Bitcoin: "bip122";
6
+ readonly Cosmos: "cosmos";
7
+ };
8
+ export declare type ChainNamespace = typeof CHAIN_NAMESPACE[keyof typeof CHAIN_NAMESPACE];
9
+ export declare const CHAIN_REFERENCE: {
10
+ readonly EthereumMainnet: "1";
11
+ readonly EthereumRopsten: "3";
12
+ readonly EthereumRinkeby: "4";
13
+ readonly BitcoinMainnet: "000000000019d6689c085ae165831e93";
14
+ readonly BitcoinTestnet: "000000000933ea01ad0ee984209779ba";
15
+ readonly CosmosHubMainnet: "cosmoshub-4";
16
+ readonly CosmosHubVega: "vega-testnet";
17
+ readonly OsmosisMainnet: "osmosis-1";
18
+ readonly OsmosisTestnet: "osmo-testnet-1";
19
+ };
20
+ export declare type ChainReference = typeof CHAIN_REFERENCE[keyof typeof CHAIN_REFERENCE];
19
21
  declare type ToChainIdArgs = {
20
22
  chain: ChainTypes;
21
23
  network: NetworkTypes | ChainReference;
@@ -4,58 +4,56 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.fromCAIP2 = exports.toCAIP2 = exports.chainNamespaceToChainType = exports.networkTypeToChainReference = exports.chainReferenceToNetworkType = exports.isChainId = exports.fromChainId = exports.toChainId = exports.ChainReference = exports.ChainNamespace = void 0;
7
+ exports.fromCAIP2 = exports.toCAIP2 = exports.chainNamespaceToChainType = exports.networkTypeToChainReference = exports.chainReferenceToNetworkType = exports.isChainId = exports.fromChainId = exports.toChainId = exports.CHAIN_REFERENCE = exports.CHAIN_NAMESPACE = void 0;
8
8
  const types_1 = require("@shapeshiftoss/types");
9
9
  const invert_1 = __importDefault(require("lodash/invert"));
10
- var ChainNamespace;
11
- (function (ChainNamespace) {
12
- ChainNamespace["Ethereum"] = "eip155";
13
- ChainNamespace["Bitcoin"] = "bip122";
14
- ChainNamespace["Cosmos"] = "cosmos";
15
- })(ChainNamespace = exports.ChainNamespace || (exports.ChainNamespace = {}));
16
- var ChainReference;
17
- (function (ChainReference) {
18
- ChainReference["EthereumMainnet"] = "1";
19
- ChainReference["EthereumRopsten"] = "3";
20
- ChainReference["EthereumRinkeby"] = "4";
21
- // EthereumKovan = '42', // currently unsupported by ShapeShift
10
+ exports.CHAIN_NAMESPACE = {
11
+ Ethereum: 'eip155',
12
+ Bitcoin: 'bip122',
13
+ Cosmos: 'cosmos'
14
+ };
15
+ exports.CHAIN_REFERENCE = {
16
+ EthereumMainnet: '1',
17
+ EthereumRopsten: '3',
18
+ EthereumRinkeby: '4',
19
+ // EthereumKovan: '42', // currently unsupported by ShapeShift
22
20
  // https://github.com/bitcoin/bips/blob/master/bip-0122.mediawiki#definition-of-chain-id
23
21
  // chainId uses max length of 32 chars of the genesis block
24
- ChainReference["BitcoinMainnet"] = "000000000019d6689c085ae165831e93";
25
- ChainReference["BitcoinTestnet"] = "000000000933ea01ad0ee984209779ba";
26
- ChainReference["CosmosHubMainnet"] = "cosmoshub-4";
27
- ChainReference["CosmosHubVega"] = "vega-testnet";
28
- ChainReference["OsmosisMainnet"] = "osmosis-1";
29
- ChainReference["OsmosisTestnet"] = "osmo-testnet-1";
30
- })(ChainReference = exports.ChainReference || (exports.ChainReference = {}));
22
+ BitcoinMainnet: '000000000019d6689c085ae165831e93',
23
+ BitcoinTestnet: '000000000933ea01ad0ee984209779ba',
24
+ CosmosHubMainnet: 'cosmoshub-4',
25
+ CosmosHubVega: 'vega-testnet',
26
+ OsmosisMainnet: 'osmosis-1',
27
+ OsmosisTestnet: 'osmo-testnet-1'
28
+ };
31
29
  const shapeShiftToChainId = Object.freeze({
32
30
  [types_1.ChainTypes.Ethereum]: {
33
- namespace: ChainNamespace.Ethereum,
31
+ namespace: exports.CHAIN_NAMESPACE.Ethereum,
34
32
  reference: {
35
- [types_1.NetworkTypes.MAINNET]: ChainReference.EthereumMainnet,
36
- [types_1.NetworkTypes.ETH_ROPSTEN]: ChainReference.EthereumRopsten,
37
- [types_1.NetworkTypes.ETH_RINKEBY]: ChainReference.EthereumRinkeby
33
+ [types_1.NetworkTypes.MAINNET]: exports.CHAIN_REFERENCE.EthereumMainnet,
34
+ [types_1.NetworkTypes.ETH_ROPSTEN]: exports.CHAIN_REFERENCE.EthereumRopsten,
35
+ [types_1.NetworkTypes.ETH_RINKEBY]: exports.CHAIN_REFERENCE.EthereumRinkeby
38
36
  }
39
37
  },
40
38
  [types_1.ChainTypes.Bitcoin]: {
41
- namespace: ChainNamespace.Bitcoin,
39
+ namespace: exports.CHAIN_NAMESPACE.Bitcoin,
42
40
  reference: {
43
- [types_1.NetworkTypes.MAINNET]: ChainReference.BitcoinMainnet,
44
- [types_1.NetworkTypes.TESTNET]: ChainReference.BitcoinTestnet
41
+ [types_1.NetworkTypes.MAINNET]: exports.CHAIN_REFERENCE.BitcoinMainnet,
42
+ [types_1.NetworkTypes.TESTNET]: exports.CHAIN_REFERENCE.BitcoinTestnet
45
43
  }
46
44
  },
47
45
  [types_1.ChainTypes.Cosmos]: {
48
- namespace: ChainNamespace.Cosmos,
46
+ namespace: exports.CHAIN_NAMESPACE.Cosmos,
49
47
  reference: {
50
- [types_1.NetworkTypes.COSMOSHUB_MAINNET]: ChainReference.CosmosHubMainnet,
51
- [types_1.NetworkTypes.COSMOSHUB_VEGA]: ChainReference.CosmosHubVega
48
+ [types_1.NetworkTypes.COSMOSHUB_MAINNET]: exports.CHAIN_REFERENCE.CosmosHubMainnet,
49
+ [types_1.NetworkTypes.COSMOSHUB_VEGA]: exports.CHAIN_REFERENCE.CosmosHubVega
52
50
  }
53
51
  },
54
52
  [types_1.ChainTypes.Osmosis]: {
55
- namespace: ChainNamespace.Cosmos,
53
+ namespace: exports.CHAIN_NAMESPACE.Cosmos,
56
54
  reference: {
57
- [types_1.NetworkTypes.OSMOSIS_MAINNET]: ChainReference.OsmosisMainnet,
58
- [types_1.NetworkTypes.OSMOSIS_TESTNET]: ChainReference.OsmosisTestnet
55
+ [types_1.NetworkTypes.OSMOSIS_MAINNET]: exports.CHAIN_REFERENCE.OsmosisMainnet,
56
+ [types_1.NetworkTypes.OSMOSIS_TESTNET]: exports.CHAIN_REFERENCE.OsmosisTestnet
59
57
  }
60
58
  }
61
59
  });
@@ -118,18 +116,18 @@ const fromChainId = (chainId) => {
118
116
  throw new Error(`fromChainId: error parsing chainId, chain: ${c}, network: ${n}`);
119
117
  }
120
118
  switch (c) {
121
- case ChainNamespace.Cosmos: {
119
+ case exports.CHAIN_NAMESPACE.Cosmos: {
122
120
  switch (n) {
123
- case ChainReference.CosmosHubMainnet: {
121
+ case exports.CHAIN_REFERENCE.CosmosHubMainnet: {
124
122
  return { chain: types_1.ChainTypes.Cosmos, network: types_1.NetworkTypes.COSMOSHUB_MAINNET };
125
123
  }
126
- case ChainReference.CosmosHubVega: {
124
+ case exports.CHAIN_REFERENCE.CosmosHubVega: {
127
125
  return { chain: types_1.ChainTypes.Cosmos, network: types_1.NetworkTypes.COSMOSHUB_VEGA };
128
126
  }
129
- case ChainReference.OsmosisMainnet: {
127
+ case exports.CHAIN_REFERENCE.OsmosisMainnet: {
130
128
  return { chain: types_1.ChainTypes.Osmosis, network: types_1.NetworkTypes.OSMOSIS_MAINNET };
131
129
  }
132
- case ChainReference.OsmosisTestnet: {
130
+ case exports.CHAIN_REFERENCE.OsmosisTestnet: {
133
131
  return { chain: types_1.ChainTypes.Osmosis, network: types_1.NetworkTypes.OSMOSIS_TESTNET };
134
132
  }
135
133
  default: {
@@ -137,18 +135,18 @@ const fromChainId = (chainId) => {
137
135
  }
138
136
  }
139
137
  }
140
- case ChainNamespace.Ethereum: {
138
+ case exports.CHAIN_NAMESPACE.Ethereum: {
141
139
  const chain = types_1.ChainTypes.Ethereum;
142
140
  switch (n) {
143
- case ChainReference.EthereumMainnet: {
141
+ case exports.CHAIN_REFERENCE.EthereumMainnet: {
144
142
  const network = types_1.NetworkTypes.MAINNET;
145
143
  return { chain, network };
146
144
  }
147
- case ChainReference.EthereumRopsten: {
145
+ case exports.CHAIN_REFERENCE.EthereumRopsten: {
148
146
  const network = types_1.NetworkTypes.ETH_ROPSTEN;
149
147
  return { chain, network };
150
148
  }
151
- case ChainReference.EthereumRinkeby: {
149
+ case exports.CHAIN_REFERENCE.EthereumRinkeby: {
152
150
  const network = types_1.NetworkTypes.ETH_RINKEBY;
153
151
  return { chain, network };
154
152
  }
@@ -157,14 +155,14 @@ const fromChainId = (chainId) => {
157
155
  }
158
156
  }
159
157
  }
160
- case ChainNamespace.Bitcoin: {
158
+ case exports.CHAIN_NAMESPACE.Bitcoin: {
161
159
  const chain = types_1.ChainTypes.Bitcoin;
162
160
  switch (n) {
163
- case ChainReference.BitcoinMainnet: {
161
+ case exports.CHAIN_REFERENCE.BitcoinMainnet: {
164
162
  const network = types_1.NetworkTypes.MAINNET;
165
163
  return { chain, network };
166
164
  }
167
- case ChainReference.BitcoinTestnet: {
165
+ case exports.CHAIN_REFERENCE.BitcoinTestnet: {
168
166
  const network = types_1.NetworkTypes.TESTNET;
169
167
  return { chain, network };
170
168
  }
@@ -183,29 +181,29 @@ const isChainId = (chainId) => {
183
181
  throw new Error(`isChainId: error parsing chainId, chain: ${c}, network: ${n}`);
184
182
  }
185
183
  switch (c) {
186
- case ChainNamespace.Cosmos: {
184
+ case exports.CHAIN_NAMESPACE.Cosmos: {
187
185
  switch (n) {
188
- case ChainReference.CosmosHubMainnet:
189
- case ChainReference.CosmosHubVega:
190
- case ChainReference.OsmosisMainnet:
191
- case ChainReference.OsmosisTestnet:
186
+ case exports.CHAIN_REFERENCE.CosmosHubMainnet:
187
+ case exports.CHAIN_REFERENCE.CosmosHubVega:
188
+ case exports.CHAIN_REFERENCE.OsmosisMainnet:
189
+ case exports.CHAIN_REFERENCE.OsmosisTestnet:
192
190
  return true;
193
191
  }
194
192
  break;
195
193
  }
196
- case ChainNamespace.Ethereum: {
194
+ case exports.CHAIN_NAMESPACE.Ethereum: {
197
195
  switch (n) {
198
- case ChainReference.EthereumMainnet:
199
- case ChainReference.EthereumRopsten:
200
- case ChainReference.EthereumRinkeby:
196
+ case exports.CHAIN_REFERENCE.EthereumMainnet:
197
+ case exports.CHAIN_REFERENCE.EthereumRopsten:
198
+ case exports.CHAIN_REFERENCE.EthereumRinkeby:
201
199
  return true;
202
200
  }
203
201
  break;
204
202
  }
205
- case ChainNamespace.Bitcoin: {
203
+ case exports.CHAIN_NAMESPACE.Bitcoin: {
206
204
  switch (n) {
207
- case ChainReference.BitcoinMainnet:
208
- case ChainReference.BitcoinTestnet:
205
+ case exports.CHAIN_REFERENCE.BitcoinMainnet:
206
+ case exports.CHAIN_REFERENCE.BitcoinTestnet:
209
207
  return true;
210
208
  }
211
209
  break;
@@ -215,21 +213,21 @@ const isChainId = (chainId) => {
215
213
  };
216
214
  exports.isChainId = isChainId;
217
215
  exports.chainReferenceToNetworkType = Object.freeze({
218
- [ChainReference.BitcoinMainnet]: types_1.NetworkTypes.MAINNET,
219
- [ChainReference.BitcoinTestnet]: types_1.NetworkTypes.TESTNET,
220
- [ChainReference.EthereumMainnet]: types_1.NetworkTypes.MAINNET,
221
- [ChainReference.EthereumRopsten]: types_1.NetworkTypes.ETH_ROPSTEN,
222
- [ChainReference.EthereumRinkeby]: types_1.NetworkTypes.ETH_RINKEBY,
223
- [ChainReference.CosmosHubMainnet]: types_1.NetworkTypes.COSMOSHUB_MAINNET,
224
- [ChainReference.CosmosHubVega]: types_1.NetworkTypes.COSMOSHUB_VEGA,
225
- [ChainReference.OsmosisMainnet]: types_1.NetworkTypes.OSMOSIS_MAINNET,
226
- [ChainReference.OsmosisTestnet]: types_1.NetworkTypes.OSMOSIS_TESTNET
216
+ [exports.CHAIN_REFERENCE.BitcoinMainnet]: types_1.NetworkTypes.MAINNET,
217
+ [exports.CHAIN_REFERENCE.BitcoinTestnet]: types_1.NetworkTypes.TESTNET,
218
+ [exports.CHAIN_REFERENCE.EthereumMainnet]: types_1.NetworkTypes.MAINNET,
219
+ [exports.CHAIN_REFERENCE.EthereumRopsten]: types_1.NetworkTypes.ETH_ROPSTEN,
220
+ [exports.CHAIN_REFERENCE.EthereumRinkeby]: types_1.NetworkTypes.ETH_RINKEBY,
221
+ [exports.CHAIN_REFERENCE.CosmosHubMainnet]: types_1.NetworkTypes.COSMOSHUB_MAINNET,
222
+ [exports.CHAIN_REFERENCE.CosmosHubVega]: types_1.NetworkTypes.COSMOSHUB_VEGA,
223
+ [exports.CHAIN_REFERENCE.OsmosisMainnet]: types_1.NetworkTypes.OSMOSIS_MAINNET,
224
+ [exports.CHAIN_REFERENCE.OsmosisTestnet]: types_1.NetworkTypes.OSMOSIS_TESTNET
227
225
  });
228
226
  exports.networkTypeToChainReference = (0, invert_1.default)(exports.chainReferenceToNetworkType);
229
227
  exports.chainNamespaceToChainType = Object.freeze({
230
- [ChainNamespace.Bitcoin]: types_1.ChainTypes.Bitcoin,
231
- [ChainNamespace.Ethereum]: types_1.ChainTypes.Ethereum,
232
- [ChainNamespace.Cosmos]: types_1.ChainTypes.Cosmos
228
+ [exports.CHAIN_NAMESPACE.Bitcoin]: types_1.ChainTypes.Bitcoin,
229
+ [exports.CHAIN_NAMESPACE.Ethereum]: types_1.ChainTypes.Ethereum,
230
+ [exports.CHAIN_NAMESPACE.Cosmos]: types_1.ChainTypes.Cosmos
233
231
  });
234
232
  exports.toCAIP2 = exports.toChainId;
235
233
  exports.fromCAIP2 = exports.fromChainId;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapeshiftoss/caip",
3
- "version": "3.1.0",
3
+ "version": "4.0.0",
4
4
  "description": "CAIP Implementation",
5
5
  "homepage": "",
6
6
  "license": "MIT",