@gala-chain/launchpad-sdk 8.1.0 → 9.0.0-rc.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 (372) hide show
  1. package/CHANGELOG.md +837 -0
  2. package/EXAMPLES.md +95 -681
  3. package/MIGRATING-TO-9.0.md +343 -0
  4. package/README.md +46 -17
  5. package/dist/LaunchpadSDK.d.ts +536 -616
  6. package/dist/LaunchpadSDK.d.ts.map +1 -1
  7. package/dist/api/LaunchpadAPI.d.ts +6 -176
  8. package/dist/api/LaunchpadAPI.d.ts.map +1 -1
  9. package/dist/auth/SessionAuthService.d.ts +32 -2
  10. package/dist/auth/SessionAuthService.d.ts.map +1 -1
  11. package/dist/auth/SignatureAuth.d.ts +2 -2
  12. package/dist/auth/SignatureAuth.d.ts.map +1 -1
  13. package/dist/auth/session.d.ts +59 -0
  14. package/dist/auth/session.d.ts.map +1 -0
  15. package/dist/auth/types.d.ts +7 -2
  16. package/dist/auth/types.d.ts.map +1 -1
  17. package/dist/config/environments.d.ts +7 -2
  18. package/dist/config/environments.d.ts.map +1 -1
  19. package/dist/constants/decimals.d.ts +0 -23
  20. package/dist/constants/decimals.d.ts.map +1 -1
  21. package/dist/constants/endpoints.d.ts +19 -8
  22. package/dist/constants/endpoints.d.ts.map +1 -1
  23. package/dist/constants/enums.d.ts +19 -0
  24. package/dist/constants/enums.d.ts.map +1 -1
  25. package/dist/constants/version.generated.d.ts +1 -1
  26. package/dist/constants/version.generated.d.ts.map +1 -1
  27. package/dist/errors/LaunchpadSDKError.d.ts +18 -0
  28. package/dist/errors/LaunchpadSDKError.d.ts.map +1 -1
  29. package/dist/helpers/sdk.d.ts.map +1 -1
  30. package/dist/index.browser.d.ts +40 -45
  31. package/dist/index.browser.d.ts.map +1 -1
  32. package/dist/index.browser.esm.js +1 -1
  33. package/dist/index.cjs +1 -1
  34. package/dist/index.esm.js +1 -1
  35. package/dist/index.js +1 -1
  36. package/dist/index.node.d.ts +4 -5
  37. package/dist/index.node.d.ts.map +1 -1
  38. package/dist/launchpad/bundle-submission.d.ts +57 -10
  39. package/dist/launchpad/bundle-submission.d.ts.map +1 -1
  40. package/dist/launchpad/create-sale-validation.d.ts +19 -0
  41. package/dist/launchpad/create-sale-validation.d.ts.map +1 -0
  42. package/dist/launchpad/transport.d.ts +33 -2
  43. package/dist/launchpad/transport.d.ts.map +1 -1
  44. package/dist/launchpad/writes.d.ts +37 -11
  45. package/dist/launchpad/writes.d.ts.map +1 -1
  46. package/dist/native.cjs +1 -1
  47. package/dist/native.d.ts +4 -5
  48. package/dist/native.d.ts.map +1 -1
  49. package/dist/native.esm.js +1 -1
  50. package/dist/schemas/launchpad.d.ts +3 -2
  51. package/dist/schemas/launchpad.d.ts.map +1 -1
  52. package/dist/schemas/primitives.d.ts +12 -2
  53. package/dist/schemas/primitives.d.ts.map +1 -1
  54. package/dist/schemas/user.d.ts +3 -18
  55. package/dist/schemas/user.d.ts.map +1 -1
  56. package/dist/schemas/validators.d.ts +3 -3
  57. package/dist/services/AbstractCacheService.d.ts +2 -2
  58. package/dist/services/ApiKeyService.d.ts +1 -1
  59. package/dist/services/BanService.d.ts +1 -1
  60. package/dist/services/ChartService.d.ts.map +1 -1
  61. package/dist/services/ContentReactionService.d.ts +6 -18
  62. package/dist/services/ContentReactionService.d.ts.map +1 -1
  63. package/dist/services/EventsQueryService.d.ts +47 -0
  64. package/dist/services/EventsQueryService.d.ts.map +1 -0
  65. package/dist/services/GalaChainBalanceService.d.ts +17 -89
  66. package/dist/services/GalaChainBalanceService.d.ts.map +1 -1
  67. package/dist/services/GalaChainLockService.d.ts +19 -20
  68. package/dist/services/GalaChainLockService.d.ts.map +1 -1
  69. package/dist/services/GalaChainService.d.ts +28 -15
  70. package/dist/services/GalaChainService.d.ts.map +1 -1
  71. package/dist/services/GalaChainTokenService.d.ts +25 -53
  72. package/dist/services/GalaChainTokenService.d.ts.map +1 -1
  73. package/dist/services/GalaChainTransferService.d.ts +42 -41
  74. package/dist/services/GalaChainTransferService.d.ts.map +1 -1
  75. package/dist/services/HealthService.d.ts +33 -0
  76. package/dist/services/HealthService.d.ts.map +1 -0
  77. package/dist/services/ImageService.d.ts +3 -3
  78. package/dist/services/ImageService.d.ts.map +1 -1
  79. package/dist/services/LaunchpadPriceService.d.ts +66 -0
  80. package/dist/services/LaunchpadPriceService.d.ts.map +1 -0
  81. package/dist/services/LaunchpadService.d.ts +34 -42
  82. package/dist/services/LaunchpadService.d.ts.map +1 -1
  83. package/dist/services/MessagesService.d.ts +12 -44
  84. package/dist/services/MessagesService.d.ts.map +1 -1
  85. package/dist/services/ModeratorService.d.ts +2 -2
  86. package/dist/services/ModeratorService.d.ts.map +1 -1
  87. package/dist/services/NftCollectionService.d.ts +22 -6
  88. package/dist/services/NftCollectionService.d.ts.map +1 -1
  89. package/dist/services/OverseerService.d.ts +3 -3
  90. package/dist/services/OverseerService.d.ts.map +1 -1
  91. package/dist/services/PlatformStatsService.d.ts +1 -2
  92. package/dist/services/PlatformStatsService.d.ts.map +1 -1
  93. package/dist/services/PoolService.d.ts +28 -65
  94. package/dist/services/PoolService.d.ts.map +1 -1
  95. package/dist/services/RestrictedNamesService.d.ts +1 -1
  96. package/dist/services/RestrictedNamesService.d.ts.map +1 -1
  97. package/dist/services/StreamChatService.d.ts +8 -19
  98. package/dist/services/StreamChatService.d.ts.map +1 -1
  99. package/dist/services/StreamTokenServiceBase.d.ts +2 -1
  100. package/dist/services/StreamTokenServiceBase.d.ts.map +1 -1
  101. package/dist/services/StreamWebSocketService.d.ts +423 -451
  102. package/dist/services/StreamWebSocketService.d.ts.map +1 -1
  103. package/dist/services/StreamingService.d.ts +14 -15
  104. package/dist/services/StreamingService.d.ts.map +1 -1
  105. package/dist/services/TokenBanService.d.ts +1 -1
  106. package/dist/services/TokenResolverService.d.ts +5 -5
  107. package/dist/services/TokenResolverService.d.ts.map +1 -1
  108. package/dist/services/TradeService.d.ts +13 -9
  109. package/dist/services/TradeService.d.ts.map +1 -1
  110. package/dist/services/TradingQuotesService.d.ts.map +1 -1
  111. package/dist/services/UserService.d.ts +64 -20
  112. package/dist/services/UserService.d.ts.map +1 -1
  113. package/dist/services/gateway-transport.d.ts +32 -0
  114. package/dist/services/gateway-transport.d.ts.map +1 -0
  115. package/dist/services/gateway-writes.d.ts +83 -0
  116. package/dist/services/gateway-writes.d.ts.map +1 -0
  117. package/dist/services/realtime/event-catalog.d.ts +456 -0
  118. package/dist/services/realtime/event-catalog.d.ts.map +1 -0
  119. package/dist/services/shared/pagination-helpers.d.ts +22 -5
  120. package/dist/services/shared/pagination-helpers.d.ts.map +1 -1
  121. package/dist/services/shared/service-validators.d.ts.map +1 -1
  122. package/dist/signing/index.d.ts +2 -3
  123. package/dist/signing/index.d.ts.map +1 -1
  124. package/dist/signing/signers.d.ts +64 -9
  125. package/dist/signing/signers.d.ts.map +1 -1
  126. package/dist/signing/types.d.ts +7 -10
  127. package/dist/signing/types.d.ts.map +1 -1
  128. package/dist/types/api-key.dto.d.ts +1 -1
  129. package/dist/types/ban.dto.d.ts +21 -16
  130. package/dist/types/ban.dto.d.ts.map +1 -1
  131. package/dist/types/burn.dto.d.ts +4 -2
  132. package/dist/types/burn.dto.d.ts.map +1 -1
  133. package/dist/types/chat-messages.dto.d.ts +10 -72
  134. package/dist/types/chat-messages.dto.d.ts.map +1 -1
  135. package/dist/types/comments.dto.d.ts +8 -78
  136. package/dist/types/comments.dto.d.ts.map +1 -1
  137. package/dist/types/common.d.ts +42 -85
  138. package/dist/types/common.d.ts.map +1 -1
  139. package/dist/types/constraints.d.ts +47 -23
  140. package/dist/types/constraints.d.ts.map +1 -1
  141. package/dist/types/content-flag.dto.d.ts +5 -1
  142. package/dist/types/content-flag.dto.d.ts.map +1 -1
  143. package/dist/types/content-reactions.dto.d.ts +0 -4
  144. package/dist/types/content-reactions.dto.d.ts.map +1 -1
  145. package/dist/types/dto.d.ts +0 -5
  146. package/dist/types/dto.d.ts.map +1 -1
  147. package/dist/types/engagement-stats.dto.d.ts +16 -27
  148. package/dist/types/engagement-stats.dto.d.ts.map +1 -1
  149. package/dist/types/events.dto.d.ts +89 -0
  150. package/dist/types/events.dto.d.ts.map +1 -1
  151. package/dist/types/global-feed.dto.d.ts +23 -164
  152. package/dist/types/global-feed.dto.d.ts.map +1 -1
  153. package/dist/types/health.dto.d.ts +32 -0
  154. package/dist/types/health.dto.d.ts.map +1 -0
  155. package/dist/types/launchpad.dto.d.ts +77 -323
  156. package/dist/types/launchpad.dto.d.ts.map +1 -1
  157. package/dist/types/lock.dto.d.ts +12 -7
  158. package/dist/types/lock.dto.d.ts.map +1 -1
  159. package/dist/types/messages.dto.d.ts +168 -118
  160. package/dist/types/messages.dto.d.ts.map +1 -1
  161. package/dist/types/moderator.dto.d.ts +1 -1
  162. package/dist/types/options.dto.d.ts +8 -36
  163. package/dist/types/options.dto.d.ts.map +1 -1
  164. package/dist/types/overseer.dto.d.ts +2 -1
  165. package/dist/types/overseer.dto.d.ts.map +1 -1
  166. package/dist/types/platform-stats.dto.d.ts +3 -3
  167. package/dist/types/realtime-events.dto.d.ts +340 -0
  168. package/dist/types/realtime-events.dto.d.ts.map +1 -0
  169. package/dist/types/restricted-names.dto.d.ts +2 -2
  170. package/dist/types/restricted-names.dto.d.ts.map +1 -1
  171. package/dist/types/stream-chat.dto.d.ts +15 -14
  172. package/dist/types/stream-chat.dto.d.ts.map +1 -1
  173. package/dist/types/streaming.dto.d.ts +73 -104
  174. package/dist/types/streaming.dto.d.ts.map +1 -1
  175. package/dist/types/token-ban.dto.d.ts.map +1 -1
  176. package/dist/types/token-config.dto.d.ts +34 -19
  177. package/dist/types/token-config.dto.d.ts.map +1 -1
  178. package/dist/types/trades-query.dto.d.ts +8 -24
  179. package/dist/types/trades-query.dto.d.ts.map +1 -1
  180. package/dist/types/user.dto.d.ts +133 -112
  181. package/dist/types/user.dto.d.ts.map +1 -1
  182. package/dist/types/websocket-events.dto.d.ts +5 -5
  183. package/dist/types/websocket-events.dto.d.ts.map +1 -1
  184. package/dist/utils/address-formatter.d.ts +25 -2
  185. package/dist/utils/address-formatter.d.ts.map +1 -1
  186. package/dist/utils/agent-config.d.ts +9 -4
  187. package/dist/utils/agent-config.d.ts.map +1 -1
  188. package/dist/utils/auto-pagination.d.ts +7 -240
  189. package/dist/utils/auto-pagination.d.ts.map +1 -1
  190. package/dist/utils/bignumber-helpers.d.ts +3 -2
  191. package/dist/utils/bignumber-helpers.d.ts.map +1 -1
  192. package/dist/utils/delimiter-parser.d.ts +0 -13
  193. package/dist/utils/delimiter-parser.d.ts.map +1 -1
  194. package/dist/utils/error-factories.d.ts +4 -3
  195. package/dist/utils/error-factories.d.ts.map +1 -1
  196. package/dist/utils/error-patterns.d.ts +0 -47
  197. package/dist/utils/error-patterns.d.ts.map +1 -1
  198. package/dist/utils/error-wrapper.d.ts +5 -5
  199. package/dist/utils/errors.d.ts +53 -318
  200. package/dist/utils/errors.d.ts.map +1 -1
  201. package/dist/utils/http.d.ts +36 -3
  202. package/dist/utils/http.d.ts.map +1 -1
  203. package/dist/utils/message-validators.d.ts.map +1 -1
  204. package/dist/utils/pagination-helpers.d.ts +17 -0
  205. package/dist/utils/pagination-helpers.d.ts.map +1 -1
  206. package/dist/utils/pagination-validation.d.ts +2 -2
  207. package/dist/utils/response-handlers.d.ts.map +1 -1
  208. package/dist/utils/service-validators.d.ts +6 -6
  209. package/dist/utils/service-validators.d.ts.map +1 -1
  210. package/dist/utils/token-format-converter.d.ts +1 -1
  211. package/dist/utils/token-parser.d.ts +6 -127
  212. package/dist/utils/token-parser.d.ts.map +1 -1
  213. package/dist/utils/token-stringification.d.ts +7 -7
  214. package/dist/utils/token-stringification.d.ts.map +1 -1
  215. package/dist/utils/tokenNameNormalizer.d.ts +2 -2
  216. package/dist/utils/tokenNormalizer.d.ts +5 -29
  217. package/dist/utils/tokenNormalizer.d.ts.map +1 -1
  218. package/dist/utils/unique-key-generator.d.ts +7 -134
  219. package/dist/utils/unique-key-generator.d.ts.map +1 -1
  220. package/dist/utils/validation-helpers.d.ts +21 -64
  221. package/dist/utils/validation-helpers.d.ts.map +1 -1
  222. package/dist/utils/validation.d.ts +4 -1
  223. package/dist/utils/validation.d.ts.map +1 -1
  224. package/package.json +47 -87
  225. package/dist/api/dto/BurnTokensDto.d.ts +0 -77
  226. package/dist/api/dto/BurnTokensDto.d.ts.map +0 -1
  227. package/dist/api/dto/LockTokenDto.d.ts +0 -85
  228. package/dist/api/dto/LockTokenDto.d.ts.map +0 -1
  229. package/dist/api/dto/TransferTokenDto.d.ts +0 -64
  230. package/dist/api/dto/TransferTokenDto.d.ts.map +0 -1
  231. package/dist/api/dto/UnlockTokenDto.d.ts +0 -74
  232. package/dist/api/dto/UnlockTokenDto.d.ts.map +0 -1
  233. package/dist/bridge/BridgeService.d.ts +0 -484
  234. package/dist/bridge/BridgeService.d.ts.map +0 -1
  235. package/dist/bridge/GalaConnectClient.d.ts +0 -170
  236. package/dist/bridge/GalaConnectClient.d.ts.map +0 -1
  237. package/dist/bridge/constants/index.d.ts +0 -7
  238. package/dist/bridge/constants/index.d.ts.map +0 -1
  239. package/dist/bridge/constants/tokens.d.ts +0 -212
  240. package/dist/bridge/constants/tokens.d.ts.map +0 -1
  241. package/dist/bridge/index.d.ts +0 -24
  242. package/dist/bridge/index.d.ts.map +0 -1
  243. package/dist/bridge/public-types.d.ts +0 -2
  244. package/dist/bridge/public-types.d.ts.map +0 -1
  245. package/dist/bridge/strategies/BridgeStrategy.d.ts +0 -204
  246. package/dist/bridge/strategies/BridgeStrategy.d.ts.map +0 -1
  247. package/dist/bridge/strategies/EthereumBridgeStrategy.d.ts +0 -178
  248. package/dist/bridge/strategies/EthereumBridgeStrategy.d.ts.map +0 -1
  249. package/dist/bridge/strategies/SolanaBridgeStrategy.d.ts +0 -236
  250. package/dist/bridge/strategies/SolanaBridgeStrategy.d.ts.map +0 -1
  251. package/dist/bridge/types/bridge.dto.d.ts +0 -772
  252. package/dist/bridge/types/bridge.dto.d.ts.map +0 -1
  253. package/dist/bridge/types/bridgeable-token.dto.d.ts +0 -209
  254. package/dist/bridge/types/bridgeable-token.dto.d.ts.map +0 -1
  255. package/dist/bridge/types/eip712.d.ts +0 -66
  256. package/dist/bridge/types/eip712.d.ts.map +0 -1
  257. package/dist/bridge/types/index.d.ts +0 -8
  258. package/dist/bridge/types/index.d.ts.map +0 -1
  259. package/dist/bridge/utils/RateLimiter.d.ts +0 -34
  260. package/dist/bridge/utils/RateLimiter.d.ts.map +0 -1
  261. package/dist/bridge/utils/address-formatter.d.ts +0 -25
  262. package/dist/bridge/utils/address-formatter.d.ts.map +0 -1
  263. package/dist/bridge/utils/addressValidation.d.ts +0 -200
  264. package/dist/bridge/utils/addressValidation.d.ts.map +0 -1
  265. package/dist/bridge/utils/balanceHelpers.d.ts +0 -215
  266. package/dist/bridge/utils/balanceHelpers.d.ts.map +0 -1
  267. package/dist/bridge/utils/bridgeErrors.d.ts +0 -98
  268. package/dist/bridge/utils/bridgeErrors.d.ts.map +0 -1
  269. package/dist/bridge/utils/bridgeOutHelpers.d.ts +0 -68
  270. package/dist/bridge/utils/bridgeOutHelpers.d.ts.map +0 -1
  271. package/dist/bridge/utils/bridgePayload.d.ts +0 -98
  272. package/dist/bridge/utils/bridgePayload.d.ts.map +0 -1
  273. package/dist/bridge/utils/bridgeStatusParser.d.ts +0 -76
  274. package/dist/bridge/utils/bridgeStatusParser.d.ts.map +0 -1
  275. package/dist/bridge/utils/eip712Helpers.d.ts +0 -66
  276. package/dist/bridge/utils/eip712Helpers.d.ts.map +0 -1
  277. package/dist/bridge/utils/index.d.ts +0 -19
  278. package/dist/bridge/utils/index.d.ts.map +0 -1
  279. package/dist/bridge/utils/retry.d.ts +0 -112
  280. package/dist/bridge/utils/retry.d.ts.map +0 -1
  281. package/dist/bridge/utils/strategyDelegation.d.ts +0 -126
  282. package/dist/bridge/utils/strategyDelegation.d.ts.map +0 -1
  283. package/dist/bridge/utils/tokenIdUtils.d.ts +0 -86
  284. package/dist/bridge/utils/tokenIdUtils.d.ts.map +0 -1
  285. package/dist/bridge/utils/tokenMath.d.ts +0 -39
  286. package/dist/bridge/utils/tokenMath.d.ts.map +0 -1
  287. package/dist/bridge/utils/tokenMetadataResolver.d.ts +0 -97
  288. package/dist/bridge/utils/tokenMetadataResolver.d.ts.map +0 -1
  289. package/dist/helpers/wallet.d.ts +0 -151
  290. package/dist/helpers/wallet.d.ts.map +0 -1
  291. package/dist/react/WalletContext.d.ts +0 -60
  292. package/dist/react/WalletContext.d.ts.map +0 -1
  293. package/dist/react/index.d.ts +0 -65
  294. package/dist/react/index.d.ts.map +0 -1
  295. package/dist/react/types.d.ts +0 -76
  296. package/dist/react/types.d.ts.map +0 -1
  297. package/dist/react/useWallet.d.ts +0 -123
  298. package/dist/react/useWallet.d.ts.map +0 -1
  299. package/dist/react/useWalletConnection.d.ts +0 -89
  300. package/dist/react/useWalletConnection.d.ts.map +0 -1
  301. package/dist/react/useWalletDetection.d.ts +0 -81
  302. package/dist/react/useWalletDetection.d.ts.map +0 -1
  303. package/dist/react.cjs +0 -1
  304. package/dist/react.esm.js +0 -1
  305. package/dist/services/AbstractTokenFetchService.d.ts +0 -150
  306. package/dist/services/AbstractTokenFetchService.d.ts.map +0 -1
  307. package/dist/services/BatchedCacheService.d.ts +0 -133
  308. package/dist/services/BatchedCacheService.d.ts.map +0 -1
  309. package/dist/services/BridgeableTokenCache.d.ts +0 -120
  310. package/dist/services/BridgeableTokenCache.d.ts.map +0 -1
  311. package/dist/services/BridgeableTokenService.d.ts +0 -218
  312. package/dist/services/BridgeableTokenService.d.ts.map +0 -1
  313. package/dist/services/DexService.d.ts +0 -440
  314. package/dist/services/DexService.d.ts.map +0 -1
  315. package/dist/services/NetworkKeyedCacheService.d.ts +0 -185
  316. package/dist/services/NetworkKeyedCacheService.d.ts.map +0 -1
  317. package/dist/services/PriceHistoryService.d.ts +0 -209
  318. package/dist/services/PriceHistoryService.d.ts.map +0 -1
  319. package/dist/services/StreamingEventService.d.ts +0 -441
  320. package/dist/services/StreamingEventService.d.ts.map +0 -1
  321. package/dist/services/WrapService.d.ts +0 -171
  322. package/dist/services/WrapService.d.ts.map +0 -1
  323. package/dist/services/WrappableTokenCache.d.ts +0 -100
  324. package/dist/services/WrappableTokenCache.d.ts.map +0 -1
  325. package/dist/services/WrappableTokenService.d.ts +0 -130
  326. package/dist/services/WrappableTokenService.d.ts.map +0 -1
  327. package/dist/setup.d.ts +0 -8
  328. package/dist/setup.d.ts.map +0 -1
  329. package/dist/tokens/transfers.d.ts +0 -95
  330. package/dist/tokens/transfers.d.ts.map +0 -1
  331. package/dist/types/comment.dto.d.ts +0 -176
  332. package/dist/types/comment.dto.d.ts.map +0 -1
  333. package/dist/types/galachain-api.types.d.ts +0 -297
  334. package/dist/types/galachain-api.types.d.ts.map +0 -1
  335. package/dist/types/priceHistory.dto.d.ts +0 -134
  336. package/dist/types/priceHistory.dto.d.ts.map +0 -1
  337. package/dist/types/streaming-events.dto.d.ts +0 -605
  338. package/dist/types/streaming-events.dto.d.ts.map +0 -1
  339. package/dist/types/token.types.d.ts +0 -359
  340. package/dist/types/token.types.d.ts.map +0 -1
  341. package/dist/types/wrappable-token.dto.d.ts +0 -305
  342. package/dist/types/wrappable-token.dto.d.ts.map +0 -1
  343. package/dist/utils/crypto-compat.d.ts +0 -40
  344. package/dist/utils/crypto-compat.d.ts.map +0 -1
  345. package/dist/utils/load-env.d.ts +0 -31
  346. package/dist/utils/load-env.d.ts.map +0 -1
  347. package/dist/utils/token-instance-key.d.ts +0 -57
  348. package/dist/utils/token-instance-key.d.ts.map +0 -1
  349. package/dist/utils/wallet.d.ts +0 -166
  350. package/dist/utils/wallet.d.ts.map +0 -1
  351. package/dist/wallet/ExternalWalletProvider.d.ts +0 -90
  352. package/dist/wallet/ExternalWalletProvider.d.ts.map +0 -1
  353. package/dist/wallet/GalaWalletProvider.d.ts +0 -122
  354. package/dist/wallet/GalaWalletProvider.d.ts.map +0 -1
  355. package/dist/wallet/PrivateKeyProvider.d.ts +0 -90
  356. package/dist/wallet/PrivateKeyProvider.d.ts.map +0 -1
  357. package/dist/wallet/detection.d.ts +0 -107
  358. package/dist/wallet/detection.d.ts.map +0 -1
  359. package/dist/wallet/event-handlers.d.ts +0 -50
  360. package/dist/wallet/event-handlers.d.ts.map +0 -1
  361. package/dist/wallet/index.d.ts +0 -51
  362. package/dist/wallet/index.d.ts.map +0 -1
  363. package/dist/wallet/signing-operation.d.ts +0 -19
  364. package/dist/wallet/signing-operation.d.ts.map +0 -1
  365. package/dist/wallet/typed-data-helpers.d.ts +0 -68
  366. package/dist/wallet/typed-data-helpers.d.ts.map +0 -1
  367. package/dist/wallet/types.d.ts +0 -267
  368. package/dist/wallet/types.d.ts.map +0 -1
  369. package/dist/wallet/utils.d.ts +0 -117
  370. package/dist/wallet/utils.d.ts.map +0 -1
  371. package/dist/wallet.cjs +0 -1
  372. package/dist/wallet.esm.js +0 -1
@@ -1,117 +0,0 @@
1
- /**
2
- * Wallet Provider Utilities
3
- *
4
- * Helper functions for creating and working with wallet providers.
5
- *
6
- * @packageDocumentation
7
- */
8
- import type { Wallet } from 'ethers';
9
- import { ExternalWalletProvider } from './ExternalWalletProvider';
10
- import { PrivateKeyProvider } from './PrivateKeyProvider';
11
- import type { Eip1193Provider, WalletProvider, WalletProviderConfig } from './types';
12
- /**
13
- * Creates a WalletProvider from configuration
14
- *
15
- * This is the main factory function for creating wallet providers.
16
- * It automatically selects the appropriate provider type based on config.
17
- *
18
- * @param config - Configuration specifying how to create the provider
19
- * @returns A WalletProvider instance
20
- *
21
- * @example
22
- * ```typescript
23
- * // From private key
24
- * const provider = createWalletProvider({ privateKey: '0x...' });
25
- *
26
- * // From browser wallet
27
- * const provider = createWalletProvider({ eip1193Provider: window.ethereum });
28
- * await provider.connect();
29
- * ```
30
- */
31
- export declare function createWalletProvider(config: WalletProviderConfig): WalletProvider;
32
- /**
33
- * Creates a PrivateKeyProvider from an ethers.js Wallet
34
- *
35
- * Convenience function for SDK users who already have an ethers Wallet.
36
- *
37
- * @param wallet - An ethers.js Wallet instance
38
- * @returns A PrivateKeyProvider wrapping the wallet
39
- */
40
- export declare function createProviderFromWallet(wallet: Wallet): PrivateKeyProvider;
41
- /**
42
- * Creates an ExternalWalletProvider from an EIP-1193 provider
43
- *
44
- * Convenience function for creating providers from browser wallets.
45
- *
46
- * @param provider - An EIP-1193 compatible provider
47
- * @returns An ExternalWalletProvider
48
- */
49
- export declare function createProviderFromEip1193(provider: Eip1193Provider): ExternalWalletProvider;
50
- /**
51
- * Checks if a provider is a PrivateKeyProvider
52
- *
53
- * Useful for determining if private key operations are available.
54
- *
55
- * @param provider - The provider to check
56
- * @returns true if the provider can access private keys
57
- */
58
- export declare function isPrivateKeyProvider(provider: WalletProvider): provider is PrivateKeyProvider;
59
- /**
60
- * Checks if a provider is an external provider
61
- *
62
- * @param provider - The provider to check
63
- * @returns true if the provider is an external wallet
64
- */
65
- export declare function isExternalProvider(provider: WalletProvider): boolean;
66
- /**
67
- * Gets the private key from a provider if available
68
- *
69
- * This is a safe way to get the private key, returning undefined
70
- * instead of throwing for external providers.
71
- *
72
- * @param provider - The wallet provider
73
- * @returns The private key or undefined if not available
74
- */
75
- export declare function getPrivateKeyIfAvailable(provider: WalletProvider): Promise<string | undefined>;
76
- /**
77
- * Converts an ethers Wallet to a WalletProvider
78
- *
79
- * For backward compatibility with SDK code that uses ethers Wallet directly.
80
- *
81
- * @param wallet - An ethers.js Wallet or undefined
82
- * @returns A WalletProvider or undefined
83
- */
84
- export declare function walletToProvider(wallet: Wallet | undefined): WalletProvider | undefined;
85
- /**
86
- * Gets an ethers Wallet from a provider if available
87
- *
88
- * For backward compatibility with SDK code that needs ethers Wallet.
89
- * Only works with PrivateKeyProvider.
90
- *
91
- * @param provider - The wallet provider
92
- * @returns An ethers Wallet or undefined
93
- */
94
- export declare function providerToWallet(provider: WalletProvider | undefined): Wallet | undefined;
95
- /**
96
- * Ensures a wallet provider is connected
97
- *
98
- * Calls connect() if not already connected and returns the address.
99
- *
100
- * @param provider - The wallet provider
101
- * @returns The connected address
102
- */
103
- export declare function ensureConnected(provider: WalletProvider): Promise<string>;
104
- /**
105
- * Type guard to check if an object looks like an EIP-1193 provider
106
- *
107
- * @param obj - Object to check
108
- * @returns true if the object has the EIP-1193 request method
109
- */
110
- export declare function isEip1193Provider(obj: unknown): obj is Eip1193Provider;
111
- /**
112
- * Gets window.ethereum if available (browser only)
113
- *
114
- * @returns The injected provider or null
115
- */
116
- export declare function getInjectedEip1193Provider(): Eip1193Provider | null;
117
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/wallet/utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAGjB;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,cAAc,CAajF;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAE3E;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,eAAe,GAAG,sBAAsB,CAE3F;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,QAAQ,IAAI,kBAAkB,CAE7F;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAEpE;AAED;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAUpG;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAGvF;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAKzF;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAK/E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,eAAe,CAOtE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI,eAAe,GAAG,IAAI,CAOnE"}
package/dist/wallet.cjs DELETED
@@ -1 +0,0 @@
1
- "use strict";var e,r=require("ethers");class t extends Error{constructor(e,r,t){super(e),this.code=r,this.originalError=t,this.name="WalletProviderError"}}function n(e,r,t){return{types:{EIP712Domain:s(e),...r},primaryType:Object.keys(r)[0],domain:o(e),message:t}}function s(e){const r=[];return void 0!==e.name&&r.push({name:"name",type:"string"}),void 0!==e.version&&r.push({name:"version",type:"string"}),void 0!==e.chainId&&r.push({name:"chainId",type:"uint256"}),void 0!==e.verifyingContract&&r.push({name:"verifyingContract",type:"address"}),void 0!==e.salt&&r.push({name:"salt",type:"bytes32"}),r}function o(e){const r={};return void 0!==e.name&&(r.name=e.name),void 0!==e.version&&(r.version=e.version),void 0!==e.chainId&&(r.chainId="bigint"==typeof e.chainId||"number"==typeof e.chainId?`0x${e.chainId.toString(16)}`:e.chainId),void 0!==e.verifyingContract&&(r.verifyingContract=e.verifyingContract),void 0!==e.salt&&(r.salt=e.salt),r}function i(e){return`0x${Buffer.from(e,"utf8").toString("hex")}`}async function a(e,r,t){return e.request({method:"personal_sign",params:[i(t),r]})}async function d(e,r,t,s,o){return e.request({method:"eth_signTypedData_v4",params:[r,JSON.stringify(n(t,s,o))]})}exports.WalletProviderErrorCode=void 0,(e=exports.WalletProviderErrorCode||(exports.WalletProviderErrorCode={})).USER_REJECTED="USER_REJECTED",e.NOT_CONNECTED="NOT_CONNECTED",e.CONNECTION_FAILED="CONNECTION_FAILED",e.SIGNING_FAILED="SIGNING_FAILED",e.PROVIDER_NOT_AVAILABLE="PROVIDER_NOT_AVAILABLE",e.PRIVATE_KEY_NOT_ACCESSIBLE="PRIVATE_KEY_NOT_ACCESSIBLE",e.INVALID_CONFIG="INVALID_CONFIG",e.CHAIN_MISMATCH="CHAIN_MISMATCH",e.UNKNOWN="UNKNOWN";class c{constructor(e){this.connectedAddress=null,this.provider=e,this.eventHandlers=function(e,t,n){if(null==e||"function"!=typeof e.on)return{accountsChanged:null,disconnect:null};const s=e=>{const n=e[0];t(void 0===n?null:r.getAddress(n))},o=()=>n();return e.on("accountsChanged",s),e.on("disconnect",o),{accountsChanged:s,disconnect:o}}(e,e=>{this.connectedAddress=e},()=>{this.connectedAddress=null})}removeEventListeners(){!function(e,r){if("function"!=typeof e.removeListener)return;null!==r.accountsChanged&&e.removeListener("accountsChanged",r.accountsChanged);null!==r.disconnect&&e.removeListener("disconnect",r.disconnect)}(this.provider,this.eventHandlers)}}async function l(e,r,n){try{return await e()}catch(e){if(e instanceof t)throw e;return r(e,n)}}const u=4001,h=4100,v=4900,A=4901;class p extends c{constructor(e){if(super(e),this.providerType="external",null==e)throw new t("EIP-1193 provider is required",exports.WalletProviderErrorCode.INVALID_CONFIG)}handleProviderError(e,r){const n=e;if(n.code===u)throw new t(`User rejected ${r}`,exports.WalletProviderErrorCode.USER_REJECTED,e instanceof Error?e:void 0);if(n.code===h)throw new t("Wallet is not authorized",exports.WalletProviderErrorCode.NOT_CONNECTED,e instanceof Error?e:void 0);if(n.code===v||n.code===A)throw this.connectedAddress=null,new t("Wallet disconnected",exports.WalletProviderErrorCode.NOT_CONNECTED,e instanceof Error?e:void 0);throw new t(n.message??`${r} failed`,r.includes("sign")?exports.WalletProviderErrorCode.SIGNING_FAILED:exports.WalletProviderErrorCode.UNKNOWN,e instanceof Error?e:void 0)}ensureConnected(){if(!this.connectedAddress)throw new t("Wallet is not connected. Call connect() first.",exports.WalletProviderErrorCode.NOT_CONNECTED)}async connect(){try{const e=await this.provider.request({method:"eth_requestAccounts"});if(null==e||0===e.length)throw new t("No accounts returned from wallet",exports.WalletProviderErrorCode.CONNECTION_FAILED);const n=e[0];if(void 0===n)throw new t("No accounts returned from wallet",exports.WalletProviderErrorCode.CONNECTION_FAILED);return this.connectedAddress=r.getAddress(n),this.connectedAddress}catch(e){if(e instanceof t)throw e;return this.handleProviderError(e,"connect")}}async disconnect(){this.connectedAddress=null,this.removeEventListeners();try{await this.provider.request({method:"wallet_revokePermissions",params:[{eth_accounts:{}}]})}catch{}}isConnected(){return null!==this.connectedAddress}async signMessage(e){return this.ensureConnected(),l(()=>a(this.provider,this.connectedAddress,e),(e,r)=>this.handleProviderError(e,r),"sign message")}async signTypedData(e,r,t){return this.ensureConnected(),l(()=>d(this.provider,this.connectedAddress,e,r,t),(e,r)=>this.handleProviderError(e,r),"sign typed data")}async getAddress(){await Promise.resolve(),this.ensureConnected();const e=this.connectedAddress;if(null==e)throw new t("Wallet is not connected",exports.WalletProviderErrorCode.NOT_CONNECTED);return e}async getGalaAddress(){return`eth|${(await this.getAddress()).slice(2)}`}async getPrivateKey(){return Promise.reject(new t("Private key is not accessible with external wallet providers. Use PrivateKeyProvider if you need private key access for @gala-chain operations.",exports.WalletProviderErrorCode.PRIVATE_KEY_NOT_ACCESSIBLE))}getProvider(){return this.provider}}class E{constructor(e){this.providerType="privateKey",this.connected=!0;try{this.wallet=new r.Wallet(e)}catch(e){throw new t("Invalid private key provided",exports.WalletProviderErrorCode.INVALID_CONFIG,e instanceof Error?e:void 0)}}static fromWallet(e){return new E(e.privateKey)}async signMessage(e){try{return await this.wallet.signMessage(e)}catch(e){throw new t("Failed to sign message",exports.WalletProviderErrorCode.SIGNING_FAILED,e instanceof Error?e:void 0)}}async signTypedData(e,r,n){try{return await this.wallet.signTypedData(e,r,n)}catch(e){throw new t("Failed to sign typed data",exports.WalletProviderErrorCode.SIGNING_FAILED,e instanceof Error?e:void 0)}}getAddress(){return Promise.resolve(r.getAddress(this.wallet.address))}async getGalaAddress(){return`eth|${(await this.getAddress()).slice(2)}`}async connect(){return this.connected=!0,this.getAddress()}disconnect(){return this.connected=!1,Promise.resolve()}isConnected(){return this.connected}getPrivateKey(){return Promise.resolve(this.wallet.privateKey)}getWallet(){return this.wallet}}const w={METAMASK:"io.metamask",METAMASK_FLASK:"io.metamask.flask",COINBASE:"com.coinbase.wallet",TRUST_WALLET:"com.trustwallet.app",PHANTOM:"app.phantom",RAINBOW:"me.rainbow",OKX:"com.okex.wallet",RABBY:"io.rabby",BRAVE:"com.brave.wallet",FRAME:"sh.frame",LEDGER:"com.ledger",ZERION:"io.zerion.wallet",GALA:"com.gala.wallet"},f={[w.METAMASK]:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIxLjU0IDQuMjJsLTguMzQgNi4yMSAxLjU0LTMuNjUtLTUuNTMtMi41MXoiIGZpbGw9IiNFMjc2MUIiLz48L3N2Zz4=",[w.GALA]:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAYAAACoYAD2AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAjWSURBVHgBzZkLVI1ZG8f/pZKjq0uK0LglIiMKU5EuBkMxUgmjL6GFSZJ7QpJx+Ujpk1Eat3KJySXjTnIpVJRPhnTSxWVaSveL1Zlnv3WshnM67wlrzX+t3T5nv3vv99d+9/O8z36OAj5DIpGoM1W2VPSp6FJp03ipmkoRlVwq9xUUFDLwGVKCnCKwAVRNqa2rc8vOLeiRkpqpcO/hY7woeI3yikrUva9DG1VV6HXqiJHDv0Uvg66oqa0VqigrX6dxUQScCDmlwLcjwfWjKuhJdq5jVMwpxMRfQP7LN7zGttPWxARbC3i4OsDCzOQuNQUS7GnwlExIgmtH1ea0zCfugdsjFeMvJLI2tFSmA/sieMV82Fqa/UFfvQhWKGuMggzAYfX19dHBYdGGm8MPoKy8El9Knm4OWO83L6+DtmaAkpLSPrQEkgDH5eQVnnTxWqVyN/3/+Brqrq+H+H1bMdCo13pa0QDIA0mAM4R5hbu/d/MW/Pn8Bb6mdHXa42hEMCyGmqwh0EDwgSRAq5wXBZfsXBcqP88tAF+1VlGBj6crvunWGf5bIvCm6C3vsZoaarh6NByDjA0XEWgImoMkwG7FpWXJ5uPddZ/l5IGPVJSV4OJgj83+P0OnvTbXVkp7d2NIFGJPXSTX9IrXPHqdOiDp5J66b7p1sSDQlKbXFD/qG7g1/ABvQAd7K9w6HYXoHQHQUBNg0679WBTwXzKwcmxatQDX4nbT6k4D3VTmXC9fF2G230Zl+niEFksgsRNdmJKS9kik0MVMZrGY5Cm6k5ohEiv8t+MiA3OHD9cFPa1EO6OOiIpLSrnrtH1EP3mvFSnqm8ucOzg0mg1Z15RNoQlkhtXkucZJKelS/1vTAQ0+zsZyKPf9wvVk+ARsR1a2UGJ/Zr0L3Z3gPdsVrVopIutZLhas3oIrSXel3oM99swrMSXamhp96An8xdoUGwFtL95Ilgqor6eDvVtWIyUhGrZWZriZ8gAWjp4YO91bKiBTbv5LLAnciX6jpuJg3Dn07dUdl2LDcO5gCHM7Esewx74r+rgWffxJ3Cbekx6795+QejMbSzOMthzC7a3id6XYfzwBd1IzwVdPaY/P9F6LQXZuSLhyC+aD+2PqBFu0UlSU2P8AzV9ZWe0j/q5Aq6hWU1NbqNnXWr227v0nA9b4eNBq5eL2vQz8/B9nLJ7bYAhXb9/H4rXb8eDRU8irbl100ZE8wQLaCu4+6yX2uUIuadQIU0u6VxL7V4bEJVyWCMjE/F5seBBUVVvDb8NO9Bw+CcfOXIb1cFOknT+IqG3+0OnQDnxl0LUzAhbPRsrZfRg5bLDUfldu3WPVGPaHQdqkZjyRNfcHCxPSPnOetxL2rgvwPDcfs5x/QOr5/dyKqwkawkmHMSNxM34vlnrN+OB+BAJVrg/r6+48QaZbOnnuGqsMxZCmj58KIa8u3biL/tYumLN0I9oS3FrfOXhw6RAST+zBycjN5AmM0Fm3A1RUlOHqaM+tOutTXV0Lv8AQFL76q9n5CxquW4gh2wnz+b0VPlZ48DKU09vFmGBD9saiE72HKV7kjMPQ6kfEJVzlgA+FBaJrZx3s+DUG/aydsS3isMy5S96VoaysQo9sRoNF5uqv3hShJWL79XD4BpwjqMXrdmDPod+51bv/IAthQX5wHDsKAtrL56/dwdKgUGQ8fibX/BVV1VBXbytgK6laVlGFlmj2kiCcuZSEsaNH4PH1o7SKg5jrQPatE5g2aQz+JK8wxXMZ50/lBWSqe88ZszKDrNGiKKQlYlHSxFm+8F3XELj062NAlq4NbS0NRB89A8tJc3CiwQBapDb0FEhVDLLYQF8Xn6N7Dz8Nip8J81FR2bInxMSsX0NdjS1lKYMU9unRDf82ddHtyMLADIKtZZDJvb8wZDFZJjOWz5FJv96s4hw4g7xm/d1QmYO6UpDBR4l30tBjmCPu01lcmvR0OkBdrW2z84y35Vxkihgyy9LMJL9jey2JndneYjofE4oNy7zQjoyiObFVfFdWLvFaa3Lsc6Y74tG1WIIUUOAh+fzE9uOIISwHgSMcJHvmVI54uEyUOCAoZB/3GnxR+BorF85C+oWDcJ5oB3ll0r83kn7/Fbs3rUB9vQgrN4WDDnoS+7LMx0Cj3snEVchBNraHzXT6oUbaI2ABhdFIJ2ym4wGLXmKYA6eYsGd3fciSloY6Qjcswd2z0RhMQfOZi0noNWIyNoX9JjXJ4DXjR1ZtFX/nIFkWgQLS05PpDSFNNTV1WB68C8Y2rkhMTsOYUcOQTJFMgK+n1MP7NMcxeJoUh/mznOj0WAwb5/mY6O6LktIyqfcZYNQTThNs2YaOF7c1PT50p/2Ubmg5RavobQlkaabTODpKLCAjaM/dlK1YSGQsd5wYQFH39oBFGG0xFNU1NVj1y/8QceAkKquqZc57+3QkzL81HksL94e47UNoTI252praa3fSo+Gj/ccSYD5+FrbuPsgBimU9whQ3KBJigJeTUtDXaiq274nhBei/yIMBHm4K+A/IRoW6TLQ7tWTedPARy6ot3RAKE9tpeNj4btZQb8tZ92SPpbBzWcj73M0C4DU+s4X08RNrkpTBYA7xhrf/tj6h+45CHhn27M7lKCsoyGhu332sQcZ9kBgXUazWVmBKq5gDWZCNoAaUTUugk54RiwG/puzo9Bm5zb+MTqRsH96U1Ke5rBrzL/E7I48MXkFWXVVdgy+txXPdsHG5F8sC2xOg1BOdrPwke734ZQvzV09fuAbJaY/wJdRFVwcRvyzHOJvvLtPXaQTYbMqYVzqaYCdQ2UFZ3h6U7QVlfdESMec/d8Yk+M51e01gLCcZzmcc75x5I+wMquanZz4xjz52FiyhzwIJ5uglSYlSKz0IzMJ8ENwoUrccNjhLSVHxAF0KI8BS8JRckE1gzamyp/J94auiITl5BSpvS0rJsqu4Xx8E9OsDi9D19TrVUyovh+KFOOp7nsptgpM7Em4R5EfArdDwOw5L7rAsATvcFVMRskJQsr24DP0NVvGaoREi2pYAAAAASUVORK5CYII="};function g(){return"undefined"!=typeof window&&"function"==typeof window.dispatchEvent}function y(){if(!g())return null;return window.ethereum??null}function N(e){return"object"==typeof e&&null!==e&&"function"==typeof e.request}async function m(e=500){const r=[],t=new Map;return g()?new Promise(n=>{const s=new Set,o=e=>{const n=e,{info:o,provider:i}=n.detail;if(s.has(o.uuid))return;s.add(o.uuid);const a={id:o.rdns||o.uuid,name:o.name,rdns:o.rdns||o.uuid,icon:o.icon??f[o.rdns||""]??"",provider:i,isInjected:!1};r.push(a),t.set(a.id,a)};window.addEventListener("eip6963:announceProvider",o),window.dispatchEvent(new Event("eip6963:requestProvider")),setTimeout(()=>{if(window.removeEventListener("eip6963:announceProvider",o),0===r.length){const e=y();if(e){const n=window;let s="Browser Wallet",o="injected";n.ethereum?.isMetaMask?(s="MetaMask",o=w.METAMASK):n.ethereum?.isCoinbaseWallet?(s="Coinbase Wallet",o=w.COINBASE):n.ethereum?.isTrust&&(s="Trust Wallet",o=w.TRUST_WALLET);const i={id:o,name:s,rdns:o,icon:f[o]??"",provider:e,isInjected:!0};r.push(i),t.set(i.id,i)}}if(!t.has(w.TRUST_WALLET)){const e=function(){if(!g())return null;const e=window;if(N(e.ethereum)&&e.ethereum.isTrust)return e.ethereum;const r=e.ethereum?.providers?.find(e=>N(e)&&!0===e.isTrust);return void 0!==r?r:N(e.trustwallet)?e.trustwallet:null}();if(null!==e&&!r.some(r=>r.provider===e)){const n={id:w.TRUST_WALLET,name:"Trust Wallet",rdns:w.TRUST_WALLET,icon:f[w.TRUST_WALLET]??"",provider:e,isInjected:!0};r.push(n),t.set(n.id,n)}}const e=window;if(e.gala?.request&&!t.has(w.GALA)){const n={id:w.GALA,name:"Gala Wallet",rdns:w.GALA,icon:f[w.GALA]??"",provider:e.gala,isInjected:!0};r.push(n),t.set(n.id,n)}n({wallets:r,byId:t,hasWallets:r.length>0,...void 0===r[0]?{}:{primary:r[0]}})},e)}):{wallets:r,byId:t,hasWallets:!1}}async function I(e,r){return(await m(r)).byId.get(e)??null}function C(e){return"privateKey"===e.providerType}function P(e){return"object"==typeof e&&null!==e&&"request"in e&&"function"==typeof e.request}exports.ExternalWalletProvider=p,exports.GalaWalletProvider=class extends c{constructor(e){if(super(e),this.providerType="external",this.galaRawAddress=null,!e)throw new t("Gala Wallet provider is required",exports.WalletProviderErrorCode.PROVIDER_NOT_AVAILABLE)}parseGalaError(e){if(e instanceof Error)try{const r=JSON.parse(e.message);if("object"==typeof r&&null!==r){const t=r,n={message:"string"==typeof t.message?t.message:e.message};return"number"==typeof t.code&&(n.code=t.code),n}return{message:e.message}}catch{return{message:e.message}}return{message:String(e)}}handleProviderError(e,r){const n=this.parseGalaError(e);if(4001===n.code)throw new t(`User rejected ${r}`,exports.WalletProviderErrorCode.USER_REJECTED,e instanceof Error?e:void 0);if(4900===n.code)throw this.connectedAddress=null,new t("Wallet disconnected",exports.WalletProviderErrorCode.NOT_CONNECTED,e instanceof Error?e:void 0);const s=n.message?n.message:`${r} failed`;throw new t(s,r.includes("sign")?exports.WalletProviderErrorCode.SIGNING_FAILED:exports.WalletProviderErrorCode.UNKNOWN,e instanceof Error?e:void 0)}ensureConnected(){if(null===this.connectedAddress||void 0===this.connectedAddress)throw new t("Wallet is not connected. Call connect() first.",exports.WalletProviderErrorCode.NOT_CONNECTED)}async connect(){try{const e=await this.provider.request({method:"eth_requestAccounts"});if(null==e||0===e.length)throw new t("No accounts returned from Gala Wallet",exports.WalletProviderErrorCode.CONNECTION_FAILED);const n=e[0];if(void 0===n)throw new t("No accounts returned from Gala Wallet",exports.WalletProviderErrorCode.CONNECTION_FAILED);this.galaRawAddress=n;let s=n;return s.startsWith("eth|")?s=`0x${s.slice(4)}`:s.startsWith("0x")||(s=`0x${s}`),this.connectedAddress=r.getAddress(s),this.connectedAddress}catch(e){if(e instanceof t)throw e;return this.handleProviderError(e,"connect")}}async disconnect(){this.connectedAddress=null,this.galaRawAddress=null,this.removeEventListeners();try{await this.provider.disconnect()}catch{}}isConnected(){return null!==this.connectedAddress}async signMessage(e){return this.ensureConnected(),l(async()=>(await this.provider.setAddress(this.galaRawAddress??this.connectedAddress),a(this.provider,this.connectedAddress,e)),(e,r)=>this.handleProviderError(e,r),"sign message")}async signTypedData(e,r,t){return this.ensureConnected(),l(async()=>(await this.provider.setAddress(this.galaRawAddress??this.connectedAddress),d(this.provider,this.connectedAddress,e,r,t)),(e,r)=>this.handleProviderError(e,r),"sign typed data")}getAddress(){return this.ensureConnected(),Promise.resolve(this.connectedAddress)}async getGalaAddress(){return`eth|${(await this.getAddress()).slice(2)}`}getPrivateKey(){throw new t("Private key is not accessible with Gala Wallet. Use PrivateKeyProvider if you need private key access for @gala-chain operations.",exports.WalletProviderErrorCode.PRIVATE_KEY_NOT_ACCESSIBLE)}getProvider(){return this.provider}},exports.KNOWN_WALLET_RDNS=w,exports.PrivateKeyProvider=E,exports.WalletProviderError=t,exports.createProviderFromEip1193=function(e){return new p(e)},exports.createProviderFromWallet=function(e){return E.fromWallet(e)},exports.createWalletProvider=function(e){if(null!==e.privateKey&&void 0!==e.privateKey&&e.privateKey.length>0)return new E(e.privateKey);if(null!==e.eip1193Provider&&void 0!==e.eip1193Provider)return new p(e.eip1193Provider);throw new t("Invalid wallet provider config: must provide either privateKey or eip1193Provider",exports.WalletProviderErrorCode.INVALID_CONFIG)},exports.detectWallets=m,exports.ensureConnected=async function(e){return e.isConnected()?e.getAddress():e.connect()},exports.getInjectedEip1193Provider=function(){if("undefined"==typeof window)return null;const e=window.ethereum;return P(e)?e:null},exports.getPrivateKeyIfAvailable=async function(e){if(C(e))try{return await e.getPrivateKey()}catch{return}},exports.getWalletByRdns=I,exports.hasAnyWallet=function(){return null!==y()},exports.isEip1193Provider=P,exports.isExternalProvider=function(e){return"external"===e.providerType},exports.isPrivateKeyProvider=C,exports.isWalletAvailable=async function(e,r){return null!==await I(e,r)},exports.providerToWallet=function(e){if(e&&C(e))return e.getWallet()},exports.subscribeToWalletChanges=function(e){if(!g())return()=>{};let r=!0,t={wallets:[],byId:new Map,hasWallets:!1};const n=n=>{if(!r)return;const s=n,{info:o,provider:i}=s.detail,a=o.rdns||o.uuid;if(t.byId.has(a))return;const d={id:a,name:o.name,rdns:a,icon:o.icon??"",provider:i,isInjected:!1},c=[...t.wallets,d],l=new Map(t.byId);l.set(d.id,d),t={wallets:c,byId:l,hasWallets:!0,...void 0===c[0]?{}:{primary:c[0]}},e(t)};return window.addEventListener("eip6963:announceProvider",n),m().then(n=>{r&&(t=n,e(n))}),()=>{r=!1,window.removeEventListener("eip6963:announceProvider",n)}},exports.walletToProvider=function(e){if(e)return E.fromWallet(e)};
@@ -1 +0,0 @@
1
- import{getAddress as e,Wallet as t}from"ethers";class n extends Error{constructor(e,t,n){super(e),this.code=t,this.originalError=n,this.name="WalletProviderError"}}var r;function s(e,t,n){return{types:{EIP712Domain:i(e),...t},primaryType:Object.keys(t)[0],domain:o(e),message:n}}function i(e){const t=[];return void 0!==e.name&&t.push({name:"name",type:"string"}),void 0!==e.version&&t.push({name:"version",type:"string"}),void 0!==e.chainId&&t.push({name:"chainId",type:"uint256"}),void 0!==e.verifyingContract&&t.push({name:"verifyingContract",type:"address"}),void 0!==e.salt&&t.push({name:"salt",type:"bytes32"}),t}function o(e){const t={};return void 0!==e.name&&(t.name=e.name),void 0!==e.version&&(t.version=e.version),void 0!==e.chainId&&(t.chainId="bigint"==typeof e.chainId||"number"==typeof e.chainId?`0x${e.chainId.toString(16)}`:e.chainId),void 0!==e.verifyingContract&&(t.verifyingContract=e.verifyingContract),void 0!==e.salt&&(t.salt=e.salt),t}function a(e){return`0x${Buffer.from(e,"utf8").toString("hex")}`}async function d(e,t,n){return e.request({method:"personal_sign",params:[a(n),t]})}async function c(e,t,n,r,i){return e.request({method:"eth_signTypedData_v4",params:[t,JSON.stringify(s(n,r,i))]})}!function(e){e.USER_REJECTED="USER_REJECTED",e.NOT_CONNECTED="NOT_CONNECTED",e.CONNECTION_FAILED="CONNECTION_FAILED",e.SIGNING_FAILED="SIGNING_FAILED",e.PROVIDER_NOT_AVAILABLE="PROVIDER_NOT_AVAILABLE",e.PRIVATE_KEY_NOT_ACCESSIBLE="PRIVATE_KEY_NOT_ACCESSIBLE",e.INVALID_CONFIG="INVALID_CONFIG",e.CHAIN_MISMATCH="CHAIN_MISMATCH",e.UNKNOWN="UNKNOWN"}(r||(r={}));class l{constructor(t){this.connectedAddress=null,this.provider=t,this.eventHandlers=function(t,n,r){if(null==t||"function"!=typeof t.on)return{accountsChanged:null,disconnect:null};const s=t=>{const r=t[0];n(void 0===r?null:e(r))},i=()=>r();return t.on("accountsChanged",s),t.on("disconnect",i),{accountsChanged:s,disconnect:i}}(t,e=>{this.connectedAddress=e},()=>{this.connectedAddress=null})}removeEventListeners(){!function(e,t){if("function"!=typeof e.removeListener)return;null!==t.accountsChanged&&e.removeListener("accountsChanged",t.accountsChanged);null!==t.disconnect&&e.removeListener("disconnect",t.disconnect)}(this.provider,this.eventHandlers)}}async function u(e,t,r){try{return await e()}catch(e){if(e instanceof n)throw e;return t(e,r)}}const h=4001,A=4100,v=4900,w=4901;class f extends l{constructor(e){if(super(e),this.providerType="external",null==e)throw new n("EIP-1193 provider is required",r.INVALID_CONFIG)}handleProviderError(e,t){const s=e;if(s.code===h)throw new n(`User rejected ${t}`,r.USER_REJECTED,e instanceof Error?e:void 0);if(s.code===A)throw new n("Wallet is not authorized",r.NOT_CONNECTED,e instanceof Error?e:void 0);if(s.code===v||s.code===w)throw this.connectedAddress=null,new n("Wallet disconnected",r.NOT_CONNECTED,e instanceof Error?e:void 0);throw new n(s.message??`${t} failed`,t.includes("sign")?r.SIGNING_FAILED:r.UNKNOWN,e instanceof Error?e:void 0)}ensureConnected(){if(!this.connectedAddress)throw new n("Wallet is not connected. Call connect() first.",r.NOT_CONNECTED)}async connect(){try{const t=await this.provider.request({method:"eth_requestAccounts"});if(null==t||0===t.length)throw new n("No accounts returned from wallet",r.CONNECTION_FAILED);const s=t[0];if(void 0===s)throw new n("No accounts returned from wallet",r.CONNECTION_FAILED);return this.connectedAddress=e(s),this.connectedAddress}catch(e){if(e instanceof n)throw e;return this.handleProviderError(e,"connect")}}async disconnect(){this.connectedAddress=null,this.removeEventListeners();try{await this.provider.request({method:"wallet_revokePermissions",params:[{eth_accounts:{}}]})}catch{}}isConnected(){return null!==this.connectedAddress}async signMessage(e){return this.ensureConnected(),u(()=>d(this.provider,this.connectedAddress,e),(e,t)=>this.handleProviderError(e,t),"sign message")}async signTypedData(e,t,n){return this.ensureConnected(),u(()=>c(this.provider,this.connectedAddress,e,t,n),(e,t)=>this.handleProviderError(e,t),"sign typed data")}async getAddress(){await Promise.resolve(),this.ensureConnected();const e=this.connectedAddress;if(null==e)throw new n("Wallet is not connected",r.NOT_CONNECTED);return e}async getGalaAddress(){return`eth|${(await this.getAddress()).slice(2)}`}async getPrivateKey(){return Promise.reject(new n("Private key is not accessible with external wallet providers. Use PrivateKeyProvider if you need private key access for @gala-chain operations.",r.PRIVATE_KEY_NOT_ACCESSIBLE))}getProvider(){return this.provider}}class p extends l{constructor(e){if(super(e),this.providerType="external",this.galaRawAddress=null,!e)throw new n("Gala Wallet provider is required",r.PROVIDER_NOT_AVAILABLE)}parseGalaError(e){if(e instanceof Error)try{const t=JSON.parse(e.message);if("object"==typeof t&&null!==t){const n=t,r={message:"string"==typeof n.message?n.message:e.message};return"number"==typeof n.code&&(r.code=n.code),r}return{message:e.message}}catch{return{message:e.message}}return{message:String(e)}}handleProviderError(e,t){const s=this.parseGalaError(e);if(4001===s.code)throw new n(`User rejected ${t}`,r.USER_REJECTED,e instanceof Error?e:void 0);if(4900===s.code)throw this.connectedAddress=null,new n("Wallet disconnected",r.NOT_CONNECTED,e instanceof Error?e:void 0);const i=s.message?s.message:`${t} failed`;throw new n(i,t.includes("sign")?r.SIGNING_FAILED:r.UNKNOWN,e instanceof Error?e:void 0)}ensureConnected(){if(null===this.connectedAddress||void 0===this.connectedAddress)throw new n("Wallet is not connected. Call connect() first.",r.NOT_CONNECTED)}async connect(){try{const t=await this.provider.request({method:"eth_requestAccounts"});if(null==t||0===t.length)throw new n("No accounts returned from Gala Wallet",r.CONNECTION_FAILED);const s=t[0];if(void 0===s)throw new n("No accounts returned from Gala Wallet",r.CONNECTION_FAILED);this.galaRawAddress=s;let i=s;return i.startsWith("eth|")?i=`0x${i.slice(4)}`:i.startsWith("0x")||(i=`0x${i}`),this.connectedAddress=e(i),this.connectedAddress}catch(e){if(e instanceof n)throw e;return this.handleProviderError(e,"connect")}}async disconnect(){this.connectedAddress=null,this.galaRawAddress=null,this.removeEventListeners();try{await this.provider.disconnect()}catch{}}isConnected(){return null!==this.connectedAddress}async signMessage(e){return this.ensureConnected(),u(async()=>(await this.provider.setAddress(this.galaRawAddress??this.connectedAddress),d(this.provider,this.connectedAddress,e)),(e,t)=>this.handleProviderError(e,t),"sign message")}async signTypedData(e,t,n){return this.ensureConnected(),u(async()=>(await this.provider.setAddress(this.galaRawAddress??this.connectedAddress),c(this.provider,this.connectedAddress,e,t,n)),(e,t)=>this.handleProviderError(e,t),"sign typed data")}getAddress(){return this.ensureConnected(),Promise.resolve(this.connectedAddress)}async getGalaAddress(){return`eth|${(await this.getAddress()).slice(2)}`}getPrivateKey(){throw new n("Private key is not accessible with Gala Wallet. Use PrivateKeyProvider if you need private key access for @gala-chain operations.",r.PRIVATE_KEY_NOT_ACCESSIBLE)}getProvider(){return this.provider}}class E{constructor(e){this.providerType="privateKey",this.connected=!0;try{this.wallet=new t(e)}catch(e){throw new n("Invalid private key provided",r.INVALID_CONFIG,e instanceof Error?e:void 0)}}static fromWallet(e){return new E(e.privateKey)}async signMessage(e){try{return await this.wallet.signMessage(e)}catch(e){throw new n("Failed to sign message",r.SIGNING_FAILED,e instanceof Error?e:void 0)}}async signTypedData(e,t,s){try{return await this.wallet.signTypedData(e,t,s)}catch(e){throw new n("Failed to sign typed data",r.SIGNING_FAILED,e instanceof Error?e:void 0)}}getAddress(){return Promise.resolve(e(this.wallet.address))}async getGalaAddress(){return`eth|${(await this.getAddress()).slice(2)}`}async connect(){return this.connected=!0,this.getAddress()}disconnect(){return this.connected=!1,Promise.resolve()}isConnected(){return this.connected}getPrivateKey(){return Promise.resolve(this.wallet.privateKey)}getWallet(){return this.wallet}}const g={METAMASK:"io.metamask",METAMASK_FLASK:"io.metamask.flask",COINBASE:"com.coinbase.wallet",TRUST_WALLET:"com.trustwallet.app",PHANTOM:"app.phantom",RAINBOW:"me.rainbow",OKX:"com.okex.wallet",RABBY:"io.rabby",BRAVE:"com.brave.wallet",FRAME:"sh.frame",LEDGER:"com.ledger",ZERION:"io.zerion.wallet",GALA:"com.gala.wallet"},y={[g.METAMASK]:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIxLjU0IDQuMjJsLTguMzQgNi4yMSAxLjU0LTMuNjUtLTUuNTMtMi41MXoiIGZpbGw9IiNFMjc2MUIiLz48L3N2Zz4=",[g.GALA]:"data:image/png;base64,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"};function m(){return"undefined"!=typeof window&&"function"==typeof window.dispatchEvent}function N(){if(!m())return null;return window.ethereum??null}function I(e){return"object"==typeof e&&null!==e&&"function"==typeof e.request}async function L(e=500){const t=[],n=new Map;return m()?new Promise(r=>{const s=new Set,i=e=>{const r=e,{info:i,provider:o}=r.detail;if(s.has(i.uuid))return;s.add(i.uuid);const a={id:i.rdns||i.uuid,name:i.name,rdns:i.rdns||i.uuid,icon:i.icon??y[i.rdns||""]??"",provider:o,isInjected:!1};t.push(a),n.set(a.id,a)};window.addEventListener("eip6963:announceProvider",i),window.dispatchEvent(new Event("eip6963:requestProvider")),setTimeout(()=>{if(window.removeEventListener("eip6963:announceProvider",i),0===t.length){const e=N();if(e){const r=window;let s="Browser Wallet",i="injected";r.ethereum?.isMetaMask?(s="MetaMask",i=g.METAMASK):r.ethereum?.isCoinbaseWallet?(s="Coinbase Wallet",i=g.COINBASE):r.ethereum?.isTrust&&(s="Trust Wallet",i=g.TRUST_WALLET);const o={id:i,name:s,rdns:i,icon:y[i]??"",provider:e,isInjected:!0};t.push(o),n.set(o.id,o)}}if(!n.has(g.TRUST_WALLET)){const e=function(){if(!m())return null;const e=window;if(I(e.ethereum)&&e.ethereum.isTrust)return e.ethereum;const t=e.ethereum?.providers?.find(e=>I(e)&&!0===e.isTrust);return void 0!==t?t:I(e.trustwallet)?e.trustwallet:null}();if(null!==e&&!t.some(t=>t.provider===e)){const r={id:g.TRUST_WALLET,name:"Trust Wallet",rdns:g.TRUST_WALLET,icon:y[g.TRUST_WALLET]??"",provider:e,isInjected:!0};t.push(r),n.set(r.id,r)}}const e=window;if(e.gala?.request&&!n.has(g.GALA)){const r={id:g.GALA,name:"Gala Wallet",rdns:g.GALA,icon:y[g.GALA]??"",provider:e.gala,isInjected:!0};t.push(r),n.set(r.id,r)}r({wallets:t,byId:n,hasWallets:t.length>0,...void 0===t[0]?{}:{primary:t[0]}})},e)}):{wallets:t,byId:n,hasWallets:!1}}function C(e){if(!m())return()=>{};let t=!0,n={wallets:[],byId:new Map,hasWallets:!1};const r=r=>{if(!t)return;const s=r,{info:i,provider:o}=s.detail,a=i.rdns||i.uuid;if(n.byId.has(a))return;const d={id:a,name:i.name,rdns:a,icon:i.icon??"",provider:o,isInjected:!1},c=[...n.wallets,d],l=new Map(n.byId);l.set(d.id,d),n={wallets:c,byId:l,hasWallets:!0,...void 0===c[0]?{}:{primary:c[0]}},e(n)};return window.addEventListener("eip6963:announceProvider",r),L().then(r=>{t&&(n=r,e(r))}),()=>{t=!1,window.removeEventListener("eip6963:announceProvider",r)}}async function T(e,t){return(await L(t)).byId.get(e)??null}async function O(e,t){return null!==await T(e,t)}function D(){return null!==N()}function S(e){if(null!==e.privateKey&&void 0!==e.privateKey&&e.privateKey.length>0)return new E(e.privateKey);if(null!==e.eip1193Provider&&void 0!==e.eip1193Provider)return new f(e.eip1193Provider);throw new n("Invalid wallet provider config: must provide either privateKey or eip1193Provider",r.INVALID_CONFIG)}function M(e){return E.fromWallet(e)}function P(e){return new f(e)}function W(e){return"privateKey"===e.providerType}function G(e){return"external"===e.providerType}async function R(e){if(W(e))try{return await e.getPrivateKey()}catch{return}}function U(e){if(e)return E.fromWallet(e)}function F(e){if(e&&W(e))return e.getWallet()}async function V(e){return e.isConnected()?e.getAddress():e.connect()}function b(e){return"object"==typeof e&&null!==e&&"request"in e&&"function"==typeof e.request}function B(){if("undefined"==typeof window)return null;const e=window.ethereum;return b(e)?e:null}export{f as ExternalWalletProvider,p as GalaWalletProvider,g as KNOWN_WALLET_RDNS,E as PrivateKeyProvider,n as WalletProviderError,r as WalletProviderErrorCode,P as createProviderFromEip1193,M as createProviderFromWallet,S as createWalletProvider,L as detectWallets,V as ensureConnected,B as getInjectedEip1193Provider,R as getPrivateKeyIfAvailable,T as getWalletByRdns,D as hasAnyWallet,b as isEip1193Provider,G as isExternalProvider,W as isPrivateKeyProvider,O as isWalletAvailable,F as providerToWallet,C as subscribeToWalletChanges,U as walletToProvider};