@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,231 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ethChainId = exports.zecChainId = 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.starknetAssetId = exports.nearAssetId = exports.suiAssetId = exports.tronAssetId = exports.wrappedSolAssetId = exports.solAssetId = exports.katanaAssetId = exports.plasmaAssetId = exports.hyperEvmAssetId = exports.monadAssetId = exports.baseAssetId = exports.arbitrumNovaAssetId = exports.arbitrumAssetId = exports.gnosisAssetId = exports.polygonAssetId = exports.bscAssetId = exports.optimismAssetId = exports.avalancheAssetId = exports.ethAssetId = exports.zecAssetId = 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.starknetChainId = exports.nearChainId = exports.suiChainId = exports.tronChainId = exports.solanaChainId = exports.binanceChainId = exports.mayachainChainId = exports.thorchainChainId = exports.cosmosChainId = exports.katanaChainId = exports.plasmaChainId = exports.hyperEvmChainId = exports.monadChainId = exports.baseChainId = exports.arbitrumNovaChainId = exports.arbitrumChainId = exports.gnosisChainId = exports.polygonChainId = exports.bscChainId = exports.optimismChainId = exports.avalancheChainId = 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.zecAssetId = 'bip122:00040fe8ec8471911baa1db1266ea15d/slip44:133';
10
+ exports.ethAssetId = 'eip155:1/slip44:60';
11
+ exports.avalancheAssetId = 'eip155:43114/slip44:60';
12
+ exports.optimismAssetId = 'eip155:10/slip44:60';
13
+ exports.bscAssetId = 'eip155:56/slip44:60';
14
+ exports.polygonAssetId = 'eip155:137/slip44:60';
15
+ exports.gnosisAssetId = 'eip155:100/slip44:60';
16
+ exports.arbitrumAssetId = 'eip155:42161/slip44:60';
17
+ exports.arbitrumNovaAssetId = 'eip155:42170/slip44:60';
18
+ exports.baseAssetId = 'eip155:8453/slip44:60';
19
+ exports.monadAssetId = 'eip155:143/slip44:60';
20
+ exports.hyperEvmAssetId = 'eip155:999/slip44:60';
21
+ exports.plasmaAssetId = 'eip155:9745/slip44:60';
22
+ exports.katanaAssetId = 'eip155:747474/slip44:60';
23
+ exports.solAssetId = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501';
24
+ exports.wrappedSolAssetId = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:So11111111111111111111111111111111111111112';
25
+ exports.tronAssetId = 'tron:0x2b6653dc/slip44:195';
26
+ exports.suiAssetId = 'sui:35834a8a/slip44:784';
27
+ exports.nearAssetId = 'near:mainnet/slip44:397';
28
+ exports.starknetAssetId = 'starknet:SN_MAIN/slip44:9004';
29
+ exports.uniV2EthFoxArbitrumAssetId = 'eip155:42161/erc20:0x5f6ce0ca13b87bd738519545d3e018e70e339c24';
30
+ exports.foxatarAssetId = 'eip155:137/erc721:0x2e727c425a11ce6b8819b3004db332c12d2af2a2';
31
+ exports.foxyAssetId = 'eip155:1/erc20:0xdc49108ce5c57bc3408c3a5e95f3d864ec386ed3';
32
+ exports.foxOnGnosisAssetId = 'eip155:100/erc20:0x21a42669643f45bc0e086b8fc2ed70c23d67509d';
33
+ exports.foxOnArbitrumOneAssetId = 'eip155:42161/erc20:0xf929de51d91c77e42f5090069e0ad7a09e513c73';
34
+ exports.foxAssetId = 'eip155:1/erc20:0xc770eefad204b5180df6a14ee197d99d808ee52d';
35
+ exports.foxOnOptimismAssetId = 'eip155:10/erc20:0xf1a0da3367bc7aa04f8d94ba57b862ff37ced174';
36
+ exports.foxOnPolygonAssetId = 'eip155:137/erc20:0x65a05db8322701724c197af82c9cae41195b0aa8';
37
+ exports.usdtAssetId = 'eip155:1/erc20:0xdac17f958d2ee523a2206206994597c13d831ec7';
38
+ exports.usdcAssetId = 'eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48';
39
+ exports.usdcOnArbitrumOneAssetId = 'eip155:42161/erc20:0xaf88d065e77c8cc2239327c5edb3a432268e5831';
40
+ exports.usdcOnSolanaAssetId = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v';
41
+ exports.flipAssetId = 'eip155:1/erc20:0x826180541412d574cf1336d22c0c0a287822678a';
42
+ exports.foxWifHatAssetId = 'eip155:8453/erc20:0xd14acd73ade7f3c652f05365115f015e905a6bf4';
43
+ exports.cosmosAssetId = 'cosmos:cosmoshub-4/slip44:118';
44
+ exports.thorchainAssetId = 'cosmos:thorchain-1/slip44:931';
45
+ exports.tcyAssetId = 'cosmos:thorchain-1/slip44:tcy';
46
+ exports.rujiAssetId = 'cosmos:thorchain-1/slip44:ruji';
47
+ exports.mayachainAssetId = 'cosmos:mayachain-mainnet-v1/slip44:931';
48
+ exports.binanceAssetId = 'cosmos:binance-chain-tigris/slip44:714';
49
+ exports.btcChainId = 'bip122:000000000019d6689c085ae165831e93';
50
+ exports.bchChainId = 'bip122:000000000000000000651ef99cb9fcbe';
51
+ exports.dogeChainId = 'bip122:00000000001a91e3dace36e2be3bf030';
52
+ exports.ltcChainId = 'bip122:12a765e31ffd4059bada1e25190f6e98';
53
+ exports.zecChainId = 'bip122:00040fe8ec8471911baa1db1266ea15d';
54
+ exports.ethChainId = 'eip155:1';
55
+ exports.avalancheChainId = 'eip155:43114';
56
+ exports.optimismChainId = 'eip155:10';
57
+ exports.bscChainId = 'eip155:56';
58
+ exports.polygonChainId = 'eip155:137';
59
+ exports.gnosisChainId = 'eip155:100';
60
+ exports.arbitrumChainId = 'eip155:42161';
61
+ exports.arbitrumNovaChainId = 'eip155:42170';
62
+ exports.baseChainId = 'eip155:8453';
63
+ exports.monadChainId = 'eip155:143';
64
+ exports.hyperEvmChainId = 'eip155:999';
65
+ exports.plasmaChainId = 'eip155:9745';
66
+ exports.katanaChainId = 'eip155:747474';
67
+ exports.cosmosChainId = 'cosmos:cosmoshub-4';
68
+ exports.thorchainChainId = 'cosmos:thorchain-1';
69
+ exports.mayachainChainId = 'cosmos:mayachain-mainnet-v1';
70
+ exports.binanceChainId = 'cosmos:binance-chain-tigris';
71
+ exports.solanaChainId = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp';
72
+ exports.tronChainId = 'tron:0x2b6653dc';
73
+ exports.suiChainId = 'sui:35834a8a';
74
+ exports.nearChainId = 'near:mainnet';
75
+ exports.starknetChainId = 'starknet:SN_MAIN';
76
+ exports.CHAIN_NAMESPACE = {
77
+ Evm: 'eip155',
78
+ Utxo: 'bip122',
79
+ CosmosSdk: 'cosmos',
80
+ Solana: 'solana',
81
+ Tron: 'tron',
82
+ Sui: 'sui',
83
+ Near: 'near',
84
+ Starknet: 'starknet',
85
+ };
86
+ exports.CHAIN_REFERENCE = {
87
+ EthereumMainnet: '1',
88
+ BitcoinMainnet: '000000000019d6689c085ae165831e93',
89
+ BitcoinCashMainnet: '000000000000000000651ef99cb9fcbe',
90
+ DogecoinMainnet: '00000000001a91e3dace36e2be3bf030',
91
+ LitecoinMainnet: '12a765e31ffd4059bada1e25190f6e98',
92
+ ZcashMainnet: '00040fe8ec8471911baa1db1266ea15d',
93
+ CosmosHubMainnet: 'cosmoshub-4',
94
+ ThorchainMainnet: 'thorchain-1',
95
+ MayachainMainnet: 'mayachain-mainnet-v1',
96
+ BinanceMainnet: 'binance-chain-tigris',
97
+ AvalancheCChain: '43114',
98
+ OptimismMainnet: '10',
99
+ BnbSmartChainMainnet: '56',
100
+ PolygonMainnet: '137',
101
+ GnosisMainnet: '100',
102
+ ArbitrumMainnet: '42161',
103
+ ArbitrumNovaMainnet: '42170',
104
+ BaseMainnet: '8453',
105
+ MonadMainnet: '143',
106
+ HyperEvmMainnet: '999',
107
+ PlasmaMainnet: '9745',
108
+ KatanaMainnet: '747474',
109
+ SolanaMainnet: '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
110
+ TronMainnet: '0x2b6653dc',
111
+ SuiMainnet: '35834a8a',
112
+ NearMainnet: 'mainnet',
113
+ StarknetMainnet: 'SN_MAIN', // https://namespaces.chainagnostic.org/starknet/caip2
114
+ };
115
+ exports.ASSET_NAMESPACE = {
116
+ erc20: 'erc20',
117
+ erc721: 'erc721',
118
+ erc1155: 'erc1155',
119
+ slip44: 'slip44',
120
+ splToken: 'token',
121
+ trc20: 'trc20',
122
+ trc10: 'trc10',
123
+ suiCoin: 'coin',
124
+ nep141: 'nep141',
125
+ starknetToken: 'token',
126
+ };
127
+ exports.ASSET_REFERENCE = {
128
+ Bitcoin: '0',
129
+ BitcoinCash: '145',
130
+ Litecoin: '2',
131
+ Dogecoin: '3',
132
+ Zcash: '133',
133
+ Cosmos: '118',
134
+ Thorchain: '931',
135
+ Mayachain: '931',
136
+ Binance: '714',
137
+ Ethereum: '60',
138
+ AvalancheC: '60',
139
+ Optimism: '60',
140
+ BnbSmartChain: '60',
141
+ Polygon: '60',
142
+ Gnosis: '60',
143
+ Arbitrum: '60',
144
+ ArbitrumNova: '60',
145
+ Base: '60',
146
+ Monad: '60',
147
+ HyperEvm: '60',
148
+ Plasma: '60',
149
+ Katana: '60',
150
+ Solana: '501',
151
+ Tron: '195',
152
+ Sui: '784',
153
+ Near: '397',
154
+ Starknet: '9004',
155
+ };
156
+ exports.VALID_CHAIN_IDS = Object.freeze({
157
+ [exports.CHAIN_NAMESPACE.Utxo]: [
158
+ exports.CHAIN_REFERENCE.BitcoinMainnet,
159
+ exports.CHAIN_REFERENCE.BitcoinCashMainnet,
160
+ exports.CHAIN_REFERENCE.DogecoinMainnet,
161
+ exports.CHAIN_REFERENCE.LitecoinMainnet,
162
+ exports.CHAIN_REFERENCE.ZcashMainnet,
163
+ ],
164
+ [exports.CHAIN_NAMESPACE.Evm]: [
165
+ exports.CHAIN_REFERENCE.EthereumMainnet,
166
+ exports.CHAIN_REFERENCE.AvalancheCChain,
167
+ exports.CHAIN_REFERENCE.OptimismMainnet,
168
+ exports.CHAIN_REFERENCE.BnbSmartChainMainnet,
169
+ exports.CHAIN_REFERENCE.PolygonMainnet,
170
+ exports.CHAIN_REFERENCE.GnosisMainnet,
171
+ exports.CHAIN_REFERENCE.ArbitrumMainnet,
172
+ exports.CHAIN_REFERENCE.ArbitrumNovaMainnet,
173
+ exports.CHAIN_REFERENCE.BaseMainnet,
174
+ exports.CHAIN_REFERENCE.MonadMainnet,
175
+ exports.CHAIN_REFERENCE.HyperEvmMainnet,
176
+ exports.CHAIN_REFERENCE.PlasmaMainnet,
177
+ exports.CHAIN_REFERENCE.KatanaMainnet,
178
+ ],
179
+ [exports.CHAIN_NAMESPACE.CosmosSdk]: [
180
+ exports.CHAIN_REFERENCE.CosmosHubMainnet,
181
+ exports.CHAIN_REFERENCE.ThorchainMainnet,
182
+ exports.CHAIN_REFERENCE.MayachainMainnet,
183
+ exports.CHAIN_REFERENCE.BinanceMainnet,
184
+ ],
185
+ [exports.CHAIN_NAMESPACE.Solana]: [exports.CHAIN_REFERENCE.SolanaMainnet],
186
+ [exports.CHAIN_NAMESPACE.Tron]: [exports.CHAIN_REFERENCE.TronMainnet],
187
+ [exports.CHAIN_NAMESPACE.Sui]: [exports.CHAIN_REFERENCE.SuiMainnet],
188
+ [exports.CHAIN_NAMESPACE.Near]: [exports.CHAIN_REFERENCE.NearMainnet],
189
+ [exports.CHAIN_NAMESPACE.Starknet]: [exports.CHAIN_REFERENCE.StarknetMainnet],
190
+ });
191
+ exports.VALID_ASSET_NAMESPACE = Object.freeze({
192
+ [exports.CHAIN_NAMESPACE.Utxo]: [exports.ASSET_NAMESPACE.slip44],
193
+ [exports.CHAIN_NAMESPACE.Evm]: [
194
+ exports.ASSET_NAMESPACE.slip44,
195
+ exports.ASSET_NAMESPACE.erc20,
196
+ exports.ASSET_NAMESPACE.erc721,
197
+ exports.ASSET_NAMESPACE.erc1155,
198
+ ],
199
+ [exports.CHAIN_NAMESPACE.CosmosSdk]: [exports.ASSET_NAMESPACE.slip44],
200
+ [exports.CHAIN_NAMESPACE.Solana]: [exports.ASSET_NAMESPACE.splToken, exports.ASSET_NAMESPACE.slip44],
201
+ [exports.CHAIN_NAMESPACE.Tron]: [exports.ASSET_NAMESPACE.slip44, exports.ASSET_NAMESPACE.trc20],
202
+ [exports.CHAIN_NAMESPACE.Sui]: [exports.ASSET_NAMESPACE.slip44, exports.ASSET_NAMESPACE.suiCoin],
203
+ [exports.CHAIN_NAMESPACE.Near]: [exports.ASSET_NAMESPACE.slip44, exports.ASSET_NAMESPACE.nep141],
204
+ [exports.CHAIN_NAMESPACE.Starknet]: [exports.ASSET_NAMESPACE.slip44, exports.ASSET_NAMESPACE.starknetToken],
205
+ });
206
+ // We should prob change this once we add more chains
207
+ exports.FEE_ASSET_IDS = [
208
+ exports.ethAssetId,
209
+ exports.btcAssetId,
210
+ exports.bchAssetId,
211
+ exports.cosmosAssetId,
212
+ exports.thorchainAssetId,
213
+ exports.mayachainAssetId,
214
+ exports.dogeAssetId,
215
+ exports.ltcAssetId,
216
+ exports.avalancheAssetId,
217
+ exports.optimismAssetId,
218
+ exports.bscAssetId,
219
+ exports.polygonAssetId,
220
+ exports.gnosisAssetId,
221
+ exports.arbitrumAssetId,
222
+ exports.arbitrumNovaAssetId,
223
+ exports.baseAssetId,
224
+ exports.monadAssetId,
225
+ exports.solAssetId,
226
+ exports.tronAssetId,
227
+ exports.suiAssetId,
228
+ exports.nearAssetId,
229
+ exports.starknetAssetId,
230
+ exports.zecAssetId,
231
+ ];
@@ -0,0 +1,7 @@
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';
@@ -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,16 @@
1
+ import type { AssetId, AssetNamespace, AssetReference } from './assetId/assetId';
2
+ import type { ChainId, ChainNamespace, ChainReference } from './chainId/chainId';
3
+ export declare const isChainNamespace: (maybeChainNamespace: ChainNamespace | string) => maybeChainNamespace is ChainNamespace;
4
+ export declare const isChainReference: (maybeChainReference: ChainReference | string) => maybeChainReference is ChainReference;
5
+ export declare const isAssetNamespace: (maybeAssetNamespace: AssetNamespace | string) => maybeAssetNamespace is AssetNamespace;
6
+ export declare const isAssetReference: (maybeAssetReference: AssetReference | string) => maybeAssetReference 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;
9
+ export declare const isChainId: (maybeChainId: ChainId | string) => maybeChainId is ChainId;
10
+ export declare const isChainIdParts: (chainNamespace: string, chainReference: string) => boolean;
11
+ export declare const assertIsChainId: (value: ChainId | string | undefined) => asserts value is ChainId;
12
+ export declare const assertIsChainNamespace: (value: ChainNamespace | string | undefined) => asserts value is ChainNamespace;
13
+ export declare const assertIsChainReference: (value: ChainReference | string | undefined) => asserts value is ChainReference;
14
+ export declare const assertIsAssetNamespace: (value: AssetNamespace | string | undefined) => asserts value is AssetNamespace;
15
+ export declare const assertIsAssetReference: (value: AssetReference | string | undefined) => asserts value is AssetReference;
16
+ export declare const assertValidChainPartsPair: (chainNamespace: ChainNamespace, chainReference: ChainReference) => void;
@@ -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;
@@ -0,0 +1,36 @@
1
+ import type { AccountId } from './accountId/accountId';
2
+ import type { AssetId } from './assetId/assetId';
3
+ import type { ChainId, ChainNamespace, ChainReference } from './chainId/chainId';
4
+ export declare const accountIdToChainId: (accountId: AccountId) => ChainId;
5
+ export declare const accountIdToSpecifier: (accountId: AccountId) => string;
6
+ export declare const isValidChainPartsPair: (chainNamespace: ChainNamespace, chainReference: ChainReference) => boolean;
7
+ export declare const generateAssetIdFromCosmosSdkDenom: (denom: string) => AssetId;
8
+ export declare const bitcoinAssetMap: {
9
+ [x: string]: string;
10
+ };
11
+ export declare const bitcoinCashAssetMap: {
12
+ [x: string]: string;
13
+ };
14
+ export declare const dogecoinAssetMap: {
15
+ [x: string]: string;
16
+ };
17
+ export declare const litecoinAssetMap: {
18
+ [x: string]: string;
19
+ };
20
+ export declare const zcashAssetMap: {
21
+ [x: string]: string;
22
+ };
23
+ export declare const cosmosAssetMap: {
24
+ [x: string]: string;
25
+ };
26
+ export declare const thorchainAssetMap: {
27
+ [x: string]: string;
28
+ };
29
+ export declare const mayachainAssetMap: {
30
+ [x: string]: string;
31
+ };
32
+ interface Flavoring<FlavorT> {
33
+ _type?: FlavorT;
34
+ }
35
+ export type Nominal<T, FlavorT> = T & Flavoring<FlavorT>;
36
+ export {};
@@ -0,0 +1,57 @@
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.zcashAssetMap = 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.zcashAssetMap = { [constants.zecAssetId]: 'zcash' };
55
+ exports.cosmosAssetMap = { [constants.cosmosAssetId]: 'cosmos' };
56
+ exports.thorchainAssetMap = { [constants.thorchainAssetId]: 'thorchain' };
57
+ exports.mayachainAssetMap = { [constants.mayachainAssetId]: 'cacao' };
@@ -0,0 +1 @@
1
+ export {};
@@ -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
+ });