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

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 (341) hide show
  1. package/.turbo/turbo-build.log +4 -4
  2. package/CHANGELOG.md +18 -0
  3. package/CLAUDE.md +10 -0
  4. package/README.md +1 -1
  5. package/dist/cjs/actions/balances/watch-balance-by-address.d.ts +21 -0
  6. package/dist/cjs/actions/balances/watch-balance-by-address.d.ts.map +1 -0
  7. package/dist/cjs/actions/balances/watch-balance-by-address.js +22 -0
  8. package/dist/cjs/actions/balances/watch-balance.d.ts +19 -0
  9. package/dist/cjs/actions/balances/watch-balance.d.ts.map +1 -0
  10. package/dist/cjs/actions/balances/watch-balance.js +44 -0
  11. package/dist/cjs/actions/connectors/add-connector.d.ts +3 -3
  12. package/dist/cjs/actions/connectors/add-connector.d.ts.map +1 -1
  13. package/dist/cjs/actions/connectors/add-connector.js +2 -2
  14. package/dist/cjs/actions/index.d.ts +14 -0
  15. package/dist/cjs/actions/index.d.ts.map +1 -1
  16. package/dist/cjs/actions/index.js +31 -1
  17. package/dist/cjs/actions/jettons/watch-jettons-by-address.d.ts +21 -0
  18. package/dist/cjs/actions/jettons/watch-jettons-by-address.d.ts.map +1 -0
  19. package/dist/cjs/actions/jettons/watch-jettons-by-address.js +22 -0
  20. package/dist/cjs/actions/jettons/watch-jettons.d.ts +19 -0
  21. package/dist/cjs/actions/jettons/watch-jettons.d.ts.map +1 -0
  22. package/dist/cjs/actions/jettons/watch-jettons.js +44 -0
  23. package/dist/cjs/actions/network/get-api-client.d.ts +19 -0
  24. package/dist/cjs/actions/network/get-api-client.d.ts.map +1 -0
  25. package/dist/cjs/actions/network/get-api-client.js +17 -0
  26. package/dist/cjs/actions/network/has-streaming-provider.d.ts +15 -0
  27. package/dist/cjs/actions/network/has-streaming-provider.d.ts.map +1 -0
  28. package/dist/cjs/actions/network/has-streaming-provider.js +17 -0
  29. package/dist/cjs/actions/providers/register-provider.d.ts +2 -2
  30. package/dist/cjs/actions/providers/register-provider.d.ts.map +1 -1
  31. package/dist/cjs/actions/staking/build-stake-transaction.d.ts +19 -0
  32. package/dist/cjs/actions/staking/build-stake-transaction.d.ts.map +1 -0
  33. package/dist/cjs/actions/staking/build-stake-transaction.js +17 -0
  34. package/dist/cjs/actions/staking/get-staked-balance.d.ts +20 -0
  35. package/dist/cjs/actions/staking/get-staked-balance.d.ts.map +1 -0
  36. package/dist/cjs/actions/staking/get-staked-balance.js +18 -0
  37. package/dist/cjs/actions/staking/get-staking-manager.d.ts +15 -0
  38. package/dist/cjs/actions/staking/get-staking-manager.d.ts.map +1 -0
  39. package/dist/cjs/actions/staking/get-staking-manager.js +17 -0
  40. package/dist/cjs/actions/staking/get-staking-provider-info.d.ts +19 -0
  41. package/dist/cjs/actions/staking/get-staking-provider-info.d.ts.map +1 -0
  42. package/dist/cjs/actions/staking/get-staking-provider-info.js +18 -0
  43. package/dist/cjs/actions/staking/get-staking-providers.d.ts +14 -0
  44. package/dist/cjs/actions/staking/get-staking-providers.d.ts.map +1 -0
  45. package/dist/cjs/actions/staking/get-staking-providers.js +17 -0
  46. package/dist/cjs/actions/staking/get-staking-quote.d.ts +18 -0
  47. package/dist/cjs/actions/staking/get-staking-quote.d.ts.map +1 -0
  48. package/dist/cjs/actions/staking/get-staking-quote.js +22 -0
  49. package/dist/cjs/actions/transaction/watch-transactions-by-address.d.ts +21 -0
  50. package/dist/cjs/actions/transaction/watch-transactions-by-address.d.ts.map +1 -0
  51. package/dist/cjs/actions/transaction/watch-transactions-by-address.js +22 -0
  52. package/dist/cjs/actions/transaction/watch-transactions.d.ts +19 -0
  53. package/dist/cjs/actions/transaction/watch-transactions.d.ts.map +1 -0
  54. package/dist/cjs/actions/transaction/watch-transactions.js +44 -0
  55. package/dist/cjs/connectors/tonconnect/connectors/ton-connect-connector.d.ts +5 -18
  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 +90 -59
  58. package/dist/cjs/connectors/tonconnect/index.d.ts +1 -2
  59. package/dist/cjs/connectors/tonconnect/index.d.ts.map +1 -1
  60. package/dist/cjs/connectors/tonconnect/index.js +2 -2
  61. package/dist/cjs/core/app-kit/services/app-kit.d.ts +10 -6
  62. package/dist/cjs/core/app-kit/services/app-kit.d.ts.map +1 -1
  63. package/dist/cjs/core/app-kit/services/app-kit.js +19 -9
  64. package/dist/cjs/core/app-kit/types/config.d.ts +11 -5
  65. package/dist/cjs/core/app-kit/types/config.d.ts.map +1 -1
  66. package/dist/cjs/core/app-kit/types/events.d.ts +6 -5
  67. package/dist/cjs/core/app-kit/types/events.d.ts.map +1 -1
  68. package/dist/cjs/core/emitter/index.d.ts +2 -2
  69. package/dist/cjs/core/emitter/index.d.ts.map +1 -1
  70. package/dist/cjs/core/emitter/index.js +3 -3
  71. package/dist/cjs/core/streaming/index.d.ts +10 -0
  72. package/dist/cjs/core/streaming/index.d.ts.map +1 -0
  73. package/dist/cjs/core/streaming/index.js +16 -0
  74. package/dist/cjs/index.d.ts +2 -0
  75. package/dist/cjs/index.d.ts.map +1 -1
  76. package/dist/cjs/index.js +2 -0
  77. package/dist/cjs/queries/balances/get-balance-by-address.d.ts +11 -1
  78. package/dist/cjs/queries/balances/get-balance-by-address.d.ts.map +1 -1
  79. package/dist/cjs/queries/balances/get-balance-by-address.js +19 -2
  80. package/dist/cjs/queries/index.d.ts +8 -3
  81. package/dist/cjs/queries/index.d.ts.map +1 -1
  82. package/dist/cjs/queries/index.js +15 -1
  83. package/dist/cjs/queries/jettons/get-jetton-balance-by-address.d.ts +12 -1
  84. package/dist/cjs/queries/jettons/get-jetton-balance-by-address.d.ts.map +1 -1
  85. package/dist/cjs/queries/jettons/get-jetton-balance-by-address.js +27 -2
  86. package/dist/cjs/queries/jettons/get-jetton-info.d.ts +1 -1
  87. package/dist/cjs/queries/jettons/get-jetton-info.d.ts.map +1 -1
  88. package/dist/cjs/queries/jettons/get-jetton-info.js +3 -1
  89. package/dist/cjs/queries/jettons/get-jetton-wallet-address.d.ts +1 -1
  90. package/dist/cjs/queries/jettons/get-jetton-wallet-address.d.ts.map +1 -1
  91. package/dist/cjs/queries/jettons/get-jetton-wallet-address.js +3 -1
  92. package/dist/cjs/queries/jettons/get-jettons-by-address.d.ts +11 -1
  93. package/dist/cjs/queries/jettons/get-jettons-by-address.d.ts.map +1 -1
  94. package/dist/cjs/queries/jettons/get-jettons-by-address.js +34 -2
  95. package/dist/cjs/queries/network/get-block-number.d.ts +1 -1
  96. package/dist/cjs/queries/network/get-block-number.d.ts.map +1 -1
  97. package/dist/cjs/queries/network/get-block-number.js +3 -1
  98. package/dist/cjs/queries/nft/get-nft.d.ts +1 -1
  99. package/dist/cjs/queries/nft/get-nft.d.ts.map +1 -1
  100. package/dist/cjs/queries/nft/get-nft.js +3 -1
  101. package/dist/cjs/queries/nft/get-nfts-by-address.d.ts +1 -1
  102. package/dist/cjs/queries/nft/get-nfts-by-address.d.ts.map +1 -1
  103. package/dist/cjs/queries/nft/get-nfts-by-address.js +3 -1
  104. package/dist/cjs/queries/staking/build-stake-transaction.d.ts +21 -0
  105. package/dist/cjs/queries/staking/build-stake-transaction.d.ts.map +1 -0
  106. package/dist/cjs/queries/staking/build-stake-transaction.js +21 -0
  107. package/dist/cjs/queries/staking/get-staked-balance.d.ts +21 -0
  108. package/dist/cjs/queries/staking/get-staked-balance.d.ts.map +1 -0
  109. package/dist/cjs/queries/staking/get-staked-balance.js +31 -0
  110. package/dist/cjs/queries/staking/get-staking-provider-info.d.ts +24 -0
  111. package/dist/cjs/queries/staking/get-staking-provider-info.d.ts.map +1 -0
  112. package/dist/cjs/queries/staking/get-staking-provider-info.js +27 -0
  113. package/dist/cjs/queries/staking/get-staking-providers.d.ts +20 -0
  114. package/dist/cjs/queries/staking/get-staking-providers.d.ts.map +1 -0
  115. package/dist/cjs/queries/staking/get-staking-providers.js +25 -0
  116. package/dist/cjs/queries/staking/get-staking-quote.d.ts +21 -0
  117. package/dist/cjs/queries/staking/get-staking-quote.d.ts.map +1 -0
  118. package/dist/cjs/queries/staking/get-staking-quote.js +31 -0
  119. package/dist/{esm/core/emitter/types/events.js → cjs/queries/streaming-updates.test.d.ts} +1 -0
  120. package/dist/cjs/queries/streaming-updates.test.d.ts.map +1 -0
  121. package/dist/cjs/queries/streaming-updates.test.js +87 -0
  122. package/dist/cjs/queries/swap/get-swap-quote.d.ts +1 -1
  123. package/dist/cjs/queries/swap/get-swap-quote.d.ts.map +1 -1
  124. package/dist/cjs/queries/swap/get-swap-quote.js +3 -1
  125. package/dist/cjs/queries/transaction/get-transaction-status.d.ts +1 -1
  126. package/dist/cjs/queries/transaction/get-transaction-status.d.ts.map +1 -1
  127. package/dist/cjs/queries/transaction/get-transaction-status.js +4 -1
  128. package/dist/cjs/staking/index.d.ts +10 -0
  129. package/dist/cjs/staking/index.d.ts.map +1 -0
  130. package/dist/cjs/staking/index.js +15 -0
  131. package/dist/cjs/staking/tonstakers/index.d.ts +9 -0
  132. package/dist/cjs/staking/tonstakers/index.d.ts.map +1 -0
  133. package/dist/cjs/staking/tonstakers/index.js +24 -0
  134. package/dist/cjs/types/connector.d.ts +15 -3
  135. package/dist/cjs/types/connector.d.ts.map +1 -1
  136. package/dist/cjs/types/connector.js +5 -0
  137. package/dist/cjs/types/provider.d.ts +2 -2
  138. package/dist/cjs/types/provider.d.ts.map +1 -1
  139. package/dist/cjs/utils/index.d.ts +1 -1
  140. package/dist/cjs/utils/index.d.ts.map +1 -1
  141. package/dist/cjs/utils/index.js +2 -1
  142. package/dist/esm/actions/balances/watch-balance-by-address.d.ts +21 -0
  143. package/dist/esm/actions/balances/watch-balance-by-address.d.ts.map +1 -0
  144. package/dist/esm/actions/balances/watch-balance-by-address.js +18 -0
  145. package/dist/esm/actions/balances/watch-balance.d.ts +19 -0
  146. package/dist/esm/actions/balances/watch-balance.d.ts.map +1 -0
  147. package/dist/esm/actions/balances/watch-balance.js +40 -0
  148. package/dist/esm/actions/connectors/add-connector.d.ts +3 -3
  149. package/dist/esm/actions/connectors/add-connector.d.ts.map +1 -1
  150. package/dist/esm/actions/connectors/add-connector.js +2 -2
  151. package/dist/esm/actions/index.d.ts +14 -0
  152. package/dist/esm/actions/index.d.ts.map +1 -1
  153. package/dist/esm/actions/index.js +15 -0
  154. package/dist/esm/actions/jettons/watch-jettons-by-address.d.ts +21 -0
  155. package/dist/esm/actions/jettons/watch-jettons-by-address.d.ts.map +1 -0
  156. package/dist/esm/actions/jettons/watch-jettons-by-address.js +18 -0
  157. package/dist/esm/actions/jettons/watch-jettons.d.ts +19 -0
  158. package/dist/esm/actions/jettons/watch-jettons.d.ts.map +1 -0
  159. package/dist/esm/actions/jettons/watch-jettons.js +40 -0
  160. package/dist/esm/actions/network/get-api-client.d.ts +19 -0
  161. package/dist/esm/actions/network/get-api-client.d.ts.map +1 -0
  162. package/dist/esm/actions/network/get-api-client.js +13 -0
  163. package/dist/esm/actions/network/has-streaming-provider.d.ts +15 -0
  164. package/dist/esm/actions/network/has-streaming-provider.d.ts.map +1 -0
  165. package/dist/esm/actions/network/has-streaming-provider.js +13 -0
  166. package/dist/esm/actions/providers/register-provider.d.ts +2 -2
  167. package/dist/esm/actions/providers/register-provider.d.ts.map +1 -1
  168. package/dist/esm/actions/staking/build-stake-transaction.d.ts +19 -0
  169. package/dist/esm/actions/staking/build-stake-transaction.d.ts.map +1 -0
  170. package/dist/esm/actions/staking/build-stake-transaction.js +13 -0
  171. package/dist/esm/actions/staking/get-staked-balance.d.ts +20 -0
  172. package/dist/esm/actions/staking/get-staked-balance.d.ts.map +1 -0
  173. package/dist/esm/actions/staking/get-staked-balance.js +14 -0
  174. package/dist/esm/actions/staking/get-staking-manager.d.ts +15 -0
  175. package/dist/esm/actions/staking/get-staking-manager.d.ts.map +1 -0
  176. package/dist/esm/actions/staking/get-staking-manager.js +13 -0
  177. package/dist/esm/actions/staking/get-staking-provider-info.d.ts +19 -0
  178. package/dist/esm/actions/staking/get-staking-provider-info.d.ts.map +1 -0
  179. package/dist/esm/actions/staking/get-staking-provider-info.js +14 -0
  180. package/dist/esm/actions/staking/get-staking-providers.d.ts +14 -0
  181. package/dist/esm/actions/staking/get-staking-providers.d.ts.map +1 -0
  182. package/dist/esm/actions/staking/get-staking-providers.js +13 -0
  183. package/dist/esm/actions/staking/get-staking-quote.d.ts +18 -0
  184. package/dist/esm/actions/staking/get-staking-quote.d.ts.map +1 -0
  185. package/dist/esm/actions/staking/get-staking-quote.js +18 -0
  186. package/dist/esm/actions/transaction/watch-transactions-by-address.d.ts +21 -0
  187. package/dist/esm/actions/transaction/watch-transactions-by-address.d.ts.map +1 -0
  188. package/dist/esm/actions/transaction/watch-transactions-by-address.js +18 -0
  189. package/dist/esm/actions/transaction/watch-transactions.d.ts +19 -0
  190. package/dist/esm/actions/transaction/watch-transactions.d.ts.map +1 -0
  191. package/dist/esm/actions/transaction/watch-transactions.js +40 -0
  192. package/dist/esm/connectors/tonconnect/connectors/ton-connect-connector.d.ts +5 -18
  193. package/dist/esm/connectors/tonconnect/connectors/ton-connect-connector.d.ts.map +1 -1
  194. package/dist/esm/connectors/tonconnect/connectors/ton-connect-connector.js +88 -57
  195. package/dist/esm/connectors/tonconnect/index.d.ts +1 -2
  196. package/dist/esm/connectors/tonconnect/index.d.ts.map +1 -1
  197. package/dist/esm/connectors/tonconnect/index.js +1 -1
  198. package/dist/esm/core/app-kit/services/app-kit.d.ts +10 -6
  199. package/dist/esm/core/app-kit/services/app-kit.d.ts.map +1 -1
  200. package/dist/esm/core/app-kit/services/app-kit.js +21 -11
  201. package/dist/esm/core/app-kit/types/config.d.ts +11 -5
  202. package/dist/esm/core/app-kit/types/config.d.ts.map +1 -1
  203. package/dist/esm/core/app-kit/types/events.d.ts +6 -5
  204. package/dist/esm/core/app-kit/types/events.d.ts.map +1 -1
  205. package/dist/esm/core/emitter/index.d.ts +2 -2
  206. package/dist/esm/core/emitter/index.d.ts.map +1 -1
  207. package/dist/esm/core/emitter/index.js +1 -1
  208. package/dist/esm/core/streaming/index.d.ts +10 -0
  209. package/dist/esm/core/streaming/index.d.ts.map +1 -0
  210. package/dist/esm/core/streaming/index.js +8 -0
  211. package/dist/esm/index.d.ts +2 -0
  212. package/dist/esm/index.d.ts.map +1 -1
  213. package/dist/esm/index.js +2 -0
  214. package/dist/esm/queries/balances/get-balance-by-address.d.ts +11 -1
  215. package/dist/esm/queries/balances/get-balance-by-address.d.ts.map +1 -1
  216. package/dist/esm/queries/balances/get-balance-by-address.js +18 -2
  217. package/dist/esm/queries/index.d.ts +8 -3
  218. package/dist/esm/queries/index.d.ts.map +1 -1
  219. package/dist/esm/queries/index.js +9 -3
  220. package/dist/esm/queries/jettons/get-jetton-balance-by-address.d.ts +12 -1
  221. package/dist/esm/queries/jettons/get-jetton-balance-by-address.d.ts.map +1 -1
  222. package/dist/esm/queries/jettons/get-jetton-balance-by-address.js +26 -2
  223. package/dist/esm/queries/jettons/get-jetton-info.d.ts +1 -1
  224. package/dist/esm/queries/jettons/get-jetton-info.d.ts.map +1 -1
  225. package/dist/esm/queries/jettons/get-jetton-info.js +4 -2
  226. package/dist/esm/queries/jettons/get-jetton-wallet-address.d.ts +1 -1
  227. package/dist/esm/queries/jettons/get-jetton-wallet-address.d.ts.map +1 -1
  228. package/dist/esm/queries/jettons/get-jetton-wallet-address.js +4 -2
  229. package/dist/esm/queries/jettons/get-jettons-by-address.d.ts +11 -1
  230. package/dist/esm/queries/jettons/get-jettons-by-address.d.ts.map +1 -1
  231. package/dist/esm/queries/jettons/get-jettons-by-address.js +33 -2
  232. package/dist/esm/queries/network/get-block-number.d.ts +1 -1
  233. package/dist/esm/queries/network/get-block-number.d.ts.map +1 -1
  234. package/dist/esm/queries/network/get-block-number.js +4 -2
  235. package/dist/esm/queries/nft/get-nft.d.ts +1 -1
  236. package/dist/esm/queries/nft/get-nft.d.ts.map +1 -1
  237. package/dist/esm/queries/nft/get-nft.js +4 -2
  238. package/dist/esm/queries/nft/get-nfts-by-address.d.ts +1 -1
  239. package/dist/esm/queries/nft/get-nfts-by-address.d.ts.map +1 -1
  240. package/dist/esm/queries/nft/get-nfts-by-address.js +4 -2
  241. package/dist/esm/queries/staking/build-stake-transaction.d.ts +21 -0
  242. package/dist/esm/queries/staking/build-stake-transaction.d.ts.map +1 -0
  243. package/dist/esm/queries/staking/build-stake-transaction.js +17 -0
  244. package/dist/esm/queries/staking/get-staked-balance.d.ts +21 -0
  245. package/dist/esm/queries/staking/get-staked-balance.d.ts.map +1 -0
  246. package/dist/esm/queries/staking/get-staked-balance.js +26 -0
  247. package/dist/esm/queries/staking/get-staking-provider-info.d.ts +24 -0
  248. package/dist/esm/queries/staking/get-staking-provider-info.d.ts.map +1 -0
  249. package/dist/esm/queries/staking/get-staking-provider-info.js +22 -0
  250. package/dist/esm/queries/staking/get-staking-providers.d.ts +20 -0
  251. package/dist/esm/queries/staking/get-staking-providers.d.ts.map +1 -0
  252. package/dist/esm/queries/staking/get-staking-providers.js +20 -0
  253. package/dist/esm/queries/staking/get-staking-quote.d.ts +21 -0
  254. package/dist/esm/queries/staking/get-staking-quote.d.ts.map +1 -0
  255. package/dist/esm/queries/staking/get-staking-quote.js +26 -0
  256. package/dist/{cjs/core/emitter/types/events.js → esm/queries/streaming-updates.test.d.ts} +2 -2
  257. package/dist/esm/queries/streaming-updates.test.d.ts.map +1 -0
  258. package/dist/esm/queries/streaming-updates.test.js +85 -0
  259. package/dist/esm/queries/swap/get-swap-quote.d.ts +1 -1
  260. package/dist/esm/queries/swap/get-swap-quote.d.ts.map +1 -1
  261. package/dist/esm/queries/swap/get-swap-quote.js +4 -2
  262. package/dist/esm/queries/transaction/get-transaction-status.d.ts +1 -1
  263. package/dist/esm/queries/transaction/get-transaction-status.d.ts.map +1 -1
  264. package/dist/esm/queries/transaction/get-transaction-status.js +4 -1
  265. package/dist/esm/staking/index.d.ts +10 -0
  266. package/dist/esm/staking/index.d.ts.map +1 -0
  267. package/dist/esm/staking/index.js +8 -0
  268. package/dist/esm/staking/tonstakers/index.d.ts +9 -0
  269. package/dist/esm/staking/tonstakers/index.d.ts.map +1 -0
  270. package/dist/esm/staking/tonstakers/index.js +8 -0
  271. package/dist/esm/types/connector.d.ts +15 -3
  272. package/dist/esm/types/connector.d.ts.map +1 -1
  273. package/dist/esm/types/connector.js +4 -1
  274. package/dist/esm/types/provider.d.ts +2 -2
  275. package/dist/esm/types/provider.d.ts.map +1 -1
  276. package/dist/esm/utils/index.d.ts +1 -1
  277. package/dist/esm/utils/index.d.ts.map +1 -1
  278. package/dist/esm/utils/index.js +1 -1
  279. package/docs/actions.md +112 -5
  280. package/docs/connectors.md +4 -4
  281. package/docs/staking.md +58 -0
  282. package/package.json +23 -10
  283. package/src/actions/balances/watch-balance-by-address.ts +35 -0
  284. package/src/actions/balances/watch-balance.ts +56 -0
  285. package/src/actions/connectors/add-connector.ts +4 -4
  286. package/src/actions/index.ts +48 -0
  287. package/src/actions/jettons/watch-jettons-by-address.ts +35 -0
  288. package/src/actions/jettons/watch-jettons.ts +56 -0
  289. package/src/actions/network/get-api-client.ts +22 -0
  290. package/src/actions/network/has-streaming-provider.ts +19 -0
  291. package/src/actions/providers/register-provider.ts +3 -2
  292. package/src/actions/staking/build-stake-transaction.ts +28 -0
  293. package/src/actions/staking/get-staked-balance.ts +34 -0
  294. package/src/actions/staking/get-staking-manager.ts +20 -0
  295. package/src/actions/staking/get-staking-provider-info.ts +29 -0
  296. package/src/actions/staking/get-staking-providers.ts +18 -0
  297. package/src/actions/staking/get-staking-quote.ts +30 -0
  298. package/src/actions/transaction/watch-transactions-by-address.ts +35 -0
  299. package/src/actions/transaction/watch-transactions.ts +56 -0
  300. package/src/connectors/tonconnect/connectors/ton-connect-connector.ts +109 -74
  301. package/src/connectors/tonconnect/index.ts +5 -2
  302. package/src/core/app-kit/services/app-kit.ts +29 -15
  303. package/src/core/app-kit/types/config.ts +13 -5
  304. package/src/core/app-kit/types/events.ts +6 -5
  305. package/src/core/emitter/index.ts +2 -2
  306. package/src/core/streaming/index.ts +30 -0
  307. package/src/index.ts +2 -0
  308. package/src/queries/balances/get-balance-by-address.ts +29 -2
  309. package/src/queries/index.ts +39 -0
  310. package/src/queries/jettons/get-jetton-balance-by-address.ts +36 -2
  311. package/src/queries/jettons/get-jetton-info.ts +5 -2
  312. package/src/queries/jettons/get-jetton-wallet-address.ts +5 -2
  313. package/src/queries/jettons/get-jettons-by-address.ts +48 -2
  314. package/src/queries/network/get-block-number.ts +5 -2
  315. package/src/queries/nft/get-nft.ts +5 -2
  316. package/src/queries/nft/get-nfts-by-address.ts +5 -2
  317. package/src/queries/staking/build-stake-transaction.ts +79 -0
  318. package/src/queries/staking/get-staked-balance.ts +60 -0
  319. package/src/queries/staking/get-staking-provider-info.ts +63 -0
  320. package/src/queries/staking/get-staking-providers.ts +52 -0
  321. package/src/queries/staking/get-staking-quote.ts +60 -0
  322. package/src/queries/streaming-updates.test.ts +104 -0
  323. package/src/queries/swap/get-swap-quote.ts +5 -2
  324. package/src/queries/transaction/get-transaction-status.ts +5 -1
  325. package/src/staking/index.ts +21 -0
  326. package/src/staking/tonstakers/index.ts +9 -0
  327. package/src/types/connector.ts +21 -4
  328. package/src/types/provider.ts +2 -2
  329. package/src/utils/index.ts +1 -1
  330. package/dist/cjs/core/emitter/services/emitter.d.ts +0 -18
  331. package/dist/cjs/core/emitter/services/emitter.d.ts.map +0 -1
  332. package/dist/cjs/core/emitter/services/emitter.js +0 -47
  333. package/dist/cjs/core/emitter/types/events.d.ts +0 -16
  334. package/dist/cjs/core/emitter/types/events.d.ts.map +0 -1
  335. package/dist/esm/core/emitter/services/emitter.d.ts +0 -18
  336. package/dist/esm/core/emitter/services/emitter.d.ts.map +0 -1
  337. package/dist/esm/core/emitter/services/emitter.js +0 -43
  338. package/dist/esm/core/emitter/types/events.d.ts +0 -16
  339. package/dist/esm/core/emitter/types/events.d.ts.map +0 -1
  340. package/src/core/emitter/services/emitter.ts +0 -53
  341. package/src/core/emitter/types/events.ts +0 -18
@@ -14,5 +14,5 @@ export type GetTransactionStatusData = Compute<GetTransactionStatusReturnType>;
14
14
  export type GetTransactionStatusQueryKey = readonly ['transactionStatus', string];
15
15
  export type GetTransactionStatusQueryConfig<selectData = GetTransactionStatusData> = QueryParameter<GetTransactionStatusData, GetTransactionStatusErrorType, selectData, GetTransactionStatusQueryKey>;
16
16
  export type GetTransactionStatusQueryOptions<selectData = GetTransactionStatusData> = QueryOptions<GetTransactionStatusData, GetTransactionStatusErrorType, selectData, GetTransactionStatusQueryKey>;
17
- export declare const getTransactionStatusQueryOptions: <selectData = GetTransactionStatusData>(appKit: AppKit, options: GetTransactionStatusParameters & GetTransactionStatusQueryConfig<selectData>) => GetTransactionStatusQueryOptions<selectData>;
17
+ export declare const getTransactionStatusQueryOptions: <selectData = GetTransactionStatusData>(appKit: AppKit, initialOptions: GetTransactionStatusParameters & GetTransactionStatusQueryConfig<selectData>) => GetTransactionStatusQueryOptions<selectData>;
18
18
  //# sourceMappingURL=get-transaction-status.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-transaction-status.d.ts","sourceRoot":"","sources":["../../../../src/queries/transaction/get-transaction-status.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACR,6BAA6B,EAC7B,8BAA8B,EAC9B,8BAA8B,EACjC,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,YAAY,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,8BAA8B,EAAE,CAAC;AAE9G,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;AAE/E,MAAM,MAAM,4BAA4B,GAAG,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;AAElF,MAAM,MAAM,+BAA+B,CAAC,UAAU,GAAG,wBAAwB,IAAI,cAAc,CAC/F,wBAAwB,EACxB,6BAA6B,EAC7B,UAAU,EACV,4BAA4B,CAC/B,CAAC;AAEF,MAAM,MAAM,gCAAgC,CAAC,UAAU,GAAG,wBAAwB,IAAI,YAAY,CAC9F,wBAAwB,EACxB,6BAA6B,EAC7B,UAAU,EACV,4BAA4B,CAC/B,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAAI,UAAU,GAAG,wBAAwB,EAClF,QAAQ,MAAM,EACd,SAAS,8BAA8B,GAAG,+BAA+B,CAAC,UAAU,CAAC,KACtF,gCAAgC,CAAC,UAAU,CAQ7C,CAAC"}
1
+ {"version":3,"file":"get-transaction-status.d.ts","sourceRoot":"","sources":["../../../../src/queries/transaction/get-transaction-status.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACR,6BAA6B,EAC7B,8BAA8B,EAC9B,8BAA8B,EACjC,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGjD,YAAY,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,8BAA8B,EAAE,CAAC;AAE9G,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;AAE/E,MAAM,MAAM,4BAA4B,GAAG,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;AAElF,MAAM,MAAM,+BAA+B,CAAC,UAAU,GAAG,wBAAwB,IAAI,cAAc,CAC/F,wBAAwB,EACxB,6BAA6B,EAC7B,UAAU,EACV,4BAA4B,CAC/B,CAAC;AAEF,MAAM,MAAM,gCAAgC,CAAC,UAAU,GAAG,wBAAwB,IAAI,YAAY,CAC9F,wBAAwB,EACxB,6BAA6B,EAC7B,UAAU,EACV,4BAA4B,CAC/B,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAAI,UAAU,GAAG,wBAAwB,EAClF,QAAQ,MAAM,EACd,gBAAgB,8BAA8B,GAAG,+BAA+B,CAAC,UAAU,CAAC,KAC7F,gCAAgC,CAAC,UAAU,CAW7C,CAAC"}
@@ -6,7 +6,10 @@
6
6
  *
7
7
  */
8
8
  import { getTransactionStatus } from '../../actions/transaction/get-transaction-status';
9
- export const getTransactionStatusQueryOptions = (appKit, options) => {
9
+ import { resolveNetwork } from '../../utils';
10
+ export const getTransactionStatusQueryOptions = (appKit, initialOptions) => {
11
+ const network = resolveNetwork(appKit, initialOptions.network);
12
+ const options = { ...initialOptions, network };
10
13
  return {
11
14
  ...options.query,
12
15
  queryFn: () => {
@@ -0,0 +1,10 @@
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 { StakingProvider, UnstakeMode, StakingError, StakingManager } from '@ton/walletkit';
9
+ export type { UnstakeModes, StakeParams, StakingAPI, StakingQuote, StakingQuoteParams, StakingBalance, StakingProviderInfo, StakingProviderInterface, StakingQuoteDirection, } from '@ton/walletkit';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/staking/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE5F,YAAY,EACR,YAAY,EACZ,WAAW,EACX,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,GACxB,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,8 @@
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 { StakingProvider, UnstakeMode, StakingError, StakingManager } from '@ton/walletkit';
@@ -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 * from '@ton/walletkit/staking/tonstakers';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/staking/tonstakers/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,mCAAmC,CAAC"}
@@ -0,0 +1,8 @@
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 * from '@ton/walletkit/staking/tonstakers';
@@ -15,11 +15,9 @@ import type { Network } from './network';
15
15
  export interface Connector {
16
16
  /** Provider unique identifier */
17
17
  readonly id: string;
18
- /** Protocol type (e.g. 'tonconnect', 'ledger', 'mnemonic') */
18
+ /** Protocol type (e.g. 'tonconnect') */
19
19
  readonly type: string;
20
20
  readonly metadata: ConnectorMetadata;
21
- /** Initialize connector (restore connections, setup event listeners) */
22
- initialize(emitter: AppKitEmitter, networkManager: AppKitNetworkManager): Promise<void>;
23
21
  /** Cleanup connector resources */
24
22
  destroy(): void;
25
23
  /** Connect a wallet */
@@ -33,4 +31,18 @@ export interface ConnectorMetadata {
33
31
  name: string;
34
32
  iconUrl?: string;
35
33
  }
34
+ /**
35
+ * Context passed to connector factory functions.
36
+ */
37
+ export interface ConnectorFactoryContext {
38
+ networkManager: AppKitNetworkManager;
39
+ eventEmitter: AppKitEmitter;
40
+ ssr?: boolean;
41
+ }
42
+ /** Factory function that creates a connector from context */
43
+ export type ConnectorFactory = (ctx: ConnectorFactoryContext) => Connector;
44
+ /** A connector instance or a factory that creates one */
45
+ export type ConnectorInput = Connector | ConnectorFactory;
46
+ /** Helper for creating typed connector factories */
47
+ export declare function createConnector(factory: ConnectorFactory): ConnectorFactory;
36
48
  //# sourceMappingURL=connector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../../src/types/connector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IAErC,wEAAwE;IACxE,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExF,kCAAkC;IAClC,OAAO,IAAI,IAAI,CAAC;IAEhB,uBAAuB;IACvB,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD,0BAA0B;IAC1B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC,4BAA4B;IAC5B,mBAAmB,IAAI,eAAe,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../../src/types/connector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IAErC,kCAAkC;IAClC,OAAO,IAAI,IAAI,CAAC;IAEhB,uBAAuB;IACvB,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD,0BAA0B;IAC1B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC,4BAA4B;IAC5B,mBAAmB,IAAI,eAAe,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,cAAc,EAAE,oBAAoB,CAAC;IACrC,YAAY,EAAE,aAAa,CAAC;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,6DAA6D;AAC7D,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,uBAAuB,KAAK,SAAS,CAAC;AAE3E,yDAAyD;AACzD,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAE1D,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,CAE3E"}
@@ -5,4 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- export {};
8
+ /** Helper for creating typed connector factories */
9
+ export function createConnector(factory) {
10
+ return factory;
11
+ }
@@ -5,9 +5,9 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- import type { SwapProviderInterface } from '@ton/walletkit';
8
+ import type { SwapProviderInterface, StakingProviderInterface } from '@ton/walletkit';
9
9
  /**
10
10
  * Provider configuration
11
11
  */
12
- export type Provider = SwapProviderInterface;
12
+ export type Provider = SwapProviderInterface | StakingProviderInterface;
13
13
  //# sourceMappingURL=provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/types/provider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,qBAAqB,CAAC"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/types/provider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAEtF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,qBAAqB,GAAG,wBAAwB,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- export { formatUnits, parseUnits } from '@ton/walletkit';
8
+ export { formatUnits, parseUnits, compareAddress } from '@ton/walletkit';
9
9
  export * from './amount/validate-numeric-string';
10
10
  export * from './arrays/key-by';
11
11
  export * from './arrays/random-from-array';
@@ -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,MAAM,gBAAgB,CAAC;AAEzD,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,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"}
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- export { formatUnits, parseUnits } from '@ton/walletkit';
8
+ export { formatUnits, parseUnits, compareAddress } from '@ton/walletkit';
9
9
  export * from './amount/validate-numeric-string';
10
10
  export * from './arrays/key-by';
11
11
  export * from './arrays/random-from-array';
package/docs/actions.md CHANGED
@@ -32,6 +32,35 @@ const balanceByAddress = await getBalanceByAddress(appKit, {
32
32
  console.log('Balance by address:', balanceByAddress.toString());
33
33
  ```
34
34
 
35
+ ### `watchBalance`
36
+
37
+ Watch the TON balance of the currently selected wallet in real-time.
38
+
39
+ ```ts
40
+ const unsubscribe = watchBalance(appKit, {
41
+ onChange: (update) => {
42
+ console.log('Balance updated:', update.balance);
43
+ },
44
+ });
45
+
46
+ // Later: unsubscribe();
47
+ ```
48
+
49
+ ### `watchBalanceByAddress`
50
+
51
+ Watch the TON balance of a specific address in real-time.
52
+
53
+ ```ts
54
+ const unsubscribe = watchBalanceByAddress(appKit, {
55
+ address: 'EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9c',
56
+ onChange: (update) => {
57
+ console.log('Balance by address updated:', update.balance);
58
+ },
59
+ });
60
+
61
+ // Later: unsubscribe();
62
+ ```
63
+
35
64
  ## Connectors
36
65
 
37
66
  ### `connect`
@@ -51,7 +80,7 @@ Add a wallet connector to AppKit (e.g., TonConnect).
51
80
  ```ts
52
81
  const stopWatching = addConnector(
53
82
  appKit,
54
- new TonConnectConnector({
83
+ createTonConnectConnector({
55
84
  tonConnectOptions: {
56
85
  manifestUrl: 'https://tonconnect-sdk-demo-dapp.vercel.app/tonconnect-manifest.json',
57
86
  },
@@ -260,6 +289,18 @@ const networks = getNetworks(appKit);
260
289
  console.log('Configured networks:', networks);
261
290
  ```
262
291
 
292
+ ### `getApiClient`
293
+
294
+ Get the API client for a specific network.
295
+
296
+ ```ts
297
+ const apiClient = getApiClient(appKit, {
298
+ network: Network.mainnet(),
299
+ });
300
+
301
+ console.log('API Client:', apiClient);
302
+ ```
303
+
263
304
  ### `watchNetworks`
264
305
 
265
306
  Watch configured networks.
@@ -274,6 +315,15 @@ const unsubscribe = watchNetworks(appKit, {
274
315
  // Later: unsubscribe();
275
316
  ```
276
317
 
318
+ ### `hasStreamingProvider`
319
+
320
+ Check if a real-time streaming provider is registered for a specific network.
321
+
322
+ ```ts
323
+ const isSupported = hasStreamingProvider(appKit, Network.mainnet());
324
+ console.log('Mainnet streaming support:', isSupported);
325
+ ```
326
+
277
327
  ### `getBlockNumber`
278
328
 
279
329
  Get the current masterchain block number.
@@ -352,7 +402,7 @@ Get information about a specific NFT by its address.
352
402
 
353
403
  ```ts
354
404
  const nft = await getNft(appKit, {
355
- address: 'EQCA14o1-VWhS29szfbpmbu_m7A_9S4m_Ba6sAyALH_mU68j',
405
+ address: 'EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9c',
356
406
  });
357
407
 
358
408
  if (nft) {
@@ -367,7 +417,7 @@ Create a transaction for transferring a NFT without sending it.
367
417
 
368
418
  ```ts
369
419
  const tx = await createTransferNftTransaction(appKit, {
370
- nftAddress: 'EQCA14o1-VWhS29szfbpmbu_m7A_9S4m_Ba6sAyALH_mU68j',
420
+ nftAddress: 'EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9c',
371
421
  recipientAddress: 'EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9c',
372
422
  comment: 'Gift NFT',
373
423
  });
@@ -381,7 +431,7 @@ Transfer a NFT to a recipient address.
381
431
 
382
432
  ```ts
383
433
  const result = await transferNft(appKit, {
384
- nftAddress: 'EQCA14o1-VWhS29szfbpmbu_m7A_9S4m_Ba6sAyALH_mU68j',
434
+ nftAddress: 'EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9c',
385
435
  recipientAddress: 'EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9c',
386
436
  });
387
437
 
@@ -392,7 +442,7 @@ console.log('NFT Transfer Result:', result);
392
442
 
393
443
  ### `registerProvider`
394
444
 
395
- Register a custom token swap provider in AppKit (e.g., Omniston).
445
+ Register a custom provider in AppKit (e.g., Swap or Streaming).
396
446
 
397
447
  ```ts
398
448
  const omnistonProvider = new OmnistonSwapProvider({
@@ -483,6 +533,63 @@ const transactionResponse = await sendTransaction(appKit, transactionRequest);
483
533
  console.log('Swap Transaction:', transactionResponse);
484
534
  ```
485
535
 
536
+ ## Staking
537
+
538
+ ### `getStakingProviders`
539
+
540
+ Get all available staking provider IDs.
541
+
542
+ ```ts
543
+ const providers = await getStakingProviders(appKit);
544
+ console.log('Available Staking Providers:', providers);
545
+ ```
546
+
547
+ ### `getStakingProviderInfo`
548
+
549
+ Get information about a specific staking provider.
550
+
551
+ ```ts
552
+ const providerInfo = await getStakingProviderInfo(appKit, {
553
+ providerId: 'tonstakers',
554
+ });
555
+ console.log('Provider Info:', providerInfo);
556
+ ```
557
+
558
+ ### `getStakingQuote`
559
+
560
+ Get a staking or unstaking quote.
561
+
562
+ ```ts
563
+ const quote = await getStakingQuote(appKit, {
564
+ amount: '1000000000',
565
+ direction: 'stake',
566
+ });
567
+ console.log('Staking Quote:', quote);
568
+ ```
569
+
570
+ ### `buildStakeTransaction`
571
+
572
+ Build a stake transaction based on a quote.
573
+
574
+ ```ts
575
+ const txRequest = await buildStakeTransaction(appKit, {
576
+ quote,
577
+ userAddress,
578
+ });
579
+ console.log('Stake Transaction:', txRequest);
580
+ ```
581
+
582
+ ### `getStakedBalance`
583
+
584
+ Get the user's staked balance.
585
+
586
+ ```ts
587
+ const balance = await getStakedBalance(appKit, {
588
+ userAddress,
589
+ });
590
+ console.log('Staked Balance:', balance);
591
+ ```
592
+
486
593
  ## Transaction
487
594
 
488
595
  ### `createTransferTonTransaction`
@@ -41,7 +41,7 @@ const appKit = new AppKit({
41
41
  },
42
42
  },
43
43
  connectors: [
44
- new TonConnectConnector({
44
+ createTonConnectConnector({
45
45
  tonConnectOptions: {
46
46
  manifestUrl: 'https://my-app.com/tonconnect-manifest.json',
47
47
  },
@@ -68,7 +68,7 @@ const appKit = new AppKit({
68
68
  },
69
69
  },
70
70
  },
71
- connectors: [new TonConnectConnector({ tonConnectUI })],
71
+ connectors: [createTonConnectConnector({ tonConnectUI })],
72
72
  });
73
73
  ```
74
74
 
@@ -89,8 +89,8 @@ const appKit = new AppKit({
89
89
  },
90
90
  });
91
91
 
92
- // 2. Initialize TonConnect connector
93
- const connector = new TonConnectConnector({
92
+ // 2. Initialize TonConnect connector function
93
+ const connector = createTonConnectConnector({
94
94
  tonConnectOptions: {
95
95
  manifestUrl: 'https://my-app.com/tonconnect-manifest.json',
96
96
  },
@@ -0,0 +1,58 @@
1
+ <!--
2
+ This file is auto-generated. Do not edit manually.
3
+ Changes will be overwritten when running the docs update script.
4
+ Source template: template/packages/appkit/docs/staking.md
5
+ -->
6
+
7
+ # Staking
8
+
9
+ AppKit supports staking through various providers. Available providers:
10
+
11
+ - **createTonstakersProvider** – [Tonstakers](https://tonstakers.com) liquid staking (`TonStakersStakingProvider` instance type)
12
+
13
+ ## Installation
14
+
15
+ Staking providers are included in the `@ton/appkit` package. No extra dependencies are required.
16
+
17
+ ## Setup
18
+
19
+ You can set up staking providers by passing them to the `AppKit` constructor.
20
+
21
+ ```ts
22
+ // Initialize AppKit with staking providers
23
+ const network = Network.mainnet();
24
+ const toncenterApiClient = new ApiClientToncenter({ network });
25
+ const appKit = new AppKit({
26
+ networks: {
27
+ [network.chainId]: {
28
+ apiClient: toncenterApiClient,
29
+ },
30
+ },
31
+ providers: [createTonstakersProvider()],
32
+ });
33
+ ```
34
+
35
+ ### Register Dynamically
36
+
37
+ Alternatively, you can register providers dynamically using `registerProvider`:
38
+
39
+ ```ts
40
+ // 1. Initialize AppKit
41
+ const appKit = new AppKit({
42
+ networks: {
43
+ [Network.mainnet().chainId]: {
44
+ apiClient: {
45
+ url: 'https://toncenter.com',
46
+ key: 'your-key',
47
+ },
48
+ },
49
+ },
50
+ });
51
+
52
+ // 2. Register staking providers
53
+ registerProvider(appKit, createTonstakersProvider());
54
+ ```
55
+
56
+ ## Configuration
57
+
58
+ - **Tonstakers**: [Tonstakers documentation](https://docs.tonstakers.com) and [provider README](https://github.com/ton-connect/kit/blob/main/packages/walletkit/src/defi/staking/tonstakers/README.md)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ton/appkit",
3
- "version": "0.0.5-alpha.1",
3
+ "version": "0.0.5-alpha.3",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -50,23 +50,36 @@
50
50
  "types": "./dist/cjs/swap/dedust/index.d.ts",
51
51
  "default": "./dist/cjs/swap/dedust/index.js"
52
52
  }
53
+ },
54
+ "./staking/tonstakers": {
55
+ "import": {
56
+ "types": "./dist/esm/staking/tonstakers/index.d.ts",
57
+ "default": "./dist/esm/staking/tonstakers/index.js"
58
+ },
59
+ "require": {
60
+ "types": "./dist/cjs/staking/tonstakers/index.d.ts",
61
+ "default": "./dist/cjs/staking/tonstakers/index.js"
62
+ }
53
63
  }
54
64
  },
55
65
  "typesVersions": {
56
66
  "*": {
57
67
  "queries": [
58
- "./dist/cjs/queries/index.d.ts"
68
+ "./dist/esm/queries/index.d.ts"
59
69
  ],
60
70
  "swap/omniston": [
61
- "./dist/cjs/swap/omniston/index.d.ts"
71
+ "./dist/esm/swap/omniston/index.d.ts"
62
72
  ],
63
73
  "swap/dedust": [
64
- "./dist/cjs/swap/dedust/index.d.ts"
74
+ "./dist/esm/swap/dedust/index.d.ts"
75
+ ],
76
+ "staking/tonstakers": [
77
+ "./dist/esm/staking/tonstakers/index.d.ts"
65
78
  ]
66
79
  }
67
80
  },
68
81
  "dependencies": {
69
- "@ton/walletkit": "0.0.12-alpha.1"
82
+ "@ton/walletkit": "0.0.12-alpha.3"
70
83
  },
71
84
  "peerDependencies": {
72
85
  "@tanstack/query-core": ">=5.0.0",
@@ -89,11 +102,11 @@
89
102
  "author": "",
90
103
  "license": "ISC",
91
104
  "devDependencies": {
92
- "@tanstack/query-core": "5.90.20",
93
- "@ton/core": "^0.63.0",
94
- "@tonconnect/ui": "2.4.1",
95
- "typescript": "~5.8.3",
96
- "vitest": "^4.0.17"
105
+ "@tanstack/query-core": "5.99.0",
106
+ "@ton/core": "0.63.1",
107
+ "@tonconnect/ui": "2.4.4",
108
+ "typescript": "~5.9.3",
109
+ "vitest": "^4.1.4"
97
110
  },
98
111
  "scripts": {
99
112
  "build": "pnpm build:clean && pnpm build:cjs && pnpm build:esm",
@@ -0,0 +1,35 @@
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 { Address } from '@ton/core';
10
+ import type { BalanceUpdate, Network } from '@ton/walletkit';
11
+
12
+ import type { AppKit } from '../../core/app-kit';
13
+ import { resolveNetwork } from '../../utils/network/resolve-network';
14
+
15
+ export interface WatchBalanceByAddressOptions {
16
+ address: string | Address;
17
+ network?: Network;
18
+ onChange: (update: BalanceUpdate) => void;
19
+ }
20
+
21
+ export type WatchBalanceByAddressReturnType = () => void;
22
+
23
+ /**
24
+ * Watch account balance changes by address.
25
+ */
26
+ export const watchBalanceByAddress = (
27
+ appKit: AppKit,
28
+ options: WatchBalanceByAddressOptions,
29
+ ): WatchBalanceByAddressReturnType => {
30
+ const { address, network, onChange } = options;
31
+ const addressString = Address.isAddress(address) ? address.toString() : Address.parse(address).toString();
32
+ const resolvedNetwork = resolveNetwork(appKit, network);
33
+
34
+ return appKit.streamingManager.watchBalance(resolvedNetwork, addressString, onChange);
35
+ };
@@ -0,0 +1,56 @@
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 { BalanceUpdate, Network } from '@ton/walletkit';
10
+
11
+ import type { AppKit } from '../../core/app-kit';
12
+ import { WALLETS_EVENTS } from '../../core/app-kit';
13
+ import { getSelectedWallet } from '../wallets/get-selected-wallet';
14
+ import { watchBalanceByAddress } from './watch-balance-by-address';
15
+
16
+ export interface WatchBalanceOptions {
17
+ network?: Network;
18
+ onChange: (update: BalanceUpdate) => void;
19
+ }
20
+
21
+ export type WatchBalanceReturnType = () => void;
22
+
23
+ /**
24
+ * Watch account balance changes for the selected wallet.
25
+ */
26
+ export const watchBalance = (appKit: AppKit, options: WatchBalanceOptions): WatchBalanceReturnType => {
27
+ const { network, onChange } = options;
28
+ let unsubscribe: (() => void) | null = null;
29
+
30
+ const updateSubscription = () => {
31
+ if (unsubscribe) {
32
+ unsubscribe();
33
+ unsubscribe = null;
34
+ }
35
+
36
+ const selectedWallet = getSelectedWallet(appKit);
37
+ if (selectedWallet) {
38
+ unsubscribe = watchBalanceByAddress(appKit, {
39
+ address: selectedWallet.getAddress(),
40
+ network: network ?? selectedWallet.getNetwork(),
41
+ onChange,
42
+ });
43
+ }
44
+ };
45
+
46
+ const off = appKit.emitter.on(WALLETS_EVENTS.SELECTION_CHANGED, updateSubscription);
47
+ const offUpdate = appKit.emitter.on(WALLETS_EVENTS.UPDATED, updateSubscription);
48
+
49
+ updateSubscription();
50
+
51
+ return () => {
52
+ if (unsubscribe) unsubscribe();
53
+ off();
54
+ offUpdate();
55
+ };
56
+ };
@@ -7,15 +7,15 @@
7
7
  */
8
8
 
9
9
  import type { AppKit } from '../../core/app-kit';
10
- import type { Connector } from '../../types/connector';
10
+ import type { ConnectorInput } from '../../types/connector';
11
11
 
12
- export type AddConnectorParameters = Connector;
12
+ export type AddConnectorParameters = ConnectorInput;
13
13
 
14
14
  export type AddConnectorReturnType = () => void;
15
15
 
16
16
  /**
17
17
  * Add a wallet connector
18
18
  */
19
- export const addConnector = (appKit: AppKit, connector: AddConnectorParameters): AddConnectorReturnType => {
20
- return appKit.addConnector(connector);
19
+ export const addConnector = (appKit: AppKit, connectorFn: AddConnectorParameters): AddConnectorReturnType => {
20
+ return appKit.addConnector(connectorFn);
21
21
  };