@prb/effect-evm 1.0.0-beta.2 → 1.0.0-beta.4

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 (300) 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.js.map +1 -1
  9. package/dist/balance/utils.js.map +1 -1
  10. package/dist/block/errors.js.map +1 -1
  11. package/dist/block/index.js.map +1 -1
  12. package/dist/block/service.js.map +1 -1
  13. package/dist/block/service.test.integration.js.map +1 -1
  14. package/dist/constants/index.js.map +1 -1
  15. package/dist/contract/cross-chain-reader.js.map +1 -1
  16. package/dist/contract/index.js.map +1 -1
  17. package/dist/contract/pipeline/index.js.map +1 -1
  18. package/dist/contract/pipeline/internal/core.js.map +1 -1
  19. package/dist/contract/pipeline/internal/helpers.js.map +1 -1
  20. package/dist/contract/pipeline/internal/nonce.js.map +1 -1
  21. package/dist/contract/pipeline/internal/prepare.js.map +1 -1
  22. package/dist/contract/pipeline/internal/receipt.js.map +1 -1
  23. package/dist/contract/pipeline/live.js.map +1 -1
  24. package/dist/contract/pipeline/service.js.map +1 -1
  25. package/dist/contract/pipeline/types.js.map +1 -1
  26. package/dist/contract/pipeline/write-and-track.js.map +1 -1
  27. package/dist/contract/pipeline/write-and-wait.js.map +1 -1
  28. package/dist/contract/pipeline.js.map +1 -1
  29. package/dist/contract/reader.js.map +1 -1
  30. package/dist/contract/typed-contract.js.map +1 -1
  31. package/dist/contract/writer.js.map +1 -1
  32. package/dist/core/clients/index.js.map +1 -1
  33. package/dist/core/clients/public-client.js.map +1 -1
  34. package/dist/core/clients/wallet-client.js.map +1 -1
  35. package/dist/core/errors/client.js.map +1 -1
  36. package/dist/core/errors/contract.js.map +1 -1
  37. package/dist/core/errors/erc20.js.map +1 -1
  38. package/dist/core/errors/event.js.map +1 -1
  39. package/dist/core/errors/index.js.map +1 -1
  40. package/dist/core/errors/predicates.js.map +1 -1
  41. package/dist/core/errors/transaction.js.map +1 -1
  42. package/dist/core/errors/viem-mapper.js.map +1 -1
  43. package/dist/core/index.js.map +1 -1
  44. package/dist/deploy/errors.js.map +1 -1
  45. package/dist/deploy/index.js.map +1 -1
  46. package/dist/deploy/service.js.map +1 -1
  47. package/dist/eip7702/erc7579.js.map +1 -1
  48. package/dist/eip7702/errors.js.map +1 -1
  49. package/dist/eip7702/index.js.map +1 -1
  50. package/dist/eip7702/service.js.map +1 -1
  51. package/dist/ens/ens.d.ts.map +1 -1
  52. package/dist/ens/ens.js +6 -6
  53. package/dist/ens/ens.js.map +1 -1
  54. package/dist/ens/errors.js.map +1 -1
  55. package/dist/ens/index.js.map +1 -1
  56. package/dist/erc20/allowance/core.js.map +1 -1
  57. package/dist/erc20/allowance/index.js.map +1 -1
  58. package/dist/erc20/allowance/no-output.js.map +1 -1
  59. package/dist/erc20/allowance/types.js.map +1 -1
  60. package/dist/erc20/index.js.map +1 -1
  61. package/dist/erc20/metadata.js.map +1 -1
  62. package/dist/erc721/errors.js.map +1 -1
  63. package/dist/erc721/helpers.js.map +1 -1
  64. package/dist/erc721/index.js.map +1 -1
  65. package/dist/erc721/metadata.js.map +1 -1
  66. package/dist/erc721/service.js.map +1 -1
  67. package/dist/events/backfill.js.map +1 -1
  68. package/dist/events/backfill.test.integration.js.map +1 -1
  69. package/dist/events/cursor.js.map +1 -1
  70. package/dist/events/decoder.js.map +1 -1
  71. package/dist/events/index.js.map +1 -1
  72. package/dist/events/reliable-stream-simple.test.integration.js.map +1 -1
  73. package/dist/events/reliable-stream.js.map +1 -1
  74. package/dist/events/reliable-stream.test.integration.js.map +1 -1
  75. package/dist/events/stream.js.map +1 -1
  76. package/dist/events/stream.test.integration.js.map +1 -1
  77. package/dist/gas/errors.js.map +1 -1
  78. package/dist/gas/estimator.js.map +1 -1
  79. package/dist/gas/index.js.map +1 -1
  80. package/dist/gas/service.js.map +1 -1
  81. package/dist/gas/service.test.integration.js.map +1 -1
  82. package/dist/index.js.map +1 -1
  83. package/dist/integrations/react-hooks/convenience/index.js.map +1 -1
  84. package/dist/integrations/react-hooks/internal/error.js.map +1 -1
  85. package/dist/integrations/react-hooks/internal/is-dev.js.map +1 -1
  86. package/dist/integrations/react-hooks/internal/runtime.js.map +1 -1
  87. package/dist/integrations/react-hooks/internal/scoped-run.js.map +1 -1
  88. package/dist/integrations/react-hooks/internal/stable.js.map +1 -1
  89. package/dist/integrations/react-hooks/primitives/use-effect-memo-factory.js.map +1 -1
  90. package/dist/integrations/react-hooks/primitives/use-effect.js.map +1 -1
  91. package/dist/integrations/react-hooks/primitives/use-fork-effect.js.map +1 -1
  92. package/dist/integrations/react-hooks/primitives/use-stream.js.map +1 -1
  93. package/dist/integrations/react-hooks/primitives.js.map +1 -1
  94. package/dist/integrations/react-hooks/provider.js.map +1 -1
  95. package/dist/integrations/react-hooks/wagmi/index.js.map +1 -1
  96. package/dist/integrations/react-hooks/wallet-provider-ref.js.map +1 -1
  97. package/dist/integrations/wagmi/index.js.map +1 -1
  98. package/dist/integrations/wagmi/layers.js.map +1 -1
  99. package/dist/internal/index.js.map +1 -1
  100. package/dist/internal/numbers.js.map +1 -1
  101. package/dist/internal/schedule.js.map +1 -1
  102. package/dist/internal/stream-adapters.js.map +1 -1
  103. package/dist/internal/viem-effect.js.map +1 -1
  104. package/dist/nonce/index.js.map +1 -1
  105. package/dist/nonce/manager.js.map +1 -1
  106. package/dist/nonce/service.js.map +1 -1
  107. package/dist/nonce/service.test.integration.js.map +1 -1
  108. package/dist/platform/browser/cursor-store/index.js.map +1 -1
  109. package/dist/platform/browser/cursor-store/local-storage.js.map +1 -1
  110. package/dist/platform/browser/index.js.map +1 -1
  111. package/dist/platform/browser/layers.js.map +1 -1
  112. package/dist/platform/browser/storage/errors.js.map +1 -1
  113. package/dist/platform/browser/storage/index.js.map +1 -1
  114. package/dist/platform/browser/storage/local-storage.js.map +1 -1
  115. package/dist/platform/browser/tx-persistence/index.js.map +1 -1
  116. package/dist/platform/browser/tx-persistence/persistence.js.map +1 -1
  117. package/dist/platform/browser/tx-store/errors.js.map +1 -1
  118. package/dist/platform/browser/tx-store/index.js.map +1 -1
  119. package/dist/platform/browser/tx-store/local-storage.js.map +1 -1
  120. package/dist/platform/browser/tx-store/store.js.map +1 -1
  121. package/dist/platform/browser/tx-store/types.js.map +1 -1
  122. package/dist/presets/index.js.map +1 -1
  123. package/dist/presets/layers.js.map +1 -1
  124. package/dist/presets/transports.js.map +1 -1
  125. package/dist/query/chain-head.js.map +1 -1
  126. package/dist/query/client.js.map +1 -1
  127. package/dist/query/client.test.integration.js.map +1 -1
  128. package/dist/query/contract-query.js.map +1 -1
  129. package/dist/query/contract-query.test.integration.js.map +1 -1
  130. package/dist/query/index.js.map +1 -1
  131. package/dist/query/multicall-batcher.js.map +1 -1
  132. package/dist/react-hooks/index.d.ts +3 -1
  133. package/dist/react-hooks/index.d.ts.map +1 -1
  134. package/dist/react-hooks/index.js +3 -1
  135. package/dist/react-hooks/index.js.map +1 -1
  136. package/dist/react-hooks/safe-origins.d.ts +8 -0
  137. package/dist/react-hooks/safe-origins.d.ts.map +1 -0
  138. package/dist/react-hooks/safe-origins.js +124 -0
  139. package/dist/react-hooks/safe-origins.js.map +1 -0
  140. package/dist/react-hooks/use-is-host-safe-multisig.d.ts +2 -0
  141. package/dist/react-hooks/use-is-host-safe-multisig.d.ts.map +1 -0
  142. package/dist/react-hooks/use-is-host-safe-multisig.js +16 -0
  143. package/dist/react-hooks/use-is-host-safe-multisig.js.map +1 -0
  144. package/dist/react-hooks/use-is-wallet-safe-multisig.d.ts +2 -0
  145. package/dist/react-hooks/use-is-wallet-safe-multisig.d.ts.map +1 -0
  146. package/dist/react-hooks/use-is-wallet-safe-multisig.js +24 -0
  147. package/dist/react-hooks/use-is-wallet-safe-multisig.js.map +1 -0
  148. package/dist/react-hooks/use-safe-context.d.ts.map +1 -1
  149. package/dist/react-hooks/use-safe-context.js.map +1 -1
  150. package/dist/react-hooks/wagmi/index.js.map +1 -1
  151. package/dist/rpc/cache.js.map +1 -1
  152. package/dist/rpc/circuit-breaker.js.map +1 -1
  153. package/dist/rpc/dedup.js.map +1 -1
  154. package/dist/rpc/index.js.map +1 -1
  155. package/dist/rpc/retry.js.map +1 -1
  156. package/dist/rpc/routemesh.js.map +1 -1
  157. package/dist/safe/adapter.js.map +1 -1
  158. package/dist/safe/detection.js.map +1 -1
  159. package/dist/safe/detection.test.integration.js.map +1 -1
  160. package/dist/safe/errors.js.map +1 -1
  161. package/dist/safe/index.js.map +1 -1
  162. package/dist/safe/live.js.map +1 -1
  163. package/dist/safe/service.js.map +1 -1
  164. package/dist/safe/service.test.integration.js.map +1 -1
  165. package/dist/safe/simulation/abis.d.ts.map +1 -1
  166. package/dist/safe/simulation/abis.js.map +1 -1
  167. package/dist/safe/simulation/addresses.d.ts.map +1 -1
  168. package/dist/safe/simulation/addresses.js +40 -26
  169. package/dist/safe/simulation/addresses.js.map +1 -1
  170. package/dist/safe/simulation/encoding.js.map +1 -1
  171. package/dist/safe/simulation/errors.js.map +1 -1
  172. package/dist/safe/simulation/index.js.map +1 -1
  173. package/dist/safe/simulation/internal/calldata/calldata.d.ts +5 -0
  174. package/dist/safe/simulation/internal/calldata/calldata.d.ts.map +1 -0
  175. package/dist/safe/simulation/internal/calldata/calldata.js +17 -0
  176. package/dist/safe/simulation/internal/calldata/calldata.js.map +1 -0
  177. package/dist/safe/simulation/internal/calldata/index.d.ts +2 -0
  178. package/dist/safe/simulation/internal/calldata/index.d.ts.map +1 -0
  179. package/dist/safe/simulation/internal/calldata/index.js +2 -0
  180. package/dist/safe/simulation/internal/calldata/index.js.map +1 -0
  181. package/dist/safe/simulation/internal/contracts/contracts.d.ts +5 -0
  182. package/dist/safe/simulation/internal/contracts/contracts.d.ts.map +1 -0
  183. package/dist/safe/simulation/internal/contracts/contracts.js +25 -0
  184. package/dist/safe/simulation/internal/contracts/contracts.js.map +1 -0
  185. package/dist/safe/simulation/internal/contracts/index.d.ts +2 -0
  186. package/dist/safe/simulation/internal/contracts/index.d.ts.map +1 -0
  187. package/dist/safe/simulation/internal/contracts/index.js +2 -0
  188. package/dist/safe/simulation/internal/contracts/index.js.map +1 -0
  189. package/dist/safe/simulation/internal/evaluation/evaluation.d.ts +6 -0
  190. package/dist/safe/simulation/internal/evaluation/evaluation.d.ts.map +1 -0
  191. package/dist/safe/simulation/internal/evaluation/evaluation.js +20 -0
  192. package/dist/safe/simulation/internal/evaluation/evaluation.js.map +1 -0
  193. package/dist/safe/simulation/internal/evaluation/index.d.ts +2 -0
  194. package/dist/safe/simulation/internal/evaluation/index.d.ts.map +1 -0
  195. package/dist/safe/simulation/internal/evaluation/index.js +2 -0
  196. package/dist/safe/simulation/internal/evaluation/index.js.map +1 -0
  197. package/dist/safe/simulation/internal/execution/execution.d.ts +9 -0
  198. package/dist/safe/simulation/internal/execution/execution.d.ts.map +1 -0
  199. package/dist/safe/simulation/internal/execution/execution.js +65 -0
  200. package/dist/safe/simulation/internal/execution/execution.js.map +1 -0
  201. package/dist/safe/simulation/internal/execution/index.d.ts +2 -0
  202. package/dist/safe/simulation/internal/execution/index.d.ts.map +1 -0
  203. package/dist/safe/simulation/internal/execution/index.js +2 -0
  204. package/dist/safe/simulation/internal/execution/index.js.map +1 -0
  205. package/dist/safe/simulation/internal/limits/index.d.ts +2 -0
  206. package/dist/safe/simulation/internal/limits/index.d.ts.map +1 -0
  207. package/dist/safe/simulation/internal/limits/index.js +2 -0
  208. package/dist/safe/simulation/internal/limits/index.js.map +1 -0
  209. package/dist/safe/simulation/internal/limits/limits.d.ts +5 -0
  210. package/dist/safe/simulation/internal/limits/limits.d.ts.map +1 -0
  211. package/dist/safe/simulation/internal/limits/limits.js +18 -0
  212. package/dist/safe/simulation/internal/limits/limits.js.map +1 -0
  213. package/dist/safe/simulation/internal/types/index.d.ts +2 -0
  214. package/dist/safe/simulation/internal/types/index.d.ts.map +1 -0
  215. package/dist/safe/simulation/internal/types/index.js +2 -0
  216. package/dist/safe/simulation/internal/types/index.js.map +1 -0
  217. package/dist/safe/simulation/internal/types/types.d.ts +11 -0
  218. package/dist/safe/simulation/internal/types/types.d.ts.map +1 -0
  219. package/dist/safe/simulation/internal/types/types.js +2 -0
  220. package/dist/safe/simulation/internal/types/types.js.map +1 -0
  221. package/dist/safe/simulation/internal/validation/index.d.ts +2 -0
  222. package/dist/safe/simulation/internal/validation/index.d.ts.map +1 -0
  223. package/dist/safe/simulation/internal/validation/index.js +2 -0
  224. package/dist/safe/simulation/internal/validation/index.js.map +1 -0
  225. package/dist/safe/simulation/internal/validation/validation.d.ts +5 -0
  226. package/dist/safe/simulation/internal/validation/validation.d.ts.map +1 -0
  227. package/dist/safe/simulation/internal/validation/validation.js +27 -0
  228. package/dist/safe/simulation/internal/validation/validation.js.map +1 -0
  229. package/dist/safe/simulation/service.d.ts +1 -1
  230. package/dist/safe/simulation/service.d.ts.map +1 -1
  231. package/dist/safe/simulation/service.js +12 -127
  232. package/dist/safe/simulation/service.js.map +1 -1
  233. package/dist/safe/simulation/types.js.map +1 -1
  234. package/dist/safe/types.js.map +1 -1
  235. package/dist/signature/errors.js.map +1 -1
  236. package/dist/signature/index.js.map +1 -1
  237. package/dist/signature/service.js.map +1 -1
  238. package/dist/signature/service.test.integration.js.map +1 -1
  239. package/dist/signature/utils.js.map +1 -1
  240. package/dist/simulation/errors.js.map +1 -1
  241. package/dist/simulation/index.js.map +1 -1
  242. package/dist/simulation/service.js.map +1 -1
  243. package/dist/simulation/tenderly.js.map +1 -1
  244. package/dist/simulation/tenderly.test.integration.js.map +1 -1
  245. package/dist/simulation/types.js.map +1 -1
  246. package/dist/subscriptions/block-subscription.js.map +1 -1
  247. package/dist/subscriptions/errors.js.map +1 -1
  248. package/dist/subscriptions/index.js.map +1 -1
  249. package/dist/subscriptions/log-subscription.js.map +1 -1
  250. package/dist/subscriptions/pending-tx.js.map +1 -1
  251. package/dist/subscriptions/service.js.map +1 -1
  252. package/dist/telemetry/index.js.map +1 -1
  253. package/dist/telemetry/logger.js.map +1 -1
  254. package/dist/telemetry/tracer.js.map +1 -1
  255. package/dist/testing-kit/_fixtures/addresses.js.map +1 -1
  256. package/dist/testing-kit/_fixtures/receipts.js.map +1 -1
  257. package/dist/testing-kit/helpers.js.map +1 -1
  258. package/dist/testing-kit/index.js.map +1 -1
  259. package/dist/testing-kit/mock-balance-service.js.map +1 -1
  260. package/dist/testing-kit/mock-block-service.js.map +1 -1
  261. package/dist/testing-kit/mock-cross-chain-reader.js.map +1 -1
  262. package/dist/testing-kit/mock-deploy-service.js.map +1 -1
  263. package/dist/testing-kit/mock-erc721-service.js.map +1 -1
  264. package/dist/testing-kit/mock-gas-service.js.map +1 -1
  265. package/dist/testing-kit/mock-nonce-service.js.map +1 -1
  266. package/dist/testing-kit/mock-public-client.js.map +1 -1
  267. package/dist/testing-kit/mock-signature-service.js.map +1 -1
  268. package/dist/testing-kit/mock-simulation-service.js.map +1 -1
  269. package/dist/testing-kit/mock-subscription-service.js.map +1 -1
  270. package/dist/testing-kit/mock-transfer-service.js.map +1 -1
  271. package/dist/testing-kit/mock-wallet-client.js.map +1 -1
  272. package/dist/testing-kit/mock-wallet-provider.js.map +1 -1
  273. package/dist/testing-kit/test-layer.js.map +1 -1
  274. package/dist/transfer/index.js.map +1 -1
  275. package/dist/transfer/service.js.map +1 -1
  276. package/dist/tx/fees.js.map +1 -1
  277. package/dist/tx/index.js.map +1 -1
  278. package/dist/tx/manager.js.map +1 -1
  279. package/dist/tx/manager.test.integration.js.map +1 -1
  280. package/dist/tx/policy.js.map +1 -1
  281. package/dist/tx/replacement.js.map +1 -1
  282. package/dist/tx/tracker.js.map +1 -1
  283. package/dist/types/abi.js.map +1 -1
  284. package/dist/types/index.js.map +1 -1
  285. package/dist/types/params.js.map +1 -1
  286. package/dist/types/tx-overrides.js.map +1 -1
  287. package/dist/wagmi/index.js.map +1 -1
  288. package/dist/wagmi/layers.js.map +1 -1
  289. package/dist/wallet/errors.js.map +1 -1
  290. package/dist/wallet/index.js.map +1 -1
  291. package/dist/wallet/lifecycle.js.map +1 -1
  292. package/dist/wallet/operations.js.map +1 -1
  293. package/dist/wallet/provider-ref.js.map +1 -1
  294. package/dist/wallet/service.js.map +1 -1
  295. package/dist/wallet/types.js.map +1 -1
  296. package/package.json +22 -10
  297. package/dist/react-hooks/use-is-safe-multisig.d.ts +0 -2
  298. package/dist/react-hooks/use-is-safe-multisig.d.ts.map +0 -1
  299. package/dist/react-hooks/use-is-safe-multisig.js +0 -44
  300. package/dist/react-hooks/use-is-safe-multisig.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mock-wallet-client.js","sourceRoot":"","sources":["../../src/testing-kit/mock-wallet-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAG/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAsBvD,MAAM,eAAe,GAAG,4CAAuD,CAAC;AAChF,MAAM,YAAY,GAAG,oEAA4E,CAAC;AAClG,MAAM,iBAAiB,GACrB,oIAA2I,CAAC;AA4B9I,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,SAAiC,EAAE,EACnC,gBAAgB,GAAG,CAAC,EACc,EAAE;IAEpC,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC;IACzE,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC;IAG7E,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,iBAAiB,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,iBAAiB,CAAC,CAAC;IAC9E,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,iBAAiB,CAAC,CAAC;IAGlF,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,eAAe,CAAC;IAGhE,MAAM,gBAAgB,GAAG;QACvB,OAAO,EAAE;YACP,OAAO,EAAE,cAAc;YACvB,IAAI,EAAE,UAAU;SACjB;QACD,KAAK,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE;QAC/B,eAAe;QACf,WAAW;QACX,eAAe;QACf,aAAa;QACb,aAAa;KAON,CAAC;IAEV,OAAO,KAAK,CAAC,OAAO,CAClB,mBAAmB,EACnB,mBAAmB,CAAC,EAAE,CAAC;QACrB,GAAG,EAAE,uBAAuB,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC;KACvE,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"mock-wallet-client.js","sourceRoot":"","sources":["../../src/testing-kit/mock-wallet-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAG/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAsBvD,MAAM,eAAe,GAAG,4CAAuD,CAAC;AAChF,MAAM,YAAY,GAAG,oEAA4E,CAAC;AAClG,MAAM,iBAAiB,GACrB,oIAA2I,CAAC;AA4B9I,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,SAAiC,EAAE,EACnC,gBAAgB,GAAG,CAAC,EACc,EAAE;IAEpC,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC;IACzE,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC;IAG7E,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,iBAAiB,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,iBAAiB,CAAC,CAAC;IAC9E,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,iBAAiB,CAAC,CAAC;IAGlF,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,eAAe,CAAC;IAGhE,MAAM,gBAAgB,GAAG;QACvB,OAAO,EAAE;YACP,OAAO,EAAE,cAAc;YACvB,IAAI,EAAE,UAAU;SACjB;QACD,KAAK,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE;QAC/B,eAAe;QACf,WAAW;QACX,eAAe;QACf,aAAa;QACb,aAAa;KAON,CAAC;IAEV,OAAO,KAAK,CAAC,OAAO,CAClB,mBAAmB,EACnB,mBAAmB,CAAC,EAAE,CAAC;QACrB,GAAG,EAAE,uBAAuB,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC;KACvE,CAAC,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import type { Effect } from \"effect\";\nimport { Layer } from \"effect\";\nimport type { Address, Hash, Hex, TypedData } from \"viem\";\nimport type { WalletClientServiceShape } from \"@/src/core/index.js\";\nimport { WalletClientService } from \"@/src/core/index.js\";\nimport { makeWalletChainIdGetter } from \"./helpers.js\";\n\n/**\n * Configuration for the mock WalletClient\n *\n * All methods are optional - sensible defaults are provided.\n * Override specific methods to customize mock behavior for your tests.\n */\nexport type MockWalletClientConfig = {\n // Contract methods\n writeContract?: (params: unknown) => Promise<Hash>;\n sendTransaction?: (params: unknown) => Promise<Hash>;\n\n // Signing methods\n signMessage?: (params: { message: string | Hex }) => Promise<Hex>;\n signTypedData?: (params: { typedData: TypedData }) => Promise<Hex>;\n signTransaction?: (params: unknown) => Promise<Hex>;\n\n // Account config\n accountAddress?: Address;\n};\n\nconst DEFAULT_ADDRESS = \"0x1234567890123456789012345678901234567890\" as Address;\nconst DEFAULT_HASH = \"0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef\" as Hash;\nconst DEFAULT_SIGNATURE =\n \"0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b\" as Hex;\n\n/**\n * Creates a mock WalletClientService layer for testing\n *\n * @param config - Optional configuration to override default mock behaviors\n * @param supportedChainId - The chainId this mock supports (default: 1 mainnet)\n *\n * @example\n * ```typescript\n * // Basic usage with defaults\n * const layer = makeMockWalletClientLayer();\n *\n * // Override specific methods\n * const layer = makeMockWalletClientLayer({\n * writeContract: async () => \"0xtxhash...\",\n * accountAddress: \"0xmyaddress...\",\n * });\n *\n * // Use in tests\n * Effect.gen(function* () {\n * const writer = yield* ContractWriter;\n * const hash = yield* writer.write({ ... });\n * }).pipe(\n * Effect.provide(Layer.provide(ContractWriterLive, layer))\n * );\n * ```\n */\nexport const makeMockWalletClientLayer = (\n config: MockWalletClientConfig = {},\n supportedChainId = 1\n): Layer.Layer<WalletClientService> => {\n // Contract defaults\n const writeContract = config.writeContract ?? (async () => DEFAULT_HASH);\n const sendTransaction = config.sendTransaction ?? (async () => DEFAULT_HASH);\n\n // Signing defaults\n const signMessage = config.signMessage ?? (async () => DEFAULT_SIGNATURE);\n const signTypedData = config.signTypedData ?? (async () => DEFAULT_SIGNATURE);\n const signTransaction = config.signTransaction ?? (async () => DEFAULT_SIGNATURE);\n\n // Account config\n const accountAddress = config.accountAddress ?? DEFAULT_ADDRESS;\n\n // Create mock WalletClient\n const mockWalletClient = {\n account: {\n address: accountAddress,\n type: \"json-rpc\",\n },\n chain: { id: supportedChainId },\n sendTransaction,\n signMessage,\n signTransaction,\n signTypedData,\n writeContract,\n } as unknown as ReturnType<WalletClientServiceShape[\"get\"]> extends Effect.Effect<\n infer A,\n infer _E,\n infer _R\n >\n ? A\n : never;\n\n return Layer.succeed(\n WalletClientService,\n WalletClientService.of({\n get: makeWalletChainIdGetter(supportedChainId, () => mockWalletClient),\n })\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mock-wallet-provider.js","sourceRoot":"","sources":["../../src/testing-kit/mock-wallet-provider.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,SAAmC,EAAE,EAAkB,EAAE,CAAC,CAAC;IAChG,EAAE,EAAE,MAAM,CAAC,EAAE;IACb,cAAc,EAAE,MAAM,CAAC,cAAc;IACrC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;CAC9D,CAAC,CAAC"}
1
+ {"version":3,"file":"mock-wallet-provider.js","sourceRoot":"","sources":["../../src/testing-kit/mock-wallet-provider.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,SAAmC,EAAE,EAAkB,EAAE,CAAC,CAAC;IAChG,EAAE,EAAE,MAAM,CAAC,EAAE;IACb,cAAc,EAAE,MAAM,CAAC,cAAc;IACrC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;CAC9D,CAAC,CAAC","sourcesContent":["import type { WalletProvider } from \"@/src/wallet/index.js\";\n\nexport type MockWalletProviderConfig = {\n request?: (args: {\n method: string;\n params?: unknown[] | Record<string, unknown>;\n }) => Promise<unknown>;\n on?: (event: string, handler: (...args: unknown[]) => void) => void;\n removeListener?: (event: string, handler: (...args: unknown[]) => void) => void;\n};\n\n/**\n * Creates a mock WalletProvider for testing wallet connection flows\n */\nexport const makeMockWalletProvider = (config: MockWalletProviderConfig = {}): WalletProvider => ({\n on: config.on,\n removeListener: config.removeListener,\n request: config.request ?? (() => Promise.resolve(undefined)),\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"test-layer.js","sourceRoot":"","sources":["../../src/testing-kit/test-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-layer.js","sourceRoot":"","sources":["../../src/testing-kit/test-layer.ts"],"names":[],"mappings":"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","sourcesContent":["import { FetchHttpClient } from \"@effect/platform\";\nimport { Layer } from \"effect\";\nimport { mainnet } from \"viem/chains\";\nimport type { BalanceService } from \"@/src/balance/index.js\";\nimport { BalanceServiceLive } from \"@/src/balance/index.js\";\nimport type { BlockService } from \"@/src/block/index.js\";\nimport { BlockServiceLive } from \"@/src/block/index.js\";\nimport type { ContractPipeline, ContractReader, ContractWriter } from \"@/src/contract/index.js\";\nimport {\n ContractPipelineLive,\n ContractReaderLive,\n ContractWriterLive,\n} from \"@/src/contract/index.js\";\nimport type { PublicClientService, WalletClientService } from \"@/src/core/index.js\";\nimport type { DeployService } from \"@/src/deploy/index.js\";\nimport { DeployServiceLive } from \"@/src/deploy/index.js\";\nimport type { EnsResolver } from \"@/src/ens/index.js\";\nimport { EnsResolverLive } from \"@/src/ens/index.js\";\nimport type { Erc721Service } from \"@/src/erc721/index.js\";\nimport { Erc721ServiceLive } from \"@/src/erc721/index.js\";\nimport type { EventStream, ReliableEventStream } from \"@/src/events/index.js\";\nimport { EventStreamLive, ReliableEventStreamLive } from \"@/src/events/index.js\";\nimport type { GasService } from \"@/src/gas/index.js\";\nimport { GasServiceLive } from \"@/src/gas/index.js\";\nimport type { NonceService } from \"@/src/nonce/index.js\";\nimport { NonceServiceLive } from \"@/src/nonce/index.js\";\nimport type { SignatureService } from \"@/src/signature/index.js\";\nimport { SignatureServiceLive } from \"@/src/signature/index.js\";\nimport type { SimulationService } from \"@/src/simulation/index.js\";\nimport { SimulationServiceLive } from \"@/src/simulation/index.js\";\nimport type { SubscriptionService } from \"@/src/subscriptions/index.js\";\nimport { SubscriptionServiceLive } from \"@/src/subscriptions/index.js\";\nimport type { MockBalanceServiceConfig } from \"@/src/testing-kit/mock-balance-service.js\";\nimport { makeMockBalanceServiceLayer } from \"@/src/testing-kit/mock-balance-service.js\";\nimport type { MockBlockServiceConfig } from \"@/src/testing-kit/mock-block-service.js\";\nimport { makeMockBlockServiceLayer } from \"@/src/testing-kit/mock-block-service.js\";\nimport type { MockDeployServiceConfig } from \"@/src/testing-kit/mock-deploy-service.js\";\nimport { makeMockDeployServiceLayer } from \"@/src/testing-kit/mock-deploy-service.js\";\nimport type { MockErc721ServiceConfig } from \"@/src/testing-kit/mock-erc721-service.js\";\nimport { makeMockErc721ServiceLayer } from \"@/src/testing-kit/mock-erc721-service.js\";\nimport type { MockGasServiceConfig } from \"@/src/testing-kit/mock-gas-service.js\";\nimport { makeMockGasServiceLayer } from \"@/src/testing-kit/mock-gas-service.js\";\nimport type { MockNonceServiceConfig } from \"@/src/testing-kit/mock-nonce-service.js\";\nimport { makeMockNonceServiceLayer } from \"@/src/testing-kit/mock-nonce-service.js\";\nimport type { MockPublicClientConfig } from \"@/src/testing-kit/mock-public-client.js\";\nimport { makeMockPublicClientLayer } from \"@/src/testing-kit/mock-public-client.js\";\nimport type { MockSignatureServiceConfig } from \"@/src/testing-kit/mock-signature-service.js\";\nimport { makeMockSignatureServiceLayer } from \"@/src/testing-kit/mock-signature-service.js\";\nimport type { MockSimulationServiceConfig } from \"@/src/testing-kit/mock-simulation-service.js\";\nimport { makeMockSimulationServiceLayer } from \"@/src/testing-kit/mock-simulation-service.js\";\nimport type { MockSubscriptionServiceConfig } from \"@/src/testing-kit/mock-subscription-service.js\";\nimport { makeMockSubscriptionServiceLayer } from \"@/src/testing-kit/mock-subscription-service.js\";\nimport type { MockWalletClientConfig } from \"@/src/testing-kit/mock-wallet-client.js\";\nimport { makeMockWalletClientLayer } from \"@/src/testing-kit/mock-wallet-client.js\";\nimport type { TxManager, TxReplacement } from \"@/src/tx/index.js\";\nimport { TxManagerLive, TxReplacementLive } from \"@/src/tx/index.js\";\n\n/**\n * Configuration for the test layer composer\n *\n * @example\n * ```typescript\n * const layer = makeEffectEvmTestLayer({\n * publicClient: {\n * readContract: async () => 1000n,\n * getEnsAddress: async () => \"0x...\",\n * },\n * walletClient: {\n * writeContract: async () => \"0xtxhash...\",\n * },\n * erc721Service: {\n * ownerOf: () => Effect.succeed(\"0x...\" as Address),\n * },\n * });\n * ```\n */\nexport type TestLayerConfig = {\n /**\n * Configuration overrides for the mock PublicClient\n */\n publicClient?: MockPublicClientConfig;\n\n /**\n * Configuration overrides for the mock WalletClient\n */\n walletClient?: MockWalletClientConfig;\n\n /**\n * Configuration overrides for the mock BalanceService\n */\n balanceService?: MockBalanceServiceConfig;\n\n /**\n * Configuration overrides for the mock BlockService\n */\n blockService?: MockBlockServiceConfig;\n\n /**\n * Configuration overrides for the mock Erc721Service\n */\n erc721Service?: MockErc721ServiceConfig;\n\n /**\n * Configuration overrides for the mock GasService\n */\n gasService?: MockGasServiceConfig;\n\n /**\n * Configuration overrides for the mock NonceService\n */\n nonceService?: MockNonceServiceConfig;\n\n /**\n * Configuration overrides for the mock SignatureService\n */\n signatureService?: MockSignatureServiceConfig;\n\n /**\n * Configuration overrides for the mock SubscriptionService\n */\n subscriptionService?: MockSubscriptionServiceConfig;\n\n /**\n * Configuration overrides for the mock DeployService\n */\n deployService?: MockDeployServiceConfig;\n\n /**\n * Configuration overrides for the mock SimulationService\n */\n simulationService?: MockSimulationServiceConfig;\n\n /**\n * The chainId to support (default: 1 mainnet)\n */\n chainId?: number;\n};\n\n/**\n * Internal layer combining all application services\n * Requires PublicClientService and WalletClientService to be provided\n *\n * Layer composition order matters:\n * 1. Base services (directly client-bound, no service deps)\n * 2. Dependent services (require base services, e.g. Balance uses ContractReader, Deploy uses TxManager)\n * 3. High-level services (ContractPipeline, ReliableEventStream, Simulation)\n */\nconst baseServices = Layer.mergeAll(\n BlockServiceLive,\n ContractReaderLive,\n ContractWriterLive,\n GasServiceLive,\n NonceServiceLive,\n SignatureServiceLive,\n SubscriptionServiceLive,\n EventStreamLive,\n EnsResolverLive\n);\n\nconst txServices = Layer.provideMerge(\n TxManagerLive,\n Layer.provideMerge(TxReplacementLive, baseServices)\n);\n\nconst applicationServices = Layer.provideMerge(\n Layer.mergeAll(\n BalanceServiceLive,\n ContractPipelineLive,\n DeployServiceLive,\n Erc721ServiceLive,\n ReliableEventStreamLive,\n SimulationServiceLive\n ),\n txServices\n).pipe(Layer.provide(FetchHttpClient.layer));\n\n/**\n * Creates a complete effect-evm test layer with mocked boundaries\n *\n * This layer provides all effect-evm services with mocked PublicClientService\n * and WalletClientService boundaries. The mock boundaries use sensible defaults\n * that can be overridden via configuration.\n *\n * Use this for integration-style tests where you want real service implementations\n * with controlled network boundaries.\n *\n * @param config - Optional configuration to customize mock behaviors\n * @returns A Layer providing all effect-evm services\n *\n * @example\n * ```typescript\n * import { describe, expect, it } from \"@effect/vitest\";\n * import { Effect, Layer } from \"effect\";\n * import { ContractReader } from \"effect-evm\";\n * import { makeEffectEvmTestLayer } from \"effect-evm/testing-kit\";\n *\n * describe(\"MyFeature\", () => {\n * const testLayer = makeEffectEvmTestLayer({\n * publicClient: {\n * readContract: async () => 1000n,\n * },\n * });\n *\n * it.effect(\"reads contract value\", () =>\n * Effect.gen(function* () {\n * const reader = yield* ContractReader;\n * const result = yield* reader.read({ ... });\n * expect(result).toBe(1000n);\n * }).pipe(Effect.provide(testLayer))\n * );\n * });\n * ```\n */\nexport function makeEffectEvmTestLayer(\n config: TestLayerConfig = {}\n): Layer.Layer<\n | PublicClientService\n | WalletClientService\n | BalanceService\n | BlockService\n | ContractReader\n | ContractWriter\n | ContractPipeline\n | TxManager\n | TxReplacement\n | EventStream\n | ReliableEventStream\n | EnsResolver\n | Erc721Service\n | GasService\n | NonceService\n | SignatureService\n | SubscriptionService\n | DeployService\n | SimulationService\n> {\n const chainId = config.chainId ?? mainnet.id;\n\n // Create boundary mocks - use real services if no config provided\n const clientLayers = Layer.mergeAll(\n makeMockPublicClientLayer(config.publicClient ?? {}, chainId),\n makeMockWalletClientLayer(config.walletClient ?? {}, chainId)\n );\n\n // Create service mocks if config is provided, otherwise use real implementations from applicationServices\n let serviceMockLayer = Layer.empty;\n\n if (config.balanceService) {\n serviceMockLayer = Layer.merge(\n serviceMockLayer,\n makeMockBalanceServiceLayer(config.balanceService, chainId)\n );\n }\n if (config.blockService) {\n serviceMockLayer = Layer.merge(\n serviceMockLayer,\n makeMockBlockServiceLayer(config.blockService, chainId)\n );\n }\n if (config.erc721Service) {\n serviceMockLayer = Layer.merge(\n serviceMockLayer,\n makeMockErc721ServiceLayer(config.erc721Service, chainId)\n );\n }\n if (config.gasService) {\n serviceMockLayer = Layer.merge(\n serviceMockLayer,\n makeMockGasServiceLayer(config.gasService, chainId)\n );\n }\n if (config.nonceService) {\n serviceMockLayer = Layer.merge(\n serviceMockLayer,\n makeMockNonceServiceLayer(config.nonceService, chainId)\n );\n }\n if (config.signatureService) {\n serviceMockLayer = Layer.merge(\n serviceMockLayer,\n makeMockSignatureServiceLayer(config.signatureService)\n );\n }\n if (config.subscriptionService) {\n serviceMockLayer = Layer.merge(\n serviceMockLayer,\n makeMockSubscriptionServiceLayer(config.subscriptionService, chainId)\n );\n }\n if (config.deployService) {\n serviceMockLayer = Layer.merge(\n serviceMockLayer,\n makeMockDeployServiceLayer(config.deployService, chainId)\n );\n }\n if (config.simulationService) {\n serviceMockLayer = Layer.merge(\n serviceMockLayer,\n makeMockSimulationServiceLayer(config.simulationService, chainId)\n );\n }\n\n // Provide boundary mocks and service mocks to application services\n const baseLayer = Layer.provideMerge(applicationServices, clientLayers);\n\n return Layer.merge(baseLayer, serviceMockLayer) as Layer.Layer<\n | PublicClientService\n | WalletClientService\n | BalanceService\n | BlockService\n | ContractReader\n | ContractWriter\n | ContractPipeline\n | TxManager\n | TxReplacement\n | EventStream\n | ReliableEventStream\n | EnsResolver\n | Erc721Service\n | GasService\n | NonceService\n | SignatureService\n | SubscriptionService\n | DeployService\n | SimulationService\n >;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC","sourcesContent":["export * from \"./service.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/transfer/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAkD7B,MAAM,OAAO,eAAgB,SAAQ,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAGpE;CAAG;AAKN,MAAM,qBAAqB,GAAG,CAC5B,KAAc,EACd,EAAW,EAC0D,EAAE;IACvE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,iBAAiB,CAAC;YAC3B,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B;SAClF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,GAAG;YACd,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,iCAAiC;YACnF,QAAQ,EAAE,GAAG;SACd,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,sBAAsB,CAAC;QAChC,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,EAAE,EAAE;KACrF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAC7C,eAAe,EACf,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,mBAAmB,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC;IACvD,MAAM,mBAAmB,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC;IAEvD,OAAO,eAAe,CAAC,EAAE,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,6BAA6B,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM;YACrE,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAGpE,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC9B,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU;gBACvB,GAAG,EAAE,GAAG,EAAE,CACR,YAAY,CAAC,WAAW,CAAC;oBACvB,EAAE,EAAE,MAAM,CAAC,EAAE;oBACb,KAAK,EAAE,MAAM,CAAC,KAAK;iBACpB,CAAC;aACL,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC;QAEF,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM;YACvD,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACpE,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;gBACzC,KAAK,EAAE,GAAG,EAAE,CACV,IAAI,uBAAuB,CAAC;oBAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE,kBAAkB;iBAC5B,CAAC;gBACJ,GAAG,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE;aACvC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,IAAI,uBAAuB,CAAC;oBAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE,sBAAsB;iBAChC,CAAC,CACH,CAAC;YACJ,CAAC;YAGD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,QAAQ,KAAK,SAAS,CAAC;YAE3D,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC9B,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;gBACzD,GAAG,EAAE,GAAG,EAAE,CACR,SAAS;oBACP,CAAC,CAAE,YAA6B,CAAC,eAAe,CAAC;wBAC7C,OAAO;wBACP,KAAK,EAAE,IAAI;wBACX,GAAG,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG;wBAC1B,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ;wBACpC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK;wBAC9B,EAAE,EAAE,MAAM,CAAC,EAAE;wBACb,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,MAAM,CAAC,KAAK;qBACpB,CAAC;oBACJ,CAAC,CAAE,YAA6B,CAAC,eAAe,CAAC;wBAC7C,OAAO;wBACP,KAAK,EAAE,IAAI;wBACX,GAAG,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG;wBAC1B,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY;wBAC5C,oBAAoB,EAAE,MAAM,CAAC,SAAS,EAAE,oBAAoB;wBAC5D,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK;wBAC9B,EAAE,EAAE,MAAM,CAAC,EAAE;wBACb,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,MAAM,CAAC,KAAK;qBACpB,CAAC;aACT,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,6BAA6B,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM;YACrE,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACpE,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACpE,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;gBACzC,KAAK,EAAE,GAAG,EAAE,CACV,IAAI,uBAAuB,CAAC;oBAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE,kBAAkB;iBAC5B,CAAC;gBACJ,GAAG,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE;aACvC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,IAAI,uBAAuB,CAAC;oBAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE,sBAAsB;iBAChC,CAAC,CACH,CAAC;YACJ,CAAC;YAGD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,QAAQ,KAAK,SAAS,CAAC;YAE3D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;gBACpC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;gBACzD,GAAG,EAAE,GAAG,EAAE,CACR,SAAS;oBACP,CAAC,CAAE,YAA6B,CAAC,eAAe,CAAC;wBAC7C,OAAO;wBACP,KAAK,EAAE,IAAI;wBACX,GAAG,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG;wBAC1B,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ;wBACpC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK;wBAC9B,EAAE,EAAE,MAAM,CAAC,EAAE;wBACb,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,MAAM,CAAC,KAAK;qBACpB,CAAC;oBACJ,CAAC,CAAE,YAA6B,CAAC,eAAe,CAAC;wBAC7C,OAAO;wBACP,KAAK,EAAE,IAAI;wBACX,GAAG,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG;wBAC1B,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY;wBAC5C,oBAAoB,EAAE,MAAM,CAAC,SAAS,EAAE,oBAAoB;wBAC5D,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK;wBAC9B,EAAE,EAAE,MAAM,CAAC,EAAE;wBACb,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,MAAM,CAAC,KAAK;qBACpB,CAAC;aACT,CAAC,CAAC;YAEH,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC9B,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;oBACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;wBAChE,OAAO,IAAI,mBAAmB,CAAC;4BAC7B,IAAI;4BACJ,OAAO,EAAE,mCAAmC,IAAI,EAAE;4BAClD,OAAO,EAAE,MAAM;yBAChB,CAAC,CAAC;oBACL,CAAC;oBACD,OAAO,IAAI,sBAAsB,CAAC;wBAChC,KAAK,EAAE,KAAK;wBACZ,IAAI;wBACJ,OAAO,EAAE,kCAAkC,IAAI,EAAE;qBAClD,CAAC,CAAC;gBACL,CAAC;gBACD,GAAG,EAAE,GAAG,EAAE,CACR,YAAY,CAAC,yBAAyB,CAAC;oBACrC,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,IAAI;iBACL,CAAC;aACL,CAAC,CAAC;QACL,CAAC,CAAC;KACH,CAAC,CAAC;AACL,CAAC,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/transfer/service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Context, Effect, Layer } from \"effect\";\nimport type { Address, Hash, TransactionReceipt, WalletClient } from \"viem\";\nimport { MIN_TX_GAS } from \"@/src/constants/index.js\";\nimport type { ClientNotFoundError, WrongNetworkError } from \"@/src/core/index.js\";\nimport {\n InsufficientFundsError,\n isInsufficientFunds,\n isUserRejection,\n PublicClientService,\n ReceiptTimeoutError,\n TransactionFailedError,\n UserRejectedError,\n WalletClientService,\n WalletNotConnectedError,\n} from \"@/src/core/index.js\";\n\nexport type TransferOverrides = {\n readonly gas?: bigint;\n readonly gasPrice?: bigint;\n readonly maxFeePerGas?: bigint;\n readonly maxPriorityFeePerGas?: bigint;\n readonly nonce?: number;\n};\n\nexport type TransferServiceShape = {\n readonly send: (params: {\n chainId: number;\n to: Address;\n value: bigint;\n overrides?: TransferOverrides;\n }) => Effect.Effect<\n Hash,\n | InsufficientFundsError\n | UserRejectedError\n | WalletNotConnectedError\n | WrongNetworkError\n | ClientNotFoundError\n | TransactionFailedError\n >;\n\n readonly sendAndWait: (params: {\n chainId: number;\n to: Address;\n value: bigint;\n confirmations?: number;\n overrides?: TransferOverrides;\n }) => Effect.Effect<\n TransactionReceipt,\n | InsufficientFundsError\n | UserRejectedError\n | WalletNotConnectedError\n | WrongNetworkError\n | ClientNotFoundError\n | TransactionFailedError\n | ReceiptTimeoutError\n >;\n\n readonly estimateGas: (params: {\n chainId: number;\n to: Address;\n value: bigint;\n }) => Effect.Effect<bigint, ClientNotFoundError>;\n};\n\nexport class TransferService extends Context.Tag(\"ew3/TransferService\")<\n TransferService,\n TransferServiceShape\n>() {}\n\n/**\n * Classify transfer errors into appropriate error types\n */\nconst classifyTransferError = (\n error: unknown,\n to: Address\n): InsufficientFundsError | UserRejectedError | TransactionFailedError => {\n if (isUserRejection(error)) {\n return new UserRejectedError({\n message: error instanceof Error ? error.message : \"User rejected the transaction\",\n });\n }\n\n if (isInsufficientFunds(error)) {\n return new InsufficientFundsError({\n available: \"0\",\n message: error instanceof Error ? error.message : \"Insufficient funds for transfer\",\n required: \"0\",\n });\n }\n\n return new TransactionFailedError({\n cause: error,\n hash: \"0x\",\n message: error instanceof Error ? error.message : `Failed to send transfer to ${to}`,\n });\n};\n\nexport const TransferServiceLive = Layer.effect(\n TransferService,\n Effect.gen(function* () {\n const walletClientService = yield* WalletClientService;\n const publicClientService = yield* PublicClientService;\n\n return TransferService.of({\n estimateGas: Effect.fn(\"TransferService.estimateGas\")(function* (params) {\n const publicClient = yield* publicClientService.get(params.chainId);\n\n // Try to estimate, fallback to standard transfer gas on failure\n return yield* Effect.tryPromise({\n catch: () => MIN_TX_GAS,\n try: () =>\n publicClient.estimateGas({\n to: params.to,\n value: params.value,\n }),\n }).pipe(Effect.catchAll(() => Effect.succeed(MIN_TX_GAS)));\n }),\n\n send: Effect.fn(\"TransferService.send\")(function* (params) {\n const walletClient = yield* walletClientService.get(params.chainId);\n const [account] = yield* Effect.tryPromise({\n catch: () =>\n new WalletNotConnectedError({\n chainId: params.chainId,\n message: \"No account found\",\n }),\n try: () => walletClient.getAddresses(),\n });\n\n if (!account) {\n return yield* Effect.fail(\n new WalletNotConnectedError({\n chainId: params.chainId,\n message: \"No account connected\",\n })\n );\n }\n\n // Determine if we should use legacy or EIP-1559 transaction type\n const useLegacy = params.overrides?.gasPrice !== undefined;\n\n return yield* Effect.tryPromise({\n catch: (error) => classifyTransferError(error, params.to),\n try: () =>\n useLegacy\n ? (walletClient as WalletClient).sendTransaction({\n account,\n chain: null,\n gas: params.overrides?.gas,\n gasPrice: params.overrides?.gasPrice,\n nonce: params.overrides?.nonce,\n to: params.to,\n type: \"legacy\",\n value: params.value,\n })\n : (walletClient as WalletClient).sendTransaction({\n account,\n chain: null,\n gas: params.overrides?.gas,\n maxFeePerGas: params.overrides?.maxFeePerGas,\n maxPriorityFeePerGas: params.overrides?.maxPriorityFeePerGas,\n nonce: params.overrides?.nonce,\n to: params.to,\n type: \"eip1559\",\n value: params.value,\n }),\n });\n }),\n\n sendAndWait: Effect.fn(\"TransferService.sendAndWait\")(function* (params) {\n const walletClient = yield* walletClientService.get(params.chainId);\n const publicClient = yield* publicClientService.get(params.chainId);\n const [account] = yield* Effect.tryPromise({\n catch: () =>\n new WalletNotConnectedError({\n chainId: params.chainId,\n message: \"No account found\",\n }),\n try: () => walletClient.getAddresses(),\n });\n\n if (!account) {\n return yield* Effect.fail(\n new WalletNotConnectedError({\n chainId: params.chainId,\n message: \"No account connected\",\n })\n );\n }\n\n // Determine if we should use legacy or EIP-1559 transaction type\n const useLegacy = params.overrides?.gasPrice !== undefined;\n\n const hash = yield* Effect.tryPromise({\n catch: (error) => classifyTransferError(error, params.to),\n try: () =>\n useLegacy\n ? (walletClient as WalletClient).sendTransaction({\n account,\n chain: null,\n gas: params.overrides?.gas,\n gasPrice: params.overrides?.gasPrice,\n nonce: params.overrides?.nonce,\n to: params.to,\n type: \"legacy\",\n value: params.value,\n })\n : (walletClient as WalletClient).sendTransaction({\n account,\n chain: null,\n gas: params.overrides?.gas,\n maxFeePerGas: params.overrides?.maxFeePerGas,\n maxPriorityFeePerGas: params.overrides?.maxPriorityFeePerGas,\n nonce: params.overrides?.nonce,\n to: params.to,\n type: \"eip1559\",\n value: params.value,\n }),\n });\n\n return yield* Effect.tryPromise({\n catch: (error) => {\n if (error instanceof Error && error.message.includes(\"timeout\")) {\n return new ReceiptTimeoutError({\n hash,\n message: `Transaction receipt timeout for ${hash}`,\n timeout: 30_000,\n });\n }\n return new TransactionFailedError({\n cause: error,\n hash,\n message: `Failed to wait for transaction ${hash}`,\n });\n },\n try: () =>\n publicClient.waitForTransactionReceipt({\n confirmations: params.confirmations,\n hash,\n }),\n });\n }),\n });\n })\n);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"fees.js","sourceRoot":"","sources":["../../src/tx/fees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIhD,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,GAAuB,EAAU,EAAE,CAC7D,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AAEjD,MAAM,oBAAoB,GAAG,CAC3B,SAAkC,EAGlC,EAAE,CAAC,SAAS,EAAE,QAAQ,KAAK,SAAS,CAAC;AAEvC,MAAM,qBAAqB,GAAG,CAC5B,SAAkC,EAGlC,EAAE,CAAC,SAAS,EAAE,YAAY,KAAK,SAAS,CAAC;AAE3C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAI5B,EAIC,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAE3C,IAAI,aAAa,EAAE,IAAI,EAAE,CAAC;QACxB,OAAO,aAAa,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,aAAa,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC;IACrC,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;QACxD,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,CAAC;IACH,OAAO,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;AAChD,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAIlC,EAA2F,EAAE,CAC5F,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAE3C,IAAI,oBAAoB,CAAC,aAAa,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,qBAAqB,CAAC,aAAa,CAAC,EAAE,CAAC;QACzC,OAAO;YACL,YAAY,EAAE,aAAa,CAAC,YAAY;YACxC,oBAAoB,EAAE,aAAa,CAAC,oBAAoB;SACzD,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC;IACrC,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;QACxD,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;QAC9C,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,EAAE,QAAQ;KACxB,CAAC,CAAC;IAEH,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QACvF,OAAO,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC;IAED,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACtE,MAAM,4BAA4B,GAAG,GAAG,CACtC,QAAQ,CAAC,oBAAoB,EAC7B,MAAM,EAAE,oBAAoB,CAC7B,CAAC;IAEF,MAAM,oBAAoB,GACxB,aAAa,EAAE,oBAAoB,IAAI,4BAA4B,CAAC;IAEtE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAChD,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"fees.js","sourceRoot":"","sources":["../../src/tx/fees.ts"],"names":[],"mappings":"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","sourcesContent":["import { Effect } from \"effect\";\nimport type { ClientNotFoundError } from \"@/src/core/index.js\";\nimport type { GasPriceUnavailableError } from \"@/src/gas/index.js\";\nimport { GasService } from \"@/src/gas/index.js\";\nimport type { FeeOverrides, TxOverrides } from \"@/src/types/index.js\";\nimport type { TxPolicy } from \"./policy.js\";\n\nconst cap = (value: bigint, max: bigint | undefined): bigint =>\n max !== undefined && value > max ? max : value;\n\nconst hasLegacyFeeOverride = (\n overrides: TxOverrides | undefined\n): overrides is TxOverrides & {\n gasPrice: bigint;\n} => overrides?.gasPrice !== undefined;\n\nconst hasEip1559FeeOverride = (\n overrides: TxOverrides | undefined\n): overrides is TxOverrides & {\n maxFeePerGas: bigint;\n} => overrides?.maxFeePerGas !== undefined;\n\nexport const deriveTxType = (params: {\n chainId: number;\n policy?: TxPolicy | undefined;\n userOverrides?: TxOverrides | undefined;\n}): Effect.Effect<\n TxOverrides[\"type\"],\n GasPriceUnavailableError | ClientNotFoundError,\n GasService\n> =>\n Effect.gen(function* () {\n const userOverrides = params.userOverrides;\n\n if (userOverrides?.type) {\n return userOverrides.type;\n }\n\n if (userOverrides?.gasPrice !== undefined) {\n return \"legacy\";\n }\n\n const gasService = yield* GasService;\n const supportsEip1559 = yield* gasService.supportsEip1559({\n chainId: params.chainId,\n });\n return supportsEip1559 ? \"eip1559\" : \"legacy\";\n });\n\nexport const deriveFeeOverrides = (params: {\n chainId: number;\n policy?: TxPolicy | undefined;\n userOverrides?: TxOverrides | undefined;\n}): Effect.Effect<FeeOverrides, GasPriceUnavailableError | ClientNotFoundError, GasService> =>\n Effect.gen(function* () {\n const policy = params.policy;\n const userOverrides = params.userOverrides;\n\n if (hasLegacyFeeOverride(userOverrides)) {\n return { gasPrice: userOverrides.gasPrice };\n }\n\n if (hasEip1559FeeOverride(userOverrides)) {\n return {\n maxFeePerGas: userOverrides.maxFeePerGas,\n maxPriorityFeePerGas: userOverrides.maxPriorityFeePerGas,\n };\n }\n\n const gasService = yield* GasService;\n const supportsEip1559 = yield* gasService.supportsEip1559({\n chainId: params.chainId,\n });\n const estimate = yield* gasService.estimateFees({\n chainId: params.chainId,\n speed: policy?.feeSpeed,\n });\n\n if (!supportsEip1559) {\n const gasPrice = cap(estimate.gasPrice ?? estimate.maxFeePerGas, policy?.maxFeePerGas);\n return { gasPrice };\n }\n\n const maxFeePerGas = cap(estimate.maxFeePerGas, policy?.maxFeePerGas);\n const computedMaxPriorityFeePerGas = cap(\n estimate.maxPriorityFeePerGas,\n policy?.maxPriorityFeePerGas\n );\n\n const maxPriorityFeePerGas =\n userOverrides?.maxPriorityFeePerGas ?? computedMaxPriorityFeePerGas;\n\n return { maxFeePerGas, maxPriorityFeePerGas };\n });\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tx/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tx/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC","sourcesContent":["export * from \"./fees.js\";\nexport * from \"./manager.js\";\nexport * from \"./policy.js\";\nexport * from \"./replacement.js\";\nexport * from \"./tracker.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/tx/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/tx/manager.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Scope, SubscriptionRef } from \"effect\";\nimport { Clock, Context, Effect, Fiber, Layer, Ref, Stream } from \"effect\";\nimport type { Hash, TransactionReceipt } from \"viem\";\nimport { WaitForTransactionReceiptTimeoutError } from \"viem\";\nimport { DEFAULT_RECEIPT_TIMEOUT, DEFAULT_STUCK_TX_MS } from \"@/src/constants/index.js\";\nimport type { ClientNotFoundError, TransactionReplacementReason } from \"@/src/core/index.js\";\nimport {\n PublicClientService,\n ReceiptTimeoutError,\n TransactionFailedError,\n TransactionReplacedError,\n TransportError,\n} from \"@/src/core/index.js\";\nimport { SpanNames } from \"@/src/telemetry/index.js\";\nimport type { TxPolicy } from \"./policy.js\";\nimport { defaultPolicy } from \"./policy.js\";\nimport { TxReplacement } from \"./replacement.js\";\nimport type { TxState } from \"./tracker.js\";\nimport { makeTxTracker } from \"./tracker.js\";\n\nexport type TxManagerShape = {\n /**\n * Track an existing transaction hash and return a SubscriptionRef for state updates\n */\n readonly track: (\n chainId: number,\n hash: Hash,\n policy?: TxPolicy\n ) => Effect.Effect<SubscriptionRef.SubscriptionRef<TxState>, ClientNotFoundError, Scope.Scope>;\n\n /**\n * Wait for transaction receipt with timeout\n */\n readonly waitForReceipt: (\n chainId: number,\n hash: Hash,\n timeoutOrPolicy?: number | TxPolicy\n ) => Effect.Effect<\n TransactionReceipt,\n TransactionFailedError | ReceiptTimeoutError | TransactionReplacedError | ClientNotFoundError\n >;\n\n /**\n * Get the number of confirmations for a transaction\n */\n readonly getConfirmations: (\n chainId: number,\n params: { hash: Hash } | { transactionReceipt: TransactionReceipt }\n ) => Effect.Effect<bigint, ClientNotFoundError | TransportError>;\n};\n\nexport class TxManager extends Context.Tag(\"ew3/TxManager\")<TxManager, TxManagerShape>() {}\n\nexport const TxManagerLive = Layer.effect(\n TxManager,\n Effect.gen(function* () {\n const publicClientService = yield* PublicClientService;\n const txReplacement = yield* TxReplacement;\n\n return {\n getConfirmations: Effect.fn(\"TxManager.getConfirmations\")(function* (chainId, params) {\n const client = yield* publicClientService.get(chainId);\n\n return yield* Effect.tryPromise({\n catch: (cause) =>\n new TransportError({\n cause,\n message:\n cause instanceof Error ? cause.message : \"Failed to get transaction confirmations\",\n url: client.transport.url ?? \"\",\n }),\n try: () => client.getTransactionConfirmations(params),\n }).pipe(\n Effect.withSpan(SpanNames.TX_GET_CONFIRMATIONS, {\n attributes: {\n chainId,\n hash: \"hash\" in params ? params.hash : params.transactionReceipt.transactionHash,\n },\n })\n );\n }),\n track: Effect.fn(\"TxManager.track\")(function* (chainId, hash, providedPolicy) {\n const tracker = yield* makeTxTracker;\n const client = yield* publicClientService.get(chainId);\n const policy: TxPolicy = {\n ...defaultPolicy,\n ...providedPolicy,\n replacement: {\n ...(defaultPolicy.replacement ?? {}),\n ...(providedPolicy?.replacement ?? {}),\n },\n };\n\n // Set initial state\n yield* tracker.set({ hash, status: \"submitted\" });\n\n // Start tracking in background\n yield* Effect.forkScoped(\n Effect.gen(function* () {\n const currentHashRef = yield* Ref.make<Hash>(hash);\n const confirmationsRef = yield* Ref.make(0);\n const startedAtMsRef = yield* Ref.make(yield* Clock.currentTimeMillis);\n const autoAttemptsRef = yield* Ref.make(0);\n const autoReplacingRef = yield* Ref.make(false);\n\n const replacementStrategy =\n policy.replacement?.strategy ?? policy.replacementStrategy ?? \"none\";\n const stuckBlocks = policy.replacement?.stuckBlocks ?? 3;\n const stuckMs = policy.replacement?.stuckMs ?? DEFAULT_STUCK_TX_MS;\n const maxAttempts = policy.replacement?.maxAttempts ?? 1;\n\n const updatePendingState = (currentHash: Hash) =>\n Effect.gen(function* () {\n const confirmations = yield* Ref.modify(\n confirmationsRef,\n (n) => [n + 1, n + 1] as const\n );\n\n yield* tracker.set({\n confirmations,\n hash: currentHash,\n status: \"pending\",\n });\n return confirmations;\n });\n\n const performAutoReplacement = (currentHash: Hash, now: number) =>\n Ref.set(autoReplacingRef, true).pipe(\n Effect.zipRight(\n (replacementStrategy === \"cancel\"\n ? txReplacement.cancel(chainId, currentHash, policy)\n : txReplacement.speedup(chainId, currentHash, policy)\n ).pipe(\n Effect.either,\n Effect.ensuring(Ref.set(autoReplacingRef, false)),\n Effect.flatMap((replaced) => {\n if (replaced._tag === \"Left\") {\n return Effect.void;\n }\n\n const newHash = replaced.right;\n return Effect.all([\n Ref.set(currentHashRef, newHash),\n Ref.set(confirmationsRef, 0),\n Ref.set(startedAtMsRef, now),\n Ref.update(autoAttemptsRef, (n) => n + 1),\n tracker.set({\n newHash,\n oldHash: currentHash,\n reason: replacementStrategy === \"cancel\" ? \"cancelled\" : \"repriced\",\n status: \"replaced\",\n }),\n tracker.set({ hash: newHash, status: \"submitted\" }),\n ]).pipe(Effect.asVoid);\n })\n )\n )\n );\n\n const autoReplaceIfStuck = (currentHash: Hash, confirmations: number) => {\n if (replacementStrategy === \"none\") {\n return Effect.void;\n }\n\n return Effect.all({\n alreadyReplacing: Ref.get(autoReplacingRef),\n attempts: Ref.get(autoAttemptsRef),\n now: Clock.currentTimeMillis,\n startedAt: Ref.get(startedAtMsRef),\n }).pipe(\n Effect.flatMap(({ alreadyReplacing, attempts, now, startedAt }) => {\n const elapsed = startedAt > 0 ? now - startedAt : 0;\n const stuck = confirmations >= stuckBlocks || elapsed >= stuckMs;\n const allowed = attempts < maxAttempts && !alreadyReplacing;\n return stuck && allowed ? performAutoReplacement(currentHash, now) : Effect.void;\n })\n );\n };\n\n const onPendingBlock = Effect.gen(function* () {\n const currentHash = yield* Ref.get(currentHashRef);\n const confirmations = yield* updatePendingState(currentHash);\n yield* autoReplaceIfStuck(currentHash, confirmations);\n });\n\n const pendingFiber = yield* Stream.runForEach(\n Stream.async<bigint, unknown>((emit) => {\n const unwatch = client.watchBlockNumber({\n onBlockNumber: (blockNumber: bigint) => emit.single(blockNumber),\n onError: (error) => emit.fail(error as unknown),\n pollingInterval: policy.pollingInterval,\n });\n\n return Effect.sync(() => {\n unwatch();\n });\n }),\n () => onPendingBlock\n ).pipe(Effect.forkScoped);\n\n let replacement:\n | {\n oldHash: Hash;\n newHash: Hash;\n reason: TransactionReplacementReason;\n }\n | undefined;\n\n const receiptResult = yield* Effect.either(\n Effect.tryPromise({\n catch: (e) => e,\n try: () =>\n client.waitForTransactionReceipt({\n hash,\n onReplaced: (info) => {\n replacement = {\n newHash: info.transaction.hash,\n oldHash: info.replacedTransaction.hash,\n reason: info.reason,\n };\n },\n pollingInterval: policy.pollingInterval,\n timeout: policy.receiptTimeout,\n }),\n })\n ).pipe(Effect.ensuring(Fiber.interrupt(pendingFiber)));\n\n if (receiptResult._tag === \"Left\") {\n const cause = receiptResult.left;\n const timeout = policy.receiptTimeout ?? DEFAULT_RECEIPT_TIMEOUT;\n\n const failure =\n cause instanceof WaitForTransactionReceiptTimeoutError\n ? new ReceiptTimeoutError({\n hash,\n message: cause.message,\n timeout,\n })\n : cause;\n\n yield* tracker.set({\n error: new TransactionFailedError({\n cause: failure,\n hash,\n message: failure instanceof Error ? failure.message : String(failure),\n }),\n status: \"failed\",\n });\n\n return;\n }\n\n const receipt = receiptResult.right;\n\n if (replacement) {\n yield* Ref.set(currentHashRef, replacement.newHash);\n yield* tracker.set({\n newHash: replacement.newHash,\n oldHash: replacement.oldHash,\n reason: replacement.reason,\n status: \"replaced\",\n });\n yield* tracker.set({\n hash: replacement.newHash,\n status: \"submitted\",\n });\n }\n\n yield* tracker.set({\n effectiveGasPrice: receipt.effectiveGasPrice,\n hash: receipt.transactionHash,\n receipt,\n status: \"mined\",\n });\n })\n );\n\n return tracker.ref;\n }),\n\n waitForReceipt: Effect.fn(\"TxManager.waitForReceipt\")(\n function* (chainId, hash, timeoutOrPolicy) {\n const client = yield* publicClientService.get(chainId);\n const policy =\n typeof timeoutOrPolicy === \"object\" && timeoutOrPolicy !== null\n ? timeoutOrPolicy\n : undefined;\n const timeout =\n typeof timeoutOrPolicy === \"number\"\n ? timeoutOrPolicy\n : (policy?.receiptTimeout ?? defaultPolicy.receiptTimeout ?? DEFAULT_RECEIPT_TIMEOUT);\n const pollingInterval = policy?.pollingInterval ?? defaultPolicy.pollingInterval;\n\n return yield* Effect.tryPromise({\n catch: (cause) => {\n if (cause instanceof TransactionReplacedError) {\n return cause;\n }\n\n if (cause instanceof WaitForTransactionReceiptTimeoutError) {\n return new ReceiptTimeoutError({\n hash,\n message: cause.message,\n timeout,\n });\n }\n\n if (cause instanceof Error && cause.message.toLowerCase().includes(\"timeout\")) {\n return new ReceiptTimeoutError({\n hash,\n message: cause.message,\n timeout,\n });\n }\n\n return new TransactionFailedError({\n cause,\n hash,\n message: `Failed to get receipt for ${hash}`,\n });\n },\n try: async () => {\n let replacement: { newHash: Hash; reason: TransactionReplacementReason } | undefined;\n\n const receipt = await client.waitForTransactionReceipt({\n hash,\n onReplaced: (info) => {\n replacement = {\n newHash: info.transaction.hash,\n reason: info.reason,\n };\n },\n pollingInterval,\n timeout,\n });\n\n // Only throw if there's an actual replacement (different hash)\n if (replacement && replacement.newHash !== hash) {\n throw new TransactionReplacedError({\n message: `Transaction ${hash} was ${replacement.reason} with ${replacement.newHash}`,\n newHash: replacement.newHash,\n oldHash: hash,\n reason: replacement.reason,\n });\n }\n\n return receipt;\n },\n }).pipe(\n Effect.withSpan(SpanNames.TX_WAIT, {\n attributes: {\n chainId,\n hash,\n timeout,\n },\n })\n );\n }\n ),\n };\n })\n);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"manager.test.integration.js","sourceRoot":"","sources":["../../src/tx/manager.test.integration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.test.integration.js","sourceRoot":"","sources":["../../src/tx/manager.test.integration.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, expect, it } from \"@effect/vitest\";\nimport { Effect, Either, Exit, Layer } from \"effect\";\nimport type { TransactionReceipt } from \"viem\";\nimport { MIN_TX_GAS } from \"@/src/constants/index.js\";\nimport { makeMockPublicClientLayer, TEST_CHAIN_ID, TEST_TX_HASH } from \"@/src/testing-kit/index.js\";\nimport { TxManager, TxManagerLive, TxReplacement } from \"@/src/tx/index.js\";\n\nconst txReplacementLayer = Layer.succeed(\n TxReplacement,\n TxReplacement.of({\n cancel: () => Effect.succeed(TEST_TX_HASH),\n speedup: () => Effect.succeed(TEST_TX_HASH),\n })\n);\n\nconst TEST_RECEIPT: TransactionReceipt = {\n blockHash: \"0xblock\",\n blockNumber: 123n,\n contractAddress: null,\n cumulativeGasUsed: MIN_TX_GAS,\n effectiveGasPrice: 1n,\n from: \"0xfrom\",\n gasUsed: MIN_TX_GAS,\n logs: [],\n logsBloom: \"0x\",\n status: \"success\",\n to: \"0xto\",\n transactionHash: TEST_TX_HASH,\n transactionIndex: 0,\n type: \"0x2\",\n};\n\ndescribe(\"TxManager\", () => {\n describe(\"waitForReceipt\", () => {\n it.effect(\"returns receipt on success\", () =>\n Effect.gen(function* () {\n const manager = yield* TxManager;\n const receipt = yield* manager.waitForReceipt(TEST_CHAIN_ID, TEST_TX_HASH);\n\n expect(receipt.transactionHash).toBe(TEST_TX_HASH);\n expect(receipt.status).toBe(\"success\");\n }).pipe(\n Effect.provide(\n Layer.provide(\n TxManagerLive,\n Layer.mergeAll(\n makeMockPublicClientLayer({\n waitForTransactionReceipt: async () => TEST_RECEIPT,\n }),\n txReplacementLayer\n )\n )\n )\n )\n );\n\n it.effect(\"returns TransactionFailedError on failure\", () =>\n Effect.gen(function* () {\n const manager = yield* TxManager;\n const exit = yield* manager.waitForReceipt(TEST_CHAIN_ID, TEST_TX_HASH).pipe(Effect.exit);\n\n expect(Exit.isFailure(exit)).toBe(true);\n }).pipe(\n Effect.provide(\n Layer.provide(\n TxManagerLive,\n Layer.mergeAll(\n makeMockPublicClientLayer({\n waitForTransactionReceipt: () => Promise.reject(new Error(\"Transaction reverted\")),\n }),\n txReplacementLayer\n )\n )\n )\n )\n );\n\n it.effect(\"returns ReceiptTimeoutError when error message contains timeout\", () =>\n Effect.gen(function* () {\n const manager = yield* TxManager;\n const exit = yield* manager\n .waitForReceipt(TEST_CHAIN_ID, TEST_TX_HASH, 5000)\n .pipe(Effect.exit);\n\n expect(Exit.isFailure(exit)).toBe(true);\n }).pipe(\n Effect.provide(\n Layer.provide(\n TxManagerLive,\n Layer.mergeAll(\n makeMockPublicClientLayer({\n waitForTransactionReceipt: () =>\n Promise.reject(new Error(\"timeout waiting for transaction\")),\n }),\n txReplacementLayer\n )\n )\n )\n )\n );\n\n it.effect(\"returns TransactionReplacedError when transaction is replaced\", () =>\n Effect.gen(function* () {\n const manager = yield* TxManager;\n const result = yield* manager\n .waitForReceipt(TEST_CHAIN_ID, TEST_TX_HASH)\n .pipe(Effect.either);\n\n Either.match(result, {\n onLeft: (error) => {\n expect(error._tag).toBe(\"TransactionReplacedError\");\n if (error._tag === \"TransactionReplacedError\") {\n expect(error.oldHash).toBe(TEST_TX_HASH);\n expect(error.newHash).toBe(\n \"0x9999999999999999999999999999999999999999999999999999999999999999\"\n );\n expect(error.reason).toBe(\"replaced\");\n }\n },\n onRight: () => {\n throw new Error(\"Expected failure (Left), got success (Right)\");\n },\n });\n }).pipe(\n Effect.provide(\n Layer.provide(\n TxManagerLive,\n Layer.mergeAll(\n makeMockPublicClientLayer({\n waitForTransactionReceipt: (params: unknown) => {\n type ReplacementInfo = {\n reason: \"cancelled\" | \"replaced\" | \"repriced\";\n transaction: { hash: string };\n };\n type WaitForTransactionReceiptParams = {\n hash: string;\n onReplaced?: (info: ReplacementInfo) => void;\n };\n\n const { onReplaced } = params as WaitForTransactionReceiptParams;\n\n onReplaced?.({\n reason: \"replaced\",\n transaction: {\n hash: \"0x9999999999999999999999999999999999999999999999999999999999999999\",\n },\n });\n\n return Promise.resolve({\n ...TEST_RECEIPT,\n transactionHash:\n \"0x9999999999999999999999999999999999999999999999999999999999999999\",\n } as TransactionReceipt);\n },\n }),\n txReplacementLayer\n )\n )\n )\n )\n );\n\n it.effect(\"returns receipt when onReplaced fires with same hash (no actual replacement)\", () =>\n Effect.gen(function* () {\n const manager = yield* TxManager;\n const result = yield* manager\n .waitForReceipt(TEST_CHAIN_ID, TEST_TX_HASH)\n .pipe(Effect.either);\n\n Either.match(result, {\n onLeft: (error) => {\n throw new Error(`Expected success (Right), got error (Left): ${error._tag}`);\n },\n onRight: (receipt) => {\n expect(receipt.transactionHash).toBe(TEST_TX_HASH);\n expect(receipt.status).toBe(\"success\");\n },\n });\n }).pipe(\n Effect.provide(\n Layer.provide(\n TxManagerLive,\n Layer.mergeAll(\n makeMockPublicClientLayer({\n waitForTransactionReceipt: (params: unknown) => {\n type ReplacementInfo = {\n reason: \"cancelled\" | \"replaced\" | \"repriced\";\n transaction: { hash: string };\n };\n type WaitForTransactionReceiptParams = {\n hash: string;\n onReplaced?: (info: ReplacementInfo) => void;\n };\n\n const { onReplaced, hash } = params as WaitForTransactionReceiptParams;\n\n // Simulate viem calling onReplaced with same hash (edge case)\n onReplaced?.({\n reason: \"repriced\",\n transaction: { hash }, // Same hash as original!\n });\n\n return Promise.resolve({\n ...TEST_RECEIPT,\n transactionHash: hash, // Same hash\n } as TransactionReceipt);\n },\n }),\n txReplacementLayer\n )\n )\n )\n )\n );\n });\n\n describe(\"track\", () => {\n it.effect(\"returns SubscriptionRef with initial submitted state\", () =>\n Effect.gen(function* () {\n const manager = yield* TxManager;\n const ref = yield* manager.track(TEST_CHAIN_ID, TEST_TX_HASH);\n const state = yield* ref.get;\n\n expect(state.status).toBe(\"submitted\");\n if (state.status === \"submitted\") {\n expect(state.hash).toBe(TEST_TX_HASH);\n }\n }).pipe(\n Effect.provide(\n Layer.provide(\n TxManagerLive,\n Layer.mergeAll(\n makeMockPublicClientLayer({\n waitForTransactionReceipt: async () =>\n new Promise<never>(() => {\n // Intentionally never resolves.\n }),\n }),\n txReplacementLayer\n )\n )\n ),\n Effect.scoped\n )\n );\n\n // Note: Testing background state updates in a scoped fork is complex\n // These tests verify that track() returns a proper SubscriptionRef\n // Integration tests should verify the full async behavior\n });\n\n describe(\"getConfirmations\", () => {\n it.effect(\"returns confirmations when called with hash param\", () =>\n Effect.gen(function* () {\n const manager = yield* TxManager;\n const confirmations = yield* manager.getConfirmations(TEST_CHAIN_ID, {\n hash: TEST_TX_HASH,\n });\n\n expect(confirmations).toBe(5n);\n }).pipe(\n Effect.provide(\n Layer.provide(\n TxManagerLive,\n Layer.mergeAll(\n makeMockPublicClientLayer({\n getTransactionConfirmations: async () => 5n,\n }),\n txReplacementLayer\n )\n )\n )\n )\n );\n\n it.effect(\"returns confirmations when called with transactionReceipt param\", () =>\n Effect.gen(function* () {\n const manager = yield* TxManager;\n\n const confirmations = yield* manager.getConfirmations(TEST_CHAIN_ID, {\n transactionReceipt: TEST_RECEIPT,\n });\n\n expect(confirmations).toBe(10n);\n }).pipe(\n Effect.provide(\n Layer.provide(\n TxManagerLive,\n Layer.mergeAll(\n makeMockPublicClientLayer({\n getTransactionConfirmations: async () => 10n,\n }),\n txReplacementLayer\n )\n )\n )\n )\n );\n\n it.effect(\"returns TransportError on failure\", () =>\n Effect.gen(function* () {\n const manager = yield* TxManager;\n const exit = yield* manager\n .getConfirmations(TEST_CHAIN_ID, { hash: TEST_TX_HASH })\n .pipe(Effect.exit);\n\n expect(Exit.isFailure(exit)).toBe(true);\n }).pipe(\n Effect.provide(\n Layer.provide(\n TxManagerLive,\n Layer.mergeAll(\n makeMockPublicClientLayer({\n getTransactionConfirmations: () => Promise.reject(new Error(\"RPC error\")),\n }),\n txReplacementLayer\n )\n )\n )\n )\n );\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/tx/policy.ts"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AA8BlC,MAAM,CAAC,MAAM,aAAa,GAAa;IACrC,QAAQ,EAAE,UAAU;IACpB,kBAAkB,EAAE,4BAA4B;IAChD,eAAe,EAAE,wBAAwB;IACzC,cAAc,EAAE,uBAAuB;IACvC,mBAAmB,EAAE,MAAM;CAC5B,CAAC"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/tx/policy.ts"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AA8BlC,MAAM,CAAC,MAAM,aAAa,GAAa;IACrC,QAAQ,EAAE,UAAU;IACpB,kBAAkB,EAAE,4BAA4B;IAChD,eAAe,EAAE,wBAAwB;IACzC,cAAc,EAAE,uBAAuB;IACvC,mBAAmB,EAAE,MAAM;CAC5B,CAAC","sourcesContent":["/** Transaction execution policy */\nimport {\n DEFAULT_GAS_LIMIT_MULTIPLIER,\n DEFAULT_POLLING_INTERVAL,\n DEFAULT_RECEIPT_TIMEOUT,\n} from \"@/src/constants/index.js\";\nimport type { GasSpeed } from \"@/src/gas/index.js\";\n\nexport type TxPolicy = {\n /** Max fee per gas in wei (optional cap) */\n maxFeePerGas?: bigint;\n /** Max priority fee per gas in wei */\n maxPriorityFeePerGas?: bigint;\n /** Fee estimation speed tier */\n feeSpeed?: GasSpeed;\n /** Gas limit multiplier applied to estimates */\n gasLimitMultiplier?: number;\n /** Timeout in milliseconds for receipt polling */\n receiptTimeout?: number;\n /** Polling interval in milliseconds */\n pollingInterval?: number;\n /** Replacement strategy when stuck */\n replacementStrategy?: \"speedup\" | \"cancel\" | \"none\";\n /** Replacement behavior (preferred) */\n replacement?: {\n strategy?: \"speedup\" | \"cancel\" | \"none\";\n /** Consider tx stuck after N blocks */\n stuckBlocks?: number;\n /** Consider tx stuck after N milliseconds */\n stuckMs?: number;\n /** Maximum automatic replacement attempts */\n maxAttempts?: number;\n };\n};\n\nexport const defaultPolicy: TxPolicy = {\n feeSpeed: \"standard\",\n gasLimitMultiplier: DEFAULT_GAS_LIMIT_MULTIPLIER,\n pollingInterval: DEFAULT_POLLING_INTERVAL,\n receiptTimeout: DEFAULT_RECEIPT_TIMEOUT,\n replacementStrategy: \"none\",\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"replacement.js","sourceRoot":"","sources":["../../src/tx/replacement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replacement.js","sourceRoot":"","sources":["../../src/tx/replacement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAMtD,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AA+BxD,MAAM,OAAO,aAAc,SAAQ,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAGhE;CAAG;AAEN,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,GAAuB,EAAU,EAAE,CAC7D,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AAUjD,MAAM,cAAc,GAAG,CAAC,MAQvB,EAAW,EAAE;IACZ,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;IACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAE7B,MAAM,YAAY,GAChB,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,CAAC,oBAAoB,KAAK,SAAS,CAAC;IAElG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,EAAE,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,YAAY,CAAC;QAC9E,MAAM,iBAAiB,GAAG,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,YAAY,CAAC;QACrE,MAAM,QAAQ,GAAG,GAAG,CAClB,iBAAiB,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,EAC7E,MAAM,EAAE,YAAY,CACrB,CAAC;QAEF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACtC,CAAC;IAED,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC;IAC3D,MAAM,WAAW,GAAG,EAAE,CAAC,oBAAoB,IAAI,QAAQ,CAAC,oBAAoB,CAAC;IAE7E,MAAM,eAAe,GAAG,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACxD,MAAM,iBAAiB,GAAG,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAE5D,MAAM,YAAY,GAAG,GAAG,CACtB,eAAe,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,EACjF,MAAM,EAAE,YAAY,CACrB,CAAC;IACF,MAAM,oBAAoB,GAAG,GAAG,CAC9B,iBAAiB,GAAG,QAAQ,CAAC,oBAAoB;QAC/C,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,QAAQ,CAAC,oBAAoB,EACjC,MAAM,EAAE,oBAAoB,CAC7B,CAAC;IAEF,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACjE,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAMxB,EAIC,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,mBAAmB,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC;IACvD,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEpE,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QAC9B,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,sBAAsB,CAAC;YACzB,KAAK;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,aAAa,MAAM,CAAC,MAAM,gBAAgB,MAAM,CAAC,IAAI,EAAE;SACjE,CAAC;QACJ,GAAG,EAAE,GAAG,EAAE;YACR,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI;gBACvB,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC;gBACnE,GAAG,EAAE,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,SAAS,CAAC;gBAC3E,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK;gBACtB,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,SAAS,CAAC;gBAC7E,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK;aACzD,CAAC;YAEF,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClC,OAAO,YAAY,CAAC,eAAe,CAAC;oBAClC,GAAG,IAAI;oBACP,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;oBAC9B,IAAI,EAAE,QAAQ;iBACf,CAAC,CAAC;YACL,CAAC;YAED,OAAO,YAAY,CAAC,eAAe,CAAC;gBAClC,GAAG,IAAI;gBACP,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY;gBACtC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB;gBACtD,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,WAAW,GAAG,CAClB,EAAe,EACf,QAIC,EACD,MAAiB,EACR,EAAE,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;AAEvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAC3C,aAAa,EACb,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,mBAAmB,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC;IACvD,MAAM,mBAAmB,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC;IACvD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC;IAErC,MAAM,KAAK,GAAG,CAAC,OAAe,EAAE,IAAU,EAAE,EAAE,CAC5C,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;YAClC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,sBAAsB,CAAC;gBACzB,KAAK;gBACL,IAAI;gBACJ,OAAO,EAAE,6BAA6B,IAAI,EAAE;aAC7C,CAAC;YACJ,GAAG,EAAE,GAAG,EAAE,CAAE,MAAuB,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC;SAC7D,CAAC,CAAC;QACH,OAAO,EAAiB,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEL,OAAO,aAAa,CAAC,EAAE,CAAC;QACtB,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAChC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;gBAC9C,OAAO;gBACP,KAAK,EAAE,MAAM,EAAE,QAAQ;aACxB,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC/C,OAAO,KAAK,CAAC,CAAC,eAAe,CAAC;gBAC5B,MAAM,EAAE,QAAQ;gBAChB,IAAI;gBACJ,OAAO;gBACP,IAAI;gBACJ,EAAE;aACH,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC;QAEJ,OAAO,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CACjC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;gBAC9C,OAAO;gBACP,KAAK,EAAE,MAAM,EAAE,QAAQ;aACxB,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC/C,OAAO,KAAK,CAAC,CAAC,eAAe,CAAC;gBAC5B,MAAM,EAAE,SAAS;gBACjB,IAAI;gBACJ,OAAO;gBACP,IAAI;gBACJ,EAAE;aACH,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC;KACL,CAAC,CAAC;AACL,CAAC,CAAC,CACH,CAAC","sourcesContent":["import { Context, Effect, Layer } from \"effect\";\nimport type { Hash, PublicClient, Transaction } from \"viem\";\nimport { MIN_TX_GAS } from \"@/src/constants/index.js\";\nimport type {\n ClientNotFoundError,\n WalletNotConnectedError,\n WrongNetworkError,\n} from \"@/src/core/index.js\";\nimport {\n PublicClientService,\n TransactionFailedError,\n WalletClientService,\n} from \"@/src/core/index.js\";\nimport type { GasPriceUnavailableError } from \"@/src/gas/index.js\";\nimport { GasService } from \"@/src/gas/index.js\";\nimport { bumpByPercent } from \"@/src/internal/index.js\";\nimport type { TxPolicy } from \"@/src/tx/index.js\";\n\nexport type TxReplacementShape = {\n readonly speedup: (\n chainId: number,\n hash: Hash,\n policy?: TxPolicy\n ) => Effect.Effect<\n Hash,\n | TransactionFailedError\n | WalletNotConnectedError\n | WrongNetworkError\n | ClientNotFoundError\n | GasPriceUnavailableError\n >;\n\n readonly cancel: (\n chainId: number,\n hash: Hash,\n policy?: TxPolicy\n ) => Effect.Effect<\n Hash,\n | TransactionFailedError\n | WalletNotConnectedError\n | WrongNetworkError\n | ClientNotFoundError\n | GasPriceUnavailableError\n >;\n};\n\nexport class TxReplacement extends Context.Tag(\"ew3/TxReplacement\")<\n TxReplacement,\n TxReplacementShape\n>() {}\n\nconst cap = (value: bigint, max: bigint | undefined): bigint =>\n max !== undefined && value > max ? max : value;\n\ntype FeeBump =\n | { type: \"legacy\"; gasPrice: bigint }\n | {\n type: \"eip1559\";\n maxFeePerGas: bigint;\n maxPriorityFeePerGas?: bigint | undefined;\n };\n\nconst computeFeeBump = (params: {\n tx: Transaction;\n estimate: {\n gasPrice?: bigint | undefined;\n maxFeePerGas: bigint;\n maxPriorityFeePerGas: bigint;\n };\n policy?: TxPolicy | undefined;\n}): FeeBump => {\n const tx = params.tx;\n const estimate = params.estimate;\n const policy = params.policy;\n\n const looksEip1559 =\n tx.type === \"eip1559\" || tx.maxFeePerGas !== undefined || tx.maxPriorityFeePerGas !== undefined;\n\n if (!looksEip1559) {\n const oldGasPrice = tx.gasPrice ?? estimate.gasPrice ?? estimate.maxFeePerGas;\n const candidateGasPrice = bumpByPercent(oldGasPrice, 1250n);\n const estimatedGasPrice = estimate.gasPrice ?? estimate.maxFeePerGas;\n const gasPrice = cap(\n candidateGasPrice > estimatedGasPrice ? candidateGasPrice : estimatedGasPrice,\n policy?.maxFeePerGas\n );\n\n return { gasPrice, type: \"legacy\" };\n }\n\n const oldMaxFee = tx.maxFeePerGas ?? estimate.maxFeePerGas;\n const oldPriority = tx.maxPriorityFeePerGas ?? estimate.maxPriorityFeePerGas;\n\n const candidateMaxFee = bumpByPercent(oldMaxFee, 1250n);\n const candidatePriority = bumpByPercent(oldPriority, 1250n);\n\n const maxFeePerGas = cap(\n candidateMaxFee > estimate.maxFeePerGas ? candidateMaxFee : estimate.maxFeePerGas,\n policy?.maxFeePerGas\n );\n const maxPriorityFeePerGas = cap(\n candidatePriority > estimate.maxPriorityFeePerGas\n ? candidatePriority\n : estimate.maxPriorityFeePerGas,\n policy?.maxPriorityFeePerGas\n );\n\n return { maxFeePerGas, maxPriorityFeePerGas, type: \"eip1559\" };\n};\n\nconst sendReplacement = (params: {\n action: \"cancel\" | \"speedup\";\n chainId: number;\n hash: Hash;\n tx: Transaction;\n bump: FeeBump;\n}): Effect.Effect<\n Hash,\n TransactionFailedError | WalletNotConnectedError | WrongNetworkError | ClientNotFoundError,\n WalletClientService\n> =>\n Effect.gen(function* () {\n const walletClientService = yield* WalletClientService;\n const walletClient = yield* walletClientService.get(params.chainId);\n\n return yield* Effect.tryPromise({\n catch: (cause) =>\n new TransactionFailedError({\n cause,\n hash: params.hash,\n message: `Failed to ${params.action} transaction ${params.hash}`,\n }),\n try: () => {\n const base = {\n account: params.tx.from,\n chain: null,\n data: params.action === \"cancel\" ? \"0x\" : (params.tx.input ?? \"0x\"),\n gas: params.action === \"cancel\" ? MIN_TX_GAS : (params.tx.gas ?? undefined),\n nonce: params.tx.nonce,\n to: params.action === \"cancel\" ? params.tx.from : (params.tx.to ?? undefined),\n value: params.action === \"cancel\" ? 0n : params.tx.value,\n };\n\n if (params.bump.type === \"legacy\") {\n return walletClient.sendTransaction({\n ...base,\n gasPrice: params.bump.gasPrice,\n type: \"legacy\",\n });\n }\n\n return walletClient.sendTransaction({\n ...base,\n maxFeePerGas: params.bump.maxFeePerGas,\n maxPriorityFeePerGas: params.bump.maxPriorityFeePerGas,\n type: \"eip1559\",\n });\n },\n });\n });\n\nconst computeBump = (\n tx: Transaction,\n estimate: {\n gasPrice?: bigint | undefined;\n maxFeePerGas: bigint;\n maxPriorityFeePerGas: bigint;\n },\n policy?: TxPolicy\n): FeeBump => computeFeeBump({ estimate, policy, tx });\n\nexport const TxReplacementLive = Layer.effect(\n TxReplacement,\n Effect.gen(function* () {\n const publicClientService = yield* PublicClientService;\n const walletClientService = yield* WalletClientService;\n const gasService = yield* GasService;\n\n const getTx = (chainId: number, hash: Hash) =>\n Effect.gen(function* () {\n const client = yield* publicClientService.get(chainId);\n const tx = yield* Effect.tryPromise({\n catch: (cause) =>\n new TransactionFailedError({\n cause,\n hash,\n message: `Failed to get transaction ${hash}`,\n }),\n try: () => (client as PublicClient).getTransaction({ hash }),\n });\n return tx as Transaction;\n });\n\n return TxReplacement.of({\n cancel: (chainId, hash, policy) =>\n Effect.gen(function* () {\n const tx = yield* getTx(chainId, hash);\n const estimate = yield* gasService.estimateFees({\n chainId,\n speed: policy?.feeSpeed,\n });\n\n const bump = computeBump(tx, estimate, policy);\n return yield* sendReplacement({\n action: \"cancel\",\n bump,\n chainId,\n hash,\n tx,\n }).pipe(Effect.provideService(WalletClientService, walletClientService));\n }),\n\n speedup: (chainId, hash, policy) =>\n Effect.gen(function* () {\n const tx = yield* getTx(chainId, hash);\n const estimate = yield* gasService.estimateFees({\n chainId,\n speed: policy?.feeSpeed,\n });\n\n const bump = computeBump(tx, estimate, policy);\n return yield* sendReplacement({\n action: \"speedup\",\n bump,\n chainId,\n hash,\n tx,\n }).pipe(Effect.provideService(WalletClientService, walletClientService));\n }),\n });\n })\n);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tracker.js","sourceRoot":"","sources":["../../src/tx/tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracker.js","sourceRoot":"","sources":["../../src/tx/tracker.ts"],"names":[],"mappings":"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","sourcesContent":["import { Effect, SubscriptionRef } from \"effect\";\nimport type {\n AccessList,\n Hash,\n PublicClient,\n Transaction,\n TransactionReceipt,\n TransactionType,\n WalletClient,\n} from \"viem\";\nimport { MIN_TX_GAS } from \"@/src/constants/index.js\";\nimport type {\n ClientNotFoundError,\n TransactionReplacementReason,\n WalletNotConnectedError,\n WrongNetworkError,\n} from \"@/src/core/index.js\";\nimport {\n PublicClientService,\n TransactionFailedError,\n WalletClientService,\n} from \"@/src/core/index.js\";\n\nexport type TxRequestMeta = {\n readonly accessList?: AccessList | undefined;\n readonly gas?: bigint | undefined;\n readonly gasPrice?: bigint | undefined;\n readonly maxFeePerGas?: bigint | undefined;\n readonly maxPriorityFeePerGas?: bigint | undefined;\n readonly nonce?: number | bigint | undefined;\n readonly type?: TransactionType | undefined;\n};\n\nexport type TxState =\n | ({ readonly tx?: TxRequestMeta | undefined } & { status: \"idle\" })\n | ({ readonly tx?: TxRequestMeta | undefined } & { status: \"simulating\" })\n | ({ readonly tx?: TxRequestMeta | undefined } & {\n status: \"estimated\";\n gas: bigint;\n })\n | ({ readonly tx?: TxRequestMeta | undefined } & { status: \"signing\" })\n | ({ readonly tx?: TxRequestMeta | undefined } & {\n status: \"submitted\";\n hash: Hash;\n })\n | ({ readonly tx?: TxRequestMeta | undefined } & {\n status: \"pending\";\n hash: Hash;\n confirmations: number;\n })\n | ({ readonly tx?: TxRequestMeta | undefined } & {\n status: \"mined\";\n hash: Hash;\n receipt: TransactionReceipt;\n effectiveGasPrice?: bigint | undefined;\n })\n | ({ readonly tx?: TxRequestMeta | undefined } & {\n status: \"replaced\";\n oldHash: Hash;\n newHash: Hash;\n reason: TransactionReplacementReason;\n })\n | ({ readonly tx?: TxRequestMeta | undefined } & {\n status: \"failed\";\n error: TransactionFailedError;\n });\n\nexport const initialTxState: TxState = { status: \"idle\" };\n\n/** Create a TxState tracker with subscription capabilities */\nexport const makeTxTracker = Effect.gen(function* () {\n const ref = yield* SubscriptionRef.make<TxState>(initialTxState);\n\n return {\n changes: ref.changes,\n get: SubscriptionRef.get(ref),\n ref,\n set: (state: TxState) => SubscriptionRef.set(ref, state),\n update: (f: (s: TxState) => TxState) => SubscriptionRef.update(ref, f),\n };\n});\n\n/**\n * Speed up a pending transaction by submitting a replacement with higher gas fees\n * @param chainId - Chain ID for the wallet client\n * @param hash - Original transaction hash\n * @param newMaxFeePerGas - New max fee per gas (must be higher than original)\n * @param newMaxPriorityFeePerGas - New max priority fee per gas (optional)\n * @returns Effect that resolves to the new transaction hash\n */\nexport const speedupTransaction = (\n chainId: number,\n hash: Hash,\n newMaxFeePerGas: bigint,\n newMaxPriorityFeePerGas?: bigint\n): Effect.Effect<\n Hash,\n TransactionFailedError | WalletNotConnectedError | WrongNetworkError | ClientNotFoundError,\n PublicClientService | WalletClientService\n> =>\n Effect.gen(function* () {\n const walletClientService = yield* WalletClientService;\n const walletClient = yield* walletClientService.get(chainId);\n const publicClientService = yield* PublicClientService;\n const publicClient = yield* publicClientService.get(chainId);\n\n // Get original transaction\n const tx = yield* Effect.tryPromise({\n catch: (cause) =>\n new TransactionFailedError({\n cause,\n hash,\n message: `Failed to get transaction ${hash}`,\n }),\n try: () => (publicClient as PublicClient).getTransaction({ hash }),\n });\n\n if (!tx) {\n yield* Effect.fail(\n new TransactionFailedError({\n hash,\n message: `Transaction ${hash} not found`,\n })\n );\n }\n\n const transaction = tx as Transaction;\n\n // Create replacement transaction with same nonce but higher fees\n const newHash = yield* Effect.tryPromise({\n catch: (cause) =>\n new TransactionFailedError({\n cause,\n hash,\n message: `Failed to speed up transaction ${hash}`,\n }),\n try: () =>\n (walletClient as WalletClient).sendTransaction({\n account: transaction.from,\n chain: null,\n data: transaction.input,\n gas: transaction.gas ?? undefined,\n maxFeePerGas: newMaxFeePerGas,\n maxPriorityFeePerGas:\n newMaxPriorityFeePerGas ?? transaction.maxPriorityFeePerGas ?? undefined,\n nonce: transaction.nonce,\n to: transaction.to ?? undefined,\n value: transaction.value,\n }),\n });\n\n return newHash;\n });\n\n/**\n * Cancel a pending transaction by submitting a zero-value replacement to self\n * @param chainId - Chain ID for the wallet client\n * @param hash - Original transaction hash\n * @param newMaxFeePerGas - New max fee per gas (must be higher than original)\n * @returns Effect that resolves to the cancellation transaction hash\n */\nexport const cancelTransaction = (\n chainId: number,\n hash: Hash,\n newMaxFeePerGas: bigint,\n newMaxPriorityFeePerGas?: bigint\n): Effect.Effect<\n Hash,\n TransactionFailedError | WalletNotConnectedError | WrongNetworkError | ClientNotFoundError,\n PublicClientService | WalletClientService\n> =>\n Effect.gen(function* () {\n const walletClientService = yield* WalletClientService;\n const walletClient = yield* walletClientService.get(chainId);\n const publicClientService = yield* PublicClientService;\n const publicClient = yield* publicClientService.get(chainId);\n\n // Get original transaction\n const tx = yield* Effect.tryPromise({\n catch: (cause) =>\n new TransactionFailedError({\n cause,\n hash,\n message: `Failed to get transaction ${hash}`,\n }),\n try: () => (publicClient as PublicClient).getTransaction({ hash }),\n });\n\n if (!tx) {\n yield* Effect.fail(\n new TransactionFailedError({\n hash,\n message: `Transaction ${hash} not found`,\n })\n );\n }\n\n const transaction = tx as Transaction;\n\n // Create cancellation transaction: same nonce, zero value to self, higher fees\n const newHash = yield* Effect.tryPromise({\n catch: (cause) =>\n new TransactionFailedError({\n cause,\n hash,\n message: `Failed to cancel transaction ${hash}`,\n }),\n try: () =>\n (walletClient as WalletClient).sendTransaction({\n account: transaction.from,\n chain: null,\n data: \"0x\",\n gas: MIN_TX_GAS, // Standard transfer gas\n maxFeePerGas: newMaxFeePerGas,\n maxPriorityFeePerGas:\n newMaxPriorityFeePerGas ?? transaction.maxPriorityFeePerGas ?? undefined,\n nonce: transaction.nonce,\n to: transaction.from, // Send to self\n value: 0n, // Zero value\n }),\n });\n\n return newHash;\n });\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"abi.js","sourceRoot":"","sources":["../../src/types/abi.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"abi.js","sourceRoot":"","sources":["../../src/types/abi.ts"],"names":[],"mappings":"","sourcesContent":["import type { Abi, ContractFunctionName, ContractFunctionReturnType } from \"viem\";\n\nexport type {\n Abi,\n AbiEvent,\n AbiFunction,\n ContractEventArgs,\n ContractEventName,\n ContractFunctionArgs,\n ContractFunctionName,\n ContractFunctionReturnType,\n} from \"viem\";\n\n/**\n * Extract readable function names from ABI\n */\nexport type ReadFunctionName<TAbi extends Abi> = ContractFunctionName<TAbi, \"pure\" | \"view\">;\n\n/**\n * Extract writable function names from ABI\n */\nexport type WriteFunctionName<TAbi extends Abi> = ContractFunctionName<\n TAbi,\n \"nonpayable\" | \"payable\"\n>;\n\n/**\n * Extract the return type from a multicall call\n */\nexport type ExtractMulticallReturnType<TCall> = TCall extends {\n readonly abi: infer TAbi;\n readonly functionName: infer TFunctionName;\n}\n ? TAbi extends Abi\n ? TFunctionName extends ContractFunctionName<TAbi, \"pure\" | \"view\">\n ? ContractFunctionReturnType<TAbi, \"pure\" | \"view\", TFunctionName>\n : unknown\n : unknown\n : unknown;\n\n/**\n * Map an array of multicall calls to their corresponding result types\n */\nexport type MulticallResultTypes<TCalls extends readonly unknown[]> = TCalls extends readonly [\n infer TFirst,\n ...infer TRest,\n]\n ? readonly [ExtractMulticallReturnType<TFirst>, ...MulticallResultTypes<TRest>]\n : readonly [];\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC","sourcesContent":["export * from \"./abi.js\";\nexport * from \"./params.js\";\nexport * from \"./tx-overrides.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"params.js","sourceRoot":"","sources":["../../src/types/params.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"params.js","sourceRoot":"","sources":["../../src/types/params.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n Abi,\n Address,\n BlockTag,\n ContractFunctionArgs,\n ContractFunctionName,\n GetValue,\n Hash,\n TransactionReceipt,\n} from \"viem\";\nimport type { TxOverrides } from \"@/src/types/index.js\";\n\ntype ValueField<TAbi extends Abi, TFunctionName extends string> = Readonly<\n GetValue<TAbi, TFunctionName, bigint>\n>;\n\ntype ArgsField<TArgs> = {\n readonly args?: TArgs | undefined;\n} & (readonly [] extends TArgs ? unknown : { readonly args: TArgs });\n\ntype BlockRef =\n | {\n readonly blockNumber?: bigint | undefined;\n readonly blockTag?: never;\n }\n | {\n readonly blockNumber?: never;\n readonly blockTag?: BlockTag | undefined;\n }\n | {\n readonly blockNumber?: never;\n readonly blockTag?: never;\n };\n\n/**\n * Parameters for reading from a contract\n */\nexport type ReadParams<\n TAbi extends Abi,\n TFunctionName extends ContractFunctionName<TAbi, \"pure\" | \"view\">,\n> = {\n /** Optional call account (msg.sender) */\n readonly account?: Address | undefined;\n readonly chainId: number;\n readonly address: Address;\n readonly abi: TAbi;\n readonly functionName: TFunctionName;\n} & BlockRef &\n ArgsField<ContractFunctionArgs<TAbi, \"pure\" | \"view\", TFunctionName>>;\n\n/**\n * Parameters for writing to a contract\n */\nexport type WriteParams<\n TAbi extends Abi,\n TFunctionName extends ContractFunctionName<TAbi, \"nonpayable\" | \"payable\">,\n> = {\n readonly chainId: number;\n readonly address: Address;\n readonly abi: TAbi;\n readonly functionName: TFunctionName;\n readonly account: Address;\n /** Legacy escape hatch. Prefer `overrides.gas`. */\n readonly gas?: bigint | undefined;\n /** Safe transaction-level overrides (fees, nonce, access list, etc). */\n readonly overrides?: TxOverrides | undefined;\n} & ArgsField<ContractFunctionArgs<TAbi, \"nonpayable\" | \"payable\", TFunctionName>> &\n ValueField<TAbi, TFunctionName>;\n\n/**\n * Result from simulating a contract call\n */\nexport type SimulateResult<TResult = unknown> = {\n readonly result: TResult;\n readonly request: unknown;\n};\n\n/**\n * A single call in a multicall batch\n */\nexport type MulticallCall<\n TAbi extends Abi = Abi,\n TFunctionName extends ContractFunctionName<TAbi, \"pure\" | \"view\"> = ContractFunctionName<\n TAbi,\n \"pure\" | \"view\"\n >,\n> = {\n readonly address: Address;\n readonly abi: TAbi;\n readonly functionName: TFunctionName;\n} & ArgsField<ContractFunctionArgs<TAbi, \"pure\" | \"view\", TFunctionName>>;\n\n/**\n * Result from a multicall operation\n */\nexport type MulticallResult<TResult = unknown> =\n | { readonly status: \"success\"; readonly result: TResult }\n | { readonly status: \"failure\"; readonly error: Error };\n\n/**\n * Result from a transaction\n */\nexport type TransactionResult = {\n readonly hash: Hash;\n readonly receipt: TransactionReceipt;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tx-overrides.js","sourceRoot":"","sources":["../../src/types/tx-overrides.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"tx-overrides.js","sourceRoot":"","sources":["../../src/types/tx-overrides.ts"],"names":[],"mappings":"","sourcesContent":["import type { AccessList, TransactionType } from \"viem\";\n\n/**\n * Fee overrides for a transaction.\n *\n * - Legacy: `gasPrice`\n * - EIP-1559: `maxFeePerGas` (+ optional `maxPriorityFeePerGas`)\n */\nexport type FeeOverrides =\n | {\n readonly gasPrice: bigint;\n readonly maxFeePerGas?: never;\n readonly maxPriorityFeePerGas?: never;\n }\n | {\n readonly gasPrice?: never;\n readonly maxFeePerGas: bigint;\n readonly maxPriorityFeePerGas?: bigint | undefined;\n };\n\n/**\n * Safe transaction-level overrides that can be applied to contract writes/simulations.\n *\n * Intentionally excludes `to`/`data`/`from` (derived from the contract call + account).\n */\nexport type TxOverrides = {\n readonly accessList?: AccessList | undefined;\n readonly gas?: bigint | undefined;\n readonly gasPrice?: bigint | undefined;\n readonly maxFeePerGas?: bigint | undefined;\n readonly maxPriorityFeePerGas?: bigint | undefined;\n readonly nonce?: number | bigint | undefined;\n readonly type?: TransactionType | undefined;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/wagmi/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/wagmi/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC","sourcesContent":["export * from \"./layers.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"layers.js","sourceRoot":"","sources":["../../src/wagmi/layers.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC"}
1
+ {"version":3,"file":"layers.js","sourceRoot":"","sources":["../../src/wagmi/layers.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC","sourcesContent":["export * from \"@/src/integrations/wagmi/index.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/wallet/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,kBAAkB,EAAE;IAC/F,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAC9E,oBAAoB,EACpB;IACE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,oBAAqB,SAAQ,MAAM,CAAC,WAAW,EAAwB,CAClF,sBAAsB,EACtB;IACE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,WAAW,EAAyB,CACpF,uBAAuB,EACvB;IACE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,kBAAkB,EAAE;IAC/F,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,MAAM,OAAO,aAAc,SAAQ,MAAM,CAAC,WAAW,EAAiB,CAAC,eAAe,EAAE;IACtF,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,MAAM,OAAO,wBAAyB,SAAQ,MAAM,CAAC,WAAW,EAA4B,CAC1F,0BAA0B,EAC1B;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,eAAgB,SAAQ,MAAM,CAAC,WAAW,EAAmB,CAAC,iBAAiB,EAAE;IAC5F,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/wallet/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,kBAAkB,EAAE;IAC/F,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAC9E,oBAAoB,EACpB;IACE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,oBAAqB,SAAQ,MAAM,CAAC,WAAW,EAAwB,CAClF,sBAAsB,EACtB;IACE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,WAAW,EAAyB,CACpF,uBAAuB,EACvB;IACE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,kBAAkB,EAAE;IAC/F,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,MAAM,OAAO,aAAc,SAAQ,MAAM,CAAC,WAAW,EAAiB,CAAC,eAAe,EAAE;IACtF,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,MAAM,OAAO,wBAAyB,SAAQ,MAAM,CAAC,WAAW,EAA4B,CAC1F,0BAA0B,EAC1B;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,eAAgB,SAAQ,MAAM,CAAC,WAAW,EAAmB,CAAC,iBAAiB,EAAE;IAC5F,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG","sourcesContent":["import { Schema } from \"effect\";\n\nexport class SignMessageError extends Schema.TaggedError<SignMessageError>()(\"SignMessageError\", {\n cause: Schema.optional(Schema.Unknown),\n message: Schema.String,\n}) {}\n\nexport class SignTypedDataError extends Schema.TaggedError<SignTypedDataError>()(\n \"SignTypedDataError\",\n {\n cause: Schema.optional(Schema.Unknown),\n message: Schema.String,\n }\n) {}\n\nexport class SignTransactionError extends Schema.TaggedError<SignTransactionError>()(\n \"SignTransactionError\",\n {\n cause: Schema.optional(Schema.Unknown),\n message: Schema.String,\n }\n) {}\n\nexport class WalletConnectionError extends Schema.TaggedError<WalletConnectionError>()(\n \"WalletConnectionError\",\n {\n cause: Schema.optional(Schema.Unknown),\n message: Schema.String,\n }\n) {}\n\nexport class ChainSwitchError extends Schema.TaggedError<ChainSwitchError>()(\"ChainSwitchError\", {\n cause: Schema.optional(Schema.Unknown),\n chainId: Schema.Number,\n message: Schema.String,\n}) {}\n\nexport class AddChainError extends Schema.TaggedError<AddChainError>()(\"AddChainError\", {\n cause: Schema.optional(Schema.Unknown),\n chainId: Schema.Number,\n message: Schema.String,\n}) {}\n\nexport class AccountNotConnectedError extends Schema.TaggedError<AccountNotConnectedError>()(\n \"AccountNotConnectedError\",\n {\n message: Schema.String,\n }\n) {}\n\nexport class WatchAssetError extends Schema.TaggedError<WatchAssetError>()(\"WatchAssetError\", {\n cause: Schema.optional(Schema.Unknown),\n message: Schema.String,\n}) {}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC","sourcesContent":["export * from \"./errors.js\";\nexport * from \"./lifecycle.js\";\nexport * from \"./operations.js\";\nexport * from \"./provider-ref.js\";\nexport * from \"./service.js\";\nexport * from \"./types.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/wallet/lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/wallet/lifecycle.ts"],"names":[],"mappings":"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","sourcesContent":["import { Context, Effect, Layer, Option } from \"effect\";\nimport type { Address } from \"viem\";\nimport type { UserRejectedError } from \"@/src/core/index.js\";\nimport { classifyWalletError } from \"@/src/core/index.js\";\nimport { parseHexInt } from \"@/src/internal/index.js\";\nimport { SpanNames } from \"@/src/telemetry/index.js\";\nimport type {\n AddChainParams,\n ChainSwitchError,\n WalletProvider,\n WatchAssetParams,\n} from \"@/src/wallet/index.js\";\nimport {\n AccountNotConnectedError,\n AddChainError,\n ChainSwitchError as ChainSwitchErrorClass,\n WalletConnectionError,\n WalletProviderRef,\n WatchAssetError,\n} from \"@/src/wallet/index.js\";\n\nconst UNKNOWN_CHAIN_ID = 0;\n\n/**\n * Service for wallet lifecycle operations (connect, disconnect, chain management)\n */\nexport type WalletLifecycleShape = {\n readonly connect: () => Effect.Effect<Address[], WalletConnectionError | UserRejectedError>;\n readonly disconnect: () => Effect.Effect<void, never>;\n readonly isConnected: Effect.Effect<boolean, never>;\n readonly switchChain: (\n chainId: number\n ) => Effect.Effect<void, ChainSwitchError | UserRejectedError>;\n readonly addChain: (\n chain: AddChainParams\n ) => Effect.Effect<void, AddChainError | UserRejectedError>;\n readonly getChainId: () => Effect.Effect<number, AccountNotConnectedError>;\n readonly watchAsset: (\n params: WatchAssetParams\n ) => Effect.Effect<boolean, WatchAssetError | UserRejectedError>;\n};\n\nexport class WalletLifecycle extends Context.Tag(\"ew3/WalletLifecycle\")<\n WalletLifecycle,\n WalletLifecycleShape\n>() {}\n\n/**\n * Create a live implementation of WalletLifecycle\n */\nexport function makeWalletLifecycleLive(provider: WalletProvider): Layer.Layer<WalletLifecycle> {\n return Layer.succeed(WalletLifecycle, {\n addChain: (chain: AddChainParams) =>\n Effect.gen(function* () {\n // Convert chain config to EIP-3085 format\n const chainIdHex = `0x${chain.id.toString(16)}`;\n\n const params = {\n blockExplorerUrls: chain.blockExplorerUrls,\n chainId: chainIdHex,\n chainName: chain.name,\n iconUrls: chain.iconUrls,\n nativeCurrency: chain.nativeCurrency,\n rpcUrls: chain.rpcUrls?.http ?? [],\n };\n\n yield* Effect.tryPromise({\n catch: (error) => classifyWalletError(error, \"addChain\", { chainId: chain.id }),\n try: async () => {\n await provider.request({\n method: \"wallet_addEthereumChain\",\n params: [params],\n });\n },\n });\n }),\n connect: () =>\n Effect.gen(function* () {\n const accounts = yield* Effect.tryPromise({\n catch: (error) => classifyWalletError(error, \"connect\"),\n try: async () => {\n const result = await provider.request({\n method: \"eth_requestAccounts\",\n });\n return result as Address[];\n },\n });\n\n if (accounts.length === 0) {\n return yield* Effect.fail(\n new WalletConnectionError({\n message: \"No accounts returned from wallet\",\n })\n );\n }\n\n return accounts;\n }).pipe(Effect.withSpan(SpanNames.WALLET_CONNECT)),\n\n disconnect: () =>\n Effect.sync(() => {\n // Note: Most wallets don't support programmatic disconnect via EIP-1193\n // This is a no-op that represents the intent to disconnect\n // Applications should handle UI state separately\n }),\n\n getChainId: () =>\n 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 isConnected: Effect.gen(function* () {\n const result = yield* Effect.promise(() =>\n provider\n .request({\n method: \"eth_accounts\",\n })\n .then((accountsResult) => accountsResult as Address[])\n .catch(() => [] as Address[])\n );\n\n return result.length > 0;\n }),\n\n switchChain: (chainId: number) =>\n Effect.gen(function* () {\n yield* Effect.tryPromise({\n catch: (error) => classifyWalletError(error, \"switchChain\", { chainId }),\n try: async () => {\n await provider.request({\n method: \"wallet_switchEthereumChain\",\n params: [{ chainId: `0x${chainId.toString(16)}` }],\n });\n },\n });\n }).pipe(\n Effect.withSpan(\"ew3.wallet.switchChain\", {\n attributes: {\n chainId,\n },\n })\n ),\n\n watchAsset: (params: WatchAssetParams) =>\n Effect.gen(function* () {\n return yield* Effect.tryPromise({\n catch: (error) => classifyWalletError(error, \"watchAsset\"),\n try: async () => {\n const result = await provider.request({\n method: \"wallet_watchAsset\",\n params: { options: params.options, type: params.type },\n });\n return result as boolean;\n },\n });\n }),\n });\n}\n\nexport const WalletLifecycleFromProviderRefLive = Layer.effect(\n WalletLifecycle,\n Effect.gen(function* () {\n const providerRef = yield* WalletProviderRef;\n\n const getProvider = providerRef.get;\n\n return WalletLifecycle.of({\n addChain: (chain: AddChainParams) =>\n Effect.gen(function* () {\n const current = yield* getProvider;\n if (Option.isNone(current)) {\n return yield* Effect.fail(\n new AddChainError({\n chainId: chain.id,\n message: \"No wallet provider set\",\n })\n );\n }\n\n const provider = current.value;\n const chainIdHex = `0x${chain.id.toString(16)}`;\n const params = {\n blockExplorerUrls: chain.blockExplorerUrls,\n chainId: chainIdHex,\n chainName: chain.name,\n iconUrls: chain.iconUrls,\n nativeCurrency: chain.nativeCurrency,\n rpcUrls: chain.rpcUrls?.http ?? [],\n };\n\n yield* Effect.tryPromise({\n catch: (error) => classifyWalletError(error, \"addChain\", { chainId: chain.id }),\n try: async () => {\n await provider.request({\n method: \"wallet_addEthereumChain\",\n params: [params],\n });\n },\n });\n }),\n\n connect: () =>\n Effect.gen(function* () {\n const current = yield* getProvider;\n if (Option.isNone(current)) {\n return yield* Effect.fail(\n new WalletConnectionError({\n message: \"No wallet provider set\",\n })\n );\n }\n\n const provider = current.value;\n const accounts = yield* Effect.tryPromise({\n catch: (error) => classifyWalletError(error, \"connect\"),\n try: async () => {\n const result = await provider.request({\n method: \"eth_requestAccounts\",\n });\n return result as Address[];\n },\n });\n\n if (accounts.length === 0) {\n return yield* Effect.fail(\n new WalletConnectionError({\n message: \"No accounts returned from wallet\",\n })\n );\n }\n\n return accounts;\n }).pipe(Effect.withSpan(SpanNames.WALLET_CONNECT)),\n\n disconnect: () =>\n Effect.sync(() => {\n // no-op (see makeWalletLifecycleLive)\n }),\n\n getChainId: () =>\n Effect.gen(function* () {\n const current = yield* getProvider;\n if (Option.isNone(current)) {\n return yield* Effect.fail(\n new AccountNotConnectedError({\n message: \"No wallet provider set\",\n })\n );\n }\n\n const provider = current.value;\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 isConnected: Effect.gen(function* () {\n const current = yield* getProvider;\n if (Option.isNone(current)) {\n return false;\n }\n\n const provider = current.value;\n const result = yield* Effect.promise(() =>\n provider\n .request({\n method: \"eth_accounts\",\n })\n .then((accountsResult) => accountsResult as Address[])\n .catch(() => [] as Address[])\n );\n\n return result.length > 0;\n }),\n\n switchChain: (chainId: number) =>\n Effect.gen(function* () {\n const current = yield* getProvider;\n if (Option.isNone(current)) {\n return yield* Effect.fail(\n new ChainSwitchErrorClass({\n chainId,\n message: \"No wallet provider set\",\n })\n );\n }\n\n const provider = current.value;\n yield* Effect.tryPromise({\n catch: (error) => classifyWalletError(error, \"switchChain\", { chainId }),\n try: async () => {\n await provider.request({\n method: \"wallet_switchEthereumChain\",\n params: [{ chainId: `0x${chainId.toString(16)}` }],\n });\n },\n });\n }).pipe(\n Effect.withSpan(\"ew3.wallet.switchChain\", {\n attributes: {\n chainId,\n },\n })\n ),\n\n watchAsset: (params: WatchAssetParams) =>\n Effect.gen(function* () {\n const current = yield* getProvider;\n if (Option.isNone(current)) {\n return yield* Effect.fail(\n new WatchAssetError({\n message: \"No wallet provider set\",\n })\n );\n }\n\n const provider = current.value;\n return yield* Effect.tryPromise({\n catch: (error) => classifyWalletError(error, \"watchAsset\"),\n try: async () => {\n const result = await provider.request({\n method: \"wallet_watchAsset\",\n params: { options: params.options, type: params.type },\n });\n return result as boolean;\n },\n });\n }),\n });\n })\n);\n\n/**\n * Default live layer that requires a WalletProvider to be provided separately\n */\nexport const WalletLifecycleLive = Layer.effect(\n WalletLifecycle,\n Effect.sync(() => {\n // This is a placeholder that will be replaced by makeWalletLifecycleLive\n // when a provider is available\n throw new Error(\n \"WalletLifecycleLive requires a provider. Use makeWalletLifecycleLive instead.\"\n );\n })\n);\n"]}