@ton/appkit 0.0.1-alpha.2 → 0.0.2

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 (809) hide show
  1. package/.turbo/turbo-build.log +16 -0
  2. package/CHANGELOG.md +16 -0
  3. package/README.md +95 -1
  4. package/dist/cjs/actions/balances/get-balance-by-address.d.ts +18 -0
  5. package/dist/cjs/actions/balances/get-balance-by-address.d.ts.map +1 -0
  6. package/dist/cjs/actions/balances/get-balance-by-address.js +20 -0
  7. package/dist/cjs/actions/balances/get-balance.d.ts +15 -0
  8. package/dist/cjs/actions/balances/get-balance.d.ts.map +1 -0
  9. package/dist/cjs/actions/balances/get-balance.js +23 -0
  10. package/dist/cjs/actions/connectors/add-connector.d.ts +16 -0
  11. package/dist/cjs/actions/connectors/add-connector.d.ts.map +1 -0
  12. package/dist/cjs/actions/connectors/add-connector.js +17 -0
  13. package/dist/cjs/actions/connectors/connect.d.ts +17 -0
  14. package/dist/cjs/actions/connectors/connect.d.ts.map +1 -0
  15. package/dist/cjs/actions/connectors/connect.js +22 -0
  16. package/dist/cjs/actions/connectors/disconnect.d.ts +17 -0
  17. package/dist/cjs/actions/connectors/disconnect.d.ts.map +1 -0
  18. package/dist/cjs/actions/connectors/disconnect.js +22 -0
  19. package/dist/cjs/actions/connectors/get-connector-by-id.d.ts +18 -0
  20. package/dist/cjs/actions/connectors/get-connector-by-id.d.ts.map +1 -0
  21. package/dist/cjs/actions/connectors/get-connector-by-id.js +17 -0
  22. package/dist/cjs/actions/connectors/get-connectors.d.ts +15 -0
  23. package/dist/cjs/actions/connectors/get-connectors.d.ts.map +1 -0
  24. package/dist/cjs/actions/connectors/get-connectors.js +17 -0
  25. package/dist/cjs/actions/connectors/watch-connector-by-id.d.ts +19 -0
  26. package/dist/cjs/actions/connectors/watch-connector-by-id.d.ts.map +1 -0
  27. package/dist/cjs/actions/connectors/watch-connector-by-id.js +23 -0
  28. package/dist/cjs/actions/connectors/watch-connectors.d.ts +18 -0
  29. package/dist/cjs/actions/connectors/watch-connectors.d.ts.map +1 -0
  30. package/dist/cjs/actions/connectors/watch-connectors.js +23 -0
  31. package/dist/cjs/actions/index.d.ts +48 -0
  32. package/dist/cjs/actions/index.d.ts.map +1 -0
  33. package/dist/cjs/actions/index.js +100 -0
  34. package/dist/cjs/actions/jettons/create-transfer-jetton-transaction.d.ts +22 -0
  35. package/dist/cjs/actions/jettons/create-transfer-jetton-transaction.d.ts.map +1 -0
  36. package/dist/cjs/actions/jettons/create-transfer-jetton-transaction.js +41 -0
  37. package/dist/cjs/actions/jettons/get-jetton-balance.d.ts +19 -0
  38. package/dist/cjs/actions/jettons/get-jetton-balance.d.ts.map +1 -0
  39. package/dist/cjs/actions/jettons/get-jetton-balance.js +24 -0
  40. package/dist/cjs/actions/jettons/get-jetton-info.d.ts +17 -0
  41. package/dist/cjs/actions/jettons/get-jetton-info.d.ts.map +1 -0
  42. package/dist/cjs/actions/jettons/get-jetton-info.js +48 -0
  43. package/dist/cjs/actions/jettons/get-jetton-wallet-address.d.ts +18 -0
  44. package/dist/cjs/actions/jettons/get-jetton-wallet-address.d.ts.map +1 -0
  45. package/dist/cjs/actions/jettons/get-jetton-wallet-address.js +17 -0
  46. package/dist/cjs/actions/jettons/get-jettons-by-address.d.ts +20 -0
  47. package/dist/cjs/actions/jettons/get-jettons-by-address.d.ts.map +1 -0
  48. package/dist/cjs/actions/jettons/get-jettons-by-address.js +38 -0
  49. package/dist/cjs/actions/jettons/get-jettons.d.ts +17 -0
  50. package/dist/cjs/actions/jettons/get-jettons.d.ts.map +1 -0
  51. package/dist/cjs/actions/jettons/get-jettons.js +25 -0
  52. package/dist/cjs/actions/jettons/transfer-jetton.d.ts +18 -0
  53. package/dist/cjs/actions/jettons/transfer-jetton.d.ts.map +1 -0
  54. package/dist/cjs/actions/jettons/transfer-jetton.js +20 -0
  55. package/dist/cjs/actions/network/get-network.d.ts +15 -0
  56. package/dist/cjs/actions/network/get-network.d.ts.map +1 -0
  57. package/dist/cjs/actions/network/get-network.js +19 -0
  58. package/dist/cjs/actions/network/get-networks.d.ts +15 -0
  59. package/dist/cjs/actions/network/get-networks.d.ts.map +1 -0
  60. package/dist/cjs/actions/network/get-networks.js +17 -0
  61. package/dist/cjs/actions/network/watch-networks.d.ts +18 -0
  62. package/dist/cjs/actions/network/watch-networks.d.ts.map +1 -0
  63. package/dist/cjs/actions/network/watch-networks.js +23 -0
  64. package/dist/cjs/actions/nft/create-transfer-nft-transaction.d.ts +21 -0
  65. package/dist/cjs/actions/nft/create-transfer-nft-transaction.d.ts.map +1 -0
  66. package/dist/cjs/actions/nft/create-transfer-nft-transaction.js +34 -0
  67. package/dist/cjs/actions/nft/get-nft.d.ts +18 -0
  68. package/dist/cjs/actions/nft/get-nft.d.ts.map +1 -0
  69. package/dist/cjs/actions/nft/get-nft.js +19 -0
  70. package/dist/cjs/actions/nft/get-nfts-by-address.d.ts +20 -0
  71. package/dist/cjs/actions/nft/get-nfts-by-address.d.ts.map +1 -0
  72. package/dist/cjs/actions/nft/get-nfts-by-address.js +24 -0
  73. package/dist/cjs/actions/nft/get-nfts.d.ts +17 -0
  74. package/dist/cjs/actions/nft/get-nfts.d.ts.map +1 -0
  75. package/dist/cjs/actions/nft/get-nfts.js +25 -0
  76. package/dist/cjs/actions/nft/transfer-nft.d.ts +17 -0
  77. package/dist/cjs/actions/nft/transfer-nft.d.ts.map +1 -0
  78. package/dist/cjs/actions/nft/transfer-nft.js +20 -0
  79. package/dist/cjs/actions/providers/register-provider.d.ts +15 -0
  80. package/dist/cjs/actions/providers/register-provider.d.ts.map +1 -0
  81. package/dist/cjs/actions/providers/register-provider.js +17 -0
  82. package/dist/cjs/actions/signing/sign-binary.d.ts +29 -0
  83. package/dist/cjs/actions/signing/sign-binary.d.ts.map +1 -0
  84. package/dist/cjs/actions/signing/sign-binary.js +34 -0
  85. package/dist/cjs/actions/signing/sign-cell.d.ts +35 -0
  86. package/dist/cjs/actions/signing/sign-cell.d.ts.map +1 -0
  87. package/dist/cjs/actions/signing/sign-cell.js +41 -0
  88. package/dist/cjs/actions/signing/sign-text.d.ts +28 -0
  89. package/dist/cjs/actions/signing/sign-text.d.ts.map +1 -0
  90. package/dist/cjs/actions/signing/sign-text.js +34 -0
  91. package/dist/cjs/actions/swap/build-swap-transaction.d.ts +17 -0
  92. package/dist/cjs/actions/swap/build-swap-transaction.d.ts.map +1 -0
  93. package/dist/cjs/actions/swap/build-swap-transaction.js +17 -0
  94. package/dist/cjs/actions/swap/get-swap-manager.d.ts +15 -0
  95. package/dist/cjs/actions/swap/get-swap-manager.d.ts.map +1 -0
  96. package/dist/cjs/actions/swap/get-swap-manager.js +17 -0
  97. package/dist/cjs/actions/swap/get-swap-quote.d.ts +18 -0
  98. package/dist/cjs/actions/swap/get-swap-quote.d.ts.map +1 -0
  99. package/dist/cjs/actions/swap/get-swap-quote.js +17 -0
  100. package/dist/cjs/actions/transaction/create-transfer-ton-transaction.d.ts +27 -0
  101. package/dist/cjs/actions/transaction/create-transfer-ton-transaction.d.ts.map +1 -0
  102. package/dist/cjs/actions/transaction/create-transfer-ton-transaction.js +40 -0
  103. package/dist/cjs/actions/transaction/get-transaction-status.d.ts +44 -0
  104. package/dist/cjs/actions/transaction/get-transaction-status.d.ts.map +1 -0
  105. package/dist/cjs/actions/transaction/get-transaction-status.js +40 -0
  106. package/dist/cjs/actions/transaction/send-transaction.d.ts +18 -0
  107. package/dist/cjs/actions/transaction/send-transaction.d.ts.map +1 -0
  108. package/dist/cjs/actions/transaction/send-transaction.js +22 -0
  109. package/dist/cjs/actions/transaction/transfer-ton.d.ts +18 -0
  110. package/dist/cjs/actions/transaction/transfer-ton.d.ts.map +1 -0
  111. package/dist/cjs/actions/transaction/transfer-ton.js +20 -0
  112. package/dist/cjs/actions/wallets/get-connected-wallets.d.ts +15 -0
  113. package/dist/cjs/actions/wallets/get-connected-wallets.d.ts.map +1 -0
  114. package/dist/cjs/actions/wallets/get-connected-wallets.js +17 -0
  115. package/dist/cjs/actions/wallets/get-selected-wallet.d.ts +15 -0
  116. package/dist/cjs/actions/wallets/get-selected-wallet.d.ts.map +1 -0
  117. package/dist/cjs/actions/wallets/get-selected-wallet.js +17 -0
  118. package/dist/cjs/actions/wallets/set-selected-wallet-id.d.ts +17 -0
  119. package/dist/cjs/actions/wallets/set-selected-wallet-id.d.ts.map +1 -0
  120. package/dist/cjs/actions/wallets/set-selected-wallet-id.js +17 -0
  121. package/dist/cjs/actions/wallets/watch-connected-wallets.d.ts +18 -0
  122. package/dist/cjs/actions/wallets/watch-connected-wallets.d.ts.map +1 -0
  123. package/dist/cjs/actions/wallets/watch-connected-wallets.js +22 -0
  124. package/dist/cjs/actions/wallets/watch-selected-wallet.d.ts +18 -0
  125. package/dist/cjs/actions/wallets/watch-selected-wallet.d.ts.map +1 -0
  126. package/dist/cjs/actions/wallets/watch-selected-wallet.js +24 -0
  127. package/dist/cjs/connectors/tonconnect/adapters/ton-connect-wallet-adapter.d.ts +40 -0
  128. package/dist/cjs/connectors/tonconnect/adapters/ton-connect-wallet-adapter.d.ts.map +1 -0
  129. package/dist/cjs/connectors/tonconnect/adapters/ton-connect-wallet-adapter.js +114 -0
  130. package/dist/cjs/connectors/tonconnect/connectors/ton-connect-connector.d.ts +33 -0
  131. package/dist/cjs/connectors/tonconnect/connectors/ton-connect-connector.d.ts.map +1 -0
  132. package/dist/cjs/connectors/tonconnect/connectors/ton-connect-connector.js +71 -0
  133. package/dist/cjs/connectors/tonconnect/constants/id.d.ts +9 -0
  134. package/dist/cjs/connectors/tonconnect/constants/id.d.ts.map +1 -0
  135. package/dist/cjs/connectors/tonconnect/constants/id.js +11 -0
  136. package/dist/cjs/connectors/tonconnect/index.d.ts +27 -0
  137. package/dist/cjs/connectors/tonconnect/index.d.ts.map +1 -0
  138. package/dist/cjs/connectors/tonconnect/index.js +32 -0
  139. package/dist/cjs/connectors/tonconnect/utils/transaction.d.ts +31 -0
  140. package/dist/cjs/connectors/tonconnect/utils/transaction.d.ts.map +1 -0
  141. package/dist/cjs/connectors/tonconnect/utils/transaction.js +43 -0
  142. package/dist/cjs/core/app-kit/constants/events.d.ts +34 -0
  143. package/dist/cjs/core/app-kit/constants/events.d.ts.map +1 -0
  144. package/dist/cjs/core/app-kit/constants/events.js +36 -0
  145. package/dist/cjs/core/app-kit/index.d.ts +12 -0
  146. package/dist/cjs/core/app-kit/index.d.ts.map +1 -0
  147. package/dist/cjs/core/app-kit/index.js +17 -0
  148. package/dist/cjs/core/app-kit/services/app-kit-network-manager.d.ts +16 -0
  149. package/dist/cjs/core/app-kit/services/app-kit-network-manager.d.ts.map +1 -0
  150. package/dist/cjs/core/app-kit/services/app-kit-network-manager.js +23 -0
  151. package/dist/cjs/core/app-kit/services/app-kit.d.ts +44 -0
  152. package/dist/cjs/core/app-kit/services/app-kit.d.ts.map +1 -0
  153. package/dist/cjs/core/app-kit/services/app-kit.js +96 -0
  154. package/dist/cjs/core/app-kit/types/config.d.ts +26 -0
  155. package/dist/cjs/core/app-kit/types/config.d.ts.map +1 -0
  156. package/dist/cjs/core/app-kit/types/config.js +9 -0
  157. package/dist/cjs/core/app-kit/types/events.d.ts +35 -0
  158. package/dist/cjs/core/app-kit/types/events.d.ts.map +1 -0
  159. package/dist/cjs/core/app-kit/types/events.js +9 -0
  160. package/dist/cjs/core/emitter/index.d.ts +14 -0
  161. package/dist/cjs/core/emitter/index.d.ts.map +1 -0
  162. package/dist/cjs/core/emitter/index.js +16 -0
  163. package/dist/cjs/core/emitter/services/emitter.d.ts +18 -0
  164. package/dist/cjs/core/emitter/services/emitter.d.ts.map +1 -0
  165. package/dist/cjs/core/emitter/services/emitter.js +47 -0
  166. package/dist/cjs/core/emitter/types/events.d.ts +16 -0
  167. package/dist/cjs/core/emitter/types/events.d.ts.map +1 -0
  168. package/dist/cjs/core/emitter/types/events.js +9 -0
  169. package/dist/cjs/core/wallets-manager/index.d.ts +9 -0
  170. package/dist/cjs/core/wallets-manager/index.d.ts.map +1 -0
  171. package/dist/cjs/core/wallets-manager/index.js +12 -0
  172. package/dist/cjs/core/wallets-manager/services/wallets-manager.d.ts +40 -0
  173. package/dist/cjs/core/wallets-manager/services/wallets-manager.d.ts.map +1 -0
  174. package/dist/cjs/core/wallets-manager/services/wallets-manager.js +69 -0
  175. package/dist/cjs/index.d.ts +43 -0
  176. package/dist/cjs/index.d.ts.map +1 -0
  177. package/dist/cjs/index.js +62 -0
  178. package/dist/cjs/queries/balances/get-balance-by-address.d.ts +21 -0
  179. package/dist/cjs/queries/balances/get-balance-by-address.d.ts.map +1 -0
  180. package/dist/cjs/queries/balances/get-balance-by-address.js +31 -0
  181. package/dist/cjs/queries/connectors/connect.d.ts +22 -0
  182. package/dist/cjs/queries/connectors/connect.d.ts.map +1 -0
  183. package/dist/cjs/queries/connectors/connect.js +21 -0
  184. package/dist/cjs/queries/connectors/disconnect.d.ts +22 -0
  185. package/dist/cjs/queries/connectors/disconnect.d.ts.map +1 -0
  186. package/dist/cjs/queries/connectors/disconnect.js +21 -0
  187. package/dist/cjs/queries/index.d.ts +27 -0
  188. package/dist/cjs/queries/index.d.ts.map +1 -0
  189. package/dist/cjs/queries/index.js +55 -0
  190. package/dist/cjs/queries/jettons/get-jetton-balance-by-address.d.ts +24 -0
  191. package/dist/cjs/queries/jettons/get-jetton-balance-by-address.d.ts.map +1 -0
  192. package/dist/cjs/queries/jettons/get-jetton-balance-by-address.js +33 -0
  193. package/dist/cjs/queries/jettons/get-jetton-info.d.ts +21 -0
  194. package/dist/cjs/queries/jettons/get-jetton-info.d.ts.map +1 -0
  195. package/dist/cjs/queries/jettons/get-jetton-info.js +31 -0
  196. package/dist/cjs/queries/jettons/get-jetton-wallet-address.d.ts +24 -0
  197. package/dist/cjs/queries/jettons/get-jetton-wallet-address.d.ts.map +1 -0
  198. package/dist/cjs/queries/jettons/get-jetton-wallet-address.js +33 -0
  199. package/dist/cjs/queries/jettons/get-jettons-by-address.d.ts +21 -0
  200. package/dist/cjs/queries/jettons/get-jettons-by-address.d.ts.map +1 -0
  201. package/dist/cjs/queries/jettons/get-jettons-by-address.js +31 -0
  202. package/dist/cjs/queries/jettons/transfer-jetton.d.ts +22 -0
  203. package/dist/cjs/queries/jettons/transfer-jetton.d.ts.map +1 -0
  204. package/dist/cjs/queries/jettons/transfer-jetton.js +21 -0
  205. package/dist/cjs/queries/nft/get-nft.d.ts +21 -0
  206. package/dist/cjs/queries/nft/get-nft.d.ts.map +1 -0
  207. package/dist/cjs/queries/nft/get-nft.js +31 -0
  208. package/dist/cjs/queries/nft/get-nfts-by-address.d.ts +21 -0
  209. package/dist/cjs/queries/nft/get-nfts-by-address.d.ts.map +1 -0
  210. package/dist/cjs/queries/nft/get-nfts-by-address.js +31 -0
  211. package/dist/cjs/queries/nft/transfer-nft.d.ts +22 -0
  212. package/dist/cjs/queries/nft/transfer-nft.d.ts.map +1 -0
  213. package/dist/cjs/queries/nft/transfer-nft.js +21 -0
  214. package/dist/cjs/queries/signing/sign-binary.d.ts +21 -0
  215. package/dist/cjs/queries/signing/sign-binary.d.ts.map +1 -0
  216. package/dist/cjs/queries/signing/sign-binary.js +21 -0
  217. package/dist/cjs/queries/signing/sign-cell.d.ts +21 -0
  218. package/dist/cjs/queries/signing/sign-cell.d.ts.map +1 -0
  219. package/dist/cjs/queries/signing/sign-cell.js +21 -0
  220. package/dist/cjs/queries/signing/sign-text.d.ts +21 -0
  221. package/dist/cjs/queries/signing/sign-text.d.ts.map +1 -0
  222. package/dist/cjs/queries/signing/sign-text.js +21 -0
  223. package/dist/cjs/queries/swap/build-swap-transaction.d.ts +21 -0
  224. package/dist/cjs/queries/swap/build-swap-transaction.d.ts.map +1 -0
  225. package/dist/cjs/queries/swap/build-swap-transaction.js +25 -0
  226. package/dist/cjs/queries/swap/get-swap-quote.d.ts +21 -0
  227. package/dist/cjs/queries/swap/get-swap-quote.d.ts.map +1 -0
  228. package/dist/cjs/queries/swap/get-swap-quote.js +41 -0
  229. package/dist/cjs/queries/transaction/get-transaction-status.d.ts +18 -0
  230. package/dist/cjs/queries/transaction/get-transaction-status.d.ts.map +1 -0
  231. package/dist/cjs/queries/transaction/get-transaction-status.js +21 -0
  232. package/dist/cjs/queries/transaction/send-transaction.d.ts +21 -0
  233. package/dist/cjs/queries/transaction/send-transaction.d.ts.map +1 -0
  234. package/dist/cjs/queries/transaction/send-transaction.js +21 -0
  235. package/dist/cjs/queries/transaction/transfer-ton.d.ts +21 -0
  236. package/dist/cjs/queries/transaction/transfer-ton.d.ts.map +1 -0
  237. package/dist/cjs/queries/transaction/transfer-ton.js +21 -0
  238. package/dist/cjs/swap/index.d.ts +9 -0
  239. package/dist/cjs/swap/index.d.ts.map +1 -0
  240. package/dist/cjs/swap/index.js +9 -0
  241. package/dist/cjs/swap/omniston/index.d.ts +9 -0
  242. package/dist/cjs/swap/omniston/index.d.ts.map +1 -0
  243. package/dist/cjs/swap/omniston/index.js +24 -0
  244. package/dist/cjs/types/balance.d.ts +10 -0
  245. package/dist/cjs/types/balance.d.ts.map +1 -0
  246. package/dist/cjs/types/balance.js +9 -0
  247. package/dist/cjs/types/connector.d.ts +35 -0
  248. package/dist/cjs/types/connector.d.ts.map +1 -0
  249. package/dist/cjs/types/connector.js +9 -0
  250. package/dist/cjs/types/jetton.d.ts +9 -0
  251. package/dist/cjs/types/jetton.d.ts.map +1 -0
  252. package/dist/cjs/types/jetton.js +9 -0
  253. package/dist/cjs/types/network.d.ts +9 -0
  254. package/dist/cjs/types/network.d.ts.map +1 -0
  255. package/dist/cjs/types/network.js +12 -0
  256. package/dist/cjs/types/nft.d.ts +9 -0
  257. package/dist/cjs/types/nft.d.ts.map +1 -0
  258. package/dist/cjs/types/nft.js +9 -0
  259. package/dist/cjs/types/primitives.d.ts +9 -0
  260. package/dist/cjs/types/primitives.d.ts.map +1 -0
  261. package/dist/cjs/types/primitives.js +9 -0
  262. package/dist/cjs/types/provider.d.ts +13 -0
  263. package/dist/cjs/types/provider.d.ts.map +1 -0
  264. package/dist/cjs/types/provider.js +9 -0
  265. package/dist/cjs/types/query.d.ts +19 -0
  266. package/dist/cjs/types/query.d.ts.map +1 -0
  267. package/dist/cjs/types/query.js +9 -0
  268. package/dist/cjs/types/signing.d.ts +76 -0
  269. package/dist/cjs/types/signing.d.ts.map +1 -0
  270. package/dist/cjs/types/signing.js +9 -0
  271. package/dist/cjs/types/transaction.d.ts +54 -0
  272. package/dist/cjs/types/transaction.d.ts.map +1 -0
  273. package/dist/cjs/types/transaction.js +9 -0
  274. package/dist/cjs/types/utils.d.ts +83 -0
  275. package/dist/cjs/types/utils.d.ts.map +1 -0
  276. package/dist/cjs/types/utils.js +9 -0
  277. package/dist/cjs/types/wallet.d.ts +32 -0
  278. package/dist/cjs/types/wallet.d.ts.map +1 -0
  279. package/dist/cjs/types/wallet.js +9 -0
  280. package/dist/cjs/utils/amount/validate-numeric-string.d.ts +11 -0
  281. package/dist/cjs/utils/amount/validate-numeric-string.d.ts.map +1 -0
  282. package/dist/cjs/utils/amount/validate-numeric-string.js +26 -0
  283. package/dist/cjs/utils/amount/validate-numeric-string.test.d.ts +9 -0
  284. package/dist/cjs/utils/amount/validate-numeric-string.test.d.ts.map +1 -0
  285. package/dist/cjs/utils/amount/validate-numeric-string.test.js +46 -0
  286. package/dist/cjs/utils/arrays/key-by.d.ts +9 -0
  287. package/dist/cjs/utils/arrays/key-by.d.ts.map +1 -0
  288. package/dist/cjs/utils/arrays/key-by.js +18 -0
  289. package/dist/cjs/utils/arrays/key-by.test.d.ts +9 -0
  290. package/dist/cjs/utils/arrays/key-by.test.d.ts.map +1 -0
  291. package/dist/cjs/utils/arrays/key-by.test.js +51 -0
  292. package/dist/cjs/utils/arrays/random-from-array.d.ts +9 -0
  293. package/dist/cjs/utils/arrays/random-from-array.d.ts.map +1 -0
  294. package/dist/cjs/utils/arrays/random-from-array.js +12 -0
  295. package/dist/cjs/utils/arrays/random-from-array.test.d.ts +9 -0
  296. package/dist/cjs/utils/arrays/random-from-array.test.d.ts.map +1 -0
  297. package/dist/cjs/utils/arrays/random-from-array.test.js +33 -0
  298. package/dist/cjs/utils/errors/get-error-message.d.ts +9 -0
  299. package/dist/cjs/utils/errors/get-error-message.d.ts.map +1 -0
  300. package/dist/cjs/utils/errors/get-error-message.js +21 -0
  301. package/dist/cjs/utils/errors/get-error-message.test.d.ts +9 -0
  302. package/dist/cjs/utils/errors/get-error-message.test.d.ts.map +1 -0
  303. package/dist/cjs/utils/errors/get-error-message.test.js +34 -0
  304. package/dist/cjs/utils/functions/noop.d.ts +9 -0
  305. package/dist/cjs/utils/functions/noop.d.ts.map +1 -0
  306. package/dist/cjs/utils/functions/noop.js +14 -0
  307. package/dist/cjs/utils/index.d.ts +22 -0
  308. package/dist/cjs/utils/index.d.ts.map +1 -0
  309. package/dist/cjs/utils/index.js +40 -0
  310. package/dist/cjs/utils/jetton/jetton-info.d.ts +23 -0
  311. package/dist/cjs/utils/jetton/jetton-info.d.ts.map +1 -0
  312. package/dist/cjs/utils/jetton/jetton-info.js +55 -0
  313. package/dist/cjs/utils/nft/nft-info.d.ts +21 -0
  314. package/dist/cjs/utils/nft/nft-info.d.ts.map +1 -0
  315. package/dist/cjs/utils/nft/nft-info.js +65 -0
  316. package/dist/cjs/utils/object/map-values.d.ts +9 -0
  317. package/dist/cjs/utils/object/map-values.d.ts.map +1 -0
  318. package/dist/cjs/utils/object/map-values.js +19 -0
  319. package/dist/cjs/utils/object/map-values.test.d.ts +9 -0
  320. package/dist/cjs/utils/object/map-values.test.d.ts.map +1 -0
  321. package/dist/cjs/utils/object/map-values.test.js +33 -0
  322. package/dist/cjs/utils/predicate/is-string.d.ts +9 -0
  323. package/dist/cjs/utils/predicate/is-string.d.ts.map +1 -0
  324. package/dist/cjs/utils/predicate/is-string.js +13 -0
  325. package/dist/cjs/utils/predicate/is-string.test.d.ts +9 -0
  326. package/dist/cjs/utils/predicate/is-string.test.d.ts.map +1 -0
  327. package/dist/cjs/utils/predicate/is-string.test.js +27 -0
  328. package/dist/cjs/utils/promise/cancel-promise.d.ts +9 -0
  329. package/dist/cjs/utils/promise/cancel-promise.d.ts.map +1 -0
  330. package/dist/cjs/utils/promise/cancel-promise.js +19 -0
  331. package/dist/cjs/utils/promise/cancel-promise.test.d.ts +9 -0
  332. package/dist/cjs/utils/promise/cancel-promise.test.d.ts.map +1 -0
  333. package/dist/cjs/utils/promise/cancel-promise.test.js +25 -0
  334. package/dist/cjs/utils/promise/sleep.d.ts +9 -0
  335. package/dist/cjs/utils/promise/sleep.d.ts.map +1 -0
  336. package/dist/cjs/utils/promise/sleep.js +16 -0
  337. package/dist/cjs/utils/query/filter-query-options.d.ts +10 -0
  338. package/dist/cjs/utils/query/filter-query-options.d.ts.map +1 -0
  339. package/dist/cjs/utils/query/filter-query-options.js +14 -0
  340. package/dist/cjs/utils/string/middle-ellipsis.d.ts +9 -0
  341. package/dist/cjs/utils/string/middle-ellipsis.d.ts.map +1 -0
  342. package/dist/cjs/utils/string/middle-ellipsis.js +17 -0
  343. package/dist/cjs/utils/string/middle-ellipsis.test.d.ts +9 -0
  344. package/dist/cjs/utils/string/middle-ellipsis.test.d.ts.map +1 -0
  345. package/dist/cjs/utils/string/middle-ellipsis.test.js +29 -0
  346. package/dist/esm/actions/balances/get-balance-by-address.d.ts +18 -0
  347. package/dist/esm/actions/balances/get-balance-by-address.d.ts.map +1 -0
  348. package/dist/esm/actions/balances/get-balance-by-address.js +16 -0
  349. package/dist/esm/actions/balances/get-balance.d.ts +15 -0
  350. package/dist/esm/actions/balances/get-balance.d.ts.map +1 -0
  351. package/dist/esm/actions/balances/get-balance.js +19 -0
  352. package/dist/esm/actions/connectors/add-connector.d.ts +16 -0
  353. package/dist/esm/actions/connectors/add-connector.d.ts.map +1 -0
  354. package/dist/esm/actions/connectors/add-connector.js +13 -0
  355. package/dist/esm/actions/connectors/connect.d.ts +17 -0
  356. package/dist/esm/actions/connectors/connect.d.ts.map +1 -0
  357. package/dist/esm/actions/connectors/connect.js +18 -0
  358. package/dist/esm/actions/connectors/disconnect.d.ts +17 -0
  359. package/dist/esm/actions/connectors/disconnect.d.ts.map +1 -0
  360. package/dist/esm/actions/connectors/disconnect.js +18 -0
  361. package/dist/esm/actions/connectors/get-connector-by-id.d.ts +18 -0
  362. package/dist/esm/actions/connectors/get-connector-by-id.d.ts.map +1 -0
  363. package/dist/esm/actions/connectors/get-connector-by-id.js +13 -0
  364. package/dist/esm/actions/connectors/get-connectors.d.ts +15 -0
  365. package/dist/esm/actions/connectors/get-connectors.d.ts.map +1 -0
  366. package/dist/esm/actions/connectors/get-connectors.js +13 -0
  367. package/dist/esm/actions/connectors/watch-connector-by-id.d.ts +19 -0
  368. package/dist/esm/actions/connectors/watch-connector-by-id.d.ts.map +1 -0
  369. package/dist/esm/actions/connectors/watch-connector-by-id.js +19 -0
  370. package/dist/esm/actions/connectors/watch-connectors.d.ts +18 -0
  371. package/dist/esm/actions/connectors/watch-connectors.d.ts.map +1 -0
  372. package/dist/esm/actions/connectors/watch-connectors.js +19 -0
  373. package/dist/esm/actions/index.d.ts +48 -0
  374. package/dist/esm/actions/index.d.ts.map +1 -0
  375. package/dist/esm/actions/index.js +57 -0
  376. package/dist/esm/actions/jettons/create-transfer-jetton-transaction.d.ts +22 -0
  377. package/dist/esm/actions/jettons/create-transfer-jetton-transaction.d.ts.map +1 -0
  378. package/dist/esm/actions/jettons/create-transfer-jetton-transaction.js +37 -0
  379. package/dist/esm/actions/jettons/get-jetton-balance.d.ts +19 -0
  380. package/dist/esm/actions/jettons/get-jetton-balance.d.ts.map +1 -0
  381. package/dist/esm/actions/jettons/get-jetton-balance.js +20 -0
  382. package/dist/esm/actions/jettons/get-jetton-info.d.ts +17 -0
  383. package/dist/esm/actions/jettons/get-jetton-info.d.ts.map +1 -0
  384. package/dist/esm/actions/jettons/get-jetton-info.js +44 -0
  385. package/dist/esm/actions/jettons/get-jetton-wallet-address.d.ts +18 -0
  386. package/dist/esm/actions/jettons/get-jetton-wallet-address.d.ts.map +1 -0
  387. package/dist/esm/actions/jettons/get-jetton-wallet-address.js +13 -0
  388. package/dist/esm/actions/jettons/get-jettons-by-address.d.ts +20 -0
  389. package/dist/esm/actions/jettons/get-jettons-by-address.d.ts.map +1 -0
  390. package/dist/esm/actions/jettons/get-jettons-by-address.js +34 -0
  391. package/dist/esm/actions/jettons/get-jettons.d.ts +17 -0
  392. package/dist/esm/actions/jettons/get-jettons.d.ts.map +1 -0
  393. package/dist/esm/actions/jettons/get-jettons.js +21 -0
  394. package/dist/esm/actions/jettons/transfer-jetton.d.ts +18 -0
  395. package/dist/esm/actions/jettons/transfer-jetton.d.ts.map +1 -0
  396. package/dist/esm/actions/jettons/transfer-jetton.js +16 -0
  397. package/dist/esm/actions/network/get-network.d.ts +15 -0
  398. package/dist/esm/actions/network/get-network.d.ts.map +1 -0
  399. package/dist/esm/actions/network/get-network.js +15 -0
  400. package/dist/esm/actions/network/get-networks.d.ts +15 -0
  401. package/dist/esm/actions/network/get-networks.d.ts.map +1 -0
  402. package/dist/esm/actions/network/get-networks.js +13 -0
  403. package/dist/esm/actions/network/watch-networks.d.ts +18 -0
  404. package/dist/esm/actions/network/watch-networks.d.ts.map +1 -0
  405. package/dist/esm/actions/network/watch-networks.js +19 -0
  406. package/dist/esm/actions/nft/create-transfer-nft-transaction.d.ts +21 -0
  407. package/dist/esm/actions/nft/create-transfer-nft-transaction.d.ts.map +1 -0
  408. package/dist/esm/actions/nft/create-transfer-nft-transaction.js +30 -0
  409. package/dist/esm/actions/nft/get-nft.d.ts +18 -0
  410. package/dist/esm/actions/nft/get-nft.d.ts.map +1 -0
  411. package/dist/esm/actions/nft/get-nft.js +15 -0
  412. package/dist/esm/actions/nft/get-nfts-by-address.d.ts +20 -0
  413. package/dist/esm/actions/nft/get-nfts-by-address.d.ts.map +1 -0
  414. package/dist/esm/actions/nft/get-nfts-by-address.js +20 -0
  415. package/dist/esm/actions/nft/get-nfts.d.ts +17 -0
  416. package/dist/esm/actions/nft/get-nfts.d.ts.map +1 -0
  417. package/dist/esm/actions/nft/get-nfts.js +21 -0
  418. package/dist/esm/actions/nft/transfer-nft.d.ts +17 -0
  419. package/dist/esm/actions/nft/transfer-nft.d.ts.map +1 -0
  420. package/dist/esm/actions/nft/transfer-nft.js +16 -0
  421. package/dist/esm/actions/providers/register-provider.d.ts +15 -0
  422. package/dist/esm/actions/providers/register-provider.d.ts.map +1 -0
  423. package/dist/esm/actions/providers/register-provider.js +13 -0
  424. package/dist/esm/actions/signing/sign-binary.d.ts +29 -0
  425. package/dist/esm/actions/signing/sign-binary.d.ts.map +1 -0
  426. package/dist/esm/actions/signing/sign-binary.js +30 -0
  427. package/dist/esm/actions/signing/sign-cell.d.ts +35 -0
  428. package/dist/esm/actions/signing/sign-cell.d.ts.map +1 -0
  429. package/dist/esm/actions/signing/sign-cell.js +37 -0
  430. package/dist/esm/actions/signing/sign-text.d.ts +28 -0
  431. package/dist/esm/actions/signing/sign-text.d.ts.map +1 -0
  432. package/dist/esm/actions/signing/sign-text.js +30 -0
  433. package/dist/esm/actions/swap/build-swap-transaction.d.ts +17 -0
  434. package/dist/esm/actions/swap/build-swap-transaction.d.ts.map +1 -0
  435. package/dist/esm/actions/swap/build-swap-transaction.js +13 -0
  436. package/dist/esm/actions/swap/get-swap-manager.d.ts +15 -0
  437. package/dist/esm/actions/swap/get-swap-manager.d.ts.map +1 -0
  438. package/dist/esm/actions/swap/get-swap-manager.js +13 -0
  439. package/dist/esm/actions/swap/get-swap-quote.d.ts +18 -0
  440. package/dist/esm/actions/swap/get-swap-quote.d.ts.map +1 -0
  441. package/dist/esm/actions/swap/get-swap-quote.js +13 -0
  442. package/dist/esm/actions/transaction/create-transfer-ton-transaction.d.ts +27 -0
  443. package/dist/esm/actions/transaction/create-transfer-ton-transaction.d.ts.map +1 -0
  444. package/dist/esm/actions/transaction/create-transfer-ton-transaction.js +36 -0
  445. package/dist/esm/actions/transaction/get-transaction-status.d.ts +44 -0
  446. package/dist/esm/actions/transaction/get-transaction-status.d.ts.map +1 -0
  447. package/dist/esm/actions/transaction/get-transaction-status.js +36 -0
  448. package/dist/esm/actions/transaction/send-transaction.d.ts +18 -0
  449. package/dist/esm/actions/transaction/send-transaction.d.ts.map +1 -0
  450. package/dist/esm/actions/transaction/send-transaction.js +18 -0
  451. package/dist/esm/actions/transaction/transfer-ton.d.ts +18 -0
  452. package/dist/esm/actions/transaction/transfer-ton.d.ts.map +1 -0
  453. package/dist/esm/actions/transaction/transfer-ton.js +16 -0
  454. package/dist/esm/actions/wallets/get-connected-wallets.d.ts +15 -0
  455. package/dist/esm/actions/wallets/get-connected-wallets.d.ts.map +1 -0
  456. package/dist/esm/actions/wallets/get-connected-wallets.js +13 -0
  457. package/dist/esm/actions/wallets/get-selected-wallet.d.ts +15 -0
  458. package/dist/esm/actions/wallets/get-selected-wallet.d.ts.map +1 -0
  459. package/dist/esm/actions/wallets/get-selected-wallet.js +13 -0
  460. package/dist/esm/actions/wallets/set-selected-wallet-id.d.ts +17 -0
  461. package/dist/esm/actions/wallets/set-selected-wallet-id.d.ts.map +1 -0
  462. package/dist/esm/actions/wallets/set-selected-wallet-id.js +13 -0
  463. package/dist/esm/actions/wallets/watch-connected-wallets.d.ts +18 -0
  464. package/dist/esm/actions/wallets/watch-connected-wallets.d.ts.map +1 -0
  465. package/dist/esm/actions/wallets/watch-connected-wallets.js +18 -0
  466. package/dist/esm/actions/wallets/watch-selected-wallet.d.ts +18 -0
  467. package/dist/esm/actions/wallets/watch-selected-wallet.d.ts.map +1 -0
  468. package/dist/esm/actions/wallets/watch-selected-wallet.js +20 -0
  469. package/dist/esm/connectors/tonconnect/adapters/ton-connect-wallet-adapter.d.ts +40 -0
  470. package/dist/esm/connectors/tonconnect/adapters/ton-connect-wallet-adapter.d.ts.map +1 -0
  471. package/dist/esm/connectors/tonconnect/adapters/ton-connect-wallet-adapter.js +110 -0
  472. package/dist/esm/connectors/tonconnect/connectors/ton-connect-connector.d.ts +33 -0
  473. package/dist/esm/connectors/tonconnect/connectors/ton-connect-connector.d.ts.map +1 -0
  474. package/dist/esm/connectors/tonconnect/connectors/ton-connect-connector.js +67 -0
  475. package/dist/esm/connectors/tonconnect/constants/id.d.ts +9 -0
  476. package/dist/esm/connectors/tonconnect/constants/id.d.ts.map +1 -0
  477. package/dist/esm/connectors/tonconnect/constants/id.js +8 -0
  478. package/dist/esm/connectors/tonconnect/index.d.ts +27 -0
  479. package/dist/esm/connectors/tonconnect/index.d.ts.map +1 -0
  480. package/dist/esm/connectors/tonconnect/index.js +26 -0
  481. package/dist/esm/connectors/tonconnect/utils/transaction.d.ts +31 -0
  482. package/dist/esm/connectors/tonconnect/utils/transaction.d.ts.map +1 -0
  483. package/dist/esm/connectors/tonconnect/utils/transaction.js +37 -0
  484. package/dist/esm/core/app-kit/constants/events.d.ts +34 -0
  485. package/dist/esm/core/app-kit/constants/events.d.ts.map +1 -0
  486. package/dist/esm/core/app-kit/constants/events.js +33 -0
  487. package/dist/esm/core/app-kit/index.d.ts +12 -0
  488. package/dist/esm/core/app-kit/index.d.ts.map +1 -0
  489. package/dist/esm/core/app-kit/index.js +9 -0
  490. package/dist/esm/core/app-kit/services/app-kit-network-manager.d.ts +16 -0
  491. package/dist/esm/core/app-kit/services/app-kit-network-manager.d.ts.map +1 -0
  492. package/dist/esm/core/app-kit/services/app-kit-network-manager.js +19 -0
  493. package/dist/esm/core/app-kit/services/app-kit.d.ts +44 -0
  494. package/dist/esm/core/app-kit/services/app-kit.d.ts.map +1 -0
  495. package/dist/esm/core/app-kit/services/app-kit.js +92 -0
  496. package/dist/esm/core/app-kit/types/config.d.ts +26 -0
  497. package/dist/esm/core/app-kit/types/config.d.ts.map +1 -0
  498. package/dist/esm/core/app-kit/types/config.js +8 -0
  499. package/dist/esm/core/app-kit/types/events.d.ts +35 -0
  500. package/dist/esm/core/app-kit/types/events.d.ts.map +1 -0
  501. package/dist/esm/core/app-kit/types/events.js +8 -0
  502. package/dist/esm/core/emitter/index.d.ts +14 -0
  503. package/dist/esm/core/emitter/index.d.ts.map +1 -0
  504. package/dist/esm/core/emitter/index.js +12 -0
  505. package/dist/esm/core/emitter/services/emitter.d.ts +18 -0
  506. package/dist/esm/core/emitter/services/emitter.d.ts.map +1 -0
  507. package/dist/esm/core/emitter/services/emitter.js +43 -0
  508. package/dist/esm/core/emitter/types/events.d.ts +16 -0
  509. package/dist/esm/core/emitter/types/events.d.ts.map +1 -0
  510. package/dist/esm/core/emitter/types/events.js +8 -0
  511. package/dist/esm/core/wallets-manager/index.d.ts +9 -0
  512. package/dist/esm/core/wallets-manager/index.d.ts.map +1 -0
  513. package/dist/esm/core/wallets-manager/index.js +8 -0
  514. package/dist/esm/core/wallets-manager/services/wallets-manager.d.ts +40 -0
  515. package/dist/esm/core/wallets-manager/services/wallets-manager.d.ts.map +1 -0
  516. package/dist/esm/core/wallets-manager/services/wallets-manager.js +65 -0
  517. package/dist/esm/index.d.ts +43 -0
  518. package/dist/esm/index.d.ts.map +1 -0
  519. package/dist/esm/index.js +46 -0
  520. package/dist/esm/queries/balances/get-balance-by-address.d.ts +21 -0
  521. package/dist/esm/queries/balances/get-balance-by-address.d.ts.map +1 -0
  522. package/dist/esm/queries/balances/get-balance-by-address.js +26 -0
  523. package/dist/esm/queries/connectors/connect.d.ts +22 -0
  524. package/dist/esm/queries/connectors/connect.d.ts.map +1 -0
  525. package/dist/esm/queries/connectors/connect.js +17 -0
  526. package/dist/esm/queries/connectors/disconnect.d.ts +22 -0
  527. package/dist/esm/queries/connectors/disconnect.d.ts.map +1 -0
  528. package/dist/esm/queries/connectors/disconnect.js +17 -0
  529. package/dist/esm/queries/index.d.ts +27 -0
  530. package/dist/esm/queries/index.d.ts.map +1 -0
  531. package/dist/esm/queries/index.js +33 -0
  532. package/dist/esm/queries/jettons/get-jetton-balance-by-address.d.ts +24 -0
  533. package/dist/esm/queries/jettons/get-jetton-balance-by-address.d.ts.map +1 -0
  534. package/dist/esm/queries/jettons/get-jetton-balance-by-address.js +28 -0
  535. package/dist/esm/queries/jettons/get-jetton-info.d.ts +21 -0
  536. package/dist/esm/queries/jettons/get-jetton-info.d.ts.map +1 -0
  537. package/dist/esm/queries/jettons/get-jetton-info.js +26 -0
  538. package/dist/esm/queries/jettons/get-jetton-wallet-address.d.ts +24 -0
  539. package/dist/esm/queries/jettons/get-jetton-wallet-address.d.ts.map +1 -0
  540. package/dist/esm/queries/jettons/get-jetton-wallet-address.js +28 -0
  541. package/dist/esm/queries/jettons/get-jettons-by-address.d.ts +21 -0
  542. package/dist/esm/queries/jettons/get-jettons-by-address.d.ts.map +1 -0
  543. package/dist/esm/queries/jettons/get-jettons-by-address.js +26 -0
  544. package/dist/esm/queries/jettons/transfer-jetton.d.ts +22 -0
  545. package/dist/esm/queries/jettons/transfer-jetton.d.ts.map +1 -0
  546. package/dist/esm/queries/jettons/transfer-jetton.js +17 -0
  547. package/dist/esm/queries/nft/get-nft.d.ts +21 -0
  548. package/dist/esm/queries/nft/get-nft.d.ts.map +1 -0
  549. package/dist/esm/queries/nft/get-nft.js +26 -0
  550. package/dist/esm/queries/nft/get-nfts-by-address.d.ts +21 -0
  551. package/dist/esm/queries/nft/get-nfts-by-address.d.ts.map +1 -0
  552. package/dist/esm/queries/nft/get-nfts-by-address.js +26 -0
  553. package/dist/esm/queries/nft/transfer-nft.d.ts +22 -0
  554. package/dist/esm/queries/nft/transfer-nft.d.ts.map +1 -0
  555. package/dist/esm/queries/nft/transfer-nft.js +17 -0
  556. package/dist/esm/queries/signing/sign-binary.d.ts +21 -0
  557. package/dist/esm/queries/signing/sign-binary.d.ts.map +1 -0
  558. package/dist/esm/queries/signing/sign-binary.js +17 -0
  559. package/dist/esm/queries/signing/sign-cell.d.ts +21 -0
  560. package/dist/esm/queries/signing/sign-cell.d.ts.map +1 -0
  561. package/dist/esm/queries/signing/sign-cell.js +17 -0
  562. package/dist/esm/queries/signing/sign-text.d.ts +21 -0
  563. package/dist/esm/queries/signing/sign-text.d.ts.map +1 -0
  564. package/dist/esm/queries/signing/sign-text.js +17 -0
  565. package/dist/esm/queries/swap/build-swap-transaction.d.ts +21 -0
  566. package/dist/esm/queries/swap/build-swap-transaction.d.ts.map +1 -0
  567. package/dist/esm/queries/swap/build-swap-transaction.js +21 -0
  568. package/dist/esm/queries/swap/get-swap-quote.d.ts +21 -0
  569. package/dist/esm/queries/swap/get-swap-quote.d.ts.map +1 -0
  570. package/dist/esm/queries/swap/get-swap-quote.js +36 -0
  571. package/dist/esm/queries/transaction/get-transaction-status.d.ts +18 -0
  572. package/dist/esm/queries/transaction/get-transaction-status.d.ts.map +1 -0
  573. package/dist/esm/queries/transaction/get-transaction-status.js +17 -0
  574. package/dist/esm/queries/transaction/send-transaction.d.ts +21 -0
  575. package/dist/esm/queries/transaction/send-transaction.d.ts.map +1 -0
  576. package/dist/esm/queries/transaction/send-transaction.js +17 -0
  577. package/dist/esm/queries/transaction/transfer-ton.d.ts +21 -0
  578. package/dist/esm/queries/transaction/transfer-ton.d.ts.map +1 -0
  579. package/dist/esm/queries/transaction/transfer-ton.js +17 -0
  580. package/dist/esm/swap/index.d.ts +9 -0
  581. package/dist/esm/swap/index.d.ts.map +1 -0
  582. package/dist/esm/swap/index.js +8 -0
  583. package/dist/esm/swap/omniston/index.d.ts +9 -0
  584. package/dist/esm/swap/omniston/index.d.ts.map +1 -0
  585. package/dist/esm/swap/omniston/index.js +8 -0
  586. package/dist/esm/types/balance.d.ts +10 -0
  587. package/dist/esm/types/balance.d.ts.map +1 -0
  588. package/dist/esm/types/balance.js +8 -0
  589. package/dist/esm/types/connector.d.ts +35 -0
  590. package/dist/esm/types/connector.d.ts.map +1 -0
  591. package/dist/esm/types/connector.js +8 -0
  592. package/dist/esm/types/jetton.d.ts +9 -0
  593. package/dist/esm/types/jetton.d.ts.map +1 -0
  594. package/dist/esm/types/jetton.js +8 -0
  595. package/dist/esm/types/network.d.ts +9 -0
  596. package/dist/esm/types/network.d.ts.map +1 -0
  597. package/dist/esm/types/network.js +8 -0
  598. package/dist/esm/types/nft.d.ts +9 -0
  599. package/dist/esm/types/nft.d.ts.map +1 -0
  600. package/dist/esm/types/nft.js +8 -0
  601. package/dist/esm/types/primitives.d.ts +9 -0
  602. package/dist/esm/types/primitives.d.ts.map +1 -0
  603. package/dist/esm/types/primitives.js +8 -0
  604. package/dist/esm/types/provider.d.ts +13 -0
  605. package/dist/esm/types/provider.d.ts.map +1 -0
  606. package/dist/esm/types/provider.js +8 -0
  607. package/dist/esm/types/query.d.ts +19 -0
  608. package/dist/esm/types/query.d.ts.map +1 -0
  609. package/dist/esm/types/query.js +8 -0
  610. package/dist/esm/types/signing.d.ts +76 -0
  611. package/dist/esm/types/signing.d.ts.map +1 -0
  612. package/dist/esm/types/signing.js +8 -0
  613. package/dist/esm/types/transaction.d.ts +54 -0
  614. package/dist/esm/types/transaction.d.ts.map +1 -0
  615. package/dist/esm/types/transaction.js +8 -0
  616. package/dist/esm/types/utils.d.ts +83 -0
  617. package/dist/esm/types/utils.d.ts.map +1 -0
  618. package/dist/esm/types/utils.js +8 -0
  619. package/dist/esm/types/wallet.d.ts +32 -0
  620. package/dist/esm/types/wallet.d.ts.map +1 -0
  621. package/dist/esm/types/wallet.js +8 -0
  622. package/dist/esm/utils/amount/validate-numeric-string.d.ts +11 -0
  623. package/dist/esm/utils/amount/validate-numeric-string.d.ts.map +1 -0
  624. package/dist/esm/utils/amount/validate-numeric-string.js +22 -0
  625. package/dist/esm/utils/amount/validate-numeric-string.test.d.ts +9 -0
  626. package/dist/esm/utils/amount/validate-numeric-string.test.d.ts.map +1 -0
  627. package/dist/esm/utils/amount/validate-numeric-string.test.js +44 -0
  628. package/dist/esm/utils/arrays/key-by.d.ts +9 -0
  629. package/dist/esm/utils/arrays/key-by.d.ts.map +1 -0
  630. package/dist/esm/utils/arrays/key-by.js +15 -0
  631. package/dist/esm/utils/arrays/key-by.test.d.ts +9 -0
  632. package/dist/esm/utils/arrays/key-by.test.d.ts.map +1 -0
  633. package/dist/esm/utils/arrays/key-by.test.js +49 -0
  634. package/dist/esm/utils/arrays/random-from-array.d.ts +9 -0
  635. package/dist/esm/utils/arrays/random-from-array.d.ts.map +1 -0
  636. package/dist/esm/utils/arrays/random-from-array.js +8 -0
  637. package/dist/esm/utils/arrays/random-from-array.test.d.ts +9 -0
  638. package/dist/esm/utils/arrays/random-from-array.test.d.ts.map +1 -0
  639. package/dist/esm/utils/arrays/random-from-array.test.js +31 -0
  640. package/dist/esm/utils/errors/get-error-message.d.ts +9 -0
  641. package/dist/esm/utils/errors/get-error-message.d.ts.map +1 -0
  642. package/dist/esm/utils/errors/get-error-message.js +17 -0
  643. package/dist/esm/utils/errors/get-error-message.test.d.ts +9 -0
  644. package/dist/esm/utils/errors/get-error-message.test.d.ts.map +1 -0
  645. package/dist/esm/utils/errors/get-error-message.test.js +32 -0
  646. package/dist/esm/utils/functions/noop.d.ts +9 -0
  647. package/dist/esm/utils/functions/noop.d.ts.map +1 -0
  648. package/dist/esm/utils/functions/noop.js +10 -0
  649. package/dist/esm/utils/index.d.ts +22 -0
  650. package/dist/esm/utils/index.d.ts.map +1 -0
  651. package/dist/esm/utils/index.js +21 -0
  652. package/dist/esm/utils/jetton/jetton-info.d.ts +23 -0
  653. package/dist/esm/utils/jetton/jetton-info.d.ts.map +1 -0
  654. package/dist/esm/utils/jetton/jetton-info.js +48 -0
  655. package/dist/esm/utils/nft/nft-info.d.ts +21 -0
  656. package/dist/esm/utils/nft/nft-info.d.ts.map +1 -0
  657. package/dist/esm/utils/nft/nft-info.js +57 -0
  658. package/dist/esm/utils/object/map-values.d.ts +9 -0
  659. package/dist/esm/utils/object/map-values.d.ts.map +1 -0
  660. package/dist/esm/utils/object/map-values.js +16 -0
  661. package/dist/esm/utils/object/map-values.test.d.ts +9 -0
  662. package/dist/esm/utils/object/map-values.test.d.ts.map +1 -0
  663. package/dist/esm/utils/object/map-values.test.js +31 -0
  664. package/dist/esm/utils/predicate/is-string.d.ts +9 -0
  665. package/dist/esm/utils/predicate/is-string.d.ts.map +1 -0
  666. package/dist/esm/utils/predicate/is-string.js +10 -0
  667. package/dist/esm/utils/predicate/is-string.test.d.ts +9 -0
  668. package/dist/esm/utils/predicate/is-string.test.d.ts.map +1 -0
  669. package/dist/esm/utils/predicate/is-string.test.js +25 -0
  670. package/dist/esm/utils/promise/cancel-promise.d.ts +9 -0
  671. package/dist/esm/utils/promise/cancel-promise.d.ts.map +1 -0
  672. package/dist/esm/utils/promise/cancel-promise.js +15 -0
  673. package/dist/esm/utils/promise/cancel-promise.test.d.ts +9 -0
  674. package/dist/esm/utils/promise/cancel-promise.test.d.ts.map +1 -0
  675. package/dist/esm/utils/promise/cancel-promise.test.js +23 -0
  676. package/dist/esm/utils/promise/sleep.d.ts +9 -0
  677. package/dist/esm/utils/promise/sleep.d.ts.map +1 -0
  678. package/dist/esm/utils/promise/sleep.js +12 -0
  679. package/dist/esm/utils/query/filter-query-options.d.ts +10 -0
  680. package/dist/esm/utils/query/filter-query-options.d.ts.map +1 -0
  681. package/dist/esm/utils/query/filter-query-options.js +11 -0
  682. package/dist/esm/utils/string/middle-ellipsis.d.ts +9 -0
  683. package/dist/esm/utils/string/middle-ellipsis.d.ts.map +1 -0
  684. package/dist/esm/utils/string/middle-ellipsis.js +13 -0
  685. package/dist/esm/utils/string/middle-ellipsis.test.d.ts +9 -0
  686. package/dist/esm/utils/string/middle-ellipsis.test.d.ts.map +1 -0
  687. package/dist/esm/utils/string/middle-ellipsis.test.js +27 -0
  688. package/docs/actions.md +547 -0
  689. package/docs/connectors.md +135 -0
  690. package/docs/query.md +30 -0
  691. package/docs/swap.md +66 -0
  692. package/package.json +83 -3
  693. package/src/actions/balances/get-balance-by-address.ts +33 -0
  694. package/src/actions/balances/get-balance.ts +32 -0
  695. package/src/actions/connectors/add-connector.ts +21 -0
  696. package/src/actions/connectors/connect.ts +29 -0
  697. package/src/actions/connectors/disconnect.ts +29 -0
  698. package/src/actions/connectors/get-connector-by-id.ts +23 -0
  699. package/src/actions/connectors/get-connectors.ts +19 -0
  700. package/src/actions/connectors/watch-connector-by-id.ts +35 -0
  701. package/src/actions/connectors/watch-connectors.ts +31 -0
  702. package/src/actions/index.ts +140 -0
  703. package/src/actions/jettons/create-transfer-jetton-transaction.ts +67 -0
  704. package/src/actions/jettons/get-jetton-balance.ts +40 -0
  705. package/src/actions/jettons/get-jetton-info.ts +72 -0
  706. package/src/actions/jettons/get-jetton-wallet-address.ts +31 -0
  707. package/src/actions/jettons/get-jettons-by-address.ts +55 -0
  708. package/src/actions/jettons/get-jettons.ts +36 -0
  709. package/src/actions/jettons/transfer-jetton.ts +32 -0
  710. package/src/actions/network/get-network.ts +23 -0
  711. package/src/actions/network/get-networks.ts +20 -0
  712. package/src/actions/network/watch-networks.ts +32 -0
  713. package/src/actions/nft/create-transfer-nft-transaction.ts +51 -0
  714. package/src/actions/nft/get-nft.ts +29 -0
  715. package/src/actions/nft/get-nfts-by-address.ts +39 -0
  716. package/src/actions/nft/get-nfts.ts +36 -0
  717. package/src/actions/nft/transfer-nft.ts +30 -0
  718. package/src/actions/providers/register-provider.ts +19 -0
  719. package/src/actions/signing/sign-binary.ts +48 -0
  720. package/src/actions/signing/sign-cell.ts +57 -0
  721. package/src/actions/signing/sign-text.ts +47 -0
  722. package/src/actions/swap/build-swap-transaction.ts +25 -0
  723. package/src/actions/swap/get-swap-manager.ts +20 -0
  724. package/src/actions/swap/get-swap-quote.ts +27 -0
  725. package/src/actions/transaction/create-transfer-ton-transaction.ts +63 -0
  726. package/src/actions/transaction/get-transaction-status.ts +70 -0
  727. package/src/actions/transaction/send-transaction.ts +35 -0
  728. package/src/actions/transaction/transfer-ton.ts +32 -0
  729. package/src/actions/wallets/get-connected-wallets.ts +19 -0
  730. package/src/actions/wallets/get-selected-wallet.ts +19 -0
  731. package/src/actions/wallets/set-selected-wallet-id.ts +25 -0
  732. package/src/actions/wallets/watch-connected-wallets.ts +33 -0
  733. package/src/actions/wallets/watch-selected-wallet.ts +35 -0
  734. package/src/connectors/tonconnect/adapters/ton-connect-wallet-adapter.ts +152 -0
  735. package/src/connectors/tonconnect/connectors/ton-connect-connector.ts +99 -0
  736. package/src/connectors/tonconnect/constants/id.ts +9 -0
  737. package/src/connectors/tonconnect/index.ts +31 -0
  738. package/src/connectors/tonconnect/utils/transaction.ts +50 -0
  739. package/src/core/app-kit/constants/events.ts +37 -0
  740. package/src/core/app-kit/index.ts +19 -0
  741. package/src/core/app-kit/services/app-kit-network-manager.ts +27 -0
  742. package/src/core/app-kit/services/app-kit.ts +123 -0
  743. package/src/core/app-kit/types/config.ts +28 -0
  744. package/src/core/app-kit/types/events.ts +43 -0
  745. package/src/core/emitter/index.ts +15 -0
  746. package/src/core/emitter/services/emitter.ts +53 -0
  747. package/src/core/emitter/types/events.ts +18 -0
  748. package/src/core/wallets-manager/index.ts +9 -0
  749. package/src/core/wallets-manager/services/wallets-manager.ts +87 -0
  750. package/src/index.ts +52 -0
  751. package/src/queries/balances/get-balance-by-address.ts +58 -0
  752. package/src/queries/connectors/connect.ts +60 -0
  753. package/src/queries/connectors/disconnect.ts +64 -0
  754. package/src/queries/index.ts +190 -0
  755. package/src/queries/jettons/get-jetton-balance-by-address.ts +69 -0
  756. package/src/queries/jettons/get-jetton-info.ts +57 -0
  757. package/src/queries/jettons/get-jetton-wallet-address.ts +69 -0
  758. package/src/queries/jettons/get-jettons-by-address.ts +59 -0
  759. package/src/queries/jettons/transfer-jetton.ts +64 -0
  760. package/src/queries/nft/get-nft.ts +56 -0
  761. package/src/queries/nft/get-nfts-by-address.ts +59 -0
  762. package/src/queries/nft/transfer-nft.ts +64 -0
  763. package/src/queries/signing/sign-binary.ts +62 -0
  764. package/src/queries/signing/sign-cell.ts +58 -0
  765. package/src/queries/signing/sign-text.ts +58 -0
  766. package/src/queries/swap/build-swap-transaction.ts +84 -0
  767. package/src/queries/swap/get-swap-quote.ts +70 -0
  768. package/src/queries/transaction/get-transaction-status.ts +50 -0
  769. package/src/queries/transaction/send-transaction.ts +70 -0
  770. package/src/queries/transaction/transfer-ton.ts +66 -0
  771. package/src/swap/index.ts +9 -0
  772. package/src/swap/omniston/index.ts +9 -0
  773. package/src/types/balance.ts +11 -0
  774. package/src/types/connector.ts +45 -0
  775. package/src/types/jetton.ts +9 -0
  776. package/src/types/network.ts +9 -0
  777. package/src/types/nft.ts +9 -0
  778. package/src/types/primitives.ts +9 -0
  779. package/src/types/provider.ts +14 -0
  780. package/src/types/query.ts +44 -0
  781. package/src/types/signing.ts +78 -0
  782. package/src/types/transaction.ts +65 -0
  783. package/src/types/utils.ts +120 -0
  784. package/src/types/wallet.ts +48 -0
  785. package/src/utils/amount/validate-numeric-string.test.ts +53 -0
  786. package/src/utils/amount/validate-numeric-string.ts +25 -0
  787. package/src/utils/arrays/key-by.test.ts +55 -0
  788. package/src/utils/arrays/key-by.ts +18 -0
  789. package/src/utils/arrays/random-from-array.test.ts +37 -0
  790. package/src/utils/arrays/random-from-array.ts +9 -0
  791. package/src/utils/errors/get-error-message.test.ts +39 -0
  792. package/src/utils/errors/get-error-message.ts +24 -0
  793. package/src/utils/functions/noop.ts +11 -0
  794. package/src/utils/index.ts +23 -0
  795. package/src/utils/jetton/jetton-info.ts +60 -0
  796. package/src/utils/nft/nft-info.ts +62 -0
  797. package/src/utils/object/map-values.test.ts +37 -0
  798. package/src/utils/object/map-values.ts +23 -0
  799. package/src/utils/predicate/is-string.test.ts +29 -0
  800. package/src/utils/predicate/is-string.ts +11 -0
  801. package/src/utils/promise/cancel-promise.test.ts +28 -0
  802. package/src/utils/promise/cancel-promise.ts +16 -0
  803. package/src/utils/promise/sleep.ts +13 -0
  804. package/src/utils/query/filter-query-options.ts +15 -0
  805. package/src/utils/string/middle-ellipsis.test.ts +33 -0
  806. package/src/utils/string/middle-ellipsis.ts +15 -0
  807. package/tsconfig.cjs.json +10 -0
  808. package/tsconfig.json +30 -0
  809. package/vitest.config.ts +21 -0
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ /** Combines members of an intersection into a readable type. */
10
+ // https://twitter.com/mattpocockuk/status/1622730173446557697?s=20&t=NdpAcmEFXY01xkqU3KO0Mg
11
+ export type Compute<type> = { [key in keyof type]: type[key] } & unknown;
12
+
13
+ /**
14
+ * Makes all properties of an object optional.
15
+ *
16
+ * Compatible with [`exactOptionalPropertyTypes`](https://www.typescriptlang.org/tsconfig#exactOptionalPropertyTypes).
17
+ */
18
+ export type ExactPartial<type> = {
19
+ [key in keyof type]?: type[key] | undefined;
20
+ };
21
+
22
+ /**
23
+ * Creates a fixed array of `count` elements of type `type`.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * type Result = FixedArray<string, 3>
28
+ * // ^? type Result = readonly [string, string, string]
29
+ * ```
30
+ */
31
+ export type FixedArray<type, count extends number, result extends readonly type[] = []> = result['length'] extends count
32
+ ? result
33
+ : FixedArray<type, count, readonly [...result, type]>;
34
+
35
+ /** Checks if {@link type} can be narrowed further than {@link type2} */
36
+ export type IsNarrowable<type, type2> =
37
+ IsUnknown<type> extends true
38
+ ? false
39
+ : undefined extends type
40
+ ? false
41
+ : IsNever<(type extends type2 ? true : false) & (type2 extends type ? false : true)> extends true
42
+ ? false
43
+ : true;
44
+
45
+ /**
46
+ * @internal
47
+ * Checks if {@link type} is `never`
48
+ */
49
+ export type IsNever<type> = [type] extends [never] ? true : false;
50
+
51
+ /**
52
+ * @internal
53
+ * Checks if {@link type} is `unknown`
54
+ */
55
+ export type IsUnknown<type> = unknown extends type ? true : false;
56
+
57
+ /** Merges two object types into new type */
58
+ export type Merge<obj1, obj2> = Compute<
59
+ LooseOmit<obj1, keyof obj2 extends infer key extends string ? key : never> & obj2
60
+ >;
61
+
62
+ /** Removes `readonly` from all properties of an object. */
63
+ export type Mutable<type extends object> = {
64
+ -readonly [key in keyof type]: type[key];
65
+ };
66
+
67
+ /** Strict version of built-in Omit type */
68
+ export type StrictOmit<type, keys extends keyof type> = Pick<type, Exclude<keyof type, keys>>;
69
+
70
+ /** Makes objects destructurable. */
71
+ export type OneOf<
72
+ union extends object,
73
+ ///
74
+ keys extends KeyofUnion<union> = KeyofUnion<union>,
75
+ > = union extends infer Item ? Compute<Item & { [K in Exclude<keys, keyof Item>]?: undefined }> : never;
76
+ type KeyofUnion<type> = type extends type ? keyof type : never;
77
+
78
+ /** Makes {@link key} optional in {@link type} while preserving type inference. */
79
+ // s/o trpc (https://github.com/trpc/trpc/blob/main/packages/server/src/types.ts#L6)
80
+ export type PartialBy<type, key extends keyof type> = ExactPartial<Pick<type, key>> & StrictOmit<type, key>;
81
+
82
+ /* Removes `undefined` from object property */
83
+ export type RemoveUndefined<type> = {
84
+ [key in keyof type]: NonNullable<type[key]>;
85
+ };
86
+
87
+ /**
88
+ * Creates a type that is {@link type} with the required keys {@link key}.
89
+ *
90
+ * @example
91
+ * ```ts
92
+ * RequiredBy<{ a?: string, b: number }, 'a'>
93
+ * // { a: string, b: number }
94
+ * ```
95
+ *
96
+ * @internal
97
+ */
98
+ export type RequiredBy<type, key extends keyof type> = Omit<type, key> & ExactRequired<Pick<type, key>>;
99
+
100
+ /** @internal */
101
+ export type ExactRequired<type> = {
102
+ [key in keyof type]-?: Exclude<type[key], undefined>;
103
+ };
104
+
105
+ ///////////////////////////////////////////////////////////////////////////
106
+ // Loose types
107
+
108
+ /** Loose version of {@link StrictOmit} */
109
+ export type LooseOmit<type, keys extends string> = Pick<type, Exclude<keyof type, keys>>;
110
+
111
+ ///////////////////////////////////////////////////////////////////////////
112
+ // Union types
113
+
114
+ export type UnionCompute<type> = type extends object ? Compute<type> : type;
115
+
116
+ export type UnionLooseOmit<type, keys extends string> = type extends unknown ? LooseOmit<type, keys> : never;
117
+
118
+ export type UnionStrictOmit<type, keys extends keyof type> = type extends unknown ? StrictOmit<type, keys> : never;
119
+
120
+ export type UnionExactPartial<type> = type extends object ? ExactPartial<type> : type;
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import type { Network, SendTransactionResponse, Hex, UserFriendlyAddress } from '@ton/walletkit';
10
+
11
+ import type { TransactionRequest } from './transaction';
12
+ import type { SignDataRequest, SignDataResponse } from './signing';
13
+
14
+ /**
15
+ * Minimal wallet interface for appkit.
16
+ * Only includes methods that require wallet-specific logic (signing, identity).
17
+ * Data fetching (balance, jettons, nfts) is done via actions using networkManager.
18
+ */
19
+ export interface WalletInterface {
20
+ /** Connector that created this wallet */
21
+ readonly connectorId: string;
22
+
23
+ // ==========================================
24
+ // Identity
25
+ // ==========================================
26
+
27
+ /** Get the wallet address */
28
+ getAddress(): UserFriendlyAddress;
29
+
30
+ /** Get the wallet public key */
31
+ getPublicKey(): Hex;
32
+
33
+ /** Get the network the wallet is connected to */
34
+ getNetwork(): Network;
35
+
36
+ /** Get unique wallet identifier */
37
+ getWalletId(): string;
38
+
39
+ // ==========================================
40
+ // Actions requiring wallet signature
41
+ // ==========================================
42
+
43
+ /** Send a transaction (wallet signs and submits) */
44
+ sendTransaction(request: TransactionRequest): Promise<SendTransactionResponse>;
45
+
46
+ /** Sign arbitrary data using TonConnect signData */
47
+ signData(payload: SignDataRequest): Promise<SignDataResponse>;
48
+ }
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import { describe, expect, it } from 'vitest';
10
+
11
+ import { validateNumericString } from './validate-numeric-string';
12
+
13
+ describe('validateNumericString', () => {
14
+ it('should validate integers', () => {
15
+ expect(validateNumericString('123')).toBe(true);
16
+ expect(validateNumericString('0')).toBe(true);
17
+ });
18
+
19
+ it('should validate floats with dot', () => {
20
+ expect(validateNumericString('1.23')).toBe(true);
21
+ expect(validateNumericString('0.1')).toBe(true);
22
+ expect(validateNumericString('1.')).toBe(true);
23
+ expect(validateNumericString('.1')).toBe(true);
24
+ });
25
+
26
+ it('should validate floats with comma', () => {
27
+ expect(validateNumericString('1,23')).toBe(true);
28
+ expect(validateNumericString('0,1')).toBe(true);
29
+ });
30
+
31
+ it('should reject invalid characters', () => {
32
+ expect(validateNumericString('1a')).toBe(false);
33
+ expect(validateNumericString('abc')).toBe(false);
34
+ expect(validateNumericString('1.2.3')).toBe(false);
35
+ expect(validateNumericString(' ')).toBe(false);
36
+ });
37
+
38
+ it('should validate max decimals', () => {
39
+ expect(validateNumericString('1.23', 2)).toBe(true);
40
+ expect(validateNumericString('1.234', 2)).toBe(false);
41
+ expect(validateNumericString('1.23', 1)).toBe(false);
42
+ });
43
+
44
+ it('should handle 0 max decimals', () => {
45
+ expect(validateNumericString('123', 0)).toBe(true);
46
+ expect(validateNumericString('1.2', 0)).toBe(false);
47
+ });
48
+
49
+ it('should reject pure dot regardless', () => {
50
+ expect(validateNumericString('.')).toBe(false);
51
+ expect(validateNumericString(',')).toBe(false);
52
+ });
53
+ });
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ export const DOT_NUM_REGEXP = /^\d*[.]?(\d*)$/;
10
+ export const COMMA_NUM_REGEXP = /^\d*,?(\d*)$/;
11
+
12
+ export const validateNumericString = (num: string, maxDecimals?: number): boolean => {
13
+ const isDotNum = num.includes('.');
14
+ const isValid = isDotNum ? DOT_NUM_REGEXP.test(num) : COMMA_NUM_REGEXP.test(num);
15
+ const match = isDotNum ? DOT_NUM_REGEXP.exec(num) : COMMA_NUM_REGEXP.exec(num);
16
+
17
+ // if the decimals is zero the dot is not needed
18
+ if (maxDecimals === 0 && num.includes('.')) return false;
19
+
20
+ if (num === '.' || num === ',') return false;
21
+
22
+ if (maxDecimals !== undefined && match?.[1]) return isValid && match?.[1].length <= maxDecimals;
23
+
24
+ return isValid;
25
+ };
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import { describe, expect, it } from 'vitest';
10
+
11
+ import { keyBy } from './key-by';
12
+
13
+ describe('keyBy', () => {
14
+ it('should key array by property', () => {
15
+ const array = [
16
+ { id: 1, name: 'a' },
17
+ { id: 2, name: 'b' },
18
+ ];
19
+ const result = keyBy(array, (item) => item.id);
20
+ expect(result).toEqual({
21
+ 1: { id: 1, name: 'a' },
22
+ 2: { id: 2, name: 'b' },
23
+ });
24
+ });
25
+
26
+ it('should handle property collision (last wins)', () => {
27
+ const array = [
28
+ { id: 1, name: 'a' },
29
+ { id: 1, name: 'b' },
30
+ ];
31
+ // Based on implementation: arr.forEach(...) which iterates in order
32
+ const result = keyBy(array, (item) => item.id);
33
+ expect(result).toEqual({
34
+ 1: { id: 1, name: 'b' },
35
+ });
36
+ });
37
+
38
+ it('should handle empty array', () => {
39
+ const array: { id: number }[] = [];
40
+ const result = keyBy(array, (item) => item.id);
41
+ expect(result).toEqual({});
42
+ });
43
+
44
+ it('should work with string keys', () => {
45
+ const array = [
46
+ { id: 'a', val: 1 },
47
+ { id: 'b', val: 2 },
48
+ ];
49
+ const result = keyBy(array, (item) => item.id);
50
+ expect(result).toEqual({
51
+ a: { id: 'a', val: 1 },
52
+ b: { id: 'b', val: 2 },
53
+ });
54
+ });
55
+ });
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ export function keyBy<T, K extends PropertyKey>(arr: readonly T[], getKeyFromItem: (item: T) => K): Record<K, T> {
10
+ const result = {} as Record<K, T>;
11
+
12
+ arr.forEach((item) => {
13
+ const key = getKeyFromItem(item);
14
+ result[key] = item;
15
+ });
16
+
17
+ return result;
18
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import { describe, expect, it, vi } from 'vitest';
10
+
11
+ import { randomFromArray } from './random-from-array';
12
+
13
+ describe('randomFromArray', () => {
14
+ it('should return an item from the array', () => {
15
+ const array = [1, 2, 3];
16
+ const item = randomFromArray(array);
17
+ expect(array).toContain(item);
18
+ });
19
+
20
+ it('should return undefined for empty array', () => {
21
+ const array: number[] = [];
22
+ const item = randomFromArray(array);
23
+ expect(item).toBeUndefined();
24
+ });
25
+
26
+ it('should work with single item', () => {
27
+ const array = [42];
28
+ expect(randomFromArray(array)).toBe(42);
29
+ });
30
+
31
+ it('should use Math.random', () => {
32
+ const randomSpy = vi.spyOn(Math, 'random');
33
+ randomFromArray([1, 2]);
34
+ expect(randomSpy).toHaveBeenCalled();
35
+ randomSpy.mockRestore();
36
+ });
37
+ });
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ export const randomFromArray = <T>(items: T[]): T => items[Math.floor(Math.random() * items.length)]!;
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import { describe, expect, it } from 'vitest';
10
+
11
+ import { getErrorMessage } from './get-error-message';
12
+
13
+ describe('getErrorMessage', () => {
14
+ it('should return error message from Error object', () => {
15
+ const error = new Error('Something went wrong');
16
+ expect(getErrorMessage(error)).toBe('Something went wrong');
17
+ });
18
+
19
+ it('should return string error directly', () => {
20
+ const error = 'Something went wrong';
21
+ expect(getErrorMessage(error)).toBe('Something went wrong');
22
+ });
23
+
24
+ it('should return message from object with message property', () => {
25
+ const error = { message: 'Something went wrong' };
26
+ expect(getErrorMessage(error)).toBe('Something went wrong');
27
+ });
28
+
29
+ it('should return default message if error is unknown object', () => {
30
+ const error = { foo: 'bar' };
31
+ expect(getErrorMessage(error, 'Default Message')).toBe('Default Message');
32
+ expect(getErrorMessage(error)).toBe('Error occurred');
33
+ });
34
+
35
+ it('should return default message if error is null/undefined', () => {
36
+ expect(getErrorMessage(null)).toBe('Error occurred');
37
+ expect(getErrorMessage(undefined)).toBe('Error occurred');
38
+ });
39
+ });
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ type ObjectWithMessage = { message: string } & { [key: string]: unknown };
10
+
11
+ const isObjectWithMessage = (toBeDetermined: unknown): toBeDetermined is ObjectWithMessage =>
12
+ !!toBeDetermined && !!(toBeDetermined as ObjectWithMessage).message;
13
+
14
+ export const getErrorMessage = (error: unknown, defaultMessage?: string): string => {
15
+ if (typeof error === 'string') {
16
+ return error;
17
+ }
18
+
19
+ if (error instanceof Error || isObjectWithMessage(error)) {
20
+ return error.message;
21
+ }
22
+
23
+ return defaultMessage || 'Error occurred';
24
+ };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ export const noop = (): void => {
10
+ //
11
+ };
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ export { formatUnits, parseUnits } from '@ton/walletkit';
10
+
11
+ export * from './amount/validate-numeric-string';
12
+ export * from './arrays/key-by';
13
+ export * from './arrays/random-from-array';
14
+ export * from './errors/get-error-message';
15
+ export * from './functions/noop';
16
+ export * from './jetton/jetton-info';
17
+ export * from './nft/nft-info';
18
+ export * from './object/map-values';
19
+ export * from './predicate/is-string';
20
+ export * from './promise/cancel-promise';
21
+ export * from './promise/sleep';
22
+ export * from './query/filter-query-options';
23
+ export * from './string/middle-ellipsis';
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import type { Jetton } from '@ton/walletkit';
10
+
11
+ export const getJettonsSymbol = (jetton: Jetton): string | undefined => {
12
+ if (!jetton?.info?.symbol) {
13
+ return;
14
+ }
15
+
16
+ return jetton.info.symbol;
17
+ };
18
+
19
+ export const getJettonsName = (jetton: Jetton): string | undefined => {
20
+ if (!jetton?.info?.name && !jetton?.info?.symbol) {
21
+ return;
22
+ }
23
+
24
+ return jetton.info?.name || jetton.info?.symbol || '';
25
+ };
26
+
27
+ export const getJettonsImage = (jetton: Jetton): string | undefined => {
28
+ if (!jetton?.info?.image) {
29
+ return;
30
+ }
31
+
32
+ return (
33
+ jetton.info.image.url ||
34
+ (jetton.info.image.data ? atob(jetton.info.image.data) : undefined) ||
35
+ jetton.info.image.mediumUrl ||
36
+ jetton.info.image.largeUrl ||
37
+ jetton.info.image.smallUrl ||
38
+ ''
39
+ );
40
+ };
41
+
42
+ export const getFormattedJettonInfo = (jetton: Jetton) => {
43
+ const jettonName = getJettonsName(jetton);
44
+ const jettonSymbol = getJettonsSymbol(jetton);
45
+ const jettonImage = getJettonsImage(jetton);
46
+ const jettonBalance = jetton.balance || '0';
47
+ const jettonDecimals = jetton.decimalsNumber;
48
+
49
+ return {
50
+ address: jetton.address,
51
+ walletAddress: jetton.walletAddress,
52
+ description: jetton.info?.description,
53
+ name: jettonName,
54
+ symbol: jettonSymbol,
55
+ image: jettonImage,
56
+ imageData: jetton.info?.image?.data,
57
+ balance: jettonBalance,
58
+ decimals: jettonDecimals,
59
+ };
60
+ };
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import type { NFT } from '@ton/walletkit';
10
+
11
+ import { middleEllipsis } from '../string/middle-ellipsis';
12
+
13
+ export const getNftImage = (nft: NFT): string | null => {
14
+ if (!nft.info?.image) return null;
15
+
16
+ const { url, data, mediumUrl, smallUrl, largeUrl } = nft.info.image;
17
+
18
+ if (url) return url;
19
+ if (mediumUrl) return mediumUrl;
20
+ if (largeUrl) return largeUrl;
21
+ if (smallUrl) return smallUrl;
22
+
23
+ if (data) {
24
+ try {
25
+ return atob(data);
26
+ } catch {
27
+ return null;
28
+ }
29
+ }
30
+
31
+ return null;
32
+ };
33
+
34
+ export const getNftName = (nft: NFT): string => {
35
+ if (nft.info?.name) return nft.info.name;
36
+ if (nft.index) return `NFT #${nft.index}`;
37
+ return middleEllipsis(nft.address);
38
+ };
39
+
40
+ export const getCollectionName = (nft: NFT): string => {
41
+ return nft.collection?.name || 'Unknown Collection';
42
+ };
43
+
44
+ export const getNftDescription = (nft: NFT): string | null => {
45
+ return nft.info?.description || null;
46
+ };
47
+
48
+ export const getFormattedNftInfo = (nft: NFT) => {
49
+ const nftName = getNftName(nft);
50
+ const nftImage = getNftImage(nft);
51
+ const collectionName = getCollectionName(nft);
52
+ const nftDescription = getNftDescription(nft);
53
+
54
+ return {
55
+ address: nft.address,
56
+ collectionName,
57
+ name: nftName,
58
+ image: nftImage,
59
+ description: nftDescription,
60
+ isOnSale: nft.isOnSale,
61
+ };
62
+ };
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import { describe, expect, it } from 'vitest';
10
+
11
+ import { mapValues } from './map-values';
12
+
13
+ describe('mapValues', () => {
14
+ it('should map values of object', () => {
15
+ const obj = { a: 1, b: 2 };
16
+ const result = mapValues(obj, (value) => value * 2);
17
+ expect(result).toEqual({ a: 2, b: 4 });
18
+ });
19
+
20
+ it('should provide key in callback', () => {
21
+ const obj = { a: 1, b: 2 };
22
+ const result = mapValues(obj, (value, key) => `${key}:${value}`);
23
+ expect(result).toEqual({ a: 'a:1', b: 'b:2' });
24
+ });
25
+
26
+ it('should handle empty object', () => {
27
+ const obj = {};
28
+ const result = mapValues(obj, (value) => value);
29
+ expect(result).toEqual({});
30
+ });
31
+
32
+ it('should not mutate original object', () => {
33
+ const obj = { a: 1 };
34
+ mapValues(obj, (val) => val + 1);
35
+ expect(obj).toEqual({ a: 1 });
36
+ });
37
+ });
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ export function mapValues<T extends object, K extends keyof T, V>(
10
+ object: T,
11
+ getNewValue: (value: T[K], key: K, obj: T) => V,
12
+ ): Record<K, V> {
13
+ const result = {} as Record<K, V>;
14
+ const keys = Object.keys(object) as K[];
15
+
16
+ for (const key of keys) {
17
+ const value = object[key];
18
+
19
+ result[key] = getNewValue(value, key, object);
20
+ }
21
+
22
+ return result;
23
+ }