@multiplatform.one/web3 7.23.1 → 7.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. package/README.md +150 -11
  2. package/dist/cjs/clients/evm.cjs +299 -11
  3. package/dist/cjs/clients/evm.native.js +500 -12
  4. package/dist/cjs/clients/evm.native.js.map +1 -1
  5. package/dist/cjs/clients/index.cjs +5 -0
  6. package/dist/cjs/clients/index.native.js +5 -0
  7. package/dist/cjs/clients/index.native.js.map +1 -1
  8. package/dist/cjs/clients/solana.cjs +39 -21
  9. package/dist/cjs/clients/solana.native.js +48 -23
  10. package/dist/cjs/clients/solana.native.js.map +1 -1
  11. package/dist/cjs/connectkit/GpgProvider.cjs +44 -0
  12. package/dist/cjs/connectkit/GpgProvider.native.js +51 -0
  13. package/dist/cjs/connectkit/GpgProvider.native.js.map +1 -0
  14. package/dist/cjs/connectkit/adapters/BitcoinAdapter.cjs +5 -14
  15. package/dist/cjs/connectkit/adapters/BitcoinAdapter.native.js +5 -15
  16. package/dist/cjs/connectkit/adapters/BitcoinAdapter.native.js.map +1 -1
  17. package/dist/cjs/connectkit/adapters/EthereumAdapter.cjs +6 -15
  18. package/dist/cjs/connectkit/adapters/EthereumAdapter.native.js +7 -16
  19. package/dist/cjs/connectkit/adapters/EthereumAdapter.native.js.map +1 -1
  20. package/dist/cjs/connectkit/adapters/SolanaAdapter.cjs +5 -14
  21. package/dist/cjs/connectkit/adapters/SolanaAdapter.native.js +5 -15
  22. package/dist/cjs/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
  23. package/dist/cjs/connectkit/adapters/SuiAdapter.cjs +5 -14
  24. package/dist/cjs/connectkit/adapters/SuiAdapter.native.js +5 -15
  25. package/dist/cjs/connectkit/adapters/SuiAdapter.native.js.map +1 -1
  26. package/dist/cjs/connectkit/connectors/createWalletMessage.cjs +2 -2
  27. package/dist/cjs/connectkit/connectors/createWalletMessage.native.js +2 -2
  28. package/dist/cjs/connectkit/connectors/createWalletMessage.native.js.map +1 -1
  29. package/dist/cjs/connectkit/index.cjs +4 -3
  30. package/dist/cjs/connectkit/index.native.js +4 -3
  31. package/dist/cjs/connectkit/index.native.js.map +1 -1
  32. package/dist/cjs/connectkit/siwe/SIWEContext.native.js.map +1 -1
  33. package/dist/cjs/connectkit/siwe/SIWEProvider.cjs +18 -3
  34. package/dist/cjs/connectkit/siwe/SIWEProvider.native.js +18 -3
  35. package/dist/cjs/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  36. package/dist/cjs/index.cjs +1 -0
  37. package/dist/cjs/index.native.js +1 -0
  38. package/dist/cjs/index.native.js.map +1 -1
  39. package/dist/cjs/keycloak/KeycloakWalletLogin.cjs +255 -0
  40. package/dist/cjs/keycloak/KeycloakWalletLogin.native.js +33 -0
  41. package/dist/cjs/keycloak/KeycloakWalletLogin.native.js.map +1 -0
  42. package/dist/cjs/keycloak/browserFlow.cjs +83 -0
  43. package/dist/cjs/keycloak/browserFlow.native.js +90 -0
  44. package/dist/cjs/keycloak/browserFlow.native.js.map +1 -0
  45. package/dist/cjs/keycloak/device.cjs +36 -0
  46. package/dist/cjs/keycloak/device.native.js +45 -0
  47. package/dist/cjs/keycloak/device.native.js.map +1 -0
  48. package/dist/cjs/keycloak/directGrant.cjs +189 -0
  49. package/dist/cjs/keycloak/directGrant.native.js +233 -0
  50. package/dist/cjs/keycloak/directGrant.native.js.map +1 -0
  51. package/dist/cjs/keycloak/iife.cjs +4 -0
  52. package/dist/cjs/keycloak/iife.native.js +7 -0
  53. package/dist/cjs/keycloak/iife.native.js.map +1 -0
  54. package/dist/cjs/keycloak/index.cjs +53 -0
  55. package/dist/cjs/keycloak/index.native.js +56 -0
  56. package/dist/cjs/keycloak/index.native.js.map +1 -0
  57. package/dist/cjs/keycloak/keycloakWallet.cjs +214 -0
  58. package/dist/cjs/keycloak/keycloakWallet.native.js +285 -0
  59. package/dist/cjs/keycloak/keycloakWallet.native.js.map +1 -0
  60. package/dist/cjs/keycloak/mount.cjs +53 -0
  61. package/dist/cjs/keycloak/mount.native.js +33 -0
  62. package/dist/cjs/keycloak/mount.native.js.map +1 -0
  63. package/dist/cjs/keycloak/registerWallet.cjs +74 -0
  64. package/dist/cjs/keycloak/registerWallet.native.js +81 -0
  65. package/dist/cjs/keycloak/registerWallet.native.js.map +1 -0
  66. package/dist/cjs/keycloak/types.cjs +46 -0
  67. package/dist/cjs/keycloak/types.native.js +179 -0
  68. package/dist/cjs/keycloak/types.native.js.map +1 -0
  69. package/dist/cjs/keycloak/useDirectLogin.cjs +57 -0
  70. package/dist/cjs/keycloak/useDirectLogin.native.js +77 -0
  71. package/dist/cjs/keycloak/useDirectLogin.native.js.map +1 -0
  72. package/dist/cjs/keycloak/useWalletLogin.cjs +97 -0
  73. package/dist/cjs/keycloak/useWalletLogin.native.js +33 -0
  74. package/dist/cjs/keycloak/useWalletLogin.native.js.map +1 -0
  75. package/dist/cjs/message/buildWalletMessage.cjs +113 -0
  76. package/dist/cjs/message/buildWalletMessage.native.js +121 -0
  77. package/dist/cjs/message/buildWalletMessage.native.js.map +1 -0
  78. package/dist/cjs/message/index.cjs +29 -0
  79. package/dist/cjs/message/index.native.js +32 -0
  80. package/dist/cjs/message/index.native.js.map +1 -0
  81. package/dist/cjs/providers/WalletProvider.cjs +8 -2
  82. package/dist/cjs/siws/message.cjs +5 -16
  83. package/dist/cjs/siws/message.native.js +6 -16
  84. package/dist/cjs/siws/message.native.js.map +1 -1
  85. package/dist/cjs/solana.native.js.map +1 -1
  86. package/dist/esm/clients/evm.mjs +295 -12
  87. package/dist/esm/clients/evm.mjs.map +1 -1
  88. package/dist/esm/clients/evm.native.js +496 -13
  89. package/dist/esm/clients/evm.native.js.map +1 -1
  90. package/dist/esm/clients/index.mjs +2 -2
  91. package/dist/esm/clients/index.mjs.map +1 -1
  92. package/dist/esm/clients/index.native.js +2 -2
  93. package/dist/esm/clients/index.native.js.map +1 -1
  94. package/dist/esm/clients/solana.mjs +39 -21
  95. package/dist/esm/clients/solana.mjs.map +1 -1
  96. package/dist/esm/clients/solana.native.js +48 -23
  97. package/dist/esm/clients/solana.native.js.map +1 -1
  98. package/dist/esm/connectkit/GpgProvider.mjs +19 -0
  99. package/dist/esm/connectkit/GpgProvider.mjs.map +1 -0
  100. package/dist/esm/connectkit/GpgProvider.native.js +23 -0
  101. package/dist/esm/connectkit/GpgProvider.native.js.map +1 -0
  102. package/dist/esm/connectkit/adapters/BitcoinAdapter.mjs +5 -14
  103. package/dist/esm/connectkit/adapters/BitcoinAdapter.mjs.map +1 -1
  104. package/dist/esm/connectkit/adapters/BitcoinAdapter.native.js +5 -15
  105. package/dist/esm/connectkit/adapters/BitcoinAdapter.native.js.map +1 -1
  106. package/dist/esm/connectkit/adapters/EthereumAdapter.mjs +6 -15
  107. package/dist/esm/connectkit/adapters/EthereumAdapter.mjs.map +1 -1
  108. package/dist/esm/connectkit/adapters/EthereumAdapter.native.js +7 -16
  109. package/dist/esm/connectkit/adapters/EthereumAdapter.native.js.map +1 -1
  110. package/dist/esm/connectkit/adapters/SolanaAdapter.mjs +5 -14
  111. package/dist/esm/connectkit/adapters/SolanaAdapter.mjs.map +1 -1
  112. package/dist/esm/connectkit/adapters/SolanaAdapter.native.js +5 -15
  113. package/dist/esm/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
  114. package/dist/esm/connectkit/adapters/SuiAdapter.mjs +5 -14
  115. package/dist/esm/connectkit/adapters/SuiAdapter.mjs.map +1 -1
  116. package/dist/esm/connectkit/adapters/SuiAdapter.native.js +5 -15
  117. package/dist/esm/connectkit/adapters/SuiAdapter.native.js.map +1 -1
  118. package/dist/esm/connectkit/connectors/createWalletMessage.mjs +1 -1
  119. package/dist/esm/connectkit/connectors/createWalletMessage.native.js +1 -1
  120. package/dist/esm/connectkit/index.mjs +3 -2
  121. package/dist/esm/connectkit/index.mjs.map +1 -1
  122. package/dist/esm/connectkit/index.native.js +3 -2
  123. package/dist/esm/connectkit/index.native.js.map +1 -1
  124. package/dist/esm/connectkit/siwe/SIWEContext.mjs.map +1 -1
  125. package/dist/esm/connectkit/siwe/SIWEContext.native.js.map +1 -1
  126. package/dist/esm/connectkit/siwe/SIWEProvider.mjs +19 -4
  127. package/dist/esm/connectkit/siwe/SIWEProvider.mjs.map +1 -1
  128. package/dist/esm/connectkit/siwe/SIWEProvider.native.js +19 -4
  129. package/dist/esm/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  130. package/dist/esm/index.mjs +1 -0
  131. package/dist/esm/index.mjs.map +1 -1
  132. package/dist/esm/index.native.js +1 -0
  133. package/dist/esm/index.native.js.map +1 -1
  134. package/dist/esm/keycloak/KeycloakWalletLogin.mjs +218 -0
  135. package/dist/esm/keycloak/KeycloakWalletLogin.mjs.map +1 -0
  136. package/dist/esm/keycloak/KeycloakWalletLogin.native.js +5 -0
  137. package/dist/esm/keycloak/KeycloakWalletLogin.native.js.map +1 -0
  138. package/dist/esm/keycloak/browserFlow.mjs +58 -0
  139. package/dist/esm/keycloak/browserFlow.mjs.map +1 -0
  140. package/dist/esm/keycloak/browserFlow.native.js +62 -0
  141. package/dist/esm/keycloak/browserFlow.native.js.map +1 -0
  142. package/dist/esm/keycloak/device.mjs +10 -0
  143. package/dist/esm/keycloak/device.mjs.map +1 -0
  144. package/dist/esm/keycloak/device.native.js +16 -0
  145. package/dist/esm/keycloak/device.native.js.map +1 -0
  146. package/dist/esm/keycloak/directGrant.mjs +164 -0
  147. package/dist/esm/keycloak/directGrant.mjs.map +1 -0
  148. package/dist/esm/keycloak/directGrant.native.js +205 -0
  149. package/dist/esm/keycloak/directGrant.native.js.map +1 -0
  150. package/dist/esm/keycloak/iife.mjs +5 -0
  151. package/dist/esm/keycloak/iife.mjs.map +1 -0
  152. package/dist/esm/keycloak/iife.native.js +5 -0
  153. package/dist/esm/keycloak/iife.native.js.map +1 -0
  154. package/dist/esm/keycloak/index.mjs +13 -0
  155. package/dist/esm/keycloak/index.mjs.map +1 -0
  156. package/dist/esm/keycloak/index.native.js +13 -0
  157. package/dist/esm/keycloak/index.native.js.map +1 -0
  158. package/dist/esm/keycloak/keycloakWallet.mjs +186 -0
  159. package/dist/esm/keycloak/keycloakWallet.mjs.map +1 -0
  160. package/dist/esm/keycloak/keycloakWallet.native.js +254 -0
  161. package/dist/esm/keycloak/keycloakWallet.native.js.map +1 -0
  162. package/dist/esm/keycloak/mount.mjs +28 -0
  163. package/dist/esm/keycloak/mount.mjs.map +1 -0
  164. package/dist/esm/keycloak/mount.native.js +5 -0
  165. package/dist/esm/keycloak/mount.native.js.map +1 -0
  166. package/dist/esm/keycloak/registerWallet.mjs +49 -0
  167. package/dist/esm/keycloak/registerWallet.mjs.map +1 -0
  168. package/dist/esm/keycloak/registerWallet.native.js +53 -0
  169. package/dist/esm/keycloak/registerWallet.native.js.map +1 -0
  170. package/dist/esm/keycloak/types.mjs +20 -0
  171. package/dist/esm/keycloak/types.mjs.map +1 -0
  172. package/dist/esm/keycloak/types.native.js +150 -0
  173. package/dist/esm/keycloak/types.native.js.map +1 -0
  174. package/dist/esm/keycloak/useDirectLogin.mjs +32 -0
  175. package/dist/esm/keycloak/useDirectLogin.mjs.map +1 -0
  176. package/dist/esm/keycloak/useDirectLogin.native.js +49 -0
  177. package/dist/esm/keycloak/useDirectLogin.native.js.map +1 -0
  178. package/dist/esm/keycloak/useWalletLogin.mjs +72 -0
  179. package/dist/esm/keycloak/useWalletLogin.mjs.map +1 -0
  180. package/dist/esm/keycloak/useWalletLogin.native.js +5 -0
  181. package/dist/esm/keycloak/useWalletLogin.native.js.map +1 -0
  182. package/dist/esm/message/buildWalletMessage.mjs +87 -0
  183. package/dist/esm/message/buildWalletMessage.mjs.map +1 -0
  184. package/dist/esm/message/buildWalletMessage.native.js +92 -0
  185. package/dist/esm/message/buildWalletMessage.native.js.map +1 -0
  186. package/dist/esm/message/index.mjs +3 -0
  187. package/dist/esm/message/index.mjs.map +1 -0
  188. package/dist/esm/message/index.native.js +3 -0
  189. package/dist/esm/message/index.native.js.map +1 -0
  190. package/dist/esm/providers/WalletProvider.mjs +9 -3
  191. package/dist/esm/providers/WalletProvider.mjs.map +1 -1
  192. package/dist/esm/siws/message.mjs +5 -16
  193. package/dist/esm/siws/message.mjs.map +1 -1
  194. package/dist/esm/siws/message.native.js +6 -16
  195. package/dist/esm/siws/message.native.js.map +1 -1
  196. package/dist/esm/solana.mjs.map +1 -1
  197. package/dist/esm/solana.native.js.map +1 -1
  198. package/dist/jsx/clients/evm.mjs +295 -12
  199. package/dist/jsx/clients/evm.mjs.map +1 -1
  200. package/dist/jsx/clients/evm.native.js +500 -12
  201. package/dist/jsx/clients/evm.native.js.map +1 -1
  202. package/dist/jsx/clients/index.mjs +2 -2
  203. package/dist/jsx/clients/index.mjs.map +1 -1
  204. package/dist/jsx/clients/index.native.js +5 -0
  205. package/dist/jsx/clients/index.native.js.map +1 -1
  206. package/dist/jsx/clients/solana.mjs +39 -21
  207. package/dist/jsx/clients/solana.mjs.map +1 -1
  208. package/dist/jsx/clients/solana.native.js +48 -23
  209. package/dist/jsx/clients/solana.native.js.map +1 -1
  210. package/dist/jsx/connectkit/GpgProvider.mjs +19 -0
  211. package/dist/jsx/connectkit/GpgProvider.mjs.map +1 -0
  212. package/dist/jsx/connectkit/GpgProvider.native.js +51 -0
  213. package/dist/jsx/connectkit/GpgProvider.native.js.map +1 -0
  214. package/dist/jsx/connectkit/adapters/BitcoinAdapter.mjs +5 -14
  215. package/dist/jsx/connectkit/adapters/BitcoinAdapter.mjs.map +1 -1
  216. package/dist/jsx/connectkit/adapters/BitcoinAdapter.native.js +5 -15
  217. package/dist/jsx/connectkit/adapters/BitcoinAdapter.native.js.map +1 -1
  218. package/dist/jsx/connectkit/adapters/EthereumAdapter.mjs +6 -15
  219. package/dist/jsx/connectkit/adapters/EthereumAdapter.mjs.map +1 -1
  220. package/dist/jsx/connectkit/adapters/EthereumAdapter.native.js +7 -16
  221. package/dist/jsx/connectkit/adapters/EthereumAdapter.native.js.map +1 -1
  222. package/dist/jsx/connectkit/adapters/SolanaAdapter.mjs +5 -14
  223. package/dist/jsx/connectkit/adapters/SolanaAdapter.mjs.map +1 -1
  224. package/dist/jsx/connectkit/adapters/SolanaAdapter.native.js +5 -15
  225. package/dist/jsx/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
  226. package/dist/jsx/connectkit/adapters/SuiAdapter.mjs +5 -14
  227. package/dist/jsx/connectkit/adapters/SuiAdapter.mjs.map +1 -1
  228. package/dist/jsx/connectkit/adapters/SuiAdapter.native.js +5 -15
  229. package/dist/jsx/connectkit/adapters/SuiAdapter.native.js.map +1 -1
  230. package/dist/jsx/connectkit/connectors/createWalletMessage.mjs +1 -1
  231. package/dist/jsx/connectkit/connectors/createWalletMessage.native.js +2 -2
  232. package/dist/jsx/connectkit/index.mjs +3 -2
  233. package/dist/jsx/connectkit/index.mjs.map +1 -1
  234. package/dist/jsx/connectkit/index.native.js +4 -3
  235. package/dist/jsx/connectkit/index.native.js.map +1 -1
  236. package/dist/jsx/connectkit/siwe/SIWEContext.mjs.map +1 -1
  237. package/dist/jsx/connectkit/siwe/SIWEContext.native.js.map +1 -1
  238. package/dist/jsx/connectkit/siwe/SIWEProvider.mjs +19 -4
  239. package/dist/jsx/connectkit/siwe/SIWEProvider.mjs.map +1 -1
  240. package/dist/jsx/connectkit/siwe/SIWEProvider.native.js +18 -3
  241. package/dist/jsx/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  242. package/dist/jsx/index.js +1 -0
  243. package/dist/jsx/index.js.map +1 -1
  244. package/dist/jsx/index.mjs +1 -0
  245. package/dist/jsx/index.mjs.map +1 -1
  246. package/dist/jsx/index.native.js +1 -0
  247. package/dist/jsx/index.native.js.map +1 -1
  248. package/dist/jsx/keycloak/KeycloakWalletLogin.mjs +218 -0
  249. package/dist/jsx/keycloak/KeycloakWalletLogin.mjs.map +1 -0
  250. package/dist/jsx/keycloak/KeycloakWalletLogin.native.js +33 -0
  251. package/dist/jsx/keycloak/KeycloakWalletLogin.native.js.map +1 -0
  252. package/dist/jsx/keycloak/browserFlow.mjs +58 -0
  253. package/dist/jsx/keycloak/browserFlow.mjs.map +1 -0
  254. package/dist/jsx/keycloak/browserFlow.native.js +90 -0
  255. package/dist/jsx/keycloak/browserFlow.native.js.map +1 -0
  256. package/dist/jsx/keycloak/device.mjs +10 -0
  257. package/dist/jsx/keycloak/device.mjs.map +1 -0
  258. package/dist/jsx/keycloak/device.native.js +45 -0
  259. package/dist/jsx/keycloak/device.native.js.map +1 -0
  260. package/dist/jsx/keycloak/directGrant.mjs +164 -0
  261. package/dist/jsx/keycloak/directGrant.mjs.map +1 -0
  262. package/dist/jsx/keycloak/directGrant.native.js +233 -0
  263. package/dist/jsx/keycloak/directGrant.native.js.map +1 -0
  264. package/dist/jsx/keycloak/iife.mjs +5 -0
  265. package/dist/jsx/keycloak/iife.mjs.map +1 -0
  266. package/dist/jsx/keycloak/iife.native.js +7 -0
  267. package/dist/jsx/keycloak/iife.native.js.map +1 -0
  268. package/dist/jsx/keycloak/index.mjs +13 -0
  269. package/dist/jsx/keycloak/index.mjs.map +1 -0
  270. package/dist/jsx/keycloak/index.native.js +56 -0
  271. package/dist/jsx/keycloak/index.native.js.map +1 -0
  272. package/dist/jsx/keycloak/keycloakWallet.mjs +186 -0
  273. package/dist/jsx/keycloak/keycloakWallet.mjs.map +1 -0
  274. package/dist/jsx/keycloak/keycloakWallet.native.js +285 -0
  275. package/dist/jsx/keycloak/keycloakWallet.native.js.map +1 -0
  276. package/dist/jsx/keycloak/mount.mjs +28 -0
  277. package/dist/jsx/keycloak/mount.mjs.map +1 -0
  278. package/dist/jsx/keycloak/mount.native.js +33 -0
  279. package/dist/jsx/keycloak/mount.native.js.map +1 -0
  280. package/dist/jsx/keycloak/registerWallet.mjs +49 -0
  281. package/dist/jsx/keycloak/registerWallet.mjs.map +1 -0
  282. package/dist/jsx/keycloak/registerWallet.native.js +81 -0
  283. package/dist/jsx/keycloak/registerWallet.native.js.map +1 -0
  284. package/dist/jsx/keycloak/types.mjs +20 -0
  285. package/dist/jsx/keycloak/types.mjs.map +1 -0
  286. package/dist/jsx/keycloak/types.native.js +179 -0
  287. package/dist/jsx/keycloak/types.native.js.map +1 -0
  288. package/dist/jsx/keycloak/useDirectLogin.mjs +32 -0
  289. package/dist/jsx/keycloak/useDirectLogin.mjs.map +1 -0
  290. package/dist/jsx/keycloak/useDirectLogin.native.js +77 -0
  291. package/dist/jsx/keycloak/useDirectLogin.native.js.map +1 -0
  292. package/dist/jsx/keycloak/useWalletLogin.mjs +72 -0
  293. package/dist/jsx/keycloak/useWalletLogin.mjs.map +1 -0
  294. package/dist/jsx/keycloak/useWalletLogin.native.js +33 -0
  295. package/dist/jsx/keycloak/useWalletLogin.native.js.map +1 -0
  296. package/dist/jsx/message/buildWalletMessage.mjs +87 -0
  297. package/dist/jsx/message/buildWalletMessage.mjs.map +1 -0
  298. package/dist/jsx/message/buildWalletMessage.native.js +121 -0
  299. package/dist/jsx/message/buildWalletMessage.native.js.map +1 -0
  300. package/dist/jsx/message/index.mjs +3 -0
  301. package/dist/jsx/message/index.mjs.map +1 -0
  302. package/dist/jsx/message/index.native.js +32 -0
  303. package/dist/jsx/message/index.native.js.map +1 -0
  304. package/dist/jsx/providers/WalletProvider.mjs +9 -3
  305. package/dist/jsx/providers/WalletProvider.mjs.map +1 -1
  306. package/dist/jsx/siws/message.mjs +5 -16
  307. package/dist/jsx/siws/message.mjs.map +1 -1
  308. package/dist/jsx/siws/message.native.js +6 -16
  309. package/dist/jsx/siws/message.native.js.map +1 -1
  310. package/dist/jsx/solana.mjs.map +1 -1
  311. package/dist/jsx/solana.native.js.map +1 -1
  312. package/dist/keycloak/login.iife.js +3604 -0
  313. package/package.json +27 -8
  314. package/src/clients/evm.spec.ts +644 -10
  315. package/src/clients/evm.ts +498 -10
  316. package/src/clients/index.ts +8 -0
  317. package/src/clients/solana.spec.ts +116 -0
  318. package/src/clients/solana.ts +51 -31
  319. package/src/connectkit/GpgProvider.tsx +16 -0
  320. package/src/connectkit/adapters/BitcoinAdapter.ts +5 -16
  321. package/src/connectkit/adapters/EthereumAdapter.ts +6 -17
  322. package/src/connectkit/adapters/SolanaAdapter.ts +5 -16
  323. package/src/connectkit/adapters/SuiAdapter.ts +5 -16
  324. package/src/connectkit/connectors/createWalletMessage.ts +1 -1
  325. package/src/connectkit/index.ts +2 -6
  326. package/src/connectkit/openConnector/modal.spec.tsx +1 -1
  327. package/src/connectkit/siwe/SIWEContext.tsx +6 -2
  328. package/src/connectkit/siwe/SIWEProvider.tsx +22 -5
  329. package/src/index.ts +3 -0
  330. package/src/keycloak/KeycloakWalletLogin.native.tsx +7 -0
  331. package/src/keycloak/KeycloakWalletLogin.spec.tsx +168 -0
  332. package/src/keycloak/KeycloakWalletLogin.tsx +251 -0
  333. package/src/keycloak/browserFlow.spec.ts +108 -0
  334. package/src/keycloak/browserFlow.ts +84 -0
  335. package/src/keycloak/device.ts +17 -0
  336. package/src/keycloak/directGrant.spec.ts +331 -0
  337. package/src/keycloak/directGrant.ts +214 -0
  338. package/src/keycloak/iife.ts +3 -0
  339. package/src/keycloak/index.ts +44 -0
  340. package/src/keycloak/keycloakWallet.spec.ts +216 -0
  341. package/src/keycloak/keycloakWallet.ts +275 -0
  342. package/src/keycloak/mount.native.ts +11 -0
  343. package/src/keycloak/mount.tsx +45 -0
  344. package/src/keycloak/nonceReset.spec.tsx +205 -0
  345. package/src/keycloak/registerWallet.spec.ts +88 -0
  346. package/src/keycloak/registerWallet.ts +59 -0
  347. package/src/keycloak/types.ts +66 -0
  348. package/src/keycloak/useDirectLogin.spec.tsx +112 -0
  349. package/src/keycloak/useDirectLogin.ts +74 -0
  350. package/src/keycloak/useWalletLogin.native.ts +7 -0
  351. package/src/keycloak/useWalletLogin.ts +99 -0
  352. package/src/message/buildWalletMessage.spec.ts +291 -0
  353. package/src/message/buildWalletMessage.ts +150 -0
  354. package/src/message/index.ts +8 -0
  355. package/src/providers/WalletProvider.tsx +15 -2
  356. package/src/siws/message.ts +3 -22
  357. package/src/solana.ts +1 -0
  358. package/types/clients/evm.d.ts +144 -2
  359. package/types/clients/evm.d.ts.map +1 -1
  360. package/types/clients/index.d.ts +1 -1
  361. package/types/clients/index.d.ts.map +1 -1
  362. package/types/clients/solana.d.ts +14 -5
  363. package/types/clients/solana.d.ts.map +1 -1
  364. package/types/connectkit/GpgProvider.d.ts +10 -0
  365. package/types/connectkit/GpgProvider.d.ts.map +1 -0
  366. package/types/connectkit/adapters/BitcoinAdapter.d.ts.map +1 -1
  367. package/types/connectkit/adapters/EthereumAdapter.d.ts.map +1 -1
  368. package/types/connectkit/adapters/SolanaAdapter.d.ts.map +1 -1
  369. package/types/connectkit/adapters/SuiAdapter.d.ts.map +1 -1
  370. package/types/connectkit/connectors/createWalletMessage.d.ts +1 -1
  371. package/types/connectkit/connectors/createWalletMessage.d.ts.map +1 -1
  372. package/types/connectkit/index.d.ts +3 -2
  373. package/types/connectkit/index.d.ts.map +1 -1
  374. package/types/connectkit/siwe/SIWEContext.d.ts +2 -1
  375. package/types/connectkit/siwe/SIWEContext.d.ts.map +1 -1
  376. package/types/connectkit/siwe/SIWEProvider.d.ts.map +1 -1
  377. package/types/index.d.ts +1 -0
  378. package/types/index.d.ts.map +1 -1
  379. package/types/keycloak/KeycloakWalletLogin.d.ts +45 -0
  380. package/types/keycloak/KeycloakWalletLogin.d.ts.map +1 -0
  381. package/types/keycloak/KeycloakWalletLogin.native.d.ts +4 -0
  382. package/types/keycloak/KeycloakWalletLogin.native.d.ts.map +1 -0
  383. package/types/keycloak/browserFlow.d.ts +27 -0
  384. package/types/keycloak/browserFlow.d.ts.map +1 -0
  385. package/types/keycloak/device.d.ts +14 -0
  386. package/types/keycloak/device.d.ts.map +1 -0
  387. package/types/keycloak/directGrant.d.ts +43 -0
  388. package/types/keycloak/directGrant.d.ts.map +1 -0
  389. package/types/keycloak/iife.d.ts +2 -0
  390. package/types/keycloak/iife.d.ts.map +1 -0
  391. package/types/keycloak/index.d.ts +12 -0
  392. package/types/keycloak/index.d.ts.map +1 -0
  393. package/types/keycloak/keycloakWallet.d.ts +120 -0
  394. package/types/keycloak/keycloakWallet.d.ts.map +1 -0
  395. package/types/keycloak/mount.d.ts +16 -0
  396. package/types/keycloak/mount.d.ts.map +1 -0
  397. package/types/keycloak/mount.native.d.ts +5 -0
  398. package/types/keycloak/mount.native.d.ts.map +1 -0
  399. package/types/keycloak/registerWallet.d.ts +22 -0
  400. package/types/keycloak/registerWallet.d.ts.map +1 -0
  401. package/types/keycloak/types.d.ts +50 -0
  402. package/types/keycloak/types.d.ts.map +1 -0
  403. package/types/keycloak/useDirectLogin.d.ts +29 -0
  404. package/types/keycloak/useDirectLogin.d.ts.map +1 -0
  405. package/types/keycloak/useWalletLogin.d.ts +26 -0
  406. package/types/keycloak/useWalletLogin.d.ts.map +1 -0
  407. package/types/keycloak/useWalletLogin.native.d.ts +4 -0
  408. package/types/keycloak/useWalletLogin.native.d.ts.map +1 -0
  409. package/types/message/buildWalletMessage.d.ts +46 -0
  410. package/types/message/buildWalletMessage.d.ts.map +1 -0
  411. package/types/message/index.d.ts +2 -0
  412. package/types/message/index.d.ts.map +1 -0
  413. package/types/providers/WalletProvider.d.ts +8 -1
  414. package/types/providers/WalletProvider.d.ts.map +1 -1
  415. package/types/siws/message.d.ts.map +1 -1
  416. package/types/solana.d.ts +1 -1
  417. package/types/solana.d.ts.map +1 -1
  418. package/dist/cjs/connectkit/adapters/messages.cjs +0 -73
  419. package/dist/cjs/connectkit/adapters/messages.native.js +0 -79
  420. package/dist/cjs/connectkit/adapters/messages.native.js.map +0 -1
  421. package/dist/esm/connectkit/adapters/messages.mjs +0 -48
  422. package/dist/esm/connectkit/adapters/messages.mjs.map +0 -1
  423. package/dist/esm/connectkit/adapters/messages.native.js +0 -51
  424. package/dist/esm/connectkit/adapters/messages.native.js.map +0 -1
  425. package/dist/jsx/connectkit/adapters/messages.mjs +0 -48
  426. package/dist/jsx/connectkit/adapters/messages.mjs.map +0 -1
  427. package/dist/jsx/connectkit/adapters/messages.native.js +0 -79
  428. package/dist/jsx/connectkit/adapters/messages.native.js.map +0 -1
  429. package/src/connectkit/adapters/messages.ts +0 -84
  430. package/types/connectkit/adapters/messages.d.ts +0 -16
  431. package/types/connectkit/adapters/messages.d.ts.map +0 -1
@@ -1,4 +1,87 @@
1
1
  import { createPublicClient, createWalletClient, custom, erc20Abi, http } from "viem";
2
+ class ReceiptPendingError extends Error {
3
+ constructor(hash, chainId, options) {
4
+ super(`${options.label ?? "transaction"} ${hash} on chain ${chainId} ${options.detail}; it may still land, so do not resend it`, {
5
+ cause: options.cause
6
+ });
7
+ this.hash = hash;
8
+ this.chainId = chainId;
9
+ this.name = "ReceiptPendingError";
10
+ this.explorerUrl = options.explorerUrl;
11
+ this.nonce = options.nonce;
12
+ }
13
+ hash;
14
+ chainId;
15
+ mayStillLand = true;
16
+ explorerUrl;
17
+ /** Known once the node has seen the transaction. Keep it with the hash to resume the wait. */
18
+ nonce;
19
+ }
20
+ class ReceiptWaitAbortedError extends Error {
21
+ constructor(hash, chainId, nonce, cause) {
22
+ super(`stopped waiting for transaction ${hash} on chain ${chainId}`, {
23
+ cause
24
+ });
25
+ this.hash = hash;
26
+ this.chainId = chainId;
27
+ this.nonce = nonce;
28
+ this.name = "AbortError";
29
+ }
30
+ hash;
31
+ chainId;
32
+ nonce;
33
+ mayStillLand = true;
34
+ }
35
+ class TransactionRevertedError extends Error {
36
+ constructor(receipt, chainId, label = "transaction") {
37
+ super(`${label} ${receipt.transactionHash} reverted in block ${receipt.blockNumber}`);
38
+ this.receipt = receipt;
39
+ this.chainId = chainId;
40
+ this.name = "TransactionRevertedError";
41
+ this.hash = receipt.transactionHash;
42
+ }
43
+ receipt;
44
+ chainId;
45
+ mayStillLand = false;
46
+ hash;
47
+ }
48
+ class TransactionReplacedError extends Error {
49
+ constructor(hash, chainId, reason, replacement) {
50
+ super(`transaction ${hash} was ${reason === "unmatched" ? "superseded" : reason}${replacement ? ` by ${replacement.transactionHash}` : ""}: another transaction took its nonce`);
51
+ this.hash = hash;
52
+ this.chainId = chainId;
53
+ this.reason = reason;
54
+ this.replacement = replacement;
55
+ this.name = "TransactionReplacedError";
56
+ }
57
+ hash;
58
+ chainId;
59
+ reason;
60
+ replacement;
61
+ mayStillLand = false;
62
+ }
63
+ function causes(error) {
64
+ const chain = [];
65
+ for (let e = error; e && typeof e === "object" && chain.length < 16; e = e.cause) {
66
+ if (chain.includes(e)) break;
67
+ chain.push(e);
68
+ }
69
+ return chain;
70
+ }
71
+ function classifyTxError(error) {
72
+ const chain = causes(error);
73
+ const pendingAt = chain.findIndex(e => e.mayStillLand === true || e.name === "WaitForTransactionReceiptTimeoutError" || e.name === "TransactionReplacedError" && e.reason === "unmatched");
74
+ const abortedAt = chain.findIndex(e => e.name === "AbortError" && typeof e.mayStillLand === "boolean");
75
+ if (abortedAt >= 0 && (pendingAt < 0 || abortedAt <= pendingAt)) return "aborted";
76
+ if (pendingAt >= 0) return "pending";
77
+ if (chain.some(e => e.name === "UserRejectedRequestError" || e.code === 4001 || e.name === "TransactionReplacedError" && e.reason === "cancelled")) {
78
+ return "user-rejected";
79
+ }
80
+ if (chain.some(e => e.name === "ContractFunctionRevertedError" || e.name === "ExecutionRevertedError" || e.receipt?.status === "reverted")) {
81
+ return "reverted";
82
+ }
83
+ return "failed";
84
+ }
2
85
  const erc20WriteAbi = [{
3
86
  type: "function",
4
87
  name: "transfer",
@@ -59,16 +142,208 @@ function evmClient(config) {
59
142
  chain
60
143
  });
61
144
  };
62
- const approveAndWait = async (token, spender, amount) => {
145
+ const explorer = chain.blockExplorers?.default.url.replace(/\/+$/, "");
146
+ const explorerTxUrl = hash => explorer ? `${explorer}/tx/${hash}` : void 0;
147
+ const missing = name => error => {
148
+ if (error?.name === name) return void 0;
149
+ throw error;
150
+ };
151
+ const getReceipt = hash => publicClient.getTransactionReceipt({
152
+ hash
153
+ }).catch(missing("TransactionReceiptNotFoundError"));
154
+ const getTransaction = hash => publicClient.getTransaction({
155
+ hash
156
+ }).catch(missing("TransactionNotFoundError"));
157
+ const sameAddress = (a, b) => !!a && !!b && a.toLowerCase() === b.toLowerCase();
158
+ const nonceBlock = async (count, nonce, taken, free) => {
159
+ let hi = taken;
160
+ let lo = -1n;
161
+ if (free !== void 0 && free < hi) lo = free;else {
162
+ for (let step = 1n; hi - step >= 0n; step *= 2n) {
163
+ const probe = hi - step;
164
+ if ((await count(probe)) <= nonce) {
165
+ lo = probe;
166
+ break;
167
+ }
168
+ hi = probe;
169
+ }
170
+ }
171
+ while (hi - lo > 1n) {
172
+ const mid = (lo + hi) / 2n;
173
+ if ((await count(mid)) > nonce) hi = mid;else lo = mid;
174
+ }
175
+ return {
176
+ block: hi,
177
+ free: lo >= 0n ? lo : void 0
178
+ };
179
+ };
180
+ const replacementReason = (taker, original) => {
181
+ if (original && sameAddress(taker.to, original.to) && taker.value === original.value && taker.input === original.input) {
182
+ return "repriced";
183
+ }
184
+ if (sameAddress(taker.to, taker.from) && taker.value === 0n) return "cancelled";
185
+ return original ? "replaced" : "unmatched";
186
+ };
187
+ const after = (ms, fire) => {
188
+ const step = 2 ** 31 - 1;
189
+ let cancel = () => {};
190
+ const arm = left => {
191
+ const id = setTimeout(() => left > step ? arm(left - step) : fire(), Math.min(left, step));
192
+ cancel = () => clearTimeout(id);
193
+ };
194
+ arm(Math.max(0, ms));
195
+ return () => cancel();
196
+ };
197
+ const backoff = failures => {
198
+ const ceiling = Math.min(3e4, Math.max(1, publicClient.pollingInterval) * 2 ** Math.min(failures - 1, 16));
199
+ return ceiling / 2 + Math.random() * ceiling / 2;
200
+ };
201
+ const waitForReceipt = async (hash, options = {}, label) => {
202
+ const {
203
+ signal
204
+ } = options;
205
+ const confirmations = BigInt(Math.max(1, options.confirmations ?? 1));
206
+ const {
207
+ timeout
208
+ } = options;
209
+ const deadline = timeout !== void 0 && Number.isFinite(timeout) && timeout > 0 ? Date.now() + timeout : void 0;
210
+ let target = hash;
211
+ let original;
212
+ let nonce = options.nonce;
213
+ let freeBlock;
214
+ let failures = 0;
215
+ let lastError;
216
+ const aborted = () => new ReceiptWaitAbortedError(hash, chain.id, nonce, signal?.reason);
217
+ const timedOut = () => new ReceiptPendingError(hash, chain.id, {
218
+ detail: `has no receipt after ${timeout} ms`,
219
+ explorerUrl: explorerTxUrl(hash),
220
+ nonce,
221
+ cause: lastError,
222
+ label
223
+ });
224
+ let ended = false;
225
+ const track = () => {
226
+ if (ended || signal?.aborted || nonce === void 0) return;
227
+ try {
228
+ options.onTrack?.({
229
+ hash: target,
230
+ nonce
231
+ });
232
+ } catch {}
233
+ };
234
+ if (signal?.aborted) throw aborted();
235
+ const guard = (promise, onStop = () => {}) => new Promise((resolve, reject) => {
236
+ let cancelTimer = () => {};
237
+ const cleanup = () => {
238
+ cancelTimer();
239
+ signal?.removeEventListener("abort", stop);
240
+ };
241
+ const give = error => {
242
+ cleanup();
243
+ onStop();
244
+ reject(error);
245
+ };
246
+ const stop = () => give(aborted());
247
+ promise.then(resolve, reject).finally(cleanup);
248
+ if (signal?.aborted) return stop();
249
+ signal?.addEventListener("abort", stop, {
250
+ once: true
251
+ });
252
+ if (deadline !== void 0) cancelTimer = after(deadline - Date.now(), () => give(timedOut()));
253
+ });
254
+ const rpc = call => {
255
+ if (ended || signal?.aborted) throw aborted();
256
+ return call();
257
+ };
258
+ const countAt = (address, blockNumber) => rpc(() => publicClient.getTransactionCount({
259
+ address,
260
+ blockNumber
261
+ }));
262
+ const poll = async () => {
263
+ const head = await rpc(() => publicClient.getBlockNumber({
264
+ cacheTime: 0
265
+ }));
266
+ const receipt = await rpc(() => getReceipt(target));
267
+ if (receipt) return head - receipt.blockNumber + 1n >= confirmations ? receipt : void 0;
268
+ if (!original) {
269
+ original = await rpc(() => getTransaction(target));
270
+ if (original && original.nonce !== nonce) {
271
+ nonce = original.nonce;
272
+ track();
273
+ }
274
+ }
275
+ if (nonce === void 0) return void 0;
276
+ const from = original?.from ?? account.address;
277
+ if ((await countAt(from, head)) <= nonce) {
278
+ freeBlock = head;
279
+ return void 0;
280
+ }
281
+ const found = await nonceBlock(n => countAt(from, n), nonce, head, freeBlock);
282
+ freeBlock = found.free;
283
+ const block = await rpc(() => publicClient.getBlock({
284
+ blockNumber: found.block,
285
+ includeTransactions: true
286
+ }));
287
+ const taker = block.transactions.find(tx => sameAddress(tx.from, from) && tx.nonce === nonce);
288
+ if (!taker || taker.hash === target) {
289
+ if (!taker) freeBlock = void 0;
290
+ return void 0;
291
+ }
292
+ const reason = replacementReason(taker, original);
293
+ if (reason === "repriced") {
294
+ target = taker.hash;
295
+ original = taker;
296
+ track();
297
+ return void 0;
298
+ }
299
+ if (head - found.block + 1n < confirmations) return void 0;
300
+ const replacement = await rpc(() => getReceipt(taker.hash));
301
+ throw new TransactionReplacedError(hash, chain.id, reason, replacement);
302
+ };
303
+ try {
304
+ for (;;) {
305
+ try {
306
+ const receipt = await guard(poll());
307
+ if (receipt) return receipt;
308
+ failures = 0;
309
+ } catch (error) {
310
+ if (error instanceof TransactionReplacedError || error instanceof ReceiptWaitAbortedError || error instanceof ReceiptPendingError) {
311
+ throw error;
312
+ }
313
+ lastError = error;
314
+ failures++;
315
+ }
316
+ if (deadline !== void 0 && Date.now() >= deadline) throw timedOut();
317
+ const pause = failures ? backoff(failures) : publicClient.pollingInterval;
318
+ let wake = () => {};
319
+ await guard(new Promise(resolve => {
320
+ wake = after(pause, () => resolve(void 0));
321
+ }), () => wake());
322
+ }
323
+ } finally {
324
+ ended = true;
325
+ }
326
+ };
327
+ const confirmTransaction = async (hash, options, label) => {
328
+ const receipt = await waitForReceipt(hash, options, label);
329
+ if (receipt.status !== "success") throw new TransactionRevertedError(receipt, chain.id, label);
330
+ return receipt;
331
+ };
332
+ const approveAndWait = async (token, spender, amount, options) => {
333
+ if (options.signal?.aborted) {
334
+ throw Object.assign(new Error("stopped before sending the approval", {
335
+ cause: options.signal.reason
336
+ }), {
337
+ name: "AbortError",
338
+ mayStillLand: false
339
+ });
340
+ }
63
341
  const hash = await erc20.approve({
64
342
  token,
65
343
  spender,
66
344
  amount
67
345
  });
68
- const receipt = await publicClient.waitForTransactionReceipt({
69
- hash
70
- });
71
- if (receipt.status !== "success") throw new Error(`approve ${hash} reverted`);
346
+ await confirmTransaction(hash, options, "approve");
72
347
  return hash;
73
348
  };
74
349
  const erc20 = {
@@ -110,12 +385,20 @@ function evmClient(config) {
110
385
  async ensureAllowance({
111
386
  token,
112
387
  spender,
113
- amount
388
+ amount,
389
+ timeout,
390
+ signal
114
391
  }) {
115
392
  const current = await erc20.allowance(token, spender);
116
393
  if (current >= amount) return null;
117
- if (current > 0n) await approveAndWait(token, spender, 0n);
118
- return approveAndWait(token, spender, amount);
394
+ if (current > 0n) await approveAndWait(token, spender, 0n, {
395
+ timeout,
396
+ signal
397
+ });
398
+ return approveAndWait(token, spender, amount, {
399
+ timeout,
400
+ signal
401
+ });
119
402
  }
120
403
  };
121
404
  return {
@@ -136,11 +419,11 @@ function evmClient(config) {
136
419
  ...parameters
137
420
  }),
138
421
  writeContract,
139
- waitForTransactionReceipt: hash => publicClient.waitForTransactionReceipt({
140
- hash
141
- }),
422
+ waitForTransactionReceipt: (hash, options) => waitForReceipt(hash, options),
423
+ confirmTransaction: (hash, options) => confirmTransaction(hash, options),
424
+ explorerTxUrl,
142
425
  erc20
143
426
  };
144
427
  }
145
- export { evmClient };
428
+ export { ReceiptPendingError, ReceiptWaitAbortedError, TransactionReplacedError, TransactionRevertedError, classifyTxError, evmClient };
146
429
  //# sourceMappingURL=evm.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["createPublicClient","createWalletClient","custom","erc20Abi","http","erc20WriteAbi","type","name","stateMutability","inputs","outputs","capabilities","evmClient","config","walletClient","account","chain","transport","provider","Error","publicClient","rpcUrl","writeContract","parameters","simulateAndWrite","request","simulateContract","address","abi","functionName","args","approveAndWait","token","spender","amount","hash","erc20","approve","receipt","waitForTransactionReceipt","status","balanceOf","owner","readContract","allowance","decimals","transfer","to","ensureAllowance","current","family","chainId","id","signMessage","message","sendTransaction"],"sources":["../../../src/clients/evm.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createPublicClient","createWalletClient","custom","erc20Abi","http","ReceiptPendingError","Error","constructor","hash","chainId","options","label","detail","cause","name","explorerUrl","nonce","mayStillLand","ReceiptWaitAbortedError","TransactionRevertedError","receipt","transactionHash","blockNumber","TransactionReplacedError","reason","replacement","causes","error","chain","e","length","includes","push","classifyTxError","pendingAt","findIndex","abortedAt","some","code","status","erc20WriteAbi","type","stateMutability","inputs","outputs","capabilities","evmClient","config","walletClient","account","transport","provider","publicClient","rpcUrl","writeContract","parameters","simulateAndWrite","request","simulateContract","address","abi","functionName","args","explorer","blockExplorers","default","url","replace","explorerTxUrl","missing","getReceipt","getTransactionReceipt","catch","getTransaction","sameAddress","a","b","toLowerCase","nonceBlock","count","taken","free","hi","lo","step","probe","mid","block","replacementReason","taker","original","to","value","input","from","after","ms","fire","cancel","arm","left","id","setTimeout","Math","min","clearTimeout","max","backoff","failures","ceiling","pollingInterval","random","waitForReceipt","signal","confirmations","BigInt","timeout","deadline","Number","isFinite","Date","now","target","freeBlock","lastError","aborted","timedOut","ended","track","onTrack","guard","promise","onStop","Promise","resolve","reject","cancelTimer","cleanup","removeEventListener","stop","give","then","finally","addEventListener","once","rpc","call","countAt","getTransactionCount","poll","head","getBlockNumber","cacheTime","found","n","getBlock","includeTransactions","transactions","find","tx","pause","wake","confirmTransaction","approveAndWait","token","spender","amount","Object","assign","erc20","approve","balanceOf","owner","readContract","allowance","decimals","transfer","ensureAllowance","current","family","signMessage","message","sendTransaction","waitForTransactionReceipt"],"sources":["../../../src/clients/evm.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}