@prb/effect-evm 1.0.0-beta.0 → 1.0.0-beta.10

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 (395) hide show
  1. package/DOCS.md +13 -0
  2. package/README.md +4 -0
  3. package/dist/abi/erc165.js.map +1 -1
  4. package/dist/abi/erc20-no-output.js.map +1 -1
  5. package/dist/abi/erc20.js.map +1 -1
  6. package/dist/abi/erc721.js.map +1 -1
  7. package/dist/abi/index.js.map +1 -1
  8. package/dist/balance/index.js.map +1 -1
  9. package/dist/balance/service.js.map +1 -1
  10. package/dist/balance/service.test.integration.d.ts +2 -0
  11. package/dist/balance/service.test.integration.d.ts.map +1 -0
  12. package/dist/balance/service.test.integration.js +289 -0
  13. package/dist/balance/service.test.integration.js.map +1 -0
  14. package/dist/balance/utils.js.map +1 -1
  15. package/dist/block/errors.js.map +1 -1
  16. package/dist/block/index.js.map +1 -1
  17. package/dist/block/service.js.map +1 -1
  18. package/dist/block/service.test.integration.d.ts +2 -0
  19. package/dist/block/service.test.integration.d.ts.map +1 -0
  20. package/dist/block/service.test.integration.js +190 -0
  21. package/dist/block/service.test.integration.js.map +1 -0
  22. package/dist/constants/index.d.ts +0 -4
  23. package/dist/constants/index.d.ts.map +1 -1
  24. package/dist/constants/index.js +1 -5
  25. package/dist/constants/index.js.map +1 -1
  26. package/dist/contract/cross-chain-reader.d.ts +14 -10
  27. package/dist/contract/cross-chain-reader.d.ts.map +1 -1
  28. package/dist/contract/cross-chain-reader.js +2 -8
  29. package/dist/contract/cross-chain-reader.js.map +1 -1
  30. package/dist/contract/index.js.map +1 -1
  31. package/dist/contract/pipeline/index.js.map +1 -1
  32. package/dist/contract/pipeline/internal/core.d.ts +2 -2
  33. package/dist/contract/pipeline/internal/core.d.ts.map +1 -1
  34. package/dist/contract/pipeline/internal/core.js.map +1 -1
  35. package/dist/contract/pipeline/internal/helpers.js.map +1 -1
  36. package/dist/contract/pipeline/internal/nonce.js.map +1 -1
  37. package/dist/contract/pipeline/internal/prepare.js.map +1 -1
  38. package/dist/contract/pipeline/internal/receipt.d.ts +2 -2
  39. package/dist/contract/pipeline/internal/receipt.d.ts.map +1 -1
  40. package/dist/contract/pipeline/internal/receipt.js +1 -1
  41. package/dist/contract/pipeline/internal/receipt.js.map +1 -1
  42. package/dist/contract/pipeline/live.js.map +1 -1
  43. package/dist/contract/pipeline/service.d.ts +3 -3
  44. package/dist/contract/pipeline/service.d.ts.map +1 -1
  45. package/dist/contract/pipeline/service.js.map +1 -1
  46. package/dist/contract/pipeline/types.d.ts +2 -2
  47. package/dist/contract/pipeline/types.d.ts.map +1 -1
  48. package/dist/contract/pipeline/types.js.map +1 -1
  49. package/dist/contract/pipeline/write-and-track.d.ts.map +1 -1
  50. package/dist/contract/pipeline/write-and-track.js +5 -6
  51. package/dist/contract/pipeline/write-and-track.js.map +1 -1
  52. package/dist/contract/pipeline/write-and-wait.d.ts +1 -1
  53. package/dist/contract/pipeline/write-and-wait.d.ts.map +1 -1
  54. package/dist/contract/pipeline/write-and-wait.js.map +1 -1
  55. package/dist/contract/pipeline.js.map +1 -1
  56. package/dist/contract/reader.js.map +1 -1
  57. package/dist/contract/typed-contract.js.map +1 -1
  58. package/dist/contract/writer.js.map +1 -1
  59. package/dist/core/clients/index.js.map +1 -1
  60. package/dist/core/clients/public-client.js.map +1 -1
  61. package/dist/core/clients/wallet-client.js.map +1 -1
  62. package/dist/core/errors/client.js.map +1 -1
  63. package/dist/core/errors/contract.js.map +1 -1
  64. package/dist/core/errors/erc20.js.map +1 -1
  65. package/dist/core/errors/event.js.map +1 -1
  66. package/dist/core/errors/index.js.map +1 -1
  67. package/dist/core/errors/predicates.js.map +1 -1
  68. package/dist/core/errors/transaction.d.ts +10 -8
  69. package/dist/core/errors/transaction.d.ts.map +1 -1
  70. package/dist/core/errors/transaction.js +126 -4
  71. package/dist/core/errors/transaction.js.map +1 -1
  72. package/dist/core/errors/viem-mapper.d.ts +3 -3
  73. package/dist/core/errors/viem-mapper.d.ts.map +1 -1
  74. package/dist/core/errors/viem-mapper.js +14 -16
  75. package/dist/core/errors/viem-mapper.js.map +1 -1
  76. package/dist/core/index.js.map +1 -1
  77. package/dist/deploy/errors.js.map +1 -1
  78. package/dist/deploy/index.js.map +1 -1
  79. package/dist/deploy/service.d.ts +3 -3
  80. package/dist/deploy/service.d.ts.map +1 -1
  81. package/dist/deploy/service.js.map +1 -1
  82. package/dist/eip7702/erc7579.js.map +1 -1
  83. package/dist/eip7702/errors.d.ts +3 -3
  84. package/dist/eip7702/errors.d.ts.map +1 -1
  85. package/dist/eip7702/errors.js +1 -1
  86. package/dist/eip7702/errors.js.map +1 -1
  87. package/dist/eip7702/index.js.map +1 -1
  88. package/dist/eip7702/service.d.ts +8 -8
  89. package/dist/eip7702/service.d.ts.map +1 -1
  90. package/dist/eip7702/service.js +2 -2
  91. package/dist/eip7702/service.js.map +1 -1
  92. package/dist/ens/ens.d.ts.map +1 -1
  93. package/dist/ens/ens.js +6 -6
  94. package/dist/ens/ens.js.map +1 -1
  95. package/dist/ens/errors.js.map +1 -1
  96. package/dist/ens/index.js.map +1 -1
  97. package/dist/erc20/allowance/core.js.map +1 -1
  98. package/dist/erc20/allowance/index.js.map +1 -1
  99. package/dist/erc20/allowance/no-output.js.map +1 -1
  100. package/dist/erc20/allowance/types.js.map +1 -1
  101. package/dist/erc20/index.d.ts +1 -0
  102. package/dist/erc20/index.d.ts.map +1 -1
  103. package/dist/erc20/index.js +1 -0
  104. package/dist/erc20/index.js.map +1 -1
  105. package/dist/erc20/metadata.d.ts +16 -0
  106. package/dist/erc20/metadata.d.ts.map +1 -0
  107. package/dist/erc20/metadata.js +67 -0
  108. package/dist/erc20/metadata.js.map +1 -0
  109. package/dist/erc721/errors.js.map +1 -1
  110. package/dist/erc721/helpers.js.map +1 -1
  111. package/dist/erc721/index.js.map +1 -1
  112. package/dist/erc721/metadata.js.map +1 -1
  113. package/dist/erc721/service.js.map +1 -1
  114. package/dist/events/backfill.js.map +1 -1
  115. package/dist/events/backfill.test.integration.d.ts +2 -0
  116. package/dist/events/backfill.test.integration.d.ts.map +1 -0
  117. package/dist/events/backfill.test.integration.js +112 -0
  118. package/dist/events/backfill.test.integration.js.map +1 -0
  119. package/dist/events/cursor.js.map +1 -1
  120. package/dist/events/decoder.js.map +1 -1
  121. package/dist/events/index.js.map +1 -1
  122. package/dist/events/reliable-stream-simple.test.integration.d.ts +2 -0
  123. package/dist/events/reliable-stream-simple.test.integration.d.ts.map +1 -0
  124. package/dist/events/reliable-stream-simple.test.integration.js +22 -0
  125. package/dist/events/reliable-stream-simple.test.integration.js.map +1 -0
  126. package/dist/events/reliable-stream.js.map +1 -1
  127. package/dist/events/reliable-stream.test.integration.d.ts +2 -0
  128. package/dist/events/reliable-stream.test.integration.d.ts.map +1 -0
  129. package/dist/events/reliable-stream.test.integration.js +327 -0
  130. package/dist/events/reliable-stream.test.integration.js.map +1 -0
  131. package/dist/events/stream.js.map +1 -1
  132. package/dist/events/stream.test.integration.d.ts +2 -0
  133. package/dist/events/stream.test.integration.d.ts.map +1 -0
  134. package/dist/events/stream.test.integration.js +120 -0
  135. package/dist/events/stream.test.integration.js.map +1 -0
  136. package/dist/gas/errors.js.map +1 -1
  137. package/dist/gas/estimator.d.ts.map +1 -1
  138. package/dist/gas/estimator.js +75 -58
  139. package/dist/gas/estimator.js.map +1 -1
  140. package/dist/gas/index.js.map +1 -1
  141. package/dist/gas/service.d.ts.map +1 -1
  142. package/dist/gas/service.js +14 -2
  143. package/dist/gas/service.js.map +1 -1
  144. package/dist/gas/service.test.integration.d.ts +2 -0
  145. package/dist/gas/service.test.integration.d.ts.map +1 -0
  146. package/dist/gas/service.test.integration.js +152 -0
  147. package/dist/gas/service.test.integration.js.map +1 -0
  148. package/dist/index.js.map +1 -1
  149. package/dist/integrations/react-hooks/convenience/index.js.map +1 -1
  150. package/dist/integrations/react-hooks/internal/error.js.map +1 -1
  151. package/dist/integrations/react-hooks/internal/is-dev.js.map +1 -1
  152. package/dist/integrations/react-hooks/internal/runtime.js.map +1 -1
  153. package/dist/integrations/react-hooks/internal/scoped-run.js.map +1 -1
  154. package/dist/integrations/react-hooks/internal/stable.js.map +1 -1
  155. package/dist/integrations/react-hooks/primitives/use-effect-memo-factory.js.map +1 -1
  156. package/dist/integrations/react-hooks/primitives/use-effect.js.map +1 -1
  157. package/dist/integrations/react-hooks/primitives/use-fork-effect.js.map +1 -1
  158. package/dist/integrations/react-hooks/primitives/use-stream.js.map +1 -1
  159. package/dist/integrations/react-hooks/primitives.js.map +1 -1
  160. package/dist/integrations/react-hooks/provider.js.map +1 -1
  161. package/dist/integrations/react-hooks/wagmi/index.js.map +1 -1
  162. package/dist/integrations/react-hooks/wallet-provider-ref.js.map +1 -1
  163. package/dist/integrations/wagmi/index.js.map +1 -1
  164. package/dist/integrations/wagmi/layers.js.map +1 -1
  165. package/dist/internal/index.js.map +1 -1
  166. package/dist/internal/numbers.js.map +1 -1
  167. package/dist/internal/schedule.js.map +1 -1
  168. package/dist/internal/stream-adapters.js.map +1 -1
  169. package/dist/internal/viem-effect.js.map +1 -1
  170. package/dist/nonce/index.js.map +1 -1
  171. package/dist/nonce/manager.js.map +1 -1
  172. package/dist/nonce/service.js.map +1 -1
  173. package/dist/nonce/service.test.integration.d.ts +2 -0
  174. package/dist/nonce/service.test.integration.d.ts.map +1 -0
  175. package/dist/nonce/service.test.integration.js +141 -0
  176. package/dist/nonce/service.test.integration.js.map +1 -0
  177. package/dist/platform/browser/cursor-store/index.js.map +1 -1
  178. package/dist/platform/browser/cursor-store/local-storage.js.map +1 -1
  179. package/dist/platform/browser/index.js.map +1 -1
  180. package/dist/platform/browser/layers.js.map +1 -1
  181. package/dist/platform/browser/storage/errors.js.map +1 -1
  182. package/dist/platform/browser/storage/index.js.map +1 -1
  183. package/dist/platform/browser/storage/local-storage.js.map +1 -1
  184. package/dist/platform/browser/tx-persistence/index.js.map +1 -1
  185. package/dist/platform/browser/tx-persistence/persistence.js.map +1 -1
  186. package/dist/platform/browser/tx-store/errors.js.map +1 -1
  187. package/dist/platform/browser/tx-store/index.js.map +1 -1
  188. package/dist/platform/browser/tx-store/local-storage.js.map +1 -1
  189. package/dist/platform/browser/tx-store/store.js.map +1 -1
  190. package/dist/platform/browser/tx-store/types.js.map +1 -1
  191. package/dist/presets/index.js.map +1 -1
  192. package/dist/presets/layers.js.map +1 -1
  193. package/dist/presets/transports.js.map +1 -1
  194. package/dist/query/chain-head.js.map +1 -1
  195. package/dist/query/client.js.map +1 -1
  196. package/dist/query/client.test.integration.d.ts +2 -0
  197. package/dist/query/client.test.integration.d.ts.map +1 -0
  198. package/dist/query/client.test.integration.js +94 -0
  199. package/dist/query/client.test.integration.js.map +1 -0
  200. package/dist/query/contract-query.js.map +1 -1
  201. package/dist/query/contract-query.test.integration.d.ts +2 -0
  202. package/dist/query/contract-query.test.integration.d.ts.map +1 -0
  203. package/dist/query/contract-query.test.integration.js +133 -0
  204. package/dist/query/contract-query.test.integration.js.map +1 -0
  205. package/dist/query/index.js.map +1 -1
  206. package/dist/query/multicall-batcher.js.map +1 -1
  207. package/dist/react-hooks/index.d.ts +0 -2
  208. package/dist/react-hooks/index.d.ts.map +1 -1
  209. package/dist/react-hooks/index.js +0 -2
  210. package/dist/react-hooks/index.js.map +1 -1
  211. package/dist/react-hooks/wagmi/index.js.map +1 -1
  212. package/dist/rpc/cache.js.map +1 -1
  213. package/dist/rpc/circuit-breaker.js.map +1 -1
  214. package/dist/rpc/dedup.js.map +1 -1
  215. package/dist/rpc/index.js.map +1 -1
  216. package/dist/rpc/retry.js.map +1 -1
  217. package/dist/rpc/routemesh.js.map +1 -1
  218. package/dist/signature/errors.js.map +1 -1
  219. package/dist/signature/index.js.map +1 -1
  220. package/dist/signature/service.js.map +1 -1
  221. package/dist/signature/service.test.integration.d.ts +2 -0
  222. package/dist/signature/service.test.integration.d.ts.map +1 -0
  223. package/dist/signature/service.test.integration.js +179 -0
  224. package/dist/signature/service.test.integration.js.map +1 -0
  225. package/dist/signature/utils.js.map +1 -1
  226. package/dist/simulation/errors.js.map +1 -1
  227. package/dist/simulation/index.js.map +1 -1
  228. package/dist/simulation/service.js.map +1 -1
  229. package/dist/simulation/tenderly.js.map +1 -1
  230. package/dist/simulation/tenderly.test.integration.d.ts +2 -0
  231. package/dist/simulation/tenderly.test.integration.d.ts.map +1 -0
  232. package/dist/simulation/tenderly.test.integration.js +104 -0
  233. package/dist/simulation/tenderly.test.integration.js.map +1 -0
  234. package/dist/simulation/types.js.map +1 -1
  235. package/dist/subscriptions/block-subscription.js.map +1 -1
  236. package/dist/subscriptions/errors.js.map +1 -1
  237. package/dist/subscriptions/index.js.map +1 -1
  238. package/dist/subscriptions/log-subscription.js.map +1 -1
  239. package/dist/subscriptions/pending-tx.d.ts +1 -1
  240. package/dist/subscriptions/pending-tx.d.ts.map +1 -1
  241. package/dist/subscriptions/pending-tx.js +1 -1
  242. package/dist/subscriptions/pending-tx.js.map +1 -1
  243. package/dist/subscriptions/service.d.ts +2 -2
  244. package/dist/subscriptions/service.d.ts.map +1 -1
  245. package/dist/subscriptions/service.js +4 -4
  246. package/dist/subscriptions/service.js.map +1 -1
  247. package/dist/telemetry/index.js.map +1 -1
  248. package/dist/telemetry/logger.js.map +1 -1
  249. package/dist/telemetry/tracer.d.ts +2 -2
  250. package/dist/telemetry/tracer.js +2 -2
  251. package/dist/telemetry/tracer.js.map +1 -1
  252. package/dist/testing-kit/_fixtures/addresses.js.map +1 -1
  253. package/dist/testing-kit/_fixtures/receipts.js.map +1 -1
  254. package/dist/testing-kit/helpers.js.map +1 -1
  255. package/dist/testing-kit/index.js.map +1 -1
  256. package/dist/testing-kit/mock-balance-service.js.map +1 -1
  257. package/dist/testing-kit/mock-block-service.js.map +1 -1
  258. package/dist/testing-kit/mock-cross-chain-reader.d.ts +3 -10
  259. package/dist/testing-kit/mock-cross-chain-reader.d.ts.map +1 -1
  260. package/dist/testing-kit/mock-cross-chain-reader.js.map +1 -1
  261. package/dist/testing-kit/mock-deploy-service.js.map +1 -1
  262. package/dist/testing-kit/mock-erc721-service.js.map +1 -1
  263. package/dist/testing-kit/mock-gas-service.js.map +1 -1
  264. package/dist/testing-kit/mock-nonce-service.js.map +1 -1
  265. package/dist/testing-kit/mock-public-client.js.map +1 -1
  266. package/dist/testing-kit/mock-signature-service.js.map +1 -1
  267. package/dist/testing-kit/mock-simulation-service.js.map +1 -1
  268. package/dist/testing-kit/mock-subscription-service.d.ts +2 -2
  269. package/dist/testing-kit/mock-subscription-service.d.ts.map +1 -1
  270. package/dist/testing-kit/mock-subscription-service.js +5 -5
  271. package/dist/testing-kit/mock-subscription-service.js.map +1 -1
  272. package/dist/testing-kit/mock-transfer-service.d.ts +3 -3
  273. package/dist/testing-kit/mock-transfer-service.d.ts.map +1 -1
  274. package/dist/testing-kit/mock-transfer-service.js.map +1 -1
  275. package/dist/testing-kit/mock-wallet-client.js.map +1 -1
  276. package/dist/testing-kit/mock-wallet-provider.js.map +1 -1
  277. package/dist/testing-kit/test-layer.js.map +1 -1
  278. package/dist/transfer/index.js.map +1 -1
  279. package/dist/transfer/service.d.ts +8 -11
  280. package/dist/transfer/service.d.ts.map +1 -1
  281. package/dist/transfer/service.js +32 -13
  282. package/dist/transfer/service.js.map +1 -1
  283. package/dist/tx/fees.d.ts.map +1 -1
  284. package/dist/tx/fees.js +3 -0
  285. package/dist/tx/fees.js.map +1 -1
  286. package/dist/tx/index.js.map +1 -1
  287. package/dist/tx/manager.d.ts +3 -2
  288. package/dist/tx/manager.d.ts.map +1 -1
  289. package/dist/tx/manager.js +232 -216
  290. package/dist/tx/manager.js.map +1 -1
  291. package/dist/tx/manager.test.integration.d.ts +2 -0
  292. package/dist/tx/manager.test.integration.d.ts.map +1 -0
  293. package/dist/tx/manager.test.integration.js +177 -0
  294. package/dist/tx/manager.test.integration.js.map +1 -0
  295. package/dist/tx/policy.d.ts +1 -1
  296. package/dist/tx/policy.d.ts.map +1 -1
  297. package/dist/tx/policy.js.map +1 -1
  298. package/dist/tx/replacement.d.ts +3 -3
  299. package/dist/tx/replacement.d.ts.map +1 -1
  300. package/dist/tx/replacement.js +3 -3
  301. package/dist/tx/replacement.js.map +1 -1
  302. package/dist/tx/tracker.d.ts +6 -6
  303. package/dist/tx/tracker.d.ts.map +1 -1
  304. package/dist/tx/tracker.js +9 -9
  305. package/dist/tx/tracker.js.map +1 -1
  306. package/dist/types/abi.js.map +1 -1
  307. package/dist/types/index.js.map +1 -1
  308. package/dist/types/params.d.ts +1 -1
  309. package/dist/types/params.d.ts.map +1 -1
  310. package/dist/types/params.js.map +1 -1
  311. package/dist/types/tx-overrides.d.ts +1 -1
  312. package/dist/types/tx-overrides.d.ts.map +1 -1
  313. package/dist/types/tx-overrides.js.map +1 -1
  314. package/dist/wagmi/index.js.map +1 -1
  315. package/dist/wagmi/layers.js.map +1 -1
  316. package/dist/wallet/errors.d.ts +3 -3
  317. package/dist/wallet/errors.d.ts.map +1 -1
  318. package/dist/wallet/errors.js +1 -1
  319. package/dist/wallet/errors.js.map +1 -1
  320. package/dist/wallet/index.js.map +1 -1
  321. package/dist/wallet/lifecycle.js.map +1 -1
  322. package/dist/wallet/operations.d.ts +2 -2
  323. package/dist/wallet/operations.d.ts.map +1 -1
  324. package/dist/wallet/operations.js +8 -15
  325. package/dist/wallet/operations.js.map +1 -1
  326. package/dist/wallet/provider-ref.js.map +1 -1
  327. package/dist/wallet/service.d.ts +2 -2
  328. package/dist/wallet/service.d.ts.map +1 -1
  329. package/dist/wallet/service.js.map +1 -1
  330. package/dist/wallet/types.js.map +1 -1
  331. package/package.json +25 -14
  332. package/dist/react-hooks/use-is-safe-multisig.d.ts +0 -2
  333. package/dist/react-hooks/use-is-safe-multisig.d.ts.map +0 -1
  334. package/dist/react-hooks/use-is-safe-multisig.js +0 -44
  335. package/dist/react-hooks/use-is-safe-multisig.js.map +0 -1
  336. package/dist/react-hooks/use-safe-context.d.ts +0 -2
  337. package/dist/react-hooks/use-safe-context.d.ts.map +0 -1
  338. package/dist/react-hooks/use-safe-context.js +0 -41
  339. package/dist/react-hooks/use-safe-context.js.map +0 -1
  340. package/dist/safe/adapter.d.ts +0 -9
  341. package/dist/safe/adapter.d.ts.map +0 -1
  342. package/dist/safe/adapter.js +0 -13
  343. package/dist/safe/adapter.js.map +0 -1
  344. package/dist/safe/detection.d.ts +0 -26
  345. package/dist/safe/detection.d.ts.map +0 -1
  346. package/dist/safe/detection.js +0 -102
  347. package/dist/safe/detection.js.map +0 -1
  348. package/dist/safe/errors.d.ts +0 -79
  349. package/dist/safe/errors.d.ts.map +0 -1
  350. package/dist/safe/errors.js +0 -34
  351. package/dist/safe/errors.js.map +0 -1
  352. package/dist/safe/index.d.ts +0 -8
  353. package/dist/safe/index.d.ts.map +0 -1
  354. package/dist/safe/index.js +0 -6
  355. package/dist/safe/index.js.map +0 -1
  356. package/dist/safe/live.d.ts +0 -8
  357. package/dist/safe/live.d.ts.map +0 -1
  358. package/dist/safe/live.js +0 -250
  359. package/dist/safe/live.js.map +0 -1
  360. package/dist/safe/service.d.ts +0 -26
  361. package/dist/safe/service.d.ts.map +0 -1
  362. package/dist/safe/service.js +0 -4
  363. package/dist/safe/service.js.map +0 -1
  364. package/dist/safe/simulation/abis.d.ts +0 -73
  365. package/dist/safe/simulation/abis.d.ts.map +0 -1
  366. package/dist/safe/simulation/abis.js +0 -61
  367. package/dist/safe/simulation/abis.js.map +0 -1
  368. package/dist/safe/simulation/addresses.d.ts +0 -4
  369. package/dist/safe/simulation/addresses.d.ts.map +0 -1
  370. package/dist/safe/simulation/addresses.js +0 -40
  371. package/dist/safe/simulation/addresses.js.map +0 -1
  372. package/dist/safe/simulation/encoding.d.ts +0 -16
  373. package/dist/safe/simulation/encoding.d.ts.map +0 -1
  374. package/dist/safe/simulation/encoding.js +0 -36
  375. package/dist/safe/simulation/encoding.js.map +0 -1
  376. package/dist/safe/simulation/errors.d.ts +0 -56
  377. package/dist/safe/simulation/errors.d.ts.map +0 -1
  378. package/dist/safe/simulation/errors.js +0 -37
  379. package/dist/safe/simulation/errors.js.map +0 -1
  380. package/dist/safe/simulation/index.d.ts +0 -7
  381. package/dist/safe/simulation/index.d.ts.map +0 -1
  382. package/dist/safe/simulation/index.js +0 -6
  383. package/dist/safe/simulation/index.js.map +0 -1
  384. package/dist/safe/simulation/service.d.ts +0 -14
  385. package/dist/safe/simulation/service.d.ts.map +0 -1
  386. package/dist/safe/simulation/service.js +0 -140
  387. package/dist/safe/simulation/service.js.map +0 -1
  388. package/dist/safe/simulation/types.d.ts +0 -20
  389. package/dist/safe/simulation/types.d.ts.map +0 -1
  390. package/dist/safe/simulation/types.js +0 -2
  391. package/dist/safe/simulation/types.js.map +0 -1
  392. package/dist/safe/types.d.ts +0 -61
  393. package/dist/safe/types.d.ts.map +0 -1
  394. package/dist/safe/types.js +0 -2
  395. package/dist/safe/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/contract/pipeline/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,KAAK,EACV,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE/F,MAAM,MAAM,qBAAqB,GAAG;IAKlC,QAAQ,CAAC,aAAa,EAAE,CACtB,IAAI,SAAS,GAAG,EAChB,aAAa,SAAS,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,EAE1E,MAAM,EAAE,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC,KAC7C,MAAM,CAAC,MAAM,CAChB;QACE,QAAQ,EAAE,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACnD,OAAO,EAAE;YACP,QAAQ,CAAC,OAAO,EAAE,CAChB,MAAM,CAAC,EAAE,QAAQ,KACd,MAAM,CAAC,MAAM,CAChB,IAAI,EACF,sBAAsB,GACtB,uBAAuB,GACvB,mBAAmB,GACnB,wBAAwB,GACxB,KAAK,CACR,CAAC;YACF,QAAQ,CAAC,MAAM,EAAE,CACf,MAAM,CAAC,EAAE,QAAQ,KACd,MAAM,CAAC,MAAM,CAChB,IAAI,EACF,sBAAsB,GACtB,uBAAuB,GACvB,mBAAmB,GACnB,wBAAwB,GACxB,KAAK,CACR,CAAC;SACH,CAAC;QACF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,CAAC;KACtE,EACD,KAAK,EACL,KAAK,CAAC,KAAK,CACZ,CAAC;IAMF,QAAQ,CAAC,YAAY,EAAE,CACrB,IAAI,SAAS,GAAG,EAChB,aAAa,SAAS,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,EAE1E,MAAM,EAAE,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC,KAC7C,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,CAAC;CACnE,CAAC;;AAEF,qBAAa,gBAAiB,SAAQ,qBAGnC;CAAG"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/contract/pipeline/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE/F,MAAM,MAAM,qBAAqB,GAAG;IAKlC,QAAQ,CAAC,aAAa,EAAE,CACtB,IAAI,SAAS,GAAG,EAChB,aAAa,SAAS,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,EAE1E,MAAM,EAAE,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC,KAC7C,MAAM,CAAC,MAAM,CAChB;QACE,QAAQ,EAAE,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACnD,OAAO,EAAE;YACP,QAAQ,CAAC,OAAO,EAAE,CAChB,MAAM,CAAC,EAAE,QAAQ,KACd,MAAM,CAAC,MAAM,CAChB,IAAI,EACF,aAAa,GACb,uBAAuB,GACvB,mBAAmB,GACnB,wBAAwB,GACxB,KAAK,CACR,CAAC;YACF,QAAQ,CAAC,MAAM,EAAE,CACf,MAAM,CAAC,EAAE,QAAQ,KACd,MAAM,CAAC,MAAM,CAChB,IAAI,EACF,aAAa,GACb,uBAAuB,GACvB,mBAAmB,GACnB,wBAAwB,GACxB,KAAK,CACR,CAAC;SACH,CAAC;QACF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,CAAC;KACtE,EACD,KAAK,EACL,KAAK,CAAC,KAAK,CACZ,CAAC;IAMF,QAAQ,CAAC,YAAY,EAAE,CACrB,IAAI,SAAS,GAAG,EAChB,aAAa,SAAS,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,EAE1E,MAAM,EAAE,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC,KAC7C,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,CAAC;CACnE,CAAC;;AAEF,qBAAa,gBAAiB,SAAQ,qBAGnC;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/contract/pipeline/service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAiEjC,MAAM,OAAO,gBAAiB,SAAQ,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAGtE;CAAG"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/contract/pipeline/service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAiEjC,MAAM,OAAO,gBAAiB,SAAQ,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAGtE;CAAG","sourcesContent":["import type { Effect, Scope, SubscriptionRef } from \"effect\";\nimport { Context } from \"effect\";\nimport type { Abi, Hash } from \"viem\";\nimport type {\n ClientNotFoundError,\n TxFailedError,\n WalletNotConnectedError,\n} from \"@/src/core/index.js\";\nimport type { GasPriceUnavailableError } from \"@/src/gas/index.js\";\nimport type { TxPolicy, TxState } from \"@/src/tx/index.js\";\nimport type { ContractFunctionName } from \"@/src/types/index.js\";\nimport type { WriteAndTrackError, WriteAndTrackParams, WriteAndTrackResult } from \"./types.js\";\n\nexport type ContractPipelineShape = {\n /**\n * Full write pipeline: simulate -> estimate -> write -> track -> decode events\n * Returns reactive state ref for UI updates\n */\n readonly writeAndTrack: <\n TAbi extends Abi,\n TFunctionName extends ContractFunctionName<TAbi, \"nonpayable\" | \"payable\">,\n >(\n params: WriteAndTrackParams<TAbi, TFunctionName>\n ) => Effect.Effect<\n {\n stateRef: SubscriptionRef.SubscriptionRef<TxState>;\n actions: {\n readonly speedup: (\n policy?: TxPolicy\n ) => Effect.Effect<\n Hash,\n | TxFailedError\n | WalletNotConnectedError\n | ClientNotFoundError\n | GasPriceUnavailableError\n | Error\n >;\n readonly cancel: (\n policy?: TxPolicy\n ) => Effect.Effect<\n Hash,\n | TxFailedError\n | WalletNotConnectedError\n | ClientNotFoundError\n | GasPriceUnavailableError\n | Error\n >;\n };\n result: Effect.Effect<WriteAndTrackResult<TAbi>, WriteAndTrackError>;\n },\n never,\n Scope.Scope\n >;\n\n /**\n * Simplified version that just waits for receipt\n * No reactive state, just returns final result\n */\n readonly writeAndWait: <\n TAbi extends Abi,\n TFunctionName extends ContractFunctionName<TAbi, \"nonpayable\" | \"payable\">,\n >(\n params: WriteAndTrackParams<TAbi, TFunctionName>\n ) => Effect.Effect<WriteAndTrackResult<TAbi>, WriteAndTrackError>;\n};\n\nexport class ContractPipeline extends Context.Tag(\"ew3/ContractPipeline\")<\n ContractPipeline,\n ContractPipelineShape\n>() {}\n"]}
@@ -1,6 +1,6 @@
1
1
  import type { Effect } from "effect";
2
2
  import type { Abi, Address, Hash, Hex, TransactionReceipt } from "viem";
3
- import type { ClientNotFoundError, ContractReadError, ContractWriteError, EventDecodeError, GasEstimationError, InsufficientFundsError, ReceiptTimeoutError, SimulationFailedError, TransactionFailedError, TransactionReplacedError, TransportError, UserRejectedError, WalletNotConnectedError, WrongNetworkError } from "../../core/index.js";
3
+ import type { ClientNotFoundError, ContractReadError, ContractWriteError, EventDecodeError, GasEstimationError, InsufficientFundsError, ReceiptTimeoutError, SimulationFailedError, TransportError, TxFailedError, TxReplacedError, UserRejectedError, WalletNotConnectedError, WrongNetworkError } from "../../core/index.js";
4
4
  import type { DecodedEvent } from "../../events/index.js";
5
5
  import type { GasPriceUnavailableError } from "../../gas/index.js";
6
6
  import type { TxPolicy, TxState } from "../../tx/index.js";
@@ -13,7 +13,7 @@ export type WriteAndTrackResult<TAbi extends Abi> = {
13
13
  receipt: TransactionReceipt;
14
14
  events: DecodedEvent<TAbi, ContractEventName<TAbi>>[];
15
15
  };
16
- export type WriteAndTrackError = SimulationFailedError | ContractReadError | GasEstimationError | ContractWriteError | InsufficientFundsError | UserRejectedError | GasPriceUnavailableError | TransactionFailedError | TransactionReplacedError | ReceiptTimeoutError | ClientNotFoundError | TransportError | WalletNotConnectedError | WrongNetworkError | EventDecodeError;
16
+ export type WriteAndTrackError = SimulationFailedError | ContractReadError | GasEstimationError | ContractWriteError | InsufficientFundsError | UserRejectedError | GasPriceUnavailableError | TxFailedError | TxReplacedError | ReceiptTimeoutError | ClientNotFoundError | TransportError | WalletNotConnectedError | WrongNetworkError | EventDecodeError;
17
17
  export type PipelineHooks = {
18
18
  readonly onSimulating?: () => Effect.Effect<void>;
19
19
  readonly onEstimated?: (gas: bigint, nonce: number | bigint) => Effect.Effect<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/contract/pipeline/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/contract/pipeline/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/contract/pipeline/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/contract/pipeline/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Effect } from \"effect\";\nimport type { Abi, Address, Hash, Hex, TransactionReceipt } from \"viem\";\nimport type {\n ClientNotFoundError,\n ContractReadError,\n ContractWriteError,\n EventDecodeError,\n GasEstimationError,\n InsufficientFundsError,\n ReceiptTimeoutError,\n SimulationFailedError,\n TransportError,\n TxFailedError,\n TxReplacedError,\n UserRejectedError,\n WalletNotConnectedError,\n WrongNetworkError,\n} from \"@/src/core/index.js\";\nimport type { DecodedEvent } from \"@/src/events/index.js\";\nimport type { GasPriceUnavailableError } from \"@/src/gas/index.js\";\nimport type { TxPolicy, TxState } from \"@/src/tx/index.js\";\nimport type { ContractEventName, ContractFunctionName, WriteParams } from \"@/src/types/index.js\";\n\nexport type WriteAndTrackParams<\n TAbi extends Abi,\n TFunctionName extends ContractFunctionName<TAbi, \"nonpayable\" | \"payable\">,\n> = WriteParams<TAbi, TFunctionName> & {\n policy?: TxPolicy;\n};\n\nexport type WriteAndTrackResult<TAbi extends Abi> = {\n hash: Hash;\n receipt: TransactionReceipt;\n events: DecodedEvent<TAbi, ContractEventName<TAbi>>[];\n};\n\nexport type WriteAndTrackError =\n | SimulationFailedError\n | ContractReadError\n | GasEstimationError\n | ContractWriteError\n | InsufficientFundsError\n | UserRejectedError\n | GasPriceUnavailableError\n | TxFailedError\n | TxReplacedError\n | ReceiptTimeoutError\n | ClientNotFoundError\n | TransportError\n | WalletNotConnectedError\n | WrongNetworkError\n | EventDecodeError;\n\n/**\n * Hooks for core pipeline stages.\n * All hooks are optional and default to no-ops.\n */\nexport type PipelineHooks = {\n /** Called when simulation begins */\n readonly onSimulating?: () => Effect.Effect<void>;\n /** Called after gas estimation with the estimated values */\n readonly onEstimated?: (gas: bigint, nonce: number | bigint) => Effect.Effect<void>;\n /** Called when transaction signing begins */\n readonly onSigning?: () => Effect.Effect<void>;\n /** Called after transaction is submitted with the hash */\n readonly onSubmitted?: (hash: Hash) => Effect.Effect<void>;\n /** Called when a replacement transaction is detected */\n readonly onReplaced?: (oldHash: Hash, newHash: Hash, reason: string) => Effect.Effect<void>;\n /** Called when transaction is mined */\n readonly onMined?: (receipt: TransactionReceipt) => Effect.Effect<void>;\n};\n\n/**\n * Internal type for nonce reservation result\n */\nexport type NonceReservation = {\n readonly nonce: number | bigint;\n readonly reserved: boolean;\n readonly markSubmitted: () => Effect.Effect<void>;\n};\n\n/**\n * Internal type for prepared transaction overrides\n */\nexport type PreparedOverrides = {\n readonly type?: \"legacy\" | \"eip1559\" | \"eip2930\" | \"eip4844\" | \"eip7702\";\n readonly gas: bigint;\n readonly nonce: number | bigint;\n readonly gasPrice?: bigint;\n readonly maxFeePerGas?: bigint;\n readonly maxPriorityFeePerGas?: bigint;\n readonly accessList?: readonly {\n address: Address;\n storageKeys: readonly Hex[];\n }[];\n};\n\n/**\n * Result from the prepare phase\n */\nexport type PrepareResult = {\n readonly baseOverrides: PreparedOverrides;\n readonly finalGas: bigint;\n readonly txPreview: TxState[\"tx\"];\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"write-and-track.d.ts","sourceRoot":"","sources":["../../../src/contract/pipeline/write-and-track.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAsB,MAAM,QAAQ,CAAC;AACrE,OAAO,KAAK,EAAE,GAAG,EAAsB,MAAM,MAAM,CAAC;AAEpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE/F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAK/F,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC;IAC3C,QAAQ,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;IACvD,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;CACtC,CAAC;AAKF,eAAO,MAAM,iBAAiB,GAAI,MAAM,iBAAiB,MAErD,IAAI,SAAS,GAAG,EAChB,aAAa;;kCA+SiB,QAAQ;mCAoCP,QAAQ;;;;uCAuCvC,CAAC"}
1
+ {"version":3,"file":"write-and-track.d.ts","sourceRoot":"","sources":["../../../src/contract/pipeline/write-and-track.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAsB,MAAM,QAAQ,CAAC;AACrE,OAAO,KAAK,EAAE,GAAG,EAAsB,MAAM,MAAM,CAAC;AAEpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE/F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAK/F,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC;IAC3C,QAAQ,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;IACvD,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;CACtC,CAAC;AAKF,eAAO,MAAM,iBAAiB,GAAI,MAAM,iBAAiB,MAErD,IAAI,SAAS,GAAG,EAChB,aAAa;;kCA8SiB,QAAQ;mCAoCP,QAAQ;;;;uCAuCvC,CAAC"}
@@ -68,7 +68,6 @@ export const makeWriteAndTrack = (deps) => Effect.fn("ContractPipeline.writeAndT
68
68
  yield* tracker.update((prev) => ({ hash, status: "submitted", tx: prev.tx }));
69
69
  const publicClient = yield* publicClientService.get(params.chainId);
70
70
  const replacementStrategy = policy.replacement?.strategy ?? policy.replacementStrategy ?? "none";
71
- const stuckBlocks = policy.replacement?.stuckBlocks ?? 3;
72
71
  const stuckMs = policy.replacement?.stuckMs ?? DEFAULT_STUCK_TX_MS;
73
72
  const maxAttempts = policy.replacement?.maxAttempts ?? 1;
74
73
  const updatePendingState = (currentHash) => Effect.gen(function* () {
@@ -112,7 +111,7 @@ export const makeWriteAndTrack = (deps) => Effect.fn("ContractPipeline.writeAndT
112
111
  })),
113
112
  ]).pipe(Effect.asVoid);
114
113
  }))));
115
- const autoReplaceIfStuck = (currentHash, blocksElapsed) => {
114
+ const autoReplaceIfStuck = (currentHash) => {
116
115
  if (replacementStrategy === "none") {
117
116
  return Effect.void;
118
117
  }
@@ -123,7 +122,7 @@ export const makeWriteAndTrack = (deps) => Effect.fn("ContractPipeline.writeAndT
123
122
  startedAt: Ref.get(startedAtMsRef),
124
123
  }).pipe(Effect.flatMap(({ alreadyReplacing, attempts, now, startedAt }) => {
125
124
  const elapsed = startedAt > 0 ? now - startedAt : 0;
126
- const stuck = blocksElapsed >= stuckBlocks || elapsed >= stuckMs;
125
+ const stuck = elapsed >= stuckMs;
127
126
  const allowed = attempts < maxAttempts && !alreadyReplacing;
128
127
  return stuck && allowed ? performAutoReplacement(currentHash, now) : Effect.void;
129
128
  }));
@@ -133,8 +132,8 @@ export const makeWriteAndTrack = (deps) => Effect.fn("ContractPipeline.writeAndT
133
132
  if (!currentHash) {
134
133
  return;
135
134
  }
136
- const blocksElapsed = yield* updatePendingState(currentHash);
137
- yield* autoReplaceIfStuck(currentHash, blocksElapsed);
135
+ yield* updatePendingState(currentHash);
136
+ yield* autoReplaceIfStuck(currentHash);
138
137
  });
139
138
  const pendingFiber = yield* Stream.runForEach(Stream.async((emit) => {
140
139
  const unwatch = publicClient.watchBlockNumber({
@@ -156,7 +155,7 @@ export const makeWriteAndTrack = (deps) => Effect.fn("ContractPipeline.writeAndT
156
155
  return exit.right;
157
156
  }
158
157
  const error = exit.left;
159
- if (error._tag === "TransactionReplacedError") {
158
+ if (error._tag === "TxReplacedError") {
160
159
  const newHash = error.newHash;
161
160
  const now = yield* Clock.currentTimeMillis;
162
161
  yield* Ref.set(currentHashRef, newHash);
@@ -1 +1 @@
1
- {"version":3,"file":"write-and-track.js","sourceRoot":"","sources":["../../../src/contract/pipeline/write-and-track.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write-and-track.js","sourceRoot":"","sources":["../../../src/contract/pipeline/write-and-track.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAO/D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAmB5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAuB,EAAE,EAAE,CAC3D,MAAM,CAAC,EAAE,CAAC,gCAAgC,CAAC,CAAC,QAAQ,CAAC,EAGnD,MAAgD;IAChD,MAAM,EACJ,MAAM,EACN,SAAS,EACT,WAAW,EACX,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,UAAU,GACX,GAAG,IAAI,CAAC;IAET,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,aAAa,CAAC;IAC9C,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAc,IAAI,CAAC,CAAC;IAC1D,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEhD,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAiD,CAAC;IAE7F,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAE9B,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,UAAU,EAAE;YAC3D,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM;YACN,aAAa,EAAE,MAAM,CAAC,SAAS;SAChC,CAAC,CAAC;QAKH,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;YAC7C,GAAG,MAAM;YACT,SAAS,EAAE,aAAa;SACzB,CAAC,CAAC;QAGH,MAAM,UAAU,GAAG,uBAAuB,CAAC,YAAY,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAEpF,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC;QACxD,MAAM,QAAQ,GAAG,WAAW,IAAI,UAAU,CAAC;QAG3C,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QAC7C,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,EAAE,GAAG,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACtF,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC;QAG9C,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,oBAAoB,CAAC,YAAY,EAAE;YACjE,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,aAAa;SACd,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC;QAErC,MAAM,wBAAwB,GAAG;YAC/B,GAAG,aAAa;YAChB,GAAG,EAAE,QAAQ;YACb,KAAK;SACN,CAAC;QAEF,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;YACjB,GAAG,EAAE,QAAQ;YACb,MAAM,EAAE,WAAW;YACnB,EAAE,EAAE;gBACF,UAAU,EAAE,wBAAwB,CAAC,UAAU;gBAC/C,GAAG,EAAE,QAAQ;gBACb,QAAQ,EAAE,wBAAwB,CAAC,QAAQ;gBAC3C,YAAY,EAAE,wBAAwB,CAAC,YAAY;gBACnD,oBAAoB,EAAE,wBAAwB,CAAC,oBAAoB;gBACnE,KAAK;gBACL,IAAI,EAAE,wBAAwB,CAAC,IAAI;aACpC;SACF,CAAC,CAAC;QAGH,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAY,CAAC,CAAC;QAGjF,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC/B,GAAG,MAAM;YACT,SAAS,EAAE,wBAAwB;SACpC,CAAC,CAAC;QACH,KAAK,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC;QACtC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACrC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QACpC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QACnC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QACxC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC/D,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAY,CAAC,CAAC;QAGzF,MAAM,YAAY,GAAiB,KAAK,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClF,MAAM,mBAAmB,GACvB,MAAM,CAAC,WAAW,EAAE,QAAQ,IAAI,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC;QACvE,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,OAAO,IAAI,mBAAmB,CAAC;QACnE,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,WAAW,IAAI,CAAC,CAAC;QAEzD,MAAM,kBAAkB,GAAG,CAAC,WAAiB,EAAE,EAAE,CAC/C,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAU,CAAC,CAAC;YAE1F,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7B,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACxD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO;oBACL,aAAa,EAAE,aAAa;oBAC5B,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,SAAS;oBACjB,EAAE,EAAE,IAAI,CAAC,EAAE;iBACD,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,OAAO,aAAa,CAAC;QACvB,CAAC,CAAC,CAAC;QAEL,MAAM,sBAAsB,GAAG,CAAC,WAAiB,EAAE,GAAW,EAAE,EAAE,CAChE,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,IAAI,CAClC,MAAM,CAAC,QAAQ,CACb,CAAC,mBAAmB,KAAK,QAAQ;YAC/B,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC;YAC3D,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,CAC7D,CAAC,IAAI,CACJ,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,EACjD,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC1B,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC7B,OAAO,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC;YAED,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC/B,OAAO,MAAM,CAAC,GAAG,CAAC;gBAChB,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC;gBAChC,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBAC5B,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC;gBAC5B,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;gBACzC,OAAO,CAAC,MAAM,CACZ,CAAC,IAAI,EAAE,EAAE,CACP,CAAC;oBACC,OAAO;oBACP,OAAO,EAAE,WAAW;oBACpB,MAAM,EAAE,mBAAmB,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU;oBACnE,MAAM,EAAE,UAAU;oBAClB,EAAE,EAAE,IAAI,CAAC,EAAE;iBACZ,CAAY,CAChB;gBACD,OAAO,CAAC,MAAM,CACZ,CAAC,IAAI,EAAE,EAAE,CACP,CAAC;oBACC,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,WAAW;oBACnB,EAAE,EAAE,IAAI,CAAC,EAAE;iBACZ,CAAY,CAChB;aACF,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC,CAAC,CACH,CACF,CACF,CAAC;QAEJ,MAAM,kBAAkB,GAAG,CAAC,WAAiB,EAAE,EAAE;YAC/C,IAAI,mBAAmB,KAAK,MAAM,EAAE,CAAC;gBACnC,OAAO,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC;YAED,OAAO,MAAM,CAAC,GAAG,CAAC;gBAChB,gBAAgB,EAAE,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC;gBAC3C,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC;gBAClC,GAAG,EAAE,KAAK,CAAC,iBAAiB;gBAC5B,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;aACnC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE;gBAChE,MAAM,OAAO,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,KAAK,GAAG,OAAO,IAAI,OAAO,CAAC;gBACjC,MAAM,OAAO,GAAG,QAAQ,GAAG,WAAW,IAAI,CAAC,gBAAgB,CAAC;gBAC5D,OAAO,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YACnF,CAAC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACnD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO;YACT,CAAC;YAED,KAAK,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACvC,KAAK,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAC3C,MAAM,CAAC,KAAK,CAAkB,CAAC,IAAI,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,YAAY,CAAC,gBAAgB,CAAC;gBAC5C,aAAa,EAAE,CAAC,WAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;gBAChE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAgB,CAAC;gBAC/C,eAAe,EAAE,MAAM,CAAC,eAAe;aACxC,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,EACF,GAAG,EAAE,CAAC,cAAc,CACrB,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAG1B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzC,IAAI,QAAQ,GAAG,IAAI,CAAC;YAEpB,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,SAAS;qBAC1B,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;qBAChD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAEvB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC1B,OAAO,IAAI,CAAC,KAAK,CAAC;gBACpB,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;gBACxB,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBACrC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAe,CAAC;oBACtC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;oBAE3C,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;oBACxC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;oBACpC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;oBACpC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CACnB,CAAC,IAAI,EAAE,EAAE,CACP,CAAC;wBACC,OAAO;wBACP,OAAO,EAAE,KAAK,CAAC,OAAe;wBAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,MAAM,EAAE,UAAU;wBAClB,EAAE,EAAE,IAAI,CAAC,EAAE;qBACZ,CAAY,CAChB,CAAC;oBACF,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CACnB,CAAC,IAAI,EAAE,EAAE,CACP,CAAC;wBACC,IAAI,EAAE,OAAO;wBACb,MAAM,EAAE,WAAW;wBACnB,EAAE,EAAE,IAAI,CAAC,EAAE;qBACZ,CAAY,CAChB,CAAC;oBAEF,QAAQ,GAAG,OAAO,CAAC;oBACnB,SAAS;gBACX,CAAC;gBAED,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAGxD,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CACnB,CAAC,IAAI,EAAE,EAAE,CACP,CAAC;YACC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,IAAI,EAAE,OAAO,CAAC,eAAuB;YACrC,OAAO;YACP,MAAM,EAAE,OAAO;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;SACZ,CAAY,CAChB,CAAC;QAEF,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC9B,KAAK,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC;gBAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC;aAC7C,CAAC,CAAC;QACL,CAAC;QAGD,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,aAAa,CAC9C,OAAO,EACP,MAAM,CAAC,GAAG,CACX,CAAwC,CAAC;QAE1C,OAAO;YACL,MAAM;YACN,IAAI,EAAE,OAAO,CAAC,eAAuB;YACrC,OAAO;SACqB,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CACb,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CACxB,MAAM,CAAC,IAAI,KAAK,OAAO;QACrB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC;QAChD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,CAC/C,EACD,MAAM,CAAC,UAAU,CAClB,CAAC;IAEF,OAAO;QACL,OAAO,EAAE;YACP,MAAM,EAAE,CAAC,cAAyB,EAAE,EAAE,CACpC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAClB,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACnD,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;gBACxE,CAAC;gBAED,MAAM,UAAU,GAAG,cAAc,IAAI,MAAM,CAAC;gBAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;gBACrF,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;gBAE3C,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBACxC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;gBACpC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;gBACpC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CACnB,CAAC,IAAI,EAAE,EAAE,CACP,CAAC;oBACC,OAAO;oBACP,OAAO,EAAE,WAAW;oBACpB,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,UAAU;oBAClB,EAAE,EAAE,IAAI,CAAC,EAAE;iBACZ,CAAY,CAChB,CAAC;gBACF,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CACnB,CAAC,IAAI,EAAE,EAAE,CACP,CAAC;oBACC,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,WAAW;oBACnB,EAAE,EAAE,IAAI,CAAC,EAAE;iBACZ,CAAY,CAChB,CAAC;gBAEF,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC;YAEJ,OAAO,EAAE,CAAC,cAAyB,EAAE,EAAE,CACrC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAClB,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACnD,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;gBACxE,CAAC;gBAED,MAAM,UAAU,GAAG,cAAc,IAAI,MAAM,CAAC;gBAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;gBACtF,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;gBAE3C,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBACxC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;gBACpC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;gBACpC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CACnB,CAAC,IAAI,EAAE,EAAE,CACP,CAAC;oBACC,OAAO;oBACP,OAAO,EAAE,WAAW;oBACpB,MAAM,EAAE,UAAU;oBAClB,MAAM,EAAE,UAAU;oBAClB,EAAE,EAAE,IAAI,CAAC,EAAE;iBACZ,CAAY,CAChB,CAAC;gBACF,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CACnB,CAAC,IAAI,EAAE,EAAE,CACP,CAAC;oBACC,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,WAAW;oBACnB,EAAE,EAAE,IAAI,CAAC,EAAE;iBACZ,CAAY,CAChB,CAAC;gBAEF,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC;SACL;QACD,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC;QACtC,QAAQ,EAAE,OAAO,CAAC,GAAG;KACtB,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import { Clock, Deferred, Effect, Fiber, Ref, Stream } from \"effect\";\nimport type { Abi, Hash, PublicClient } from \"viem\";\nimport { DEFAULT_STUCK_TX_MS } from \"@/src/constants/index.js\";\nimport type { ContractWriterShape } from \"@/src/contract/index.js\";\nimport type { PublicClientServiceShape } from \"@/src/core/index.js\";\nimport type { EventStreamShape } from \"@/src/events/index.js\";\nimport type { GasServiceShape } from \"@/src/gas/index.js\";\nimport type { NonceServiceShape } from \"@/src/nonce/index.js\";\nimport type { TxManagerShape, TxPolicy, TxReplacementShape, TxState } from \"@/src/tx/index.js\";\nimport { defaultPolicy, makeTxTracker } from \"@/src/tx/index.js\";\nimport type { ContractFunctionName } from \"@/src/types/index.js\";\nimport { applyGasLimitMultiplier, nonceToBigInt } from \"./internal/helpers.js\";\nimport { withNonceReservation } from \"./internal/nonce.js\";\nimport { deriveBaseOverrides } from \"./internal/prepare.js\";\nimport type { WriteAndTrackError, WriteAndTrackParams, WriteAndTrackResult } from \"./types.js\";\n\n/**\n * Dependencies required by writeAndTrack\n */\nexport type WriteAndTrackDeps = {\n readonly writer: ContractWriterShape;\n readonly txManager: TxManagerShape;\n readonly eventStream: EventStreamShape;\n readonly nonceService: NonceServiceShape;\n readonly txReplacement: TxReplacementShape;\n readonly publicClientService: PublicClientServiceShape;\n readonly gasService: GasServiceShape;\n};\n\n/**\n * Create the writeAndTrack implementation with full tracking orchestration\n */\nexport const makeWriteAndTrack = (deps: WriteAndTrackDeps) =>\n Effect.fn(\"ContractPipeline.writeAndTrack\")(function* <\n TAbi extends Abi,\n TFunctionName extends ContractFunctionName<TAbi, \"nonpayable\" | \"payable\">,\n >(params: WriteAndTrackParams<TAbi, TFunctionName>) {\n const {\n writer,\n txManager,\n eventStream,\n nonceService,\n txReplacement,\n publicClientService,\n gasService,\n } = deps;\n\n const tracker = yield* makeTxTracker;\n const policy = params.policy ?? defaultPolicy;\n const currentHashRef = yield* Ref.make<Hash | null>(null);\n const blocksElapsedRef = yield* Ref.make(0);\n const startedAtMsRef = yield* Ref.make(0);\n const autoAttemptsRef = yield* Ref.make(0);\n const autoReplacingRef = yield* Ref.make(false);\n\n const resultDeferred = yield* Deferred.make<WriteAndTrackResult<TAbi>, WriteAndTrackError>();\n\n const run = Effect.gen(function* () {\n // Step 1: Derive base overrides\n const baseOverrides = yield* deriveBaseOverrides(gasService, {\n chainId: params.chainId,\n policy,\n userOverrides: params.overrides,\n });\n\n // Step 2: Estimate gas first to provide a reasonable limit for simulation.\n // Some RPC nodes default to max uint64 when no gas limit is provided,\n // causing \"insufficient funds\" errors during the balance check.\n const estimatedGas = yield* writer.estimateGas({\n ...params,\n overrides: baseOverrides,\n });\n // Apply multiplier to add safety margin; this buffered value is used for\n // both simulation (balance check) and the final transaction.\n const derivedGas = applyGasLimitMultiplier(estimatedGas, policy.gasLimitMultiplier);\n\n const explicitGas = params.overrides?.gas ?? params.gas;\n const finalGas = explicitGas ?? derivedGas;\n\n // Step 3: Simulate with the gas limit to ensure proper balance checks\n yield* tracker.set({ status: \"simulating\" });\n yield* writer.simulate({ ...params, overrides: { ...baseOverrides, gas: finalGas } });\n const explicitNonce = params.overrides?.nonce;\n\n // Step 4: Reserve nonce\n const nonceReservation = yield* withNonceReservation(nonceService, {\n account: params.account,\n chainId: params.chainId,\n explicitNonce,\n });\n\n const nonce = nonceReservation.nonce;\n\n const overridesWithGasAndNonce = {\n ...baseOverrides,\n gas: finalGas,\n nonce,\n };\n\n yield* tracker.set({\n gas: finalGas,\n status: \"estimated\",\n tx: {\n accessList: overridesWithGasAndNonce.accessList,\n gas: finalGas,\n gasPrice: overridesWithGasAndNonce.gasPrice,\n maxFeePerGas: overridesWithGasAndNonce.maxFeePerGas,\n maxPriorityFeePerGas: overridesWithGasAndNonce.maxPriorityFeePerGas,\n nonce,\n type: overridesWithGasAndNonce.type,\n },\n });\n\n // Step 5: Signing\n yield* tracker.update((prev) => ({ status: \"signing\", tx: prev.tx }) as TxState);\n\n // Step 6: Write transaction\n const hash = yield* writer.write({\n ...params,\n overrides: overridesWithGasAndNonce,\n });\n yield* nonceReservation.markSubmitted;\n yield* Ref.set(currentHashRef, hash);\n yield* Ref.set(blocksElapsedRef, 0);\n yield* Ref.set(autoAttemptsRef, 0);\n yield* Ref.set(autoReplacingRef, false);\n yield* Ref.set(startedAtMsRef, yield* Clock.currentTimeMillis);\n yield* tracker.update((prev) => ({ hash, status: \"submitted\", tx: prev.tx }) as TxState);\n\n // Set up block watcher for pending state updates\n const publicClient: PublicClient = yield* publicClientService.get(params.chainId);\n const replacementStrategy =\n policy.replacement?.strategy ?? policy.replacementStrategy ?? \"none\";\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 blocksElapsed = yield* Ref.modify(blocksElapsedRef, (n) => [n + 1, n + 1] as const);\n\n yield* tracker.update((prev) => {\n if (prev.status === \"mined\" || prev.status === \"failed\") {\n return prev;\n }\n return {\n confirmations: blocksElapsed,\n hash: currentHash,\n status: \"pending\",\n tx: prev.tx,\n } as TxState;\n });\n\n return blocksElapsed;\n });\n\n const performAutoReplacement = (currentHash: Hash, now: number) =>\n Ref.set(autoReplacingRef, true).pipe(\n Effect.zipRight(\n (replacementStrategy === \"cancel\"\n ? txReplacement.cancel(params.chainId, currentHash, policy)\n : txReplacement.speedup(params.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(blocksElapsedRef, 0),\n Ref.set(startedAtMsRef, now),\n Ref.update(autoAttemptsRef, (n) => n + 1),\n tracker.update(\n (prev) =>\n ({\n newHash,\n oldHash: currentHash,\n reason: replacementStrategy === \"cancel\" ? \"cancelled\" : \"repriced\",\n status: \"replaced\",\n tx: prev.tx,\n }) as TxState\n ),\n tracker.update(\n (prev) =>\n ({\n hash: newHash,\n status: \"submitted\",\n tx: prev.tx,\n }) as TxState\n ),\n ]).pipe(Effect.asVoid);\n })\n )\n )\n );\n\n const autoReplaceIfStuck = (currentHash: Hash) => {\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 = 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 if (!currentHash) {\n return;\n }\n\n yield* updatePendingState(currentHash);\n yield* autoReplaceIfStuck(currentHash);\n });\n\n const pendingFiber = yield* Stream.runForEach(\n Stream.async<bigint, unknown>((emit) => {\n const unwatch = publicClient.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 // Step 7: Wait for receipt (follow replacements)\n const receipt = yield* Effect.gen(function* () {\n let waitHash = hash;\n\n while (true) {\n const exit = yield* txManager\n .waitForReceipt(params.chainId, waitHash, policy)\n .pipe(Effect.either);\n\n if (exit._tag === \"Right\") {\n return exit.right;\n }\n\n const error = exit.left;\n if (error._tag === \"TxReplacedError\") {\n const newHash = error.newHash as Hash;\n const now = yield* Clock.currentTimeMillis;\n\n yield* Ref.set(currentHashRef, newHash);\n yield* Ref.set(blocksElapsedRef, 0);\n yield* Ref.set(startedAtMsRef, now);\n yield* tracker.update(\n (prev) =>\n ({\n newHash,\n oldHash: error.oldHash as Hash,\n reason: error.reason,\n status: \"replaced\",\n tx: prev.tx,\n }) as TxState\n );\n yield* tracker.update(\n (prev) =>\n ({\n hash: newHash,\n status: \"submitted\",\n tx: prev.tx,\n }) as TxState\n );\n\n waitHash = newHash;\n continue;\n }\n\n return yield* Effect.fail(error);\n }\n }).pipe(Effect.ensuring(Fiber.interrupt(pendingFiber)));\n\n // Step 8: Update to mined state\n yield* tracker.update(\n (prev) =>\n ({\n effectiveGasPrice: receipt.effectiveGasPrice,\n hash: receipt.transactionHash as Hash,\n receipt,\n status: \"mined\",\n tx: prev.tx,\n }) as TxState\n );\n\n if (nonceReservation.reserved) {\n yield* nonceService.confirm({\n address: params.account,\n chainId: params.chainId,\n nonce: nonceToBigInt(nonceReservation.nonce),\n });\n }\n\n // Step 9: Decode events\n const events = (yield* eventStream.decodeReceipt(\n receipt,\n params.abi\n )) as WriteAndTrackResult<TAbi>[\"events\"];\n\n return {\n events,\n hash: receipt.transactionHash as Hash,\n receipt,\n } as WriteAndTrackResult<TAbi>;\n });\n\n yield* run.pipe(\n Effect.either,\n Effect.flatMap((either) =>\n either._tag === \"Right\"\n ? Deferred.succeed(resultDeferred, either.right)\n : Deferred.fail(resultDeferred, either.left)\n ),\n Effect.forkScoped\n );\n\n return {\n actions: {\n cancel: (overridePolicy?: TxPolicy) =>\n Effect.gen(function* () {\n const currentHash = yield* Ref.get(currentHashRef);\n if (!currentHash) {\n return yield* Effect.fail(new Error(\"Transaction not yet submitted\"));\n }\n\n const nextPolicy = overridePolicy ?? policy;\n const newHash = yield* txReplacement.cancel(params.chainId, currentHash, nextPolicy);\n const now = yield* Clock.currentTimeMillis;\n\n yield* Ref.set(currentHashRef, newHash);\n yield* Ref.set(blocksElapsedRef, 0);\n yield* Ref.set(startedAtMsRef, now);\n yield* tracker.update(\n (prev) =>\n ({\n newHash,\n oldHash: currentHash,\n reason: \"cancelled\",\n status: \"replaced\",\n tx: prev.tx,\n }) as TxState\n );\n yield* tracker.update(\n (prev) =>\n ({\n hash: newHash,\n status: \"submitted\",\n tx: prev.tx,\n }) as TxState\n );\n\n return newHash;\n }),\n\n speedup: (overridePolicy?: TxPolicy) =>\n Effect.gen(function* () {\n const currentHash = yield* Ref.get(currentHashRef);\n if (!currentHash) {\n return yield* Effect.fail(new Error(\"Transaction not yet submitted\"));\n }\n\n const nextPolicy = overridePolicy ?? policy;\n const newHash = yield* txReplacement.speedup(params.chainId, currentHash, nextPolicy);\n const now = yield* Clock.currentTimeMillis;\n\n yield* Ref.set(currentHashRef, newHash);\n yield* Ref.set(blocksElapsedRef, 0);\n yield* Ref.set(startedAtMsRef, now);\n yield* tracker.update(\n (prev) =>\n ({\n newHash,\n oldHash: currentHash,\n reason: \"repriced\",\n status: \"replaced\",\n tx: prev.tx,\n }) as TxState\n );\n yield* tracker.update(\n (prev) =>\n ({\n hash: newHash,\n status: \"submitted\",\n tx: prev.tx,\n }) as TxState\n );\n\n return newHash;\n }),\n },\n result: Deferred.await(resultDeferred),\n stateRef: tracker.ref,\n };\n });\n"]}
@@ -3,5 +3,5 @@ import type { Abi } from "viem";
3
3
  import type { ContractFunctionName } from "../../types/index.js";
4
4
  import type { CorePipelineDeps } from "./internal/core.js";
5
5
  import type { WriteAndTrackParams } from "./types.js";
6
- export declare const makeWriteAndWait: (deps: CorePipelineDeps) => <TAbi extends Abi, TFunctionName extends ContractFunctionName<TAbi, "nonpayable" | "payable">>(params: WriteAndTrackParams<TAbi, TFunctionName>) => Effect.Effect<import("./types.js").WriteAndTrackResult<TAbi>, import("../../index.js").ClientNotFoundError | import("../../index.js").WalletNotConnectedError | import("../../index.js").WrongNetworkError | import("../../index.js").TransportError | import("../../index.js").ContractReadError | import("../../index.js").SimulationFailedError | import("../../index.js").GasEstimationError | import("../../index.js").ContractWriteError | import("../../index.js").EventDecodeError | import("../../index.js").UserRejectedError | import("../../index.js").TransactionFailedError | import("../../index.js").ReceiptTimeoutError | import("../../index.js").InsufficientFundsError | import("../../index.js").GasPriceUnavailableError, never>;
6
+ export declare const makeWriteAndWait: (deps: CorePipelineDeps) => <TAbi extends Abi, TFunctionName extends ContractFunctionName<TAbi, "nonpayable" | "payable">>(params: WriteAndTrackParams<TAbi, TFunctionName>) => Effect.Effect<import("./types.js").WriteAndTrackResult<TAbi>, import("../../index.js").ClientNotFoundError | import("../../index.js").WalletNotConnectedError | import("../../index.js").WrongNetworkError | import("../../index.js").TransportError | import("../../index.js").ContractReadError | import("../../index.js").SimulationFailedError | import("../../index.js").GasEstimationError | import("../../index.js").ContractWriteError | import("../../index.js").EventDecodeError | import("../../index.js").UserRejectedError | import("../../index.js").TxFailedError | import("../../index.js").ReceiptTimeoutError | import("../../index.js").InsufficientFundsError | import("../../index.js").GasPriceUnavailableError, never>;
7
7
  //# sourceMappingURL=write-and-wait.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"write-and-wait.d.ts","sourceRoot":"","sources":["../../../src/contract/pipeline/write-and-wait.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEhC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAKtD,eAAO,MAAM,gBAAgB,GAAI,MAAM,gBAAgB,MAEnD,IAAI,SAAS,GAAG,EAChB,aAAa,00BAGb,CAAC"}
1
+ {"version":3,"file":"write-and-wait.d.ts","sourceRoot":"","sources":["../../../src/contract/pipeline/write-and-wait.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEhC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAKtD,eAAO,MAAM,gBAAgB,GAAI,MAAM,gBAAgB,MAEnD,IAAI,SAAS,GAAG,EAChB,aAAa,i0BAGb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"write-and-wait.js","sourceRoot":"","sources":["../../../src/contract/pipeline/write-and-wait.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAMrD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAsB,EAAE,EAAE,CACzD,MAAM,CAAC,EAAE,CAAC,+BAA+B,CAAC,CAAC,QAAQ,CAAC,EAGlD,MAAgD;IAChD,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC;AAC7F,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"write-and-wait.js","sourceRoot":"","sources":["../../../src/contract/pipeline/write-and-wait.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAMrD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAsB,EAAE,EAAE,CACzD,MAAM,CAAC,EAAE,CAAC,+BAA+B,CAAC,CAAC,QAAQ,CAAC,EAGlD,MAAgD;IAChD,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC;AAC7F,CAAC,CAAC,CAAC","sourcesContent":["import { Effect } from \"effect\";\nimport type { Abi } from \"viem\";\nimport { defaultPolicy } from \"@/src/tx/index.js\";\nimport type { ContractFunctionName } from \"@/src/types/index.js\";\nimport type { CorePipelineDeps } from \"./internal/core.js\";\nimport { runCorePipeline } from \"./internal/core.js\";\nimport type { WriteAndTrackParams } from \"./types.js\";\n\n/**\n * Create the writeAndWait implementation\n */\nexport const makeWriteAndWait = (deps: CorePipelineDeps) =>\n Effect.fn(\"ContractPipeline.writeAndWait\")(function* <\n TAbi extends Abi,\n TFunctionName extends ContractFunctionName<TAbi, \"nonpayable\" | \"payable\">,\n >(params: WriteAndTrackParams<TAbi, TFunctionName>) {\n return yield* Effect.scoped(runCorePipeline(deps, params, params.policy ?? defaultPolicy));\n });\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/contract/pipeline.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/contract/pipeline.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC","sourcesContent":["export * from \"@/src/contract/pipeline/index.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../src/contract/reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAGhD,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAyD7B,MAAM,OAAO,cAAe,SAAQ,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAGlE;CAAG;AAKN,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAC5C,cAAc,EACd,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,mBAAmB,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC;IAEvD,OAAO,cAAc,CAAC,EAAE,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,EAGxD,OAAe,EACf,KAAa,EACb,OAGC;YAED,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEvD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;gBACvC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,cAAc,CAAC;oBACjB,KAAK;oBACL,WAAW,EAAE,CAAC;oBACd,OAAO,EAAE,kBAAkB;iBAC5B,CAAC;gBACJ,GAAG,EAAE,GAAG,EAAE,CACR,MAAM,CAAC,SAAS,CAAC;oBACf,WAAW,EAAE,OAAO,EAAE,WAAW;oBACjC,QAAQ,EAAE,OAAO,EAAE,QAAQ;oBAC3B,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC3B,GAAG,EAAE,CAAC,CAAC,GAAG;wBACV,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,YAAY,EAAE,CAAC,CAAC,YAAY;qBAC7B,CAAC,CAAC;iBACJ,CAAC;aACL,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvB,CAAC,CAAC,MAAM,KAAK,SAAS;gBACpB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAkB,EAAE;gBAClD,CAAC,CAAC;oBACE,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBACjC,MAAM,EAAE,SAAkB;iBAC3B,CAGN,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EAG9C,MAAuC;YACvC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAE9D,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC9B,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;oBACf,MAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,EAAE;wBAC9C,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,YAAY,EAAE,MAAM,CAAC,YAAsB;qBAC5C,CAAC,CAAC;oBAEH,OAAO,UAAU,YAAY,iBAAiB;wBAC5C,CAAC,CAAC,UAAU;wBACZ,CAAC,CAAC,IAAI,iBAAiB,CAAC;4BACpB,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,KAAK,EAAE,UAAU;4BACjB,YAAY,EAAE,MAAM,CAAC,YAAsB;4BAC3C,OAAO,EAAE,UAAU,CAAC,OAAO;yBAC5B,CAAC,CAAC;gBACT,CAAC;gBACD,GAAG,EAAE,GAAG,EAAE,CACR,MAAM,CAAC,YAAY,CAAC;oBAClB,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,YAAY,EAAE,MAAM,CAAC,YAAY;iBAClC,CAAC;aACL,CAAC,CAAC;QACL,CAAC,CAAC;KACH,CAAC,CAAC;AACL,CAAC,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../src/contract/reader.ts"],"names":[],"mappings":"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","sourcesContent":["import { Context, Effect, Layer } from \"effect\";\nimport type { Abi } from \"viem\";\nimport type { ClientNotFoundError } from \"@/src/core/index.js\";\nimport {\n ContractReadError,\n classifyContractError,\n MulticallError,\n PublicClientService,\n} from \"@/src/core/index.js\";\nimport type {\n ContractFunctionName,\n ContractFunctionReturnType,\n ExtractMulticallReturnType,\n MulticallCall,\n MulticallResult,\n ReadParams,\n} from \"@/src/types/index.js\";\n\n/**\n * Service for reading from smart contracts\n */\nexport type ContractReaderShape = {\n /**\n * Read from a contract function\n */\n readonly read: <\n TAbi extends Abi,\n TFunctionName extends ContractFunctionName<TAbi, \"pure\" | \"view\">,\n >(\n params: ReadParams<TAbi, TFunctionName>\n ) => Effect.Effect<\n ContractFunctionReturnType<TAbi, \"pure\" | \"view\", TFunctionName>,\n ContractReadError | ClientNotFoundError\n >;\n\n /**\n * Execute multiple contract reads in a single call with type-safe results.\n * Each call in the array preserves its ABI and function type information,\n * and the result is a tuple where each element is typed based on its corresponding call.\n *\n * @example\n * ```typescript\n * const results = yield* contractReader.multicall(1, [\n * { address: tokenAddr, abi: ERC20_ABI, functionName: \"balanceOf\", args: [addr] },\n * { address: tokenAddr, abi: ERC20_ABI, functionName: \"totalSupply\" }\n * ]);\n * // results[0].result is typed as bigint (balanceOf return type)\n * // results[1].result is typed as bigint (totalSupply return type)\n * ```\n */\n readonly multicall: <const TCalls extends readonly MulticallCall[]>(\n chainId: number,\n calls: TCalls,\n options?: {\n readonly blockNumber?: bigint | undefined;\n readonly blockTag?: import(\"viem\").BlockTag | undefined;\n }\n ) => Effect.Effect<\n {\n readonly [K in keyof TCalls]: MulticallResult<ExtractMulticallReturnType<TCalls[K]>>;\n },\n MulticallError | ClientNotFoundError\n >;\n};\n\nexport class ContractReader extends Context.Tag(\"ew3/ContractReader\")<\n ContractReader,\n ContractReaderShape\n>() {}\n\n/**\n * Live implementation of ContractReader service\n */\nexport const ContractReaderLive = Layer.effect(\n ContractReader,\n Effect.gen(function* () {\n const publicClientService = yield* PublicClientService;\n\n return ContractReader.of({\n multicall: Effect.fn(\"ContractReader.multicall\")(function* <\n const TCalls extends readonly MulticallCall[],\n >(\n chainId: number,\n calls: TCalls,\n options?: {\n readonly blockNumber?: bigint | undefined;\n readonly blockTag?: import(\"viem\").BlockTag | undefined;\n }\n ) {\n const client = yield* publicClientService.get(chainId);\n\n const results = yield* Effect.tryPromise({\n catch: (cause) =>\n new MulticallError({\n cause,\n failedCalls: 0,\n message: \"Multicall failed\",\n }),\n try: () =>\n client.multicall({\n blockNumber: options?.blockNumber,\n blockTag: options?.blockTag,\n contracts: calls.map((c) => ({\n abi: c.abi,\n address: c.address,\n args: c.args,\n functionName: c.functionName,\n })),\n }),\n });\n\n return results.map((r) =>\n r.status === \"success\"\n ? { result: r.result, status: \"success\" as const }\n : {\n error: new Error(String(r.error)),\n status: \"failure\" as const,\n }\n ) as {\n readonly [K in keyof TCalls]: MulticallResult<ExtractMulticallReturnType<TCalls[K]>>;\n };\n }),\n read: Effect.fn(\"ContractReader.read\")(function* <\n TAbi extends Abi,\n TFunctionName extends ContractFunctionName<TAbi, \"pure\" | \"view\">,\n >(params: ReadParams<TAbi, TFunctionName>) {\n const client = yield* publicClientService.get(params.chainId);\n\n return yield* Effect.tryPromise({\n catch: (cause) => {\n const classified = classifyContractError(cause, {\n address: params.address,\n functionName: params.functionName as string,\n });\n\n return classified instanceof ContractReadError\n ? classified\n : new ContractReadError({\n address: params.address,\n cause: classified,\n functionName: params.functionName as string,\n message: classified.message,\n });\n },\n try: () =>\n client.readContract({\n abi: params.abi,\n account: params.account,\n address: params.address,\n args: params.args,\n blockNumber: params.blockNumber,\n blockTag: params.blockTag,\n functionName: params.functionName,\n }),\n });\n }),\n });\n })\n);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"typed-contract.js","sourceRoot":"","sources":["../../src/contract/typed-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AA0HzE,MAAM,UAAU,aAAa,CAAmB,GAAS,EAAE,OAAgB;IACzE,OAAO;QACL,GAAG;QACH,OAAO;QAEP,WAAW,EAAE,CACX,OAAe,EACf,YAA2B,EAC3B,MAA2C,EAC3C,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC;YACrC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;gBAC/B,GAAG;gBACH,OAAO;gBACP,OAAO;gBACP,YAAY;gBACZ,GAAG,MAAM;aAC0B,CAAC,CAAC;QACzC,CAAC,CAAC;QAEJ,IAAI,EAAE,CACJ,OAAe,EACf,YAA2B,EAC3B,GAAG,IAAmD,EACtD,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;gBACxB,GAAG;gBACH,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;gBACb,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,OAAO;gBACP,YAAY;aACsB,CAAC,CAAC;QACxC,CAAC,CAAC;QAEJ,QAAQ,EAAE,CACR,OAAe,EACf,YAA2B,EAC3B,MAA2C,EAC3C,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC;YACrC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC5B,GAAG;gBACH,OAAO;gBACP,OAAO;gBACP,YAAY;gBACZ,GAAG,MAAM;aAC0B,CAAC,CAAC;QACzC,CAAC,CAAC;QAEJ,KAAK,EAAE,CACL,OAAe,EACf,YAA2B,EAC3B,MAA2C,EAC3C,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC;YACrC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBACzB,GAAG;gBACH,OAAO;gBACP,OAAO;gBACP,YAAY;gBACZ,GAAG,MAAM;aAC0B,CAAC,CAAC;QACzC,CAAC,CAAC;KACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"typed-contract.js","sourceRoot":"","sources":["../../src/contract/typed-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AA0HzE,MAAM,UAAU,aAAa,CAAmB,GAAS,EAAE,OAAgB;IACzE,OAAO;QACL,GAAG;QACH,OAAO;QAEP,WAAW,EAAE,CACX,OAAe,EACf,YAA2B,EAC3B,MAA2C,EAC3C,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC;YACrC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;gBAC/B,GAAG;gBACH,OAAO;gBACP,OAAO;gBACP,YAAY;gBACZ,GAAG,MAAM;aAC0B,CAAC,CAAC;QACzC,CAAC,CAAC;QAEJ,IAAI,EAAE,CACJ,OAAe,EACf,YAA2B,EAC3B,GAAG,IAAmD,EACtD,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;gBACxB,GAAG;gBACH,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;gBACb,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,OAAO;gBACP,YAAY;aACsB,CAAC,CAAC;QACxC,CAAC,CAAC;QAEJ,QAAQ,EAAE,CACR,OAAe,EACf,YAA2B,EAC3B,MAA2C,EAC3C,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC;YACrC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC5B,GAAG;gBACH,OAAO;gBACP,OAAO;gBACP,YAAY;gBACZ,GAAG,MAAM;aAC0B,CAAC,CAAC;QACzC,CAAC,CAAC;QAEJ,KAAK,EAAE,CACL,OAAe,EACf,YAA2B,EAC3B,MAA2C,EAC3C,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC;YACrC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBACzB,GAAG;gBACH,OAAO;gBACP,OAAO;gBACP,YAAY;gBACZ,GAAG,MAAM;aAC0B,CAAC,CAAC;QACzC,CAAC,CAAC;KACL,CAAC;AACJ,CAAC","sourcesContent":["import { Effect } from \"effect\";\nimport type { Address, BlockTag, GetValue, Hash } from \"viem\";\nimport { ContractReader, ContractWriter } from \"@/src/contract/index.js\";\nimport type {\n Abi,\n ContractFunctionArgs,\n ContractFunctionReturnType,\n ReadFunctionName,\n ReadParams,\n SimulateResult,\n TxOverrides,\n WriteFunctionName,\n WriteParams,\n} from \"@/src/types/index.js\";\n\ntype ReadArgs<\n TAbi extends Abi,\n TFunctionName extends ReadFunctionName<TAbi>,\n> = ContractFunctionArgs<TAbi, \"pure\" | \"view\", TFunctionName>;\n\ntype ReadCallOptions = {\n readonly account?: Address | undefined;\n readonly blockNumber?: bigint | undefined;\n readonly blockTag?: BlockTag | undefined;\n};\n\ntype ReadArgsWithOptionsParam<\n TAbi extends Abi,\n TFunctionName extends ReadFunctionName<TAbi>,\n> = readonly [] extends ReadArgs<TAbi, TFunctionName>\n ? [args?: ReadArgs<TAbi, TFunctionName>, options?: ReadCallOptions | undefined]\n : [args: ReadArgs<TAbi, TFunctionName>, options?: ReadCallOptions | undefined];\n\ntype WriteArgs<\n TAbi extends Abi,\n TFunctionName extends WriteFunctionName<TAbi>,\n> = ContractFunctionArgs<TAbi, \"nonpayable\" | \"payable\", TFunctionName>;\n\ntype WriteArgsField<\n TAbi extends Abi,\n TFunctionName extends WriteFunctionName<TAbi>,\n> = readonly [] extends WriteArgs<TAbi, TFunctionName>\n ? { readonly args?: WriteArgs<TAbi, TFunctionName> | undefined }\n : { readonly args: WriteArgs<TAbi, TFunctionName> };\n\ntype WriteOverrides<TAbi extends Abi, TFunctionName extends WriteFunctionName<TAbi>> = {\n readonly account: Address;\n readonly overrides?: TxOverrides | undefined;\n readonly gas?: bigint | undefined;\n} & WriteArgsField<TAbi, TFunctionName> &\n GetValue<TAbi, TFunctionName, bigint>;\n\n/**\n * A typed contract instance with the ABI baked in\n */\nexport type TypedContract<TAbi extends Abi> = {\n /**\n * The contract address\n */\n readonly address: Address;\n\n /**\n * The contract ABI\n */\n readonly abi: TAbi;\n\n /**\n * Read from a contract function\n */\n readonly read: <TFunctionName extends ReadFunctionName<TAbi>>(\n chainId: number,\n functionName: TFunctionName,\n ...args: ReadArgsWithOptionsParam<TAbi, TFunctionName>\n ) => Effect.Effect<\n ContractFunctionReturnType<TAbi, \"pure\" | \"view\", TFunctionName>,\n Error,\n ContractReader\n >;\n\n /**\n * Simulate a contract write\n */\n readonly simulate: <TFunctionName extends WriteFunctionName<TAbi>>(\n chainId: number,\n functionName: TFunctionName,\n args: WriteOverrides<TAbi, TFunctionName>\n ) => Effect.Effect<SimulateResult, Error, ContractWriter>;\n\n /**\n * Estimate gas for a contract write\n */\n readonly estimateGas: <TFunctionName extends WriteFunctionName<TAbi>>(\n chainId: number,\n functionName: TFunctionName,\n args: WriteOverrides<TAbi, TFunctionName>\n ) => Effect.Effect<bigint, Error, ContractWriter>;\n\n /**\n * Write to a contract function\n */\n readonly write: <TFunctionName extends WriteFunctionName<TAbi>>(\n chainId: number,\n functionName: TFunctionName,\n args: WriteOverrides<TAbi, TFunctionName>\n ) => Effect.Effect<Hash, Error, ContractWriter>;\n};\n\n/**\n * Creates a typed contract instance with ABI baked in\n *\n * @example\n * ```typescript\n * const erc20 = typedContract(erc20Abi, \"0x...\")\n *\n * // Type-safe reads\n * const balance = await erc20.read(1, \"balanceOf\", [\"0x...\"])\n *\n * // Type-safe writes\n * const hash = await erc20.write(1, \"transfer\", {\n * args: [\"0x...\", 100n],\n * account: \"0x...\",\n * })\n * ```\n */\nexport function typedContract<TAbi extends Abi>(abi: TAbi, address: Address): TypedContract<TAbi> {\n return {\n abi,\n address,\n\n estimateGas: <TFunctionName extends WriteFunctionName<TAbi>>(\n chainId: number,\n functionName: TFunctionName,\n params: WriteOverrides<TAbi, TFunctionName>\n ) =>\n Effect.gen(function* () {\n const writer = yield* ContractWriter;\n return yield* writer.estimateGas({\n abi,\n address,\n chainId,\n functionName,\n ...params,\n } as WriteParams<TAbi, TFunctionName>);\n }),\n\n read: <TFunctionName extends ReadFunctionName<TAbi>>(\n chainId: number,\n functionName: TFunctionName,\n ...args: ReadArgsWithOptionsParam<TAbi, TFunctionName>\n ) =>\n Effect.gen(function* () {\n const reader = yield* ContractReader;\n const options = args[1];\n return yield* reader.read({\n abi,\n account: options?.account,\n address,\n args: args[0],\n blockNumber: options?.blockNumber,\n blockTag: options?.blockTag,\n chainId,\n functionName,\n } as ReadParams<TAbi, TFunctionName>);\n }),\n\n simulate: <TFunctionName extends WriteFunctionName<TAbi>>(\n chainId: number,\n functionName: TFunctionName,\n params: WriteOverrides<TAbi, TFunctionName>\n ) =>\n Effect.gen(function* () {\n const writer = yield* ContractWriter;\n return yield* writer.simulate({\n abi,\n address,\n chainId,\n functionName,\n ...params,\n } as WriteParams<TAbi, TFunctionName>);\n }),\n\n write: <TFunctionName extends WriteFunctionName<TAbi>>(\n chainId: number,\n functionName: TFunctionName,\n params: WriteOverrides<TAbi, TFunctionName>\n ) =>\n Effect.gen(function* () {\n const writer = yield* ContractWriter;\n return yield* writer.write({\n abi,\n address,\n chainId,\n functionName,\n ...params,\n } as WriteParams<TAbi, TFunctionName>);\n }),\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/contract/writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAsBhD,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,iCAAiC,GAAG,CAIxC,MAAwC,EACxC,EAAE;IACF,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACnC,OAAO;QACL,UAAU,EAAE,SAAS,EAAE,UAAU;QACjC,GAAG,EAAE,SAAS,EAAE,GAAG,IAAI,MAAM,CAAC,GAAG;QACjC,QAAQ,EAAE,SAAS,EAAE,QAAQ;QAC7B,YAAY,EAAE,SAAS,EAAE,YAAY;QACrC,oBAAoB,EAAE,SAAS,EAAE,oBAAoB;QACrD,KAAK,EAAE,SAAS,EAAE,KAAK;QACvB,IAAI,EAAE,SAAS,EAAE,IAAI;KACtB,CAAC;AACJ,CAAC,CAAC;AAsDF,MAAM,OAAO,cAAe,SAAQ,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAGlE;CAAG;AAKN,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAC5C,cAAc,EACd,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,cAAc,CAAC,EAAE,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,EAG5D,MAAwC;YACxC,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAEpE,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC9B,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,0BAA0B,CAAC,KAAK,EAAE;oBAChC,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,YAAY,EAAE,MAAM,CAAC,YAAsB;iBAC5C,CAAC;gBACJ,GAAG,EAAE,GAAG,EAAE,CACR,YAAY,CAAC,mBAAmB,CAAC;oBAC/B,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,GAAG,iCAAiC,CAAC,MAAM,CAAC;iBACS,CAAC;aAC3D,CAAC,CAAC;QACL,CAAC,CAAC;QACF,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,EAGtD,MAAwC;YACxC,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAEpE,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC9B,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,qBAAqB,CAAC,KAAK,EAAE;oBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,YAAY,EAAE,MAAM,CAAC,YAAsB;iBAC5C,CAAC;gBACJ,GAAG,EAAE,KAAK,IAAI,EAAE;oBACd,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAAC;wBACjD,GAAG,EAAE,MAAM,CAAC,GAAG;wBACf,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,YAAY,EAAE,MAAM,CAAC,YAAY;wBACjC,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,GAAG,iCAAiC,CAAC,MAAM,CAAC;qBAQ7C,CAAC,CAAC;oBACH,OAAO;wBACL,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;qBACtB,CAAC;gBACJ,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,EAGhD,MAAwC;YACxC,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAEpE,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC9B,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,kBAAkB,CAAC,KAAK,EAAE;oBACxB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,YAAY,EAAE,MAAM,CAAC,YAAsB;iBAC5C,CAAC;gBACJ,GAAG,EAAE,GAAG,EAAE,CACR,YAAY,CAAC,aAAa,CAAC;oBACzB,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK,EAAE,YAAY,CAAC,KAAK;oBACzB,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,GAAG,iCAAiC,CAAC,MAAM,CAAC;iBACG,CAAC;aACrD,CAAC,CAAC;QACL,CAAC,CAAC;KACH,CAAC,CAAC;AACL,CAAC,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/contract/writer.ts"],"names":[],"mappings":"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","sourcesContent":["import { Context, Effect, Layer } from \"effect\";\nimport type {\n Abi,\n Address,\n Chain,\n ContractFunctionArgs,\n EstimateContractGasParameters,\n Hash,\n SimulateContractParameters,\n WriteContractParameters,\n} from \"viem\";\nimport type {\n ClientNotFoundError,\n ContractReadError,\n ContractWriteError,\n GasEstimationError,\n InsufficientFundsError,\n SimulationFailedError,\n UserRejectedError,\n WalletNotConnectedError,\n WrongNetworkError,\n} from \"@/src/core/index.js\";\nimport {\n classifyContractError,\n classifyGasEstimationError,\n classifyWriteError,\n PublicClientService,\n WalletClientService,\n} from \"@/src/core/index.js\";\nimport type { ContractFunctionName, SimulateResult, WriteParams } from \"@/src/types/index.js\";\n\nconst txRequestOverridesFromWriteParams = <\n TAbi extends Abi,\n TFunctionName extends ContractFunctionName<TAbi, \"nonpayable\" | \"payable\">,\n>(\n params: WriteParams<TAbi, TFunctionName>\n) => {\n const overrides = params.overrides;\n return {\n accessList: overrides?.accessList,\n gas: overrides?.gas ?? params.gas,\n gasPrice: overrides?.gasPrice,\n maxFeePerGas: overrides?.maxFeePerGas,\n maxPriorityFeePerGas: overrides?.maxPriorityFeePerGas,\n nonce: overrides?.nonce,\n type: overrides?.type,\n };\n};\n\n/**\n * Service for writing to smart contracts\n */\nexport type ContractWriterShape = {\n /**\n * Simulate a contract call before executing it\n */\n readonly simulate: <\n TAbi extends Abi,\n TFunctionName extends ContractFunctionName<TAbi, \"nonpayable\" | \"payable\">,\n >(\n params: WriteParams<TAbi, TFunctionName>\n ) => Effect.Effect<\n SimulateResult,\n | SimulationFailedError\n | ContractReadError\n | InsufficientFundsError\n | UserRejectedError\n | ClientNotFoundError\n >;\n\n /**\n * Estimate gas for a contract call\n */\n readonly estimateGas: <\n TAbi extends Abi,\n TFunctionName extends ContractFunctionName<TAbi, \"nonpayable\" | \"payable\">,\n >(\n params: WriteParams<TAbi, TFunctionName>\n ) => Effect.Effect<\n bigint,\n GasEstimationError | InsufficientFundsError | UserRejectedError | ClientNotFoundError\n >;\n\n /**\n * Write to a contract function (submits transaction)\n */\n readonly write: <\n TAbi extends Abi,\n TFunctionName extends ContractFunctionName<TAbi, \"nonpayable\" | \"payable\">,\n >(\n params: WriteParams<TAbi, TFunctionName>\n ) => Effect.Effect<\n Hash,\n | ContractWriteError\n | InsufficientFundsError\n | UserRejectedError\n | WalletNotConnectedError\n | WrongNetworkError\n >;\n};\n\nexport class ContractWriter extends Context.Tag(\"ew3/ContractWriter\")<\n ContractWriter,\n ContractWriterShape\n>() {}\n\n/**\n * Live implementation of ContractWriter service\n */\nexport const ContractWriterLive = Layer.effect(\n ContractWriter,\n Effect.gen(function* () {\n const publicClientService = yield* PublicClientService;\n const walletClientService = yield* WalletClientService;\n\n return ContractWriter.of({\n estimateGas: Effect.fn(\"ContractWriter.estimateGas\")(function* <\n TAbi extends Abi,\n TFunctionName extends ContractFunctionName<TAbi, \"nonpayable\" | \"payable\">,\n >(params: WriteParams<TAbi, TFunctionName>) {\n const publicClient = yield* publicClientService.get(params.chainId);\n\n return yield* Effect.tryPromise({\n catch: (cause) =>\n classifyGasEstimationError(cause, {\n address: params.address,\n functionName: params.functionName as string,\n }),\n try: () =>\n publicClient.estimateContractGas({\n abi: params.abi,\n account: params.account,\n address: params.address,\n args: params.args,\n functionName: params.functionName,\n value: params.value,\n ...txRequestOverridesFromWriteParams(params),\n } as EstimateContractGasParameters<TAbi, TFunctionName>),\n });\n }),\n simulate: Effect.fn(\"ContractWriter.simulate\")(function* <\n TAbi extends Abi,\n TFunctionName extends ContractFunctionName<TAbi, \"nonpayable\" | \"payable\">,\n >(params: WriteParams<TAbi, TFunctionName>) {\n const publicClient = yield* publicClientService.get(params.chainId);\n\n return yield* Effect.tryPromise({\n catch: (cause) =>\n classifyContractError(cause, {\n address: params.address,\n functionName: params.functionName as string,\n }),\n try: async () => {\n const result = await publicClient.simulateContract({\n abi: params.abi,\n account: params.account,\n address: params.address,\n args: params.args,\n functionName: params.functionName,\n value: params.value,\n ...txRequestOverridesFromWriteParams(params),\n } as SimulateContractParameters<\n TAbi,\n TFunctionName,\n ContractFunctionArgs<TAbi, \"nonpayable\" | \"payable\", TFunctionName>,\n Chain | undefined,\n Chain | undefined,\n Address\n >);\n return {\n request: result.request,\n result: result.result,\n };\n },\n });\n }),\n\n write: Effect.fn(\"ContractWriter.write\")(function* <\n TAbi extends Abi,\n TFunctionName extends ContractFunctionName<TAbi, \"nonpayable\" | \"payable\">,\n >(params: WriteParams<TAbi, TFunctionName>) {\n const walletClient = yield* walletClientService.get(params.chainId);\n\n return yield* Effect.tryPromise({\n catch: (cause) =>\n classifyWriteError(cause, {\n address: params.address,\n functionName: params.functionName as string,\n }),\n try: () =>\n walletClient.writeContract({\n abi: params.abi,\n account: params.account,\n address: params.address,\n args: params.args,\n chain: walletClient.chain,\n functionName: params.functionName,\n value: params.value,\n ...txRequestOverridesFromWriteParams(params),\n } as WriteContractParameters<TAbi, TFunctionName>),\n });\n }),\n });\n })\n);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/clients/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/clients/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC","sourcesContent":["export * from \"./public-client.js\";\nexport * from \"./wallet-client.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"public-client.js","sourceRoot":"","sources":["../../../src/core/clients/public-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAQjC,MAAM,OAAO,mBAAoB,SAAQ,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAGrE;CAAG"}
1
+ {"version":3,"file":"public-client.js","sourceRoot":"","sources":["../../../src/core/clients/public-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAQjC,MAAM,OAAO,mBAAoB,SAAQ,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAGrE;CAAG","sourcesContent":["import type { Effect } from \"effect\";\nimport { Context } from \"effect\";\nimport type { PublicClient } from \"viem\";\nimport type { ClientNotFoundError } from \"@/src/core/errors/index.js\";\n\nexport type PublicClientServiceShape = {\n get: (chainId: number) => Effect.Effect<PublicClient, ClientNotFoundError>;\n};\n\nexport class PublicClientService extends Context.Tag(\"ew3/PublicClient\")<\n PublicClientService,\n PublicClientServiceShape\n>() {}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-client.js","sourceRoot":"","sources":["../../../src/core/clients/wallet-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAUjC,MAAM,OAAO,mBAAoB,SAAQ,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAGrE;CAAG"}
1
+ {"version":3,"file":"wallet-client.js","sourceRoot":"","sources":["../../../src/core/clients/wallet-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAUjC,MAAM,OAAO,mBAAoB,SAAQ,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAGrE;CAAG","sourcesContent":["import type { Effect } from \"effect\";\nimport { Context } from \"effect\";\nimport type { WalletClient } from \"viem\";\nimport type { WalletNotConnectedError, WrongNetworkError } from \"@/src/core/errors/index.js\";\n\nexport type WalletClientServiceShape = {\n get: (\n chainId: number\n ) => Effect.Effect<WalletClient, WalletNotConnectedError | WrongNetworkError>;\n};\n\nexport class WalletClientService extends Context.Tag(\"ew3/WalletClient\")<\n WalletClientService,\n WalletClientServiceShape\n>() {}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/core/errors/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,OAAO,mBAAoB,SAAQ,MAAM,CAAC,WAAW,EAAuB,CAChF,qBAAqB,EACrB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,uBAAwB,SAAQ,MAAM,CAAC,WAAW,EAA2B,CACxF,yBAAyB,EACzB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,iBAAkB,SAAQ,MAAM,CAAC,WAAW,EAAqB,CAC5E,mBAAmB,EACnB;IACE,aAAa,EAAE,MAAM,CAAC,MAAM;IAC5B,eAAe,EAAE,MAAM,CAAC,MAAM;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,cAAe,SAAQ,MAAM,CAAC,WAAW,EAAkB,CAAC,gBAAgB,EAAE;IACzF,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,GAAG,EAAE,MAAM,CAAC,MAAM;CACnB,CAAC;CAAG"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/core/errors/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,OAAO,mBAAoB,SAAQ,MAAM,CAAC,WAAW,EAAuB,CAChF,qBAAqB,EACrB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,uBAAwB,SAAQ,MAAM,CAAC,WAAW,EAA2B,CACxF,yBAAyB,EACzB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,iBAAkB,SAAQ,MAAM,CAAC,WAAW,EAAqB,CAC5E,mBAAmB,EACnB;IACE,aAAa,EAAE,MAAM,CAAC,MAAM;IAC5B,eAAe,EAAE,MAAM,CAAC,MAAM;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,cAAe,SAAQ,MAAM,CAAC,WAAW,EAAkB,CAAC,gBAAgB,EAAE;IACzF,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,GAAG,EAAE,MAAM,CAAC,MAAM;CACnB,CAAC;CAAG","sourcesContent":["import { Schema } from \"effect\";\n\nexport class ClientNotFoundError extends Schema.TaggedError<ClientNotFoundError>()(\n \"ClientNotFoundError\",\n {\n chainId: Schema.Number,\n message: Schema.String,\n }\n) {}\n\nexport class WalletNotConnectedError extends Schema.TaggedError<WalletNotConnectedError>()(\n \"WalletNotConnectedError\",\n {\n chainId: Schema.Number,\n message: Schema.String,\n }\n) {}\n\nexport class WrongNetworkError extends Schema.TaggedError<WrongNetworkError>()(\n \"WrongNetworkError\",\n {\n actualChainId: Schema.Number,\n expectedChainId: Schema.Number,\n message: Schema.String,\n }\n) {}\n\nexport class TransportError extends Schema.TaggedError<TransportError>()(\"TransportError\", {\n cause: Schema.optional(Schema.Unknown),\n message: Schema.String,\n url: Schema.String,\n}) {}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/core/errors/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,OAAO,iBAAkB,SAAQ,MAAM,CAAC,WAAW,EAAqB,CAC5E,mBAAmB,EACnB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC,MAAM;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,WAAW,EAAyB,CACpF,uBAAuB,EACvB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,YAAY,EAAE,MAAM,CAAC,MAAM;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACvC,CACF;CAAG;AAEJ,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAC9E,oBAAoB,EACpB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC,MAAM;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACvC,CACF;CAAG;AAEJ,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAC9E,oBAAoB,EACpB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC,MAAM;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACvC,CACF;CAAG;AAEJ,MAAM,OAAO,cAAe,SAAQ,MAAM,CAAC,WAAW,EAAkB,CAAC,gBAAgB,EAAE;IACzF,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC,MAAM;IAC1B,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/core/errors/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,OAAO,iBAAkB,SAAQ,MAAM,CAAC,WAAW,EAAqB,CAC5E,mBAAmB,EACnB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC,MAAM;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,WAAW,EAAyB,CACpF,uBAAuB,EACvB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,YAAY,EAAE,MAAM,CAAC,MAAM;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACvC,CACF;CAAG;AAEJ,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAC9E,oBAAoB,EACpB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC,MAAM;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACvC,CACF;CAAG;AAEJ,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAC9E,oBAAoB,EACpB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC,MAAM;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACvC,CACF;CAAG;AAEJ,MAAM,OAAO,cAAe,SAAQ,MAAM,CAAC,WAAW,EAAkB,CAAC,gBAAgB,EAAE;IACzF,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC,MAAM;IAC1B,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG","sourcesContent":["import { Schema } from \"effect\";\n\nexport class ContractReadError extends Schema.TaggedError<ContractReadError>()(\n \"ContractReadError\",\n {\n address: Schema.String,\n cause: Schema.optional(Schema.Unknown),\n functionName: Schema.String,\n message: Schema.String,\n }\n) {}\n\nexport class SimulationFailedError extends Schema.TaggedError<SimulationFailedError>()(\n \"SimulationFailedError\",\n {\n address: Schema.String,\n calldata: Schema.optional(Schema.String),\n functionName: Schema.String,\n message: Schema.String,\n revertData: Schema.optional(Schema.String),\n sender: Schema.optional(Schema.String),\n }\n) {}\n\nexport class GasEstimationError extends Schema.TaggedError<GasEstimationError>()(\n \"GasEstimationError\",\n {\n address: Schema.String,\n calldata: Schema.optional(Schema.String),\n cause: Schema.optional(Schema.Unknown),\n functionName: Schema.String,\n message: Schema.String,\n sender: Schema.optional(Schema.String),\n }\n) {}\n\nexport class ContractWriteError extends Schema.TaggedError<ContractWriteError>()(\n \"ContractWriteError\",\n {\n address: Schema.String,\n calldata: Schema.optional(Schema.String),\n cause: Schema.optional(Schema.Unknown),\n functionName: Schema.String,\n message: Schema.String,\n sender: Schema.optional(Schema.String),\n }\n) {}\n\nexport class MulticallError extends Schema.TaggedError<MulticallError>()(\"MulticallError\", {\n cause: Schema.optional(Schema.Unknown),\n failedCalls: Schema.Number,\n message: Schema.String,\n}) {}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../../src/core/errors/erc20.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,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;IACtB,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,YAAY,EAAE,MAAM,CAAC,MAAM;CAC5B,CACF;CAAG;AAGJ,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;IACtB,YAAY,EAAE,MAAM,CAAC,MAAM;CAC5B,CAAC;CAAG"}
1
+ {"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../../src/core/errors/erc20.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,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;IACtB,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,YAAY,EAAE,MAAM,CAAC,MAAM;CAC5B,CACF;CAAG;AAGJ,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;IACtB,YAAY,EAAE,MAAM,CAAC,MAAM;CAC5B,CAAC;CAAG","sourcesContent":["import { Schema } from \"effect\";\n\n/** Token allowance check failed */\nexport class ApprovalCheckError extends Schema.TaggedError<ApprovalCheckError>()(\n \"ApprovalCheckError\",\n {\n cause: Schema.optional(Schema.Unknown),\n message: Schema.String,\n owner: Schema.String,\n spender: Schema.String,\n tokenAddress: Schema.String,\n }\n) {}\n\n/** Token approval transaction failed */\nexport class ApprovalError extends Schema.TaggedError<ApprovalError>()(\"ApprovalError\", {\n cause: Schema.optional(Schema.Unknown),\n message: Schema.String,\n spender: Schema.String,\n tokenAddress: Schema.String,\n}) {}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"event.js","sourceRoot":"","sources":["../../../src/core/errors/event.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,GAAG,EAAE,MAAM,CAAC,OAAO;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,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;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG"}
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../../src/core/errors/event.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,GAAG,EAAE,MAAM,CAAC,OAAO;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,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;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG","sourcesContent":["import { Schema } from \"effect\";\n\nexport class EventDecodeError extends Schema.TaggedError<EventDecodeError>()(\"EventDecodeError\", {\n cause: Schema.optional(Schema.Unknown),\n log: Schema.Unknown,\n message: Schema.String,\n}) {}\n\nexport class EventWatchError extends Schema.TaggedError<EventWatchError>()(\"EventWatchError\", {\n cause: Schema.optional(Schema.Unknown),\n chainId: Schema.Number,\n message: Schema.String,\n}) {}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC","sourcesContent":["export * from \"./client.js\";\nexport * from \"./contract.js\";\nexport * from \"./erc20.js\";\nexport * from \"./event.js\";\nexport * from \"./predicates.js\";\nexport * from \"./transaction.js\";\nexport * from \"./viem-mapper.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"predicates.js","sourceRoot":"","sources":["../../../src/core/errors/predicates.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAA6B,EAAE,CAC/E,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;AAMnG,MAAM,CAAC,MAAM,aAAa,GACxB,CAAsC,GAAc,EAAE,EAAE,CACxD,CAAC,KAAc,EAAc,EAAE,CAC7B,mBAAmB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC"}
1
+ {"version":3,"file":"predicates.js","sourceRoot":"","sources":["../../../src/core/errors/predicates.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAA6B,EAAE,CAC/E,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;AAMnG,MAAM,CAAC,MAAM,aAAa,GACxB,CAAsC,GAAc,EAAE,EAAE,CACxD,CAAC,KAAc,EAAc,EAAE,CAC7B,mBAAmB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC","sourcesContent":["/** Shape of Effect-TS tagged errors with optional contract metadata */\nexport type TaggedErrorShape = {\n readonly _tag: string;\n readonly message: string;\n readonly address?: string;\n readonly functionName?: string;\n readonly cause?: unknown;\n};\n\n/**\n * Check if an error has the shape of a tagged error (has _tag property).\n * Use this for general tagged error detection without checking a specific tag.\n */\nexport const hasTaggedErrorShape = (error: unknown): error is TaggedErrorShape =>\n error !== null && typeof error === \"object\" && \"_tag\" in error && typeof error._tag === \"string\";\n\n/**\n * Creates a type guard for tagged errors with a specific tag.\n * Works with both instanceof checks and _tag property (for serialized errors).\n */\nexport const isTaggedError =\n <T extends { readonly _tag: string }>(tag: T[\"_tag\"]) =>\n (error: unknown): error is T =>\n hasTaggedErrorShape(error) && error._tag === tag;\n"]}
@@ -1,5 +1,5 @@
1
1
  import { Effect, Schema } from "effect";
2
- export type TransactionReplacementReason = "cancelled" | "replaced" | "repriced";
2
+ export type TxReplacementReason = "cancelled" | "replaced" | "repriced";
3
3
  declare const UserRejectedError_base: Schema.TaggedErrorClass<UserRejectedError, "UserRejectedError", {
4
4
  readonly _tag: Schema.tag<"UserRejectedError">;
5
5
  } & {
@@ -7,24 +7,24 @@ declare const UserRejectedError_base: Schema.TaggedErrorClass<UserRejectedError,
7
7
  }>;
8
8
  export declare class UserRejectedError extends UserRejectedError_base {
9
9
  }
10
- declare const TransactionFailedError_base: Schema.TaggedErrorClass<TransactionFailedError, "TransactionFailedError", {
11
- readonly _tag: Schema.tag<"TransactionFailedError">;
10
+ declare const TxFailedError_base: Schema.TaggedErrorClass<TxFailedError, "TxFailedError", {
11
+ readonly _tag: Schema.tag<"TxFailedError">;
12
12
  } & {
13
13
  cause: Schema.optional<typeof Schema.Unknown>;
14
14
  hash: typeof Schema.String;
15
15
  message: typeof Schema.String;
16
16
  }>;
17
- export declare class TransactionFailedError extends TransactionFailedError_base {
17
+ export declare class TxFailedError extends TxFailedError_base {
18
18
  }
19
- declare const TransactionReplacedError_base: Schema.TaggedErrorClass<TransactionReplacedError, "TransactionReplacedError", {
20
- readonly _tag: Schema.tag<"TransactionReplacedError">;
19
+ declare const TxReplacedError_base: Schema.TaggedErrorClass<TxReplacedError, "TxReplacedError", {
20
+ readonly _tag: Schema.tag<"TxReplacedError">;
21
21
  } & {
22
22
  message: typeof Schema.String;
23
23
  newHash: typeof Schema.String;
24
24
  oldHash: typeof Schema.String;
25
25
  reason: Schema.Literal<["cancelled", "replaced", "repriced"]>;
26
26
  }>;
27
- export declare class TransactionReplacedError extends TransactionReplacedError_base {
27
+ export declare class TxReplacedError extends TxReplacedError_base {
28
28
  }
29
29
  declare const ReceiptTimeoutError_base: Schema.TaggedErrorClass<ReceiptTimeoutError, "ReceiptTimeoutError", {
30
30
  readonly _tag: Schema.tag<"ReceiptTimeoutError">;
@@ -44,7 +44,9 @@ declare const InsufficientFundsError_base: Schema.TaggedErrorClass<InsufficientF
44
44
  }>;
45
45
  export declare class InsufficientFundsError extends InsufficientFundsError_base {
46
46
  }
47
- export declare const isUserRejectedError: (error: unknown) => error is UserRejectedError;
47
+ export declare const isTaggedUserRejectedError: (error: unknown) => error is UserRejectedError;
48
+ export declare function isUserRejectedError(error: unknown): boolean;
49
+ export declare function isLikelyUserRejectedError(error: unknown): boolean;
48
50
  export declare const catchUserRejection: {
49
51
  <A2>(fallback: A2): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A | A2, Exclude<E, UserRejectedError>, R>;
50
52
  <A, E, R, A2>(effect: Effect.Effect<A, E, R>, fallback: A2): Effect.Effect<A | A2, Exclude<E, UserRejectedError>, R>;
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/core/errors/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKxC,MAAM,MAAM,4BAA4B,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;;;;;;AAEjF,qBAAa,iBAAkB,SAAQ,sBAKtC;CAAG;;;;;;;;AAEJ,qBAAa,sBAAuB,SAAQ,2BAO3C;CAAG;;;;;;;;;AAEJ,qBAAa,wBAAyB,SAAQ,6BAQ7C;CAAG;;;;;;;;AAEJ,qBAAa,mBAAoB,SAAQ,wBAOxC;CAAG;;;;;;;;AAEJ,qBAAa,sBAAuB,SAAQ,2BAO3C;CAAG;AAMJ,eAAO,MAAM,mBAAmB,gDAAwD,CAAC;AAgBzF,eAAO,MAAM,kBAAkB,EAAE;IAC/B,CAAC,EAAE,EACD,QAAQ,EAAE,EAAE,GACX,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACT,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EACV,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,QAAQ,EAAE,EAAE,GACX,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;CAY5D,CAAC;AAcF,eAAO,MAAM,sBAAsB,EAAE;IACnC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EACT,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAClC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACT,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACvE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAClC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;CAYtE,CAAC"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/core/errors/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAK/C,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;;;;;;AAExE,qBAAa,iBAAkB,SAAQ,sBAKtC;CAAG;;;;;;;;AAEJ,qBAAa,aAAc,SAAQ,kBAIjC;CAAG;;;;;;;;;AAEL,qBAAa,eAAgB,SAAQ,oBAKnC;CAAG;;;;;;;;AAEL,qBAAa,mBAAoB,SAAQ,wBAOxC;CAAG;;;;;;;;AAEJ,qBAAa,sBAAuB,SAAQ,2BAO3C;CAAG;AAKJ,eAAO,MAAM,yBAAyB,gDAAwD,CAAC;AA+G/F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE3D;AAMD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEjE;AAkED,eAAO,MAAM,kBAAkB,EAAE;IAC/B,CAAC,EAAE,EACD,QAAQ,EAAE,EAAE,GACX,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACT,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EACV,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,QAAQ,EAAE,EAAE,GACX,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;CAY5D,CAAC;AAcF,eAAO,MAAM,sBAAsB,EAAE;IACnC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EACT,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAClC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACT,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACvE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAClC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;CAYtE,CAAC"}