@shapeshiftoss/caip 8.16.4 → 8.16.6

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 (212) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -0
  2. package/dist/cjs/accountId/accountId.d.ts +29 -0
  3. package/dist/cjs/accountId/accountId.js +44 -0
  4. package/dist/cjs/accountId/accountId.test.d.ts +1 -0
  5. package/dist/cjs/accountId/accountId.test.js +109 -0
  6. package/dist/cjs/adapters/banxa/index.d.ts +15 -0
  7. package/dist/cjs/adapters/banxa/index.js +153 -0
  8. package/dist/cjs/adapters/coinbase/generate.d.ts +1 -0
  9. package/dist/cjs/adapters/coinbase/generate.js +9 -0
  10. package/dist/cjs/adapters/coinbase/generated/adapter.json +153 -0
  11. package/dist/cjs/adapters/coinbase/generated/index.d.ts +2 -0
  12. package/dist/cjs/adapters/coinbase/generated/index.js +8 -0
  13. package/dist/cjs/adapters/coinbase/index.d.ts +3 -0
  14. package/dist/cjs/adapters/coinbase/index.js +16 -0
  15. package/dist/cjs/adapters/coinbase/utils.d.ts +12 -0
  16. package/dist/cjs/adapters/coinbase/utils.js +55 -0
  17. package/dist/cjs/adapters/coincap/generate.d.ts +1 -0
  18. package/dist/cjs/adapters/coincap/generate.js +16 -0
  19. package/dist/cjs/adapters/coincap/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +1 -0
  20. package/dist/cjs/adapters/coincap/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +1 -0
  21. package/dist/cjs/adapters/coincap/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +1 -0
  22. package/dist/cjs/adapters/coincap/generated/bip122_00040fe8ec8471911baa1db1266ea15d/adapter.json +1 -0
  23. package/dist/cjs/adapters/coincap/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +1 -0
  24. package/dist/cjs/adapters/coincap/generated/cosmos_cosmoshub-4/adapter.json +1 -0
  25. package/dist/cjs/adapters/coincap/generated/cosmos_thorchain-1/adapter.json +1 -0
  26. package/dist/cjs/adapters/coincap/generated/eip155_1/adapter.json +1 -0
  27. package/dist/cjs/adapters/coincap/generated/eip155_10/adapter.json +1 -0
  28. package/dist/cjs/adapters/coincap/generated/eip155_137/adapter.json +1 -0
  29. package/dist/cjs/adapters/coincap/generated/eip155_42161/adapter.json +1 -0
  30. package/dist/cjs/adapters/coincap/generated/eip155_43114/adapter.json +1 -0
  31. package/dist/cjs/adapters/coincap/generated/eip155_56/adapter.json +1 -0
  32. package/dist/cjs/adapters/coincap/generated/eip155_8453/adapter.json +1 -0
  33. package/dist/cjs/adapters/coincap/generated/index.d.ts +16 -0
  34. package/dist/cjs/adapters/coincap/generated/index.js +36 -0
  35. package/dist/cjs/adapters/coincap/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +1 -0
  36. package/dist/cjs/adapters/coincap/index.d.ts +5 -0
  37. package/dist/cjs/adapters/coincap/index.js +48 -0
  38. package/dist/cjs/adapters/coincap/index.test.d.ts +1 -0
  39. package/dist/cjs/adapters/coincap/index.test.js +90 -0
  40. package/dist/cjs/adapters/coincap/utils.d.ts +24 -0
  41. package/dist/cjs/adapters/coincap/utils.js +147 -0
  42. package/dist/cjs/adapters/coincap/utils.test.d.ts +4 -0
  43. package/dist/cjs/adapters/coincap/utils.test.js +176 -0
  44. package/dist/cjs/adapters/coingecko/generate.d.ts +1 -0
  45. package/dist/cjs/adapters/coingecko/generate.js +10 -0
  46. package/dist/cjs/adapters/coingecko/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +1 -0
  47. package/dist/cjs/adapters/coingecko/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +1 -0
  48. package/dist/cjs/adapters/coingecko/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +1 -0
  49. package/dist/cjs/adapters/coingecko/generated/bip122_00040fe8ec8471911baa1db1266ea15d/adapter.json +1 -0
  50. package/dist/cjs/adapters/coingecko/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +1 -0
  51. package/dist/cjs/adapters/coingecko/generated/cosmos_cosmoshub-4/adapter.json +1 -0
  52. package/dist/cjs/adapters/coingecko/generated/cosmos_mayachain-mainnet-v1/adapter.json +1 -0
  53. package/dist/cjs/adapters/coingecko/generated/cosmos_thorchain-1/adapter.json +1 -0
  54. package/dist/cjs/adapters/coingecko/generated/eip155_1/adapter.json +1 -0
  55. package/dist/cjs/adapters/coingecko/generated/eip155_10/adapter.json +1 -0
  56. package/dist/cjs/adapters/coingecko/generated/eip155_100/adapter.json +1 -0
  57. package/dist/cjs/adapters/coingecko/generated/eip155_137/adapter.json +1 -0
  58. package/dist/cjs/adapters/coingecko/generated/eip155_143/adapter.json +1 -0
  59. package/dist/cjs/adapters/coingecko/generated/eip155_42161/adapter.json +1 -0
  60. package/dist/cjs/adapters/coingecko/generated/eip155_42170/adapter.json +1 -0
  61. package/dist/cjs/adapters/coingecko/generated/eip155_43114/adapter.json +1 -0
  62. package/dist/cjs/adapters/coingecko/generated/eip155_56/adapter.json +1 -0
  63. package/dist/cjs/adapters/coingecko/generated/eip155_747474/adapter.json +1 -0
  64. package/dist/cjs/adapters/coingecko/generated/eip155_8453/adapter.json +1 -0
  65. package/dist/cjs/adapters/coingecko/generated/eip155_9745/adapter.json +1 -0
  66. package/dist/cjs/adapters/coingecko/generated/eip155_999/adapter.json +1 -0
  67. package/dist/cjs/adapters/coingecko/generated/index.d.ts +27 -0
  68. package/dist/cjs/adapters/coingecko/generated/index.js +58 -0
  69. package/dist/cjs/adapters/coingecko/generated/near_mainnet/adapter.json +1 -0
  70. package/dist/cjs/adapters/coingecko/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +1 -0
  71. package/dist/cjs/adapters/coingecko/generated/starknet_SN_MAIN/adapter.json +1 -0
  72. package/dist/cjs/adapters/coingecko/generated/sui_35834a8a/adapter.json +1 -0
  73. package/dist/cjs/adapters/coingecko/generated/tron_0x2b6653dc/adapter.json +1 -0
  74. package/dist/cjs/adapters/coingecko/index.d.ts +34 -0
  75. package/dist/cjs/adapters/coingecko/index.js +223 -0
  76. package/dist/cjs/adapters/coingecko/index.test.d.ts +1 -0
  77. package/dist/cjs/adapters/coingecko/index.test.js +318 -0
  78. package/dist/cjs/adapters/coingecko/utils.d.ts +11 -0
  79. package/dist/cjs/adapters/coingecko/utils.js +311 -0
  80. package/dist/cjs/adapters/coingecko/utils.test.d.ts +1 -0
  81. package/dist/cjs/adapters/coingecko/utils.test.js +220 -0
  82. package/dist/cjs/adapters/index.d.ts +6 -0
  83. package/dist/cjs/adapters/index.js +22 -0
  84. package/dist/cjs/adapters/mtpelerin/index.d.ts +10 -0
  85. package/dist/cjs/adapters/mtpelerin/index.js +127 -0
  86. package/dist/cjs/adapters/onramper/index.d.ts +6 -0
  87. package/dist/cjs/adapters/onramper/index.js +39 -0
  88. package/dist/cjs/assetId/assetId.d.ts +36 -0
  89. package/dist/cjs/assetId/assetId.js +120 -0
  90. package/dist/cjs/assetId/assetId.test.d.ts +1 -0
  91. package/dist/cjs/assetId/assetId.test.js +324 -0
  92. package/dist/cjs/chainId/chainId.d.ts +20 -0
  93. package/dist/cjs/chainId/chainId.js +25 -0
  94. package/dist/cjs/chainId/chainId.test.d.ts +1 -0
  95. package/dist/cjs/chainId/chainId.test.js +90 -0
  96. package/dist/cjs/constants.d.ts +163 -0
  97. package/dist/cjs/constants.js +231 -0
  98. package/dist/cjs/index.d.ts +7 -0
  99. package/dist/cjs/index.js +36 -0
  100. package/dist/cjs/package.json +1 -0
  101. package/dist/cjs/typeGuards.d.ts +16 -0
  102. package/dist/cjs/typeGuards.js +56 -0
  103. package/dist/cjs/utils.d.ts +36 -0
  104. package/dist/cjs/utils.js +57 -0
  105. package/dist/cjs/utils.test.d.ts +1 -0
  106. package/dist/cjs/utils.test.js +160 -0
  107. package/dist/esm/.tsbuildinfo +1 -0
  108. package/dist/esm/accountId/accountId.d.ts +29 -0
  109. package/dist/esm/accountId/accountId.js +39 -0
  110. package/dist/esm/accountId/accountId.test.d.ts +1 -0
  111. package/dist/esm/accountId/accountId.test.js +107 -0
  112. package/dist/esm/adapters/banxa/index.d.ts +15 -0
  113. package/dist/esm/adapters/banxa/index.js +143 -0
  114. package/dist/esm/adapters/coinbase/generate.d.ts +1 -0
  115. package/dist/esm/adapters/coinbase/generate.js +7 -0
  116. package/dist/esm/adapters/coinbase/generated/adapter.json +153 -0
  117. package/dist/esm/adapters/coinbase/generated/index.d.ts +2 -0
  118. package/dist/esm/adapters/coinbase/generated/index.js +2 -0
  119. package/dist/esm/adapters/coinbase/index.d.ts +3 -0
  120. package/dist/esm/adapters/coinbase/index.js +8 -0
  121. package/dist/esm/adapters/coinbase/utils.d.ts +12 -0
  122. package/dist/esm/adapters/coinbase/utils.js +46 -0
  123. package/dist/esm/adapters/coincap/generate.d.ts +1 -0
  124. package/dist/esm/adapters/coincap/generate.js +11 -0
  125. package/dist/esm/adapters/coincap/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +1 -0
  126. package/dist/esm/adapters/coincap/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +1 -0
  127. package/dist/esm/adapters/coincap/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +1 -0
  128. package/dist/esm/adapters/coincap/generated/bip122_00040fe8ec8471911baa1db1266ea15d/adapter.json +1 -0
  129. package/dist/esm/adapters/coincap/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +1 -0
  130. package/dist/esm/adapters/coincap/generated/cosmos_cosmoshub-4/adapter.json +1 -0
  131. package/dist/esm/adapters/coincap/generated/cosmos_thorchain-1/adapter.json +1 -0
  132. package/dist/esm/adapters/coincap/generated/eip155_1/adapter.json +1 -0
  133. package/dist/esm/adapters/coincap/generated/eip155_10/adapter.json +1 -0
  134. package/dist/esm/adapters/coincap/generated/eip155_137/adapter.json +1 -0
  135. package/dist/esm/adapters/coincap/generated/eip155_42161/adapter.json +1 -0
  136. package/dist/esm/adapters/coincap/generated/eip155_43114/adapter.json +1 -0
  137. package/dist/esm/adapters/coincap/generated/eip155_56/adapter.json +1 -0
  138. package/dist/esm/adapters/coincap/generated/eip155_8453/adapter.json +1 -0
  139. package/dist/esm/adapters/coincap/generated/index.d.ts +16 -0
  140. package/dist/esm/adapters/coincap/generated/index.js +16 -0
  141. package/dist/esm/adapters/coincap/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +1 -0
  142. package/dist/esm/adapters/coincap/index.d.ts +5 -0
  143. package/dist/esm/adapters/coincap/index.js +16 -0
  144. package/dist/esm/adapters/coincap/index.test.d.ts +1 -0
  145. package/dist/esm/adapters/coincap/index.test.js +88 -0
  146. package/dist/esm/adapters/coincap/utils.d.ts +24 -0
  147. package/dist/esm/adapters/coincap/utils.js +136 -0
  148. package/dist/esm/adapters/coincap/utils.test.d.ts +4 -0
  149. package/dist/esm/adapters/coincap/utils.test.js +171 -0
  150. package/dist/esm/adapters/coingecko/generate.d.ts +1 -0
  151. package/dist/esm/adapters/coingecko/generate.js +8 -0
  152. package/dist/esm/adapters/coingecko/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +1 -0
  153. package/dist/esm/adapters/coingecko/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +1 -0
  154. package/dist/esm/adapters/coingecko/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +1 -0
  155. package/dist/esm/adapters/coingecko/generated/bip122_00040fe8ec8471911baa1db1266ea15d/adapter.json +1 -0
  156. package/dist/esm/adapters/coingecko/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +1 -0
  157. package/dist/esm/adapters/coingecko/generated/cosmos_cosmoshub-4/adapter.json +1 -0
  158. package/dist/esm/adapters/coingecko/generated/cosmos_mayachain-mainnet-v1/adapter.json +1 -0
  159. package/dist/esm/adapters/coingecko/generated/cosmos_thorchain-1/adapter.json +1 -0
  160. package/dist/esm/adapters/coingecko/generated/eip155_1/adapter.json +1 -0
  161. package/dist/esm/adapters/coingecko/generated/eip155_10/adapter.json +1 -0
  162. package/dist/esm/adapters/coingecko/generated/eip155_100/adapter.json +1 -0
  163. package/dist/esm/adapters/coingecko/generated/eip155_137/adapter.json +1 -0
  164. package/dist/esm/adapters/coingecko/generated/eip155_143/adapter.json +1 -0
  165. package/dist/esm/adapters/coingecko/generated/eip155_42161/adapter.json +1 -0
  166. package/dist/esm/adapters/coingecko/generated/eip155_42170/adapter.json +1 -0
  167. package/dist/esm/adapters/coingecko/generated/eip155_43114/adapter.json +1 -0
  168. package/dist/esm/adapters/coingecko/generated/eip155_56/adapter.json +1 -0
  169. package/dist/esm/adapters/coingecko/generated/eip155_747474/adapter.json +1 -0
  170. package/dist/esm/adapters/coingecko/generated/eip155_8453/adapter.json +1 -0
  171. package/dist/esm/adapters/coingecko/generated/eip155_9745/adapter.json +1 -0
  172. package/dist/esm/adapters/coingecko/generated/eip155_999/adapter.json +1 -0
  173. package/dist/esm/adapters/coingecko/generated/index.d.ts +27 -0
  174. package/dist/esm/adapters/coingecko/generated/index.js +27 -0
  175. package/dist/esm/adapters/coingecko/generated/near_mainnet/adapter.json +1 -0
  176. package/dist/esm/adapters/coingecko/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +1 -0
  177. package/dist/esm/adapters/coingecko/generated/starknet_SN_MAIN/adapter.json +1 -0
  178. package/dist/esm/adapters/coingecko/generated/sui_35834a8a/adapter.json +1 -0
  179. package/dist/esm/adapters/coingecko/generated/tron_0x2b6653dc/adapter.json +1 -0
  180. package/dist/esm/adapters/coingecko/index.d.ts +34 -0
  181. package/dist/esm/adapters/coingecko/index.js +187 -0
  182. package/dist/esm/adapters/coingecko/index.test.d.ts +1 -0
  183. package/dist/esm/adapters/coingecko/index.test.js +316 -0
  184. package/dist/esm/adapters/coingecko/utils.d.ts +11 -0
  185. package/dist/esm/adapters/coingecko/utils.js +302 -0
  186. package/dist/esm/adapters/coingecko/utils.test.d.ts +1 -0
  187. package/dist/esm/adapters/coingecko/utils.test.js +215 -0
  188. package/dist/esm/adapters/index.d.ts +6 -0
  189. package/dist/esm/adapters/index.js +6 -0
  190. package/dist/esm/adapters/mtpelerin/index.d.ts +10 -0
  191. package/dist/esm/adapters/mtpelerin/index.js +121 -0
  192. package/dist/esm/adapters/onramper/index.d.ts +6 -0
  193. package/dist/esm/adapters/onramper/index.js +31 -0
  194. package/dist/esm/assetId/assetId.d.ts +36 -0
  195. package/dist/esm/assetId/assetId.js +114 -0
  196. package/dist/esm/assetId/assetId.test.d.ts +1 -0
  197. package/dist/esm/assetId/assetId.test.js +322 -0
  198. package/dist/esm/chainId/chainId.d.ts +20 -0
  199. package/dist/esm/chainId/chainId.js +20 -0
  200. package/dist/esm/chainId/chainId.test.d.ts +1 -0
  201. package/dist/esm/chainId/chainId.test.js +88 -0
  202. package/dist/esm/constants.d.ts +163 -0
  203. package/dist/esm/constants.js +227 -0
  204. package/dist/esm/index.d.ts +7 -0
  205. package/dist/esm/index.js +7 -0
  206. package/dist/esm/typeGuards.d.ts +16 -0
  207. package/dist/esm/typeGuards.js +44 -0
  208. package/dist/esm/utils.d.ts +36 -0
  209. package/dist/esm/utils.js +27 -0
  210. package/dist/esm/utils.test.d.ts +1 -0
  211. package/dist/esm/utils.test.js +158 -0
  212. package/package.json +1 -1
@@ -0,0 +1,158 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { ASSET_NAMESPACE, ASSET_REFERENCE, btcAssetId, btcChainId, CHAIN_NAMESPACE, CHAIN_REFERENCE, cosmosAssetId, cosmosChainId, ethAssetId, ethChainId, rujiAssetId, tcyAssetId, } from './constants.js';
3
+ import { assertIsAssetNamespace, assertIsAssetReference, assertIsChainId, assertIsChainNamespace, assertIsChainReference, assertValidChainPartsPair, isAssetId, isAssetNamespace, isAssetReference, isChainId, isChainNamespace, isChainReference, } from './typeGuards.js';
4
+ import { accountIdToChainId, accountIdToSpecifier, generateAssetIdFromCosmosSdkDenom, isValidChainPartsPair, } from './utils.js';
5
+ describe('accountIdToChainId', () => {
6
+ it('can get eth chainId from accountId', () => {
7
+ const accountId = 'eip155:1:0xdef1cafe';
8
+ const chainId = accountIdToChainId(accountId);
9
+ expect(chainId).toEqual(ethChainId);
10
+ });
11
+ it('can get btc chainId from accountId', () => {
12
+ const accountId = 'bip122:000000000019d6689c085ae165831e93:xpubfoobarbaz';
13
+ const chainId = accountIdToChainId(accountId);
14
+ expect(chainId).toEqual(btcChainId);
15
+ });
16
+ });
17
+ describe('accountIdToSpecifier', () => {
18
+ it('can get eth address from accountId', () => {
19
+ const address = '0xdef1cafe';
20
+ const accountId = 'eip155:1:0xdef1cafe';
21
+ const result = accountIdToSpecifier(accountId);
22
+ expect(result).toEqual(address);
23
+ });
24
+ it('can get xpub from accountId', () => {
25
+ const xpub = 'xpubfoobarbaz';
26
+ const accountId = 'bip122:000000000019d6689c085ae165831e93:xpubfoobarbaz';
27
+ const result = accountIdToSpecifier(accountId);
28
+ expect(result).toEqual(xpub);
29
+ });
30
+ });
31
+ describe('isValidChainPartsPair', () => {
32
+ it('correctly validates pairs', () => {
33
+ expect(isValidChainPartsPair(CHAIN_NAMESPACE.Utxo, CHAIN_REFERENCE.BitcoinMainnet)).toEqual(true);
34
+ expect(isValidChainPartsPair(CHAIN_NAMESPACE.Evm, CHAIN_REFERENCE.BitcoinMainnet)).toEqual(false);
35
+ expect(isValidChainPartsPair('invalid', CHAIN_REFERENCE.BitcoinMainnet)).toEqual(false);
36
+ expect(isValidChainPartsPair(CHAIN_NAMESPACE.Evm, 'invalid')).toEqual(false);
37
+ });
38
+ });
39
+ describe('type guard', () => {
40
+ describe('isChainNamespace', () => {
41
+ it('correctly determines type', () => {
42
+ expect(isChainNamespace(CHAIN_NAMESPACE.Utxo)).toEqual(true);
43
+ expect(isChainNamespace(CHAIN_NAMESPACE.Evm)).toEqual(true);
44
+ expect(isChainNamespace('invalid')).toEqual(false);
45
+ expect(isChainNamespace('')).toEqual(false);
46
+ });
47
+ });
48
+ describe('isChainReference', () => {
49
+ it('correctly determines type', () => {
50
+ expect(isChainReference(CHAIN_REFERENCE.EthereumMainnet)).toEqual(true);
51
+ expect(isChainReference(CHAIN_REFERENCE.BitcoinMainnet)).toEqual(true);
52
+ expect(isChainReference('invalid')).toEqual(false);
53
+ expect(isChainReference('')).toEqual(false);
54
+ });
55
+ });
56
+ describe('isValidChainId', () => {
57
+ it('correctly determines type', () => {
58
+ expect(isChainId(ethChainId)).toEqual(true);
59
+ expect(isChainId(btcChainId)).toEqual(true);
60
+ expect(isChainId(cosmosChainId)).toEqual(true);
61
+ expect(isChainId('invalid')).toEqual(false);
62
+ expect(isChainId('')).toEqual(false);
63
+ });
64
+ });
65
+ describe('isAssetNamespace', () => {
66
+ it('correctly determines type', () => {
67
+ expect(isAssetNamespace(ASSET_NAMESPACE.erc20)).toEqual(true);
68
+ expect(isAssetNamespace(ASSET_NAMESPACE.erc721)).toEqual(true);
69
+ expect(isAssetNamespace('invalid')).toEqual(false);
70
+ expect(isAssetNamespace('')).toEqual(false);
71
+ });
72
+ });
73
+ describe('isAssetReference', () => {
74
+ it('correctly determines type', () => {
75
+ expect(isAssetReference(ASSET_REFERENCE.Bitcoin)).toEqual(true);
76
+ expect(isAssetReference(ASSET_REFERENCE.Ethereum)).toEqual(true);
77
+ expect(isAssetReference('invalid')).toEqual(false);
78
+ expect(isAssetReference('')).toEqual(false);
79
+ });
80
+ });
81
+ describe('isAssetId', () => {
82
+ it('correctly determines type', () => {
83
+ expect(isAssetId(btcAssetId)).toEqual(true);
84
+ expect(isAssetId(ethAssetId)).toEqual(true);
85
+ expect(isAssetId(cosmosAssetId)).toEqual(true);
86
+ expect(isAssetId('invalid')).toEqual(false);
87
+ expect(isAssetId('')).toEqual(false);
88
+ });
89
+ });
90
+ });
91
+ describe('type guard assertion', () => {
92
+ describe('assertIsChainId', () => {
93
+ it('correctly asserts type', () => {
94
+ expect(() => assertIsChainId(ethChainId)).not.toThrow();
95
+ expect(() => assertIsChainId(btcChainId)).not.toThrow();
96
+ expect(() => assertIsChainId(cosmosChainId)).not.toThrow();
97
+ expect(() => assertIsChainId('invalid')).toThrow();
98
+ expect(() => assertIsChainId('')).toThrow();
99
+ });
100
+ });
101
+ describe('assertIsChainNamespace', () => {
102
+ it('correctly asserts type', () => {
103
+ expect(() => assertIsChainNamespace(CHAIN_NAMESPACE.Utxo)).not.toThrow();
104
+ expect(() => assertIsChainNamespace(CHAIN_NAMESPACE.Evm)).not.toThrow();
105
+ expect(() => assertIsChainNamespace('invalid')).toThrow();
106
+ expect(() => assertIsChainNamespace('')).toThrow();
107
+ });
108
+ });
109
+ describe('assertIsChainReference', () => {
110
+ it('correctly asserts type', () => {
111
+ expect(() => assertIsChainReference(CHAIN_REFERENCE.EthereumMainnet)).not.toThrow();
112
+ expect(() => assertIsChainReference(CHAIN_REFERENCE.BitcoinMainnet)).not.toThrow();
113
+ expect(() => assertIsChainReference('invalid')).toThrow();
114
+ expect(() => assertIsChainReference('')).toThrow();
115
+ });
116
+ });
117
+ describe('assertIsAssetNamespace', () => {
118
+ it('correctly asserts type', () => {
119
+ expect(() => assertIsAssetNamespace(ASSET_NAMESPACE.erc20)).not.toThrow();
120
+ expect(() => assertIsAssetNamespace(ASSET_NAMESPACE.erc721)).not.toThrow();
121
+ expect(() => assertIsAssetNamespace('invalid')).toThrow();
122
+ expect(() => assertIsAssetNamespace('')).toThrow();
123
+ });
124
+ });
125
+ describe('assertIsAssetReference', () => {
126
+ it('correctly asserts type', () => {
127
+ expect(() => assertIsAssetReference(ASSET_REFERENCE.Bitcoin)).not.toThrow();
128
+ expect(() => assertIsAssetReference(ASSET_REFERENCE.Ethereum)).not.toThrow();
129
+ expect(() => assertIsAssetReference('invalid')).toThrow();
130
+ expect(() => assertIsAssetReference('')).toThrow();
131
+ });
132
+ });
133
+ describe('assertValidChainPartsPair', () => {
134
+ it('correctly asserts type', () => {
135
+ expect(() => assertValidChainPartsPair(CHAIN_NAMESPACE.Utxo, CHAIN_REFERENCE.BitcoinMainnet)).not.toThrow();
136
+ expect(() => assertValidChainPartsPair(CHAIN_NAMESPACE.Utxo, CHAIN_REFERENCE.EthereumMainnet)).toThrow();
137
+ expect(() => assertValidChainPartsPair('invalid', CHAIN_REFERENCE.BitcoinMainnet)).toThrow();
138
+ expect(() => assertValidChainPartsPair(CHAIN_NAMESPACE.Evm, 'invalid')).toThrow();
139
+ });
140
+ });
141
+ describe('generateAssetIdFromCosmosDenom', () => {
142
+ it('correctly generates RUJI AssetId', () => {
143
+ const result = generateAssetIdFromCosmosSdkDenom('x/ruji');
144
+ expect(result).toEqual(rujiAssetId);
145
+ });
146
+ it('correctly generates TCY AssetId', () => {
147
+ const result = generateAssetIdFromCosmosSdkDenom('tcy');
148
+ expect(result).toEqual(tcyAssetId);
149
+ });
150
+ it('correctly generates MAYA AssetId', () => {
151
+ const result = generateAssetIdFromCosmosSdkDenom('maya');
152
+ expect(result).toEqual('cosmos:mayachain-mainnet-v1/slip44:maya');
153
+ });
154
+ it('throws on unsupported denom', () => {
155
+ expect(() => generateAssetIdFromCosmosSdkDenom('unsupported')).toThrow();
156
+ });
157
+ });
158
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapeshiftoss/caip",
3
- "version": "8.16.4",
3
+ "version": "8.16.6",
4
4
  "description": "CAIP Implementation",
5
5
  "repository": "https://github.com/shapeshift/web",
6
6
  "license": "MIT",