@ton/appkit 0.0.5-alpha.3 → 1.0.0-alpha.1

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 (455) hide show
  1. package/.turbo/turbo-build.log +4 -4
  2. package/CHANGELOG.md +144 -0
  3. package/README.md +8 -7
  4. package/dist/cjs/actions/connectors/watch-connector-by-id.d.ts.map +1 -1
  5. package/dist/cjs/actions/connectors/watch-connector-by-id.js +8 -3
  6. package/dist/cjs/actions/connectors/watch-connectors.d.ts.map +1 -1
  7. package/dist/cjs/actions/connectors/watch-connectors.js +8 -3
  8. package/dist/cjs/actions/index.d.ts +8 -0
  9. package/dist/cjs/actions/index.d.ts.map +1 -1
  10. package/dist/cjs/actions/index.js +18 -2
  11. package/dist/cjs/actions/jettons/create-transfer-jetton-transaction.d.ts +1 -1
  12. package/dist/cjs/actions/jettons/create-transfer-jetton-transaction.d.ts.map +1 -1
  13. package/dist/cjs/actions/jettons/create-transfer-jetton-transaction.js +17 -5
  14. package/dist/cjs/actions/jettons/get-jetton-balance.d.ts +1 -1
  15. package/dist/cjs/actions/jettons/get-jetton-balance.d.ts.map +1 -1
  16. package/dist/cjs/actions/jettons/get-jetton-balance.js +8 -3
  17. package/dist/cjs/actions/jettons/get-jetton-info.d.ts.map +1 -1
  18. package/dist/cjs/actions/jettons/get-jetton-info.js +15 -6
  19. package/dist/cjs/actions/jettons/get-jetton-wallet-address.d.ts +1 -1
  20. package/dist/cjs/actions/jettons/get-jetton-wallet-address.d.ts.map +1 -1
  21. package/dist/cjs/actions/jettons/get-jetton-wallet-address.js +15 -4
  22. package/dist/cjs/actions/nft/get-nft.d.ts +1 -1
  23. package/dist/cjs/actions/nft/get-nft.d.ts.map +1 -1
  24. package/dist/cjs/actions/providers/register-provider.d.ts +2 -1
  25. package/dist/cjs/actions/providers/register-provider.d.ts.map +1 -1
  26. package/dist/cjs/actions/staking/get-staking-provider-metadata.d.ts +19 -0
  27. package/dist/cjs/actions/staking/get-staking-provider-metadata.d.ts.map +1 -0
  28. package/dist/cjs/actions/staking/get-staking-provider-metadata.js +18 -0
  29. package/dist/cjs/actions/staking/get-staking-provider.d.ts +21 -0
  30. package/dist/cjs/actions/staking/get-staking-provider.d.ts.map +1 -0
  31. package/dist/cjs/actions/staking/get-staking-provider.js +17 -0
  32. package/dist/cjs/actions/staking/get-staking-providers.d.ts +3 -2
  33. package/dist/cjs/actions/staking/get-staking-providers.d.ts.map +1 -1
  34. package/dist/cjs/actions/staking/get-staking-providers.js +2 -2
  35. package/dist/cjs/actions/staking/set-default-staking-provider.d.ts +18 -0
  36. package/dist/cjs/actions/staking/set-default-staking-provider.d.ts.map +1 -0
  37. package/dist/cjs/actions/staking/set-default-staking-provider.js +18 -0
  38. package/dist/cjs/actions/staking/watch-staking-providers.d.ts +17 -0
  39. package/dist/cjs/actions/staking/watch-staking-providers.d.ts.map +1 -0
  40. package/dist/cjs/actions/staking/watch-staking-providers.js +28 -0
  41. package/dist/cjs/actions/swap/get-swap-provider.d.ts +15 -0
  42. package/dist/cjs/actions/swap/get-swap-provider.d.ts.map +1 -0
  43. package/dist/cjs/actions/swap/get-swap-provider.js +14 -0
  44. package/dist/cjs/actions/swap/get-swap-providers.d.ts +15 -0
  45. package/dist/cjs/actions/swap/get-swap-providers.d.ts.map +1 -0
  46. package/dist/cjs/actions/swap/get-swap-providers.js +17 -0
  47. package/dist/cjs/actions/swap/get-swap-quote.d.ts.map +1 -1
  48. package/dist/cjs/actions/swap/get-swap-quote.js +6 -1
  49. package/dist/cjs/actions/swap/set-default-swap-provider.d.ts +18 -0
  50. package/dist/cjs/actions/swap/set-default-swap-provider.d.ts.map +1 -0
  51. package/dist/cjs/actions/swap/set-default-swap-provider.js +18 -0
  52. package/dist/cjs/actions/swap/watch-swap-providers.d.ts +17 -0
  53. package/dist/cjs/actions/swap/watch-swap-providers.d.ts.map +1 -0
  54. package/dist/cjs/actions/swap/watch-swap-providers.js +29 -0
  55. package/dist/cjs/connectors/tonconnect/connectors/ton-connect-connector.d.ts +1 -2
  56. package/dist/cjs/connectors/tonconnect/connectors/ton-connect-connector.d.ts.map +1 -1
  57. package/dist/cjs/connectors/tonconnect/connectors/ton-connect-connector.js +16 -18
  58. package/dist/cjs/core/app-kit/constants/events.d.ts +3 -8
  59. package/dist/cjs/core/app-kit/constants/events.d.ts.map +1 -1
  60. package/dist/cjs/core/app-kit/constants/events.js +4 -9
  61. package/dist/cjs/core/app-kit/index.d.ts +2 -2
  62. package/dist/cjs/core/app-kit/index.d.ts.map +1 -1
  63. package/dist/cjs/core/app-kit/index.js +1 -2
  64. package/dist/cjs/core/app-kit/services/app-kit.d.ts +5 -2
  65. package/dist/cjs/core/app-kit/services/app-kit.d.ts.map +1 -1
  66. package/dist/cjs/core/app-kit/services/app-kit.js +12 -4
  67. package/dist/cjs/core/app-kit/types/config.d.ts +6 -3
  68. package/dist/cjs/core/app-kit/types/config.d.ts.map +1 -1
  69. package/dist/cjs/core/app-kit/types/events.d.ts +13 -13
  70. package/dist/cjs/core/app-kit/types/events.d.ts.map +1 -1
  71. package/dist/cjs/core/cache/adapters/lru-app-kit-cache.d.ts +20 -0
  72. package/dist/cjs/core/cache/adapters/lru-app-kit-cache.d.ts.map +1 -0
  73. package/dist/cjs/core/cache/adapters/lru-app-kit-cache.js +32 -0
  74. package/dist/cjs/core/cache/adapters/lru-app-kit-cache.test.d.ts +9 -0
  75. package/dist/cjs/core/cache/adapters/lru-app-kit-cache.test.d.ts.map +1 -0
  76. package/dist/cjs/core/cache/adapters/lru-app-kit-cache.test.js +68 -0
  77. package/dist/cjs/core/cache/index.d.ts +11 -0
  78. package/dist/cjs/core/cache/index.d.ts.map +1 -0
  79. package/dist/cjs/core/cache/index.js +14 -0
  80. package/dist/cjs/core/cache/types/app-kit-cache.d.ts +14 -0
  81. package/dist/cjs/core/cache/types/app-kit-cache.d.ts.map +1 -0
  82. package/dist/cjs/core/cache/types/app-kit-cache.js +9 -0
  83. package/dist/cjs/core/cache/utils/get-cache-key.d.ts +9 -0
  84. package/dist/cjs/core/cache/utils/get-cache-key.d.ts.map +1 -0
  85. package/dist/cjs/core/cache/utils/get-cache-key.js +12 -0
  86. package/dist/cjs/core/cache/utils/get-cache-key.test.d.ts +9 -0
  87. package/dist/cjs/core/cache/utils/get-cache-key.test.d.ts.map +1 -0
  88. package/dist/cjs/core/cache/utils/get-cache-key.test.js +30 -0
  89. package/dist/cjs/index.d.ts +1 -0
  90. package/dist/cjs/index.d.ts.map +1 -1
  91. package/dist/cjs/index.js +1 -0
  92. package/dist/cjs/queries/balances/get-balance-by-address.d.ts.map +1 -1
  93. package/dist/cjs/queries/balances/get-balance-by-address.js +9 -3
  94. package/dist/cjs/queries/index.d.ts +0 -1
  95. package/dist/cjs/queries/index.d.ts.map +1 -1
  96. package/dist/cjs/queries/index.js +1 -3
  97. package/dist/cjs/queries/jettons/get-jetton-balance-by-address.d.ts.map +1 -1
  98. package/dist/cjs/queries/jettons/get-jetton-balance-by-address.js +11 -11
  99. package/dist/cjs/queries/jettons/get-jetton-info.d.ts.map +1 -1
  100. package/dist/cjs/queries/jettons/get-jetton-info.js +5 -1
  101. package/dist/cjs/queries/jettons/get-jetton-wallet-address.d.ts.map +1 -1
  102. package/dist/cjs/queries/jettons/get-jetton-wallet-address.js +6 -1
  103. package/dist/cjs/queries/jettons/get-jettons-by-address.d.ts.map +1 -1
  104. package/dist/cjs/queries/jettons/get-jettons-by-address.js +9 -3
  105. package/dist/cjs/queries/nft/get-nft.d.ts +1 -1
  106. package/dist/cjs/queries/nft/get-nft.d.ts.map +1 -1
  107. package/dist/cjs/queries/nft/get-nft.js +5 -1
  108. package/dist/cjs/queries/nft/get-nfts-by-address.d.ts.map +1 -1
  109. package/dist/cjs/queries/nft/get-nfts-by-address.js +5 -1
  110. package/dist/cjs/queries/staking/get-staked-balance.d.ts +1 -1
  111. package/dist/cjs/queries/staking/get-staked-balance.d.ts.map +1 -1
  112. package/dist/cjs/queries/staking/get-staked-balance.js +7 -1
  113. package/dist/cjs/queries/staking/get-staking-provider-info.d.ts +1 -1
  114. package/dist/cjs/queries/staking/get-staking-provider-info.d.ts.map +1 -1
  115. package/dist/cjs/queries/staking/get-staking-provider-info.js +3 -1
  116. package/dist/cjs/queries/staking/get-staking-quote.d.ts +1 -1
  117. package/dist/cjs/queries/staking/get-staking-quote.d.ts.map +1 -1
  118. package/dist/cjs/queries/staking/get-staking-quote.js +8 -2
  119. package/dist/cjs/queries/swap/get-swap-quote.d.ts.map +1 -1
  120. package/dist/cjs/queries/swap/get-swap-quote.js +1 -1
  121. package/dist/cjs/staking/index.d.ts +2 -2
  122. package/dist/cjs/staking/index.d.ts.map +1 -1
  123. package/dist/cjs/staking/index.js +3 -1
  124. package/dist/cjs/swap/index.d.ts +2 -1
  125. package/dist/cjs/swap/index.d.ts.map +1 -1
  126. package/dist/cjs/swap/index.js +8 -0
  127. package/dist/cjs/types/connector.d.ts +0 -6
  128. package/dist/cjs/types/connector.d.ts.map +1 -1
  129. package/dist/cjs/types/primitives.d.ts +1 -1
  130. package/dist/cjs/types/primitives.d.ts.map +1 -1
  131. package/dist/cjs/types/provider.d.ts +3 -3
  132. package/dist/cjs/types/provider.d.ts.map +1 -1
  133. package/dist/cjs/utils/address/is-valid-address.d.ts +11 -0
  134. package/dist/cjs/utils/address/is-valid-address.d.ts.map +1 -0
  135. package/dist/cjs/utils/address/is-valid-address.js +38 -0
  136. package/dist/cjs/utils/address/to-bounceble-address.d.ts +11 -0
  137. package/dist/cjs/utils/address/to-bounceble-address.d.ts.map +1 -0
  138. package/dist/cjs/utils/address/to-bounceble-address.js +36 -0
  139. package/dist/cjs/utils/address/to-non-bounceble-address.d.ts +11 -0
  140. package/dist/cjs/utils/address/to-non-bounceble-address.d.ts.map +1 -0
  141. package/dist/cjs/utils/address/to-non-bounceble-address.js +36 -0
  142. package/dist/cjs/utils/amount/calc-fiat-value.d.ts +13 -0
  143. package/dist/cjs/utils/amount/calc-fiat-value.d.ts.map +1 -0
  144. package/dist/cjs/utils/amount/calc-fiat-value.js +22 -0
  145. package/dist/cjs/utils/amount/calc-fiat-value.test.d.ts +9 -0
  146. package/dist/cjs/utils/amount/calc-fiat-value.test.d.ts.map +1 -0
  147. package/dist/cjs/utils/amount/calc-fiat-value.test.js +39 -0
  148. package/dist/cjs/utils/amount/format-large-value.d.ts +9 -0
  149. package/dist/cjs/utils/amount/format-large-value.d.ts.map +1 -0
  150. package/dist/cjs/utils/amount/format-large-value.js +40 -0
  151. package/dist/cjs/utils/amount/format-large-value.test.d.ts +9 -0
  152. package/dist/cjs/utils/amount/format-large-value.test.d.ts.map +1 -0
  153. package/dist/cjs/utils/amount/format-large-value.test.js +43 -0
  154. package/dist/cjs/utils/amount/truncate-decimals.d.ts +9 -0
  155. package/dist/cjs/utils/amount/truncate-decimals.d.ts.map +1 -0
  156. package/dist/cjs/utils/amount/truncate-decimals.js +59 -0
  157. package/dist/cjs/utils/amount/truncate-decimals.test.d.ts +9 -0
  158. package/dist/cjs/utils/amount/truncate-decimals.test.d.ts.map +1 -0
  159. package/dist/cjs/utils/amount/truncate-decimals.test.js +83 -0
  160. package/dist/cjs/utils/balance/calc-max-spendable.d.ts +33 -0
  161. package/dist/cjs/utils/balance/calc-max-spendable.d.ts.map +1 -0
  162. package/dist/cjs/utils/balance/calc-max-spendable.js +29 -0
  163. package/dist/cjs/utils/balance/calc-max-spendable.test.d.ts +9 -0
  164. package/dist/cjs/utils/balance/calc-max-spendable.test.d.ts.map +1 -0
  165. package/dist/cjs/utils/balance/calc-max-spendable.test.js +38 -0
  166. package/dist/cjs/utils/balance/get-ton-shortfall.d.ts +58 -0
  167. package/dist/cjs/utils/balance/get-ton-shortfall.d.ts.map +1 -0
  168. package/dist/cjs/utils/balance/get-ton-shortfall.js +46 -0
  169. package/dist/cjs/utils/balance/get-ton-shortfall.test.d.ts +9 -0
  170. package/dist/cjs/utils/balance/get-ton-shortfall.test.d.ts.map +1 -0
  171. package/dist/cjs/utils/balance/get-ton-shortfall.test.js +133 -0
  172. package/dist/cjs/utils/functions/debounce.d.ts +80 -0
  173. package/dist/cjs/utils/functions/debounce.d.ts.map +1 -0
  174. package/dist/cjs/utils/functions/debounce.js +107 -0
  175. package/dist/cjs/utils/index.d.ts +10 -0
  176. package/dist/cjs/utils/index.d.ts.map +1 -1
  177. package/dist/cjs/utils/index.js +10 -0
  178. package/dist/cjs/utils/jetton/jetton-info.d.ts +2 -1
  179. package/dist/cjs/utils/jetton/jetton-info.d.ts.map +1 -1
  180. package/dist/cjs/utils/jetton/jetton-info.js +11 -1
  181. package/dist/cjs/utils/jetton/jetton-info.test.d.ts +9 -0
  182. package/dist/cjs/utils/jetton/jetton-info.test.d.ts.map +1 -0
  183. package/dist/cjs/utils/jetton/jetton-info.test.js +54 -0
  184. package/dist/cjs/utils/predicate/is-number.d.ts +9 -0
  185. package/dist/cjs/utils/predicate/is-number.d.ts.map +1 -0
  186. package/dist/cjs/utils/predicate/is-number.js +20 -0
  187. package/dist/cjs/utils/predicate/is-string.d.ts +1 -1
  188. package/dist/cjs/utils/predicate/is-string.d.ts.map +1 -1
  189. package/dist/cjs/utils/predicate/is-string.js +4 -3
  190. package/dist/esm/actions/connectors/watch-connector-by-id.d.ts.map +1 -1
  191. package/dist/esm/actions/connectors/watch-connector-by-id.js +8 -3
  192. package/dist/esm/actions/connectors/watch-connectors.d.ts.map +1 -1
  193. package/dist/esm/actions/connectors/watch-connectors.js +8 -3
  194. package/dist/esm/actions/index.d.ts +8 -0
  195. package/dist/esm/actions/index.d.ts.map +1 -1
  196. package/dist/esm/actions/index.js +8 -0
  197. package/dist/esm/actions/jettons/create-transfer-jetton-transaction.d.ts +1 -1
  198. package/dist/esm/actions/jettons/create-transfer-jetton-transaction.d.ts.map +1 -1
  199. package/dist/esm/actions/jettons/create-transfer-jetton-transaction.js +17 -5
  200. package/dist/esm/actions/jettons/get-jetton-balance.d.ts +1 -1
  201. package/dist/esm/actions/jettons/get-jetton-balance.d.ts.map +1 -1
  202. package/dist/esm/actions/jettons/get-jetton-balance.js +7 -2
  203. package/dist/esm/actions/jettons/get-jetton-info.d.ts.map +1 -1
  204. package/dist/esm/actions/jettons/get-jetton-info.js +15 -6
  205. package/dist/esm/actions/jettons/get-jetton-wallet-address.d.ts +1 -1
  206. package/dist/esm/actions/jettons/get-jetton-wallet-address.d.ts.map +1 -1
  207. package/dist/esm/actions/jettons/get-jetton-wallet-address.js +15 -4
  208. package/dist/esm/actions/nft/get-nft.d.ts +1 -1
  209. package/dist/esm/actions/nft/get-nft.d.ts.map +1 -1
  210. package/dist/esm/actions/providers/register-provider.d.ts +2 -1
  211. package/dist/esm/actions/providers/register-provider.d.ts.map +1 -1
  212. package/dist/esm/actions/staking/get-staking-provider-metadata.d.ts +19 -0
  213. package/dist/esm/actions/staking/get-staking-provider-metadata.d.ts.map +1 -0
  214. package/dist/esm/actions/staking/get-staking-provider-metadata.js +14 -0
  215. package/dist/esm/actions/staking/get-staking-provider.d.ts +21 -0
  216. package/dist/esm/actions/staking/get-staking-provider.d.ts.map +1 -0
  217. package/dist/esm/actions/staking/get-staking-provider.js +13 -0
  218. package/dist/esm/actions/staking/get-staking-providers.d.ts +3 -2
  219. package/dist/esm/actions/staking/get-staking-providers.d.ts.map +1 -1
  220. package/dist/esm/actions/staking/get-staking-providers.js +2 -2
  221. package/dist/esm/actions/staking/set-default-staking-provider.d.ts +18 -0
  222. package/dist/esm/actions/staking/set-default-staking-provider.d.ts.map +1 -0
  223. package/dist/esm/actions/staking/set-default-staking-provider.js +14 -0
  224. package/dist/esm/actions/staking/watch-staking-providers.d.ts +17 -0
  225. package/dist/esm/actions/staking/watch-staking-providers.d.ts.map +1 -0
  226. package/dist/esm/actions/staking/watch-staking-providers.js +24 -0
  227. package/dist/esm/actions/swap/get-swap-provider.d.ts +15 -0
  228. package/dist/esm/actions/swap/get-swap-provider.d.ts.map +1 -0
  229. package/dist/esm/actions/swap/get-swap-provider.js +10 -0
  230. package/dist/esm/actions/swap/get-swap-providers.d.ts +15 -0
  231. package/dist/esm/actions/swap/get-swap-providers.d.ts.map +1 -0
  232. package/dist/esm/actions/swap/get-swap-providers.js +13 -0
  233. package/dist/esm/actions/swap/get-swap-quote.d.ts.map +1 -1
  234. package/dist/esm/actions/swap/get-swap-quote.js +6 -1
  235. package/dist/esm/actions/swap/set-default-swap-provider.d.ts +18 -0
  236. package/dist/esm/actions/swap/set-default-swap-provider.d.ts.map +1 -0
  237. package/dist/esm/actions/swap/set-default-swap-provider.js +14 -0
  238. package/dist/esm/actions/swap/watch-swap-providers.d.ts +17 -0
  239. package/dist/esm/actions/swap/watch-swap-providers.d.ts.map +1 -0
  240. package/dist/esm/actions/swap/watch-swap-providers.js +25 -0
  241. package/dist/esm/connectors/tonconnect/connectors/ton-connect-connector.d.ts +1 -2
  242. package/dist/esm/connectors/tonconnect/connectors/ton-connect-connector.d.ts.map +1 -1
  243. package/dist/esm/connectors/tonconnect/connectors/ton-connect-connector.js +16 -18
  244. package/dist/esm/core/app-kit/constants/events.d.ts +3 -8
  245. package/dist/esm/core/app-kit/constants/events.d.ts.map +1 -1
  246. package/dist/esm/core/app-kit/constants/events.js +3 -8
  247. package/dist/esm/core/app-kit/index.d.ts +2 -2
  248. package/dist/esm/core/app-kit/index.d.ts.map +1 -1
  249. package/dist/esm/core/app-kit/index.js +1 -1
  250. package/dist/esm/core/app-kit/services/app-kit.d.ts +5 -2
  251. package/dist/esm/core/app-kit/services/app-kit.d.ts.map +1 -1
  252. package/dist/esm/core/app-kit/services/app-kit.js +12 -4
  253. package/dist/esm/core/app-kit/types/config.d.ts +6 -3
  254. package/dist/esm/core/app-kit/types/config.d.ts.map +1 -1
  255. package/dist/esm/core/app-kit/types/events.d.ts +13 -13
  256. package/dist/esm/core/app-kit/types/events.d.ts.map +1 -1
  257. package/dist/esm/core/cache/adapters/lru-app-kit-cache.d.ts +20 -0
  258. package/dist/esm/core/cache/adapters/lru-app-kit-cache.d.ts.map +1 -0
  259. package/dist/esm/core/cache/adapters/lru-app-kit-cache.js +28 -0
  260. package/dist/esm/core/cache/adapters/lru-app-kit-cache.test.d.ts +9 -0
  261. package/dist/esm/core/cache/adapters/lru-app-kit-cache.test.d.ts.map +1 -0
  262. package/dist/esm/core/cache/adapters/lru-app-kit-cache.test.js +66 -0
  263. package/dist/esm/core/cache/index.d.ts +11 -0
  264. package/dist/esm/core/cache/index.d.ts.map +1 -0
  265. package/dist/esm/core/cache/index.js +9 -0
  266. package/dist/esm/core/cache/types/app-kit-cache.d.ts +14 -0
  267. package/dist/esm/core/cache/types/app-kit-cache.d.ts.map +1 -0
  268. package/dist/esm/core/cache/types/app-kit-cache.js +8 -0
  269. package/dist/esm/core/cache/utils/get-cache-key.d.ts +9 -0
  270. package/dist/esm/core/cache/utils/get-cache-key.d.ts.map +1 -0
  271. package/dist/esm/core/cache/utils/get-cache-key.js +8 -0
  272. package/dist/esm/core/cache/utils/get-cache-key.test.d.ts +9 -0
  273. package/dist/esm/core/cache/utils/get-cache-key.test.d.ts.map +1 -0
  274. package/dist/esm/core/cache/utils/get-cache-key.test.js +28 -0
  275. package/dist/esm/index.d.ts +1 -0
  276. package/dist/esm/index.d.ts.map +1 -1
  277. package/dist/esm/index.js +1 -0
  278. package/dist/esm/queries/balances/get-balance-by-address.d.ts.map +1 -1
  279. package/dist/esm/queries/balances/get-balance-by-address.js +10 -4
  280. package/dist/esm/queries/index.d.ts +0 -1
  281. package/dist/esm/queries/index.d.ts.map +1 -1
  282. package/dist/esm/queries/index.js +0 -1
  283. package/dist/esm/queries/jettons/get-jetton-balance-by-address.d.ts.map +1 -1
  284. package/dist/esm/queries/jettons/get-jetton-balance-by-address.js +12 -12
  285. package/dist/esm/queries/jettons/get-jetton-info.d.ts.map +1 -1
  286. package/dist/esm/queries/jettons/get-jetton-info.js +6 -2
  287. package/dist/esm/queries/jettons/get-jetton-wallet-address.d.ts.map +1 -1
  288. package/dist/esm/queries/jettons/get-jetton-wallet-address.js +7 -2
  289. package/dist/esm/queries/jettons/get-jettons-by-address.d.ts.map +1 -1
  290. package/dist/esm/queries/jettons/get-jettons-by-address.js +10 -4
  291. package/dist/esm/queries/nft/get-nft.d.ts +1 -1
  292. package/dist/esm/queries/nft/get-nft.d.ts.map +1 -1
  293. package/dist/esm/queries/nft/get-nft.js +6 -2
  294. package/dist/esm/queries/nft/get-nfts-by-address.d.ts.map +1 -1
  295. package/dist/esm/queries/nft/get-nfts-by-address.js +6 -2
  296. package/dist/esm/queries/staking/get-staked-balance.d.ts +1 -1
  297. package/dist/esm/queries/staking/get-staked-balance.d.ts.map +1 -1
  298. package/dist/esm/queries/staking/get-staked-balance.js +8 -2
  299. package/dist/esm/queries/staking/get-staking-provider-info.d.ts +1 -1
  300. package/dist/esm/queries/staking/get-staking-provider-info.d.ts.map +1 -1
  301. package/dist/esm/queries/staking/get-staking-provider-info.js +4 -2
  302. package/dist/esm/queries/staking/get-staking-quote.d.ts +1 -1
  303. package/dist/esm/queries/staking/get-staking-quote.d.ts.map +1 -1
  304. package/dist/esm/queries/staking/get-staking-quote.js +9 -3
  305. package/dist/esm/queries/swap/get-swap-quote.d.ts.map +1 -1
  306. package/dist/esm/queries/swap/get-swap-quote.js +1 -1
  307. package/dist/esm/staking/index.d.ts +2 -2
  308. package/dist/esm/staking/index.d.ts.map +1 -1
  309. package/dist/esm/staking/index.js +1 -1
  310. package/dist/esm/swap/index.d.ts +2 -1
  311. package/dist/esm/swap/index.d.ts.map +1 -1
  312. package/dist/esm/swap/index.js +1 -1
  313. package/dist/esm/types/connector.d.ts +0 -6
  314. package/dist/esm/types/connector.d.ts.map +1 -1
  315. package/dist/esm/types/primitives.d.ts +1 -1
  316. package/dist/esm/types/primitives.d.ts.map +1 -1
  317. package/dist/esm/types/provider.d.ts +3 -3
  318. package/dist/esm/types/provider.d.ts.map +1 -1
  319. package/dist/esm/utils/address/is-valid-address.d.ts +11 -0
  320. package/dist/esm/utils/address/is-valid-address.d.ts.map +1 -0
  321. package/dist/esm/utils/address/is-valid-address.js +33 -0
  322. package/dist/esm/utils/address/to-bounceble-address.d.ts +11 -0
  323. package/dist/esm/utils/address/to-bounceble-address.d.ts.map +1 -0
  324. package/dist/esm/utils/address/to-bounceble-address.js +31 -0
  325. package/dist/esm/utils/address/to-non-bounceble-address.d.ts +11 -0
  326. package/dist/esm/utils/address/to-non-bounceble-address.d.ts.map +1 -0
  327. package/dist/esm/utils/address/to-non-bounceble-address.js +31 -0
  328. package/dist/esm/utils/amount/calc-fiat-value.d.ts +13 -0
  329. package/dist/esm/utils/amount/calc-fiat-value.d.ts.map +1 -0
  330. package/dist/esm/utils/amount/calc-fiat-value.js +19 -0
  331. package/dist/esm/utils/amount/calc-fiat-value.test.d.ts +9 -0
  332. package/dist/esm/utils/amount/calc-fiat-value.test.d.ts.map +1 -0
  333. package/dist/esm/utils/amount/calc-fiat-value.test.js +37 -0
  334. package/dist/esm/utils/amount/format-large-value.d.ts +9 -0
  335. package/dist/esm/utils/amount/format-large-value.d.ts.map +1 -0
  336. package/dist/esm/utils/amount/format-large-value.js +36 -0
  337. package/dist/esm/utils/amount/format-large-value.test.d.ts +9 -0
  338. package/dist/esm/utils/amount/format-large-value.test.d.ts.map +1 -0
  339. package/dist/esm/utils/amount/format-large-value.test.js +41 -0
  340. package/dist/esm/utils/amount/truncate-decimals.d.ts +9 -0
  341. package/dist/esm/utils/amount/truncate-decimals.d.ts.map +1 -0
  342. package/dist/esm/utils/amount/truncate-decimals.js +55 -0
  343. package/dist/esm/utils/amount/truncate-decimals.test.d.ts +9 -0
  344. package/dist/esm/utils/amount/truncate-decimals.test.d.ts.map +1 -0
  345. package/dist/esm/utils/amount/truncate-decimals.test.js +81 -0
  346. package/dist/esm/utils/balance/calc-max-spendable.d.ts +33 -0
  347. package/dist/esm/utils/balance/calc-max-spendable.d.ts.map +1 -0
  348. package/dist/esm/utils/balance/calc-max-spendable.js +25 -0
  349. package/dist/esm/utils/balance/calc-max-spendable.test.d.ts +9 -0
  350. package/dist/esm/utils/balance/calc-max-spendable.test.d.ts.map +1 -0
  351. package/dist/esm/utils/balance/calc-max-spendable.test.js +36 -0
  352. package/dist/esm/utils/balance/get-ton-shortfall.d.ts +58 -0
  353. package/dist/esm/utils/balance/get-ton-shortfall.d.ts.map +1 -0
  354. package/dist/esm/utils/balance/get-ton-shortfall.js +42 -0
  355. package/dist/esm/utils/balance/get-ton-shortfall.test.d.ts +9 -0
  356. package/dist/esm/utils/balance/get-ton-shortfall.test.d.ts.map +1 -0
  357. package/dist/esm/utils/balance/get-ton-shortfall.test.js +131 -0
  358. package/dist/esm/utils/functions/debounce.d.ts +80 -0
  359. package/dist/esm/utils/functions/debounce.d.ts.map +1 -0
  360. package/dist/esm/utils/functions/debounce.js +103 -0
  361. package/dist/esm/utils/index.d.ts +10 -0
  362. package/dist/esm/utils/index.d.ts.map +1 -1
  363. package/dist/esm/utils/index.js +10 -0
  364. package/dist/esm/utils/jetton/jetton-info.d.ts +2 -1
  365. package/dist/esm/utils/jetton/jetton-info.d.ts.map +1 -1
  366. package/dist/esm/utils/jetton/jetton-info.js +9 -0
  367. package/dist/esm/utils/jetton/jetton-info.test.d.ts +9 -0
  368. package/dist/esm/utils/jetton/jetton-info.test.d.ts.map +1 -0
  369. package/dist/esm/utils/jetton/jetton-info.test.js +52 -0
  370. package/dist/esm/utils/predicate/is-number.d.ts +9 -0
  371. package/dist/esm/utils/predicate/is-number.d.ts.map +1 -0
  372. package/dist/esm/utils/predicate/is-number.js +16 -0
  373. package/dist/esm/utils/predicate/is-string.d.ts +1 -1
  374. package/dist/esm/utils/predicate/is-string.d.ts.map +1 -1
  375. package/dist/esm/utils/predicate/is-string.js +2 -2
  376. package/docs/actions.md +64 -15
  377. package/docs/connectors.md +5 -25
  378. package/docs/staking.md +7 -6
  379. package/docs/swap.md +11 -10
  380. package/package.json +4 -3
  381. package/src/actions/connectors/watch-connector-by-id.ts +9 -3
  382. package/src/actions/connectors/watch-connectors.ts +9 -3
  383. package/src/actions/index.ts +32 -0
  384. package/src/actions/jettons/create-transfer-jetton-transaction.ts +22 -6
  385. package/src/actions/jettons/get-jetton-balance.ts +10 -3
  386. package/src/actions/jettons/get-jetton-info.ts +18 -6
  387. package/src/actions/jettons/get-jetton-wallet-address.ts +19 -5
  388. package/src/actions/nft/get-nft.ts +1 -1
  389. package/src/actions/providers/register-provider.ts +2 -1
  390. package/src/actions/staking/get-staking-provider-metadata.ts +32 -0
  391. package/src/actions/staking/get-staking-provider.ts +30 -0
  392. package/src/actions/staking/get-staking-providers.ts +5 -3
  393. package/src/actions/staking/set-default-staking-provider.ts +26 -0
  394. package/src/actions/staking/watch-staking-providers.ts +39 -0
  395. package/src/actions/swap/get-swap-provider.ts +21 -0
  396. package/src/actions/swap/get-swap-providers.ts +20 -0
  397. package/src/actions/swap/get-swap-quote.ts +7 -1
  398. package/src/actions/swap/set-default-swap-provider.ts +26 -0
  399. package/src/actions/swap/watch-swap-providers.ts +38 -0
  400. package/src/connectors/tonconnect/connectors/ton-connect-connector.ts +22 -20
  401. package/src/core/app-kit/constants/events.ts +3 -9
  402. package/src/core/app-kit/index.ts +4 -4
  403. package/src/core/app-kit/services/app-kit.ts +18 -7
  404. package/src/core/app-kit/types/config.ts +6 -3
  405. package/src/core/app-kit/types/events.ts +13 -15
  406. package/src/core/cache/adapters/lru-app-kit-cache.test.ts +77 -0
  407. package/src/core/cache/adapters/lru-app-kit-cache.ts +38 -0
  408. package/src/core/cache/index.ts +12 -0
  409. package/src/core/cache/types/app-kit-cache.ts +14 -0
  410. package/src/core/cache/utils/get-cache-key.test.ts +34 -0
  411. package/src/core/cache/utils/get-cache-key.ts +12 -0
  412. package/src/index.ts +1 -0
  413. package/src/queries/balances/get-balance-by-address.ts +11 -4
  414. package/src/queries/index.ts +0 -6
  415. package/src/queries/jettons/get-jetton-balance-by-address.ts +13 -12
  416. package/src/queries/jettons/get-jetton-info.ts +6 -2
  417. package/src/queries/jettons/get-jetton-wallet-address.ts +7 -2
  418. package/src/queries/jettons/get-jettons-by-address.ts +18 -4
  419. package/src/queries/nft/get-nft.ts +7 -3
  420. package/src/queries/nft/get-nfts-by-address.ts +6 -2
  421. package/src/queries/staking/get-staked-balance.ts +10 -3
  422. package/src/queries/staking/get-staking-provider-info.ts +5 -2
  423. package/src/queries/staking/get-staking-quote.ts +13 -4
  424. package/src/queries/swap/get-swap-quote.ts +3 -1
  425. package/src/staking/index.ts +10 -1
  426. package/src/swap/index.ts +2 -4
  427. package/src/types/connector.ts +0 -8
  428. package/src/types/primitives.ts +1 -1
  429. package/src/types/provider.ts +3 -3
  430. package/src/utils/address/is-valid-address.ts +40 -0
  431. package/src/utils/address/to-bounceble-address.ts +35 -0
  432. package/src/utils/address/to-non-bounceble-address.ts +35 -0
  433. package/src/utils/amount/calc-fiat-value.test.ts +46 -0
  434. package/src/utils/amount/calc-fiat-value.ts +18 -0
  435. package/src/utils/amount/format-large-value.test.ts +50 -0
  436. package/src/utils/amount/format-large-value.ts +43 -0
  437. package/src/utils/amount/truncate-decimals.test.ts +97 -0
  438. package/src/utils/amount/truncate-decimals.ts +56 -0
  439. package/src/utils/balance/calc-max-spendable.test.ts +46 -0
  440. package/src/utils/balance/calc-max-spendable.ts +44 -0
  441. package/src/utils/balance/get-ton-shortfall.test.ts +148 -0
  442. package/src/utils/balance/get-ton-shortfall.ts +82 -0
  443. package/src/utils/functions/debounce.ts +169 -0
  444. package/src/utils/index.ts +10 -0
  445. package/src/utils/jetton/jetton-info.test.ts +65 -0
  446. package/src/utils/jetton/jetton-info.ts +12 -1
  447. package/src/utils/predicate/is-number.ts +19 -0
  448. package/src/utils/predicate/is-string.ts +2 -2
  449. package/dist/cjs/queries/staking/get-staking-providers.d.ts +0 -20
  450. package/dist/cjs/queries/staking/get-staking-providers.d.ts.map +0 -1
  451. package/dist/cjs/queries/staking/get-staking-providers.js +0 -25
  452. package/dist/esm/queries/staking/get-staking-providers.d.ts +0 -20
  453. package/dist/esm/queries/staking/get-staking-providers.d.ts.map +0 -1
  454. package/dist/esm/queries/staking/get-staking-providers.js +0 -20
  455. package/src/queries/staking/get-staking-providers.ts +0 -52
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) TonTech.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ *
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ const vitest_1 = require("vitest");
11
+ const get_ton_shortfall_1 = require("./get-ton-shortfall");
12
+ const TON = { address: 'ton' };
13
+ const JETTON = { address: 'EQA_jetton_address' };
14
+ // Helper — convert a decimal string of TON to nanos as a string (for message amounts).
15
+ const toNanos = (ton) => BigInt(Math.round(Number(ton) * 1e9)).toString();
16
+ (0, vitest_1.describe)('getTonShortfall', () => {
17
+ (0, vitest_1.it)('returns undefined when TON balance covers the built transaction', () => {
18
+ // Swap 1 TON, total tx outflow 1.3 TON (1 TON swap + 0.3 TON attached gas), balance 2 TON.
19
+ const result = (0, get_ton_shortfall_1.getTonShortfall)({
20
+ messages: [{ amount: toNanos('1.3') }],
21
+ tonBalance: '2',
22
+ fromToken: TON,
23
+ fromAmount: '1',
24
+ });
25
+ (0, vitest_1.expect)(result).toBeUndefined();
26
+ });
27
+ (0, vitest_1.it)('returns topup when fromToken is a jetton and TON balance is below outflow + buffer', () => {
28
+ // Jetton swap, tx needs 0.05 TON for gas, user has 0 TON.
29
+ const result = (0, get_ton_shortfall_1.getTonShortfall)({
30
+ messages: [{ amount: toNanos('0.05') }],
31
+ tonBalance: '0',
32
+ fromToken: JETTON,
33
+ fromAmount: '100',
34
+ });
35
+ (0, vitest_1.expect)(result).toEqual({
36
+ mode: 'topup',
37
+ requiredNanos: 50000000n + get_ton_shortfall_1.DEFAULT_GAS_BUFFER_NANOS,
38
+ suggestedFromAmount: '',
39
+ });
40
+ });
41
+ (0, vitest_1.it)('returns reduce for TON-from when balance covers gas but not full amount', () => {
42
+ // User wants 1 TON swap, total outflow 1.3 TON, has 1 TON. Gas only = 0.3 TON.
43
+ // Balance (1) > nonSwapReserved (0.3 gas + 0.1 buffer + 0.02 safety = 0.42) → reduce mode.
44
+ const result = (0, get_ton_shortfall_1.getTonShortfall)({
45
+ messages: [{ amount: toNanos('1.3') }],
46
+ tonBalance: '1',
47
+ fromToken: TON,
48
+ fromAmount: '1',
49
+ });
50
+ (0, vitest_1.expect)(result?.mode).toBe('reduce');
51
+ if (result?.mode !== 'reduce')
52
+ return;
53
+ // Suggested = 1 - 0.42 = 0.58
54
+ (0, vitest_1.expect)(result.suggestedFromAmount).toBe('0.58');
55
+ (0, vitest_1.expect)(result.requiredNanos).toBe(1300000000n + get_ton_shortfall_1.DEFAULT_GAS_BUFFER_NANOS);
56
+ });
57
+ (0, vitest_1.it)('returns topup for TON-from when balance cannot cover even gas (reducing would not help)', () => {
58
+ // User wants 1 TON swap, total outflow 1.3 TON → gas = 0.3 TON. Balance 0.2 TON.
59
+ // nonSwapReserved = 0.3 + 0.1 buffer + 0.02 safety = 0.42 TON → balance (0.2) <= 0.42 → topup.
60
+ const result = (0, get_ton_shortfall_1.getTonShortfall)({
61
+ messages: [{ amount: toNanos('1.3') }],
62
+ tonBalance: '0.2',
63
+ fromToken: TON,
64
+ fromAmount: '1',
65
+ });
66
+ (0, vitest_1.expect)(result).toEqual({
67
+ mode: 'topup',
68
+ requiredNanos: 1300000000n + get_ton_shortfall_1.DEFAULT_GAS_BUFFER_NANOS,
69
+ suggestedFromAmount: '',
70
+ });
71
+ });
72
+ (0, vitest_1.it)('treats an undefined tonBalance as zero', () => {
73
+ const result = (0, get_ton_shortfall_1.getTonShortfall)({
74
+ messages: [{ amount: toNanos('0.05') }],
75
+ tonBalance: undefined,
76
+ fromToken: JETTON,
77
+ fromAmount: '100',
78
+ });
79
+ (0, vitest_1.expect)(result?.mode).toBe('topup');
80
+ });
81
+ (0, vitest_1.it)('sums amounts across multiple messages', () => {
82
+ // Two messages attaching 0.6 TON each → totalOut = 1.2 TON. Balance 1 TON → shortfall.
83
+ const result = (0, get_ton_shortfall_1.getTonShortfall)({
84
+ messages: [{ amount: toNanos('0.6') }, { amount: toNanos('0.6') }],
85
+ tonBalance: '1',
86
+ fromToken: JETTON,
87
+ fromAmount: '100',
88
+ });
89
+ (0, vitest_1.expect)(result?.mode).toBe('topup');
90
+ (0, vitest_1.expect)(result?.requiredNanos).toBe(1200000000n + get_ton_shortfall_1.DEFAULT_GAS_BUFFER_NANOS);
91
+ });
92
+ (0, vitest_1.it)('respects a custom gasBufferNanos', () => {
93
+ const baseParams = {
94
+ messages: [{ amount: toNanos('1.3') }],
95
+ tonBalance: '1.3',
96
+ fromToken: TON,
97
+ fromAmount: '1',
98
+ };
99
+ // With the default buffer (0.1 TON), balance 1.3 is insufficient (needs 1.4).
100
+ (0, vitest_1.expect)((0, get_ton_shortfall_1.getTonShortfall)(baseParams)?.mode).toBe('reduce');
101
+ // With a zero buffer, 1.3 TON balance covers the 1.3 TON outflow exactly.
102
+ (0, vitest_1.expect)((0, get_ton_shortfall_1.getTonShortfall)({ ...baseParams, gasBufferNanos: 0n })).toBeUndefined();
103
+ });
104
+ (0, vitest_1.it)('respects a custom safetyMarginNanos in the reduce branch', () => {
105
+ // Default margin: suggested = balance - gas - buffer - 0.02 = 1 - 0.3 - 0.1 - 0.02 = 0.58
106
+ // Zero margin: suggested = balance - gas - buffer = 1 - 0.3 - 0.1 = 0.6
107
+ const baseParams = {
108
+ messages: [{ amount: toNanos('1.3') }],
109
+ tonBalance: '1',
110
+ fromToken: TON,
111
+ fromAmount: '1',
112
+ };
113
+ const withDefault = (0, get_ton_shortfall_1.getTonShortfall)(baseParams);
114
+ (0, vitest_1.expect)(withDefault?.mode === 'reduce' ? withDefault.suggestedFromAmount : null).toBe('0.58');
115
+ const withZero = (0, get_ton_shortfall_1.getTonShortfall)({ ...baseParams, safetyMarginNanos: 0n });
116
+ (0, vitest_1.expect)(withZero?.mode === 'reduce' ? withZero.suggestedFromAmount : null).toBe('0.6');
117
+ });
118
+ (0, vitest_1.it)('flips from reduce to topup when a large custom safetyMarginNanos eats the balance', () => {
119
+ // Balance 1 TON, gas 0.3 TON, buffer 0.1 TON. With a 1 TON safety margin, nonSwapReserved becomes 1.4 TON → topup.
120
+ const result = (0, get_ton_shortfall_1.getTonShortfall)({
121
+ messages: [{ amount: toNanos('1.3') }],
122
+ tonBalance: '1',
123
+ fromToken: TON,
124
+ fromAmount: '1',
125
+ safetyMarginNanos: 1000000000n,
126
+ });
127
+ (0, vitest_1.expect)(result?.mode).toBe('topup');
128
+ });
129
+ (0, vitest_1.it)('exports sane default constants', () => {
130
+ (0, vitest_1.expect)(get_ton_shortfall_1.DEFAULT_GAS_BUFFER_NANOS).toBe(100000000n);
131
+ (0, vitest_1.expect)(get_ton_shortfall_1.DEFAULT_SAFETY_MARGIN_NANOS).toBe(20000000n);
132
+ });
133
+ });
@@ -0,0 +1,80 @@
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
+ export interface DebounceOptions {
9
+ /**
10
+ * An optional AbortSignal to cancel the debounced function.
11
+ */
12
+ signal?: AbortSignal;
13
+ /**
14
+ * An optional array specifying whether the function should be invoked on the leading edge, trailing edge, or both.
15
+ * If `edges` include "leading", the function will be invoked at the start of the delay period.
16
+ * If `edges` include "trailing", the function will be invoked at the end of the delay period.
17
+ * If both "leading" and "trailing" are included, the function will be invoked at both the start and end of the delay period.
18
+ * @default ["trailing"]
19
+ */
20
+ edges?: Array<'leading' | 'trailing'>;
21
+ }
22
+ export interface DebouncedFunction<F extends (...args: unknown[]) => void> {
23
+ (...args: Parameters<F>): void;
24
+ /**
25
+ * Schedules the execution of the debounced function after the specified debounced delay.
26
+ * This method resets any existing timer, ensuring that the function is only invoked
27
+ * after the delay has elapsed since the last call to the debounced function.
28
+ * It is typically called internally whenever the debounced function is invoked.
29
+ *
30
+ * @returns {void}
31
+ */
32
+ schedule: () => void;
33
+ /**
34
+ * Cancels any pending execution of the debounced function.
35
+ * This method clears the active timer and resets any stored context or arguments.
36
+ */
37
+ cancel: () => void;
38
+ /**
39
+ * Immediately invokes the debounced function if there is a pending execution.
40
+ * This method executes the function right away if there is a pending execution.
41
+ */
42
+ flush: () => void;
43
+ }
44
+ /**
45
+ * Creates a debounced function that delays invoking the provided function until after `debounceMs` milliseconds
46
+ * have elapsed since the last time the debounced function was invoked. The debounced function also has a `cancel`
47
+ * method to cancel any pending execution.
48
+ *
49
+ * @template F - The type of function.
50
+ * @param {F} func - The function to debounce.
51
+ * @param {number} debounceMs - The number of milliseconds to delay.
52
+ * @param {DebounceOptions} options - The options object
53
+ * @param {AbortSignal} options.signal - An optional AbortSignal to cancel the debounced function.
54
+ * @returns A new debounced function with a `cancel` method.
55
+ *
56
+ * @example
57
+ * const debouncedFunction = debounce(() => {
58
+ * console.log('Function executed');
59
+ * }, 1000);
60
+ *
61
+ * // Will log 'Function executed' after 1 second if not called again in that time
62
+ * debouncedFunction();
63
+ *
64
+ * // Will not log anything as the previous call is canceled
65
+ * debouncedFunction.cancel();
66
+ *
67
+ * // With AbortSignal
68
+ * const controller = new AbortController();
69
+ * const signal = controller.signal;
70
+ * const debouncedWithSignal = debounce(() => {
71
+ * console.log('Function executed');
72
+ * }, 1000, { signal });
73
+ *
74
+ * debouncedWithSignal();
75
+ *
76
+ * // Will cancel the debounced function call
77
+ * controller.abort();
78
+ */
79
+ export declare const debounce: <F extends (...args: unknown[]) => void>(func: F, debounceMs: number, { signal, edges }?: DebounceOptions) => DebouncedFunction<F>;
80
+ //# sourceMappingURL=debounce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../../../src/utils/functions/debounce.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;IACrE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAE/B;;;;;;;OAOG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB;;;OAGG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB;;;OAGG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,EAC3D,MAAM,CAAC,EACP,YAAY,MAAM,EAClB,oBAAmB,eAAoB,KACxC,iBAAiB,CAAC,CAAC,CA+ErB,CAAC"}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) TonTech.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ *
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.debounce = void 0;
11
+ /**
12
+ * Creates a debounced function that delays invoking the provided function until after `debounceMs` milliseconds
13
+ * have elapsed since the last time the debounced function was invoked. The debounced function also has a `cancel`
14
+ * method to cancel any pending execution.
15
+ *
16
+ * @template F - The type of function.
17
+ * @param {F} func - The function to debounce.
18
+ * @param {number} debounceMs - The number of milliseconds to delay.
19
+ * @param {DebounceOptions} options - The options object
20
+ * @param {AbortSignal} options.signal - An optional AbortSignal to cancel the debounced function.
21
+ * @returns A new debounced function with a `cancel` method.
22
+ *
23
+ * @example
24
+ * const debouncedFunction = debounce(() => {
25
+ * console.log('Function executed');
26
+ * }, 1000);
27
+ *
28
+ * // Will log 'Function executed' after 1 second if not called again in that time
29
+ * debouncedFunction();
30
+ *
31
+ * // Will not log anything as the previous call is canceled
32
+ * debouncedFunction.cancel();
33
+ *
34
+ * // With AbortSignal
35
+ * const controller = new AbortController();
36
+ * const signal = controller.signal;
37
+ * const debouncedWithSignal = debounce(() => {
38
+ * console.log('Function executed');
39
+ * }, 1000, { signal });
40
+ *
41
+ * debouncedWithSignal();
42
+ *
43
+ * // Will cancel the debounced function call
44
+ * controller.abort();
45
+ */
46
+ const debounce = (func, debounceMs, { signal, edges } = {}) => {
47
+ let pendingThis = undefined;
48
+ let pendingArgs = null;
49
+ const leading = edges != null && edges.includes('leading');
50
+ const trailing = edges == null || edges.includes('trailing');
51
+ const invoke = () => {
52
+ if (pendingArgs !== null) {
53
+ func.apply(pendingThis, pendingArgs);
54
+ pendingThis = undefined;
55
+ pendingArgs = null;
56
+ }
57
+ };
58
+ const onTimerEnd = () => {
59
+ if (trailing) {
60
+ invoke();
61
+ }
62
+ cancel();
63
+ };
64
+ let timeoutId = null;
65
+ const schedule = () => {
66
+ if (timeoutId != null) {
67
+ clearTimeout(timeoutId);
68
+ }
69
+ timeoutId = setTimeout(() => {
70
+ timeoutId = null;
71
+ onTimerEnd();
72
+ }, debounceMs);
73
+ };
74
+ const cancelTimer = () => {
75
+ if (timeoutId !== null) {
76
+ clearTimeout(timeoutId);
77
+ timeoutId = null;
78
+ }
79
+ };
80
+ const cancel = () => {
81
+ cancelTimer();
82
+ pendingThis = undefined;
83
+ pendingArgs = null;
84
+ };
85
+ const flush = () => {
86
+ invoke();
87
+ };
88
+ const debounced = function (...args) {
89
+ if (signal?.aborted) {
90
+ return;
91
+ }
92
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
93
+ pendingThis = this;
94
+ pendingArgs = args;
95
+ const isFirstCall = timeoutId == null;
96
+ schedule();
97
+ if (leading && isFirstCall) {
98
+ invoke();
99
+ }
100
+ };
101
+ debounced.schedule = schedule;
102
+ debounced.cancel = cancel;
103
+ debounced.flush = flush;
104
+ signal?.addEventListener('abort', cancel, { once: true });
105
+ return debounced;
106
+ };
107
+ exports.debounce = debounce;
@@ -6,14 +6,24 @@
6
6
  *
7
7
  */
8
8
  export { formatUnits, parseUnits, compareAddress } from '@ton/walletkit';
9
+ export * from './address/is-valid-address';
10
+ export * from './address/to-bounceble-address';
11
+ export * from './address/to-non-bounceble-address';
12
+ export * from './amount/calc-fiat-value';
13
+ export * from './amount/format-large-value';
14
+ export * from './amount/truncate-decimals';
9
15
  export * from './amount/validate-numeric-string';
16
+ export * from './balance/calc-max-spendable';
17
+ export * from './balance/get-ton-shortfall';
10
18
  export * from './arrays/key-by';
11
19
  export * from './arrays/random-from-array';
12
20
  export * from './errors/get-error-message';
21
+ export * from './functions/debounce';
13
22
  export * from './functions/noop';
14
23
  export * from './jetton/jetton-info';
15
24
  export * from './nft/nft-info';
16
25
  export * from './object/map-values';
26
+ export * from './predicate/is-number';
17
27
  export * from './predicate/is-string';
18
28
  export * from './promise/cancel-promise';
19
29
  export * from './promise/sleep';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEzE,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEzE,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC"}
@@ -26,14 +26,24 @@ var walletkit_1 = require("@ton/walletkit");
26
26
  Object.defineProperty(exports, "formatUnits", { enumerable: true, get: function () { return walletkit_1.formatUnits; } });
27
27
  Object.defineProperty(exports, "parseUnits", { enumerable: true, get: function () { return walletkit_1.parseUnits; } });
28
28
  Object.defineProperty(exports, "compareAddress", { enumerable: true, get: function () { return walletkit_1.compareAddress; } });
29
+ __exportStar(require("./address/is-valid-address"), exports);
30
+ __exportStar(require("./address/to-bounceble-address"), exports);
31
+ __exportStar(require("./address/to-non-bounceble-address"), exports);
32
+ __exportStar(require("./amount/calc-fiat-value"), exports);
33
+ __exportStar(require("./amount/format-large-value"), exports);
34
+ __exportStar(require("./amount/truncate-decimals"), exports);
29
35
  __exportStar(require("./amount/validate-numeric-string"), exports);
36
+ __exportStar(require("./balance/calc-max-spendable"), exports);
37
+ __exportStar(require("./balance/get-ton-shortfall"), exports);
30
38
  __exportStar(require("./arrays/key-by"), exports);
31
39
  __exportStar(require("./arrays/random-from-array"), exports);
32
40
  __exportStar(require("./errors/get-error-message"), exports);
41
+ __exportStar(require("./functions/debounce"), exports);
33
42
  __exportStar(require("./functions/noop"), exports);
34
43
  __exportStar(require("./jetton/jetton-info"), exports);
35
44
  __exportStar(require("./nft/nft-info"), exports);
36
45
  __exportStar(require("./object/map-values"), exports);
46
+ __exportStar(require("./predicate/is-number"), exports);
37
47
  __exportStar(require("./predicate/is-string"), exports);
38
48
  __exportStar(require("./promise/cancel-promise"), exports);
39
49
  __exportStar(require("./promise/sleep"), exports);
@@ -5,7 +5,8 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- import type { Jetton } from '@ton/walletkit';
8
+ import type { Jetton, JettonInfo } from '../../types/jetton';
9
+ export declare const isJettonInfo: (value: unknown) => value is JettonInfo;
9
10
  export declare const getJettonsSymbol: (jetton: Jetton) => string | undefined;
10
11
  export declare const getJettonsName: (jetton: Jetton) => string | undefined;
11
12
  export declare const getJettonsImage: (jetton: Jetton) => string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"jetton-info.d.ts","sourceRoot":"","sources":["../../../../src/utils/jetton/jetton-info.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,SAM1D,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,SAMxD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,SAazD,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM;;;;;;;;;;CAkBpD,CAAC"}
1
+ {"version":3,"file":"jetton-info.d.ts","sourceRoot":"","sources":["../../../../src/utils/jetton/jetton-info.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE7D,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,UAStD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,SAM1D,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,SAMxD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,SAazD,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM;;;;;;;;;;CAkBpD,CAAC"}
@@ -7,7 +7,17 @@
7
7
  *
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.getFormattedJettonInfo = exports.getJettonsImage = exports.getJettonsName = exports.getJettonsSymbol = void 0;
10
+ exports.getFormattedJettonInfo = exports.getJettonsImage = exports.getJettonsName = exports.getJettonsSymbol = exports.isJettonInfo = void 0;
11
+ const isJettonInfo = (value) => {
12
+ if (typeof value !== 'object' || value === null)
13
+ return false;
14
+ const v = value;
15
+ return (typeof v.address === 'string' &&
16
+ typeof v.name === 'string' &&
17
+ typeof v.symbol === 'string' &&
18
+ typeof v.description === 'string');
19
+ };
20
+ exports.isJettonInfo = isJettonInfo;
11
21
  const getJettonsSymbol = (jetton) => {
12
22
  if (!jetton?.info?.symbol) {
13
23
  return;
@@ -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
+ export {};
9
+ //# sourceMappingURL=jetton-info.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jetton-info.test.d.ts","sourceRoot":"","sources":["../../../../src/utils/jetton/jetton-info.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) TonTech.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ *
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ const vitest_1 = require("vitest");
11
+ const jetton_info_1 = require("./jetton-info");
12
+ (0, vitest_1.describe)('isJettonInfo', () => {
13
+ (0, vitest_1.it)('should return true for a valid JettonInfo object', () => {
14
+ (0, vitest_1.expect)((0, jetton_info_1.isJettonInfo)({
15
+ address: 'EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs',
16
+ name: 'Tether USD',
17
+ symbol: 'USDT',
18
+ description: 'Tether USD stablecoin',
19
+ })).toBe(true);
20
+ });
21
+ (0, vitest_1.it)('should return true when optional fields are present', () => {
22
+ (0, vitest_1.expect)((0, jetton_info_1.isJettonInfo)({
23
+ address: 'EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs',
24
+ name: 'Tether USD',
25
+ symbol: 'USDT',
26
+ description: 'Tether USD stablecoin',
27
+ decimals: 6,
28
+ image: 'https://example.com/image.png',
29
+ uri: 'https://example.com/meta.json',
30
+ })).toBe(true);
31
+ });
32
+ (0, vitest_1.it)('should return false for null', () => {
33
+ (0, vitest_1.expect)((0, jetton_info_1.isJettonInfo)(null)).toBe(false);
34
+ });
35
+ (0, vitest_1.it)('should return false for primitives', () => {
36
+ (0, vitest_1.expect)((0, jetton_info_1.isJettonInfo)('string')).toBe(false);
37
+ (0, vitest_1.expect)((0, jetton_info_1.isJettonInfo)(42)).toBe(false);
38
+ (0, vitest_1.expect)((0, jetton_info_1.isJettonInfo)(true)).toBe(false);
39
+ (0, vitest_1.expect)((0, jetton_info_1.isJettonInfo)(undefined)).toBe(false);
40
+ });
41
+ (0, vitest_1.it)('should return false when required string fields are missing', () => {
42
+ (0, vitest_1.expect)((0, jetton_info_1.isJettonInfo)({ name: 'Test', symbol: 'TST', description: 'desc' })).toBe(false);
43
+ (0, vitest_1.expect)((0, jetton_info_1.isJettonInfo)({ address: 'EQ...', symbol: 'TST', description: 'desc' })).toBe(false);
44
+ (0, vitest_1.expect)((0, jetton_info_1.isJettonInfo)({ address: 'EQ...', name: 'Test', description: 'desc' })).toBe(false);
45
+ (0, vitest_1.expect)((0, jetton_info_1.isJettonInfo)({ address: 'EQ...', name: 'Test', symbol: 'TST' })).toBe(false);
46
+ });
47
+ (0, vitest_1.it)('should return false when required fields are not strings', () => {
48
+ (0, vitest_1.expect)((0, jetton_info_1.isJettonInfo)({ address: 1, name: 'Test', symbol: 'TST', description: 'desc' })).toBe(false);
49
+ (0, vitest_1.expect)((0, jetton_info_1.isJettonInfo)({ address: 'EQ...', name: null, symbol: 'TST', description: 'desc' })).toBe(false);
50
+ });
51
+ (0, vitest_1.it)('should return false for an empty object', () => {
52
+ (0, vitest_1.expect)((0, jetton_info_1.isJettonInfo)({})).toBe(false);
53
+ });
54
+ });
@@ -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
+ export declare const isNumber: (value: unknown) => value is number;
9
+ //# sourceMappingURL=is-number.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-number.d.ts","sourceRoot":"","sources":["../../../../src/utils/predicate/is-number.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAUlD,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) TonTech.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ *
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.isNumber = void 0;
11
+ const isNumber = (value) => {
12
+ if (typeof value !== 'number') {
13
+ return false;
14
+ }
15
+ if (Number.isNaN(value)) {
16
+ return false;
17
+ }
18
+ return Number.isFinite(value);
19
+ };
20
+ exports.isNumber = isNumber;
@@ -5,5 +5,5 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- export declare function isString(value: unknown): value is string;
8
+ export declare const isString: (value: unknown) => value is string;
9
9
  //# sourceMappingURL=is-string.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-string.d.ts","sourceRoot":"","sources":["../../../../src/utils/predicate/is-string.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD"}
1
+ {"version":3,"file":"is-string.d.ts","sourceRoot":"","sources":["../../../../src/utils/predicate/is-string.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAElD,CAAC"}
@@ -7,7 +7,8 @@
7
7
  *
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.isString = isString;
11
- function isString(value) {
10
+ exports.isString = void 0;
11
+ const isString = (value) => {
12
12
  return typeof value === 'string';
13
- }
13
+ };
14
+ exports.isString = isString;
@@ -1 +1 @@
1
- {"version":3,"file":"watch-connector-by-id.d.ts","sourceRoot":"","sources":["../../../../src/actions/connectors/watch-connector-by-id.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,MAAM,WAAW,4BAA4B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,KAAK,IAAI,CAAC;CACxD;AAED,MAAM,MAAM,4BAA4B,GAAG,MAAM,IAAI,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC3B,QAAQ,MAAM,EACd,YAAY,4BAA4B,KACzC,4BAQF,CAAC"}
1
+ {"version":3,"file":"watch-connector-by-id.d.ts","sourceRoot":"","sources":["../../../../src/actions/connectors/watch-connector-by-id.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,MAAM,WAAW,4BAA4B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,KAAK,IAAI,CAAC;CACxD;AAED,MAAM,MAAM,4BAA4B,GAAG,MAAM,IAAI,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC3B,QAAQ,MAAM,EACd,YAAY,4BAA4B,KACzC,4BAcF,CAAC"}
@@ -12,8 +12,13 @@ import { getConnectorById } from './get-connector-by-id';
12
12
  */
13
13
  export const watchConnectorById = (appKit, parameters) => {
14
14
  const { id, onChange } = parameters;
15
- const unsubscribe = appKit.emitter.on(CONNECTOR_EVENTS.CONNECTED, () => {
15
+ const handler = () => {
16
16
  onChange(getConnectorById(appKit, { id }));
17
- });
18
- return unsubscribe;
17
+ };
18
+ const unsubscribeAdded = appKit.emitter.on(CONNECTOR_EVENTS.ADDED, handler);
19
+ const unsubscribeRemoved = appKit.emitter.on(CONNECTOR_EVENTS.REMOVED, handler);
20
+ return () => {
21
+ unsubscribeAdded();
22
+ unsubscribeRemoved();
23
+ };
19
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"watch-connectors.d.ts","sourceRoot":"","sources":["../../../../src/actions/connectors/watch-connectors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,MAAM,MAAM,yBAAyB,GAAG;IACpC,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,KAAK,IAAI,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,MAAM,IAAI,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,EAAE,YAAY,yBAAyB,KAAG,yBAQvF,CAAC"}
1
+ {"version":3,"file":"watch-connectors.d.ts","sourceRoot":"","sources":["../../../../src/actions/connectors/watch-connectors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,MAAM,MAAM,yBAAyB,GAAG;IACpC,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,KAAK,IAAI,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,MAAM,IAAI,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,EAAE,YAAY,yBAAyB,KAAG,yBAcvF,CAAC"}
@@ -12,8 +12,13 @@ import { getConnectors } from './get-connectors';
12
12
  */
13
13
  export const watchConnectors = (appKit, parameters) => {
14
14
  const { onChange } = parameters;
15
- const unsubscribe = appKit.emitter.on(CONNECTOR_EVENTS.CONNECTED, () => {
15
+ const handler = () => {
16
16
  onChange(getConnectors(appKit));
17
- });
18
- return unsubscribe;
17
+ };
18
+ const unsubscribeAdded = appKit.emitter.on(CONNECTOR_EVENTS.ADDED, handler);
19
+ const unsubscribeRemoved = appKit.emitter.on(CONNECTOR_EVENTS.REMOVED, handler);
20
+ return () => {
21
+ unsubscribeAdded();
22
+ unsubscribeRemoved();
23
+ };
19
24
  };
@@ -43,14 +43,22 @@ export { signText, type SignTextParameters, type SignTextReturnType } from './si
43
43
  export { signBinary, type SignBinaryParameters, type SignBinaryReturnType } from './signing/sign-binary';
44
44
  export { signCell, type SignCellParameters, type SignCellReturnType } from './signing/sign-cell';
45
45
  export { getSwapManager, type GetSwapManagerReturnType } from './swap/get-swap-manager';
46
+ export { getSwapProvider, type GetSwapProviderOptions, type GetSwapProviderReturnType } from './swap/get-swap-provider';
47
+ export { getSwapProviders, type GetSwapProvidersReturnType } from './swap/get-swap-providers';
48
+ export { setDefaultSwapProvider, type SetDefaultSwapProviderParameters, type SetDefaultSwapProviderReturnType, } from './swap/set-default-swap-provider';
46
49
  export { getSwapQuote, type GetSwapQuoteOptions, type GetSwapQuoteReturnType } from './swap/get-swap-quote';
50
+ export { watchSwapProviders, type WatchSwapProvidersParameters, type WatchSwapProvidersReturnType, } from './swap/watch-swap-providers';
47
51
  export { buildSwapTransaction, type BuildSwapTransactionOptions, type BuildSwapTransactionReturnType, } from './swap/build-swap-transaction';
48
52
  export { getStakingManager, type GetStakingManagerReturnType } from './staking/get-staking-manager';
49
53
  export { getStakingProviders, type GetStakingProvidersReturnType } from './staking/get-staking-providers';
54
+ export { getStakingProvider, type GetStakingProviderOptions, type GetStakingProviderReturnType, } from './staking/get-staking-provider';
55
+ export { setDefaultStakingProvider, type SetDefaultStakingProviderParameters, type SetDefaultStakingProviderReturnType, } from './staking/set-default-staking-provider';
56
+ export { watchStakingProviders, type WatchStakingProvidersParameters, type WatchStakingProvidersReturnType, } from './staking/watch-staking-providers';
50
57
  export { getStakingQuote, type GetStakingQuoteOptions, type GetStakingQuoteReturnType, } from './staking/get-staking-quote';
51
58
  export { buildStakeTransaction, type BuildStakeTransactionOptions, type BuildStakeTransactionReturnType, } from './staking/build-stake-transaction';
52
59
  export { getStakedBalance, type GetStakedBalanceOptions, type GetStakedBalanceReturnType, } from './staking/get-staked-balance';
53
60
  export { getStakingProviderInfo, type GetStakingProviderInfoOptions, type GetStakingProviderInfoReturnType, } from './staking/get-staking-provider-info';
61
+ export { getStakingProviderMetadata, type GetStakingProviderMetadataOptions, type GetStakingProviderMetadataReturnType, } from './staking/get-staking-provider-metadata';
54
62
  export { sendTransaction, type SendTransactionParameters, type SendTransactionReturnType, } from './transaction/send-transaction';
55
63
  export { transferTon, type TransferTonParameters, type TransferTonReturnType } from './transaction/transfer-ton';
56
64
  export { getTransactionStatus, type GetTransactionStatusParameters, type GetTransactionStatusReturnType, type GetTransactionStatusErrorType, } from './transaction/get-transaction-status';