@web3auth/no-modal 10.0.0-alpha.0 → 10.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/dist/lib.cjs/base/chain/IChainInterface.js +2 -2
  2. package/dist/lib.cjs/base/chain/config.js +63 -22
  3. package/dist/lib.cjs/base/connector/baseConnector.js +67 -0
  4. package/dist/lib.cjs/base/connector/constants.js +26 -0
  5. package/dist/lib.cjs/base/errors/index.js +2 -2
  6. package/dist/lib.cjs/base/plugin/errors.js +2 -2
  7. package/dist/lib.cjs/base/wallet/index.js +15 -20
  8. package/dist/lib.cjs/connectors/auth-connector/authConnector.js +392 -0
  9. package/dist/lib.cjs/{adapters/base-evm-adapter/baseEvmAdapter.js → connectors/base-evm-connector/baseEvmConnector.js} +22 -19
  10. package/dist/lib.cjs/{adapters/base-solana-adapter/baseSolanaAdapter.js → connectors/base-solana-connector/baseSolanaConnector.js} +24 -23
  11. package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +151 -0
  12. package/dist/lib.cjs/connectors/injected-evm-connector/index.js +12 -0
  13. package/dist/lib.cjs/{adapters/default-evm-adapter/injectedEvmAdapter.js → connectors/injected-evm-connector/injectedEvmConnector.js} +54 -38
  14. package/dist/lib.cjs/connectors/injected-solana-connector/index.js +25 -0
  15. package/dist/lib.cjs/{adapters/default-solana-adapter/walletStandardAdapter.js → connectors/injected-solana-connector/walletStandardConnector.js} +57 -48
  16. package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.js +40 -90
  17. package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.js +23 -26
  18. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/index.js +20 -0
  19. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +417 -0
  20. package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.js +12 -25
  21. package/dist/lib.cjs/index.js +100 -82
  22. package/dist/lib.cjs/noModal.js +291 -239
  23. package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +9 -4
  24. package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +43 -199
  25. package/dist/lib.cjs/providers/account-abstraction-provider/index.js +32 -0
  26. package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +99 -31
  27. package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +21 -26
  28. package/dist/lib.cjs/providers/base-provider/baseProvider.js +29 -24
  29. package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +2 -13
  30. package/dist/lib.cjs/providers/base-provider/index.js +18 -0
  31. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +34 -57
  32. package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +1 -30
  33. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +9 -11
  34. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +3 -5
  35. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +83 -2
  36. package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +24 -54
  37. package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +18 -27
  38. package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +5 -5
  39. package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +44 -18
  40. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +23 -58
  41. package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -3
  42. package/dist/lib.cjs/react/no-modal/Web3AuthInnerContext.js +18 -42
  43. package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesContext.js +3 -0
  44. package/dist/lib.cjs/vue/no-modal/Web3AuthProvider.js +16 -42
  45. package/dist/lib.cjs/vue/wallet-services-plugin/WalletServicesProvider.js +4 -0
  46. package/dist/lib.esm/base/chain/IChainInterface.js +2 -2
  47. package/dist/lib.esm/base/chain/config.js +63 -22
  48. package/dist/lib.esm/base/connector/baseConnector.js +65 -0
  49. package/dist/lib.esm/base/connector/constants.js +22 -0
  50. package/dist/lib.esm/base/errors/index.js +2 -2
  51. package/dist/lib.esm/base/plugin/errors.js +2 -2
  52. package/dist/lib.esm/base/wallet/index.js +11 -16
  53. package/dist/lib.esm/connectors/auth-connector/authConnector.js +390 -0
  54. package/dist/lib.esm/{adapters/base-evm-adapter/baseEvmAdapter.js → connectors/base-evm-connector/baseEvmConnector.js} +23 -20
  55. package/dist/lib.esm/{adapters/base-solana-adapter/baseSolanaAdapter.js → connectors/base-solana-connector/baseSolanaConnector.js} +25 -24
  56. package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +149 -0
  57. package/dist/lib.esm/connectors/injected-evm-connector/index.js +2 -0
  58. package/dist/lib.esm/{adapters/default-evm-adapter/injectedEvmAdapter.js → connectors/injected-evm-connector/injectedEvmConnector.js} +54 -39
  59. package/dist/lib.esm/connectors/injected-solana-connector/index.js +18 -0
  60. package/dist/lib.esm/{adapters/default-solana-adapter/walletStandardAdapter.js → connectors/injected-solana-connector/walletStandardConnector.js} +57 -49
  61. package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.js +41 -91
  62. package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.js +23 -26
  63. package/dist/lib.esm/connectors/wallet-connect-v2-connector/index.js +3 -0
  64. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +415 -0
  65. package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.js +13 -25
  66. package/dist/lib.esm/index.js +23 -28
  67. package/dist/lib.esm/noModal.js +290 -238
  68. package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +9 -4
  69. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +42 -199
  70. package/dist/lib.esm/providers/account-abstraction-provider/index.js +2 -0
  71. package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +96 -31
  72. package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +22 -27
  73. package/dist/lib.esm/providers/base-provider/baseProvider.js +29 -24
  74. package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +2 -13
  75. package/dist/lib.esm/providers/base-provider/index.js +5 -0
  76. package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +34 -57
  77. package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +2 -30
  78. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +9 -11
  79. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +3 -5
  80. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +83 -2
  81. package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +24 -54
  82. package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +18 -27
  83. package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +5 -5
  84. package/dist/lib.esm/providers/solana-provider/solanaWallet.js +44 -18
  85. package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +23 -58
  86. package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -3
  87. package/dist/lib.esm/react/no-modal/Web3AuthInnerContext.js +18 -42
  88. package/dist/lib.esm/react/wallet-services-plugin/WalletServicesContext.js +3 -0
  89. package/dist/lib.esm/vue/no-modal/Web3AuthProvider.js +16 -42
  90. package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +4 -0
  91. package/dist/noModal.cjs.js +12650 -24362
  92. package/dist/noModal.umd.min.js +1 -1
  93. package/dist/noModal.umd.min.js.LICENSE.txt +0 -9
  94. package/dist/types/base/chain/IChainInterface.d.ts +2 -2
  95. package/dist/types/base/chain/config.d.ts +2 -2
  96. package/dist/types/base/connector/baseConnector.d.ts +37 -0
  97. package/dist/types/base/{adapter → connector}/constants.d.ts +7 -4
  98. package/dist/types/base/{adapter → connector}/index.d.ts +1 -1
  99. package/dist/types/base/{adapter → connector}/interfaces.d.ts +47 -45
  100. package/dist/types/base/core/IWeb3Auth.d.ts +75 -34
  101. package/dist/types/base/errors/index.d.ts +1 -1
  102. package/dist/types/base/hooks/index.d.ts +2 -6
  103. package/dist/types/base/index.d.ts +1 -1
  104. package/dist/types/base/plugin/IPlugin.d.ts +4 -7
  105. package/dist/types/base/plugin/errors.d.ts +1 -1
  106. package/dist/types/base/utils.d.ts +1 -1
  107. package/dist/types/base/wallet/index.d.ts +9 -13
  108. package/dist/types/connectors/auth-connector/authConnector.d.ts +45 -0
  109. package/dist/types/connectors/auth-connector/index.d.ts +2 -0
  110. package/dist/types/connectors/auth-connector/interface.d.ts +14 -0
  111. package/dist/types/connectors/base-evm-connector/baseEvmConnector.d.ts +7 -0
  112. package/dist/types/connectors/base-evm-connector/index.d.ts +1 -0
  113. package/dist/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +7 -0
  114. package/dist/types/connectors/base-solana-connector/index.d.ts +1 -0
  115. package/dist/types/connectors/coinbase-connector/coinbaseConnector.d.ts +7 -0
  116. package/dist/types/connectors/coinbase-connector/index.d.ts +1 -0
  117. package/dist/types/connectors/index.d.ts +7 -0
  118. package/dist/types/connectors/injected-evm-connector/index.d.ts +2 -0
  119. package/dist/types/connectors/injected-evm-connector/injectedEvmConnector.d.ts +34 -0
  120. package/dist/types/connectors/injected-solana-connector/index.d.ts +5 -0
  121. package/dist/types/connectors/injected-solana-connector/walletStandardConnector.d.ts +33 -0
  122. package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.d.ts +3 -4
  123. package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.d.ts +4 -4
  124. package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/index.d.ts +1 -1
  125. package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/interface.d.ts +4 -4
  126. package/dist/types/connectors/wallet-connect-v2-connector/walletConnectV2Connector.d.ts +3 -0
  127. package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.d.ts +1 -6
  128. package/dist/types/index.d.ts +1 -1
  129. package/dist/types/noModal.d.ts +29 -14
  130. package/dist/types/plugins/nft-checkout-plugin/plugin.d.ts +11 -7
  131. package/dist/types/plugins/wallet-services-plugin/plugin.d.ts +8 -32
  132. package/dist/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +16 -14
  133. package/dist/types/providers/account-abstraction-provider/providers/index.d.ts +0 -1
  134. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +1 -6
  135. package/dist/types/providers/base-provider/CommonJRPCProvider.d.ts +3 -3
  136. package/dist/types/providers/base-provider/baseProvider.d.ts +14 -11
  137. package/dist/types/providers/base-provider/commonPrivateKeyProvider.d.ts +2 -4
  138. package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +14 -5
  139. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +0 -1
  140. package/dist/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +2 -3
  141. package/dist/types/providers/ethereum-provider/rpc/interfaces.d.ts +0 -13
  142. package/dist/types/providers/solana-provider/interface.d.ts +8 -25
  143. package/dist/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +2 -2
  144. package/dist/types/providers/solana-provider/providers/injectedProviders/index.d.ts +1 -2
  145. package/dist/types/providers/solana-provider/providers/injectedProviders/utils.d.ts +3 -0
  146. package/dist/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +7 -4
  147. package/dist/types/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.d.ts +4 -4
  148. package/dist/types/providers/solana-provider/rpc/interfaces.d.ts +12 -27
  149. package/dist/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +1 -1
  150. package/dist/types/providers/solana-provider/solanaWallet.d.ts +21 -7
  151. package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +4 -4
  152. package/dist/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +1 -4
  153. package/dist/types/react/no-modal/interfaces.d.ts +4 -4
  154. package/dist/types/react/wallet-services-plugin/interfaces.d.ts +2 -2
  155. package/dist/types/vue/no-modal/interfaces.d.ts +5 -8
  156. package/dist/types/vue/wallet-services-plugin/interfaces.d.ts +2 -2
  157. package/package.json +8 -7
  158. package/dist/757.noModal.cjs.js +0 -226
  159. package/dist/lib.cjs/adapters/auth-adapter/authAdapter.js +0 -262
  160. package/dist/lib.cjs/adapters/auth-adapter/config.js +0 -17
  161. package/dist/lib.cjs/adapters/coinbase-adapter/coinbaseAdapter.js +0 -156
  162. package/dist/lib.cjs/adapters/default-evm-adapter/index.js +0 -40
  163. package/dist/lib.cjs/adapters/default-evm-adapter/injectedAdapters.js +0 -42
  164. package/dist/lib.cjs/adapters/default-solana-adapter/index.js +0 -40
  165. package/dist/lib.cjs/adapters/default-solana-adapter/injectedAdapters.js +0 -53
  166. package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardHandler.js +0 -77
  167. package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +0 -376
  168. package/dist/lib.cjs/base/adapter/baseAdapter.js +0 -117
  169. package/dist/lib.cjs/base/adapter/constants.js +0 -24
  170. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +0 -29
  171. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +0 -22
  172. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +0 -30
  173. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +0 -30
  174. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +0 -29
  175. package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/constants.js +0 -11
  176. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +0 -185
  177. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +0 -106
  178. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +0 -12
  179. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +0 -75
  180. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +0 -109
  181. package/dist/lib.esm/adapters/auth-adapter/authAdapter.js +0 -260
  182. package/dist/lib.esm/adapters/auth-adapter/config.js +0 -15
  183. package/dist/lib.esm/adapters/coinbase-adapter/coinbaseAdapter.js +0 -154
  184. package/dist/lib.esm/adapters/default-evm-adapter/index.js +0 -37
  185. package/dist/lib.esm/adapters/default-evm-adapter/injectedAdapters.js +0 -40
  186. package/dist/lib.esm/adapters/default-solana-adapter/index.js +0 -37
  187. package/dist/lib.esm/adapters/default-solana-adapter/injectedAdapters.js +0 -51
  188. package/dist/lib.esm/adapters/default-solana-adapter/walletStandardHandler.js +0 -75
  189. package/dist/lib.esm/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +0 -374
  190. package/dist/lib.esm/base/adapter/baseAdapter.js +0 -115
  191. package/dist/lib.esm/base/adapter/constants.js +0 -20
  192. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +0 -27
  193. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +0 -20
  194. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +0 -28
  195. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +0 -28
  196. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +0 -27
  197. package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/constants.js +0 -9
  198. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +0 -183
  199. package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +0 -104
  200. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +0 -10
  201. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +0 -73
  202. package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +0 -107
  203. package/dist/types/adapters/auth-adapter/authAdapter.d.ts +0 -42
  204. package/dist/types/adapters/auth-adapter/config.d.ts +0 -2
  205. package/dist/types/adapters/auth-adapter/index.d.ts +0 -3
  206. package/dist/types/adapters/auth-adapter/interface.d.ts +0 -11
  207. package/dist/types/adapters/base-evm-adapter/baseEvmAdapter.d.ts +0 -7
  208. package/dist/types/adapters/base-evm-adapter/index.d.ts +0 -1
  209. package/dist/types/adapters/base-solana-adapter/baseSolanaAdapter.d.ts +0 -7
  210. package/dist/types/adapters/base-solana-adapter/index.d.ts +0 -1
  211. package/dist/types/adapters/coinbase-adapter/coinbaseAdapter.d.ts +0 -33
  212. package/dist/types/adapters/coinbase-adapter/index.d.ts +0 -1
  213. package/dist/types/adapters/default-evm-adapter/index.d.ts +0 -6
  214. package/dist/types/adapters/default-evm-adapter/injectedAdapters.d.ts +0 -4
  215. package/dist/types/adapters/default-evm-adapter/injectedEvmAdapter.d.ts +0 -30
  216. package/dist/types/adapters/default-solana-adapter/index.d.ts +0 -6
  217. package/dist/types/adapters/default-solana-adapter/injectedAdapters.d.ts +0 -4
  218. package/dist/types/adapters/default-solana-adapter/walletStandardAdapter.d.ts +0 -31
  219. package/dist/types/adapters/default-solana-adapter/walletStandardHandler.d.ts +0 -27
  220. package/dist/types/adapters/index.d.ts +0 -7
  221. package/dist/types/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.d.ts +0 -42
  222. package/dist/types/base/adapter/baseAdapter.d.ts +0 -44
  223. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.d.ts +0 -14
  224. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.d.ts +0 -13
  225. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/LightSmartAccount.d.ts +0 -14
  226. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.d.ts +0 -14
  227. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.d.ts +0 -13
  228. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SimpleSmartAccount.d.ts +0 -13
  229. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.d.ts +0 -13
  230. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/constants.d.ts +0 -9
  231. package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/types.d.ts +0 -22
  232. package/dist/types/providers/account-abstraction-provider/providers/types.d.ts +0 -17
  233. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.d.ts +0 -30
  234. package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.d.ts +0 -9
  235. package/dist/types/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.d.ts +0 -3
  236. package/dist/types/providers/solana-provider/providers/injectedProviders/interface.d.ts +0 -5
  237. package/dist/types/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.d.ts +0 -3
  238. package/dist/types/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.d.ts +0 -18
  239. /package/dist/lib.cjs/base/{adapter → connector}/utils.js +0 -0
  240. /package/dist/lib.cjs/{adapters/default-solana-adapter → providers/solana-provider/providers/injectedProviders}/utils.js +0 -0
  241. /package/dist/lib.esm/base/{adapter → connector}/utils.js +0 -0
  242. /package/dist/lib.esm/{adapters/default-solana-adapter → providers/solana-provider/providers/injectedProviders}/utils.js +0 -0
  243. /package/dist/types/base/{adapter → connector}/utils.d.ts +0 -0
  244. /package/dist/types/{adapters/default-solana-adapter → connectors/injected-solana-connector}/utils.d.ts +0 -0
  245. /package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/utils.d.ts +0 -0
@@ -1,7 +1,6 @@
1
1
  'use strict';
2
2
 
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
- var baseControllers = require('@toruslabs/base-controllers');
5
4
  var auth = require('@web3auth/auth');
6
5
  var baseProvider = require('./baseProvider.js');
7
6
  var jrpcClient = require('./jrpcClient.js');
@@ -17,23 +16,25 @@ class CommonJRPCProvider extends baseProvider.BaseProvider {
17
16
  state
18
17
  });
19
18
  }
20
- async setupProvider() {
19
+ async setupProvider(chainId) {
20
+ const chain = this.getChain(chainId);
21
+ if (!chain) throw auth.providerErrors.custom({
22
+ message: "Chain not found",
23
+ code: 4902
24
+ });
21
25
  const {
22
26
  networkMiddleware
23
- } = jrpcClient.createJsonRpcClient(this.config.chainConfig);
27
+ } = jrpcClient.createJsonRpcClient(chain);
24
28
  const engine = new auth.JRPCEngine();
25
29
  engine.push(networkMiddleware);
26
30
  const provider = auth.providerFromEngine(engine);
27
31
  this.updateProviderEngineProxy(provider);
28
- const newChainId = this.config.chainConfig.chainId;
29
- if (this.state.chainId !== newChainId) {
30
- this.emit("chainChanged", newChainId);
31
- this.emit("connect", {
32
- chainId: newChainId
33
- });
34
- }
32
+ this.emit("chainChanged", chainId);
33
+ this.emit("connect", {
34
+ chainId
35
+ });
35
36
  this.update({
36
- chainId: this.config.chainConfig.chainId
37
+ chainId
37
38
  });
38
39
  }
39
40
  async switchChain(params) {
@@ -41,22 +42,12 @@ class CommonJRPCProvider extends baseProvider.BaseProvider {
41
42
  message: "Provider is not initialized",
42
43
  code: 4902
43
44
  });
44
- const chainConfig = this.getChainConfig(params.chainId);
45
+ const newChainId = params.chainId;
46
+ if (this.chainId === newChainId) return;
45
47
  this.update({
46
48
  chainId: "loading"
47
49
  });
48
- this.configure({
49
- chainConfig
50
- });
51
- await this.setupProvider();
52
- }
53
- updateProviderEngineProxy(provider) {
54
- if (this._providerEngineProxy) {
55
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
- this._providerEngineProxy.setTarget(provider);
57
- } else {
58
- this._providerEngineProxy = baseControllers.createEventEmitterProxy(provider);
59
- }
50
+ await this.setupProvider(newChainId);
60
51
  }
61
52
  getProviderEngineProxy() {
62
53
  return this._providerEngineProxy;
@@ -69,10 +60,14 @@ _CommonJRPCProvider = CommonJRPCProvider;
69
60
  _defineProperty(CommonJRPCProvider, "getProviderInstance", async params => {
70
61
  const providerFactory = new _CommonJRPCProvider({
71
62
  config: {
72
- chainConfig: params.chainConfig
63
+ chain: params.chain,
64
+ chains: params.chains
73
65
  }
74
66
  });
75
- await providerFactory.setupProvider();
67
+ const {
68
+ chainId
69
+ } = params.chain;
70
+ await providerFactory.setupProvider(chainId);
76
71
  return providerFactory;
77
72
  });
78
73
 
@@ -20,24 +20,25 @@ class BaseProvider extends baseControllers.BaseController {
20
20
  // set to true when the keyExportEnabled flag is set by code.
21
21
  // This is to prevent the flag from being overridden by the dashboard config.
22
22
  _defineProperty(this, "keyExportFlagSetByCode", false);
23
- if (!config.chainConfig) throw index.WalletInitializationError.invalidProviderConfigError("Please provide chainConfig");
24
- if (!config.chainConfig.chainId) throw index.WalletInitializationError.invalidProviderConfigError("Please provide chainId inside chainConfig");
25
- if (!config.chainConfig.rpcTarget) throw index.WalletInitializationError.invalidProviderConfigError("Please provide rpcTarget inside chainConfig");
23
+ const {
24
+ chain
25
+ } = config;
26
+ if (!chain) throw index.WalletInitializationError.invalidProviderConfigError("Please provide chain");
27
+ if (!chain.chainId) throw index.WalletInitializationError.invalidProviderConfigError("Please provide chainId inside chain");
28
+ if (!chain.rpcTarget) throw index.WalletInitializationError.invalidProviderConfigError("Please provide rpcTarget inside chain");
26
29
  if (typeof config.keyExportEnabled === "boolean") this.keyExportFlagSetByCode = true;
27
30
  this.defaultState = {
28
31
  chainId: "loading"
29
32
  };
30
33
  this.defaultConfig = {
31
- chainConfig: config.chainConfig,
32
- networks: {
33
- [config.chainConfig.chainId]: config.chainConfig
34
- },
34
+ chain: config.chain,
35
+ chains: config.chains,
35
36
  keyExportEnabled: typeof config.keyExportEnabled === "boolean" ? config.keyExportEnabled : true
36
37
  };
37
38
  super.initialize();
38
39
  }
39
- get currentChainConfig() {
40
- return this.config.chainConfig;
40
+ get currentChain() {
41
+ return this.config.chains.find(chain => chain.chainId === this.state.chainId);
41
42
  }
42
43
  get provider() {
43
44
  return this._providerEngineProxy;
@@ -89,25 +90,18 @@ class BaseProvider extends baseControllers.BaseController {
89
90
  result: res
90
91
  })).catch(err => callback(err, null));
91
92
  }
92
- addChain(chainConfig) {
93
- if (!chainConfig.chainId) throw auth.rpcErrors.invalidParams("chainId is required");
94
- if (!chainConfig.rpcTarget) throw auth.rpcErrors.invalidParams("chainId is required");
95
- this.configure({
96
- networks: _objectSpread(_objectSpread({}, this.config.networks), {}, {
97
- [chainConfig.chainId]: chainConfig
98
- })
99
- });
100
- }
101
- getChainConfig(chainId) {
102
- var _this$config$networks;
103
- const chainConfig = (_this$config$networks = this.config.networks) === null || _this$config$networks === void 0 ? void 0 : _this$config$networks[chainId];
104
- if (!chainConfig) throw auth.rpcErrors.invalidRequest(`Chain ${chainId} is not supported, please add chainConfig for it`);
105
- return chainConfig;
106
- }
107
93
  updateProviderEngineProxy(provider) {
108
94
  if (this._providerEngineProxy) {
109
95
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
110
96
  this._providerEngineProxy.setTarget(provider);
97
+ // re-emit events from provider
98
+ this._providerEngineProxy.eventNames().forEach(event => {
99
+ provider.on(event, (...args) => {
100
+ // eslint-disable-next-line
101
+ this.emit(event, ...args);
102
+ });
103
+ });
104
+ this.handleChainChangedProvider();
111
105
  } else {
112
106
  this._providerEngineProxy = baseControllers.createEventEmitterProxy(provider);
113
107
  }
@@ -122,6 +116,17 @@ class BaseProvider extends baseControllers.BaseController {
122
116
  getProviderEngineProxy() {
123
117
  return this._providerEngineProxy;
124
118
  }
119
+ getChain(chainId) {
120
+ return this.config.chains.find(chain => chain.chainId === chainId);
121
+ }
122
+ handleChainChangedProvider() {
123
+ // This is only added because we don't have ethereum and solana private key providers anymore
124
+ this.provider.on("chainChanged", chainId => {
125
+ this.update({
126
+ chainId
127
+ });
128
+ });
129
+ }
125
130
  }
126
131
 
127
132
  exports.BaseProvider = BaseProvider;
@@ -1,7 +1,6 @@
1
1
  'use strict';
2
2
 
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
- var baseControllers = require('@toruslabs/base-controllers');
5
4
  var auth = require('@web3auth/auth');
6
5
  var baseProvider = require('./baseProvider.js');
7
6
 
@@ -24,9 +23,6 @@ class CommonPrivateKeyProvider extends baseProvider.BaseProvider {
24
23
  set provider(_) {
25
24
  throw new Error("Method not implemented.");
26
25
  }
27
- addChain(_) {
28
- throw new Error("Method not implemented.");
29
- }
30
26
  async setupProvider(privKey) {
31
27
  const privKeyMiddleware = this.getPrivKeyMiddleware(privKey);
32
28
  const engine = new auth.JRPCEngine();
@@ -34,14 +30,6 @@ class CommonPrivateKeyProvider extends baseProvider.BaseProvider {
34
30
  const provider = auth.providerFromEngine(engine);
35
31
  this.updateProviderEngineProxy(provider);
36
32
  }
37
- updateProviderEngineProxy(provider) {
38
- if (this._providerEngineProxy) {
39
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
40
- this._providerEngineProxy.setTarget(provider);
41
- } else {
42
- this._providerEngineProxy = baseControllers.createEventEmitterProxy(provider);
43
- }
44
- }
45
33
  async switchChain(_) {
46
34
  return Promise.resolve();
47
35
  }
@@ -79,7 +67,8 @@ _CommonPrivateKeyProvider = CommonPrivateKeyProvider;
79
67
  _defineProperty(CommonPrivateKeyProvider, "getProviderInstance", async params => {
80
68
  const providerFactory = new _CommonPrivateKeyProvider({
81
69
  config: {
82
- chainConfig: params.chainConfig
70
+ chain: params.chain,
71
+ chains: params.chains
83
72
  }
84
73
  });
85
74
  await providerFactory.setupProvider(params.privKey);
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ var baseProvider = require('./baseProvider.js');
4
+ var CommonJRPCProvider = require('./CommonJRPCProvider.js');
5
+ var commonPrivateKeyProvider = require('./commonPrivateKeyProvider.js');
6
+ var utils = require('./utils.js');
7
+ var auth = require('@web3auth/auth');
8
+
9
+
10
+
11
+ exports.BaseProvider = baseProvider.BaseProvider;
12
+ exports.CommonJRPCProvider = CommonJRPCProvider.CommonJRPCProvider;
13
+ exports.CommonPrivateKeyProvider = commonPrivateKeyProvider.CommonPrivateKeyProvider;
14
+ exports.createRandomId = utils.createRandomId;
15
+ Object.defineProperty(exports, "getED25519Key", {
16
+ enumerable: true,
17
+ get: function () { return auth.getED25519Key; }
18
+ });
@@ -6,10 +6,10 @@ var util = require('@ethereumjs/util');
6
6
  var auth = require('@web3auth/auth');
7
7
  var IChainInterface = require('../../../../base/chain/IChainInterface.js');
8
8
  var index = require('../../../../base/errors/index.js');
9
+ var baseProvider = require('../../../base-provider/baseProvider.js');
9
10
  var ethRpcMiddlewares$1 = require('../../rpc/ethRpcMiddlewares.js');
10
11
  var signingUtils = require('./signingUtils.js');
11
12
  var formatter = require('../../../ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js');
12
- var baseProvider = require('../../../base-provider/baseProvider.js');
13
13
  var ethRpcMiddlewares = require('../../../ethereum-provider/rpc/ethRpcMiddlewares.js');
14
14
  var jrpcClient = require('../../../ethereum-provider/rpc/jrpcClient.js');
15
15
 
@@ -21,9 +21,10 @@ class EthereumSigningProvider extends baseProvider.BaseProvider {
21
21
  }) {
22
22
  super({
23
23
  config: {
24
- chainConfig: _objectSpread(_objectSpread({}, config.chainConfig), {}, {
25
- chainNamespace: IChainInterface.CHAIN_NAMESPACES.EIP155
26
- })
24
+ chain: _objectSpread(_objectSpread({}, config.chain), {}, {
25
+ chainNamespace: IChainInterface.CHAIN_NAMESPACES.EIP155 // TODO: is this needed ?
26
+ }),
27
+ chains: config.chains
27
28
  },
28
29
  state
29
30
  });
@@ -34,18 +35,20 @@ class EthereumSigningProvider extends baseProvider.BaseProvider {
34
35
  message: "signMethods are not found in state, plz pass it in constructor state param",
35
36
  code: 4902
36
37
  });
37
- await this.setupProvider(this.state.signMethods);
38
+ await this.setupProvider(this.state.signMethods, this.chainId);
38
39
  return this._providerEngineProxy.request({
39
40
  method: "eth_accounts"
40
41
  });
41
42
  }
42
- async setupProvider({
43
- sign,
44
- getPublic
45
- }) {
43
+ async setupProvider(params, chainId) {
44
+ const {
45
+ sign,
46
+ getPublic
47
+ } = params;
48
+ const chain = this.getChain(chainId);
46
49
  const {
47
50
  chainNamespace
48
- } = this.config.chainConfig;
51
+ } = chain;
49
52
  if (chainNamespace !== this.PROVIDER_CHAIN_NAMESPACE) throw index.WalletInitializationError.incompatibleChainNameSpace("Invalid chain namespace");
50
53
  const txFormatter = new formatter.TransactionFormatter({
51
54
  getProviderEngineProxy: this.getProviderEngineProxy.bind(this)
@@ -62,7 +65,7 @@ class EthereumSigningProvider extends baseProvider.BaseProvider {
62
65
  // Not a partial anymore because of checks in ctor
63
66
  const {
64
67
  networkMiddleware
65
- } = jrpcClient.createEthJsonRpcClient(this.config.chainConfig);
68
+ } = jrpcClient.createEthJsonRpcClient(chain);
66
69
  engine.push(ethMiddleware);
67
70
  engine.push(chainSwitchMiddleware);
68
71
  engine.push(this.getAccountMiddleware());
@@ -70,11 +73,18 @@ class EthereumSigningProvider extends baseProvider.BaseProvider {
70
73
  const provider = auth.providerFromEngine(engine);
71
74
  this.updateProviderEngineProxy(provider);
72
75
  await txFormatter.init();
73
- await this.lookupNetwork();
76
+ await this.lookupNetwork(params, chainId);
74
77
  this.state.signMethods = {
75
78
  sign,
76
79
  getPublic
77
80
  };
81
+ this.emit("chainChanged", chainId);
82
+ this.emit("connect", {
83
+ chainId
84
+ });
85
+ this.update({
86
+ chainId
87
+ });
78
88
  }
79
89
  async updateAccount(params) {
80
90
  if (!this._providerEngineProxy) throw auth.providerErrors.custom({
@@ -91,7 +101,7 @@ class EthereumSigningProvider extends baseProvider.BaseProvider {
91
101
  const currentPubKey = (await currentSignMethods.getPublic()).toString("hex");
92
102
  const updatePubKey = (await params.signMethods.getPublic()).toString("hex");
93
103
  if (currentPubKey !== updatePubKey) {
94
- await this.setupProvider(params.signMethods);
104
+ await this.setupProvider(params.signMethods, this.chainId);
95
105
  const accounts = await this._providerEngineProxy.request({
96
106
  method: "eth_accounts"
97
107
  });
@@ -103,29 +113,25 @@ class EthereumSigningProvider extends baseProvider.BaseProvider {
103
113
  message: "Provider is not initialized",
104
114
  code: 4902
105
115
  });
106
- const chainConfig = this.getChainConfig(params.chainId);
107
- this.update({
108
- chainId: "loading"
109
- });
110
- this.configure({
111
- chainConfig
112
- });
113
116
  if (!this.state.signMethods) {
114
117
  throw auth.providerErrors.custom({
115
118
  message: "sign methods are undefined",
116
119
  code: 4902
117
120
  });
118
121
  }
119
- await this.setupProvider(this.state.signMethods);
122
+ if (params.chainId === this.chainId) {
123
+ return;
124
+ }
125
+ this.update({
126
+ chainId: "loading"
127
+ });
128
+ await this.setupProvider(this.state.signMethods, params.chainId);
120
129
  }
121
- async lookupNetwork() {
130
+ async lookupNetwork(_, chainId) {
122
131
  if (!this._providerEngineProxy) throw auth.providerErrors.custom({
123
132
  message: "Provider is not initialized",
124
133
  code: 4902
125
134
  });
126
- const {
127
- chainId
128
- } = this.config.chainConfig;
129
135
  if (!chainId) throw auth.rpcErrors.invalidParams("chainId is required while lookupNetwork");
130
136
  const network = await this._providerEngineProxy.request({
131
137
  method: "net_version",
@@ -133,40 +139,10 @@ class EthereumSigningProvider extends baseProvider.BaseProvider {
133
139
  });
134
140
  const finalNetwork = util.isHexString(network) ? parseInt(network, 16) : parseInt(network, 10);
135
141
  if (parseInt(chainId, 16) !== finalNetwork) throw auth.providerErrors.chainDisconnected(`Invalid network, net_version is: ${network}`);
136
- if (this.state.chainId !== chainId) {
137
- this.emit("chainChanged", chainId);
138
- this.emit("connect", {
139
- chainId
140
- });
141
- }
142
- this.update({
143
- chainId
144
- });
145
142
  return network;
146
143
  }
147
144
  getChainSwitchMiddleware() {
148
145
  const chainSwitchHandlers = {
149
- addChain: async params => {
150
- const {
151
- chainId,
152
- chainName,
153
- rpcUrls,
154
- blockExplorerUrls,
155
- nativeCurrency,
156
- iconUrls
157
- } = params;
158
- this.addChain({
159
- chainNamespace: IChainInterface.CHAIN_NAMESPACES.EIP155,
160
- chainId,
161
- ticker: (nativeCurrency === null || nativeCurrency === void 0 ? void 0 : nativeCurrency.symbol) || "ETH",
162
- tickerName: (nativeCurrency === null || nativeCurrency === void 0 ? void 0 : nativeCurrency.name) || "Ether",
163
- displayName: chainName,
164
- rpcTarget: rpcUrls[0],
165
- blockExplorerUrl: (blockExplorerUrls === null || blockExplorerUrls === void 0 ? void 0 : blockExplorerUrls[0]) || "",
166
- decimals: (nativeCurrency === null || nativeCurrency === void 0 ? void 0 : nativeCurrency.decimals) || 18,
167
- logo: (iconUrls === null || iconUrls === void 0 ? void 0 : iconUrls[0]) || "https://images.toruswallet.io/eth.svg"
168
- });
169
- },
170
146
  switchChain: async params => {
171
147
  const {
172
148
  chainId
@@ -189,10 +165,11 @@ _EthereumSigningProvider = EthereumSigningProvider;
189
165
  _defineProperty(EthereumSigningProvider, "getProviderInstance", async params => {
190
166
  const providerFactory = new _EthereumSigningProvider({
191
167
  config: {
192
- chainConfig: params.chainConfig
168
+ chain: params.chain,
169
+ chains: params.chains
193
170
  }
194
171
  });
195
- await providerFactory.setupProvider(params.signMethods);
172
+ await providerFactory.setupProvider(params.signMethods, params.chain.chainId);
196
173
  return providerFactory;
197
174
  });
198
175
 
@@ -29,47 +29,18 @@ function createEthMiddleware(providerHandlers) {
29
29
  return ethMiddleware;
30
30
  }
31
31
  function createEthChainSwitchMiddleware({
32
- addChain,
33
32
  switchChain
34
33
  }) {
35
- async function addNewChain(req, res) {
34
+ async function updateChain(req, res) {
36
35
  var _req$params;
37
36
  const chainParams = (_req$params = req.params) !== null && _req$params !== void 0 && _req$params.length ? req.params[0] : undefined;
38
- if (!chainParams) throw auth.rpcErrors.invalidParams("Missing chain params");
39
- if (!chainParams.chainId) throw auth.rpcErrors.invalidParams("Missing chainId in chainParams");
40
- if (!chainParams.rpcUrls || chainParams.rpcUrls.length === 0) throw auth.rpcErrors.invalidParams("Missing rpcUrls in chainParams");
41
- if (!chainParams.nativeCurrency) throw auth.rpcErrors.invalidParams("Missing nativeCurrency in chainParams");
42
- res.result = await addChain(chainParams);
43
- }
44
- async function updateChain(req, res) {
45
- var _req$params2;
46
- const chainParams = (_req$params2 = req.params) !== null && _req$params2 !== void 0 && _req$params2.length ? req.params[0] : undefined;
47
37
  if (!chainParams) throw auth.rpcErrors.invalidParams("Missing chainId");
48
38
  res.result = await switchChain(chainParams);
49
39
  }
50
40
  return auth.createScaffoldMiddleware({
51
- wallet_addEthereumChain: auth.createAsyncMiddleware(addNewChain),
52
41
  wallet_switchEthereumChain: auth.createAsyncMiddleware(updateChain)
53
42
  });
54
43
  }
55
44
 
56
- // #region account middlewares
57
- function createEthAccountMiddleware({
58
- updatePrivatekey
59
- }) {
60
- async function updateAccount(req, res) {
61
- var _req$params3;
62
- const accountParams = (_req$params3 = req.params) !== null && _req$params3 !== void 0 && _req$params3.length ? req.params[0] : undefined;
63
- if (!(accountParams !== null && accountParams !== void 0 && accountParams.privateKey)) throw auth.rpcErrors.invalidParams("Missing privateKey");
64
- res.result = await updatePrivatekey(accountParams);
65
- }
66
- return auth.createScaffoldMiddleware({
67
- wallet_updateAccount: auth.createAsyncMiddleware(updateAccount)
68
- });
69
- }
70
-
71
- // #endregion account middlewares
72
-
73
- exports.createEthAccountMiddleware = createEthAccountMiddleware;
74
45
  exports.createEthChainSwitchMiddleware = createEthChainSwitchMiddleware;
75
46
  exports.createEthMiddleware = createEthMiddleware;
@@ -2,9 +2,9 @@
2
2
 
3
3
  var auth = require('@web3auth/auth');
4
4
  var index = require('../../../../../base/errors/index.js');
5
+ var baseProvider = require('../../../../base-provider/baseProvider.js');
5
6
  var JrpcClient = require('../../../rpc/JrpcClient.js');
6
7
  var solanaRpcMiddlewares = require('../../../rpc/solanaRpcMiddlewares.js');
7
- var baseProvider = require('../../../../base-provider/baseProvider.js');
8
8
 
9
9
  class BaseInjectedProvider extends baseProvider.BaseProvider {
10
10
  constructor({
@@ -17,14 +17,15 @@ class BaseInjectedProvider extends baseProvider.BaseProvider {
17
17
  });
18
18
  }
19
19
  async switchChain(_) {
20
- throw index.WalletLoginError.unsupportedOperation("Chain switching is not supported by this adapter");
20
+ throw index.WalletLoginError.unsupportedOperation("Chain switching is not supported by this connector");
21
21
  }
22
- async setupProvider(injectedProvider) {
22
+ async setupProvider(injectedProvider, chainId) {
23
23
  const engine = new auth.JRPCEngine();
24
+ const chain = this.getChain(chainId);
24
25
  const providerHandlers = this.getProviderHandlers(injectedProvider);
25
26
  const solanaMiddleware = solanaRpcMiddlewares.createSolanaMiddleware(providerHandlers);
26
27
  engine.push(solanaMiddleware);
27
- const configMiddleware = JrpcClient.createConfigMiddleware(this.config.chainConfig);
28
+ const configMiddleware = JrpcClient.createConfigMiddleware(chain);
28
29
  engine.push(configMiddleware);
29
30
  const injectedProviderProxy = this.getInjectedProviderProxy(injectedProvider);
30
31
  if (injectedProviderProxy) {
@@ -32,16 +33,13 @@ class BaseInjectedProvider extends baseProvider.BaseProvider {
32
33
  }
33
34
  const provider = auth.providerFromEngine(engine);
34
35
  this.updateProviderEngineProxy(provider);
35
- await this.lookupNetwork();
36
+ await this.lookupNetwork(injectedProvider, chainId);
36
37
  }
37
- async lookupNetwork() {
38
- const {
39
- chainConfig
40
- } = this.config;
38
+ async lookupNetwork(_injectedProvider, chainId) {
41
39
  this.update({
42
- chainId: chainConfig.chainId
40
+ chainId
43
41
  });
44
- return chainConfig.chainId || "";
42
+ return chainId || "";
45
43
  }
46
44
  getInjectedProviderProxy(_) {
47
45
  return undefined;
@@ -23,8 +23,8 @@ const getBaseProviderHandlers = injectedProvider => {
23
23
  return transaction;
24
24
  },
25
25
  signMessage: async req => {
26
- const sigData = await injectedProvider.signMessage(req.params.message, req.params.display);
27
- return sigData.signature;
26
+ const sigData = await injectedProvider.signMessage(req.params.data, req.params.from, req.params.display);
27
+ return sigData;
28
28
  },
29
29
  signAllTransactions: async req => {
30
30
  var _req$params, _req$params2;
@@ -36,9 +36,7 @@ const getBaseProviderHandlers = injectedProvider => {
36
36
  },
37
37
  signAndSendTransaction: async req => {
38
38
  const txRes = await injectedProvider.signAndSendTransaction(req.params.message);
39
- return {
40
- signature: txRes.signature
41
- };
39
+ return txRes;
42
40
  }
43
41
  };
44
42
  return providerHandlers;
@@ -1,11 +1,92 @@
1
1
  'use strict';
2
2
 
3
+ var walletStandardFeatures = require('@solana/wallet-standard-features');
4
+ var web3_js = require('@solana/web3.js');
5
+ var bs58 = require('bs58');
6
+ var index = require('../../../../base/errors/index.js');
3
7
  var baseInjectedProvider = require('./base/baseInjectedProvider.js');
4
8
  var providerHandlers = require('./base/providerHandlers.js');
9
+ var utils = require('./utils.js');
5
10
 
6
11
  class WalletStandardProvider extends baseInjectedProvider.BaseInjectedProvider {
7
- getProviderHandlers(injectedProvider) {
8
- return providerHandlers.getBaseProviderHandlers(injectedProvider);
12
+ getProviderHandlers(wallet) {
13
+ const chainIdentifier = utils.getSolanaChainByChainConfig(this.config.chain);
14
+ const currentAccount = () => {
15
+ const account = wallet === null || wallet === void 0 ? void 0 : wallet.accounts[0];
16
+ if (!account) throw index.WalletLoginError.notConnectedError();
17
+ return account;
18
+ };
19
+
20
+ /**
21
+ * Signs a message and returns the signature
22
+ * @param message - The message to sign
23
+ * @returns The signature of the message encoded in base58
24
+ */
25
+ const signMessage = async message => {
26
+ const account = currentAccount();
27
+ const uint8ArrayMessage = new Uint8Array(Buffer.from(message, "utf-8"));
28
+ const signature = await wallet.features[walletStandardFeatures.SolanaSignMessage].signMessage({
29
+ account,
30
+ message: uint8ArrayMessage
31
+ });
32
+ return bs58.encode(signature[0].signature);
33
+ };
34
+
35
+ /**
36
+ * Signs a transaction and returns the signature
37
+ * @param transaction - The transaction to sign
38
+ * @returns The signature of the transaction encoded in base58
39
+ */
40
+ const signTransaction = async transaction => {
41
+ const account = currentAccount();
42
+ const output = await wallet.features[walletStandardFeatures.SolanaSignTransaction].signTransaction({
43
+ account,
44
+ transaction: new Uint8Array(Buffer.from(transaction, "base64")),
45
+ chain: chainIdentifier
46
+ });
47
+ return bs58.encode(web3_js.VersionedTransaction.deserialize(output[0].signedTransaction).signatures[0]);
48
+ };
49
+
50
+ /**
51
+ * Signs multiple transactions and returns the serialized transactions
52
+ * @param transactions - The transactions to sign
53
+ * @returns The serialized transactions encoded in base64
54
+ */
55
+ const signAllTransactions = async transactions => {
56
+ const account = currentAccount();
57
+ return Promise.all(transactions.map(async transaction => {
58
+ const output = await wallet.features[walletStandardFeatures.SolanaSignTransaction].signTransaction({
59
+ account,
60
+ transaction: new Uint8Array(Buffer.from(transaction, "base64")),
61
+ chain: chainIdentifier
62
+ });
63
+ return Buffer.from(output[0].signedTransaction).toString("base64");
64
+ }));
65
+ };
66
+
67
+ /**
68
+ * Signs a transaction and sends it to the network
69
+ * @param transaction - The transaction to sign and send
70
+ * @returns The signature of the transaction encoded in base58
71
+ */
72
+ const signAndSendTransaction = async transaction => {
73
+ const account = currentAccount();
74
+ const output = await wallet.features[walletStandardFeatures.SolanaSignAndSendTransaction].signAndSendTransaction({
75
+ account,
76
+ transaction: new Uint8Array(Buffer.from(transaction, "base64")),
77
+ chain: chainIdentifier
78
+ });
79
+ return bs58.encode(output[0].signature);
80
+ };
81
+ return providerHandlers.getBaseProviderHandlers({
82
+ get publicKey() {
83
+ return new web3_js.PublicKey(currentAccount().publicKey);
84
+ },
85
+ signMessage,
86
+ signTransaction,
87
+ signAllTransactions,
88
+ signAndSendTransaction
89
+ });
9
90
  }
10
91
  }
11
92