@prb/effect-evm 1.0.0-beta.1 → 1.0.0-beta.3

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 (276) hide show
  1. package/dist/abi/erc165.js.map +1 -1
  2. package/dist/abi/erc20-no-output.js.map +1 -1
  3. package/dist/abi/erc20.js.map +1 -1
  4. package/dist/abi/erc721.js.map +1 -1
  5. package/dist/abi/index.js.map +1 -1
  6. package/dist/balance/index.js.map +1 -1
  7. package/dist/balance/service.js.map +1 -1
  8. package/dist/balance/service.test.integration.d.ts +2 -0
  9. package/dist/balance/service.test.integration.d.ts.map +1 -0
  10. package/dist/balance/service.test.integration.js +289 -0
  11. package/dist/balance/service.test.integration.js.map +1 -0
  12. package/dist/balance/utils.js.map +1 -1
  13. package/dist/block/errors.js.map +1 -1
  14. package/dist/block/index.js.map +1 -1
  15. package/dist/block/service.js.map +1 -1
  16. package/dist/block/service.test.integration.d.ts +2 -0
  17. package/dist/block/service.test.integration.d.ts.map +1 -0
  18. package/dist/block/service.test.integration.js +190 -0
  19. package/dist/block/service.test.integration.js.map +1 -0
  20. package/dist/constants/index.js.map +1 -1
  21. package/dist/contract/cross-chain-reader.js.map +1 -1
  22. package/dist/contract/index.js.map +1 -1
  23. package/dist/contract/pipeline/index.js.map +1 -1
  24. package/dist/contract/pipeline/internal/core.js.map +1 -1
  25. package/dist/contract/pipeline/internal/helpers.js.map +1 -1
  26. package/dist/contract/pipeline/internal/nonce.js.map +1 -1
  27. package/dist/contract/pipeline/internal/prepare.js.map +1 -1
  28. package/dist/contract/pipeline/internal/receipt.js.map +1 -1
  29. package/dist/contract/pipeline/live.js.map +1 -1
  30. package/dist/contract/pipeline/service.js.map +1 -1
  31. package/dist/contract/pipeline/types.js.map +1 -1
  32. package/dist/contract/pipeline/write-and-track.js.map +1 -1
  33. package/dist/contract/pipeline/write-and-wait.js.map +1 -1
  34. package/dist/contract/pipeline.js.map +1 -1
  35. package/dist/contract/reader.js.map +1 -1
  36. package/dist/contract/typed-contract.js.map +1 -1
  37. package/dist/contract/writer.js.map +1 -1
  38. package/dist/core/clients/index.js.map +1 -1
  39. package/dist/core/clients/public-client.js.map +1 -1
  40. package/dist/core/clients/wallet-client.js.map +1 -1
  41. package/dist/core/errors/client.js.map +1 -1
  42. package/dist/core/errors/contract.js.map +1 -1
  43. package/dist/core/errors/erc20.js.map +1 -1
  44. package/dist/core/errors/event.js.map +1 -1
  45. package/dist/core/errors/index.js.map +1 -1
  46. package/dist/core/errors/predicates.js.map +1 -1
  47. package/dist/core/errors/transaction.js.map +1 -1
  48. package/dist/core/errors/viem-mapper.d.ts.map +1 -1
  49. package/dist/core/errors/viem-mapper.js +11 -2
  50. package/dist/core/errors/viem-mapper.js.map +1 -1
  51. package/dist/core/index.js.map +1 -1
  52. package/dist/deploy/errors.js.map +1 -1
  53. package/dist/deploy/index.js.map +1 -1
  54. package/dist/deploy/service.js.map +1 -1
  55. package/dist/eip7702/erc7579.js.map +1 -1
  56. package/dist/eip7702/errors.js.map +1 -1
  57. package/dist/eip7702/index.js.map +1 -1
  58. package/dist/eip7702/service.js.map +1 -1
  59. package/dist/ens/ens.js.map +1 -1
  60. package/dist/ens/errors.js.map +1 -1
  61. package/dist/ens/index.js.map +1 -1
  62. package/dist/erc20/allowance/core.js.map +1 -1
  63. package/dist/erc20/allowance/index.js.map +1 -1
  64. package/dist/erc20/allowance/no-output.js.map +1 -1
  65. package/dist/erc20/allowance/types.js.map +1 -1
  66. package/dist/erc20/index.d.ts +1 -0
  67. package/dist/erc20/index.d.ts.map +1 -1
  68. package/dist/erc20/index.js +1 -0
  69. package/dist/erc20/index.js.map +1 -1
  70. package/dist/erc20/metadata.d.ts +16 -0
  71. package/dist/erc20/metadata.d.ts.map +1 -0
  72. package/dist/erc20/metadata.js +67 -0
  73. package/dist/erc20/metadata.js.map +1 -0
  74. package/dist/erc721/errors.js.map +1 -1
  75. package/dist/erc721/helpers.js.map +1 -1
  76. package/dist/erc721/index.js.map +1 -1
  77. package/dist/erc721/metadata.js.map +1 -1
  78. package/dist/erc721/service.js.map +1 -1
  79. package/dist/events/backfill.js.map +1 -1
  80. package/dist/events/backfill.test.integration.d.ts +2 -0
  81. package/dist/events/backfill.test.integration.d.ts.map +1 -0
  82. package/dist/events/backfill.test.integration.js +112 -0
  83. package/dist/events/backfill.test.integration.js.map +1 -0
  84. package/dist/events/cursor.js.map +1 -1
  85. package/dist/events/decoder.js.map +1 -1
  86. package/dist/events/index.js.map +1 -1
  87. package/dist/events/reliable-stream-simple.test.integration.d.ts +2 -0
  88. package/dist/events/reliable-stream-simple.test.integration.d.ts.map +1 -0
  89. package/dist/events/reliable-stream-simple.test.integration.js +22 -0
  90. package/dist/events/reliable-stream-simple.test.integration.js.map +1 -0
  91. package/dist/events/reliable-stream.js.map +1 -1
  92. package/dist/events/reliable-stream.test.integration.d.ts +2 -0
  93. package/dist/events/reliable-stream.test.integration.d.ts.map +1 -0
  94. package/dist/events/reliable-stream.test.integration.js +327 -0
  95. package/dist/events/reliable-stream.test.integration.js.map +1 -0
  96. package/dist/events/stream.js.map +1 -1
  97. package/dist/events/stream.test.integration.d.ts +2 -0
  98. package/dist/events/stream.test.integration.d.ts.map +1 -0
  99. package/dist/events/stream.test.integration.js +120 -0
  100. package/dist/events/stream.test.integration.js.map +1 -0
  101. package/dist/gas/errors.js.map +1 -1
  102. package/dist/gas/estimator.js.map +1 -1
  103. package/dist/gas/index.js.map +1 -1
  104. package/dist/gas/service.js.map +1 -1
  105. package/dist/gas/service.test.integration.d.ts +2 -0
  106. package/dist/gas/service.test.integration.d.ts.map +1 -0
  107. package/dist/gas/service.test.integration.js +128 -0
  108. package/dist/gas/service.test.integration.js.map +1 -0
  109. package/dist/index.js.map +1 -1
  110. package/dist/integrations/react-hooks/convenience/index.js.map +1 -1
  111. package/dist/integrations/react-hooks/internal/error.js.map +1 -1
  112. package/dist/integrations/react-hooks/internal/is-dev.js.map +1 -1
  113. package/dist/integrations/react-hooks/internal/runtime.js.map +1 -1
  114. package/dist/integrations/react-hooks/internal/scoped-run.js.map +1 -1
  115. package/dist/integrations/react-hooks/internal/stable.js.map +1 -1
  116. package/dist/integrations/react-hooks/primitives/use-effect-memo-factory.js.map +1 -1
  117. package/dist/integrations/react-hooks/primitives/use-effect.js.map +1 -1
  118. package/dist/integrations/react-hooks/primitives/use-fork-effect.js.map +1 -1
  119. package/dist/integrations/react-hooks/primitives/use-stream.js.map +1 -1
  120. package/dist/integrations/react-hooks/primitives.js.map +1 -1
  121. package/dist/integrations/react-hooks/provider.js.map +1 -1
  122. package/dist/integrations/react-hooks/wagmi/index.js.map +1 -1
  123. package/dist/integrations/react-hooks/wallet-provider-ref.js.map +1 -1
  124. package/dist/integrations/wagmi/index.js.map +1 -1
  125. package/dist/integrations/wagmi/layers.js.map +1 -1
  126. package/dist/internal/index.js.map +1 -1
  127. package/dist/internal/numbers.js.map +1 -1
  128. package/dist/internal/schedule.js.map +1 -1
  129. package/dist/internal/stream-adapters.js.map +1 -1
  130. package/dist/internal/viem-effect.js.map +1 -1
  131. package/dist/nonce/index.js.map +1 -1
  132. package/dist/nonce/manager.js.map +1 -1
  133. package/dist/nonce/service.js.map +1 -1
  134. package/dist/nonce/service.test.integration.d.ts +2 -0
  135. package/dist/nonce/service.test.integration.d.ts.map +1 -0
  136. package/dist/nonce/service.test.integration.js +141 -0
  137. package/dist/nonce/service.test.integration.js.map +1 -0
  138. package/dist/platform/browser/cursor-store/index.js.map +1 -1
  139. package/dist/platform/browser/cursor-store/local-storage.js.map +1 -1
  140. package/dist/platform/browser/index.js.map +1 -1
  141. package/dist/platform/browser/layers.js.map +1 -1
  142. package/dist/platform/browser/storage/errors.js.map +1 -1
  143. package/dist/platform/browser/storage/index.js.map +1 -1
  144. package/dist/platform/browser/storage/local-storage.js.map +1 -1
  145. package/dist/platform/browser/tx-persistence/index.js.map +1 -1
  146. package/dist/platform/browser/tx-persistence/persistence.js.map +1 -1
  147. package/dist/platform/browser/tx-store/errors.js.map +1 -1
  148. package/dist/platform/browser/tx-store/index.js.map +1 -1
  149. package/dist/platform/browser/tx-store/local-storage.js.map +1 -1
  150. package/dist/platform/browser/tx-store/store.js.map +1 -1
  151. package/dist/platform/browser/tx-store/types.js.map +1 -1
  152. package/dist/presets/index.js.map +1 -1
  153. package/dist/presets/layers.js.map +1 -1
  154. package/dist/presets/transports.js.map +1 -1
  155. package/dist/query/chain-head.js.map +1 -1
  156. package/dist/query/client.js.map +1 -1
  157. package/dist/query/client.test.integration.d.ts +2 -0
  158. package/dist/query/client.test.integration.d.ts.map +1 -0
  159. package/dist/query/client.test.integration.js +94 -0
  160. package/dist/query/client.test.integration.js.map +1 -0
  161. package/dist/query/contract-query.js.map +1 -1
  162. package/dist/query/contract-query.test.integration.d.ts +2 -0
  163. package/dist/query/contract-query.test.integration.d.ts.map +1 -0
  164. package/dist/query/contract-query.test.integration.js +133 -0
  165. package/dist/query/contract-query.test.integration.js.map +1 -0
  166. package/dist/query/index.js.map +1 -1
  167. package/dist/query/multicall-batcher.js.map +1 -1
  168. package/dist/react-hooks/index.js.map +1 -1
  169. package/dist/react-hooks/use-is-safe-multisig.js.map +1 -1
  170. package/dist/react-hooks/use-safe-context.js.map +1 -1
  171. package/dist/react-hooks/wagmi/index.js.map +1 -1
  172. package/dist/rpc/cache.js.map +1 -1
  173. package/dist/rpc/circuit-breaker.js.map +1 -1
  174. package/dist/rpc/dedup.js.map +1 -1
  175. package/dist/rpc/index.js.map +1 -1
  176. package/dist/rpc/retry.js.map +1 -1
  177. package/dist/rpc/routemesh.js.map +1 -1
  178. package/dist/safe/adapter.js.map +1 -1
  179. package/dist/safe/detection.js.map +1 -1
  180. package/dist/safe/detection.test.integration.d.ts +2 -0
  181. package/dist/safe/detection.test.integration.d.ts.map +1 -0
  182. package/dist/safe/detection.test.integration.js +92 -0
  183. package/dist/safe/detection.test.integration.js.map +1 -0
  184. package/dist/safe/errors.js.map +1 -1
  185. package/dist/safe/index.js.map +1 -1
  186. package/dist/safe/live.js.map +1 -1
  187. package/dist/safe/service.js.map +1 -1
  188. package/dist/safe/service.test.integration.d.ts +2 -0
  189. package/dist/safe/service.test.integration.d.ts.map +1 -0
  190. package/dist/safe/service.test.integration.js +173 -0
  191. package/dist/safe/service.test.integration.js.map +1 -0
  192. package/dist/safe/simulation/abis.js.map +1 -1
  193. package/dist/safe/simulation/addresses.js.map +1 -1
  194. package/dist/safe/simulation/encoding.js.map +1 -1
  195. package/dist/safe/simulation/errors.d.ts +3 -3
  196. package/dist/safe/simulation/errors.js +1 -1
  197. package/dist/safe/simulation/errors.js.map +1 -1
  198. package/dist/safe/simulation/index.d.ts +1 -1
  199. package/dist/safe/simulation/index.js +1 -1
  200. package/dist/safe/simulation/index.js.map +1 -1
  201. package/dist/safe/simulation/service.d.ts +2 -2
  202. package/dist/safe/simulation/service.js +2 -2
  203. package/dist/safe/simulation/service.js.map +1 -1
  204. package/dist/safe/simulation/types.js.map +1 -1
  205. package/dist/safe/types.js.map +1 -1
  206. package/dist/signature/errors.js.map +1 -1
  207. package/dist/signature/index.js.map +1 -1
  208. package/dist/signature/service.js.map +1 -1
  209. package/dist/signature/service.test.integration.d.ts +2 -0
  210. package/dist/signature/service.test.integration.d.ts.map +1 -0
  211. package/dist/signature/service.test.integration.js +179 -0
  212. package/dist/signature/service.test.integration.js.map +1 -0
  213. package/dist/signature/utils.js.map +1 -1
  214. package/dist/simulation/errors.js.map +1 -1
  215. package/dist/simulation/index.js.map +1 -1
  216. package/dist/simulation/service.js.map +1 -1
  217. package/dist/simulation/tenderly.js.map +1 -1
  218. package/dist/simulation/tenderly.test.integration.d.ts +2 -0
  219. package/dist/simulation/tenderly.test.integration.d.ts.map +1 -0
  220. package/dist/simulation/tenderly.test.integration.js +104 -0
  221. package/dist/simulation/tenderly.test.integration.js.map +1 -0
  222. package/dist/simulation/types.js.map +1 -1
  223. package/dist/subscriptions/block-subscription.js.map +1 -1
  224. package/dist/subscriptions/errors.js.map +1 -1
  225. package/dist/subscriptions/index.js.map +1 -1
  226. package/dist/subscriptions/log-subscription.js.map +1 -1
  227. package/dist/subscriptions/pending-tx.js.map +1 -1
  228. package/dist/subscriptions/service.js.map +1 -1
  229. package/dist/telemetry/index.js.map +1 -1
  230. package/dist/telemetry/logger.js.map +1 -1
  231. package/dist/telemetry/tracer.js.map +1 -1
  232. package/dist/testing-kit/_fixtures/addresses.js.map +1 -1
  233. package/dist/testing-kit/_fixtures/receipts.js.map +1 -1
  234. package/dist/testing-kit/helpers.js.map +1 -1
  235. package/dist/testing-kit/index.js.map +1 -1
  236. package/dist/testing-kit/mock-balance-service.js.map +1 -1
  237. package/dist/testing-kit/mock-block-service.js.map +1 -1
  238. package/dist/testing-kit/mock-cross-chain-reader.js.map +1 -1
  239. package/dist/testing-kit/mock-deploy-service.js.map +1 -1
  240. package/dist/testing-kit/mock-erc721-service.js.map +1 -1
  241. package/dist/testing-kit/mock-gas-service.js.map +1 -1
  242. package/dist/testing-kit/mock-nonce-service.js.map +1 -1
  243. package/dist/testing-kit/mock-public-client.js.map +1 -1
  244. package/dist/testing-kit/mock-signature-service.js.map +1 -1
  245. package/dist/testing-kit/mock-simulation-service.js.map +1 -1
  246. package/dist/testing-kit/mock-subscription-service.js.map +1 -1
  247. package/dist/testing-kit/mock-transfer-service.js.map +1 -1
  248. package/dist/testing-kit/mock-wallet-client.js.map +1 -1
  249. package/dist/testing-kit/mock-wallet-provider.js.map +1 -1
  250. package/dist/testing-kit/test-layer.js.map +1 -1
  251. package/dist/transfer/index.js.map +1 -1
  252. package/dist/transfer/service.js.map +1 -1
  253. package/dist/tx/fees.js.map +1 -1
  254. package/dist/tx/index.js.map +1 -1
  255. package/dist/tx/manager.js.map +1 -1
  256. package/dist/tx/manager.test.integration.d.ts +2 -0
  257. package/dist/tx/manager.test.integration.d.ts.map +1 -0
  258. package/dist/tx/manager.test.integration.js +157 -0
  259. package/dist/tx/manager.test.integration.js.map +1 -0
  260. package/dist/tx/policy.js.map +1 -1
  261. package/dist/tx/replacement.js.map +1 -1
  262. package/dist/tx/tracker.js.map +1 -1
  263. package/dist/types/abi.js.map +1 -1
  264. package/dist/types/index.js.map +1 -1
  265. package/dist/types/params.js.map +1 -1
  266. package/dist/types/tx-overrides.js.map +1 -1
  267. package/dist/wagmi/index.js.map +1 -1
  268. package/dist/wagmi/layers.js.map +1 -1
  269. package/dist/wallet/errors.js.map +1 -1
  270. package/dist/wallet/index.js.map +1 -1
  271. package/dist/wallet/lifecycle.js.map +1 -1
  272. package/dist/wallet/operations.js.map +1 -1
  273. package/dist/wallet/provider-ref.js.map +1 -1
  274. package/dist/wallet/service.js.map +1 -1
  275. package/dist/wallet/types.js.map +1 -1
  276. package/package.json +25 -9
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/wallet/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/wallet/operations.ts"],"names":[],"mappings":"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","sourcesContent":["import { Effect } from \"effect\";\nimport type { Address, Hex, TypedData } from \"viem\";\nimport { isLikelyUserRejectedError, isUserRejectedError } from \"@/src/core/errors/index.js\";\nimport { SpanNames } from \"@/src/telemetry/index.js\";\nimport type {\n SignMessageParams,\n SignTransactionParams,\n SignTypedDataParams,\n WalletProvider,\n} from \"@/src/wallet/index.js\";\nimport {\n AccountNotConnectedError,\n SignMessageError,\n SignTransactionError,\n SignTypedDataError,\n} from \"@/src/wallet/index.js\";\n\n/**\n * Detect if an error is a user rejection\n */\nconst isUserRejection = (error: unknown): boolean => isUserRejectedError(error);\nconst isLikelyUserRejection = (error: unknown): boolean => isLikelyUserRejectedError(error);\n\nconst errorCode = (error: unknown): number | undefined => {\n if (!error || typeof error !== \"object\") {\n return;\n }\n const code = (error as { code?: unknown }).code;\n return typeof code === \"number\" ? code : undefined;\n};\n\nconst messageOf = (error: unknown): string => {\n if (error instanceof Error) {\n return error.message;\n }\n if (typeof error === \"string\") {\n return error;\n }\n return String(error);\n};\n\nconst isMethodNotFound = (error: unknown): boolean => {\n const code = errorCode(error);\n if (code === -32_601) {\n return true;\n }\n const msg = messageOf(error).toLowerCase();\n return msg.includes(\"method not found\") || msg.includes(\"does not exist\");\n};\n\nconst isInvalidParams = (error: unknown): boolean => {\n const code = errorCode(error);\n if (code === -32_602) {\n return true;\n }\n const msg = messageOf(error).toLowerCase();\n return msg.includes(\"invalid params\") || msg.includes(\"invalid parameter\");\n};\n\nconst requestHex = async (\n provider: WalletProvider,\n method: string,\n methodParams: unknown[]\n): Promise<Hex> => {\n const result = await provider.request({\n method,\n params: methodParams,\n });\n return result as Hex;\n};\n\nconst signTypedDataFallbacks = async (\n provider: WalletProvider,\n account: Address,\n typedDataPayload: unknown\n): Promise<Hex> => {\n const json = JSON.stringify(typedDataPayload);\n const attempts: ReadonlyArray<{\n method: string;\n params: readonly unknown[];\n }> = [\n { method: \"eth_signTypedData_v4\", params: [account, json] },\n { method: \"eth_signTypedData_v3\", params: [account, json] },\n { method: \"eth_signTypedData\", params: [account, typedDataPayload] },\n ];\n\n let lastError: unknown;\n for (const attempt of attempts) {\n try {\n return await requestHex(provider, attempt.method, [...attempt.params]);\n } catch (e) {\n if (isUserRejection(e)) {\n throw e;\n }\n lastError = e;\n\n const shouldTryNext = attempt.method !== \"eth_signTypedData\" && isMethodNotFound(e);\n\n if (!shouldTryNext) {\n throw e;\n }\n }\n }\n\n throw lastError;\n};\n\n/**\n * Sign a message using the wallet's personal_sign method\n */\nexport function signMessage(\n provider: WalletProvider,\n params: SignMessageParams\n): Effect.Effect<Hex, SignMessageError | AccountNotConnectedError> {\n return Effect.gen(function* () {\n // Get the current account if not provided\n const account =\n params.account ??\n (yield* Effect.tryPromise({\n catch: (error) =>\n new AccountNotConnectedError({\n message: error instanceof Error ? error.message : \"Failed to get wallet account\",\n }),\n try: async () => {\n const accounts = (await provider.request({\n method: \"eth_accounts\",\n })) as Address[];\n if (accounts.length === 0) {\n throw new Error(\"No wallet account connected\");\n }\n return accounts[0];\n },\n }));\n\n // Prepare the message\n const message = typeof params.message === \"string\" ? params.message : params.message.raw;\n\n // Sign the message\n return yield* Effect.tryPromise({\n catch: (cause) => {\n const errorMessage = messageOf(cause) || \"Failed to sign message\";\n const isRejection = isLikelyUserRejection(cause);\n return new SignMessageError({\n cause,\n message: isRejection ? \"User rejected the request\" : errorMessage,\n });\n },\n try: async () => {\n try {\n const result = await provider.request({\n method: \"personal_sign\",\n params: [message, account],\n });\n return result as Hex;\n } catch (e) {\n if (isUserRejection(e)) {\n throw e;\n }\n\n if (!isInvalidParams(e)) {\n throw e;\n }\n\n // Fallback for providers that expect reversed parameter order.\n const result = await provider.request({\n method: \"personal_sign\",\n params: [account, message],\n });\n return result as Hex;\n }\n },\n });\n }).pipe(\n Effect.withSpan(SpanNames.WALLET_SIGN_MESSAGE, {\n attributes: {\n account: params.account,\n },\n })\n );\n}\n\n/**\n * Sign typed data using the wallet's eth_signTypedData_v4 method\n */\nexport function signTypedData<\n const typedData extends TypedData | Record<string, unknown>,\n primaryType extends keyof typedData | \"EIP712Domain\",\n>(\n provider: WalletProvider,\n params: SignTypedDataParams<typedData, primaryType>\n): Effect.Effect<Hex, SignTypedDataError | AccountNotConnectedError> {\n return Effect.gen(function* () {\n // Get the current account if not provided\n const account =\n params.account ??\n (yield* Effect.tryPromise({\n catch: (error) =>\n new AccountNotConnectedError({\n message: error instanceof Error ? error.message : \"Failed to get wallet account\",\n }),\n try: async () => {\n const accounts = (await provider.request({\n method: \"eth_accounts\",\n })) as Address[];\n if (accounts.length === 0) {\n throw new Error(\"No wallet account connected\");\n }\n return accounts[0];\n },\n }));\n\n // Prepare the typed data payload\n const typedDataPayload = {\n domain: params.domain,\n message: params.message,\n primaryType: params.primaryType,\n types: params.types,\n };\n\n // Sign the typed data\n return yield* Effect.tryPromise({\n catch: (cause) => {\n const errorMessage = messageOf(cause) || \"Failed to sign typed data\";\n const isRejection = isLikelyUserRejection(cause);\n return new SignTypedDataError({\n cause,\n message: isRejection ? \"User rejected the request\" : errorMessage,\n });\n },\n try: async () => await signTypedDataFallbacks(provider, account, typedDataPayload),\n });\n }).pipe(\n Effect.withSpan(SpanNames.WALLET_SIGN_TYPED_DATA, {\n attributes: {\n account: params.account,\n primaryType: params.primaryType,\n },\n })\n );\n}\n\n/**\n * Sign a transaction using the wallet's eth_signTransaction method\n */\nexport function signTransaction(\n provider: WalletProvider,\n params: SignTransactionParams\n): Effect.Effect<Hex, SignTransactionError | AccountNotConnectedError> {\n return Effect.gen(function* () {\n // Get the current account if not provided\n const account =\n params.from ??\n (yield* Effect.tryPromise({\n catch: (error) =>\n new AccountNotConnectedError({\n message: error instanceof Error ? error.message : \"Failed to get wallet account\",\n }),\n try: async () => {\n const accounts = (await provider.request({\n method: \"eth_accounts\",\n })) as Address[];\n if (accounts.length === 0) {\n throw new Error(\"No wallet account connected\");\n }\n return accounts[0];\n },\n }));\n\n // Sign the transaction\n return yield* Effect.tryPromise({\n catch: (cause) => {\n const errorMessage = cause instanceof Error ? cause.message : \"Failed to sign transaction\";\n const isRejection = isLikelyUserRejection(cause);\n return new SignTransactionError({\n cause,\n message: isRejection ? \"User rejected the request\" : errorMessage,\n });\n },\n try: async () => {\n const result = await provider.request({\n method: \"eth_signTransaction\",\n params: [{ ...params, from: account }],\n });\n return result as Hex;\n },\n });\n });\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"provider-ref.js","sourceRoot":"","sources":["../../src/wallet/provider-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAUzE,MAAM,OAAO,iBAAkB,SAAQ,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAGxE;CAAG;AAEN,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,OAAwB,EACQ,EAAE,CAClC,KAAK,CAAC,MAAM,CACV,iBAAiB,EACjB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtE,OAAO,iBAAiB,CAAC,EAAE,CAAC;QAC1B,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9C,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC;QAC7B,GAAG;QACH,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACnE,CAAC,CAAC;AACL,CAAC,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"provider-ref.js","sourceRoot":"","sources":["../../src/wallet/provider-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAUzE,MAAM,OAAO,iBAAkB,SAAQ,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAGxE;CAAG;AAEN,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,OAAwB,EACQ,EAAE,CAClC,KAAK,CAAC,MAAM,CACV,iBAAiB,EACjB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtE,OAAO,iBAAiB,CAAC,EAAE,CAAC;QAC1B,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9C,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC;QAC7B,GAAG;QACH,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACnE,CAAC,CAAC;AACL,CAAC,CAAC,CACH,CAAC","sourcesContent":["import { Context, Effect, Layer, Option, SubscriptionRef } from \"effect\";\nimport type { WalletProvider } from \"./types.js\";\n\nexport type WalletProviderRefShape = {\n readonly ref: SubscriptionRef.SubscriptionRef<Option.Option<WalletProvider>>;\n readonly clear: Effect.Effect<void>;\n readonly get: Effect.Effect<Option.Option<WalletProvider>>;\n readonly set: (provider: WalletProvider) => Effect.Effect<void>;\n};\n\nexport class WalletProviderRef extends Context.Tag(\"ew3/WalletProviderRef\")<\n WalletProviderRef,\n WalletProviderRefShape\n>() {}\n\nexport const makeWalletProviderRefLive = (\n initial?: WalletProvider\n): Layer.Layer<WalletProviderRef> =>\n Layer.scoped(\n WalletProviderRef,\n Effect.gen(function* () {\n const ref = yield* SubscriptionRef.make(Option.fromNullable(initial));\n\n return WalletProviderRef.of({\n clear: SubscriptionRef.set(ref, Option.none()),\n get: SubscriptionRef.get(ref),\n ref,\n set: (provider) => SubscriptionRef.set(ref, Option.some(provider)),\n });\n })\n );\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/wallet/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/wallet/service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Context, Effect, Layer, Option, Stream } from \"effect\";\nimport type { Address, Hex, TypedData } from \"viem\";\nimport { parseHexInt } from \"@/src/internal/index.js\";\nimport type {\n SignMessageError,\n SignMessageParams,\n SignTransactionError,\n SignTransactionParams,\n SignTypedDataError,\n SignTypedDataParams,\n WalletProvider,\n} from \"@/src/wallet/index.js\";\nimport {\n AccountNotConnectedError,\n signMessage,\n signTransaction,\n signTypedData,\n WalletProviderRef,\n} from \"@/src/wallet/index.js\";\n\nexport const UNKNOWN_CHAIN_ID = 0;\n\nconst accountsStreamFromProvider = (provider: WalletProvider) =>\n Stream.async<Address[], never>((emit) => {\n provider\n .request({ method: \"eth_accounts\" })\n .then((result) => {\n const accounts = (result as Address[]) || [];\n emit.single(accounts);\n })\n .catch(() => {\n emit.single([]);\n });\n\n const handleAccountsChanged = (...args: unknown[]) => {\n const accounts = args[0] as Address[];\n emit.single(accounts);\n };\n\n if (\"on\" in provider && typeof provider.on === \"function\") {\n (\n provider as {\n on: (event: string, handler: (...args: unknown[]) => void) => void;\n }\n ).on(\"accountsChanged\", handleAccountsChanged);\n }\n\n return Effect.sync(() => {\n if (\"removeListener\" in provider && typeof provider.removeListener === \"function\") {\n (\n provider as {\n removeListener: (event: string, handler: (...args: unknown[]) => void) => void;\n }\n ).removeListener(\"accountsChanged\", handleAccountsChanged);\n }\n });\n });\n\nconst chainIdStreamFromProvider = (provider: WalletProvider) =>\n Stream.async<number, never>((emit) => {\n provider\n .request({ method: \"eth_chainId\" })\n .then((result) => {\n const chainIdHex = result as string;\n const parsed = Option.getOrElse(parseHexInt(chainIdHex), () => UNKNOWN_CHAIN_ID);\n emit.single(parsed);\n })\n .catch(() => {\n emit.single(UNKNOWN_CHAIN_ID);\n });\n\n const handleChainChanged = (...args: unknown[]) => {\n const chainIdHex = args[0] as string;\n const parsed = Option.getOrElse(parseHexInt(chainIdHex), () => UNKNOWN_CHAIN_ID);\n emit.single(parsed);\n };\n\n if (\"on\" in provider && typeof provider.on === \"function\") {\n (\n provider as {\n on: (event: string, handler: (...args: unknown[]) => void) => void;\n }\n ).on(\"chainChanged\", handleChainChanged);\n }\n\n return Effect.sync(() => {\n if (\"removeListener\" in provider && typeof provider.removeListener === \"function\") {\n (\n provider as {\n removeListener: (event: string, handler: (...args: unknown[]) => void) => void;\n }\n ).removeListener(\"chainChanged\", handleChainChanged);\n }\n });\n });\n\n/**\n * Service for wallet account management and signing operations\n */\nexport type WalletServiceShape = {\n readonly accounts: Effect.Effect<Stream.Stream<Address[], never>, never>;\n readonly currentAccount: Effect.Effect<Address, AccountNotConnectedError>;\n readonly chainId: Effect.Effect<Stream.Stream<number, never>, never>;\n readonly currentChainId: Effect.Effect<number, AccountNotConnectedError>;\n readonly signMessage: (\n params: SignMessageParams\n ) => Effect.Effect<Hex, SignMessageError | AccountNotConnectedError>;\n readonly signTypedData: <\n const typedData extends TypedData | Record<string, unknown>,\n primaryType extends keyof typedData | \"EIP712Domain\",\n >(\n params: SignTypedDataParams<typedData, primaryType>\n ) => Effect.Effect<Hex, SignTypedDataError | AccountNotConnectedError>;\n readonly signTransaction: (\n params: SignTransactionParams\n ) => Effect.Effect<Hex, SignTransactionError | AccountNotConnectedError>;\n};\n\nexport class WalletService extends Context.Tag(\"ew3/WalletService\")<\n WalletService,\n WalletServiceShape\n>() {}\n\n/**\n * Create a live implementation of WalletService\n */\nexport function makeWalletServiceLive(provider: WalletProvider): Layer.Layer<WalletService> {\n return Layer.succeed(WalletService, {\n accounts: Effect.succeed(accountsStreamFromProvider(provider)),\n\n chainId: Effect.succeed(chainIdStreamFromProvider(provider)),\n\n currentAccount: Effect.gen(function* () {\n const accounts = yield* Effect.tryPromise({\n catch: (error) =>\n new AccountNotConnectedError({\n message: error instanceof Error ? error.message : \"Failed to get accounts\",\n }),\n try: async () => {\n const result = await provider.request({\n method: \"eth_accounts\",\n });\n return result as Address[];\n },\n });\n\n if (accounts.length === 0) {\n return yield* Effect.fail(\n new AccountNotConnectedError({\n message: \"No wallet account connected\",\n })\n );\n }\n\n return accounts[0];\n }),\n\n currentChainId: Effect.gen(function* () {\n const chainIdHex = yield* Effect.tryPromise({\n catch: (error) =>\n new AccountNotConnectedError({\n message: error instanceof Error ? error.message : \"Failed to get chain ID\",\n }),\n try: async () => {\n const result = await provider.request({\n method: \"eth_chainId\",\n });\n return result as string;\n },\n });\n\n return Option.getOrElse(parseHexInt(chainIdHex), () => UNKNOWN_CHAIN_ID);\n }),\n\n signMessage: (params: SignMessageParams) => signMessage(provider, params),\n\n signTransaction: (params: SignTransactionParams) => signTransaction(provider, params),\n\n signTypedData: <\n const typedData extends TypedData | Record<string, unknown>,\n primaryType extends keyof typedData | \"EIP712Domain\",\n >(\n params: SignTypedDataParams<typedData, primaryType>\n ) => signTypedData(provider, params),\n });\n}\n\nexport const WalletServiceFromProviderRefLive = Layer.effect(\n WalletService,\n Effect.gen(function* () {\n const providerRef = yield* WalletProviderRef;\n\n const getProviderOrFail = Effect.gen(function* () {\n const current = yield* providerRef.get;\n if (Option.isNone(current)) {\n return yield* Effect.fail(\n new AccountNotConnectedError({\n message: \"No wallet provider set\",\n })\n );\n }\n return current.value;\n });\n\n const accountsStream = providerRef.ref.changes.pipe(\n Stream.flatMap(\n (current) =>\n Option.isNone(current)\n ? Stream.succeed([] as Address[])\n : accountsStreamFromProvider(current.value),\n { switch: true }\n )\n );\n\n const chainIdStream = providerRef.ref.changes.pipe(\n Stream.flatMap(\n (current) =>\n Option.isNone(current)\n ? Stream.succeed(UNKNOWN_CHAIN_ID)\n : chainIdStreamFromProvider(current.value),\n { switch: true }\n )\n );\n\n return WalletService.of({\n accounts: Effect.succeed(accountsStream),\n chainId: Effect.succeed(chainIdStream),\n\n currentAccount: Effect.gen(function* () {\n const provider = yield* getProviderOrFail;\n const accounts = yield* Effect.tryPromise({\n catch: (error) =>\n new AccountNotConnectedError({\n message: error instanceof Error ? error.message : \"Failed to get accounts\",\n }),\n try: async () => {\n const result = await provider.request({ method: \"eth_accounts\" });\n return result as Address[];\n },\n });\n\n if (accounts.length === 0) {\n return yield* Effect.fail(\n new AccountNotConnectedError({\n message: \"No wallet account connected\",\n })\n );\n }\n\n return accounts[0];\n }),\n\n currentChainId: Effect.gen(function* () {\n const provider = yield* getProviderOrFail;\n const chainIdHex = yield* Effect.tryPromise({\n catch: (error) =>\n new AccountNotConnectedError({\n message: error instanceof Error ? error.message : \"Failed to get chain ID\",\n }),\n try: async () => {\n const result = await provider.request({ method: \"eth_chainId\" });\n return result as string;\n },\n });\n\n return Option.getOrElse(parseHexInt(chainIdHex), () => UNKNOWN_CHAIN_ID);\n }),\n\n signMessage: (params) =>\n getProviderOrFail.pipe(Effect.flatMap((provider) => signMessage(provider, params))),\n\n signTransaction: (params) =>\n getProviderOrFail.pipe(Effect.flatMap((provider) => signTransaction(provider, params))),\n\n signTypedData: <\n const typedData extends TypedData | Record<string, unknown>,\n primaryType extends keyof typedData | \"EIP712Domain\",\n >(\n params: SignTypedDataParams<typedData, primaryType>\n ) => getProviderOrFail.pipe(Effect.flatMap((provider) => signTypedData(provider, params))),\n });\n })\n);\n\n/**\n * Default live layer that requires a WalletProvider to be provided separately\n */\nexport const WalletServiceLive = Layer.effect(\n WalletService,\n Effect.sync(() => {\n // This is a placeholder that will be replaced by makeWalletServiceLive\n // when a provider is available\n throw new Error(\"WalletServiceLive requires a provider. Use makeWalletServiceLive instead.\");\n })\n);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/wallet/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/wallet/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Address, Chain, Hex, TransactionRequest, TypedData, TypedDataDefinition } from \"viem\";\n\nexport type SignMessageParams = {\n account?: Address;\n message: string | { raw: Hex };\n};\n\nexport type SignTypedDataParams<\n typedData extends TypedData | Record<string, unknown> = TypedData,\n primaryType extends keyof typedData | \"EIP712Domain\" = keyof typedData,\n> = TypedDataDefinition<typedData, primaryType> & {\n account?: Address;\n};\n\nexport type SignTransactionParams = TransactionRequest;\n\nexport type WalletProvider = {\n on?: (event: string, handler: (...args: unknown[]) => void) => void;\n removeListener?: (event: string, handler: (...args: unknown[]) => void) => void;\n request: (args: {\n method: string;\n params?: unknown[] | Record<string, unknown>;\n }) => Promise<unknown>;\n};\n\nexport type AddChainParams = Chain & {\n rpcUrls?: {\n http: string[];\n webSocket?: string[];\n };\n blockExplorerUrls?: string[];\n iconUrls?: string[];\n};\n\nexport type WatchAssetParams = {\n type: \"ERC20\";\n options: {\n address: Address;\n symbol: string;\n decimals: number;\n image?: string;\n };\n};\n"]}
package/package.json CHANGED
@@ -1,29 +1,32 @@
1
1
  {
2
2
  "name": "@prb/effect-evm",
3
- "description": "Effect-TS integration for EVM and viem",
4
- "version": "1.0.0-beta.1",
5
- "type": "module",
3
+ "description": "Effect-TS integration for Ethereum Virtual Machine (EVM) frontend development",
4
+ "homepage": "https://github.com/PaulRBerg/prb-effect/tree/main/evm#readme",
6
5
  "main": "./dist/index.js",
6
+ "sideEffects": false,
7
+ "type": "module",
7
8
  "types": "./dist/index.d.ts",
9
+ "version": "1.0.0-beta.3",
10
+ "scripts": {
11
+ "build": "just build",
12
+ "prepack": "bun install --frozen-lockfile && just build"
13
+ },
8
14
  "author": {
9
15
  "name": "Paul Razvan Berg",
10
16
  "url": "https://github.com/PaulRBerg"
11
17
  },
12
18
  "license": "MIT",
13
19
  "repository": {
20
+ "directory": "evm",
14
21
  "type": "git",
15
- "url": "git+https://github.com/PaulRBerg/prb-effect.git",
16
- "directory": "evm"
22
+ "url": "git+https://github.com/PaulRBerg/prb-effect.git"
17
23
  },
18
24
  "bugs": {
19
25
  "url": "https://github.com/PaulRBerg/prb-effect/issues"
20
26
  },
21
- "homepage": "https://github.com/PaulRBerg/prb-effect/tree/main/evm#readme",
22
27
  "devDependencies": {
23
- "@effect/platform": "catalog:effect",
24
- "effect": "catalog:effect",
25
- "viem": "^2.43.1",
26
28
  "@biomejs/biome": "catalog:dev",
29
+ "@effect/platform": "catalog:effect",
27
30
  "@effect/vitest": "catalog:dev",
28
31
  "@sablier/devkit": "catalog:dev",
29
32
  "@safe-global/safe-apps-sdk": "9.1.0",
@@ -33,11 +36,13 @@
33
36
  "@typescript/native-preview": "catalog:dev",
34
37
  "@vitest/ui": "catalog:dev",
35
38
  "@wagmi/core": "^2.22.1",
39
+ "effect": "catalog:effect",
36
40
  "jsdom": "catalog:dev",
37
41
  "react": "catalog:",
38
42
  "react-dom": "catalog:",
39
43
  "tsc-alias": "catalog:dev",
40
44
  "typescript": "catalog:dev",
45
+ "viem": "^2.43.1",
41
46
  "vitest": "catalog:dev",
42
47
  "wagmi": "^2.19.5"
43
48
  },
@@ -58,6 +63,17 @@
58
63
  "DOCS.md",
59
64
  "CONTRIBUTING.md"
60
65
  ],
66
+ "keywords": [
67
+ "effect",
68
+ "effect-ts",
69
+ "ethereum",
70
+ "evm",
71
+ "react",
72
+ "typescript",
73
+ "viem",
74
+ "wagmi",
75
+ "web3"
76
+ ],
61
77
  "peerDependencies": {
62
78
  "@effect/platform": "catalog:peers",
63
79
  "@safe-global/safe-apps-sdk": "catalog:peers",