@shapeshiftoss/caip 8.15.0 → 8.16.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.
Files changed (99) hide show
  1. package/CHANGELOG.md +726 -0
  2. package/dist/accountId/accountId.d.ts +9 -9
  3. package/dist/accountId/accountId.js +16 -20
  4. package/dist/accountId/accountId.test.js +107 -0
  5. package/dist/adapters/banxa/index.d.ts +6 -5
  6. package/dist/adapters/banxa/index.js +60 -38
  7. package/dist/adapters/coinbase/generate.js +4 -8
  8. package/dist/adapters/coinbase/generated/index.js +2 -8
  9. package/dist/adapters/coinbase/index.d.ts +1 -1
  10. package/dist/adapters/coinbase/index.js +7 -15
  11. package/dist/adapters/coinbase/utils.d.ts +2 -2
  12. package/dist/adapters/coinbase/utils.js +11 -23
  13. package/dist/adapters/coincap/generate.js +5 -7
  14. package/dist/adapters/coincap/generated/cosmos_thorchain-1/adapter.json +1 -0
  15. package/dist/adapters/coincap/generated/eip155_1/adapter.json +1 -1
  16. package/dist/adapters/coincap/generated/index.d.ts +2 -3
  17. package/dist/adapters/coincap/generated/index.js +8 -22
  18. package/dist/adapters/coincap/index.d.ts +2 -1
  19. package/dist/adapters/coincap/index.js +9 -38
  20. package/dist/adapters/coincap/index.test.js +92 -0
  21. package/dist/adapters/coincap/utils.d.ts +1 -1
  22. package/dist/adapters/coincap/utils.js +21 -32
  23. package/dist/adapters/coincap/utils.test.d.ts +4 -0
  24. package/dist/adapters/coincap/utils.test.js +163 -0
  25. package/dist/adapters/coingecko/generate.js +5 -7
  26. package/dist/adapters/coingecko/generated/cosmos_mayachain-mainnet-v1/adapter.json +1 -0
  27. package/dist/adapters/coingecko/generated/cosmos_thorchain-1/adapter.json +1 -0
  28. package/dist/adapters/coingecko/generated/eip155_1/adapter.json +1 -1
  29. package/dist/adapters/coingecko/generated/eip155_10/adapter.json +1 -1
  30. package/dist/adapters/coingecko/generated/eip155_100/adapter.json +1 -0
  31. package/dist/adapters/coingecko/generated/eip155_137/adapter.json +1 -0
  32. package/dist/adapters/coingecko/generated/eip155_42161/adapter.json +1 -0
  33. package/dist/adapters/coingecko/generated/eip155_42170/adapter.json +1 -0
  34. package/dist/adapters/coingecko/generated/eip155_43114/adapter.json +1 -1
  35. package/dist/adapters/coingecko/generated/eip155_56/adapter.json +1 -1
  36. package/dist/adapters/coingecko/generated/eip155_8453/adapter.json +1 -0
  37. package/dist/adapters/coingecko/generated/index.d.ts +9 -3
  38. package/dist/adapters/coingecko/generated/index.js +18 -28
  39. package/dist/adapters/coingecko/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +1 -0
  40. package/dist/adapters/coingecko/index.d.ts +16 -14
  41. package/dist/adapters/coingecko/index.js +87 -73
  42. package/dist/adapters/coingecko/index.test.d.ts +1 -0
  43. package/dist/adapters/coingecko/index.test.js +274 -0
  44. package/dist/adapters/coingecko/utils.d.ts +4 -6
  45. package/dist/adapters/coingecko/utils.js +141 -59
  46. package/dist/adapters/coingecko/utils.test.d.ts +1 -0
  47. package/dist/adapters/coingecko/utils.test.js +188 -0
  48. package/dist/adapters/index.d.ts +0 -5
  49. package/dist/adapters/index.js +6 -27
  50. package/dist/adapters/mtpelerin/index.d.ts +1 -61
  51. package/dist/adapters/mtpelerin/index.js +96 -88
  52. package/dist/adapters/onramper/index.d.ts +2 -2
  53. package/dist/adapters/onramper/index.js +1483 -62
  54. package/dist/assetId/assetId.d.ts +14 -13
  55. package/dist/assetId/assetId.js +81 -57
  56. package/dist/assetId/assetId.test.d.ts +1 -0
  57. package/dist/assetId/assetId.test.js +336 -0
  58. package/dist/chainId/chainId.d.ts +11 -10
  59. package/dist/chainId/chainId.js +14 -16
  60. package/dist/chainId/chainId.test.d.ts +1 -0
  61. package/dist/chainId/chainId.test.js +88 -0
  62. package/dist/constants.d.ts +57 -38
  63. package/dist/constants.js +135 -108
  64. package/dist/index.js +7 -36
  65. package/dist/typeGuards.d.ts +5 -3
  66. package/dist/typeGuards.js +34 -40
  67. package/dist/utils.d.ts +7 -8
  68. package/dist/utils.js +23 -67
  69. package/dist/utils.test.d.ts +1 -0
  70. package/dist/utils.test.js +162 -0
  71. package/package.json +11 -30
  72. package/dist/adapters/coincap/generated/cosmos_osmosis-1/adapter.json +0 -1
  73. package/dist/adapters/coincap/generated/cosmos_thorchain-mainnet-v1/adapter.json +0 -1
  74. package/dist/adapters/coingecko/generated/cosmos_osmosis-1/adapter.json +0 -1
  75. package/dist/adapters/coingecko/generated/cosmos_thorchain-mainnet-v1/adapter.json +0 -1
  76. package/dist/adapters/gem/index.d.ts +0 -2
  77. package/dist/adapters/gem/index.js +0 -39
  78. package/dist/adapters/junopay/index.d.ts +0 -7
  79. package/dist/adapters/junopay/index.js +0 -52
  80. package/dist/adapters/osmosis/generate.js +0 -13
  81. package/dist/adapters/osmosis/generated/cosmos_osmosis-1/adapter.json +0 -1022
  82. package/dist/adapters/osmosis/generated/index.d.ts +0 -2
  83. package/dist/adapters/osmosis/generated/index.js +0 -8
  84. package/dist/adapters/osmosis/index.d.ts +0 -6
  85. package/dist/adapters/osmosis/index.js +0 -54
  86. package/dist/adapters/osmosis/utils.d.ts +0 -37
  87. package/dist/adapters/osmosis/utils.js +0 -90
  88. package/dist/adapters/thortrading/index.d.ts +0 -5
  89. package/dist/adapters/thortrading/index.js +0 -44
  90. package/dist/adapters/yearn/generate.js +0 -9
  91. package/dist/adapters/yearn/generated/eip155_1/adapter.json +0 -1
  92. package/dist/adapters/yearn/generated/index.d.ts +0 -2
  93. package/dist/adapters/yearn/generated/index.js +0 -8
  94. package/dist/adapters/yearn/index.d.ts +0 -2
  95. package/dist/adapters/yearn/index.js +0 -41
  96. package/dist/adapters/yearn/utils.d.ts +0 -7
  97. package/dist/adapters/yearn/utils.js +0 -62
  98. /package/dist/{adapters/osmosis/generate.d.ts → accountId/accountId.test.d.ts} +0 -0
  99. /package/dist/adapters/{yearn/generate.d.ts → coincap/index.test.d.ts} +0 -0
@@ -0,0 +1,88 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { CHAIN_NAMESPACE, CHAIN_REFERENCE } from '../constants';
3
+ import { assertIsChainId, isChainId } from '../typeGuards';
4
+ import { fromCAIP2, fromChainId, toCAIP2, toChainId } from './chainId';
5
+ describe('chainId', () => {
6
+ it('should have matching CAIP2 aliases', () => {
7
+ expect(toChainId).toEqual(toCAIP2);
8
+ expect(fromChainId).toEqual(fromCAIP2);
9
+ });
10
+ describe('toChainId', () => {
11
+ it('can turn CosmosHub mainnet to ChainId', () => {
12
+ const chainNamespace = CHAIN_NAMESPACE.CosmosSdk;
13
+ const chainReference = CHAIN_REFERENCE.CosmosHubMainnet;
14
+ const result = toChainId({ chainNamespace, chainReference });
15
+ expect(result).toEqual('cosmos:cosmoshub-4');
16
+ });
17
+ it('can turn Ethereum mainnet to ChainId', () => {
18
+ const chainNamespace = CHAIN_NAMESPACE.Evm;
19
+ const chainReference = CHAIN_REFERENCE.EthereumMainnet;
20
+ const result = toChainId({ chainNamespace, chainReference });
21
+ expect(result).toEqual('eip155:1');
22
+ });
23
+ it('can turn Bitcoin mainnet to ChainId', () => {
24
+ const chainNamespace = CHAIN_NAMESPACE.Utxo;
25
+ const chainReference = CHAIN_REFERENCE.BitcoinMainnet;
26
+ const result = toChainId({ chainNamespace, chainReference });
27
+ expect(result).toEqual('bip122:000000000019d6689c085ae165831e93');
28
+ });
29
+ it('should throw an error for an invalid chain', () => {
30
+ // @ts-ignore
31
+ expect(() => toChainId({
32
+ chainNamespace: CHAIN_NAMESPACE.Utxo,
33
+ chainReference: CHAIN_REFERENCE.CosmosHubMainnet,
34
+ })).toThrow('assertIsChainId: unsupported ChainId: bip122:cosmoshub-4');
35
+ });
36
+ });
37
+ describe('fromChainId', () => {
38
+ it('can turn Bitcoin mainnet to chain and network', () => {
39
+ const bitcoinChainId = 'bip122:000000000019d6689c085ae165831e93';
40
+ const { chainNamespace, chainReference } = fromChainId(bitcoinChainId);
41
+ expect(chainNamespace).toEqual(CHAIN_NAMESPACE.Utxo);
42
+ expect(chainReference).toEqual(CHAIN_REFERENCE.BitcoinMainnet);
43
+ });
44
+ it('can turn CosmosHub mainnet to chain and network', () => {
45
+ const cosmosHubChainId = 'cosmos:cosmoshub-4';
46
+ const { chainNamespace, chainReference } = fromChainId(cosmosHubChainId);
47
+ expect(chainNamespace).toEqual(CHAIN_NAMESPACE.CosmosSdk);
48
+ expect(chainReference).toEqual(CHAIN_REFERENCE.CosmosHubMainnet);
49
+ });
50
+ it('can turn Ethereum mainnet to chain and network', () => {
51
+ const ethereumChainId = 'eip155:1';
52
+ const { chainNamespace, chainReference } = fromChainId(ethereumChainId);
53
+ expect(chainNamespace).toEqual(CHAIN_NAMESPACE.Evm);
54
+ expect(chainReference).toEqual(CHAIN_REFERENCE.EthereumMainnet);
55
+ });
56
+ });
57
+ });
58
+ describe('isChainId', () => {
59
+ it('throws on eip155 without a network reference', () => {
60
+ expect(() => assertIsChainId('eip155')).toThrow();
61
+ });
62
+ it('validates eip155:1 mainnet as true', () => {
63
+ expect(isChainId('eip155:1')).toBe(true);
64
+ });
65
+ it('throws on eip155:2 unsupported network reference', () => {
66
+ expect(() => assertIsChainId('eip155:2')).toThrow();
67
+ });
68
+ it('validates bip122:000000000019d6689c085ae165831e93 mainnet as true', () => {
69
+ expect(isChainId('bip122:000000000019d6689c085ae165831e93')).toBe(true);
70
+ });
71
+ it('throws on bip122 with the wrong network reference', () => {
72
+ expect(() => assertIsChainId('bip122:1')).toThrow();
73
+ });
74
+ it('throws on bip122', () => {
75
+ // missing network
76
+ expect(() => assertIsChainId('bip122')).toThrow();
77
+ });
78
+ it('throws on empty string', () => {
79
+ // missing network
80
+ expect(() => assertIsChainId('')).toThrow();
81
+ });
82
+ it('should return true for cosmos', () => {
83
+ expect(isChainId('cosmos:cosmoshub-4')).toBe(true);
84
+ });
85
+ it('should throw for an unknown cosmos chain', () => {
86
+ expect(() => assertIsChainId('cosmos:fakechain-1')).toThrow('assertIsChainId: unsupported ChainId: cosmos:fakechain-1');
87
+ });
88
+ });
@@ -1,5 +1,5 @@
1
- import { AssetId, AssetNamespace } from './assetId/assetId';
2
- import { ChainId, ChainNamespace, ChainReference } from './chainId/chainId';
1
+ import type { AssetId, AssetNamespace } from './assetId/assetId';
2
+ import type { ChainId, ChainNamespace, ChainReference } from './chainId/chainId';
3
3
  export declare const btcAssetId: AssetId;
4
4
  export declare const bchAssetId: AssetId;
5
5
  export declare const dogeAssetId: AssetId;
@@ -8,15 +8,32 @@ export declare const ethAssetId: AssetId;
8
8
  export declare const avalancheAssetId: AssetId;
9
9
  export declare const optimismAssetId: AssetId;
10
10
  export declare const bscAssetId: AssetId;
11
- export declare const foxAssetId: AssetId;
11
+ export declare const polygonAssetId: AssetId;
12
+ export declare const gnosisAssetId: AssetId;
13
+ export declare const arbitrumAssetId: AssetId;
14
+ export declare const arbitrumNovaAssetId: AssetId;
15
+ export declare const baseAssetId: AssetId;
16
+ export declare const solAssetId: AssetId;
17
+ export declare const wrappedSolAssetId: AssetId;
18
+ export declare const uniV2EthFoxArbitrumAssetId: AssetId;
19
+ export declare const foxatarAssetId: AssetId;
12
20
  export declare const foxyAssetId: AssetId;
21
+ export declare const foxOnGnosisAssetId: AssetId;
22
+ export declare const foxOnArbitrumOneAssetId: AssetId;
23
+ export declare const foxAssetId: AssetId;
24
+ export declare const foxOnOptimismAssetId: AssetId;
25
+ export declare const foxOnPolygonAssetId: AssetId;
26
+ export declare const usdtAssetId: AssetId;
27
+ export declare const usdcAssetId: AssetId;
28
+ export declare const usdcOnArbitrumOneAssetId: AssetId;
29
+ export declare const usdcOnSolanaAssetId: AssetId;
30
+ export declare const flipAssetId: AssetId;
31
+ export declare const foxWifHatAssetId: AssetId;
13
32
  export declare const cosmosAssetId: AssetId;
14
- export declare const osmosisAssetId: AssetId;
15
33
  export declare const thorchainAssetId: AssetId;
34
+ export declare const tcyAssetId: AssetId;
35
+ export declare const mayachainAssetId: AssetId;
16
36
  export declare const binanceAssetId: AssetId;
17
- export declare const kavaAssetId: AssetId;
18
- export declare const terraAssetId: AssetId;
19
- export declare const secretAssetId: AssetId;
20
37
  export declare const btcChainId: ChainId;
21
38
  export declare const bchChainId: ChainId;
22
39
  export declare const dogeChainId: ChainId;
@@ -25,78 +42,80 @@ export declare const ethChainId: ChainId;
25
42
  export declare const avalancheChainId: ChainId;
26
43
  export declare const optimismChainId: ChainId;
27
44
  export declare const bscChainId: ChainId;
45
+ export declare const polygonChainId: ChainId;
46
+ export declare const gnosisChainId: ChainId;
47
+ export declare const arbitrumChainId: ChainId;
48
+ export declare const arbitrumNovaChainId: ChainId;
49
+ export declare const baseChainId: ChainId;
28
50
  export declare const cosmosChainId: ChainId;
29
- export declare const osmosisChainId: ChainId;
30
51
  export declare const thorchainChainId: ChainId;
52
+ export declare const mayachainChainId: ChainId;
31
53
  export declare const binanceChainId: ChainId;
32
- export declare const kavaChainId: ChainId;
33
- export declare const terraChainId: ChainId;
34
- export declare const secretChainId: ChainId;
54
+ export declare const solanaChainId: ChainId;
35
55
  export declare const CHAIN_NAMESPACE: {
36
56
  readonly Evm: "eip155";
37
57
  readonly Utxo: "bip122";
38
58
  readonly CosmosSdk: "cosmos";
59
+ readonly Solana: "solana";
39
60
  };
40
- declare type ValidChainMap = {
61
+ type ValidChainMap = {
41
62
  [k in ChainNamespace]: ChainReference[];
42
63
  };
43
64
  export declare const CHAIN_REFERENCE: {
44
65
  readonly EthereumMainnet: "1";
45
- readonly EthereumRopsten: "3";
46
- readonly EthereumRinkeby: "4";
47
66
  readonly BitcoinMainnet: "000000000019d6689c085ae165831e93";
48
- readonly BitcoinTestnet: "000000000933ea01ad0ee984209779ba";
49
67
  readonly BitcoinCashMainnet: "000000000000000000651ef99cb9fcbe";
50
68
  readonly DogecoinMainnet: "00000000001a91e3dace36e2be3bf030";
51
69
  readonly LitecoinMainnet: "12a765e31ffd4059bada1e25190f6e98";
52
70
  readonly CosmosHubMainnet: "cosmoshub-4";
53
- readonly CosmosHubVega: "vega-testnet";
54
- readonly OsmosisMainnet: "osmosis-1";
55
- readonly OsmosisTestnet: "osmo-testnet-1";
56
- readonly ThorchainMainnet: "thorchain-mainnet-v1";
57
- readonly AvalancheCChain: "43114";
71
+ readonly ThorchainMainnet: "thorchain-1";
72
+ readonly MayachainMainnet: "mayachain-mainnet-v1";
58
73
  readonly BinanceMainnet: "binance-chain-tigris";
59
- readonly BinanceTestnet: "binance-chain-ganges";
60
- readonly KavaMainnet: "kava_2222-10";
61
- readonly KavaTestnet: "kava_2221-16000";
62
- readonly TerraMainnet: "phoenix-1";
63
- readonly TerraTestnet: "pisco-1";
64
- readonly SecretMainnet: "secret-4";
65
- readonly SecretTestnet: "pulsar-2";
74
+ readonly AvalancheCChain: "43114";
66
75
  readonly OptimismMainnet: "10";
67
76
  readonly BnbSmartChainMainnet: "56";
77
+ readonly PolygonMainnet: "137";
78
+ readonly GnosisMainnet: "100";
79
+ readonly ArbitrumMainnet: "42161";
80
+ readonly ArbitrumNovaMainnet: "42170";
81
+ readonly BaseMainnet: "8453";
82
+ readonly SolanaMainnet: "5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp";
68
83
  };
69
84
  export declare const ASSET_NAMESPACE: {
70
- readonly cw20: "cw20";
71
- readonly cw721: "cw721";
72
85
  readonly erc20: "erc20";
73
86
  readonly erc721: "erc721";
87
+ readonly erc1155: "erc1155";
74
88
  readonly bep20: "bep20";
75
89
  readonly bep721: "bep721";
90
+ readonly bep1155: "bep1155";
76
91
  readonly slip44: "slip44";
77
- readonly native: "native";
78
92
  readonly ibc: "ibc";
93
+ readonly splToken: "token";
79
94
  };
80
95
  export declare const ASSET_REFERENCE: {
81
96
  readonly Bitcoin: "0";
97
+ readonly BitcoinCash: "145";
82
98
  readonly Litecoin: "2";
83
99
  readonly Dogecoin: "3";
84
- readonly Ethereum: "60";
85
100
  readonly Cosmos: "118";
86
- readonly Osmosis: "118";
87
101
  readonly Thorchain: "931";
88
- readonly BitcoinCash: "145";
89
- readonly AvalancheC: "60";
102
+ readonly Mayachain: "931";
90
103
  readonly Binance: "714";
91
- readonly Kava: "459";
92
- readonly Terra: "330";
93
- readonly Secret: "529";
104
+ readonly Ethereum: "60";
105
+ readonly AvalancheC: "60";
94
106
  readonly Optimism: "60";
95
107
  readonly BnbSmartChain: "60";
108
+ readonly Polygon: "60";
109
+ readonly Gnosis: "60";
110
+ readonly Arbitrum: "60";
111
+ readonly ArbitrumNova: "60";
112
+ readonly Base: "60";
113
+ readonly Solana: "501";
96
114
  };
97
115
  export declare const VALID_CHAIN_IDS: ValidChainMap;
98
- declare type ValidAssetNamespace = {
116
+ type ValidAssetNamespace = {
99
117
  [k in ChainNamespace]: AssetNamespace[];
100
118
  };
101
119
  export declare const VALID_ASSET_NAMESPACE: ValidAssetNamespace;
120
+ export declare const FEE_ASSET_IDS: AssetId[];
102
121
  export {};
package/dist/constants.js CHANGED
@@ -1,142 +1,169 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VALID_ASSET_NAMESPACE = exports.VALID_CHAIN_IDS = exports.ASSET_REFERENCE = exports.ASSET_NAMESPACE = exports.CHAIN_REFERENCE = exports.CHAIN_NAMESPACE = exports.secretChainId = exports.terraChainId = exports.kavaChainId = exports.binanceChainId = exports.thorchainChainId = exports.osmosisChainId = exports.cosmosChainId = exports.bscChainId = exports.optimismChainId = exports.avalancheChainId = exports.ethChainId = exports.ltcChainId = exports.dogeChainId = exports.bchChainId = exports.btcChainId = exports.secretAssetId = exports.terraAssetId = exports.kavaAssetId = exports.binanceAssetId = exports.thorchainAssetId = exports.osmosisAssetId = exports.cosmosAssetId = exports.foxyAssetId = exports.foxAssetId = exports.bscAssetId = exports.optimismAssetId = exports.avalancheAssetId = exports.ethAssetId = exports.ltcAssetId = exports.dogeAssetId = exports.bchAssetId = exports.btcAssetId = void 0;
4
- exports.btcAssetId = 'bip122:000000000019d6689c085ae165831e93/slip44:0';
5
- exports.bchAssetId = 'bip122:000000000000000000651ef99cb9fcbe/slip44:145';
6
- exports.dogeAssetId = 'bip122:00000000001a91e3dace36e2be3bf030/slip44:3';
7
- exports.ltcAssetId = 'bip122:12a765e31ffd4059bada1e25190f6e98/slip44:2';
8
- exports.ethAssetId = 'eip155:1/slip44:60';
9
- exports.avalancheAssetId = 'eip155:43114/slip44:60';
10
- exports.optimismAssetId = 'eip155:10/slip44:60';
11
- exports.bscAssetId = 'eip155:56/slip44:60';
12
- exports.foxAssetId = 'eip155:1/erc20:0xc770eefad204b5180df6a14ee197d99d808ee52d';
13
- exports.foxyAssetId = 'eip155:1/erc20:0xdc49108ce5c57bc3408c3a5e95f3d864ec386ed3';
14
- exports.cosmosAssetId = 'cosmos:cosmoshub-4/slip44:118';
15
- exports.osmosisAssetId = 'cosmos:osmosis-1/slip44:118';
16
- exports.thorchainAssetId = 'cosmos:thorchain-mainnet-v1/slip44:931';
17
- exports.binanceAssetId = 'cosmos:binance-chain-tigris/slip44:714';
18
- exports.kavaAssetId = 'cosmos:kava_2222-10/slip44:459';
19
- exports.terraAssetId = 'cosmos:phoenix-1/slip44:330';
20
- exports.secretAssetId = 'cosmos:secret-4/slip44:529';
21
- exports.btcChainId = 'bip122:000000000019d6689c085ae165831e93';
22
- exports.bchChainId = 'bip122:000000000000000000651ef99cb9fcbe';
23
- exports.dogeChainId = 'bip122:00000000001a91e3dace36e2be3bf030';
24
- exports.ltcChainId = 'bip122:12a765e31ffd4059bada1e25190f6e98';
25
- exports.ethChainId = 'eip155:1';
26
- exports.avalancheChainId = 'eip155:43114';
27
- exports.optimismChainId = 'eip155:10';
28
- exports.bscChainId = 'eip155:56';
29
- exports.cosmosChainId = 'cosmos:cosmoshub-4';
30
- exports.osmosisChainId = 'cosmos:osmosis-1';
31
- exports.thorchainChainId = 'cosmos:thorchain-mainnet-v1';
32
- exports.binanceChainId = 'cosmos:binance-chain-tigris';
33
- exports.kavaChainId = 'cosmos:kava_2222-10';
34
- exports.terraChainId = 'cosmos:phoenix-1';
35
- exports.secretChainId = 'cosmos:secret-4';
36
- exports.CHAIN_NAMESPACE = {
1
+ export const btcAssetId = 'bip122:000000000019d6689c085ae165831e93/slip44:0';
2
+ export const bchAssetId = 'bip122:000000000000000000651ef99cb9fcbe/slip44:145';
3
+ export const dogeAssetId = 'bip122:00000000001a91e3dace36e2be3bf030/slip44:3';
4
+ export const ltcAssetId = 'bip122:12a765e31ffd4059bada1e25190f6e98/slip44:2';
5
+ export const ethAssetId = 'eip155:1/slip44:60';
6
+ export const avalancheAssetId = 'eip155:43114/slip44:60';
7
+ export const optimismAssetId = 'eip155:10/slip44:60';
8
+ export const bscAssetId = 'eip155:56/slip44:60';
9
+ export const polygonAssetId = 'eip155:137/slip44:60';
10
+ export const gnosisAssetId = 'eip155:100/slip44:60';
11
+ export const arbitrumAssetId = 'eip155:42161/slip44:60';
12
+ export const arbitrumNovaAssetId = 'eip155:42170/slip44:60';
13
+ export const baseAssetId = 'eip155:8453/slip44:60';
14
+ export const solAssetId = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501';
15
+ export const wrappedSolAssetId = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:So11111111111111111111111111111111111111112';
16
+ export const uniV2EthFoxArbitrumAssetId = 'eip155:42161/erc20:0x5f6ce0ca13b87bd738519545d3e018e70e339c24';
17
+ export const foxatarAssetId = 'eip155:137/erc721:0x2e727c425a11ce6b8819b3004db332c12d2af2a2';
18
+ export const foxyAssetId = 'eip155:1/erc20:0xdc49108ce5c57bc3408c3a5e95f3d864ec386ed3';
19
+ export const foxOnGnosisAssetId = 'eip155:100/erc20:0x21a42669643f45bc0e086b8fc2ed70c23d67509d';
20
+ export const foxOnArbitrumOneAssetId = 'eip155:42161/erc20:0xf929de51d91c77e42f5090069e0ad7a09e513c73';
21
+ export const foxAssetId = 'eip155:1/erc20:0xc770eefad204b5180df6a14ee197d99d808ee52d';
22
+ export const foxOnOptimismAssetId = 'eip155:10/erc20:0xf1a0da3367bc7aa04f8d94ba57b862ff37ced174';
23
+ export const foxOnPolygonAssetId = 'eip155:137/erc20:0x65a05db8322701724c197af82c9cae41195b0aa8';
24
+ export const usdtAssetId = 'eip155:1/erc20:0xdac17f958d2ee523a2206206994597c13d831ec7';
25
+ export const usdcAssetId = 'eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48';
26
+ export const usdcOnArbitrumOneAssetId = 'eip155:42161/erc20:0xaf88d065e77c8cc2239327c5edb3a432268e5831';
27
+ export const usdcOnSolanaAssetId = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v';
28
+ export const flipAssetId = 'eip155:1/erc20:0x826180541412d574cf1336d22c0c0a287822678a';
29
+ export const foxWifHatAssetId = 'eip155:8453/erc20:0xd14acd73ade7f3c652f05365115f015e905a6bf4';
30
+ export const cosmosAssetId = 'cosmos:cosmoshub-4/slip44:118';
31
+ export const thorchainAssetId = 'cosmos:thorchain-1/slip44:931';
32
+ export const tcyAssetId = 'cosmos:thorchain-1/slip44:tcy';
33
+ export const mayachainAssetId = 'cosmos:mayachain-mainnet-v1/slip44:931';
34
+ export const binanceAssetId = 'cosmos:binance-chain-tigris/slip44:714';
35
+ export const btcChainId = 'bip122:000000000019d6689c085ae165831e93';
36
+ export const bchChainId = 'bip122:000000000000000000651ef99cb9fcbe';
37
+ export const dogeChainId = 'bip122:00000000001a91e3dace36e2be3bf030';
38
+ export const ltcChainId = 'bip122:12a765e31ffd4059bada1e25190f6e98';
39
+ export const ethChainId = 'eip155:1';
40
+ export const avalancheChainId = 'eip155:43114';
41
+ export const optimismChainId = 'eip155:10';
42
+ export const bscChainId = 'eip155:56';
43
+ export const polygonChainId = 'eip155:137';
44
+ export const gnosisChainId = 'eip155:100';
45
+ export const arbitrumChainId = 'eip155:42161';
46
+ export const arbitrumNovaChainId = 'eip155:42170';
47
+ export const baseChainId = 'eip155:8453';
48
+ export const cosmosChainId = 'cosmos:cosmoshub-4';
49
+ export const thorchainChainId = 'cosmos:thorchain-1';
50
+ export const mayachainChainId = 'cosmos:mayachain-mainnet-v1';
51
+ export const binanceChainId = 'cosmos:binance-chain-tigris';
52
+ export const solanaChainId = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp';
53
+ export const CHAIN_NAMESPACE = {
37
54
  Evm: 'eip155',
38
55
  Utxo: 'bip122',
39
56
  CosmosSdk: 'cosmos',
57
+ Solana: 'solana',
40
58
  };
41
- exports.CHAIN_REFERENCE = {
59
+ export const CHAIN_REFERENCE = {
42
60
  EthereumMainnet: '1',
43
- EthereumRopsten: '3',
44
- EthereumRinkeby: '4',
45
- // EthereumKovan: '42', // currently unsupported by ShapeShift
46
- // https://github.com/bitcoin/bips/blob/master/bip-0122.mediawiki#definition-of-chain-id
47
- // chainId uses max length of 32 chars of the genesis block
48
61
  BitcoinMainnet: '000000000019d6689c085ae165831e93',
49
- BitcoinTestnet: '000000000933ea01ad0ee984209779ba',
50
62
  BitcoinCashMainnet: '000000000000000000651ef99cb9fcbe',
51
63
  DogecoinMainnet: '00000000001a91e3dace36e2be3bf030',
52
64
  LitecoinMainnet: '12a765e31ffd4059bada1e25190f6e98',
53
65
  CosmosHubMainnet: 'cosmoshub-4',
54
- CosmosHubVega: 'vega-testnet',
55
- OsmosisMainnet: 'osmosis-1',
56
- OsmosisTestnet: 'osmo-testnet-1',
57
- ThorchainMainnet: 'thorchain-mainnet-v1',
58
- AvalancheCChain: '43114',
66
+ ThorchainMainnet: 'thorchain-1',
67
+ MayachainMainnet: 'mayachain-mainnet-v1',
59
68
  BinanceMainnet: 'binance-chain-tigris',
60
- BinanceTestnet: 'binance-chain-ganges',
61
- KavaMainnet: 'kava_2222-10',
62
- KavaTestnet: 'kava_2221-16000',
63
- TerraMainnet: 'phoenix-1',
64
- TerraTestnet: 'pisco-1',
65
- SecretMainnet: 'secret-4',
66
- SecretTestnet: 'pulsar-2',
69
+ AvalancheCChain: '43114',
67
70
  OptimismMainnet: '10',
68
- BnbSmartChainMainnet: '56', // https://docs.bnbchain.org/docs/wallet_api/#chain-ids
71
+ BnbSmartChainMainnet: '56',
72
+ PolygonMainnet: '137',
73
+ GnosisMainnet: '100',
74
+ ArbitrumMainnet: '42161',
75
+ ArbitrumNovaMainnet: '42170',
76
+ BaseMainnet: '8453',
77
+ SolanaMainnet: '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', // https://namespaces.chainagnostic.org/solana/caip2
69
78
  };
70
- exports.ASSET_NAMESPACE = {
71
- cw20: 'cw20',
72
- cw721: 'cw721',
79
+ export const ASSET_NAMESPACE = {
73
80
  erc20: 'erc20',
74
81
  erc721: 'erc721',
82
+ erc1155: 'erc1155',
75
83
  bep20: 'bep20',
76
84
  bep721: 'bep721',
85
+ bep1155: 'bep1155',
77
86
  slip44: 'slip44',
78
- native: 'native',
79
87
  ibc: 'ibc',
88
+ splToken: 'token',
80
89
  };
81
- exports.ASSET_REFERENCE = {
90
+ export const ASSET_REFERENCE = {
82
91
  Bitcoin: '0',
92
+ BitcoinCash: '145',
83
93
  Litecoin: '2',
84
94
  Dogecoin: '3',
85
- Ethereum: '60',
86
95
  Cosmos: '118',
87
- Osmosis: '118',
88
96
  Thorchain: '931',
89
- BitcoinCash: '145',
90
- AvalancheC: '60',
97
+ Mayachain: '931',
91
98
  Binance: '714',
92
- Kava: '459',
93
- Terra: '330',
94
- Secret: '529',
99
+ Ethereum: '60',
100
+ AvalancheC: '60',
95
101
  Optimism: '60',
96
- BnbSmartChain: '60', // evm chain which uses ethereum derivation path as common practice
102
+ BnbSmartChain: '60',
103
+ Polygon: '60',
104
+ Gnosis: '60',
105
+ Arbitrum: '60',
106
+ ArbitrumNova: '60',
107
+ Base: '60',
108
+ Solana: '501',
97
109
  };
98
- exports.VALID_CHAIN_IDS = Object.freeze({
99
- [exports.CHAIN_NAMESPACE.Utxo]: [
100
- exports.CHAIN_REFERENCE.BitcoinMainnet,
101
- exports.CHAIN_REFERENCE.BitcoinTestnet,
102
- exports.CHAIN_REFERENCE.BitcoinCashMainnet,
103
- exports.CHAIN_REFERENCE.DogecoinMainnet,
104
- exports.CHAIN_REFERENCE.LitecoinMainnet,
110
+ export const VALID_CHAIN_IDS = Object.freeze({
111
+ [CHAIN_NAMESPACE.Utxo]: [
112
+ CHAIN_REFERENCE.BitcoinMainnet,
113
+ CHAIN_REFERENCE.BitcoinCashMainnet,
114
+ CHAIN_REFERENCE.DogecoinMainnet,
115
+ CHAIN_REFERENCE.LitecoinMainnet,
105
116
  ],
106
- [exports.CHAIN_NAMESPACE.Evm]: [
107
- exports.CHAIN_REFERENCE.EthereumMainnet,
108
- exports.CHAIN_REFERENCE.EthereumRopsten,
109
- exports.CHAIN_REFERENCE.EthereumRinkeby,
110
- exports.CHAIN_REFERENCE.AvalancheCChain,
111
- exports.CHAIN_REFERENCE.OptimismMainnet,
112
- exports.CHAIN_REFERENCE.BnbSmartChainMainnet,
117
+ [CHAIN_NAMESPACE.Evm]: [
118
+ CHAIN_REFERENCE.EthereumMainnet,
119
+ CHAIN_REFERENCE.AvalancheCChain,
120
+ CHAIN_REFERENCE.OptimismMainnet,
121
+ CHAIN_REFERENCE.BnbSmartChainMainnet,
122
+ CHAIN_REFERENCE.PolygonMainnet,
123
+ CHAIN_REFERENCE.GnosisMainnet,
124
+ CHAIN_REFERENCE.ArbitrumMainnet,
125
+ CHAIN_REFERENCE.ArbitrumNovaMainnet,
126
+ CHAIN_REFERENCE.BaseMainnet,
113
127
  ],
114
- [exports.CHAIN_NAMESPACE.CosmosSdk]: [
115
- exports.CHAIN_REFERENCE.CosmosHubMainnet,
116
- exports.CHAIN_REFERENCE.CosmosHubVega,
117
- exports.CHAIN_REFERENCE.OsmosisMainnet,
118
- exports.CHAIN_REFERENCE.OsmosisTestnet,
119
- exports.CHAIN_REFERENCE.ThorchainMainnet,
120
- exports.CHAIN_REFERENCE.BinanceMainnet,
121
- exports.CHAIN_REFERENCE.KavaMainnet,
122
- exports.CHAIN_REFERENCE.TerraMainnet,
123
- exports.CHAIN_REFERENCE.SecretMainnet,
128
+ [CHAIN_NAMESPACE.CosmosSdk]: [
129
+ CHAIN_REFERENCE.CosmosHubMainnet,
130
+ CHAIN_REFERENCE.ThorchainMainnet,
131
+ CHAIN_REFERENCE.MayachainMainnet,
132
+ CHAIN_REFERENCE.BinanceMainnet,
124
133
  ],
134
+ [CHAIN_NAMESPACE.Solana]: [CHAIN_REFERENCE.SolanaMainnet],
125
135
  });
126
- exports.VALID_ASSET_NAMESPACE = Object.freeze({
127
- [exports.CHAIN_NAMESPACE.Utxo]: [exports.ASSET_NAMESPACE.slip44],
128
- [exports.CHAIN_NAMESPACE.Evm]: [
129
- exports.ASSET_NAMESPACE.slip44,
130
- exports.ASSET_NAMESPACE.erc20,
131
- exports.ASSET_NAMESPACE.erc721,
132
- exports.ASSET_NAMESPACE.bep20,
133
- exports.ASSET_NAMESPACE.bep721,
134
- ],
135
- [exports.CHAIN_NAMESPACE.CosmosSdk]: [
136
- exports.ASSET_NAMESPACE.cw20,
137
- exports.ASSET_NAMESPACE.cw721,
138
- exports.ASSET_NAMESPACE.ibc,
139
- exports.ASSET_NAMESPACE.native,
140
- exports.ASSET_NAMESPACE.slip44,
136
+ export const VALID_ASSET_NAMESPACE = Object.freeze({
137
+ [CHAIN_NAMESPACE.Utxo]: [ASSET_NAMESPACE.slip44],
138
+ [CHAIN_NAMESPACE.Evm]: [
139
+ ASSET_NAMESPACE.slip44,
140
+ ASSET_NAMESPACE.erc20,
141
+ ASSET_NAMESPACE.erc721,
142
+ ASSET_NAMESPACE.erc1155,
143
+ ASSET_NAMESPACE.bep20,
144
+ ASSET_NAMESPACE.bep721,
145
+ ASSET_NAMESPACE.bep1155,
141
146
  ],
147
+ [CHAIN_NAMESPACE.CosmosSdk]: [ASSET_NAMESPACE.ibc, ASSET_NAMESPACE.slip44],
148
+ [CHAIN_NAMESPACE.Solana]: [ASSET_NAMESPACE.splToken, ASSET_NAMESPACE.slip44],
142
149
  });
150
+ // We should prob change this once we add more chains
151
+ export const FEE_ASSET_IDS = [
152
+ ethAssetId,
153
+ btcAssetId,
154
+ bchAssetId,
155
+ cosmosAssetId,
156
+ thorchainAssetId,
157
+ mayachainAssetId,
158
+ dogeAssetId,
159
+ ltcAssetId,
160
+ avalancheAssetId,
161
+ optimismAssetId,
162
+ bscAssetId,
163
+ polygonAssetId,
164
+ gnosisAssetId,
165
+ arbitrumAssetId,
166
+ arbitrumNovaAssetId,
167
+ baseAssetId,
168
+ solAssetId,
169
+ ];
package/dist/index.js CHANGED
@@ -1,36 +1,7 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.adapters = void 0;
30
- exports.adapters = __importStar(require("./adapters"));
31
- __exportStar(require("./chainId/chainId"), exports);
32
- __exportStar(require("./accountId/accountId"), exports);
33
- __exportStar(require("./assetId/assetId"), exports);
34
- __exportStar(require("./utils"), exports);
35
- __exportStar(require("./constants"), exports);
36
- __exportStar(require("./typeGuards"), exports);
1
+ export * as adapters from './adapters';
2
+ export * from './chainId/chainId';
3
+ export * from './accountId/accountId';
4
+ export * from './assetId/assetId';
5
+ export * from './utils';
6
+ export * from './constants';
7
+ export * from './typeGuards';
@@ -1,11 +1,13 @@
1
- import { AssetId, AssetNamespace, AssetReference } from './assetId/assetId';
2
- import { ChainId, ChainNamespace, ChainReference } from './chainId/chainId';
1
+ import type { AssetId, AssetNamespace, AssetReference } from './assetId/assetId';
2
+ import type { ChainId, ChainNamespace, ChainReference } from './chainId/chainId';
3
3
  export declare const isChainNamespace: (maybeChainNamespace: ChainNamespace | string) => maybeChainNamespace is ChainNamespace;
4
4
  export declare const isChainReference: (maybeChainReference: ChainReference | string) => maybeChainReference is ChainReference;
5
5
  export declare const isAssetNamespace: (maybeAssetNamespace: AssetNamespace | string) => maybeAssetNamespace is AssetNamespace;
6
6
  export declare const isAssetReference: (maybeAssetReference: AssetReference | string) => maybeAssetReference is AssetReference;
7
- export declare const isAssetId: (maybeAssetId: AssetId | string) => maybeAssetId is AssetReference;
7
+ export declare const isAssetId: (maybeAssetId: AssetId | string) => maybeAssetId is AssetId;
8
+ export declare const isAssetIdParts: (maybeChainNamespace: string, maybeChainReference: string, maybeAssetNamespace: string) => boolean;
8
9
  export declare const isChainId: (maybeChainId: ChainId | string) => maybeChainId is ChainId;
10
+ export declare const isChainIdParts: (chainNamespace: string, chainReference: string) => boolean;
9
11
  export declare const assertIsChainId: (value: ChainId | string | undefined) => asserts value is ChainId;
10
12
  export declare const assertIsChainNamespace: (value: ChainNamespace | string | undefined) => asserts value is ChainNamespace;
11
13
  export declare const assertIsChainReference: (value: ChainReference | string | undefined) => asserts value is ChainReference;