@multiplatform.one/web3 7.17.0 → 7.19.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 (421) hide show
  1. package/README.md +60 -0
  2. package/dist/cjs/clients/adapter.cjs +33 -0
  3. package/dist/cjs/clients/adapter.native.js +36 -0
  4. package/dist/cjs/clients/adapter.native.js.map +1 -0
  5. package/dist/cjs/clients/bitcoin.cjs +46 -0
  6. package/dist/cjs/clients/bitcoin.native.js +51 -0
  7. package/dist/cjs/clients/bitcoin.native.js.map +1 -0
  8. package/dist/cjs/clients/connector.cjs +45 -0
  9. package/dist/cjs/clients/connector.native.js +49 -0
  10. package/dist/cjs/clients/connector.native.js.map +1 -0
  11. package/dist/cjs/clients/evm.cjs +171 -0
  12. package/dist/cjs/clients/evm.native.js +198 -0
  13. package/dist/cjs/clients/evm.native.js.map +1 -0
  14. package/dist/cjs/clients/gpg.cjs +31 -0
  15. package/dist/cjs/clients/gpg.native.js +34 -0
  16. package/dist/cjs/clients/gpg.native.js.map +1 -0
  17. package/dist/cjs/clients/hooks.cjs +78 -0
  18. package/dist/cjs/clients/hooks.native.js +85 -0
  19. package/dist/cjs/clients/hooks.native.js.map +1 -0
  20. package/dist/cjs/clients/index.cjs +49 -0
  21. package/dist/cjs/clients/index.native.js +52 -0
  22. package/dist/cjs/clients/index.native.js.map +1 -0
  23. package/dist/cjs/clients/solana.cjs +322 -0
  24. package/dist/cjs/clients/solana.native.js +511 -0
  25. package/dist/cjs/clients/solana.native.js.map +1 -0
  26. package/dist/cjs/clients/solanaMessage.cjs +38 -0
  27. package/dist/cjs/clients/solanaMessage.native.js +44 -0
  28. package/dist/cjs/clients/solanaMessage.native.js.map +1 -0
  29. package/dist/cjs/clients/sui.cjs +46 -0
  30. package/dist/cjs/clients/sui.native.js +51 -0
  31. package/dist/cjs/clients/sui.native.js.map +1 -0
  32. package/dist/cjs/clients/types.cjs +37 -0
  33. package/dist/cjs/clients/types.native.js +160 -0
  34. package/dist/cjs/clients/types.native.js.map +1 -0
  35. package/dist/cjs/clients/useSolanaClient.cjs +50 -0
  36. package/dist/cjs/clients/useSolanaClient.native.js +57 -0
  37. package/dist/cjs/clients/useSolanaClient.native.js.map +1 -0
  38. package/dist/cjs/clients/walletStandard.cjs +63 -0
  39. package/dist/cjs/clients/walletStandard.native.js +71 -0
  40. package/dist/cjs/clients/walletStandard.native.js.map +1 -0
  41. package/dist/cjs/connectkit/components/Common/ConnectorList/index.cjs +33 -5
  42. package/dist/cjs/connectkit/components/Common/ConnectorList/index.native.js +38 -5
  43. package/dist/cjs/connectkit/components/Common/ConnectorList/index.native.js.map +1 -1
  44. package/dist/cjs/connectkit/components/ConnectButton/index.cjs +5 -0
  45. package/dist/cjs/connectkit/components/ConnectButton/index.native.js +5 -0
  46. package/dist/cjs/connectkit/components/ConnectButton/index.native.js.map +1 -1
  47. package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/index.cjs +9 -4
  48. package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js +12 -7
  49. package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js.map +1 -1
  50. package/dist/cjs/connectkit/connectors/walletAdapterConnector.cjs +2 -0
  51. package/dist/cjs/connectkit/connectors/walletAdapterConnector.native.js +2 -0
  52. package/dist/cjs/connectkit/connectors/walletAdapterConnector.native.js.map +1 -1
  53. package/dist/cjs/connectkit/index.cjs +5 -0
  54. package/dist/cjs/connectkit/index.native.js +5 -0
  55. package/dist/cjs/connectkit/index.native.js.map +1 -1
  56. package/dist/cjs/connectkit/openConnector/context.cjs +146 -0
  57. package/dist/cjs/connectkit/openConnector/context.native.js +188 -0
  58. package/dist/cjs/connectkit/openConnector/context.native.js.map +1 -0
  59. package/dist/cjs/connectkit/openConnector/device.cjs +42 -0
  60. package/dist/cjs/connectkit/openConnector/device.native.js +51 -0
  61. package/dist/cjs/connectkit/openConnector/device.native.js.map +1 -0
  62. package/dist/cjs/connectkit/openConnector/index.cjs +35 -0
  63. package/dist/cjs/connectkit/openConnector/index.native.js +38 -0
  64. package/dist/cjs/connectkit/openConnector/index.native.js.map +1 -0
  65. package/dist/cjs/connectkit/openConnector/launcher.cjs +133 -0
  66. package/dist/cjs/connectkit/openConnector/launcher.native.js +158 -0
  67. package/dist/cjs/connectkit/openConnector/launcher.native.js.map +1 -0
  68. package/dist/cjs/connectkit/screens.cjs +1 -10
  69. package/dist/cjs/connectkit/screens.native.js +1 -12
  70. package/dist/cjs/connectkit/screens.native.js.map +1 -1
  71. package/dist/cjs/connectkit/siwe/SIWEProvider.cjs +4 -5
  72. package/dist/cjs/connectkit/siwe/SIWEProvider.native.js +4 -5
  73. package/dist/cjs/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  74. package/dist/cjs/connectkit/siwe/connectIntent.cjs +9 -5
  75. package/dist/cjs/connectkit/siwe/connectIntent.native.js +10 -3
  76. package/dist/cjs/connectkit/siwe/connectIntent.native.js.map +1 -1
  77. package/dist/cjs/connectkit/useWeb3Modal.cjs +21 -0
  78. package/dist/cjs/connectkit/useWeb3Modal.native.js +22 -0
  79. package/dist/cjs/connectkit/useWeb3Modal.native.js.map +1 -1
  80. package/dist/cjs/connectkit/web3Bridge.cjs +4 -1
  81. package/dist/cjs/connectkit/web3Bridge.native.js +4 -1
  82. package/dist/cjs/connectkit/web3Bridge.native.js.map +1 -1
  83. package/dist/cjs/connectkit/web3Provider.native.js.map +1 -1
  84. package/dist/cjs/index.cjs +2 -1
  85. package/dist/cjs/index.native.js +1 -0
  86. package/dist/cjs/index.native.js.map +1 -1
  87. package/dist/cjs/solana.cjs +41 -0
  88. package/dist/cjs/solana.native.js +44 -0
  89. package/dist/cjs/solana.native.js.map +1 -0
  90. package/dist/esm/clients/adapter.mjs +8 -0
  91. package/dist/esm/clients/adapter.mjs.map +1 -0
  92. package/dist/esm/clients/adapter.native.js +8 -0
  93. package/dist/esm/clients/adapter.native.js.map +1 -0
  94. package/dist/esm/clients/bitcoin.mjs +21 -0
  95. package/dist/esm/clients/bitcoin.mjs.map +1 -0
  96. package/dist/esm/clients/bitcoin.native.js +23 -0
  97. package/dist/esm/clients/bitcoin.native.js.map +1 -0
  98. package/dist/esm/clients/connector.mjs +20 -0
  99. package/dist/esm/clients/connector.mjs.map +1 -0
  100. package/dist/esm/clients/connector.native.js +21 -0
  101. package/dist/esm/clients/connector.native.js.map +1 -0
  102. package/dist/esm/clients/evm.mjs +146 -0
  103. package/dist/esm/clients/evm.mjs.map +1 -0
  104. package/dist/esm/clients/evm.native.js +170 -0
  105. package/dist/esm/clients/evm.native.js.map +1 -0
  106. package/dist/esm/clients/gpg.mjs +3 -0
  107. package/dist/esm/clients/gpg.mjs.map +1 -0
  108. package/dist/esm/clients/gpg.native.js +3 -0
  109. package/dist/esm/clients/gpg.native.js.map +1 -0
  110. package/dist/esm/clients/hooks.mjs +51 -0
  111. package/dist/esm/clients/hooks.mjs.map +1 -0
  112. package/dist/esm/clients/hooks.native.js +55 -0
  113. package/dist/esm/clients/hooks.native.js.map +1 -0
  114. package/dist/esm/clients/index.mjs +11 -0
  115. package/dist/esm/clients/index.mjs.map +1 -0
  116. package/dist/esm/clients/index.native.js +11 -0
  117. package/dist/esm/clients/index.native.js.map +1 -0
  118. package/dist/esm/clients/solana.mjs +289 -0
  119. package/dist/esm/clients/solana.mjs.map +1 -0
  120. package/dist/esm/clients/solana.native.js +475 -0
  121. package/dist/esm/clients/solana.native.js.map +1 -0
  122. package/dist/esm/clients/solanaMessage.mjs +13 -0
  123. package/dist/esm/clients/solanaMessage.mjs.map +1 -0
  124. package/dist/esm/clients/solanaMessage.native.js +16 -0
  125. package/dist/esm/clients/solanaMessage.native.js.map +1 -0
  126. package/dist/esm/clients/sui.mjs +21 -0
  127. package/dist/esm/clients/sui.mjs.map +1 -0
  128. package/dist/esm/clients/sui.native.js +23 -0
  129. package/dist/esm/clients/sui.native.js.map +1 -0
  130. package/dist/esm/clients/types.mjs +12 -0
  131. package/dist/esm/clients/types.mjs.map +1 -0
  132. package/dist/esm/clients/types.native.js +132 -0
  133. package/dist/esm/clients/types.native.js.map +1 -0
  134. package/dist/esm/clients/useSolanaClient.mjs +25 -0
  135. package/dist/esm/clients/useSolanaClient.mjs.map +1 -0
  136. package/dist/esm/clients/useSolanaClient.native.js +29 -0
  137. package/dist/esm/clients/useSolanaClient.native.js.map +1 -0
  138. package/dist/esm/clients/walletStandard.mjs +33 -0
  139. package/dist/esm/clients/walletStandard.mjs.map +1 -0
  140. package/dist/esm/clients/walletStandard.native.js +38 -0
  141. package/dist/esm/clients/walletStandard.native.js.map +1 -0
  142. package/dist/esm/connectkit/components/Common/ConnectorList/index.mjs +34 -6
  143. package/dist/esm/connectkit/components/Common/ConnectorList/index.mjs.map +1 -1
  144. package/dist/esm/connectkit/components/Common/ConnectorList/index.native.js +39 -6
  145. package/dist/esm/connectkit/components/Common/ConnectorList/index.native.js.map +1 -1
  146. package/dist/esm/connectkit/components/ConnectButton/index.mjs +5 -0
  147. package/dist/esm/connectkit/components/ConnectButton/index.mjs.map +1 -1
  148. package/dist/esm/connectkit/components/ConnectButton/index.native.js +5 -0
  149. package/dist/esm/connectkit/components/ConnectButton/index.native.js.map +1 -1
  150. package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/index.mjs +9 -4
  151. package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/index.mjs.map +1 -1
  152. package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js +12 -7
  153. package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js.map +1 -1
  154. package/dist/esm/connectkit/connectors/walletAdapterConnector.mjs +2 -0
  155. package/dist/esm/connectkit/connectors/walletAdapterConnector.mjs.map +1 -1
  156. package/dist/esm/connectkit/connectors/walletAdapterConnector.native.js +2 -0
  157. package/dist/esm/connectkit/connectors/walletAdapterConnector.native.js.map +1 -1
  158. package/dist/esm/connectkit/index.mjs +3 -1
  159. package/dist/esm/connectkit/index.mjs.map +1 -1
  160. package/dist/esm/connectkit/index.native.js +3 -1
  161. package/dist/esm/connectkit/index.native.js.map +1 -1
  162. package/dist/esm/connectkit/openConnector/context.mjs +118 -0
  163. package/dist/esm/connectkit/openConnector/context.mjs.map +1 -0
  164. package/dist/esm/connectkit/openConnector/context.native.js +146 -0
  165. package/dist/esm/connectkit/openConnector/context.native.js.map +1 -0
  166. package/dist/esm/connectkit/openConnector/device.mjs +16 -0
  167. package/dist/esm/connectkit/openConnector/device.mjs.map +1 -0
  168. package/dist/esm/connectkit/openConnector/device.native.js +22 -0
  169. package/dist/esm/connectkit/openConnector/device.native.js.map +1 -0
  170. package/dist/esm/connectkit/openConnector/index.mjs +4 -0
  171. package/dist/esm/connectkit/openConnector/index.mjs.map +1 -0
  172. package/dist/esm/connectkit/openConnector/index.native.js +4 -0
  173. package/dist/esm/connectkit/openConnector/index.native.js.map +1 -0
  174. package/dist/esm/connectkit/openConnector/launcher.mjs +106 -0
  175. package/dist/esm/connectkit/openConnector/launcher.mjs.map +1 -0
  176. package/dist/esm/connectkit/openConnector/launcher.native.js +128 -0
  177. package/dist/esm/connectkit/openConnector/launcher.native.js.map +1 -0
  178. package/dist/esm/connectkit/screens.mjs +2 -11
  179. package/dist/esm/connectkit/screens.mjs.map +1 -1
  180. package/dist/esm/connectkit/screens.native.js +2 -13
  181. package/dist/esm/connectkit/screens.native.js.map +1 -1
  182. package/dist/esm/connectkit/siwe/SIWEProvider.mjs +4 -5
  183. package/dist/esm/connectkit/siwe/SIWEProvider.mjs.map +1 -1
  184. package/dist/esm/connectkit/siwe/SIWEProvider.native.js +4 -5
  185. package/dist/esm/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  186. package/dist/esm/connectkit/siwe/connectIntent.mjs +9 -6
  187. package/dist/esm/connectkit/siwe/connectIntent.mjs.map +1 -1
  188. package/dist/esm/connectkit/siwe/connectIntent.native.js +10 -4
  189. package/dist/esm/connectkit/siwe/connectIntent.native.js.map +1 -1
  190. package/dist/esm/connectkit/useWeb3Modal.mjs +22 -1
  191. package/dist/esm/connectkit/useWeb3Modal.mjs.map +1 -1
  192. package/dist/esm/connectkit/useWeb3Modal.native.js +23 -1
  193. package/dist/esm/connectkit/useWeb3Modal.native.js.map +1 -1
  194. package/dist/esm/connectkit/web3Bridge.mjs +4 -1
  195. package/dist/esm/connectkit/web3Bridge.mjs.map +1 -1
  196. package/dist/esm/connectkit/web3Bridge.native.js +4 -1
  197. package/dist/esm/connectkit/web3Bridge.native.js.map +1 -1
  198. package/dist/esm/connectkit/web3Provider.mjs.map +1 -1
  199. package/dist/esm/connectkit/web3Provider.native.js.map +1 -1
  200. package/dist/esm/index.mjs +1 -0
  201. package/dist/esm/index.mjs.map +1 -1
  202. package/dist/esm/index.native.js +1 -0
  203. package/dist/esm/index.native.js.map +1 -1
  204. package/dist/esm/solana.mjs +5 -0
  205. package/dist/esm/solana.mjs.map +1 -0
  206. package/dist/esm/solana.native.js +5 -0
  207. package/dist/esm/solana.native.js.map +1 -0
  208. package/dist/jsx/clients/adapter.mjs +8 -0
  209. package/dist/jsx/clients/adapter.mjs.map +1 -0
  210. package/dist/jsx/clients/adapter.native.js +36 -0
  211. package/dist/jsx/clients/adapter.native.js.map +1 -0
  212. package/dist/jsx/clients/bitcoin.mjs +21 -0
  213. package/dist/jsx/clients/bitcoin.mjs.map +1 -0
  214. package/dist/jsx/clients/bitcoin.native.js +51 -0
  215. package/dist/jsx/clients/bitcoin.native.js.map +1 -0
  216. package/dist/jsx/clients/connector.mjs +20 -0
  217. package/dist/jsx/clients/connector.mjs.map +1 -0
  218. package/dist/jsx/clients/connector.native.js +49 -0
  219. package/dist/jsx/clients/connector.native.js.map +1 -0
  220. package/dist/jsx/clients/evm.mjs +146 -0
  221. package/dist/jsx/clients/evm.mjs.map +1 -0
  222. package/dist/jsx/clients/evm.native.js +198 -0
  223. package/dist/jsx/clients/evm.native.js.map +1 -0
  224. package/dist/jsx/clients/gpg.mjs +3 -0
  225. package/dist/jsx/clients/gpg.mjs.map +1 -0
  226. package/dist/jsx/clients/gpg.native.js +34 -0
  227. package/dist/jsx/clients/gpg.native.js.map +1 -0
  228. package/dist/jsx/clients/hooks.mjs +51 -0
  229. package/dist/jsx/clients/hooks.mjs.map +1 -0
  230. package/dist/jsx/clients/hooks.native.js +85 -0
  231. package/dist/jsx/clients/hooks.native.js.map +1 -0
  232. package/dist/jsx/clients/index.mjs +11 -0
  233. package/dist/jsx/clients/index.mjs.map +1 -0
  234. package/dist/jsx/clients/index.native.js +52 -0
  235. package/dist/jsx/clients/index.native.js.map +1 -0
  236. package/dist/jsx/clients/solana.mjs +289 -0
  237. package/dist/jsx/clients/solana.mjs.map +1 -0
  238. package/dist/jsx/clients/solana.native.js +511 -0
  239. package/dist/jsx/clients/solana.native.js.map +1 -0
  240. package/dist/jsx/clients/solanaMessage.mjs +13 -0
  241. package/dist/jsx/clients/solanaMessage.mjs.map +1 -0
  242. package/dist/jsx/clients/solanaMessage.native.js +44 -0
  243. package/dist/jsx/clients/solanaMessage.native.js.map +1 -0
  244. package/dist/jsx/clients/sui.mjs +21 -0
  245. package/dist/jsx/clients/sui.mjs.map +1 -0
  246. package/dist/jsx/clients/sui.native.js +51 -0
  247. package/dist/jsx/clients/sui.native.js.map +1 -0
  248. package/dist/jsx/clients/types.mjs +12 -0
  249. package/dist/jsx/clients/types.mjs.map +1 -0
  250. package/dist/jsx/clients/types.native.js +160 -0
  251. package/dist/jsx/clients/types.native.js.map +1 -0
  252. package/dist/jsx/clients/useSolanaClient.mjs +25 -0
  253. package/dist/jsx/clients/useSolanaClient.mjs.map +1 -0
  254. package/dist/jsx/clients/useSolanaClient.native.js +57 -0
  255. package/dist/jsx/clients/useSolanaClient.native.js.map +1 -0
  256. package/dist/jsx/clients/walletStandard.mjs +33 -0
  257. package/dist/jsx/clients/walletStandard.mjs.map +1 -0
  258. package/dist/jsx/clients/walletStandard.native.js +71 -0
  259. package/dist/jsx/clients/walletStandard.native.js.map +1 -0
  260. package/dist/jsx/connectkit/components/Common/ConnectorList/index.mjs +34 -6
  261. package/dist/jsx/connectkit/components/Common/ConnectorList/index.mjs.map +1 -1
  262. package/dist/jsx/connectkit/components/Common/ConnectorList/index.native.js +38 -5
  263. package/dist/jsx/connectkit/components/Common/ConnectorList/index.native.js.map +1 -1
  264. package/dist/jsx/connectkit/components/ConnectButton/index.mjs +5 -0
  265. package/dist/jsx/connectkit/components/ConnectButton/index.mjs.map +1 -1
  266. package/dist/jsx/connectkit/components/ConnectButton/index.native.js +5 -0
  267. package/dist/jsx/connectkit/components/ConnectButton/index.native.js.map +1 -1
  268. package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/index.mjs +9 -4
  269. package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/index.mjs.map +1 -1
  270. package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js +12 -7
  271. package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js.map +1 -1
  272. package/dist/jsx/connectkit/connectors/walletAdapterConnector.mjs +2 -0
  273. package/dist/jsx/connectkit/connectors/walletAdapterConnector.mjs.map +1 -1
  274. package/dist/jsx/connectkit/connectors/walletAdapterConnector.native.js +2 -0
  275. package/dist/jsx/connectkit/connectors/walletAdapterConnector.native.js.map +1 -1
  276. package/dist/jsx/connectkit/index.mjs +3 -1
  277. package/dist/jsx/connectkit/index.mjs.map +1 -1
  278. package/dist/jsx/connectkit/index.native.js +5 -0
  279. package/dist/jsx/connectkit/index.native.js.map +1 -1
  280. package/dist/jsx/connectkit/openConnector/context.mjs +118 -0
  281. package/dist/jsx/connectkit/openConnector/context.mjs.map +1 -0
  282. package/dist/jsx/connectkit/openConnector/context.native.js +188 -0
  283. package/dist/jsx/connectkit/openConnector/context.native.js.map +1 -0
  284. package/dist/jsx/connectkit/openConnector/device.mjs +16 -0
  285. package/dist/jsx/connectkit/openConnector/device.mjs.map +1 -0
  286. package/dist/jsx/connectkit/openConnector/device.native.js +51 -0
  287. package/dist/jsx/connectkit/openConnector/device.native.js.map +1 -0
  288. package/dist/jsx/connectkit/openConnector/index.mjs +4 -0
  289. package/dist/jsx/connectkit/openConnector/index.mjs.map +1 -0
  290. package/dist/jsx/connectkit/openConnector/index.native.js +38 -0
  291. package/dist/jsx/connectkit/openConnector/index.native.js.map +1 -0
  292. package/dist/jsx/connectkit/openConnector/launcher.mjs +106 -0
  293. package/dist/jsx/connectkit/openConnector/launcher.mjs.map +1 -0
  294. package/dist/jsx/connectkit/openConnector/launcher.native.js +158 -0
  295. package/dist/jsx/connectkit/openConnector/launcher.native.js.map +1 -0
  296. package/dist/jsx/connectkit/screens.mjs +2 -11
  297. package/dist/jsx/connectkit/screens.mjs.map +1 -1
  298. package/dist/jsx/connectkit/screens.native.js +1 -12
  299. package/dist/jsx/connectkit/screens.native.js.map +1 -1
  300. package/dist/jsx/connectkit/siwe/SIWEProvider.mjs +4 -5
  301. package/dist/jsx/connectkit/siwe/SIWEProvider.mjs.map +1 -1
  302. package/dist/jsx/connectkit/siwe/SIWEProvider.native.js +4 -5
  303. package/dist/jsx/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  304. package/dist/jsx/connectkit/siwe/connectIntent.mjs +9 -6
  305. package/dist/jsx/connectkit/siwe/connectIntent.mjs.map +1 -1
  306. package/dist/jsx/connectkit/siwe/connectIntent.native.js +10 -3
  307. package/dist/jsx/connectkit/siwe/connectIntent.native.js.map +1 -1
  308. package/dist/jsx/connectkit/useWeb3Modal.mjs +22 -1
  309. package/dist/jsx/connectkit/useWeb3Modal.mjs.map +1 -1
  310. package/dist/jsx/connectkit/useWeb3Modal.native.js +22 -0
  311. package/dist/jsx/connectkit/useWeb3Modal.native.js.map +1 -1
  312. package/dist/jsx/connectkit/web3Bridge.mjs +4 -1
  313. package/dist/jsx/connectkit/web3Bridge.mjs.map +1 -1
  314. package/dist/jsx/connectkit/web3Bridge.native.js +4 -1
  315. package/dist/jsx/connectkit/web3Bridge.native.js.map +1 -1
  316. package/dist/jsx/connectkit/web3Provider.mjs.map +1 -1
  317. package/dist/jsx/connectkit/web3Provider.native.js.map +1 -1
  318. package/dist/jsx/index.js +1 -0
  319. package/dist/jsx/index.js.map +1 -1
  320. package/dist/jsx/index.mjs +1 -0
  321. package/dist/jsx/index.mjs.map +1 -1
  322. package/dist/jsx/index.native.js +1 -0
  323. package/dist/jsx/index.native.js.map +1 -1
  324. package/dist/jsx/solana.mjs +5 -0
  325. package/dist/jsx/solana.mjs.map +1 -0
  326. package/dist/jsx/solana.native.js +44 -0
  327. package/dist/jsx/solana.native.js.map +1 -0
  328. package/package.json +14 -6
  329. package/src/clients/adapter.ts +13 -0
  330. package/src/clients/bitcoin.ts +42 -0
  331. package/src/clients/connector.spec.ts +78 -0
  332. package/src/clients/connector.ts +36 -0
  333. package/src/clients/evm.spec.ts +265 -0
  334. package/src/clients/evm.ts +223 -0
  335. package/src/clients/gpg.spec.ts +169 -0
  336. package/src/clients/gpg.ts +8 -0
  337. package/src/clients/hooks.spec.tsx +113 -0
  338. package/src/clients/hooks.ts +51 -0
  339. package/src/clients/index.ts +40 -0
  340. package/src/clients/solana.spec.ts +444 -0
  341. package/src/clients/solana.ts +465 -0
  342. package/src/clients/solanaMessage.ts +34 -0
  343. package/src/clients/sui.ts +42 -0
  344. package/src/clients/types.ts +40 -0
  345. package/src/clients/useSolanaClient.ts +31 -0
  346. package/src/clients/walletStandard.ts +87 -0
  347. package/src/connectkit/components/Common/ConnectorList/index.tsx +30 -2
  348. package/src/connectkit/components/ConnectButton/index.tsx +5 -0
  349. package/src/connectkit/components/ConnectModal/ConnectWithInjector/index.tsx +13 -8
  350. package/src/connectkit/connectors/walletAdapterConnector.ts +2 -0
  351. package/src/connectkit/index.ts +8 -0
  352. package/src/connectkit/openConnector/context.tsx +176 -0
  353. package/src/connectkit/openConnector/device.spec.ts +86 -0
  354. package/src/connectkit/openConnector/device.ts +37 -0
  355. package/src/connectkit/openConnector/index.ts +18 -0
  356. package/src/connectkit/openConnector/launcher.spec.ts +325 -0
  357. package/src/connectkit/openConnector/launcher.ts +203 -0
  358. package/src/connectkit/openConnector/modal.spec.tsx +330 -0
  359. package/src/connectkit/screens.tsx +2 -11
  360. package/src/connectkit/siwe/SIWEProvider.spec.tsx +112 -0
  361. package/src/connectkit/siwe/SIWEProvider.tsx +6 -10
  362. package/src/connectkit/siwe/connectIntent.spec.ts +90 -0
  363. package/src/connectkit/siwe/connectIntent.ts +19 -6
  364. package/src/connectkit/useWeb3Modal.ts +25 -1
  365. package/src/connectkit/web3Bridge.tsx +4 -1
  366. package/src/connectkit/web3Provider.tsx +4 -1
  367. package/src/index.ts +4 -0
  368. package/src/solana.ts +30 -0
  369. package/types/clients/adapter.d.ts +5 -0
  370. package/types/clients/adapter.d.ts.map +1 -0
  371. package/types/clients/bitcoin.d.ts +21 -0
  372. package/types/clients/bitcoin.d.ts.map +1 -0
  373. package/types/clients/connector.d.ts +14 -0
  374. package/types/clients/connector.d.ts.map +1 -0
  375. package/types/clients/evm.d.ts +68 -0
  376. package/types/clients/evm.d.ts.map +1 -0
  377. package/types/clients/gpg.d.ts +2 -0
  378. package/types/clients/gpg.d.ts.map +1 -0
  379. package/types/clients/hooks.d.ts +16 -0
  380. package/types/clients/hooks.d.ts.map +1 -0
  381. package/types/clients/index.d.ts +10 -0
  382. package/types/clients/index.d.ts.map +1 -0
  383. package/types/clients/solana.d.ts +111 -0
  384. package/types/clients/solana.d.ts.map +1 -0
  385. package/types/clients/solanaMessage.d.ts +18 -0
  386. package/types/clients/solanaMessage.d.ts.map +1 -0
  387. package/types/clients/sui.d.ts +21 -0
  388. package/types/clients/sui.d.ts.map +1 -0
  389. package/types/clients/types.d.ts +27 -0
  390. package/types/clients/types.d.ts.map +1 -0
  391. package/types/clients/useSolanaClient.d.ts +11 -0
  392. package/types/clients/useSolanaClient.d.ts.map +1 -0
  393. package/types/clients/walletStandard.d.ts +63 -0
  394. package/types/clients/walletStandard.d.ts.map +1 -0
  395. package/types/connectkit/components/Common/ConnectorList/index.d.ts.map +1 -1
  396. package/types/connectkit/components/ConnectButton/index.d.ts.map +1 -1
  397. package/types/connectkit/components/ConnectModal/ConnectWithInjector/index.d.ts.map +1 -1
  398. package/types/connectkit/connectors/walletAdapterConnector.d.ts.map +1 -1
  399. package/types/connectkit/index.d.ts +2 -0
  400. package/types/connectkit/index.d.ts.map +1 -1
  401. package/types/connectkit/openConnector/context.d.ts +48 -0
  402. package/types/connectkit/openConnector/context.d.ts.map +1 -0
  403. package/types/connectkit/openConnector/device.d.ts +18 -0
  404. package/types/connectkit/openConnector/device.d.ts.map +1 -0
  405. package/types/connectkit/openConnector/index.d.ts +3 -0
  406. package/types/connectkit/openConnector/index.d.ts.map +1 -0
  407. package/types/connectkit/openConnector/launcher.d.ts +64 -0
  408. package/types/connectkit/openConnector/launcher.d.ts.map +1 -0
  409. package/types/connectkit/screens.d.ts.map +1 -1
  410. package/types/connectkit/siwe/SIWEProvider.d.ts.map +1 -1
  411. package/types/connectkit/siwe/connectIntent.d.ts +8 -3
  412. package/types/connectkit/siwe/connectIntent.d.ts.map +1 -1
  413. package/types/connectkit/useWeb3Modal.d.ts +16 -0
  414. package/types/connectkit/useWeb3Modal.d.ts.map +1 -1
  415. package/types/connectkit/web3Bridge.d.ts.map +1 -1
  416. package/types/connectkit/web3Provider.d.ts +4 -1
  417. package/types/connectkit/web3Provider.d.ts.map +1 -1
  418. package/types/index.d.ts +1 -0
  419. package/types/index.d.ts.map +1 -1
  420. package/types/solana.d.ts +4 -0
  421. package/types/solana.d.ts.map +1 -0
@@ -0,0 +1,55 @@
1
+ import { useMemo } from "react";
2
+ import { useAccount, usePublicClient, useWalletClient } from "wagmi";
3
+ import { isSyntheticChainId } from "../connectkit/connectors/syntheticChains.native.js";
4
+ import { bitcoinClient } from "./bitcoin.native.js";
5
+ import { connectorAdapter } from "./adapter.native.js";
6
+ import { evmClient } from "./evm.native.js";
7
+ import { suiClient } from "./sui.native.js";
8
+ function useEvmClient() {
9
+ var parameters = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
10
+ var _ref;
11
+ var {
12
+ connector,
13
+ chainId: connectedChainId
14
+ } = useAccount();
15
+ var evm = !!connector && !connectorAdapter(connector) && !isSyntheticChainId(connectedChainId);
16
+ var {
17
+ data: walletClient
18
+ } = useWalletClient({
19
+ chainId: parameters.chainId,
20
+ query: {
21
+ enabled: evm
22
+ }
23
+ });
24
+ var publicClient = usePublicClient({
25
+ chainId: (_ref = walletClient === null || walletClient === void 0 ? void 0 : walletClient.chain.id) !== null && _ref !== void 0 ? _ref : parameters.chainId
26
+ });
27
+ return useMemo(function () {
28
+ return evm && walletClient && publicClient ? evmClient({
29
+ walletClient,
30
+ publicClient
31
+ }) : void 0;
32
+ }, [evm, walletClient, publicClient]);
33
+ }
34
+ function useSuiClient() {
35
+ var {
36
+ connector,
37
+ address
38
+ } = useAccount();
39
+ return useMemo(function () {
40
+ var adapter = connectorAdapter(connector, "sui");
41
+ return (adapter === null || adapter === void 0 ? void 0 : adapter.address) ? suiClient(adapter) : void 0;
42
+ }, [connector, address]);
43
+ }
44
+ function useBitcoinClient() {
45
+ var {
46
+ connector,
47
+ address
48
+ } = useAccount();
49
+ return useMemo(function () {
50
+ var adapter = connectorAdapter(connector, "bitcoin");
51
+ return (adapter === null || adapter === void 0 ? void 0 : adapter.address) ? bitcoinClient(adapter) : void 0;
52
+ }, [connector, address]);
53
+ }
54
+ export { useBitcoinClient, useEvmClient, useSuiClient };
55
+ //# sourceMappingURL=hooks.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","useAccount","usePublicClient","useWalletClient","isSyntheticChainId","bitcoinClient","connectorAdapter","evmClient","suiClient","useEvmClient","parameters","arguments","length","_ref","connector","chainId","connectedChainId","evm","data","walletClient","query","enabled","publicClient","chain","id","useSuiClient","address","adapter"],"sources":["../../../src/clients/hooks.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,OAAA,QAAe;AACxB,SAASC,UAAA,EAAYC,eAAA,EAAiBC,eAAA,QAAuB;AAC7D,SAASC,kBAAA,QAA0B;AACnC,SAASC,aAAA,QAAyC;AAClD,SAASC,gBAAA,QAAwB;AACjC,SAASC,SAAA,QAAuD;AAChE,SAASC,SAAA,QAAiC;AAQnC,SAASC,aAAA,EAAa;EAC3B,IAAAC,UAAQ,GAAAC,SAAW,CAAAC,MAAS,QAAAD,SAAqB,aAAW,IAAAA,SAAA;EAC5D,IAAAE,IAAM;EACN;IAAMC,SAAQ;IAAAC,OAAA,EAAAC;EAAiB,IAAgBf,UAAA;EAAA,IAC7CgB,GAAA,IAAS,CAAAH,SAAA,IAAW,CAAAR,gBAAA,CAAAQ,SAAA,MAAAV,kBAAA,CAAAY,gBAAA;EAAA,IACpB;IAAAE,IAAO,EAAEC;EAAa,IAAAhB,eAAA;IACvBY,OAAA,EAAAL,UAAA,CAAAK,OAAA;IACDK,KAAM;MACNC,OAAO,EAAAJ;IACL;EAEgB;EACR,IACAK,YAAA,GAAApB,eAAA;IACFa,OACA,GAAAF,IAAA,GAAAM,YAAA,aAAAA,YAAA,uBAAAA,YAAA,CAAAI,KAAA,CAAAC,EAAA,cAAAX,IAAA,cAAAA,IAAA,GAAAH,UAAA,CAAAK;EAAA,EACN;EACF,OAAAf,OAAA;IACF,OAAAiB,GAAA,IAAAE,YAAA,IAAAG,YAAA,GAAAf,SAAA;MAGOY,YAAS;MACdG;IACA,KAAO;EACL,IACAL,GAAA,EACFE,YAAI,EACNG,YAAA,CAGO;AACL;AACA,SAAOG,YAAQA,CAAA,EAAM;EACnB;IAAAX,SAAM;IAAAY;EAAU,IAAAzB,UAAiB;EACjC,OAAAD,OAAO,aAAS;IAClB,IAAI2B,OAAA,GAAWrB,gBAAQ,CAAAQ,SAAA;IACzB,QAAAa,OAAA,aAAAA,OAAA,uBAAAA,OAAA,CAAAD,OAAA,IAAAlB,SAAA,CAAAmB,OAAA","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import { UnsupportedClientMethodError } from "./types.mjs";
2
+ import { evmClient } from "./evm.mjs";
3
+ import { suiClient } from "./sui.mjs";
4
+ import { bitcoinClient } from "./bitcoin.mjs";
5
+ import { assertGpgSignature, createGpgSigner, gpgSignCommand, useGpgSigner } from "./gpg.mjs";
6
+ import { connectorAdapter } from "./adapter.mjs";
7
+ import { clientForConnector } from "./connector.mjs";
8
+ import { solanaMessageClient } from "./solanaMessage.mjs";
9
+ import { useBitcoinClient, useEvmClient, useSuiClient } from "./hooks.mjs";
10
+ export { UnsupportedClientMethodError, assertGpgSignature, bitcoinClient, clientForConnector, connectorAdapter, createGpgSigner, evmClient, gpgSignCommand, solanaMessageClient, suiClient, useBitcoinClient, useEvmClient, useGpgSigner, useSuiClient };
11
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["UnsupportedClientMethodError","evmClient","suiClient","bitcoinClient","assertGpgSignature","createGpgSigner","gpgSignCommand","useGpgSigner","connectorAdapter","clientForConnector","solanaMessageClient","useBitcoinClient","useEvmClient","useSuiClient"],"sources":["../../../src/clients/index.ts"],"sourcesContent":[null],"mappings":"AAMA,SACEA,4BAAA,QAIK;AACP,SACEC,SAAA,QAOK;AACP,SAASC,SAAA,QAAiC;AAC1C,SAASC,aAAA,QAAyC;AAClD,SACEC,kBAAA,EACAC,eAAA,EACAC,cAAA,EACAC,YAAA,QAGK;AACP,SAASC,gBAAA,QAAwB;AACjC,SAASC,kBAAA,QAA0E;AACnF,SACEC,mBAAA,QAIK;AACP,SAASC,gBAAA,EAAkBC,YAAA,EAAcC,YAAA,QAAoB","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import { UnsupportedClientMethodError } from "./types.native.js";
2
+ import { evmClient } from "./evm.native.js";
3
+ import { suiClient } from "./sui.native.js";
4
+ import { bitcoinClient } from "./bitcoin.native.js";
5
+ import { assertGpgSignature, createGpgSigner, gpgSignCommand, useGpgSigner } from "./gpg.native.js";
6
+ import { connectorAdapter } from "./adapter.native.js";
7
+ import { clientForConnector } from "./connector.native.js";
8
+ import { solanaMessageClient } from "./solanaMessage.native.js";
9
+ import { useBitcoinClient, useEvmClient, useSuiClient } from "./hooks.native.js";
10
+ export { UnsupportedClientMethodError, assertGpgSignature, bitcoinClient, clientForConnector, connectorAdapter, createGpgSigner, evmClient, gpgSignCommand, solanaMessageClient, suiClient, useBitcoinClient, useEvmClient, useGpgSigner, useSuiClient };
11
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["UnsupportedClientMethodError","evmClient","suiClient","bitcoinClient","assertGpgSignature","createGpgSigner","gpgSignCommand","useGpgSigner","connectorAdapter","clientForConnector","solanaMessageClient","useBitcoinClient","useEvmClient","useSuiClient"],"sources":["../../../src/clients/index.ts"],"sourcesContent":[null],"mappings":"AAMA,SAAAA,4BAAA;AAAA,SACEC,SAAA;AAAA,SAIKC,SAAA;AACP,SAAAC,aAAA;AAAA,SACEC,kBAAA,EAAAC,eAAA,EAAAC,cAAA,EAAAC,YAAA;AAAA,SAOKC,gBAAA;AACP,SAASC,kBAAiC;AAC1C,SAASC,mBAAA,QAAyC;AAClD,SAAAC,gBAAA,EAAAC,YAAA,EAAAC,YAAA;AAAA,SAEEb,4BAAA,EACAI,kBAAA,EACAD,aAAA,EAAAM,kBAGK,EACPD,gBAAS,EACTH,eAAS,EACTJ,SAAA,EACEK,cAAA,EAAAI,mBAIK,EACPR,SAAS,E","ignoreList":[]}
@@ -0,0 +1,289 @@
1
+ import { AccountRole, address, appendTransactionMessageInstruction, compileTransaction, createSolanaRpc, createTransactionMessage, getBase58Decoder, getBase58Encoder, getBase64EncodedWireTransaction, getTransactionDecoder, getTransactionEncoder, pipe, setTransactionMessageFeePayer, setTransactionMessageLifetimeUsingBlockhash } from "@solana/kit";
2
+ import { UnsupportedClientMethodError } from "./types.mjs";
3
+ import { getSolanaWallets, SolanaSignAndSendTransaction, SolanaSignMessage, SolanaSignTransaction, StandardConnect } from "./walletStandard.mjs";
4
+ const solanaRpcUrls = {
5
+ "solana:mainnet": "https://api.mainnet-beta.solana.com",
6
+ "solana:devnet": "https://api.devnet.solana.com",
7
+ "solana:testnet": "https://api.testnet.solana.com",
8
+ "solana:localnet": "http://127.0.0.1:8899"
9
+ };
10
+ function solanaChainFromRpcUrl(rpcUrl) {
11
+ if (!rpcUrl) return "solana:mainnet";
12
+ if (/devnet/i.test(rpcUrl)) return "solana:devnet";
13
+ if (/testnet/i.test(rpcUrl)) return "solana:testnet";
14
+ if (/\/\/(localhost|127\.0\.0\.1|10\.0\.2\.2|\[::1\])[:/]/i.test(rpcUrl)) return "solana:localnet";
15
+ return "solana:mainnet";
16
+ }
17
+ class SolanaConfirmationError extends Error {
18
+ constructor(signature, reason, detail) {
19
+ const mayStillLand = reason === "timeout";
20
+ super(`solana transaction ${signature} ${detail}; ${mayStillLand ? "it may still land, so do not resend it until its blockhash expires" : "it will not land, so it is safe to retry"}`);
21
+ this.signature = signature;
22
+ this.reason = reason;
23
+ this.name = "SolanaConfirmationError";
24
+ this.mayStillLand = mayStillLand;
25
+ }
26
+ signature;
27
+ reason;
28
+ mayStillLand;
29
+ }
30
+ const capabilities = ["signMessage", "signTransaction", "signAndSendTransaction", "sendTransaction"];
31
+ const systemProgram = address("11111111111111111111111111111111");
32
+ const maxU64 = 0xffffffffffffffffn;
33
+ function transferSolInstruction(from, to, lamports) {
34
+ if (lamports < 0n || lamports > maxU64) {
35
+ throw new RangeError(`lamports must fit a u64, got ${lamports}`);
36
+ }
37
+ const data = new Uint8Array(12);
38
+ data[0] = 2;
39
+ let value = lamports;
40
+ for (let i = 4; i < 12; i++) {
41
+ data[i] = Number(value & 0xffn);
42
+ value >>= 8n;
43
+ }
44
+ return {
45
+ programAddress: systemProgram,
46
+ accounts: [{
47
+ address: from,
48
+ role: AccountRole.WRITABLE_SIGNER
49
+ }, {
50
+ address: to,
51
+ role: AccountRole.WRITABLE
52
+ }],
53
+ data
54
+ };
55
+ }
56
+ const toWire = transaction => transaction instanceof Uint8Array ? transaction : Uint8Array.from(getTransactionEncoder().encode(transaction));
57
+ const fromWire = bytes => getTransactionDecoder().decode(bytes);
58
+ const toSignature = bytes => getBase58Decoder().decode(bytes);
59
+ const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));
60
+ const lastValidBlockHeightOf = transaction => {
61
+ if (transaction instanceof Uint8Array) return void 0;
62
+ const lifetime = transaction.lifetimeConstraint;
63
+ return lifetime?.lastValidBlockHeight;
64
+ };
65
+ const reached = (status, commitment) => status?.confirmationStatus === "finalized" || commitment === "confirmed" && status?.confirmationStatus === "confirmed";
66
+ function solanaClient(config) {
67
+ const {
68
+ signer
69
+ } = config;
70
+ const chain = config.chain ?? solanaChainFromRpcUrl(config.rpcUrl);
71
+ const rpc = config.rpc ?? createSolanaRpc(config.rpcUrl ?? solanaRpcUrls[chain]);
72
+ const owner = address(signer.address);
73
+ const signTransaction = async transaction => fromWire(await signer.signTransaction(toWire(transaction)));
74
+ const broadcast = transaction => {
75
+ const tx = transaction instanceof Uint8Array ? fromWire(transaction) : transaction;
76
+ return rpc.sendTransaction(getBase64EncodedWireTransaction(tx), {
77
+ encoding: "base64"
78
+ }).send();
79
+ };
80
+ const sendTransaction = async transaction => ({
81
+ signature: await broadcast(transaction),
82
+ lastValidBlockHeight: lastValidBlockHeightOf(transaction)
83
+ });
84
+ const signAndSendTransaction = async transaction => {
85
+ const lastValidBlockHeight = lastValidBlockHeightOf(transaction);
86
+ const wire = toWire(transaction);
87
+ if (signer.signAndSendTransaction) {
88
+ try {
89
+ const signature = toSignature(await signer.signAndSendTransaction(wire));
90
+ return {
91
+ signature,
92
+ lastValidBlockHeight
93
+ };
94
+ } catch (error) {
95
+ if (!(error instanceof UnsupportedClientMethodError)) throw error;
96
+ }
97
+ }
98
+ return {
99
+ signature: await broadcast(await signer.signTransaction(wire)),
100
+ lastValidBlockHeight
101
+ };
102
+ };
103
+ const statusOf = async signature => {
104
+ const {
105
+ value
106
+ } = await rpc.getSignatureStatuses([signature], {
107
+ searchTransactionHistory: true
108
+ }).send();
109
+ const status = value[0];
110
+ if (status?.err) {
111
+ throw new SolanaConfirmationError(signature, "failed", `failed on chain: ${JSON.stringify(status.err, (_, v) => typeof v === "bigint" ? `${v}` : v)}`);
112
+ }
113
+ return status;
114
+ };
115
+ return {
116
+ family: "solana",
117
+ address: owner,
118
+ chainId: chain,
119
+ capabilities,
120
+ rpc,
121
+ signer,
122
+ async signMessage(message) {
123
+ const bytes = typeof message === "string" ? new TextEncoder().encode(message) : message;
124
+ return getBase58Decoder().decode(await signer.signMessage(bytes));
125
+ },
126
+ signTransaction,
127
+ signAndSendTransaction,
128
+ sendTransaction,
129
+ async confirmTransaction(submission, options = {}) {
130
+ const {
131
+ signature,
132
+ lastValidBlockHeight: submitted
133
+ } = typeof submission === "string" ? {
134
+ signature: submission
135
+ } : submission;
136
+ const {
137
+ commitment = "confirmed",
138
+ lastValidBlockHeight = submitted,
139
+ timeoutMs = 9e4,
140
+ pollMs = 500
141
+ } = options;
142
+ const deadline = Date.now() + timeoutMs;
143
+ for (;;) {
144
+ if (reached(await statusOf(signature), commitment)) return;
145
+ if (lastValidBlockHeight !== void 0) {
146
+ const height = await rpc.getBlockHeight({
147
+ commitment
148
+ }).send();
149
+ if (height > lastValidBlockHeight) {
150
+ const status = await statusOf(signature);
151
+ if (reached(status, commitment)) return;
152
+ if (!status) {
153
+ throw new SolanaConfirmationError(signature, "expired", `expired: block height ${height} passed ${lastValidBlockHeight}`);
154
+ }
155
+ }
156
+ } else if (Date.now() > deadline) {
157
+ throw new SolanaConfirmationError(signature, "timeout", `not ${commitment} after ${timeoutMs}ms`);
158
+ }
159
+ await sleep(pollMs);
160
+ }
161
+ },
162
+ async getBalance(target) {
163
+ const {
164
+ value
165
+ } = await rpc.getBalance(target ? address(target) : owner).send();
166
+ return value;
167
+ },
168
+ async transferSol({
169
+ to,
170
+ lamports
171
+ }) {
172
+ const {
173
+ value: latestBlockhash
174
+ } = await rpc.getLatestBlockhash().send();
175
+ const message = pipe(createTransactionMessage({
176
+ version: 0
177
+ }), m => setTransactionMessageFeePayer(owner, m), m => setTransactionMessageLifetimeUsingBlockhash(latestBlockhash, m), m => appendTransactionMessageInstruction(transferSolInstruction(owner, address(to), lamports), m));
178
+ const {
179
+ signature
180
+ } = await signAndSendTransaction(compileTransaction(message));
181
+ return {
182
+ signature,
183
+ lastValidBlockHeight: latestBlockhash.lastValidBlockHeight
184
+ };
185
+ }
186
+ };
187
+ }
188
+ function walletFeature(wallet, name) {
189
+ const feature = wallet.features[name];
190
+ if (!feature) {
191
+ throw new UnsupportedClientMethodError("solana", name, `${wallet.name} does not implement it`);
192
+ }
193
+ return feature;
194
+ }
195
+ function standardSolanaSigner(wallet, account, chain = "solana:mainnet") {
196
+ const signer = {
197
+ address: account.address,
198
+ async signMessage(message) {
199
+ const feature = walletFeature(wallet, SolanaSignMessage);
200
+ const [output] = await feature.signMessage({
201
+ account,
202
+ message
203
+ });
204
+ return output.signature;
205
+ },
206
+ async signTransaction(transaction) {
207
+ const feature = walletFeature(wallet, SolanaSignTransaction);
208
+ const [output] = await feature.signTransaction({
209
+ account,
210
+ transaction,
211
+ chain
212
+ });
213
+ return output.signedTransaction;
214
+ }
215
+ };
216
+ if (wallet.features[SolanaSignAndSendTransaction]) {
217
+ signer.signAndSendTransaction = async transaction => {
218
+ const feature = walletFeature(wallet, SolanaSignAndSendTransaction);
219
+ const [output] = await feature.signAndSendTransaction({
220
+ account,
221
+ transaction,
222
+ chain
223
+ });
224
+ return output.signature;
225
+ };
226
+ }
227
+ return signer;
228
+ }
229
+ function findSolanaSigner(owner, chain) {
230
+ for (const wallet of getSolanaWallets()) {
231
+ const account = wallet.accounts.find(a => a.address === owner);
232
+ if (account) return standardSolanaSigner(wallet, account, chain);
233
+ }
234
+ return null;
235
+ }
236
+ async function connectSolanaWallet(options = {}) {
237
+ const wallets = getSolanaWallets();
238
+ const wallet = options.wallet ? wallets.find(w => w.name.toLowerCase() === options.wallet?.toLowerCase()) : wallets[0];
239
+ if (!wallet) {
240
+ throw new Error(options.wallet ? `No Solana wallet named ${options.wallet} is installed` : "No Solana wallet found. Install Phantom, Solflare or Backpack.");
241
+ }
242
+ const {
243
+ accounts
244
+ } = await walletFeature(wallet, StandardConnect).connect({
245
+ silent: options.silent
246
+ });
247
+ const chain = options.chain ?? "solana:mainnet";
248
+ const account = accounts.find(a => a.chains.includes(chain)) ?? accounts[0];
249
+ if (!account) throw new Error(`${wallet.name} returned no Solana account`);
250
+ return standardSolanaSigner(wallet, account, chain);
251
+ }
252
+ const utf8 = bytes => {
253
+ try {
254
+ return new TextDecoder("utf-8", {
255
+ fatal: true
256
+ }).decode(bytes);
257
+ } catch {
258
+ return null;
259
+ }
260
+ };
261
+ function injectedSolanaSigner(adapter, chain) {
262
+ const owner = adapter.address;
263
+ if (!owner) throw new Error("injectedSolanaSigner: connect a Solana wallet first");
264
+ const standard = method => {
265
+ const signer = findSolanaSigner(owner, chain);
266
+ if (!signer) {
267
+ throw new UnsupportedClientMethodError("solana", method, `no Wallet Standard wallet holds ${owner}; connect Phantom, Solflare or Backpack`);
268
+ }
269
+ return signer;
270
+ };
271
+ return {
272
+ address: owner,
273
+ async signMessage(message) {
274
+ const text = utf8(message);
275
+ if (text === null) return standard("signMessage").signMessage(message);
276
+ return Uint8Array.from(getBase58Encoder().encode(await adapter.signMessage(text)));
277
+ },
278
+ signTransaction: async transaction => standard("signTransaction").signTransaction(transaction),
279
+ async signAndSendTransaction(transaction) {
280
+ const signer = standard("signAndSendTransaction");
281
+ if (!signer.signAndSendTransaction) {
282
+ throw new UnsupportedClientMethodError("solana", "signAndSendTransaction");
283
+ }
284
+ return signer.signAndSendTransaction(transaction);
285
+ }
286
+ };
287
+ }
288
+ export { SolanaConfirmationError, connectSolanaWallet, findSolanaSigner, injectedSolanaSigner, solanaChainFromRpcUrl, solanaClient, solanaRpcUrls, standardSolanaSigner, transferSolInstruction };
289
+ //# sourceMappingURL=solana.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AccountRole","address","appendTransactionMessageInstruction","compileTransaction","createSolanaRpc","createTransactionMessage","getBase58Decoder","getBase58Encoder","getBase64EncodedWireTransaction","getTransactionDecoder","getTransactionEncoder","pipe","setTransactionMessageFeePayer","setTransactionMessageLifetimeUsingBlockhash","UnsupportedClientMethodError","getSolanaWallets","SolanaSignAndSendTransaction","SolanaSignMessage","SolanaSignTransaction","StandardConnect","solanaRpcUrls","solanaChainFromRpcUrl","rpcUrl","test","SolanaConfirmationError","Error","constructor","signature","reason","detail","mayStillLand","name","capabilities","systemProgram","maxU64","transferSolInstruction","from","to","lamports","RangeError","data","Uint8Array","value","i","Number","programAddress","accounts","role","WRITABLE_SIGNER","WRITABLE","toWire","transaction","encode","fromWire","bytes","decode","toSignature","sleep","ms","Promise","resolve","setTimeout","lastValidBlockHeightOf","lifetime","lifetimeConstraint","lastValidBlockHeight","reached","status","commitment","confirmationStatus","solanaClient","config","signer","chain","rpc","owner","signTransaction","broadcast","tx","sendTransaction","encoding","send","signAndSendTransaction","wire","error","statusOf","getSignatureStatuses","searchTransactionHistory","err","JSON","stringify","_","v","family","chainId","signMessage","message","TextEncoder","confirmTransaction","submission","options","submitted","timeoutMs","pollMs","deadline","Date","now","height","getBlockHeight","getBalance","target","transferSol","latestBlockhash","getLatestBlockhash","version","m","walletFeature","wallet","feature","features","standardSolanaSigner","account","output","signedTransaction","findSolanaSigner","find","a","connectSolanaWallet","wallets","w","toLowerCase","connect","silent","chains","includes","utf8","TextDecoder","fatal","injectedSolanaSigner","adapter","standard","method","text"],"sources":["../../../src/clients/solana.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}