@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,73 +0,0 @@
1
- export declare const safeAbis: {
2
- readonly multiSend: readonly [{
3
- readonly inputs: readonly [{
4
- readonly internalType: "bytes";
5
- readonly name: "transactions";
6
- readonly type: "bytes";
7
- }];
8
- readonly name: "multiSend";
9
- readonly outputs: readonly [];
10
- readonly stateMutability: "payable";
11
- readonly type: "function";
12
- }];
13
- readonly multisig: readonly [{
14
- readonly inputs: readonly [];
15
- readonly name: "getOwners";
16
- readonly outputs: readonly [{
17
- readonly name: "";
18
- readonly type: "address[]";
19
- }];
20
- readonly stateMutability: "view";
21
- readonly type: "function";
22
- }, {
23
- readonly inputs: readonly [{
24
- readonly internalType: "address";
25
- readonly name: "targetContract";
26
- readonly type: "address";
27
- }, {
28
- readonly internalType: "bytes";
29
- readonly name: "calldataPayload";
30
- readonly type: "bytes";
31
- }];
32
- readonly name: "simulateAndRevert";
33
- readonly outputs: readonly [];
34
- readonly stateMutability: "nonpayable";
35
- readonly type: "function";
36
- }];
37
- readonly simulateAccessor: readonly [{
38
- readonly inputs: readonly [{
39
- readonly internalType: "address";
40
- readonly name: "to";
41
- readonly type: "address";
42
- }, {
43
- readonly internalType: "uint256";
44
- readonly name: "value";
45
- readonly type: "uint256";
46
- }, {
47
- readonly internalType: "bytes";
48
- readonly name: "data";
49
- readonly type: "bytes";
50
- }, {
51
- readonly internalType: "enum Enum.Operation";
52
- readonly name: "operation";
53
- readonly type: "uint8";
54
- }];
55
- readonly name: "simulate";
56
- readonly outputs: readonly [{
57
- readonly internalType: "uint256";
58
- readonly name: "estimate";
59
- readonly type: "uint256";
60
- }, {
61
- readonly internalType: "bool";
62
- readonly name: "success";
63
- readonly type: "bool";
64
- }, {
65
- readonly internalType: "bytes";
66
- readonly name: "returnData";
67
- readonly type: "bytes";
68
- }];
69
- readonly stateMutability: "nonpayable";
70
- readonly type: "function";
71
- }];
72
- };
73
- //# sourceMappingURL=abis.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../../../src/safe/simulation/abis.ts"],"names":[],"mappings":"AAgEA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIX,CAAC"}
@@ -1,61 +0,0 @@
1
- const multisigAbi = [
2
- {
3
- inputs: [],
4
- name: "getOwners",
5
- outputs: [
6
- {
7
- name: "",
8
- type: "address[]",
9
- },
10
- ],
11
- stateMutability: "view",
12
- type: "function",
13
- },
14
- {
15
- inputs: [
16
- { internalType: "address", name: "targetContract", type: "address" },
17
- { internalType: "bytes", name: "calldataPayload", type: "bytes" },
18
- ],
19
- name: "simulateAndRevert",
20
- outputs: [],
21
- stateMutability: "nonpayable",
22
- type: "function",
23
- },
24
- ];
25
- const multiSendAbi = [
26
- {
27
- inputs: [{ internalType: "bytes", name: "transactions", type: "bytes" }],
28
- name: "multiSend",
29
- outputs: [],
30
- stateMutability: "payable",
31
- type: "function",
32
- },
33
- ];
34
- const simulateAccessorAbi = [
35
- {
36
- inputs: [
37
- { internalType: "address", name: "to", type: "address" },
38
- { internalType: "uint256", name: "value", type: "uint256" },
39
- { internalType: "bytes", name: "data", type: "bytes" },
40
- {
41
- internalType: "enum Enum.Operation",
42
- name: "operation",
43
- type: "uint8",
44
- },
45
- ],
46
- name: "simulate",
47
- outputs: [
48
- { internalType: "uint256", name: "estimate", type: "uint256" },
49
- { internalType: "bool", name: "success", type: "bool" },
50
- { internalType: "bytes", name: "returnData", type: "bytes" },
51
- ],
52
- stateMutability: "nonpayable",
53
- type: "function",
54
- },
55
- ];
56
- export const safeAbis = {
57
- multiSend: multiSendAbi,
58
- multisig: multisigAbi,
59
- simulateAccessor: simulateAccessorAbi,
60
- };
61
- //# sourceMappingURL=abis.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abis.js","sourceRoot":"","sources":["../../../src/safe/simulation/abis.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,GAAG;IAClB;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,WAAW;aAClB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;YACpE,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE;SAClE;QACD,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAM,YAAY,GAAG;IACnB;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACxE,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAM,mBAAmB,GAAG;IAC1B;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACxD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;YACtD;gBACE,YAAY,EAAE,qBAAqB;gBACnC,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;YACvD,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SAC7D;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,SAAS,EAAE,YAAY;IACvB,QAAQ,EAAE,WAAW;IACrB,gBAAgB,EAAE,mBAAmB;CAC7B,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { Address } from "viem";
2
- export declare function getMultiSendAddress(chainId: number): Address | undefined;
3
- export declare function getSimulateAccessorAddress(chainId: number): Address | undefined;
4
- //# sourceMappingURL=addresses.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addresses.d.ts","sourceRoot":"","sources":["../../../src/safe/simulation/addresses.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAiCpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAoBxE;AAOD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAoB/E"}
@@ -1,40 +0,0 @@
1
- const ZK_ROLLUP_CHAIN_IDS = [
2
- 2741,
3
- 324,
4
- ];
5
- const CUSTOM_DEPLOYMENT_CHAIN_IDS = [
6
- 1890,
7
- 50,
8
- ];
9
- const UNSUPPORTED_CHAIN_IDS = [
10
- 88_888,
11
- 1116,
12
- 50_104,
13
- 5330,
14
- 998,
15
- ];
16
- export function getMultiSendAddress(chainId) {
17
- if (ZK_ROLLUP_CHAIN_IDS.includes(chainId)) {
18
- return "0xf220d3b4dfb23c4ade8c88e526c1353abacbc38f";
19
- }
20
- if (CUSTOM_DEPLOYMENT_CHAIN_IDS.includes(chainId)) {
21
- return "0x40a2accbd92bca938b02010e17a5b8929b49130d";
22
- }
23
- if (UNSUPPORTED_CHAIN_IDS.includes(chainId)) {
24
- return undefined;
25
- }
26
- return "0x9641d764fc13c8b624c04430c7356c1c7c8102e2";
27
- }
28
- export function getSimulateAccessorAddress(chainId) {
29
- if (ZK_ROLLUP_CHAIN_IDS.includes(chainId)) {
30
- return "0x4191e2e12e8bc5002424ce0c51f9947b02675a44";
31
- }
32
- if (CUSTOM_DEPLOYMENT_CHAIN_IDS.includes(chainId)) {
33
- return "0x59ad6735bcd8152b84860cb256dd9e96b85f69da";
34
- }
35
- if (UNSUPPORTED_CHAIN_IDS.includes(chainId)) {
36
- return undefined;
37
- }
38
- return "0x3d4ba2e0884aa488718476ca2fb8efc291a46199";
39
- }
40
- //# sourceMappingURL=addresses.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addresses.js","sourceRoot":"","sources":["../../../src/safe/simulation/addresses.ts"],"names":[],"mappings":"AAcA,MAAM,mBAAmB,GAAG;IAC1B,IAAI;IACJ,GAAG;CACK,CAAC;AAGX,MAAM,2BAA2B,GAAG;IAClC,IAAI;IACJ,EAAE;CACM,CAAC;AAGX,MAAM,qBAAqB,GAAG;IAC5B,MAAM;IACN,IAAI;IACJ,MAAM;IACN,IAAI;IACJ,GAAG;CACK,CAAC;AAOX,MAAM,UAAU,mBAAmB,CAAC,OAAe;IAEjD,IAAI,mBAAmB,CAAC,QAAQ,CAAC,OAA+C,CAAC,EAAE,CAAC;QAClF,OAAO,4CAA4C,CAAC;IACtD,CAAC;IAGD,IACE,2BAA2B,CAAC,QAAQ,CAAC,OAAuD,CAAC,EAC7F,CAAC;QACD,OAAO,4CAA4C,CAAC;IACtD,CAAC;IAGD,IAAI,qBAAqB,CAAC,QAAQ,CAAC,OAAiD,CAAC,EAAE,CAAC;QACtF,OAAO,SAAS,CAAC;IACnB,CAAC;IAGD,OAAO,4CAA4C,CAAC;AACtD,CAAC;AAOD,MAAM,UAAU,0BAA0B,CAAC,OAAe;IAExD,IAAI,mBAAmB,CAAC,QAAQ,CAAC,OAA+C,CAAC,EAAE,CAAC;QAClF,OAAO,4CAA4C,CAAC;IACtD,CAAC;IAGD,IACE,2BAA2B,CAAC,QAAQ,CAAC,OAAuD,CAAC,EAC7F,CAAC;QACD,OAAO,4CAA4C,CAAC;IACtD,CAAC;IAGD,IAAI,qBAAqB,CAAC,QAAQ,CAAC,OAAiD,CAAC,EAAE,CAAC;QACtF,OAAO,SAAS,CAAC;IACnB,CAAC;IAGD,OAAO,4CAA4C,CAAC;AACtD,CAAC"}
@@ -1,16 +0,0 @@
1
- import type { Address, Hex } from "viem";
2
- import type { SafeSimulationTransaction } from "./types.js";
3
- type InternalTransaction = {
4
- data: Hex;
5
- operation: 0 | 1;
6
- to: Address;
7
- value: bigint;
8
- };
9
- export declare function encodeInternalTransaction(tx: InternalTransaction): string;
10
- export declare function encodeMultiSend(transactions: SafeSimulationTransaction[]): Hex;
11
- export declare function decodeSimulationData(revertData: string): {
12
- gas: bigint;
13
- success: boolean;
14
- };
15
- export {};
16
- //# sourceMappingURL=encoding.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../../src/safe/simulation/encoding.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAGzC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAG5D,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;IACjB,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAoBF,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,mBAAmB,GAAG,MAAM,CAMzE;AAQD,wBAAgB,eAAe,CAAC,YAAY,EAAE,yBAAyB,EAAE,GAAG,GAAG,CAe9E;AAeD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;CAClB,CAyBA"}
@@ -1,36 +0,0 @@
1
- import { decodeAbiParameters, encodeFunctionData, encodePacked } from "viem";
2
- import { safeAbis } from "./abis.js";
3
- export function encodeInternalTransaction(tx) {
4
- const encoded = encodePacked(["uint8", "address", "uint256", "uint256", "bytes"], [tx.operation, tx.to, tx.value, BigInt((tx.data.length - 2) / 2), tx.data]);
5
- return encoded.slice(2);
6
- }
7
- export function encodeMultiSend(transactions) {
8
- const internals = transactions.map((tx) => ({
9
- data: tx.data,
10
- operation: tx.operation ?? 0,
11
- to: tx.to,
12
- value: tx.value,
13
- }));
14
- const packedData = `0x${internals.map(encodeInternalTransaction).join("")}`;
15
- return encodeFunctionData({
16
- abi: safeAbis.multiSend,
17
- args: [packedData],
18
- functionName: "multiSend",
19
- });
20
- }
21
- export function decodeSimulationData(revertData) {
22
- const minLength = 258;
23
- if (revertData.length < minLength) {
24
- throw new Error(`Invalid simulation data: revert data too short. Expected at least ${minLength} characters (${(minLength - 2) / 2} bytes), got ${revertData.length} characters (${Math.max(0, (revertData.length - 2) / 2)} bytes)`);
25
- }
26
- const gasAndSuccessData = revertData.slice(2).slice(128, 256);
27
- const decoded = decodeAbiParameters([
28
- { name: "estimate", type: "uint256" },
29
- { name: "success", type: "bool" },
30
- ], `0x${gasAndSuccessData}`);
31
- return {
32
- gas: decoded[0],
33
- success: decoded[1],
34
- };
35
- }
36
- //# sourceMappingURL=encoding.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../../src/safe/simulation/encoding.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AA6BrC,MAAM,UAAU,yBAAyB,CAAC,EAAuB;IAC/D,MAAM,OAAO,GAAG,YAAY,CAC1B,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EACnD,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAC3E,CAAC;IACF,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC;AAQD,MAAM,UAAU,eAAe,CAAC,YAAyC;IACvE,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1C,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC;QAC5B,EAAE,EAAE,EAAE,CAAC,EAAE;QACT,KAAK,EAAE,EAAE,CAAC,KAAK;KAChB,CAAC,CAAC,CAAC;IAEJ,MAAM,UAAU,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAS,CAAC;IAEnF,OAAO,kBAAkB,CAAC;QACxB,GAAG,EAAE,QAAQ,CAAC,SAAS;QACvB,IAAI,EAAE,CAAC,UAAU,CAAC;QAClB,YAAY,EAAE,WAAW;KAC1B,CAAC,CAAC;AACL,CAAC;AAeD,MAAM,UAAU,oBAAoB,CAAC,UAAkB;IAOrD,MAAM,SAAS,GAAG,GAAG,CAAC;IACtB,IAAI,UAAU,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,qEAAqE,SAAS,gBAAgB,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,UAAU,CAAC,MAAM,gBAAgB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CACpN,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE9D,MAAM,OAAO,GAAG,mBAAmB,CACjC;QACE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;KAClC,EACD,KAAK,iBAAiB,EAAS,CAChC,CAAC;IAEF,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QACf,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;KACpB,CAAC;AACJ,CAAC"}
@@ -1,56 +0,0 @@
1
- import { Schema } from "effect";
2
- declare const GasLimitExceededError_base: Schema.TaggedErrorClass<GasLimitExceededError, "GasLimitExceededError", {
3
- readonly _tag: Schema.tag<"GasLimitExceededError">;
4
- } & {
5
- blockGasLimit: typeof Schema.BigInt;
6
- estimatedGas: typeof Schema.BigInt;
7
- message: typeof Schema.String;
8
- threshold: typeof Schema.BigInt;
9
- }>;
10
- export declare class GasLimitExceededError extends GasLimitExceededError_base {
11
- }
12
- declare const SafeSimulationFailedError_base: Schema.TaggedErrorClass<SafeSimulationFailedError, "SafeSimulationFailedError", {
13
- readonly _tag: Schema.tag<"SafeSimulationFailedError">;
14
- } & {
15
- cause: Schema.optional<typeof Schema.Unknown>;
16
- message: typeof Schema.String;
17
- }>;
18
- export declare class SafeSimulationFailedError extends SafeSimulationFailedError_base {
19
- }
20
- declare const SafeContractsNotDeployedError_base: Schema.TaggedErrorClass<SafeContractsNotDeployedError, "SafeContractsNotDeployedError", {
21
- readonly _tag: Schema.tag<"SafeContractsNotDeployedError">;
22
- } & {
23
- chainId: typeof Schema.Number;
24
- message: typeof Schema.String;
25
- missingContract: Schema.Literal<["multiSend", "simulateAccessor"]>;
26
- }>;
27
- export declare class SafeContractsNotDeployedError extends SafeContractsNotDeployedError_base {
28
- }
29
- declare const TransactionSizeTooLargeError_base: Schema.TaggedErrorClass<TransactionSizeTooLargeError, "TransactionSizeTooLargeError", {
30
- readonly _tag: Schema.tag<"TransactionSizeTooLargeError">;
31
- } & {
32
- actualSize: typeof Schema.Number;
33
- maxSize: typeof Schema.Number;
34
- message: typeof Schema.String;
35
- }>;
36
- export declare class TransactionSizeTooLargeError extends TransactionSizeTooLargeError_base {
37
- }
38
- declare const SimulationDecodeError_base: Schema.TaggedErrorClass<SimulationDecodeError, "SimulationDecodeError", {
39
- readonly _tag: Schema.tag<"SimulationDecodeError">;
40
- } & {
41
- cause: typeof Schema.Unknown;
42
- message: typeof Schema.String;
43
- revertData: typeof Schema.String;
44
- }>;
45
- export declare class SimulationDecodeError extends SimulationDecodeError_base {
46
- }
47
- declare const InvalidGasThresholdError_base: Schema.TaggedErrorClass<InvalidGasThresholdError, "InvalidGasThresholdError", {
48
- readonly _tag: Schema.tag<"InvalidGasThresholdError">;
49
- } & {
50
- message: typeof Schema.String;
51
- value: typeof Schema.Number;
52
- }>;
53
- export declare class InvalidGasThresholdError extends InvalidGasThresholdError_base {
54
- }
55
- export {};
56
- //# sourceMappingURL=errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/safe/simulation/errors.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;;;;;;;;;AAGhC,qBAAa,qBAAsB,SAAQ,0BAQ1C;CAAG;;;;;;;AAGJ,qBAAa,yBAA0B,SAAQ,8BAM9C;CAAG;;;;;;;;AAGJ,qBAAa,6BAA8B,SAAQ,kCAOlD;CAAG;;;;;;;;AAGJ,qBAAa,4BAA6B,SAAQ,iCAOjD;CAAG;;;;;;;;AAGJ,qBAAa,qBAAsB,SAAQ,0BAO1C;CAAG;;;;;;;AAGJ,qBAAa,wBAAyB,SAAQ,6BAM7C;CAAG"}
@@ -1,37 +0,0 @@
1
- import { Schema } from "effect";
2
- export class GasLimitExceededError extends Schema.TaggedError()("GasLimitExceededError", {
3
- blockGasLimit: Schema.BigInt,
4
- estimatedGas: Schema.BigInt,
5
- message: Schema.String,
6
- threshold: Schema.BigInt,
7
- }) {
8
- }
9
- export class SafeSimulationFailedError extends Schema.TaggedError()("SafeSimulationFailedError", {
10
- cause: Schema.optional(Schema.Unknown),
11
- message: Schema.String,
12
- }) {
13
- }
14
- export class SafeContractsNotDeployedError extends Schema.TaggedError()("SafeContractsNotDeployedError", {
15
- chainId: Schema.Number,
16
- message: Schema.String,
17
- missingContract: Schema.Literal("multiSend", "simulateAccessor"),
18
- }) {
19
- }
20
- export class TransactionSizeTooLargeError extends Schema.TaggedError()("TransactionSizeTooLargeError", {
21
- actualSize: Schema.Number,
22
- maxSize: Schema.Number,
23
- message: Schema.String,
24
- }) {
25
- }
26
- export class SimulationDecodeError extends Schema.TaggedError()("SimulationDecodeError", {
27
- cause: Schema.Unknown,
28
- message: Schema.String,
29
- revertData: Schema.String,
30
- }) {
31
- }
32
- export class InvalidGasThresholdError extends Schema.TaggedError()("InvalidGasThresholdError", {
33
- message: Schema.String,
34
- value: Schema.Number,
35
- }) {
36
- }
37
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/safe/simulation/errors.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,WAAW,EAAyB,CACpF,uBAAuB,EACvB;IACE,aAAa,EAAE,MAAM,CAAC,MAAM;IAC5B,YAAY,EAAE,MAAM,CAAC,MAAM;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM;CACzB,CACF;CAAG;AAGJ,MAAM,OAAO,yBAA0B,SAAQ,MAAM,CAAC,WAAW,EAA6B,CAC5F,2BAA2B,EAC3B;IACE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAGJ,MAAM,OAAO,6BAA8B,SAAQ,MAAM,CAAC,WAAW,EAAiC,CACpG,+BAA+B,EAC/B;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,kBAAkB,CAAC;CACjE,CACF;CAAG;AAGJ,MAAM,OAAO,4BAA6B,SAAQ,MAAM,CAAC,WAAW,EAAgC,CAClG,8BAA8B,EAC9B;IACE,UAAU,EAAE,MAAM,CAAC,MAAM;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAGJ,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,WAAW,EAAyB,CACpF,uBAAuB,EACvB;IACE,KAAK,EAAE,MAAM,CAAC,OAAO;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,UAAU,EAAE,MAAM,CAAC,MAAM;CAC1B,CACF;CAAG;AAGJ,MAAM,OAAO,wBAAyB,SAAQ,MAAM,CAAC,WAAW,EAA4B,CAC1F,0BAA0B,EAC1B;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,MAAM;CACrB,CACF;CAAG"}
@@ -1,7 +0,0 @@
1
- export { safeAbis } from "./abis.js";
2
- export { getMultiSendAddress, getSimulateAccessorAddress, } from "./addresses.js";
3
- export { decodeSimulationData, encodeMultiSend } from "./encoding.js";
4
- export { GasLimitExceededError, InvalidGasThresholdError, SafeContractsNotDeployedError, SafeSimulationFailedError, SimulationDecodeError, TransactionSizeTooLargeError, } from "./errors.js";
5
- export { SafeSimulationService, SafeSimulationServiceLive, type SafeSimulationServiceShape, } from "./service.js";
6
- export type { SafeOperation, SafeSimulateBatchParams, SafeSimulationResult, SafeSimulationTransaction, } from "./types.js";
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/safe/simulation/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EACL,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,6BAA6B,EAC7B,yBAAyB,EACzB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,KAAK,0BAA0B,GAChC,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,aAAa,EACb,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,YAAY,CAAC"}
@@ -1,6 +0,0 @@
1
- export { safeAbis } from "./abis.js";
2
- export { getMultiSendAddress, getSimulateAccessorAddress, } from "./addresses.js";
3
- export { decodeSimulationData, encodeMultiSend } from "./encoding.js";
4
- export { GasLimitExceededError, InvalidGasThresholdError, SafeContractsNotDeployedError, SafeSimulationFailedError, SimulationDecodeError, TransactionSizeTooLargeError, } from "./errors.js";
5
- export { SafeSimulationService, SafeSimulationServiceLive, } from "./service.js";
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/safe/simulation/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EACL,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,6BAA6B,EAC7B,yBAAyB,EACzB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAE1B,MAAM,cAAc,CAAC"}
@@ -1,14 +0,0 @@
1
- import { Context, Effect, Layer } from "effect";
2
- import type { ClientNotFoundError } from "../../core/index.js";
3
- import { PublicClientService } from "../../core/index.js";
4
- import { GasLimitExceededError, InvalidGasThresholdError, SafeContractsNotDeployedError, SafeSimulationFailedError, SimulationDecodeError, TransactionSizeTooLargeError } from "./errors.js";
5
- import type { SafeSimulateBatchParams, SafeSimulationResult } from "./types.js";
6
- export type SafeSimulationServiceShape = {
7
- readonly simulateBatch: (params: SafeSimulateBatchParams) => Effect.Effect<SafeSimulationResult, ClientNotFoundError | InvalidGasThresholdError | SafeContractsNotDeployedError | TransactionSizeTooLargeError | SafeSimulationFailedError | SimulationDecodeError | GasLimitExceededError>;
8
- };
9
- declare const SafeSimulationService_base: Context.TagClass<SafeSimulationService, "ew3/SafeSimulation", SafeSimulationServiceShape>;
10
- export declare class SafeSimulationService extends SafeSimulationService_base {
11
- }
12
- export declare const SafeSimulationServiceLive: Layer.Layer<SafeSimulationService, never, PublicClientService>;
13
- export {};
14
- //# sourceMappingURL=service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/safe/simulation/service.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI1D,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,6BAA6B,EAC7B,yBAAyB,EACzB,qBAAqB,EACrB,4BAA4B,EAC7B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEhF,MAAM,MAAM,0BAA0B,GAAG;IAUvC,QAAQ,CAAC,aAAa,EAAE,CACtB,MAAM,EAAE,uBAAuB,KAC5B,MAAM,CAAC,MAAM,CAChB,oBAAoB,EAClB,mBAAmB,GACnB,wBAAwB,GACxB,6BAA6B,GAC7B,4BAA4B,GAC5B,yBAAyB,GACzB,qBAAqB,GACrB,qBAAqB,CACxB,CAAC;CACH,CAAC;;AAEF,qBAAa,qBAAsB,SAAQ,0BAGxC;CAAG;AAEN,eAAO,MAAM,yBAAyB,gEAkMrC,CAAC"}
@@ -1,140 +0,0 @@
1
- import { Context, Effect, Layer } from "effect";
2
- import { BaseError as CoreError, encodeFunctionData, zeroAddress } from "viem";
3
- import { PublicClientService } from "../../core/index.js";
4
- import { safeAbis } from "./abis.js";
5
- import { getMultiSendAddress, getSimulateAccessorAddress } from "./addresses.js";
6
- import { decodeSimulationData, encodeMultiSend } from "./encoding.js";
7
- import { GasLimitExceededError, InvalidGasThresholdError, SafeContractsNotDeployedError, SafeSimulationFailedError, SimulationDecodeError, TransactionSizeTooLargeError, } from "./errors.js";
8
- export class SafeSimulationService extends Context.Tag("ew3/SafeSimulation")() {
9
- }
10
- export const SafeSimulationServiceLive = Layer.effect(SafeSimulationService, Effect.gen(function* () {
11
- const publicClientService = yield* PublicClientService;
12
- return SafeSimulationService.of({
13
- simulateBatch: (params) => Effect.gen(function* () {
14
- const { chainId, safeAddress, transactions, txSizeLimit, gasThresholdPercent } = params;
15
- if (transactions.length === 0) {
16
- return yield* Effect.fail(new SafeSimulationFailedError({
17
- message: "Cannot simulate empty transaction batch",
18
- }));
19
- }
20
- if (safeAddress === zeroAddress) {
21
- return yield* Effect.fail(new SafeSimulationFailedError({
22
- message: "Invalid Safe address: cannot be zero address",
23
- }));
24
- }
25
- if (gasThresholdPercent !== undefined &&
26
- (gasThresholdPercent < 1 || gasThresholdPercent > 100)) {
27
- return yield* Effect.fail(new InvalidGasThresholdError({
28
- message: "gasThresholdPercent must be between 1 and 100 (inclusive)",
29
- value: gasThresholdPercent,
30
- }));
31
- }
32
- const multiSendAddr = getMultiSendAddress(chainId);
33
- const simulateAccessorAddr = getSimulateAccessorAddress(chainId);
34
- if (!multiSendAddr) {
35
- return yield* Effect.fail(new SafeContractsNotDeployedError({
36
- chainId,
37
- message: "MultiSend contract not deployed on this chain",
38
- missingContract: "multiSend",
39
- }));
40
- }
41
- if (!simulateAccessorAddr) {
42
- return yield* Effect.fail(new SafeContractsNotDeployedError({
43
- chainId,
44
- message: "SimulateAccessor contract not deployed on this chain",
45
- missingContract: "simulateAccessor",
46
- }));
47
- }
48
- const multiSendCalldata = encodeMultiSend(transactions);
49
- const simulateAccessorCalldata = encodeFunctionData({
50
- abi: safeAbis.simulateAccessor,
51
- args: [multiSendAddr, 0n, multiSendCalldata, 1],
52
- functionName: "simulate",
53
- });
54
- const safeCalldata = encodeFunctionData({
55
- abi: safeAbis.multisig,
56
- args: [simulateAccessorAddr, simulateAccessorCalldata],
57
- functionName: "simulateAndRevert",
58
- });
59
- if (txSizeLimit) {
60
- const sizeInBytes = (safeCalldata.length - 2) / 2;
61
- if (sizeInBytes > txSizeLimit) {
62
- return yield* Effect.fail(new TransactionSizeTooLargeError({
63
- actualSize: sizeInBytes,
64
- maxSize: txSizeLimit,
65
- message: `Transaction size (${sizeInBytes} bytes) exceeds chain limit (${txSizeLimit} bytes). Try splitting into smaller batches.`,
66
- }));
67
- }
68
- }
69
- const client = yield* publicClientService.get(chainId);
70
- const simulationEffect = Effect.gen(function* () {
71
- const revertData = yield* Effect.tryPromise({
72
- catch: (error) => new SafeSimulationFailedError({
73
- cause: error,
74
- message: "Network error or unexpected behavior during simulation",
75
- }),
76
- try: async () => {
77
- try {
78
- await client.call({
79
- account: safeAddress,
80
- data: safeCalldata,
81
- to: safeAddress,
82
- });
83
- throw new Error("simulateAndRevert did not revert");
84
- }
85
- catch (error) {
86
- if (error instanceof CoreError) {
87
- const revertError = error.walk((err) => {
88
- const typedErr = err;
89
- return typeof typedErr.data === "string";
90
- });
91
- if (revertError) {
92
- const typedErr = revertError;
93
- const extractedData = typedErr.data;
94
- if (typeof extractedData === "string") {
95
- return extractedData;
96
- }
97
- }
98
- }
99
- throw error;
100
- }
101
- },
102
- });
103
- return yield* Effect.try({
104
- catch: (error) => new SimulationDecodeError({
105
- cause: error,
106
- message: "Failed to decode simulation revert data - unexpected format",
107
- revertData,
108
- }),
109
- try: () => decodeSimulationData(revertData),
110
- });
111
- });
112
- const [result, block] = yield* Effect.all([
113
- simulationEffect,
114
- Effect.tryPromise({
115
- catch: (e) => new SafeSimulationFailedError({
116
- cause: e,
117
- message: `Failed to fetch block: ${e}`,
118
- }),
119
- try: () => client.getBlock({ blockTag: "latest" }),
120
- }),
121
- ], { concurrency: "unbounded" });
122
- const threshold = (block.gasLimit * BigInt(params.gasThresholdPercent ?? 95)) / 100n;
123
- if (result.success && result.gas > threshold) {
124
- return yield* Effect.fail(new GasLimitExceededError({
125
- blockGasLimit: block.gasLimit,
126
- estimatedGas: result.gas,
127
- message: "Gas consumption exceeds threshold of block gas limit. Try splitting into smaller batches.",
128
- threshold,
129
- }));
130
- }
131
- if (!result.success) {
132
- return yield* Effect.fail(new SafeSimulationFailedError({
133
- message: "Transaction simulation failed - the transaction would revert",
134
- }));
135
- }
136
- return { estimatedGas: result.gas, success: true };
137
- }),
138
- });
139
- }));
140
- //# sourceMappingURL=service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/safe/simulation/service.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import type { Address, Hex } from "viem";
2
- export type SafeOperation = 0 | 1;
3
- export type SafeSimulationTransaction = {
4
- data: Hex;
5
- operation?: SafeOperation;
6
- to: Address;
7
- value: bigint;
8
- };
9
- export type SafeSimulateBatchParams = {
10
- chainId: number;
11
- safeAddress: Address;
12
- transactions: SafeSimulationTransaction[];
13
- txSizeLimit?: number;
14
- gasThresholdPercent?: number;
15
- };
16
- export type SafeSimulationResult = {
17
- estimatedGas: bigint;
18
- success: boolean;
19
- };
20
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/safe/simulation/types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAGzC,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC;AAGlC,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAGF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,yBAAyB,EAAE,CAAC;IAE1C,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAGF,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/safe/simulation/types.ts"],"names":[],"mappings":""}