@web3auth/no-modal 9.6.0 → 10.0.0-alpha.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 (351) hide show
  1. package/dist/757.noModal.cjs.js +226 -0
  2. package/dist/lib.cjs/adapters/auth-adapter/authAdapter.js +262 -0
  3. package/dist/lib.cjs/adapters/auth-adapter/config.js +17 -0
  4. package/dist/lib.cjs/adapters/base-evm-adapter/baseEvmAdapter.js +72 -0
  5. package/dist/lib.cjs/adapters/base-solana-adapter/baseSolanaAdapter.js +76 -0
  6. package/dist/lib.cjs/adapters/coinbase-adapter/coinbaseAdapter.js +156 -0
  7. package/dist/lib.cjs/adapters/default-evm-adapter/index.js +40 -0
  8. package/dist/lib.cjs/adapters/default-evm-adapter/injectedAdapters.js +42 -0
  9. package/dist/lib.cjs/adapters/default-evm-adapter/injectedEvmAdapter.js +160 -0
  10. package/dist/lib.cjs/adapters/default-solana-adapter/index.js +40 -0
  11. package/dist/lib.cjs/adapters/default-solana-adapter/injectedAdapters.js +53 -0
  12. package/dist/lib.cjs/adapters/default-solana-adapter/utils.js +16 -0
  13. package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardAdapter.js +138 -0
  14. package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardHandler.js +77 -0
  15. package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/WalletConnectV2Provider.js +278 -0
  16. package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/config.js +183 -0
  17. package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/walletConnectV2Utils.js +165 -0
  18. package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +376 -0
  19. package/dist/lib.cjs/base/adapter/baseAdapter.js +117 -0
  20. package/dist/lib.cjs/base/adapter/constants.js +24 -0
  21. package/dist/lib.cjs/base/adapter/utils.js +66 -0
  22. package/dist/lib.cjs/base/chain/IChainInterface.js +22 -0
  23. package/dist/lib.cjs/base/chain/config.js +281 -0
  24. package/dist/lib.cjs/base/composables/index.js +5 -0
  25. package/dist/lib.cjs/base/errors/index.js +244 -0
  26. package/dist/lib.cjs/base/loglevel.js +7 -0
  27. package/dist/lib.cjs/base/plugin/IPlugin.js +31 -0
  28. package/dist/lib.cjs/base/plugin/errors.js +107 -0
  29. package/dist/lib.cjs/base/provider/IProvider.js +8 -0
  30. package/dist/lib.cjs/base/utils.js +56 -0
  31. package/dist/lib.cjs/base/wallet/index.js +31 -0
  32. package/dist/lib.cjs/index.js +200 -0
  33. package/dist/lib.cjs/noModal.js +98 -90
  34. package/dist/lib.cjs/plugins/nft-checkout-plugin/embed.js +134 -0
  35. package/dist/lib.cjs/plugins/nft-checkout-plugin/enums.js +24 -0
  36. package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +71 -0
  37. package/dist/lib.cjs/plugins/nft-checkout-plugin/utils.js +18 -0
  38. package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +285 -0
  39. package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +164 -0
  40. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +29 -0
  41. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +22 -0
  42. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +30 -0
  43. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +30 -0
  44. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +29 -0
  45. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/constants.js +11 -0
  46. package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +134 -0
  47. package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +174 -0
  48. package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +79 -0
  49. package/dist/lib.cjs/providers/base-provider/baseProvider.js +127 -0
  50. package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +89 -0
  51. package/dist/lib.cjs/providers/base-provider/jrpcClient.js +41 -0
  52. package/dist/lib.cjs/providers/base-provider/utils.js +12 -0
  53. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +199 -0
  54. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +165 -0
  55. package/dist/lib.cjs/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +22 -0
  56. package/dist/lib.cjs/providers/ethereum-provider/providers/converter.js +89 -0
  57. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +185 -0
  58. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +27 -0
  59. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +380 -0
  60. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +10 -0
  61. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +94 -0
  62. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +106 -0
  63. package/dist/lib.cjs/providers/ethereum-provider/providers/utils.js +29 -0
  64. package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +75 -0
  65. package/dist/lib.cjs/providers/ethereum-provider/rpc/jrpcClient.js +41 -0
  66. package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMidddleware.js +179 -0
  67. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +51 -0
  68. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +47 -0
  69. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +12 -0
  70. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +75 -0
  71. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +109 -0
  72. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +12 -0
  73. package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +180 -0
  74. package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +103 -0
  75. package/dist/lib.cjs/providers/solana-provider/rpc/JrpcClient.js +47 -0
  76. package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +97 -0
  77. package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +62 -0
  78. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +158 -0
  79. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +89 -0
  80. package/dist/lib.cjs/providers/xrpl-provider/rpc/JrpcClient.js +48 -0
  81. package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +73 -0
  82. package/dist/lib.cjs/react/index.js +16 -0
  83. package/dist/lib.cjs/react/no-modal/Web3AuthInnerContext.js +216 -0
  84. package/dist/lib.cjs/react/no-modal/Web3AuthProvider.js +15 -0
  85. package/dist/lib.cjs/react/no-modal/hooks/useWeb3Auth.js +15 -0
  86. package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesContext.js +86 -0
  87. package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesProvider.js +16 -0
  88. package/dist/lib.cjs/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +15 -0
  89. package/dist/lib.cjs/vue/index.js +15 -0
  90. package/dist/lib.cjs/vue/no-modal/Web3AuthProvider.js +222 -0
  91. package/dist/lib.cjs/vue/no-modal/composables/useWeb3Auth.js +13 -0
  92. package/dist/lib.cjs/vue/wallet-services-plugin/WalletServicesProvider.js +86 -0
  93. package/dist/lib.cjs/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +13 -0
  94. package/dist/lib.cjs/vue/wallet-services-plugin/context.js +5 -0
  95. package/dist/lib.esm/adapters/auth-adapter/authAdapter.js +260 -0
  96. package/dist/lib.esm/adapters/auth-adapter/config.js +15 -0
  97. package/dist/lib.esm/adapters/base-evm-adapter/baseEvmAdapter.js +70 -0
  98. package/dist/lib.esm/adapters/base-solana-adapter/baseSolanaAdapter.js +74 -0
  99. package/dist/lib.esm/adapters/coinbase-adapter/coinbaseAdapter.js +154 -0
  100. package/dist/lib.esm/adapters/default-evm-adapter/index.js +37 -0
  101. package/dist/lib.esm/adapters/default-evm-adapter/injectedAdapters.js +40 -0
  102. package/dist/lib.esm/adapters/default-evm-adapter/injectedEvmAdapter.js +158 -0
  103. package/dist/lib.esm/adapters/default-solana-adapter/index.js +37 -0
  104. package/dist/lib.esm/adapters/default-solana-adapter/injectedAdapters.js +51 -0
  105. package/dist/lib.esm/adapters/default-solana-adapter/utils.js +14 -0
  106. package/dist/lib.esm/adapters/default-solana-adapter/walletStandardAdapter.js +136 -0
  107. package/dist/lib.esm/adapters/default-solana-adapter/walletStandardHandler.js +75 -0
  108. package/dist/lib.esm/adapters/wallet-connect-v2-adapter/WalletConnectV2Provider.js +276 -0
  109. package/dist/lib.esm/adapters/wallet-connect-v2-adapter/config.js +172 -0
  110. package/dist/lib.esm/adapters/wallet-connect-v2-adapter/walletConnectV2Utils.js +158 -0
  111. package/dist/lib.esm/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +374 -0
  112. package/dist/lib.esm/base/adapter/baseAdapter.js +115 -0
  113. package/dist/lib.esm/base/adapter/constants.js +20 -0
  114. package/dist/lib.esm/base/adapter/utils.js +60 -0
  115. package/dist/lib.esm/base/chain/IChainInterface.js +19 -0
  116. package/dist/lib.esm/base/chain/config.js +276 -0
  117. package/dist/lib.esm/base/composables/index.js +3 -0
  118. package/dist/lib.esm/base/errors/index.js +237 -0
  119. package/dist/lib.esm/base/loglevel.js +5 -0
  120. package/dist/lib.esm/base/plugin/IPlugin.js +24 -0
  121. package/dist/lib.esm/base/plugin/errors.js +104 -0
  122. package/dist/lib.esm/base/provider/IProvider.js +6 -0
  123. package/dist/lib.esm/base/utils.js +46 -0
  124. package/dist/lib.esm/base/wallet/index.js +25 -0
  125. package/dist/lib.esm/index.js +58 -0
  126. package/dist/lib.esm/noModal.js +12 -4
  127. package/dist/lib.esm/plugins/nft-checkout-plugin/embed.js +132 -0
  128. package/dist/lib.esm/plugins/nft-checkout-plugin/enums.js +20 -0
  129. package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +69 -0
  130. package/dist/lib.esm/plugins/nft-checkout-plugin/utils.js +15 -0
  131. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +276 -0
  132. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +162 -0
  133. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +27 -0
  134. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +20 -0
  135. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +28 -0
  136. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +28 -0
  137. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +27 -0
  138. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/constants.js +9 -0
  139. package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +132 -0
  140. package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +171 -0
  141. package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +77 -0
  142. package/dist/lib.esm/providers/base-provider/baseProvider.js +125 -0
  143. package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +87 -0
  144. package/dist/lib.esm/providers/base-provider/jrpcClient.js +37 -0
  145. package/dist/lib.esm/providers/base-provider/utils.js +6 -0
  146. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +197 -0
  147. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +163 -0
  148. package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +20 -0
  149. package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +85 -0
  150. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +183 -0
  151. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +21 -0
  152. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +378 -0
  153. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +8 -0
  154. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +88 -0
  155. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +104 -0
  156. package/dist/lib.esm/providers/ethereum-provider/providers/utils.js +24 -0
  157. package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +71 -0
  158. package/dist/lib.esm/providers/ethereum-provider/rpc/jrpcClient.js +37 -0
  159. package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +177 -0
  160. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +49 -0
  161. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +45 -0
  162. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +10 -0
  163. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +73 -0
  164. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +107 -0
  165. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +10 -0
  166. package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +178 -0
  167. package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +101 -0
  168. package/dist/lib.esm/providers/solana-provider/rpc/JrpcClient.js +42 -0
  169. package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +89 -0
  170. package/dist/lib.esm/providers/solana-provider/solanaWallet.js +60 -0
  171. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +156 -0
  172. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +87 -0
  173. package/dist/lib.esm/providers/xrpl-provider/rpc/JrpcClient.js +43 -0
  174. package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +67 -0
  175. package/dist/lib.esm/react/index.js +5 -0
  176. package/dist/lib.esm/react/no-modal/Web3AuthInnerContext.js +213 -0
  177. package/dist/lib.esm/react/no-modal/Web3AuthProvider.js +13 -0
  178. package/dist/lib.esm/react/no-modal/hooks/useWeb3Auth.js +13 -0
  179. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesContext.js +83 -0
  180. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesProvider.js +14 -0
  181. package/dist/lib.esm/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +13 -0
  182. package/dist/lib.esm/vue/index.js +5 -0
  183. package/dist/lib.esm/vue/no-modal/Web3AuthProvider.js +220 -0
  184. package/dist/lib.esm/vue/no-modal/composables/useWeb3Auth.js +11 -0
  185. package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +84 -0
  186. package/dist/lib.esm/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +11 -0
  187. package/dist/lib.esm/vue/wallet-services-plugin/context.js +3 -0
  188. package/dist/noModal.cjs.js +26314 -364
  189. package/dist/noModal.umd.min.js +1 -1
  190. package/dist/noModal.umd.min.js.LICENSE.txt +54 -0
  191. package/dist/types/adapters/auth-adapter/authAdapter.d.ts +42 -0
  192. package/dist/types/adapters/auth-adapter/config.d.ts +2 -0
  193. package/dist/types/adapters/auth-adapter/index.d.ts +3 -0
  194. package/dist/types/adapters/auth-adapter/interface.d.ts +11 -0
  195. package/dist/types/adapters/base-evm-adapter/baseEvmAdapter.d.ts +7 -0
  196. package/dist/types/adapters/base-evm-adapter/index.d.ts +1 -0
  197. package/dist/types/adapters/base-solana-adapter/baseSolanaAdapter.d.ts +7 -0
  198. package/dist/types/adapters/base-solana-adapter/index.d.ts +1 -0
  199. package/dist/types/adapters/coinbase-adapter/coinbaseAdapter.d.ts +33 -0
  200. package/dist/types/adapters/coinbase-adapter/index.d.ts +1 -0
  201. package/dist/types/adapters/default-evm-adapter/index.d.ts +6 -0
  202. package/dist/types/adapters/default-evm-adapter/injectedAdapters.d.ts +4 -0
  203. package/dist/types/adapters/default-evm-adapter/injectedEvmAdapter.d.ts +30 -0
  204. package/dist/types/adapters/default-solana-adapter/index.d.ts +6 -0
  205. package/dist/types/adapters/default-solana-adapter/injectedAdapters.d.ts +4 -0
  206. package/dist/types/adapters/default-solana-adapter/utils.d.ts +3 -0
  207. package/dist/types/adapters/default-solana-adapter/walletStandardAdapter.d.ts +31 -0
  208. package/dist/types/adapters/default-solana-adapter/walletStandardHandler.d.ts +27 -0
  209. package/dist/types/adapters/index.d.ts +7 -0
  210. package/dist/types/adapters/wallet-connect-v2-adapter/WalletConnectV2Provider.d.ts +36 -0
  211. package/dist/types/adapters/wallet-connect-v2-adapter/config.d.ts +35 -0
  212. package/dist/types/adapters/wallet-connect-v2-adapter/index.d.ts +4 -0
  213. package/dist/types/adapters/wallet-connect-v2-adapter/interface.d.ts +18 -0
  214. package/dist/types/adapters/wallet-connect-v2-adapter/utils.d.ts +3 -0
  215. package/dist/types/adapters/wallet-connect-v2-adapter/walletConnectV2Utils.d.ts +23 -0
  216. package/dist/types/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.d.ts +42 -0
  217. package/dist/types/base/adapter/baseAdapter.d.ts +44 -0
  218. package/dist/types/base/adapter/constants.d.ts +22 -0
  219. package/dist/types/base/adapter/index.d.ts +4 -0
  220. package/dist/types/base/adapter/interfaces.d.ts +143 -0
  221. package/dist/types/base/adapter/utils.d.ts +5 -0
  222. package/dist/types/base/chain/IChainInterface.d.ts +59 -0
  223. package/dist/types/base/chain/config.d.ts +5 -0
  224. package/dist/types/base/composables/index.d.ts +1 -0
  225. package/dist/types/base/core/IWeb3Auth.d.ts +101 -0
  226. package/dist/types/base/errors/index.d.ts +69 -0
  227. package/dist/types/base/hooks/index.d.ts +37 -0
  228. package/dist/types/base/index.d.ts +13 -0
  229. package/dist/types/base/interfaces.d.ts +44 -0
  230. package/dist/types/base/loglevel.d.ts +2 -0
  231. package/dist/types/base/plugin/IPlugin.d.ts +53 -0
  232. package/dist/types/base/plugin/errors.d.ts +28 -0
  233. package/dist/types/base/plugin/index.d.ts +2 -0
  234. package/dist/types/base/provider/IProvider.d.ts +16 -0
  235. package/dist/types/base/utils.d.ts +9 -0
  236. package/dist/types/base/wallet/index.d.ts +33 -0
  237. package/dist/types/index.d.ts +4 -0
  238. package/dist/types/noModal.d.ts +2 -2
  239. package/dist/types/plugins/index.d.ts +2 -0
  240. package/dist/types/plugins/nft-checkout-plugin/embed.d.ts +24 -0
  241. package/dist/types/plugins/nft-checkout-plugin/enums.d.ts +14 -0
  242. package/dist/types/plugins/nft-checkout-plugin/index.d.ts +2 -0
  243. package/dist/types/plugins/nft-checkout-plugin/plugin.d.ts +23 -0
  244. package/dist/types/plugins/nft-checkout-plugin/utils.d.ts +3 -0
  245. package/dist/types/plugins/wallet-services-plugin/index.d.ts +1 -0
  246. package/dist/types/plugins/wallet-services-plugin/plugin.d.ts +51 -0
  247. package/dist/types/providers/account-abstraction-provider/index.d.ts +1 -0
  248. package/dist/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +46 -0
  249. package/dist/types/providers/account-abstraction-provider/providers/index.d.ts +3 -0
  250. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.d.ts +14 -0
  251. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.d.ts +13 -0
  252. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/LightSmartAccount.d.ts +14 -0
  253. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.d.ts +14 -0
  254. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.d.ts +13 -0
  255. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SimpleSmartAccount.d.ts +13 -0
  256. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.d.ts +13 -0
  257. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/constants.d.ts +9 -0
  258. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +6 -0
  259. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/types.d.ts +22 -0
  260. package/dist/types/providers/account-abstraction-provider/providers/types.d.ts +17 -0
  261. package/dist/types/providers/account-abstraction-provider/providers/utils.d.ts +10 -0
  262. package/dist/types/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +8 -0
  263. package/dist/types/providers/account-abstraction-provider/rpc/index.d.ts +1 -0
  264. package/dist/types/providers/base-provider/CommonJRPCProvider.d.ts +20 -0
  265. package/dist/types/providers/base-provider/baseProvider.d.ts +39 -0
  266. package/dist/types/providers/base-provider/commonPrivateKeyProvider.d.ts +31 -0
  267. package/dist/types/providers/base-provider/index.d.ts +5 -0
  268. package/dist/types/providers/base-provider/interfaces.d.ts +3 -0
  269. package/dist/types/providers/base-provider/jrpcClient.d.ts +8 -0
  270. package/dist/types/providers/base-provider/utils.d.ts +2 -0
  271. package/dist/types/providers/ethereum-mpc-provider/index.d.ts +1 -0
  272. package/dist/types/providers/ethereum-mpc-provider/providers/index.d.ts +1 -0
  273. package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +65 -0
  274. package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/index.d.ts +1 -0
  275. package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.d.ts +12 -0
  276. package/dist/types/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.d.ts +3 -0
  277. package/dist/types/providers/ethereum-mpc-provider/rpc/interfaces.d.ts +15 -0
  278. package/dist/types/providers/ethereum-provider/index.d.ts +2 -0
  279. package/dist/types/providers/ethereum-provider/providers/converter.d.ts +15 -0
  280. package/dist/types/providers/ethereum-provider/providers/index.d.ts +1 -0
  281. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.d.ts +30 -0
  282. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.d.ts +16 -0
  283. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.d.ts +28 -0
  284. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/index.d.ts +4 -0
  285. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.d.ts +46 -0
  286. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +12 -0
  287. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.d.ts +9 -0
  288. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +2 -0
  289. package/dist/types/providers/ethereum-provider/providers/utils.d.ts +5 -0
  290. package/dist/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +5 -0
  291. package/dist/types/providers/ethereum-provider/rpc/index.d.ts +4 -0
  292. package/dist/types/providers/ethereum-provider/rpc/interfaces.d.ts +65 -0
  293. package/dist/types/providers/ethereum-provider/rpc/jrpcClient.d.ts +8 -0
  294. package/dist/types/providers/ethereum-provider/rpc/walletMidddleware.d.ts +3 -0
  295. package/dist/types/providers/index.d.ts +6 -0
  296. package/dist/types/providers/solana-provider/index.d.ts +4 -0
  297. package/dist/types/providers/solana-provider/interface.d.ts +39 -0
  298. package/dist/types/providers/solana-provider/providers/index.d.ts +2 -0
  299. package/dist/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +16 -0
  300. package/dist/types/providers/solana-provider/providers/injectedProviders/base/providerHandlers.d.ts +3 -0
  301. package/dist/types/providers/solana-provider/providers/injectedProviders/index.d.ts +3 -0
  302. package/dist/types/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.d.ts +3 -0
  303. package/dist/types/providers/solana-provider/providers/injectedProviders/interface.d.ts +5 -0
  304. package/dist/types/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.d.ts +3 -0
  305. package/dist/types/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.d.ts +18 -0
  306. package/dist/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +6 -0
  307. package/dist/types/providers/solana-provider/providers/privateKeyProvider/index.d.ts +1 -0
  308. package/dist/types/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.d.ts +31 -0
  309. package/dist/types/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.d.ts +7 -0
  310. package/dist/types/providers/solana-provider/rpc/JrpcClient.d.ts +9 -0
  311. package/dist/types/providers/solana-provider/rpc/index.d.ts +3 -0
  312. package/dist/types/providers/solana-provider/rpc/interfaces.d.ts +42 -0
  313. package/dist/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +20 -0
  314. package/dist/types/providers/solana-provider/solanaWallet.d.ts +14 -0
  315. package/dist/types/providers/xrpl-provider/index.d.ts +1 -0
  316. package/dist/types/providers/xrpl-provider/providers/index.d.ts +1 -0
  317. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/constants.d.ts +5 -0
  318. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/index.d.ts +3 -0
  319. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/interface.d.ts +2 -0
  320. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +26 -0
  321. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.d.ts +7 -0
  322. package/dist/types/providers/xrpl-provider/rpc/JrpcClient.d.ts +9 -0
  323. package/dist/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +52 -0
  324. package/dist/types/react/index.d.ts +2 -0
  325. package/dist/types/react/no-modal/Web3AuthInnerContext.d.ts +4 -0
  326. package/dist/types/react/no-modal/Web3AuthProvider.d.ts +3 -0
  327. package/dist/types/react/no-modal/hooks/index.d.ts +1 -0
  328. package/dist/types/react/no-modal/hooks/useWeb3Auth.d.ts +2 -0
  329. package/dist/types/react/no-modal/index.d.ts +3 -0
  330. package/dist/types/react/no-modal/interfaces.d.ts +15 -0
  331. package/dist/types/react/wallet-services-plugin/WalletServicesContext.d.ts +7 -0
  332. package/dist/types/react/wallet-services-plugin/WalletServicesProvider.d.ts +7 -0
  333. package/dist/types/react/wallet-services-plugin/hooks/index.d.ts +1 -0
  334. package/dist/types/react/wallet-services-plugin/hooks/useWalletServicesPlugin.d.ts +2 -0
  335. package/dist/types/react/wallet-services-plugin/index.d.ts +4 -0
  336. package/dist/types/react/wallet-services-plugin/interfaces.d.ts +5 -0
  337. package/dist/types/vue/index.d.ts +2 -0
  338. package/dist/types/vue/no-modal/Web3AuthProvider.d.ts +13 -0
  339. package/dist/types/vue/no-modal/composables/index.d.ts +1 -0
  340. package/dist/types/vue/no-modal/composables/useWeb3Auth.d.ts +2 -0
  341. package/dist/types/vue/no-modal/index.d.ts +3 -0
  342. package/dist/types/vue/no-modal/interfaces.d.ts +42 -0
  343. package/dist/types/vue/wallet-services-plugin/WalletServicesProvider.d.ts +1 -0
  344. package/dist/types/vue/wallet-services-plugin/composables/index.d.ts +1 -0
  345. package/dist/types/vue/wallet-services-plugin/composables/useWalletServicesPlugin.d.ts +2 -0
  346. package/dist/types/vue/wallet-services-plugin/context.d.ts +3 -0
  347. package/dist/types/vue/wallet-services-plugin/index.d.ts +4 -0
  348. package/dist/types/vue/wallet-services-plugin/interfaces.d.ts +13 -0
  349. package/package.json +76 -15
  350. package/README.md +0 -82
  351. package/dist/noModal.esm.js +0 -359
@@ -0,0 +1,101 @@
1
+ import { Keypair, VersionedTransaction } from '@solana/web3.js';
2
+ import { sign } from '@toruslabs/tweetnacl-js';
3
+ import { rpcErrors, providerErrors } from '@web3auth/auth';
4
+ import bs58 from 'bs58';
5
+ import { WalletInitializationError } from '../../../../base/errors/index.js';
6
+
7
+ async function getProviderHandlers({
8
+ privKey,
9
+ keyExportEnabled,
10
+ getProviderEngineProxy
11
+ }) {
12
+ const keyPairGenerator = () => {
13
+ return Keypair.fromSecretKey(Buffer.from(privKey, "hex"));
14
+ };
15
+ if (typeof privKey !== "string") throw WalletInitializationError.invalidParams("privKey must be a string");
16
+ const keyPair = keyPairGenerator();
17
+ const providerHandlers = {
18
+ requestAccounts: async () => {
19
+ return [keyPair.publicKey.toBase58()];
20
+ },
21
+ getAccounts: async () => [keyPair.publicKey.toBase58()],
22
+ getPublicKey: async () => keyPair.publicKey.toBase58(),
23
+ getPrivateKey: async () => {
24
+ if (!keyExportEnabled) {
25
+ throw providerErrors.custom({
26
+ message: "Private key export is disabled",
27
+ code: 4902
28
+ });
29
+ }
30
+ return privKey;
31
+ },
32
+ getSecretKey: async () => bs58.encode(keyPair.secretKey),
33
+ signTransaction: async req => {
34
+ var _req$params;
35
+ if (!((_req$params = req.params) !== null && _req$params !== void 0 && _req$params.message)) {
36
+ throw rpcErrors.invalidParams("message");
37
+ }
38
+ const transaction = req.params.message;
39
+ if (transaction.version !== undefined || transaction instanceof VersionedTransaction) {
40
+ transaction.sign([keyPair]);
41
+ } else {
42
+ transaction.partialSign(keyPair);
43
+ }
44
+ return transaction;
45
+ },
46
+ signMessage: async req => {
47
+ var _req$params2;
48
+ if (!((_req$params2 = req.params) !== null && _req$params2 !== void 0 && _req$params2.message)) {
49
+ throw rpcErrors.invalidParams("message");
50
+ }
51
+ const signedMsg = sign.detached(req.params.message, keyPair.secretKey);
52
+ return signedMsg;
53
+ },
54
+ signAndSendTransaction: async req => {
55
+ var _req$params3;
56
+ if (!((_req$params3 = req.params) !== null && _req$params3 !== void 0 && _req$params3.message)) {
57
+ throw rpcErrors.invalidParams("message");
58
+ }
59
+ const _providerEngineProxy = getProviderEngineProxy();
60
+ if (!_providerEngineProxy) throw providerErrors.custom({
61
+ message: "Provider is not initialized",
62
+ code: 4902
63
+ });
64
+ const transaction = req.params.message;
65
+ if (transaction.version !== undefined || transaction instanceof VersionedTransaction) {
66
+ transaction.sign([keyPair]);
67
+ } else {
68
+ transaction.partialSign(keyPair);
69
+ }
70
+ const sig = await _providerEngineProxy.request({
71
+ method: "sendTransaction",
72
+ params: [Buffer.from(transaction.serialize()).toString("base64"), {
73
+ encoding: "base64",
74
+ preflightCommitment: "confirmed"
75
+ }]
76
+ });
77
+ return {
78
+ signature: sig
79
+ };
80
+ },
81
+ signAllTransactions: async req => {
82
+ var _req$params4, _req$params5, _req$params6;
83
+ if (!((_req$params4 = req.params) !== null && _req$params4 !== void 0 && _req$params4.message) || !((_req$params5 = req.params) !== null && _req$params5 !== void 0 && _req$params5.message.length)) {
84
+ throw rpcErrors.invalidParams("message");
85
+ }
86
+ const txns = (_req$params6 = req.params) === null || _req$params6 === void 0 ? void 0 : _req$params6.message;
87
+ for (const tx of txns || []) {
88
+ const transaction = tx;
89
+ if (transaction.version !== undefined || transaction instanceof VersionedTransaction) {
90
+ transaction.sign([keyPair]);
91
+ } else {
92
+ transaction.partialSign(keyPair);
93
+ }
94
+ }
95
+ return txns;
96
+ }
97
+ };
98
+ return providerHandlers;
99
+ }
100
+
101
+ export { getProviderHandlers };
@@ -0,0 +1,42 @@
1
+ import { createFetchMiddleware } from '@toruslabs/base-controllers';
2
+ import { mergeMiddleware } from '@web3auth/auth';
3
+
4
+ function createSolanaChainIdMiddleware(chainId) {
5
+ return (req, res, next, end) => {
6
+ if (req.method === "solana_chainId") {
7
+ res.result = chainId;
8
+ return end();
9
+ }
10
+ return next();
11
+ };
12
+ }
13
+ function createSolanaProviderConfigMiddleware(providerConfig) {
14
+ return (req, res, next, end) => {
15
+ if (req.method === "solana_provider_config") {
16
+ res.result = providerConfig;
17
+ return end();
18
+ }
19
+ return next();
20
+ };
21
+ }
22
+ function createConfigMiddleware(providerConfig) {
23
+ const {
24
+ chainId
25
+ } = providerConfig;
26
+ return mergeMiddleware([createSolanaChainIdMiddleware(chainId), createSolanaProviderConfigMiddleware(providerConfig)]);
27
+ }
28
+ function createSolanaJsonRpcClient(providerConfig) {
29
+ const {
30
+ rpcTarget
31
+ } = providerConfig;
32
+ const fetchMiddleware = createFetchMiddleware({
33
+ rpcTarget
34
+ });
35
+ const networkMiddleware = mergeMiddleware([createConfigMiddleware(providerConfig), fetchMiddleware]);
36
+ return {
37
+ networkMiddleware,
38
+ fetchMiddleware
39
+ };
40
+ }
41
+
42
+ export { createConfigMiddleware, createSolanaChainIdMiddleware, createSolanaJsonRpcClient, createSolanaProviderConfigMiddleware };
@@ -0,0 +1,89 @@
1
+ import { createAsyncMiddleware, mergeMiddleware } from '@web3auth/auth';
2
+
3
+ function createGetAccountsMiddleware({
4
+ getAccounts
5
+ }) {
6
+ return createAsyncMiddleware(async (request, response, next) => {
7
+ const {
8
+ method
9
+ } = request;
10
+ if (method !== "getAccounts") return next();
11
+ if (!getAccounts) throw new Error("WalletMiddleware - opts.getAccounts not provided");
12
+ // This calls from the prefs controller
13
+ const accounts = await getAccounts(request);
14
+ response.result = accounts;
15
+ return undefined;
16
+ });
17
+ }
18
+ function createGetPublicKeyMiddleware({
19
+ getPublicKey
20
+ }) {
21
+ return createAsyncMiddleware(async (request, response, next) => {
22
+ const {
23
+ method
24
+ } = request;
25
+ if (method !== "getPublicKey") return next();
26
+ if (!getPublicKey) throw new Error("WalletMiddleware - opts.getPublicKey not provided");
27
+ const publicKey = await getPublicKey(request);
28
+ response.result = publicKey;
29
+ return undefined;
30
+ });
31
+ }
32
+ function createRequestAccountsMiddleware({
33
+ requestAccounts
34
+ }) {
35
+ return createAsyncMiddleware(async (request, response, next) => {
36
+ const {
37
+ method
38
+ } = request;
39
+ if (method !== "requestAccounts") return next();
40
+ if (!requestAccounts) throw new Error("WalletMiddleware - opts.requestAccounts not provided");
41
+ // This calls the UI login function
42
+ const accounts = await requestAccounts(request);
43
+ response.result = accounts;
44
+ return undefined;
45
+ });
46
+ }
47
+ function createGenericJRPCMiddleware(targetMethod, handler) {
48
+ return createAsyncMiddleware(async (request, response, next) => {
49
+ const {
50
+ method
51
+ } = request;
52
+ if (method !== targetMethod) return next();
53
+ if (!handler) throw new Error(`WalletMiddleware - ${targetMethod} not provided`);
54
+ const result = await handler(request);
55
+ response.result = result;
56
+ return undefined;
57
+ });
58
+ }
59
+ function createSolanaMiddleware(providerHandlers) {
60
+ const {
61
+ getAccounts,
62
+ requestAccounts,
63
+ signTransaction,
64
+ signAndSendTransaction,
65
+ signAllTransactions,
66
+ signMessage,
67
+ getPrivateKey,
68
+ getSecretKey,
69
+ getPublicKey
70
+ } = providerHandlers;
71
+ return mergeMiddleware([createRequestAccountsMiddleware({
72
+ requestAccounts
73
+ }), createGetAccountsMiddleware({
74
+ getAccounts
75
+ }), createGenericJRPCMiddleware("signTransaction", signTransaction), createGenericJRPCMiddleware("signAndSendTransaction", signAndSendTransaction), createGenericJRPCMiddleware("signAllTransactions", signAllTransactions), createGenericJRPCMiddleware("signMessage", signMessage), createGenericJRPCMiddleware("solanaPrivateKey", getPrivateKey), createGenericJRPCMiddleware("private_key", getPrivateKey), createGenericJRPCMiddleware("public_key", getPublicKey), createGenericJRPCMiddleware("solanaPublicKey", getPublicKey), createGenericJRPCMiddleware("solanaSecretKey", getSecretKey)]);
76
+ }
77
+ function createSolanaChainSwitchMiddleware({
78
+ addNewChainConfig,
79
+ switchSolanaChain
80
+ }) {
81
+ return mergeMiddleware([createGenericJRPCMiddleware("addSolanaChain", addNewChainConfig), createGenericJRPCMiddleware("switchSolanaChain", switchSolanaChain)]);
82
+ }
83
+ function createSolanaAccountMiddleware({
84
+ updatePrivatekey
85
+ }) {
86
+ return mergeMiddleware([createGenericJRPCMiddleware("updateAccount", updatePrivatekey)]);
87
+ }
88
+
89
+ export { createGenericJRPCMiddleware, createGetAccountsMiddleware, createGetPublicKeyMiddleware, createRequestAccountsMiddleware, createSolanaAccountMiddleware, createSolanaChainSwitchMiddleware, createSolanaMiddleware };
@@ -0,0 +1,60 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+
3
+ class SolanaWallet {
4
+ constructor(provider) {
5
+ _defineProperty(this, "provider", void 0);
6
+ this.provider = provider;
7
+ }
8
+ async requestAccounts() {
9
+ const accounts = await this.provider.request({
10
+ method: "requestAccounts"
11
+ });
12
+ return accounts;
13
+ }
14
+ async signAndSendTransaction(transaction) {
15
+ const {
16
+ signature
17
+ } = await this.provider.request({
18
+ method: "signAndSendTransaction",
19
+ params: {
20
+ message: transaction
21
+ }
22
+ });
23
+ return {
24
+ signature
25
+ };
26
+ }
27
+ async signTransaction(transaction) {
28
+ const signedTransaction = await this.provider.request({
29
+ method: "signTransaction",
30
+ params: {
31
+ message: transaction
32
+ }
33
+ });
34
+ return signedTransaction;
35
+ }
36
+ async signAllTransactions(transactions) {
37
+ const signedTransactions = await this.provider.request({
38
+ method: "signAllTransactions",
39
+ params: {
40
+ message: transactions
41
+ }
42
+ });
43
+ return signedTransactions;
44
+ }
45
+ async signMessage(data) {
46
+ const response = await this.provider.request({
47
+ method: "signMessage",
48
+ params: {
49
+ message: data
50
+ }
51
+ });
52
+ return response;
53
+ }
54
+ async request(args) {
55
+ const result = await this.provider.request(args);
56
+ return result;
57
+ }
58
+ }
59
+
60
+ export { SolanaWallet };
@@ -0,0 +1,156 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import { providerErrors, JRPCEngine, providerFromEngine, rpcErrors } from '@web3auth/auth';
3
+ import { CHAIN_NAMESPACES } from '../../../../base/chain/IChainInterface.js';
4
+ import { WalletInitializationError } from '../../../../base/errors/index.js';
5
+ import { createXrplJsonRpcClient } from '../../rpc/JrpcClient.js';
6
+ import { RPC_METHODS, createXRPLMiddleware, creatXrplChainSwitchMiddleware } from '../../rpc/xrplRpcMiddlewares.js';
7
+ import { getProviderHandlers } from './xrplWalletUtils.js';
8
+ import { BaseProvider } from '../../../base-provider/baseProvider.js';
9
+
10
+ var _XrplPrivateKeyProvider;
11
+ class XrplPrivateKeyProvider extends BaseProvider {
12
+ constructor({
13
+ config,
14
+ state
15
+ }) {
16
+ super({
17
+ config,
18
+ state
19
+ });
20
+ _defineProperty(this, "PROVIDER_CHAIN_NAMESPACE", CHAIN_NAMESPACES.XRPL);
21
+ }
22
+ async enable() {
23
+ if (!this.state.privateKey) throw providerErrors.custom({
24
+ message: "Private key is not found in state, plz pass it in constructor state param",
25
+ code: 4902
26
+ });
27
+ await this.setupProvider(this.state.privateKey);
28
+ return this._providerEngineProxy.request({
29
+ method: RPC_METHODS.GET_ACCOUNTS
30
+ });
31
+ }
32
+ async setupProvider(privKey) {
33
+ const {
34
+ wsTarget,
35
+ chainNamespace
36
+ } = this.config.chainConfig;
37
+ if (chainNamespace !== this.PROVIDER_CHAIN_NAMESPACE) throw WalletInitializationError.incompatibleChainNameSpace("Invalid chain namespace");
38
+ if (!wsTarget) {
39
+ throw WalletInitializationError.invalidParams(`wsTarget is required in chainConfig for xrplProvider`);
40
+ }
41
+ const providerHandlers = await getProviderHandlers({
42
+ privKey,
43
+ chainConfig: this.config.chainConfig,
44
+ keyExportEnabled: this.config.keyExportEnabled
45
+ });
46
+ const xrplWalletMiddleware = createXRPLMiddleware(providerHandlers);
47
+ const engine = new JRPCEngine();
48
+ const {
49
+ networkMiddleware
50
+ } = createXrplJsonRpcClient(this.config.chainConfig);
51
+ engine.push(this.getChainSwitchMiddleware());
52
+ engine.push(xrplWalletMiddleware);
53
+ engine.push(networkMiddleware);
54
+ const provider = providerFromEngine(engine);
55
+ this.updateProviderEngineProxy(provider);
56
+ await this.lookupNetwork();
57
+ }
58
+ async switchChain(params) {
59
+ if (!this._providerEngineProxy) throw providerErrors.custom({
60
+ message: "Provider is not initialized",
61
+ code: 4902
62
+ });
63
+ const chainConfig = this.getChainConfig(params.chainId);
64
+ this.update({
65
+ chainId: "loading"
66
+ });
67
+ this.configure({
68
+ chainConfig
69
+ });
70
+ const {
71
+ privateKey
72
+ } = await this._providerEngineProxy.request({
73
+ method: RPC_METHODS.GET_KEY_PAIR
74
+ });
75
+ await this.setupProvider(privateKey);
76
+ }
77
+ async lookupNetwork() {
78
+ if (!this._providerEngineProxy) throw providerErrors.custom({
79
+ message: "Provider is not initialized",
80
+ code: 4902
81
+ });
82
+ const {
83
+ chainId
84
+ } = this.config.chainConfig;
85
+ if (!chainId) throw rpcErrors.invalidParams("chainId is required while lookupNetwork");
86
+ const pingResponse = await this._providerEngineProxy.request({
87
+ method: "ping",
88
+ params: []
89
+ });
90
+ if ((pingResponse === null || pingResponse === void 0 ? void 0 : pingResponse.status) !== "success") {
91
+ const {
92
+ chainConfig
93
+ } = this.config;
94
+ throw WalletInitializationError.rpcConnectionError(`Failed to ping network for following rpc target: ${chainConfig.rpcTarget}`);
95
+ }
96
+ if (this.state.chainId !== chainId) {
97
+ this.emit("chainChanged", chainId);
98
+ this.emit("connect", {
99
+ chainId
100
+ });
101
+ }
102
+ this.update({
103
+ chainId
104
+ });
105
+ }
106
+ getChainSwitchMiddleware() {
107
+ const chainSwitchHandlers = {
108
+ addChainConfig: async req => {
109
+ if (!req.params) throw rpcErrors.invalidParams("Missing request params");
110
+ const {
111
+ chainId,
112
+ ticker,
113
+ tickerName,
114
+ displayName,
115
+ rpcTarget,
116
+ wsTarget,
117
+ blockExplorerUrl,
118
+ logo
119
+ } = req.params;
120
+ if (!chainId) throw rpcErrors.invalidParams("Missing chainId in chainParams");
121
+ if (!rpcTarget) throw rpcErrors.invalidParams("Missing rpcTarget in chainParams");
122
+ if (!wsTarget) throw rpcErrors.invalidParams("Missing wsTarget in chainParams");
123
+ this.addChain({
124
+ chainNamespace: CHAIN_NAMESPACES.XRPL,
125
+ chainId,
126
+ ticker: ticker || "XRP",
127
+ tickerName: tickerName || "XRPL",
128
+ displayName: displayName || "XRPL",
129
+ rpcTarget,
130
+ wsTarget,
131
+ blockExplorerUrl,
132
+ logo
133
+ });
134
+ },
135
+ switchChain: async req => {
136
+ if (!req.params) throw rpcErrors.invalidParams("Missing request params");
137
+ if (!req.params.chainId) throw rpcErrors.invalidParams("Missing chainId");
138
+ await this.switchChain(req.params);
139
+ }
140
+ };
141
+ const chainSwitchMiddleware = creatXrplChainSwitchMiddleware(chainSwitchHandlers);
142
+ return chainSwitchMiddleware;
143
+ }
144
+ }
145
+ _XrplPrivateKeyProvider = XrplPrivateKeyProvider;
146
+ _defineProperty(XrplPrivateKeyProvider, "getProviderInstance", async params => {
147
+ const providerFactory = new _XrplPrivateKeyProvider({
148
+ config: {
149
+ chainConfig: params.chainConfig
150
+ }
151
+ });
152
+ await providerFactory.setupProvider(params.privKey);
153
+ return providerFactory;
154
+ });
155
+
156
+ export { XrplPrivateKeyProvider };
@@ -0,0 +1,87 @@
1
+ import { rpcErrors, providerErrors } from '@web3auth/auth';
2
+ import { sign, generateSeed } from 'ripple-keypairs';
3
+ import { Client, Wallet, deriveAddress } from 'xrpl';
4
+ import ECDSA from 'xrpl/dist/npm/ECDSA';
5
+
6
+ const deriveKeypair = web3authKey => {
7
+ const seed = generateSeed({
8
+ entropy: Buffer.from(web3authKey.padStart(64, "0"), "hex"),
9
+ algorithm: "ecdsa-secp256k1"
10
+ });
11
+ const wallet = Wallet.fromSecret(seed, {
12
+ algorithm: ECDSA.secp256k1
13
+ }); // web3auth network currently only supports the secp256k1 key
14
+ return {
15
+ privateKey: wallet.privateKey,
16
+ publicKey: wallet.publicKey
17
+ };
18
+ };
19
+ async function getProviderHandlers({
20
+ privKey: web3authKey,
21
+ chainConfig,
22
+ keyExportEnabled
23
+ }) {
24
+ const client = new Client(chainConfig.wsTarget);
25
+ await client.connect();
26
+ return {
27
+ getAccounts: async _ => {
28
+ const {
29
+ publicKey
30
+ } = deriveKeypair(web3authKey);
31
+ const accAddress = deriveAddress(publicKey);
32
+ return [accAddress];
33
+ },
34
+ getKeyPair: async _ => {
35
+ if (!keyExportEnabled) throw providerErrors.custom({
36
+ message: "Private key export is disabled",
37
+ code: 4902
38
+ });
39
+ return deriveKeypair(web3authKey);
40
+ },
41
+ getPublicKey: async _ => {
42
+ const keyPair = deriveKeypair(web3authKey);
43
+ return keyPair.publicKey;
44
+ },
45
+ signTransaction: async req => {
46
+ const {
47
+ transaction,
48
+ multisign
49
+ } = req.params || {};
50
+ if (!transaction) throw rpcErrors.invalidParams("Invalid params, req.params.transaction is required");
51
+ const {
52
+ publicKey,
53
+ privateKey
54
+ } = deriveKeypair(web3authKey);
55
+ const wallet = new Wallet(publicKey, privateKey);
56
+ return wallet.sign(transaction, multisign);
57
+ },
58
+ submitTransaction: async req => {
59
+ const {
60
+ transaction
61
+ } = req.params || {};
62
+ if (!transaction) throw rpcErrors.invalidParams("Invalid params, req.params.transaction is required");
63
+ const {
64
+ publicKey,
65
+ privateKey
66
+ } = deriveKeypair(web3authKey);
67
+ const wallet = new Wallet(publicKey, privateKey);
68
+ const res = await client.submit(transaction, {
69
+ wallet
70
+ });
71
+ return res;
72
+ },
73
+ signMessage: async req => {
74
+ const {
75
+ message
76
+ } = req.params || {};
77
+ if (!message) throw rpcErrors.invalidParams("Invalid params, req.params.message is required");
78
+ const keyPair = deriveKeypair(web3authKey);
79
+ const signature = sign(message, keyPair.privateKey);
80
+ return {
81
+ signature
82
+ };
83
+ }
84
+ };
85
+ }
86
+
87
+ export { getProviderHandlers };
@@ -0,0 +1,43 @@
1
+ import { createFetchMiddleware } from '@toruslabs/base-controllers';
2
+ import { mergeMiddleware } from '@web3auth/auth';
3
+ import { RPC_METHODS } from './xrplRpcMiddlewares.js';
4
+
5
+ function createXrplChainIdMiddleware(chainId) {
6
+ return (req, res, next, end) => {
7
+ if (req.method === RPC_METHODS.CHAIN_ID) {
8
+ res.result = chainId;
9
+ return end();
10
+ }
11
+ return next();
12
+ };
13
+ }
14
+ function createXrplProviderConfigMiddleware(providerConfig) {
15
+ return (req, res, next, end) => {
16
+ if (req.method === RPC_METHODS.PROVIDER_CHAIN_CONFIG) {
17
+ res.result = providerConfig;
18
+ return end();
19
+ }
20
+ return next();
21
+ };
22
+ }
23
+ function createConfigMiddleware(providerConfig) {
24
+ const {
25
+ chainId
26
+ } = providerConfig;
27
+ return mergeMiddleware([createXrplChainIdMiddleware(chainId), createXrplProviderConfigMiddleware(providerConfig)]);
28
+ }
29
+ function createXrplJsonRpcClient(providerConfig) {
30
+ const {
31
+ rpcTarget
32
+ } = providerConfig;
33
+ const fetchMiddleware = createFetchMiddleware({
34
+ rpcTarget
35
+ });
36
+ const networkMiddleware = mergeMiddleware([createConfigMiddleware(providerConfig), fetchMiddleware]);
37
+ return {
38
+ networkMiddleware,
39
+ fetchMiddleware
40
+ };
41
+ }
42
+
43
+ export { createConfigMiddleware, createXrplChainIdMiddleware, createXrplJsonRpcClient, createXrplProviderConfigMiddleware };
@@ -0,0 +1,67 @@
1
+ import { randomId } from '@toruslabs/base-controllers';
2
+ import { mergeMiddleware, createAsyncMiddleware } from '@web3auth/auth';
3
+
4
+ const RPC_METHODS = {
5
+ GET_ACCOUNTS: "xrpl_getAccounts",
6
+ GET_KEY_PAIR: "xrpl_getKeyPair",
7
+ GET_PUBLIC_KEY: "xrpl_getPublicKey",
8
+ SIGN_MESSAGE: "xrpl_signMessage",
9
+ SIGN_TRANSACTION: "xrpl_signTransaction",
10
+ SUBMIT_TRANSACTION: "xrpl_submitTransaction",
11
+ ADD_CHAIN: "xrpl_addChain",
12
+ SWITCH_CHAIN: "xrpl_switchChain",
13
+ CHAIN_ID: "xrpl_chainId",
14
+ PROVIDER_CHAIN_CONFIG: "xrpl_providerChainConfig"
15
+ };
16
+ function createGetAccountsMiddleware({
17
+ getAccounts
18
+ }) {
19
+ return createAsyncMiddleware(async (request, response, next) => {
20
+ const {
21
+ method
22
+ } = request;
23
+
24
+ // hack to override big ids from fetch middleware which are not supported in xrpl servers
25
+ // TODO: fix this for xrpl controllers.
26
+ request.id = randomId();
27
+ if (method !== RPC_METHODS.GET_ACCOUNTS) return next();
28
+ if (!getAccounts) throw new Error("WalletMiddleware - opts.getAccounts not provided");
29
+ // This calls from the prefs controller
30
+ const accounts = await getAccounts(request);
31
+ response.result = accounts;
32
+ return undefined;
33
+ });
34
+ }
35
+ function createGenericJRPCMiddleware(targetMethod, handler) {
36
+ return createAsyncMiddleware(async (request, response, next) => {
37
+ const {
38
+ method
39
+ } = request;
40
+ if (method !== targetMethod) return next();
41
+ if (!handler) throw new Error(`WalletMiddleware - ${targetMethod} not provided`);
42
+ const result = await handler(request);
43
+ response.result = result;
44
+ return undefined;
45
+ });
46
+ }
47
+ function createXRPLMiddleware(providerHandlers) {
48
+ const {
49
+ getAccounts,
50
+ submitTransaction,
51
+ signTransaction,
52
+ signMessage,
53
+ getKeyPair,
54
+ getPublicKey
55
+ } = providerHandlers;
56
+ return mergeMiddleware([createGetAccountsMiddleware({
57
+ getAccounts
58
+ }), createGenericJRPCMiddleware(RPC_METHODS.SIGN_TRANSACTION, signTransaction), createGenericJRPCMiddleware(RPC_METHODS.SUBMIT_TRANSACTION, submitTransaction), createGenericJRPCMiddleware(RPC_METHODS.SIGN_MESSAGE, signMessage), createGenericJRPCMiddleware(RPC_METHODS.GET_KEY_PAIR, getKeyPair), createGenericJRPCMiddleware(RPC_METHODS.GET_PUBLIC_KEY, getPublicKey)]);
59
+ }
60
+ function creatXrplChainSwitchMiddleware({
61
+ addChainConfig,
62
+ switchChain
63
+ }) {
64
+ return mergeMiddleware([createGenericJRPCMiddleware(RPC_METHODS.ADD_CHAIN, addChainConfig), createGenericJRPCMiddleware(RPC_METHODS.SWITCH_CHAIN, switchChain)]);
65
+ }
66
+
67
+ export { RPC_METHODS, creatXrplChainSwitchMiddleware, createGenericJRPCMiddleware, createGetAccountsMiddleware, createXRPLMiddleware };
@@ -0,0 +1,5 @@
1
+ export { useWeb3Auth } from './no-modal/hooks/useWeb3Auth.js';
2
+ export { Web3AuthProvider } from './no-modal/Web3AuthProvider.js';
3
+ export { useWalletServicesPlugin } from './wallet-services-plugin/hooks/useWalletServicesPlugin.js';
4
+ export { WalletServicesContext, WalletServicesContextProvider } from './wallet-services-plugin/WalletServicesContext.js';
5
+ export { WalletServicesProvider } from './wallet-services-plugin/WalletServicesProvider.js';