@shapeshiftoss/caip 8.16.0 → 9.0.0-alpha.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 (204) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -0
  2. package/dist/cjs/accountId/accountId.js +44 -0
  3. package/dist/cjs/accountId/accountId.test.js +109 -0
  4. package/dist/cjs/adapters/banxa/index.js +118 -0
  5. package/dist/cjs/adapters/coinbase/generate.js +9 -0
  6. package/dist/cjs/adapters/coinbase/generated/index.js +8 -0
  7. package/dist/cjs/adapters/coinbase/index.js +16 -0
  8. package/dist/cjs/adapters/coinbase/utils.js +55 -0
  9. package/dist/cjs/adapters/coincap/generate.js +10 -0
  10. package/dist/cjs/adapters/coincap/generated/eip155_1/adapter.json +1 -0
  11. package/dist/cjs/adapters/coincap/generated/eip155_10/adapter.json +1 -0
  12. package/dist/cjs/adapters/coincap/generated/eip155_137/adapter.json +1 -0
  13. package/dist/cjs/adapters/coincap/generated/eip155_42161/adapter.json +1 -0
  14. package/dist/cjs/adapters/coincap/generated/eip155_43114/adapter.json +1 -0
  15. package/dist/cjs/adapters/coincap/generated/eip155_56/adapter.json +1 -0
  16. package/dist/cjs/adapters/coincap/generated/eip155_8453/adapter.json +1 -0
  17. package/dist/{adapters → cjs/adapters}/coincap/generated/index.d.ts +11 -4
  18. package/dist/cjs/adapters/coincap/generated/index.js +34 -0
  19. package/dist/cjs/adapters/coincap/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +1 -0
  20. package/dist/{adapters → cjs/adapters}/coincap/index.d.ts +1 -1
  21. package/dist/cjs/adapters/coincap/index.js +44 -0
  22. package/dist/cjs/adapters/coincap/index.test.js +90 -0
  23. package/dist/{adapters → cjs/adapters}/coincap/utils.d.ts +3 -1
  24. package/dist/cjs/adapters/coincap/utils.js +146 -0
  25. package/dist/cjs/adapters/coincap/utils.test.js +173 -0
  26. package/dist/cjs/adapters/coingecko/generate.js +10 -0
  27. package/dist/cjs/adapters/coingecko/generated/eip155_1/adapter.json +1 -0
  28. package/dist/cjs/adapters/coingecko/generated/eip155_10/adapter.json +1 -0
  29. package/dist/cjs/adapters/coingecko/generated/eip155_100/adapter.json +1 -0
  30. package/dist/cjs/adapters/coingecko/generated/eip155_137/adapter.json +1 -0
  31. package/dist/cjs/adapters/coingecko/generated/eip155_42161/adapter.json +1 -0
  32. package/dist/cjs/adapters/coingecko/generated/eip155_43114/adapter.json +1 -0
  33. package/dist/cjs/adapters/coingecko/generated/eip155_56/adapter.json +1 -0
  34. package/dist/cjs/adapters/coingecko/generated/eip155_8453/adapter.json +1 -0
  35. package/dist/cjs/adapters/coingecko/generated/index.js +40 -0
  36. package/dist/cjs/adapters/coingecko/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +1 -0
  37. package/dist/cjs/adapters/coingecko/index.js +163 -0
  38. package/dist/cjs/adapters/coingecko/index.test.js +276 -0
  39. package/dist/cjs/adapters/coingecko/utils.js +190 -0
  40. package/dist/cjs/adapters/coingecko/utils.test.js +193 -0
  41. package/dist/cjs/adapters/index.js +22 -0
  42. package/dist/cjs/adapters/mtpelerin/index.js +142 -0
  43. package/dist/cjs/adapters/onramper/index.js +1505 -0
  44. package/dist/cjs/assetId/assetId.js +126 -0
  45. package/dist/cjs/assetId/assetId.test.js +324 -0
  46. package/dist/cjs/chainId/chainId.js +25 -0
  47. package/dist/cjs/chainId/chainId.test.js +90 -0
  48. package/dist/{constants.d.ts → cjs/constants.d.ts} +1 -1
  49. package/dist/cjs/constants.js +173 -0
  50. package/dist/cjs/index.js +36 -0
  51. package/dist/cjs/package.json +1 -0
  52. package/dist/cjs/typeGuards.js +56 -0
  53. package/dist/{utils.d.ts → cjs/utils.d.ts} +1 -1
  54. package/dist/cjs/utils.js +56 -0
  55. package/dist/cjs/utils.test.js +160 -0
  56. package/dist/esm/.tsbuildinfo +1 -0
  57. package/dist/esm/accountId/accountId.d.ts +29 -0
  58. package/dist/esm/accountId/accountId.test.d.ts +1 -0
  59. package/dist/esm/adapters/banxa/index.d.ts +14 -0
  60. package/dist/esm/adapters/coinbase/generate.d.ts +1 -0
  61. package/dist/esm/adapters/coinbase/generated/adapter.json +153 -0
  62. package/dist/esm/adapters/coinbase/generated/index.js +2 -0
  63. package/dist/esm/adapters/coinbase/index.d.ts +3 -0
  64. package/dist/esm/adapters/coinbase/utils.d.ts +12 -0
  65. package/dist/esm/adapters/coincap/generate.d.ts +1 -0
  66. package/dist/esm/adapters/coincap/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +1 -0
  67. package/dist/esm/adapters/coincap/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +1 -0
  68. package/dist/esm/adapters/coincap/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +1 -0
  69. package/dist/esm/adapters/coincap/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +1 -0
  70. package/dist/esm/adapters/coincap/generated/cosmos_cosmoshub-4/adapter.json +1 -0
  71. package/dist/esm/adapters/coincap/generated/cosmos_thorchain-1/adapter.json +1 -0
  72. package/dist/esm/adapters/coincap/generated/eip155_1/adapter.json +1 -0
  73. package/dist/esm/adapters/coincap/generated/eip155_10/adapter.json +1 -0
  74. package/dist/esm/adapters/coincap/generated/eip155_137/adapter.json +1 -0
  75. package/dist/esm/adapters/coincap/generated/eip155_42161/adapter.json +1 -0
  76. package/dist/esm/adapters/coincap/generated/eip155_43114/adapter.json +1 -0
  77. package/dist/esm/adapters/coincap/generated/eip155_56/adapter.json +1 -0
  78. package/dist/esm/adapters/coincap/generated/eip155_8453/adapter.json +1 -0
  79. package/dist/esm/adapters/coincap/generated/index.d.ts +15 -0
  80. package/dist/{adapters → esm/adapters}/coincap/generated/index.js +11 -4
  81. package/dist/esm/adapters/coincap/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +1 -0
  82. package/dist/esm/adapters/coincap/index.d.ts +4 -0
  83. package/dist/{adapters → esm/adapters}/coincap/index.js +3 -3
  84. package/dist/esm/adapters/coincap/index.test.d.ts +1 -0
  85. package/dist/{adapters → esm/adapters}/coincap/index.test.js +8 -12
  86. package/dist/esm/adapters/coincap/utils.d.ts +24 -0
  87. package/dist/esm/adapters/coincap/utils.js +135 -0
  88. package/dist/esm/adapters/coincap/utils.test.d.ts +4 -0
  89. package/dist/{adapters → esm/adapters}/coincap/utils.test.js +5 -0
  90. package/dist/esm/adapters/coingecko/generate.d.ts +1 -0
  91. package/dist/esm/adapters/coingecko/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +1 -0
  92. package/dist/esm/adapters/coingecko/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +1 -0
  93. package/dist/esm/adapters/coingecko/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +1 -0
  94. package/dist/esm/adapters/coingecko/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +1 -0
  95. package/dist/esm/adapters/coingecko/generated/cosmos_cosmoshub-4/adapter.json +1 -0
  96. package/dist/esm/adapters/coingecko/generated/cosmos_mayachain-mainnet-v1/adapter.json +1 -0
  97. package/dist/esm/adapters/coingecko/generated/cosmos_thorchain-1/adapter.json +1 -0
  98. package/dist/esm/adapters/coingecko/generated/eip155_1/adapter.json +1 -0
  99. package/dist/esm/adapters/coingecko/generated/eip155_10/adapter.json +1 -0
  100. package/dist/esm/adapters/coingecko/generated/eip155_100/adapter.json +1 -0
  101. package/dist/esm/adapters/coingecko/generated/eip155_137/adapter.json +1 -0
  102. package/dist/esm/adapters/coingecko/generated/eip155_42161/adapter.json +1 -0
  103. package/dist/esm/adapters/coingecko/generated/eip155_42170/adapter.json +1 -0
  104. package/dist/esm/adapters/coingecko/generated/eip155_43114/adapter.json +1 -0
  105. package/dist/esm/adapters/coingecko/generated/eip155_56/adapter.json +1 -0
  106. package/dist/esm/adapters/coingecko/generated/eip155_8453/adapter.json +1 -0
  107. package/dist/esm/adapters/coingecko/generated/index.js +18 -0
  108. package/dist/esm/adapters/coingecko/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +1 -0
  109. package/dist/esm/adapters/coingecko/index.d.ts +26 -0
  110. package/dist/esm/adapters/coingecko/index.test.d.ts +1 -0
  111. package/dist/esm/adapters/coingecko/utils.d.ts +11 -0
  112. package/dist/esm/adapters/coingecko/utils.test.d.ts +1 -0
  113. package/dist/esm/adapters/index.js +6 -0
  114. package/dist/esm/adapters/mtpelerin/index.d.ts +10 -0
  115. package/dist/esm/adapters/onramper/index.d.ts +7 -0
  116. package/dist/esm/assetId/assetId.d.ts +36 -0
  117. package/dist/esm/assetId/assetId.test.d.ts +1 -0
  118. package/dist/{assetId → esm/assetId}/assetId.test.js +0 -14
  119. package/dist/esm/chainId/chainId.d.ts +20 -0
  120. package/dist/esm/chainId/chainId.test.d.ts +1 -0
  121. package/dist/esm/constants.d.ts +121 -0
  122. package/dist/{constants.js → esm/constants.js} +2 -2
  123. package/dist/esm/index.js +7 -0
  124. package/dist/esm/typeGuards.d.ts +16 -0
  125. package/dist/esm/utils.d.ts +33 -0
  126. package/dist/{utils.js → esm/utils.js} +11 -14
  127. package/dist/esm/utils.test.d.ts +1 -0
  128. package/dist/{utils.test.js → esm/utils.test.js} +15 -19
  129. package/package.json +17 -7
  130. package/CHANGELOG.md +0 -726
  131. package/dist/adapters/coincap/generated/eip155_1/adapter.json +0 -1
  132. package/dist/adapters/coincap/utils.js +0 -40
  133. package/dist/adapters/coingecko/generated/eip155_1/adapter.json +0 -1
  134. package/dist/adapters/coingecko/generated/eip155_10/adapter.json +0 -1
  135. package/dist/adapters/coingecko/generated/eip155_100/adapter.json +0 -1
  136. package/dist/adapters/coingecko/generated/eip155_137/adapter.json +0 -1
  137. package/dist/adapters/coingecko/generated/eip155_42161/adapter.json +0 -1
  138. package/dist/adapters/coingecko/generated/eip155_43114/adapter.json +0 -1
  139. package/dist/adapters/coingecko/generated/eip155_56/adapter.json +0 -1
  140. package/dist/adapters/coingecko/generated/eip155_8453/adapter.json +0 -1
  141. package/dist/adapters/coingecko/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +0 -1
  142. /package/dist/{accountId → cjs/accountId}/accountId.d.ts +0 -0
  143. /package/dist/{accountId → cjs/accountId}/accountId.test.d.ts +0 -0
  144. /package/dist/{adapters → cjs/adapters}/banxa/index.d.ts +0 -0
  145. /package/dist/{adapters → cjs/adapters}/coinbase/generate.d.ts +0 -0
  146. /package/dist/{adapters → cjs/adapters}/coinbase/generated/adapter.json +0 -0
  147. /package/dist/{adapters → cjs/adapters}/coinbase/generated/index.d.ts +0 -0
  148. /package/dist/{adapters → cjs/adapters}/coinbase/index.d.ts +0 -0
  149. /package/dist/{adapters → cjs/adapters}/coinbase/utils.d.ts +0 -0
  150. /package/dist/{adapters → cjs/adapters}/coincap/generate.d.ts +0 -0
  151. /package/dist/{adapters → cjs/adapters}/coincap/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +0 -0
  152. /package/dist/{adapters → cjs/adapters}/coincap/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +0 -0
  153. /package/dist/{adapters → cjs/adapters}/coincap/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +0 -0
  154. /package/dist/{adapters → cjs/adapters}/coincap/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +0 -0
  155. /package/dist/{adapters → cjs/adapters}/coincap/generated/cosmos_cosmoshub-4/adapter.json +0 -0
  156. /package/dist/{adapters → cjs/adapters}/coincap/generated/cosmos_thorchain-1/adapter.json +0 -0
  157. /package/dist/{adapters → cjs/adapters}/coincap/index.test.d.ts +0 -0
  158. /package/dist/{adapters → cjs/adapters}/coincap/utils.test.d.ts +0 -0
  159. /package/dist/{adapters → cjs/adapters}/coingecko/generate.d.ts +0 -0
  160. /package/dist/{adapters → cjs/adapters}/coingecko/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +0 -0
  161. /package/dist/{adapters → cjs/adapters}/coingecko/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +0 -0
  162. /package/dist/{adapters → cjs/adapters}/coingecko/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +0 -0
  163. /package/dist/{adapters → cjs/adapters}/coingecko/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +0 -0
  164. /package/dist/{adapters → cjs/adapters}/coingecko/generated/cosmos_cosmoshub-4/adapter.json +0 -0
  165. /package/dist/{adapters → cjs/adapters}/coingecko/generated/cosmos_mayachain-mainnet-v1/adapter.json +0 -0
  166. /package/dist/{adapters → cjs/adapters}/coingecko/generated/cosmos_thorchain-1/adapter.json +0 -0
  167. /package/dist/{adapters → cjs/adapters}/coingecko/generated/eip155_42170/adapter.json +0 -0
  168. /package/dist/{adapters → cjs/adapters}/coingecko/generated/index.d.ts +0 -0
  169. /package/dist/{adapters → cjs/adapters}/coingecko/index.d.ts +0 -0
  170. /package/dist/{adapters → cjs/adapters}/coingecko/index.test.d.ts +0 -0
  171. /package/dist/{adapters → cjs/adapters}/coingecko/utils.d.ts +0 -0
  172. /package/dist/{adapters → cjs/adapters}/coingecko/utils.test.d.ts +0 -0
  173. /package/dist/{adapters → cjs/adapters}/index.d.ts +0 -0
  174. /package/dist/{adapters → cjs/adapters}/mtpelerin/index.d.ts +0 -0
  175. /package/dist/{adapters → cjs/adapters}/onramper/index.d.ts +0 -0
  176. /package/dist/{assetId → cjs/assetId}/assetId.d.ts +0 -0
  177. /package/dist/{assetId → cjs/assetId}/assetId.test.d.ts +0 -0
  178. /package/dist/{chainId → cjs/chainId}/chainId.d.ts +0 -0
  179. /package/dist/{chainId → cjs/chainId}/chainId.test.d.ts +0 -0
  180. /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
  181. /package/dist/{typeGuards.d.ts → cjs/typeGuards.d.ts} +0 -0
  182. /package/dist/{utils.test.d.ts → cjs/utils.test.d.ts} +0 -0
  183. /package/dist/{accountId → esm/accountId}/accountId.js +0 -0
  184. /package/dist/{accountId → esm/accountId}/accountId.test.js +0 -0
  185. /package/dist/{adapters → esm/adapters}/banxa/index.js +0 -0
  186. /package/dist/{adapters → esm/adapters}/coinbase/generate.js +0 -0
  187. /package/dist/{adapters/coinbase/generated/index.js → esm/adapters/coinbase/generated/index.d.ts} +0 -0
  188. /package/dist/{adapters → esm/adapters}/coinbase/index.js +0 -0
  189. /package/dist/{adapters → esm/adapters}/coinbase/utils.js +0 -0
  190. /package/dist/{adapters → esm/adapters}/coincap/generate.js +0 -0
  191. /package/dist/{adapters → esm/adapters}/coingecko/generate.js +0 -0
  192. /package/dist/{adapters/coingecko/generated/index.js → esm/adapters/coingecko/generated/index.d.ts} +0 -0
  193. /package/dist/{adapters → esm/adapters}/coingecko/index.js +0 -0
  194. /package/dist/{adapters → esm/adapters}/coingecko/index.test.js +0 -0
  195. /package/dist/{adapters → esm/adapters}/coingecko/utils.js +0 -0
  196. /package/dist/{adapters → esm/adapters}/coingecko/utils.test.js +0 -0
  197. /package/dist/{adapters/index.js → esm/adapters/index.d.ts} +0 -0
  198. /package/dist/{adapters → esm/adapters}/mtpelerin/index.js +0 -0
  199. /package/dist/{adapters → esm/adapters}/onramper/index.js +0 -0
  200. /package/dist/{assetId → esm/assetId}/assetId.js +0 -0
  201. /package/dist/{chainId → esm/chainId}/chainId.js +0 -0
  202. /package/dist/{chainId → esm/chainId}/chainId.test.js +0 -0
  203. /package/dist/{index.js → esm/index.d.ts} +0 -0
  204. /package/dist/{typeGuards.js → esm/typeGuards.js} +0 -0
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.thorchainChainId = exports.cosmosChainId = exports.baseChainId = exports.arbitrumNovaChainId = exports.arbitrumChainId = exports.gnosisChainId = exports.polygonChainId = exports.bscChainId = exports.optimismChainId = exports.avalancheChainId = exports.ethChainId = exports.ltcChainId = exports.dogeChainId = exports.bchChainId = exports.btcChainId = exports.binanceAssetId = exports.mayachainAssetId = exports.rujiAssetId = exports.tcyAssetId = exports.thorchainAssetId = exports.cosmosAssetId = exports.foxWifHatAssetId = exports.flipAssetId = exports.usdcOnSolanaAssetId = exports.usdcOnArbitrumOneAssetId = exports.usdcAssetId = exports.usdtAssetId = exports.foxOnPolygonAssetId = exports.foxOnOptimismAssetId = exports.foxAssetId = exports.foxOnArbitrumOneAssetId = exports.foxOnGnosisAssetId = exports.foxyAssetId = exports.foxatarAssetId = exports.uniV2EthFoxArbitrumAssetId = exports.wrappedSolAssetId = exports.solAssetId = exports.baseAssetId = exports.arbitrumNovaAssetId = exports.arbitrumAssetId = exports.gnosisAssetId = exports.polygonAssetId = exports.bscAssetId = exports.optimismAssetId = exports.avalancheAssetId = exports.ethAssetId = exports.ltcAssetId = exports.dogeAssetId = exports.bchAssetId = exports.btcAssetId = void 0;
4
+ exports.FEE_ASSET_IDS = exports.VALID_ASSET_NAMESPACE = exports.VALID_CHAIN_IDS = exports.ASSET_REFERENCE = exports.ASSET_NAMESPACE = exports.CHAIN_REFERENCE = exports.CHAIN_NAMESPACE = exports.solanaChainId = exports.binanceChainId = exports.mayachainChainId = void 0;
5
+ exports.btcAssetId = 'bip122:000000000019d6689c085ae165831e93/slip44:0';
6
+ exports.bchAssetId = 'bip122:000000000000000000651ef99cb9fcbe/slip44:145';
7
+ exports.dogeAssetId = 'bip122:00000000001a91e3dace36e2be3bf030/slip44:3';
8
+ exports.ltcAssetId = 'bip122:12a765e31ffd4059bada1e25190f6e98/slip44:2';
9
+ exports.ethAssetId = 'eip155:1/slip44:60';
10
+ exports.avalancheAssetId = 'eip155:43114/slip44:60';
11
+ exports.optimismAssetId = 'eip155:10/slip44:60';
12
+ exports.bscAssetId = 'eip155:56/slip44:60';
13
+ exports.polygonAssetId = 'eip155:137/slip44:60';
14
+ exports.gnosisAssetId = 'eip155:100/slip44:60';
15
+ exports.arbitrumAssetId = 'eip155:42161/slip44:60';
16
+ exports.arbitrumNovaAssetId = 'eip155:42170/slip44:60';
17
+ exports.baseAssetId = 'eip155:8453/slip44:60';
18
+ exports.solAssetId = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501';
19
+ exports.wrappedSolAssetId = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:So11111111111111111111111111111111111111112';
20
+ exports.uniV2EthFoxArbitrumAssetId = 'eip155:42161/erc20:0x5f6ce0ca13b87bd738519545d3e018e70e339c24';
21
+ exports.foxatarAssetId = 'eip155:137/erc721:0x2e727c425a11ce6b8819b3004db332c12d2af2a2';
22
+ exports.foxyAssetId = 'eip155:1/erc20:0xdc49108ce5c57bc3408c3a5e95f3d864ec386ed3';
23
+ exports.foxOnGnosisAssetId = 'eip155:100/erc20:0x21a42669643f45bc0e086b8fc2ed70c23d67509d';
24
+ exports.foxOnArbitrumOneAssetId = 'eip155:42161/erc20:0xf929de51d91c77e42f5090069e0ad7a09e513c73';
25
+ exports.foxAssetId = 'eip155:1/erc20:0xc770eefad204b5180df6a14ee197d99d808ee52d';
26
+ exports.foxOnOptimismAssetId = 'eip155:10/erc20:0xf1a0da3367bc7aa04f8d94ba57b862ff37ced174';
27
+ exports.foxOnPolygonAssetId = 'eip155:137/erc20:0x65a05db8322701724c197af82c9cae41195b0aa8';
28
+ exports.usdtAssetId = 'eip155:1/erc20:0xdac17f958d2ee523a2206206994597c13d831ec7';
29
+ exports.usdcAssetId = 'eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48';
30
+ exports.usdcOnArbitrumOneAssetId = 'eip155:42161/erc20:0xaf88d065e77c8cc2239327c5edb3a432268e5831';
31
+ exports.usdcOnSolanaAssetId = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v';
32
+ exports.flipAssetId = 'eip155:1/erc20:0x826180541412d574cf1336d22c0c0a287822678a';
33
+ exports.foxWifHatAssetId = 'eip155:8453/erc20:0xd14acd73ade7f3c652f05365115f015e905a6bf4';
34
+ exports.cosmosAssetId = 'cosmos:cosmoshub-4/slip44:118';
35
+ exports.thorchainAssetId = 'cosmos:thorchain-1/slip44:931';
36
+ exports.tcyAssetId = 'cosmos:thorchain-1/slip44:tcy';
37
+ exports.rujiAssetId = 'cosmos:thorchain-1/slip44:ruji';
38
+ exports.mayachainAssetId = 'cosmos:mayachain-mainnet-v1/slip44:931';
39
+ exports.binanceAssetId = 'cosmos:binance-chain-tigris/slip44:714';
40
+ exports.btcChainId = 'bip122:000000000019d6689c085ae165831e93';
41
+ exports.bchChainId = 'bip122:000000000000000000651ef99cb9fcbe';
42
+ exports.dogeChainId = 'bip122:00000000001a91e3dace36e2be3bf030';
43
+ exports.ltcChainId = 'bip122:12a765e31ffd4059bada1e25190f6e98';
44
+ exports.ethChainId = 'eip155:1';
45
+ exports.avalancheChainId = 'eip155:43114';
46
+ exports.optimismChainId = 'eip155:10';
47
+ exports.bscChainId = 'eip155:56';
48
+ exports.polygonChainId = 'eip155:137';
49
+ exports.gnosisChainId = 'eip155:100';
50
+ exports.arbitrumChainId = 'eip155:42161';
51
+ exports.arbitrumNovaChainId = 'eip155:42170';
52
+ exports.baseChainId = 'eip155:8453';
53
+ exports.cosmosChainId = 'cosmos:cosmoshub-4';
54
+ exports.thorchainChainId = 'cosmos:thorchain-1';
55
+ exports.mayachainChainId = 'cosmos:mayachain-mainnet-v1';
56
+ exports.binanceChainId = 'cosmos:binance-chain-tigris';
57
+ exports.solanaChainId = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp';
58
+ exports.CHAIN_NAMESPACE = {
59
+ Evm: 'eip155',
60
+ Utxo: 'bip122',
61
+ CosmosSdk: 'cosmos',
62
+ Solana: 'solana',
63
+ };
64
+ exports.CHAIN_REFERENCE = {
65
+ EthereumMainnet: '1',
66
+ BitcoinMainnet: '000000000019d6689c085ae165831e93',
67
+ BitcoinCashMainnet: '000000000000000000651ef99cb9fcbe',
68
+ DogecoinMainnet: '00000000001a91e3dace36e2be3bf030',
69
+ LitecoinMainnet: '12a765e31ffd4059bada1e25190f6e98',
70
+ CosmosHubMainnet: 'cosmoshub-4',
71
+ ThorchainMainnet: 'thorchain-1',
72
+ MayachainMainnet: 'mayachain-mainnet-v1',
73
+ BinanceMainnet: 'binance-chain-tigris',
74
+ AvalancheCChain: '43114',
75
+ OptimismMainnet: '10',
76
+ BnbSmartChainMainnet: '56',
77
+ PolygonMainnet: '137',
78
+ GnosisMainnet: '100',
79
+ ArbitrumMainnet: '42161',
80
+ ArbitrumNovaMainnet: '42170',
81
+ BaseMainnet: '8453',
82
+ SolanaMainnet: '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', // https://namespaces.chainagnostic.org/solana/caip2
83
+ };
84
+ exports.ASSET_NAMESPACE = {
85
+ erc20: 'erc20',
86
+ erc721: 'erc721',
87
+ erc1155: 'erc1155',
88
+ bep20: 'bep20',
89
+ bep721: 'bep721',
90
+ bep1155: 'bep1155',
91
+ slip44: 'slip44',
92
+ splToken: 'token',
93
+ };
94
+ exports.ASSET_REFERENCE = {
95
+ Bitcoin: '0',
96
+ BitcoinCash: '145',
97
+ Litecoin: '2',
98
+ Dogecoin: '3',
99
+ Cosmos: '118',
100
+ Thorchain: '931',
101
+ Mayachain: '931',
102
+ Binance: '714',
103
+ Ethereum: '60',
104
+ AvalancheC: '60',
105
+ Optimism: '60',
106
+ BnbSmartChain: '60',
107
+ Polygon: '60',
108
+ Gnosis: '60',
109
+ Arbitrum: '60',
110
+ ArbitrumNova: '60',
111
+ Base: '60',
112
+ Solana: '501',
113
+ };
114
+ exports.VALID_CHAIN_IDS = Object.freeze({
115
+ [exports.CHAIN_NAMESPACE.Utxo]: [
116
+ exports.CHAIN_REFERENCE.BitcoinMainnet,
117
+ exports.CHAIN_REFERENCE.BitcoinCashMainnet,
118
+ exports.CHAIN_REFERENCE.DogecoinMainnet,
119
+ exports.CHAIN_REFERENCE.LitecoinMainnet,
120
+ ],
121
+ [exports.CHAIN_NAMESPACE.Evm]: [
122
+ exports.CHAIN_REFERENCE.EthereumMainnet,
123
+ exports.CHAIN_REFERENCE.AvalancheCChain,
124
+ exports.CHAIN_REFERENCE.OptimismMainnet,
125
+ exports.CHAIN_REFERENCE.BnbSmartChainMainnet,
126
+ exports.CHAIN_REFERENCE.PolygonMainnet,
127
+ exports.CHAIN_REFERENCE.GnosisMainnet,
128
+ exports.CHAIN_REFERENCE.ArbitrumMainnet,
129
+ exports.CHAIN_REFERENCE.ArbitrumNovaMainnet,
130
+ exports.CHAIN_REFERENCE.BaseMainnet,
131
+ ],
132
+ [exports.CHAIN_NAMESPACE.CosmosSdk]: [
133
+ exports.CHAIN_REFERENCE.CosmosHubMainnet,
134
+ exports.CHAIN_REFERENCE.ThorchainMainnet,
135
+ exports.CHAIN_REFERENCE.MayachainMainnet,
136
+ exports.CHAIN_REFERENCE.BinanceMainnet,
137
+ ],
138
+ [exports.CHAIN_NAMESPACE.Solana]: [exports.CHAIN_REFERENCE.SolanaMainnet],
139
+ });
140
+ exports.VALID_ASSET_NAMESPACE = Object.freeze({
141
+ [exports.CHAIN_NAMESPACE.Utxo]: [exports.ASSET_NAMESPACE.slip44],
142
+ [exports.CHAIN_NAMESPACE.Evm]: [
143
+ exports.ASSET_NAMESPACE.slip44,
144
+ exports.ASSET_NAMESPACE.erc20,
145
+ exports.ASSET_NAMESPACE.erc721,
146
+ exports.ASSET_NAMESPACE.erc1155,
147
+ exports.ASSET_NAMESPACE.bep20,
148
+ exports.ASSET_NAMESPACE.bep721,
149
+ exports.ASSET_NAMESPACE.bep1155,
150
+ ],
151
+ [exports.CHAIN_NAMESPACE.CosmosSdk]: [exports.ASSET_NAMESPACE.slip44],
152
+ [exports.CHAIN_NAMESPACE.Solana]: [exports.ASSET_NAMESPACE.splToken, exports.ASSET_NAMESPACE.slip44],
153
+ });
154
+ // We should prob change this once we add more chains
155
+ exports.FEE_ASSET_IDS = [
156
+ exports.ethAssetId,
157
+ exports.btcAssetId,
158
+ exports.bchAssetId,
159
+ exports.cosmosAssetId,
160
+ exports.thorchainAssetId,
161
+ exports.mayachainAssetId,
162
+ exports.dogeAssetId,
163
+ exports.ltcAssetId,
164
+ exports.avalancheAssetId,
165
+ exports.optimismAssetId,
166
+ exports.bscAssetId,
167
+ exports.polygonAssetId,
168
+ exports.gnosisAssetId,
169
+ exports.arbitrumAssetId,
170
+ exports.arbitrumNovaAssetId,
171
+ exports.baseAssetId,
172
+ exports.solAssetId,
173
+ ];
@@ -0,0 +1,36 @@
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);
@@ -0,0 +1 @@
1
+ {"type": "commonjs"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertValidChainPartsPair = exports.assertIsAssetReference = exports.assertIsAssetNamespace = exports.assertIsChainReference = exports.assertIsChainNamespace = exports.assertIsChainId = exports.isChainIdParts = exports.isChainId = exports.isAssetIdParts = exports.isAssetId = exports.isAssetReference = exports.isAssetNamespace = exports.isChainReference = exports.isChainNamespace = void 0;
4
+ const chainId_1 = require("./chainId/chainId");
5
+ const constants_1 = require("./constants");
6
+ const utils_1 = require("./utils");
7
+ const isChainNamespace = (maybeChainNamespace) => Object.values(constants_1.CHAIN_NAMESPACE).includes(maybeChainNamespace);
8
+ exports.isChainNamespace = isChainNamespace;
9
+ const isChainReference = (maybeChainReference) => Object.values(constants_1.CHAIN_REFERENCE).includes(maybeChainReference);
10
+ exports.isChainReference = isChainReference;
11
+ const isAssetNamespace = (maybeAssetNamespace) => Object.values(constants_1.ASSET_NAMESPACE).includes(maybeAssetNamespace);
12
+ exports.isAssetNamespace = isAssetNamespace;
13
+ const isAssetReference = (maybeAssetReference) => Object.values(constants_1.ASSET_REFERENCE).includes(maybeAssetReference);
14
+ exports.isAssetReference = isAssetReference;
15
+ // NOTE: perf critical - benchmark any changes
16
+ const isAssetId = (maybeAssetId) => {
17
+ const slashIdx = maybeAssetId.indexOf('/');
18
+ const chainId = maybeAssetId.substring(0, slashIdx);
19
+ const assetParts = maybeAssetId.substring(slashIdx + 1);
20
+ const { chainNamespace, chainReference } = (0, chainId_1.fromChainId)(chainId);
21
+ const idx = assetParts.indexOf(':');
22
+ const assetNamespace = assetParts.substring(0, idx);
23
+ return (0, exports.isAssetIdParts)(chainNamespace, chainReference, assetNamespace);
24
+ };
25
+ exports.isAssetId = isAssetId;
26
+ // NOTE: perf critical - benchmark any changes
27
+ const isAssetIdParts = (maybeChainNamespace, maybeChainReference, maybeAssetNamespace) => {
28
+ return (!!constants_1.VALID_CHAIN_IDS[maybeChainNamespace]?.includes(maybeChainReference) && (0, exports.isAssetNamespace)(maybeAssetNamespace));
29
+ };
30
+ exports.isAssetIdParts = isAssetIdParts;
31
+ // NOTE: perf critical - benchmark any changes
32
+ const isChainId = (maybeChainId) => {
33
+ const { chainNamespace, chainReference } = (0, chainId_1.fromChainId)(maybeChainId);
34
+ return !!constants_1.VALID_CHAIN_IDS[chainNamespace]?.includes(chainReference);
35
+ };
36
+ exports.isChainId = isChainId;
37
+ const isChainIdParts = (chainNamespace, chainReference) => {
38
+ return !!constants_1.VALID_CHAIN_IDS[chainNamespace]?.includes(chainReference);
39
+ };
40
+ exports.isChainIdParts = isChainIdParts;
41
+ const getTypeGuardAssertion = (typeGuard, message) => {
42
+ return (value) => {
43
+ if ((value && !typeGuard(value)) || !value)
44
+ throw new Error(`${message}: ${value}`);
45
+ };
46
+ };
47
+ exports.assertIsChainId = getTypeGuardAssertion(exports.isChainId, 'assertIsChainId: unsupported ChainId');
48
+ exports.assertIsChainNamespace = getTypeGuardAssertion(exports.isChainNamespace, 'assertIsChainNamespace: unsupported ChainNamespace');
49
+ exports.assertIsChainReference = getTypeGuardAssertion(exports.isChainReference, 'assertIsChainReference: unsupported ChainReference');
50
+ exports.assertIsAssetNamespace = getTypeGuardAssertion(exports.isAssetNamespace, 'assertIsAssetNamespace: unsupported AssetNamespace');
51
+ exports.assertIsAssetReference = getTypeGuardAssertion(exports.isAssetReference, 'assertIsAssetReference: unsupported AssetReference');
52
+ const assertValidChainPartsPair = (chainNamespace, chainReference) => {
53
+ if (!(0, utils_1.isValidChainPartsPair)(chainNamespace, chainReference))
54
+ throw new Error(`toAssetId: Chain Reference ${chainReference} not supported for Chain Namespace ${chainNamespace}`);
55
+ };
56
+ exports.assertValidChainPartsPair = assertValidChainPartsPair;
@@ -4,7 +4,7 @@ import type { ChainId, ChainNamespace, ChainReference } from './chainId/chainId'
4
4
  export declare const accountIdToChainId: (accountId: AccountId) => ChainId;
5
5
  export declare const accountIdToSpecifier: (accountId: AccountId) => string;
6
6
  export declare const isValidChainPartsPair: (chainNamespace: ChainNamespace, chainReference: ChainReference) => boolean;
7
- export declare const generateAssetIdFromCosmosSdkDenom: (denom: string, nativeAssetId: AssetId) => AssetId;
7
+ export declare const generateAssetIdFromCosmosSdkDenom: (denom: string) => AssetId;
8
8
  export declare const bitcoinAssetMap: {
9
9
  [x: string]: string;
10
10
  };
@@ -0,0 +1,56 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.mayachainAssetMap = exports.thorchainAssetMap = exports.cosmosAssetMap = exports.litecoinAssetMap = exports.dogecoinAssetMap = exports.bitcoinCashAssetMap = exports.bitcoinAssetMap = exports.generateAssetIdFromCosmosSdkDenom = exports.isValidChainPartsPair = exports.accountIdToSpecifier = exports.accountIdToChainId = void 0;
27
+ const accountId_1 = require("./accountId/accountId");
28
+ const constants = __importStar(require("./constants"));
29
+ const constants_1 = require("./constants");
30
+ const mayaTokenAssetId = 'cosmos:mayachain-mainnet-v1/slip44:maya';
31
+ const accountIdToChainId = (accountId) => (0, accountId_1.fromAccountId)(accountId).chainId;
32
+ exports.accountIdToChainId = accountIdToChainId;
33
+ const accountIdToSpecifier = (accountId) => (0, accountId_1.fromAccountId)(accountId).account;
34
+ exports.accountIdToSpecifier = accountIdToSpecifier;
35
+ const isValidChainPartsPair = (chainNamespace, chainReference) => constants.VALID_CHAIN_IDS[chainNamespace]?.includes(chainReference) || false;
36
+ exports.isValidChainPartsPair = isValidChainPartsPair;
37
+ const generateAssetIdFromCosmosSdkDenom = (denom) => {
38
+ switch (denom) {
39
+ case 'tcy':
40
+ return constants_1.tcyAssetId;
41
+ case 'x/ruji':
42
+ return constants_1.rujiAssetId;
43
+ case 'maya':
44
+ return mayaTokenAssetId;
45
+ default:
46
+ throw new Error(`Unsupported denom: ${denom}`);
47
+ }
48
+ };
49
+ exports.generateAssetIdFromCosmosSdkDenom = generateAssetIdFromCosmosSdkDenom;
50
+ exports.bitcoinAssetMap = { [constants.btcAssetId]: 'bitcoin' };
51
+ exports.bitcoinCashAssetMap = { [constants.bchAssetId]: 'bitcoin-cash' };
52
+ exports.dogecoinAssetMap = { [constants.dogeAssetId]: 'dogecoin' };
53
+ exports.litecoinAssetMap = { [constants.ltcAssetId]: 'litecoin' };
54
+ exports.cosmosAssetMap = { [constants.cosmosAssetId]: 'cosmos' };
55
+ exports.thorchainAssetMap = { [constants.thorchainAssetId]: 'thorchain' };
56
+ exports.mayachainAssetMap = { [constants.mayachainAssetId]: 'cacao' };
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const constants_1 = require("./constants");
5
+ const typeGuards_1 = require("./typeGuards");
6
+ const utils_1 = require("./utils");
7
+ (0, vitest_1.describe)('accountIdToChainId', () => {
8
+ (0, vitest_1.it)('can get eth chainId from accountId', () => {
9
+ const accountId = 'eip155:1:0xdef1cafe';
10
+ const chainId = (0, utils_1.accountIdToChainId)(accountId);
11
+ (0, vitest_1.expect)(chainId).toEqual(constants_1.ethChainId);
12
+ });
13
+ (0, vitest_1.it)('can get btc chainId from accountId', () => {
14
+ const accountId = 'bip122:000000000019d6689c085ae165831e93:xpubfoobarbaz';
15
+ const chainId = (0, utils_1.accountIdToChainId)(accountId);
16
+ (0, vitest_1.expect)(chainId).toEqual(constants_1.btcChainId);
17
+ });
18
+ });
19
+ (0, vitest_1.describe)('accountIdToSpecifier', () => {
20
+ (0, vitest_1.it)('can get eth address from accountId', () => {
21
+ const address = '0xdef1cafe';
22
+ const accountId = 'eip155:1:0xdef1cafe';
23
+ const result = (0, utils_1.accountIdToSpecifier)(accountId);
24
+ (0, vitest_1.expect)(result).toEqual(address);
25
+ });
26
+ (0, vitest_1.it)('can get xpub from accountId', () => {
27
+ const xpub = 'xpubfoobarbaz';
28
+ const accountId = 'bip122:000000000019d6689c085ae165831e93:xpubfoobarbaz';
29
+ const result = (0, utils_1.accountIdToSpecifier)(accountId);
30
+ (0, vitest_1.expect)(result).toEqual(xpub);
31
+ });
32
+ });
33
+ (0, vitest_1.describe)('isValidChainPartsPair', () => {
34
+ (0, vitest_1.it)('correctly validates pairs', () => {
35
+ (0, vitest_1.expect)((0, utils_1.isValidChainPartsPair)(constants_1.CHAIN_NAMESPACE.Utxo, constants_1.CHAIN_REFERENCE.BitcoinMainnet)).toEqual(true);
36
+ (0, vitest_1.expect)((0, utils_1.isValidChainPartsPair)(constants_1.CHAIN_NAMESPACE.Evm, constants_1.CHAIN_REFERENCE.BitcoinMainnet)).toEqual(false);
37
+ (0, vitest_1.expect)((0, utils_1.isValidChainPartsPair)('invalid', constants_1.CHAIN_REFERENCE.BitcoinMainnet)).toEqual(false);
38
+ (0, vitest_1.expect)((0, utils_1.isValidChainPartsPair)(constants_1.CHAIN_NAMESPACE.Evm, 'invalid')).toEqual(false);
39
+ });
40
+ });
41
+ (0, vitest_1.describe)('type guard', () => {
42
+ (0, vitest_1.describe)('isChainNamespace', () => {
43
+ (0, vitest_1.it)('correctly determines type', () => {
44
+ (0, vitest_1.expect)((0, typeGuards_1.isChainNamespace)(constants_1.CHAIN_NAMESPACE.Utxo)).toEqual(true);
45
+ (0, vitest_1.expect)((0, typeGuards_1.isChainNamespace)(constants_1.CHAIN_NAMESPACE.Evm)).toEqual(true);
46
+ (0, vitest_1.expect)((0, typeGuards_1.isChainNamespace)('invalid')).toEqual(false);
47
+ (0, vitest_1.expect)((0, typeGuards_1.isChainNamespace)('')).toEqual(false);
48
+ });
49
+ });
50
+ (0, vitest_1.describe)('isChainReference', () => {
51
+ (0, vitest_1.it)('correctly determines type', () => {
52
+ (0, vitest_1.expect)((0, typeGuards_1.isChainReference)(constants_1.CHAIN_REFERENCE.EthereumMainnet)).toEqual(true);
53
+ (0, vitest_1.expect)((0, typeGuards_1.isChainReference)(constants_1.CHAIN_REFERENCE.BitcoinMainnet)).toEqual(true);
54
+ (0, vitest_1.expect)((0, typeGuards_1.isChainReference)('invalid')).toEqual(false);
55
+ (0, vitest_1.expect)((0, typeGuards_1.isChainReference)('')).toEqual(false);
56
+ });
57
+ });
58
+ (0, vitest_1.describe)('isValidChainId', () => {
59
+ (0, vitest_1.it)('correctly determines type', () => {
60
+ (0, vitest_1.expect)((0, typeGuards_1.isChainId)(constants_1.ethChainId)).toEqual(true);
61
+ (0, vitest_1.expect)((0, typeGuards_1.isChainId)(constants_1.btcChainId)).toEqual(true);
62
+ (0, vitest_1.expect)((0, typeGuards_1.isChainId)(constants_1.cosmosChainId)).toEqual(true);
63
+ (0, vitest_1.expect)((0, typeGuards_1.isChainId)('invalid')).toEqual(false);
64
+ (0, vitest_1.expect)((0, typeGuards_1.isChainId)('')).toEqual(false);
65
+ });
66
+ });
67
+ (0, vitest_1.describe)('isAssetNamespace', () => {
68
+ (0, vitest_1.it)('correctly determines type', () => {
69
+ (0, vitest_1.expect)((0, typeGuards_1.isAssetNamespace)(constants_1.ASSET_NAMESPACE.erc20)).toEqual(true);
70
+ (0, vitest_1.expect)((0, typeGuards_1.isAssetNamespace)(constants_1.ASSET_NAMESPACE.erc721)).toEqual(true);
71
+ (0, vitest_1.expect)((0, typeGuards_1.isAssetNamespace)('invalid')).toEqual(false);
72
+ (0, vitest_1.expect)((0, typeGuards_1.isAssetNamespace)('')).toEqual(false);
73
+ });
74
+ });
75
+ (0, vitest_1.describe)('isAssetReference', () => {
76
+ (0, vitest_1.it)('correctly determines type', () => {
77
+ (0, vitest_1.expect)((0, typeGuards_1.isAssetReference)(constants_1.ASSET_REFERENCE.Bitcoin)).toEqual(true);
78
+ (0, vitest_1.expect)((0, typeGuards_1.isAssetReference)(constants_1.ASSET_REFERENCE.Ethereum)).toEqual(true);
79
+ (0, vitest_1.expect)((0, typeGuards_1.isAssetReference)('invalid')).toEqual(false);
80
+ (0, vitest_1.expect)((0, typeGuards_1.isAssetReference)('')).toEqual(false);
81
+ });
82
+ });
83
+ (0, vitest_1.describe)('isAssetId', () => {
84
+ (0, vitest_1.it)('correctly determines type', () => {
85
+ (0, vitest_1.expect)((0, typeGuards_1.isAssetId)(constants_1.btcAssetId)).toEqual(true);
86
+ (0, vitest_1.expect)((0, typeGuards_1.isAssetId)(constants_1.ethAssetId)).toEqual(true);
87
+ (0, vitest_1.expect)((0, typeGuards_1.isAssetId)(constants_1.cosmosAssetId)).toEqual(true);
88
+ (0, vitest_1.expect)((0, typeGuards_1.isAssetId)('invalid')).toEqual(false);
89
+ (0, vitest_1.expect)((0, typeGuards_1.isAssetId)('')).toEqual(false);
90
+ });
91
+ });
92
+ });
93
+ (0, vitest_1.describe)('type guard assertion', () => {
94
+ (0, vitest_1.describe)('assertIsChainId', () => {
95
+ (0, vitest_1.it)('correctly asserts type', () => {
96
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainId)(constants_1.ethChainId)).not.toThrow();
97
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainId)(constants_1.btcChainId)).not.toThrow();
98
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainId)(constants_1.cosmosChainId)).not.toThrow();
99
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainId)('invalid')).toThrow();
100
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainId)('')).toThrow();
101
+ });
102
+ });
103
+ (0, vitest_1.describe)('assertIsChainNamespace', () => {
104
+ (0, vitest_1.it)('correctly asserts type', () => {
105
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainNamespace)(constants_1.CHAIN_NAMESPACE.Utxo)).not.toThrow();
106
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainNamespace)(constants_1.CHAIN_NAMESPACE.Evm)).not.toThrow();
107
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainNamespace)('invalid')).toThrow();
108
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainNamespace)('')).toThrow();
109
+ });
110
+ });
111
+ (0, vitest_1.describe)('assertIsChainReference', () => {
112
+ (0, vitest_1.it)('correctly asserts type', () => {
113
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainReference)(constants_1.CHAIN_REFERENCE.EthereumMainnet)).not.toThrow();
114
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainReference)(constants_1.CHAIN_REFERENCE.BitcoinMainnet)).not.toThrow();
115
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainReference)('invalid')).toThrow();
116
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainReference)('')).toThrow();
117
+ });
118
+ });
119
+ (0, vitest_1.describe)('assertIsAssetNamespace', () => {
120
+ (0, vitest_1.it)('correctly asserts type', () => {
121
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertIsAssetNamespace)(constants_1.ASSET_NAMESPACE.erc20)).not.toThrow();
122
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertIsAssetNamespace)(constants_1.ASSET_NAMESPACE.erc721)).not.toThrow();
123
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertIsAssetNamespace)('invalid')).toThrow();
124
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertIsAssetNamespace)('')).toThrow();
125
+ });
126
+ });
127
+ (0, vitest_1.describe)('assertIsAssetReference', () => {
128
+ (0, vitest_1.it)('correctly asserts type', () => {
129
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertIsAssetReference)(constants_1.ASSET_REFERENCE.Bitcoin)).not.toThrow();
130
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertIsAssetReference)(constants_1.ASSET_REFERENCE.Ethereum)).not.toThrow();
131
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertIsAssetReference)('invalid')).toThrow();
132
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertIsAssetReference)('')).toThrow();
133
+ });
134
+ });
135
+ (0, vitest_1.describe)('assertValidChainPartsPair', () => {
136
+ (0, vitest_1.it)('correctly asserts type', () => {
137
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertValidChainPartsPair)(constants_1.CHAIN_NAMESPACE.Utxo, constants_1.CHAIN_REFERENCE.BitcoinMainnet)).not.toThrow();
138
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertValidChainPartsPair)(constants_1.CHAIN_NAMESPACE.Utxo, constants_1.CHAIN_REFERENCE.EthereumMainnet)).toThrow();
139
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertValidChainPartsPair)('invalid', constants_1.CHAIN_REFERENCE.BitcoinMainnet)).toThrow();
140
+ (0, vitest_1.expect)(() => (0, typeGuards_1.assertValidChainPartsPair)(constants_1.CHAIN_NAMESPACE.Evm, 'invalid')).toThrow();
141
+ });
142
+ });
143
+ (0, vitest_1.describe)('generateAssetIdFromCosmosDenom', () => {
144
+ (0, vitest_1.it)('correctly generates RUJI AssetId', () => {
145
+ const result = (0, utils_1.generateAssetIdFromCosmosSdkDenom)('x/ruji');
146
+ (0, vitest_1.expect)(result).toEqual(constants_1.rujiAssetId);
147
+ });
148
+ (0, vitest_1.it)('correctly generates TCY AssetId', () => {
149
+ const result = (0, utils_1.generateAssetIdFromCosmosSdkDenom)('tcy');
150
+ (0, vitest_1.expect)(result).toEqual(constants_1.tcyAssetId);
151
+ });
152
+ (0, vitest_1.it)('correctly generates MAYA AssetId', () => {
153
+ const result = (0, utils_1.generateAssetIdFromCosmosSdkDenom)('maya');
154
+ (0, vitest_1.expect)(result).toEqual('cosmos:mayachain-mainnet-v1/slip44:maya');
155
+ });
156
+ (0, vitest_1.it)('throws on unsupported denom', () => {
157
+ (0, vitest_1.expect)(() => (0, utils_1.generateAssetIdFromCosmosSdkDenom)('unsupported')).toThrow();
158
+ });
159
+ });
160
+ });