voltaire-effect 0.2.23 → 0.2.25

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 (397) hide show
  1. package/dist/KZGService-B7PJerOb.d.ts +146 -0
  2. package/dist/ProviderService-BZ5pqDrD.d.ts +319 -0
  3. package/dist/{X25519Test-DGsk1V9o.d.ts → X25519Test-D5Q-5fL9.d.ts} +4 -143
  4. package/dist/crypto/index.d.ts +5 -6
  5. package/dist/crypto/index.js +227 -201
  6. package/dist/{index-IgkEHjBe.d.ts → index-BCOuszKZ.d.ts} +17634 -11962
  7. package/dist/index.d.ts +3195 -976
  8. package/dist/index.js +6994 -4679
  9. package/dist/native/index.d.ts +25 -16
  10. package/dist/native/index.js +7020 -4705
  11. package/dist/primitives/index.d.ts +14 -8
  12. package/dist/primitives/index.js +4060 -2539
  13. package/dist/services/index.d.ts +9054 -30
  14. package/dist/services/index.js +1592 -1331
  15. package/package.json +2 -2
  16. package/src/crypto/ERC6492/ERC6492.test.ts +32 -14
  17. package/src/crypto/ERC6492/verifySignature.ts +4 -5
  18. package/src/crypto/Keccak256/Keccak256.test.ts +42 -1
  19. package/src/crypto/Keccak256/hashSync.ts +53 -0
  20. package/src/crypto/Keccak256/index.ts +2 -0
  21. package/src/index.ts +7 -2
  22. package/src/primitives/Abi/decode.test.ts +38 -0
  23. package/src/primitives/Abi/decode.ts +67 -0
  24. package/src/primitives/Abi/decodeData.test.ts +37 -0
  25. package/src/primitives/Abi/decodeData.ts +77 -0
  26. package/src/primitives/Abi/decodeLog.test.ts +32 -0
  27. package/src/primitives/Abi/decodeLog.ts +81 -0
  28. package/src/primitives/Abi/decodeWrappedError.test.ts +41 -0
  29. package/src/primitives/Abi/decodeWrappedError.ts +68 -0
  30. package/src/primitives/Abi/encode.test.ts +43 -0
  31. package/src/primitives/Abi/encode.ts +67 -0
  32. package/src/primitives/Abi/encodePacked.test.ts +35 -0
  33. package/src/primitives/Abi/encodePacked.ts +62 -0
  34. package/src/primitives/Abi/encodeWrappedError.test.ts +21 -0
  35. package/src/primitives/Abi/encodeWrappedError.ts +64 -0
  36. package/src/primitives/Abi/findSelectorCollisions.test.ts +50 -0
  37. package/src/primitives/Abi/findSelectorCollisions.ts +83 -0
  38. package/src/primitives/Abi/index.ts +33 -7
  39. package/src/primitives/Abi/parseLogs.test.ts +37 -0
  40. package/src/primitives/Abi/parseLogs.ts +62 -0
  41. package/src/primitives/AccessList/AccessList.test.ts +229 -0
  42. package/src/primitives/AccessList/AccessListTypeSchema.ts +16 -0
  43. package/src/primitives/AccessList/addressCount.ts +21 -0
  44. package/src/primitives/AccessList/assertValid.ts +37 -0
  45. package/src/primitives/AccessList/create.ts +19 -0
  46. package/src/primitives/AccessList/deduplicate.ts +23 -0
  47. package/src/primitives/AccessList/from.ts +39 -0
  48. package/src/primitives/AccessList/fromBytes.ts +36 -0
  49. package/src/primitives/AccessList/gasCost.ts +22 -0
  50. package/src/primitives/AccessList/gasSavings.ts +26 -0
  51. package/src/primitives/AccessList/hasSavings.ts +23 -0
  52. package/src/primitives/AccessList/includesAddress.ts +25 -0
  53. package/src/primitives/AccessList/includesStorageKey.ts +28 -0
  54. package/src/primitives/AccessList/index.ts +99 -19
  55. package/src/primitives/AccessList/is.ts +23 -0
  56. package/src/primitives/AccessList/isEmpty.ts +23 -0
  57. package/src/primitives/AccessList/isItem.ts +22 -0
  58. package/src/primitives/AccessList/keysFor.ts +29 -0
  59. package/src/primitives/AccessList/merge.ts +24 -0
  60. package/src/primitives/AccessList/storageKeyCount.ts +21 -0
  61. package/src/primitives/AccessList/toBytes.ts +23 -0
  62. package/src/primitives/AccessList/withAddress.ts +27 -0
  63. package/src/primitives/AccessList/withStorageKey.ts +30 -0
  64. package/src/primitives/Address/Address.test.ts +146 -0
  65. package/src/primitives/Address/assert.ts +51 -0
  66. package/src/primitives/Address/calculateCreate2Address.ts +33 -0
  67. package/src/primitives/Address/calculateCreateAddress.ts +30 -0
  68. package/src/primitives/Address/deduplicateAddresses.ts +20 -0
  69. package/src/primitives/Address/from.ts +41 -0
  70. package/src/primitives/Address/fromAbiEncoded.ts +35 -0
  71. package/src/primitives/Address/fromBase64.ts +25 -0
  72. package/src/primitives/Address/fromBytes.ts +25 -0
  73. package/src/primitives/Address/fromHex.ts +31 -0
  74. package/src/primitives/Address/fromNumber.ts +25 -0
  75. package/src/primitives/Address/fromPrivateKey.ts +25 -0
  76. package/src/primitives/Address/fromPublicKey.ts +56 -0
  77. package/src/primitives/Address/index.ts +99 -35
  78. package/src/primitives/Address/is.ts +20 -0
  79. package/src/primitives/Address/isAddress.ts +22 -0
  80. package/src/primitives/Address/sortAddresses.ts +19 -0
  81. package/src/primitives/Address/toChecksummed.ts +32 -0
  82. package/src/primitives/Address/toHex.ts +18 -0
  83. package/src/primitives/Address/zero.ts +18 -0
  84. package/src/primitives/Base64/Base64.test.ts +75 -0
  85. package/src/primitives/Base64/convert.ts +37 -0
  86. package/src/primitives/Base64/decode.ts +59 -0
  87. package/src/primitives/Base64/encode.ts +42 -0
  88. package/src/primitives/Base64/from.ts +39 -0
  89. package/src/primitives/Base64/index.ts +81 -1
  90. package/src/primitives/Base64/size.ts +16 -0
  91. package/src/primitives/Base64/validation.ts +16 -0
  92. package/src/primitives/Blob/Blob.test.ts +292 -0
  93. package/src/primitives/Blob/calculateGas.ts +30 -0
  94. package/src/primitives/Blob/estimateBlobCount.ts +30 -0
  95. package/src/primitives/Blob/from.ts +38 -0
  96. package/src/primitives/Blob/fromData.ts +36 -0
  97. package/src/primitives/Blob/index.ts +99 -12
  98. package/src/primitives/Blob/isValidVersion.ts +27 -0
  99. package/src/primitives/Blob/joinData.ts +43 -0
  100. package/src/primitives/Blob/splitData.ts +36 -0
  101. package/src/primitives/Blob/toCommitment.ts +43 -0
  102. package/src/primitives/Blob/toProof.ts +50 -0
  103. package/src/primitives/Blob/toVersionedHash.ts +35 -0
  104. package/src/primitives/Blob/verify.ts +49 -0
  105. package/src/primitives/Blob/verifyBatch.ts +119 -0
  106. package/src/primitives/BloomFilter/BloomFilter.test.ts +138 -0
  107. package/src/primitives/BloomFilter/add.ts +23 -0
  108. package/src/primitives/BloomFilter/combine.ts +21 -0
  109. package/src/primitives/BloomFilter/contains.ts +26 -0
  110. package/src/primitives/BloomFilter/create.ts +35 -0
  111. package/src/primitives/BloomFilter/density.ts +22 -0
  112. package/src/primitives/BloomFilter/expectedFalsePositiveRate.ts +25 -0
  113. package/src/primitives/BloomFilter/fromHex.ts +37 -0
  114. package/src/primitives/BloomFilter/hash.ts +43 -0
  115. package/src/primitives/BloomFilter/index.ts +59 -37
  116. package/src/primitives/BloomFilter/isEmpty.ts +22 -0
  117. package/src/primitives/BloomFilter/merge.ts +24 -0
  118. package/src/primitives/BloomFilter/toHex.ts +22 -0
  119. package/src/primitives/Bytecode/analyze.ts +58 -0
  120. package/src/primitives/Bytecode/detectFusions.ts +10 -0
  121. package/src/primitives/Bytecode/equals.ts +10 -0
  122. package/src/primitives/Bytecode/extractRuntime.ts +12 -0
  123. package/src/primitives/Bytecode/format.ts +16 -0
  124. package/src/primitives/Bytecode/from.ts +16 -0
  125. package/src/primitives/Bytecode/fromHex.ts +14 -0
  126. package/src/primitives/Bytecode/getBlock.ts +12 -0
  127. package/src/primitives/Bytecode/getNextPc.ts +12 -0
  128. package/src/primitives/Bytecode/getPushSize.ts +8 -0
  129. package/src/primitives/Bytecode/hasMetadata.ts +10 -0
  130. package/src/primitives/Bytecode/hash.ts +9 -0
  131. package/src/primitives/Bytecode/index.ts +103 -13
  132. package/src/primitives/Bytecode/isPush.ts +8 -0
  133. package/src/primitives/Bytecode/isTerminator.ts +8 -0
  134. package/src/primitives/Bytecode/isValidJumpDest.ts +12 -0
  135. package/src/primitives/Bytecode/parseInstructions.ts +10 -0
  136. package/src/primitives/Bytecode/prettyPrint.ts +12 -0
  137. package/src/primitives/Bytecode/scan.ts +20 -0
  138. package/src/primitives/Bytecode/size.ts +9 -0
  139. package/src/primitives/Bytecode/stripMetadata.ts +10 -0
  140. package/src/primitives/Bytecode/toAbi.ts +10 -0
  141. package/src/primitives/Bytecode/toHex.ts +10 -0
  142. package/src/primitives/Bytecode/types.ts +23 -0
  143. package/src/primitives/Bytecode/validate.ts +9 -0
  144. package/src/primitives/ContractSignature/ContractSignature.test.ts +1 -13
  145. package/src/primitives/ContractSignature/verifySignature.ts +88 -62
  146. package/src/primitives/Ens/Ens.test.ts +71 -0
  147. package/src/primitives/Ens/convert.ts +13 -0
  148. package/src/primitives/Ens/from.ts +32 -0
  149. package/src/primitives/Ens/hash.ts +46 -0
  150. package/src/primitives/Ens/index.ts +86 -4
  151. package/src/primitives/Ens/normalize.ts +45 -0
  152. package/src/primitives/Ens/validation.ts +38 -0
  153. package/src/primitives/EventLog/accessors.ts +32 -0
  154. package/src/primitives/EventLog/clone.ts +17 -0
  155. package/src/primitives/EventLog/create.ts +46 -0
  156. package/src/primitives/EventLog/filtering.ts +48 -0
  157. package/src/primitives/EventLog/index.ts +96 -6
  158. package/src/primitives/EventLog/status.ts +17 -0
  159. package/src/primitives/EventLog/toRpc.ts +49 -0
  160. package/src/primitives/Hardfork/HardforkSchema.ts +3 -3
  161. package/src/primitives/Hardfork/allIds.ts +13 -0
  162. package/src/primitives/Hardfork/allNames.ts +13 -0
  163. package/src/primitives/Hardfork/compare.ts +17 -0
  164. package/src/primitives/Hardfork/comparisons.ts +45 -0
  165. package/src/primitives/Hardfork/equals.ts +17 -0
  166. package/src/primitives/Hardfork/features.ts +61 -0
  167. package/src/primitives/Hardfork/fromString.ts +16 -0
  168. package/src/primitives/Hardfork/index.ts +128 -18
  169. package/src/primitives/Hardfork/isValidName.ts +14 -0
  170. package/src/primitives/Hardfork/minMax.ts +23 -0
  171. package/src/primitives/Hardfork/range.ts +19 -0
  172. package/src/primitives/Hardfork/toString.ts +16 -0
  173. package/src/primitives/Hash/Hash.test.ts +104 -0
  174. package/src/primitives/Hash/from.ts +47 -0
  175. package/src/primitives/Hash/fromBytes.ts +46 -0
  176. package/src/primitives/Hash/fromHex.ts +44 -0
  177. package/src/primitives/Hash/index.ts +45 -8
  178. package/src/primitives/Hash/isHash.ts +31 -0
  179. package/src/primitives/Hash/toHex.ts +29 -0
  180. package/src/primitives/Hex/Hex.test.ts +327 -153
  181. package/src/primitives/Hex/assertSize.ts +41 -0
  182. package/src/primitives/Hex/concat.ts +37 -0
  183. package/src/primitives/Hex/from.ts +38 -0
  184. package/src/primitives/Hex/fromBigInt.ts +40 -0
  185. package/src/primitives/Hex/fromBoolean.ts +29 -0
  186. package/src/primitives/Hex/fromNumber.ts +41 -0
  187. package/src/primitives/Hex/fromString.ts +28 -0
  188. package/src/primitives/Hex/index.ts +68 -37
  189. package/src/primitives/Hex/pad.ts +40 -0
  190. package/src/primitives/Hex/padRight.ts +39 -0
  191. package/src/primitives/Hex/size.ts +29 -0
  192. package/src/primitives/Hex/slice.ts +42 -0
  193. package/src/primitives/Hex/toBigInt.ts +27 -0
  194. package/src/primitives/Hex/toBoolean.ts +38 -0
  195. package/src/primitives/Hex/toNumber.ts +37 -0
  196. package/src/primitives/Hex/toStringHex.ts +39 -0
  197. package/src/primitives/Hex/trim.ts +27 -0
  198. package/src/primitives/Hex/validate.ts +37 -0
  199. package/src/primitives/Hex/xor.ts +39 -0
  200. package/src/primitives/Opcode/OpcodeSchema.ts +1 -1
  201. package/src/primitives/Opcode/disassemble.ts +15 -0
  202. package/src/primitives/Opcode/dupPosition.ts +15 -0
  203. package/src/primitives/Opcode/format.ts +15 -0
  204. package/src/primitives/Opcode/getters.ts +54 -0
  205. package/src/primitives/Opcode/index.ts +301 -11
  206. package/src/primitives/Opcode/info.ts +18 -0
  207. package/src/primitives/Opcode/jumpDests.ts +15 -0
  208. package/src/primitives/Opcode/logTopics.ts +15 -0
  209. package/src/primitives/Opcode/name.ts +15 -0
  210. package/src/primitives/Opcode/parse.ts +15 -0
  211. package/src/primitives/Opcode/predicates.ts +72 -0
  212. package/src/primitives/Opcode/pushBytes.ts +15 -0
  213. package/src/primitives/Opcode/pushOpcode.ts +15 -0
  214. package/src/primitives/Opcode/swapPosition.ts +15 -0
  215. package/src/primitives/Rlp/decodeBatch.ts +46 -0
  216. package/src/primitives/Rlp/decodeObject.ts +46 -0
  217. package/src/primitives/Rlp/decodeValue.ts +51 -0
  218. package/src/primitives/Rlp/encodeBatch.ts +50 -0
  219. package/src/primitives/Rlp/encodeObject.ts +48 -0
  220. package/src/primitives/Rlp/encodeVariadic.ts +49 -0
  221. package/src/primitives/Rlp/equals.ts +22 -0
  222. package/src/primitives/Rlp/from.ts +44 -0
  223. package/src/primitives/Rlp/fromJSON.ts +45 -0
  224. package/src/primitives/Rlp/getEncodedLength.ts +47 -0
  225. package/src/primitives/Rlp/getLength.ts +44 -0
  226. package/src/primitives/Rlp/index.ts +67 -14
  227. package/src/primitives/Rlp/isBytesData.ts +21 -0
  228. package/src/primitives/Rlp/isCanonical.ts +32 -0
  229. package/src/primitives/Rlp/isData.ts +21 -0
  230. package/src/primitives/Rlp/isList.ts +46 -0
  231. package/src/primitives/Rlp/isListData.ts +21 -0
  232. package/src/primitives/Rlp/isString.ts +46 -0
  233. package/src/primitives/Rlp/toJSON.ts +20 -0
  234. package/src/primitives/Rlp/toRaw.ts +31 -0
  235. package/src/primitives/Signature/Signature.test.ts +217 -0
  236. package/src/primitives/Signature/from.ts +38 -0
  237. package/src/primitives/Signature/fromBytes.ts +31 -0
  238. package/src/primitives/Signature/fromCompact.ts +33 -0
  239. package/src/primitives/Signature/fromDER.ts +35 -0
  240. package/src/primitives/Signature/fromEd25519.ts +24 -0
  241. package/src/primitives/Signature/fromHex.ts +29 -0
  242. package/src/primitives/Signature/fromP256.ts +25 -0
  243. package/src/primitives/Signature/fromRpc.ts +38 -0
  244. package/src/primitives/Signature/fromSecp256k1.ts +29 -0
  245. package/src/primitives/Signature/fromTuple.ts +33 -0
  246. package/src/primitives/Signature/getR.ts +24 -0
  247. package/src/primitives/Signature/getS.ts +24 -0
  248. package/src/primitives/Signature/getV.ts +24 -0
  249. package/src/primitives/Signature/index.ts +61 -11
  250. package/src/primitives/Signature/toDER.ts +24 -0
  251. package/src/primitives/Signature/toHex.ts +24 -0
  252. package/src/primitives/Signature/toRpc.ts +35 -0
  253. package/src/primitives/Signature/toTuple.ts +29 -0
  254. package/src/primitives/Signature/verify.ts +31 -0
  255. package/src/primitives/Siwe/create.ts +56 -0
  256. package/src/primitives/Siwe/hash.ts +27 -0
  257. package/src/primitives/Siwe/index.ts +57 -21
  258. package/src/primitives/Siwe/parse.ts +24 -0
  259. package/src/primitives/Siwe/verify.ts +47 -0
  260. package/src/primitives/Transaction/Transaction.test.ts +309 -0
  261. package/src/primitives/Transaction/index.ts +467 -2
  262. package/src/primitives/Uint/Uint.test.ts +200 -0
  263. package/src/primitives/Uint/dividedBy.ts +34 -0
  264. package/src/primitives/Uint/from.ts +35 -0
  265. package/src/primitives/Uint/fromAbiEncoded.ts +29 -0
  266. package/src/primitives/Uint/fromBigInt.ts +30 -0
  267. package/src/primitives/Uint/fromBytes.ts +32 -0
  268. package/src/primitives/Uint/fromHex.ts +32 -0
  269. package/src/primitives/Uint/fromNumber.ts +30 -0
  270. package/src/primitives/Uint/index.ts +90 -45
  271. package/src/primitives/Uint/isUint256.ts +25 -0
  272. package/src/primitives/Uint/isValid.ts +25 -0
  273. package/src/primitives/Uint/modulo.ts +34 -0
  274. package/src/primitives/Uint/toHex.ts +31 -0
  275. package/src/primitives/Uint/tryFrom.ts +30 -0
  276. package/src/services/Contract/Contract.test.ts +46 -41
  277. package/src/services/Contract/Contract.ts +25 -29
  278. package/src/services/Contract/ContractTypes.ts +6 -3
  279. package/src/services/Contract/estimateGas.test.ts +21 -9
  280. package/src/services/Contract/estimateGas.ts +21 -23
  281. package/src/services/Debug/Debug.ts +1 -1
  282. package/src/services/Debug/DebugService.ts +1 -1
  283. package/src/services/FeeEstimator/DefaultFeeEstimator.ts +10 -6
  284. package/src/services/FeeEstimator/FeeEstimator.test.ts +68 -62
  285. package/src/services/Multicall/BalanceResolver.ts +1 -1
  286. package/src/services/Multicall/GetBalance.ts +1 -1
  287. package/src/services/Multicall/Multicall.ts +1 -1
  288. package/src/services/NonceManager/DefaultNonceManager.ts +4 -7
  289. package/src/services/NonceManager/NonceManager.test.ts +20 -33
  290. package/src/services/Provider/Provider.test.ts +155 -349
  291. package/src/services/Provider/Provider.ts +14 -1180
  292. package/src/services/Provider/ProviderService.ts +14 -1199
  293. package/src/services/Provider/actions/multicall.test.ts +29 -39
  294. package/src/services/Provider/actions/multicall.ts +2 -2
  295. package/src/services/Provider/actions/readContract.test.ts +45 -50
  296. package/src/services/Provider/actions/readContract.ts +2 -6
  297. package/src/services/Provider/actions/simulateContract.test.ts +55 -232
  298. package/src/services/Provider/actions/simulateContract.ts +2 -3
  299. package/src/services/Provider/ens/getEnsAddress.ts +11 -14
  300. package/src/services/Provider/ens/getEnsName.ts +15 -18
  301. package/src/services/Provider/ens/getEnsResolver.ts +11 -14
  302. package/src/services/Provider/ens/getEnsText.ts +15 -18
  303. package/src/services/Provider/functions/backfillBlocks.ts +97 -0
  304. package/src/services/Provider/functions/call.ts +45 -0
  305. package/src/services/Provider/functions/createAccessList.ts +61 -0
  306. package/src/services/Provider/functions/createBlockFilter.ts +41 -0
  307. package/src/services/Provider/functions/createEventFilter.ts +43 -0
  308. package/src/services/Provider/functions/createPendingTransactionFilter.ts +41 -0
  309. package/src/services/Provider/functions/estimateGas.ts +52 -0
  310. package/src/services/Provider/functions/getAccounts.ts +40 -0
  311. package/src/services/Provider/functions/getBalance.ts +50 -0
  312. package/src/services/Provider/functions/getBlobBaseFee.ts +46 -0
  313. package/src/services/Provider/functions/getBlock.ts +95 -0
  314. package/src/services/Provider/functions/getBlockNumber.ts +51 -0
  315. package/src/services/Provider/functions/getBlockReceipts.ts +78 -0
  316. package/src/services/Provider/functions/getBlockTransactionCount.ts +86 -0
  317. package/src/services/Provider/functions/getChainId.ts +46 -0
  318. package/src/services/Provider/functions/getCode.ts +43 -0
  319. package/src/services/Provider/functions/getCoinbase.ts +40 -0
  320. package/src/services/Provider/functions/getFeeHistory.ts +85 -0
  321. package/src/services/Provider/functions/getFilterChanges.ts +42 -0
  322. package/src/services/Provider/functions/getFilterLogs.ts +44 -0
  323. package/src/services/Provider/functions/getGasPrice.ts +46 -0
  324. package/src/services/Provider/functions/getHashrate.ts +46 -0
  325. package/src/services/Provider/functions/getLogs.ts +45 -0
  326. package/src/services/Provider/functions/getMaxPriorityFeePerGas.ts +46 -0
  327. package/src/services/Provider/functions/getMining.ts +40 -0
  328. package/src/services/Provider/functions/getProof.ts +52 -0
  329. package/src/services/Provider/functions/getProtocolVersion.ts +40 -0
  330. package/src/services/Provider/functions/getStorageAt.ts +52 -0
  331. package/src/services/Provider/functions/getSyncing.ts +56 -0
  332. package/src/services/Provider/functions/getTransaction.ts +57 -0
  333. package/src/services/Provider/functions/getTransactionByBlockHashAndIndex.ts +73 -0
  334. package/src/services/Provider/functions/getTransactionByBlockNumberAndIndex.ts +86 -0
  335. package/src/services/Provider/functions/getTransactionConfirmations.ts +70 -0
  336. package/src/services/Provider/functions/getTransactionCount.ts +50 -0
  337. package/src/services/Provider/functions/getTransactionReceipt.ts +57 -0
  338. package/src/services/Provider/functions/getUncle.ts +97 -0
  339. package/src/services/Provider/functions/getUncleCount.ts +86 -0
  340. package/src/services/Provider/functions/index.ts +73 -0
  341. package/src/services/Provider/functions/netVersion.ts +40 -0
  342. package/src/services/Provider/functions/sendRawTransaction.ts +40 -0
  343. package/src/services/Provider/functions/sendTransaction.ts +48 -0
  344. package/src/services/Provider/functions/sign.ts +50 -0
  345. package/src/services/Provider/functions/signTransaction.ts +52 -0
  346. package/src/services/Provider/functions/simulateV1.ts +95 -0
  347. package/src/services/Provider/functions/simulateV2.ts +51 -0
  348. package/src/services/Provider/functions/subscribe.ts +49 -0
  349. package/src/services/Provider/functions/uninstallFilter.ts +40 -0
  350. package/src/services/Provider/functions/unsubscribe.ts +41 -0
  351. package/src/services/Provider/functions/waitForTransactionReceipt.ts +168 -0
  352. package/src/services/Provider/functions/watchBlocks.ts +98 -0
  353. package/src/services/Provider/index.ts +29 -178
  354. package/src/services/Provider/types.ts +780 -0
  355. package/src/services/Provider/utils.ts +204 -0
  356. package/src/services/RawProvider/ForkProviderTransport.ts +2 -3
  357. package/src/services/RawProvider/HttpProviderTransport.ts +3 -3
  358. package/src/services/RawProvider/InMemoryProviderTransport.ts +3 -3
  359. package/src/services/RawProvider/WebSocketProviderTransport.ts +3 -3
  360. package/src/services/Signer/Signer.test.ts +211 -187
  361. package/src/services/Signer/Signer.ts +26 -16
  362. package/src/services/Signer/actions/deployContract.test.ts +125 -105
  363. package/src/services/Signer/actions/deployContract.ts +3 -2
  364. package/src/services/Signer/actions/prepareAuthorization.test.ts +47 -48
  365. package/src/services/Signer/actions/prepareAuthorization.ts +3 -3
  366. package/src/services/Signer/actions/signAuthorization.test.ts +39 -45
  367. package/src/services/Signer/actions/signAuthorization.ts +3 -3
  368. package/src/services/Signer/actions/writeContract.test.ts +41 -57
  369. package/src/services/Transport/FallbackTransport.ts +3 -3
  370. package/src/services/Transport/HttpTransport.ts +3 -3
  371. package/src/services/Transport/config.ts +7 -7
  372. package/src/services/Transport/index.ts +3 -4
  373. package/src/services/errors.test.ts +3 -8
  374. package/src/services/index.ts +8 -90
  375. package/src/services/presets/index.ts +9 -10
  376. package/src/services/presets/presets.test.ts +14 -29
  377. package/src/standards/ERC165.test.ts +19 -20
  378. package/src/standards/ERC165.ts +9 -11
  379. package/src/type-exports.test.ts +37 -0
  380. package/dist/AccountService-BetXokad.d.ts +0 -1717
  381. package/dist/RpcResolver-BpvqybjD.d.ts +0 -6439
  382. package/src/services/Provider/Account.ts +0 -33
  383. package/src/services/Provider/AccountService.ts +0 -84
  384. package/src/services/Provider/Blocks.ts +0 -32
  385. package/src/services/Provider/BlocksService.ts +0 -73
  386. package/src/services/Provider/Events.ts +0 -33
  387. package/src/services/Provider/EventsService.ts +0 -71
  388. package/src/services/Provider/Network.ts +0 -41
  389. package/src/services/Provider/NetworkService.ts +0 -114
  390. package/src/services/Provider/Simulation.ts +0 -34
  391. package/src/services/Provider/SimulationService.ts +0 -161
  392. package/src/services/Provider/Streaming.ts +0 -30
  393. package/src/services/Provider/StreamingService.ts +0 -58
  394. package/src/services/Provider/Transaction.ts +0 -39
  395. package/src/services/Provider/TransactionService.ts +0 -83
  396. package/src/services/Provider/filters.ts +0 -91
  397. package/src/services/Provider/getBlobBaseFee.ts +0 -170
@@ -1,6 +1,5 @@
1
1
  import { describe, expect, it } from "@effect/vitest";
2
2
  import { Address, Hash } from "@tevm/voltaire";
3
- import { InvalidBlobCountError } from "@tevm/voltaire/Blob";
4
3
  import * as Effect from "effect/Effect";
5
4
  import * as Exit from "effect/Exit";
6
5
  import * as Layer from "effect/Layer";
@@ -9,7 +8,6 @@ import {
9
8
  TransportError,
10
9
  TransportService,
11
10
  } from "../Transport/TransportService.js";
12
- import { calculateBlobGasPrice, estimateBlobGas } from "./getBlobBaseFee.js";
13
11
  import { Provider } from "./Provider.js";
14
12
  import {
15
13
  ProviderNotFoundError,
@@ -18,6 +16,37 @@ import {
18
16
  ProviderTimeoutError,
19
17
  type ProviderValidationError,
20
18
  } from "./ProviderService.js";
19
+ import {
20
+ getBlockNumber,
21
+ getBalance,
22
+ getBlock,
23
+ getCode,
24
+ getStorageAt,
25
+ getTransaction,
26
+ getTransactionReceipt,
27
+ getTransactionCount,
28
+ getBlockTransactionCount,
29
+ call,
30
+ estimateGas,
31
+ getLogs,
32
+ getChainId,
33
+ getGasPrice,
34
+ getMaxPriorityFeePerGas,
35
+ getFeeHistory,
36
+ createAccessList,
37
+ sendRawTransaction,
38
+ getUncle,
39
+ getProof,
40
+ getBlobBaseFee,
41
+ getTransactionConfirmations,
42
+ createEventFilter,
43
+ createBlockFilter,
44
+ createPendingTransactionFilter,
45
+ getFilterChanges,
46
+ getFilterLogs,
47
+ uninstallFilter,
48
+ waitForTransactionReceipt,
49
+ } from "./functions/index.js";
21
50
 
22
51
  const mockTransport = (responses: Record<string, unknown>) =>
23
52
  Layer.succeed(TransportService, {
@@ -68,10 +97,7 @@ describe("ProviderService", () => {
68
97
  const layer = Provider.pipe(Layer.provide(transport));
69
98
 
70
99
  const result = await Effect.runPromise(
71
- Effect.gen(function* () {
72
- const provider = yield* ProviderService;
73
- return yield* provider.getBlockNumber();
74
- }).pipe(Effect.provide(layer)),
100
+ getBlockNumber().pipe(Effect.provide(layer)),
75
101
  );
76
102
 
77
103
  expect(result).toBe(16n);
@@ -84,12 +110,9 @@ describe("ProviderService", () => {
84
110
  const layer = Provider.pipe(Layer.provide(transport));
85
111
 
86
112
  const result = await Effect.runPromise(
87
- Effect.gen(function* () {
88
- const provider = yield* ProviderService;
89
- return yield* provider.getBalance(
90
- "0x1234567890123456789012345678901234567890",
91
- );
92
- }).pipe(Effect.provide(layer)),
113
+ getBalance("0x1234567890123456789012345678901234567890").pipe(
114
+ Effect.provide(layer),
115
+ ),
93
116
  );
94
117
 
95
118
  expect(result).toBe(1000000000000000000n);
@@ -101,10 +124,7 @@ describe("ProviderService", () => {
101
124
  const addr = Address("0x1234567890123456789012345678901234567890");
102
125
 
103
126
  const result = await Effect.runPromise(
104
- Effect.gen(function* () {
105
- const provider = yield* ProviderService;
106
- return yield* provider.getBalance(addr);
107
- }).pipe(Effect.provide(layer)),
127
+ getBalance(addr).pipe(Effect.provide(layer)),
108
128
  );
109
129
 
110
130
  expect(result).toBe(1000000000000000000n);
@@ -139,10 +159,7 @@ describe("ProviderService", () => {
139
159
  const layer = Provider.pipe(Layer.provide(transport));
140
160
 
141
161
  const result = await Effect.runPromise(
142
- Effect.gen(function* () {
143
- const provider = yield* ProviderService;
144
- return yield* provider.getBlock({ blockTag: "latest" });
145
- }).pipe(Effect.provide(layer)),
162
+ getBlock({ blockTag: "latest" }).pipe(Effect.provide(layer)),
146
163
  );
147
164
 
148
165
  expect(result.number).toBe("0x10");
@@ -164,10 +181,7 @@ describe("ProviderService", () => {
164
181
  const blockHash =
165
182
  "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef";
166
183
  const result = await Effect.runPromise(
167
- Effect.gen(function* () {
168
- const provider = yield* ProviderService;
169
- return yield* provider.getBlock({ blockHash });
170
- }).pipe(Effect.provide(layer)),
184
+ getBlock({ blockHash }).pipe(Effect.provide(layer)),
171
185
  );
172
186
 
173
187
  expect(capturedMethod).toBe("eth_getBlockByHash");
@@ -193,10 +207,7 @@ describe("ProviderService", () => {
193
207
  const topic =
194
208
  "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef";
195
209
  await Effect.runPromise(
196
- Effect.gen(function* () {
197
- const provider = yield* ProviderService;
198
- return yield* provider.getLogs({ topics: [topic] });
199
- }).pipe(Effect.provide(layer)),
210
+ getLogs({ topics: [topic] }).pipe(Effect.provide(layer)),
200
211
  );
201
212
 
202
213
  const filter = capturedParams[0] as Record<string, unknown>;
@@ -218,10 +229,7 @@ describe("ProviderService", () => {
218
229
  const topic2 =
219
230
  "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c";
220
231
  await Effect.runPromise(
221
- Effect.gen(function* () {
222
- const provider = yield* ProviderService;
223
- return yield* provider.getLogs({ topics: [[topic1, topic2]] });
224
- }).pipe(Effect.provide(layer)),
232
+ getLogs({ topics: [[topic1, topic2]] }).pipe(Effect.provide(layer)),
225
233
  );
226
234
 
227
235
  const filter = capturedParams[0] as Record<string, unknown>;
@@ -241,10 +249,7 @@ describe("ProviderService", () => {
241
249
  const topic =
242
250
  "0x000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045";
243
251
  await Effect.runPromise(
244
- Effect.gen(function* () {
245
- const provider = yield* ProviderService;
246
- return yield* provider.getLogs({ topics: [null, topic] });
247
- }).pipe(Effect.provide(layer)),
252
+ getLogs({ topics: [null, topic] }).pipe(Effect.provide(layer)),
248
253
  );
249
254
 
250
255
  const filter = capturedParams[0] as Record<string, unknown>;
@@ -268,11 +273,8 @@ describe("ProviderService", () => {
268
273
  const topic3 =
269
274
  "0x0000000000000000000000001234567890123456789012345678901234567890";
270
275
  await Effect.runPromise(
271
- Effect.gen(function* () {
272
- const provider = yield* ProviderService;
273
- return yield* provider.getLogs({
274
- topics: [topic1, [topic2, topic3], null],
275
- });
276
+ getLogs({
277
+ topics: [topic1, [topic2, topic3], null],
276
278
  }).pipe(Effect.provide(layer)),
277
279
  );
278
280
 
@@ -302,14 +304,11 @@ describe("ProviderService", () => {
302
304
  const topic = Hash(topicHex);
303
305
 
304
306
  const result = await Effect.runPromise(
305
- Effect.gen(function* () {
306
- const provider = yield* ProviderService;
307
- return yield* provider.createEventFilter({
308
- address: [address, address2],
309
- topics: [topic, [topic2], null],
310
- fromBlock: "latest",
311
- toBlock: "0x10",
312
- });
307
+ createEventFilter({
308
+ address: [address, address2],
309
+ topics: [topic, [topic2], null],
310
+ fromBlock: "latest",
311
+ toBlock: "0x10",
313
312
  }).pipe(Effect.provide(layer)),
314
313
  );
315
314
 
@@ -337,9 +336,8 @@ describe("ProviderService", () => {
337
336
 
338
337
  const result = await Effect.runPromise(
339
338
  Effect.gen(function* () {
340
- const provider = yield* ProviderService;
341
- const block = yield* provider.createBlockFilter();
342
- const pending = yield* provider.createPendingTransactionFilter();
339
+ const block = yield* createBlockFilter();
340
+ const pending = yield* createPendingTransactionFilter();
343
341
  return { block, pending };
344
342
  }).pipe(Effect.provide(layer)),
345
343
  );
@@ -371,10 +369,9 @@ describe("ProviderService", () => {
371
369
  const filterId = "0x1";
372
370
  const result = await Effect.runPromise(
373
371
  Effect.gen(function* () {
374
- const provider = yield* ProviderService;
375
- const changes = yield* provider.getFilterChanges(filterId);
376
- const logs = yield* provider.getFilterLogs(filterId);
377
- const removed = yield* provider.uninstallFilter(filterId);
372
+ const changes = yield* getFilterChanges(filterId);
373
+ const logs = yield* getFilterLogs(filterId);
374
+ const removed = yield* uninstallFilter(filterId);
378
375
  return { changes, logs, removed };
379
376
  }).pipe(Effect.provide(layer)),
380
377
  );
@@ -394,12 +391,9 @@ describe("ProviderService", () => {
394
391
  const layer = Provider.pipe(Layer.provide(transport));
395
392
 
396
393
  const result = await Effect.runPromise(
397
- Effect.gen(function* () {
398
- const provider = yield* ProviderService;
399
- return yield* provider.getTransactionCount(
400
- "0x1234567890123456789012345678901234567890",
401
- );
402
- }).pipe(Effect.provide(layer)),
394
+ getTransactionCount(
395
+ "0x1234567890123456789012345678901234567890",
396
+ ).pipe(Effect.provide(layer)),
403
397
  );
404
398
 
405
399
  expect(result).toBe(5n);
@@ -412,12 +406,9 @@ describe("ProviderService", () => {
412
406
  const layer = Provider.pipe(Layer.provide(transport));
413
407
 
414
408
  const result = await Effect.runPromise(
415
- Effect.gen(function* () {
416
- const provider = yield* ProviderService;
417
- return yield* provider.getTransactionCount(
418
- "0x1234567890123456789012345678901234567890",
419
- );
420
- }).pipe(Effect.provide(layer)),
409
+ getTransactionCount(
410
+ "0x1234567890123456789012345678901234567890",
411
+ ).pipe(Effect.provide(layer)),
421
412
  );
422
413
 
423
414
  expect(result).toBe(18446744073709551615n);
@@ -433,11 +424,8 @@ describe("ProviderService", () => {
433
424
  const layer = Provider.pipe(Layer.provide(transport));
434
425
 
435
426
  const result = await Effect.runPromise(
436
- Effect.gen(function* () {
437
- const provider = yield* ProviderService;
438
- return yield* provider.getBlockTransactionCount({
439
- blockTag: "latest",
440
- });
427
+ getBlockTransactionCount({
428
+ blockTag: "latest",
441
429
  }).pipe(Effect.provide(layer)),
442
430
  );
443
431
 
@@ -451,11 +439,8 @@ describe("ProviderService", () => {
451
439
  const layer = Provider.pipe(Layer.provide(transport));
452
440
 
453
441
  const result = await Effect.runPromise(
454
- Effect.gen(function* () {
455
- const provider = yield* ProviderService;
456
- return yield* provider.getBlockTransactionCount({
457
- blockTag: "latest",
458
- });
442
+ getBlockTransactionCount({
443
+ blockTag: "latest",
459
444
  }).pipe(Effect.provide(layer)),
460
445
  );
461
446
 
@@ -470,12 +455,9 @@ describe("ProviderService", () => {
470
455
  const layer = Provider.pipe(Layer.provide(transport));
471
456
 
472
457
  const result = await Effect.runPromise(
473
- Effect.gen(function* () {
474
- const provider = yield* ProviderService;
475
- return yield* provider.getCode(
476
- "0x1234567890123456789012345678901234567890",
477
- );
478
- }).pipe(Effect.provide(layer)),
458
+ getCode("0x1234567890123456789012345678901234567890").pipe(
459
+ Effect.provide(layer),
460
+ ),
479
461
  );
480
462
 
481
463
  expect(result).toBe("0x6080604052");
@@ -487,10 +469,7 @@ describe("ProviderService", () => {
487
469
  const addr = Address("0x1234567890123456789012345678901234567890");
488
470
 
489
471
  const result = await Effect.runPromise(
490
- Effect.gen(function* () {
491
- const provider = yield* ProviderService;
492
- return yield* provider.getCode(addr);
493
- }).pipe(Effect.provide(layer)),
472
+ getCode(addr).pipe(Effect.provide(layer)),
494
473
  );
495
474
 
496
475
  expect(result).toBe("0x6080604052");
@@ -506,13 +485,10 @@ describe("ProviderService", () => {
506
485
  const layer = Provider.pipe(Layer.provide(transport));
507
486
 
508
487
  const result = await Effect.runPromise(
509
- Effect.gen(function* () {
510
- const provider = yield* ProviderService;
511
- return yield* provider.getStorageAt(
512
- "0x1234567890123456789012345678901234567890",
513
- "0x0000000000000000000000000000000000000000000000000000000000000000",
514
- );
515
- }).pipe(Effect.provide(layer)),
488
+ getStorageAt(
489
+ "0x1234567890123456789012345678901234567890",
490
+ "0x0000000000000000000000000000000000000000000000000000000000000000",
491
+ ).pipe(Effect.provide(layer)),
516
492
  );
517
493
 
518
494
  expect(result).toBe(
@@ -540,10 +516,7 @@ describe("ProviderService", () => {
540
516
  const layer = Provider.pipe(Layer.provide(transport));
541
517
 
542
518
  const result = await Effect.runPromise(
543
- Effect.gen(function* () {
544
- const provider = yield* ProviderService;
545
- return yield* provider.getTransaction("0xabc");
546
- }).pipe(Effect.provide(layer)),
519
+ getTransaction("0xabc").pipe(Effect.provide(layer)),
547
520
  );
548
521
 
549
522
  expect(result.hash).toBe("0xabc");
@@ -573,10 +546,7 @@ describe("ProviderService", () => {
573
546
  const layer = Provider.pipe(Layer.provide(transport));
574
547
 
575
548
  const result = await Effect.runPromise(
576
- Effect.gen(function* () {
577
- const provider = yield* ProviderService;
578
- return yield* provider.getTransactionReceipt("0xabc");
579
- }).pipe(Effect.provide(layer)),
549
+ getTransactionReceipt("0xabc").pipe(Effect.provide(layer)),
580
550
  );
581
551
 
582
552
  expect(result.transactionHash).toBe("0xabc");
@@ -593,12 +563,9 @@ describe("ProviderService", () => {
593
563
  const layer = Provider.pipe(Layer.provide(transport));
594
564
 
595
565
  const result = await Effect.runPromise(
596
- Effect.gen(function* () {
597
- const provider = yield* ProviderService;
598
- return yield* provider.call({
599
- to: "0x1234567890123456789012345678901234567890",
600
- data: "0x18160ddd",
601
- });
566
+ call({
567
+ to: "0x1234567890123456789012345678901234567890",
568
+ data: "0x18160ddd",
602
569
  }).pipe(Effect.provide(layer)),
603
570
  );
604
571
 
@@ -614,11 +581,8 @@ describe("ProviderService", () => {
614
581
  const layer = Provider.pipe(Layer.provide(transport));
615
582
 
616
583
  const result = await Effect.runPromise(
617
- Effect.gen(function* () {
618
- const provider = yield* ProviderService;
619
- return yield* provider.estimateGas({
620
- to: "0x1234567890123456789012345678901234567890",
621
- });
584
+ estimateGas({
585
+ to: "0x1234567890123456789012345678901234567890",
622
586
  }).pipe(Effect.provide(layer)),
623
587
  );
624
588
 
@@ -645,11 +609,8 @@ describe("ProviderService", () => {
645
609
  const layer = Provider.pipe(Layer.provide(transport));
646
610
 
647
611
  const result = await Effect.runPromise(
648
- Effect.gen(function* () {
649
- const provider = yield* ProviderService;
650
- return yield* provider.getLogs({
651
- address: "0x1234567890123456789012345678901234567890",
652
- });
612
+ getLogs({
613
+ address: "0x1234567890123456789012345678901234567890",
653
614
  }).pipe(Effect.provide(layer)),
654
615
  );
655
616
 
@@ -666,10 +627,7 @@ describe("ProviderService", () => {
666
627
  const layer = Provider.pipe(Layer.provide(transport));
667
628
 
668
629
  const result = await Effect.runPromise(
669
- Effect.gen(function* () {
670
- const provider = yield* ProviderService;
671
- return yield* provider.getChainId();
672
- }).pipe(Effect.provide(layer)),
630
+ getChainId().pipe(Effect.provide(layer)),
673
631
  );
674
632
 
675
633
  expect(result).toBe(1);
@@ -682,10 +640,7 @@ describe("ProviderService", () => {
682
640
  const layer = Provider.pipe(Layer.provide(transport));
683
641
 
684
642
  const exit = await Effect.runPromiseExit(
685
- Effect.gen(function* () {
686
- const provider = yield* ProviderService;
687
- return yield* provider.getChainId();
688
- }).pipe(Effect.provide(layer)),
643
+ getChainId().pipe(Effect.provide(layer)),
689
644
  );
690
645
 
691
646
  expect(Exit.isFailure(exit)).toBe(true);
@@ -698,10 +653,7 @@ describe("ProviderService", () => {
698
653
  const layer = Provider.pipe(Layer.provide(transport));
699
654
 
700
655
  const result = await Effect.runPromise(
701
- Effect.gen(function* () {
702
- const provider = yield* ProviderService;
703
- return yield* provider.getGasPrice();
704
- }).pipe(Effect.provide(layer)),
656
+ getGasPrice().pipe(Effect.provide(layer)),
705
657
  );
706
658
 
707
659
  expect(result).toBe(1000000000n);
@@ -716,10 +668,7 @@ describe("ProviderService", () => {
716
668
  const layer = Provider.pipe(Layer.provide(transport));
717
669
 
718
670
  const result = await Effect.runPromise(
719
- Effect.gen(function* () {
720
- const provider = yield* ProviderService;
721
- return yield* provider.getMaxPriorityFeePerGas();
722
- }).pipe(Effect.provide(layer)),
671
+ getMaxPriorityFeePerGas().pipe(Effect.provide(layer)),
723
672
  );
724
673
 
725
674
  expect(result).toBe(1000000000n);
@@ -738,10 +687,7 @@ describe("ProviderService", () => {
738
687
  const layer = Provider.pipe(Layer.provide(transport));
739
688
 
740
689
  const result = await Effect.runPromise(
741
- Effect.gen(function* () {
742
- const provider = yield* ProviderService;
743
- return yield* provider.getFeeHistory(2, "latest", [50]);
744
- }).pipe(Effect.provide(layer)),
690
+ getFeeHistory(2, "latest", [50]).pipe(Effect.provide(layer)),
745
691
  );
746
692
 
747
693
  expect(result.oldestBlock).toBe("0x10");
@@ -764,11 +710,8 @@ describe("ProviderService", () => {
764
710
  const layer = Provider.pipe(Layer.provide(transport));
765
711
 
766
712
  const result = await Effect.runPromise(
767
- Effect.gen(function* () {
768
- const provider = yield* ProviderService;
769
- return yield* provider.createAccessList({
770
- to: "0x1234567890123456789012345678901234567890",
771
- });
713
+ createAccessList({
714
+ to: "0x1234567890123456789012345678901234567890",
772
715
  }).pipe(Effect.provide(layer)),
773
716
  );
774
717
 
@@ -788,10 +731,7 @@ describe("ProviderService", () => {
788
731
  const layer = Provider.pipe(Layer.provide(transport));
789
732
 
790
733
  const exit = await Effect.runPromiseExit(
791
- Effect.gen(function* () {
792
- const provider = yield* ProviderService;
793
- return yield* provider.getBlockNumber();
794
- }).pipe(Effect.provide(layer)),
734
+ getBlockNumber().pipe(Effect.provide(layer)),
795
735
  );
796
736
 
797
737
  expect(Exit.isFailure(exit)).toBe(true);
@@ -808,10 +748,7 @@ describe("ProviderService", () => {
808
748
  const layer = Provider.pipe(Layer.provide(transport));
809
749
 
810
750
  const result = await Effect.runPromise(
811
- Effect.gen(function* () {
812
- const provider = yield* ProviderService;
813
- return yield* provider.getBlockNumber();
814
- }).pipe(Effect.provide(layer)),
751
+ getBlockNumber().pipe(Effect.provide(layer)),
815
752
  );
816
753
 
817
754
  expect(result).toBe(0x1234n);
@@ -827,10 +764,9 @@ describe("ProviderService", () => {
827
764
 
828
765
  const [blockNumber, chainId, gasPrice] = await Effect.runPromise(
829
766
  Effect.gen(function* () {
830
- const provider = yield* ProviderService;
831
- const block = yield* provider.getBlockNumber();
832
- const chain = yield* provider.getChainId();
833
- const gas = yield* provider.getGasPrice();
767
+ const block = yield* getBlockNumber();
768
+ const chain = yield* getChainId();
769
+ const gas = yield* getGasPrice();
834
770
  return [block, chain, gas] as const;
835
771
  }).pipe(Effect.provide(layer)),
836
772
  );
@@ -850,11 +786,8 @@ describe("ProviderService", () => {
850
786
  const layer = Provider.pipe(Layer.provide(transport));
851
787
 
852
788
  const exit = await Effect.runPromiseExit(
853
- Effect.gen(function* () {
854
- const provider = yield* ProviderService;
855
- return yield* provider.call({
856
- to: "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
857
- });
789
+ call({
790
+ to: "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
858
791
  }).pipe(Effect.provide(layer)),
859
792
  );
860
793
 
@@ -885,10 +818,7 @@ describe("ProviderService", () => {
885
818
  const layer = Provider.pipe(Layer.provide(transport));
886
819
 
887
820
  const result = await Effect.runPromise(
888
- Effect.gen(function* () {
889
- const provider = yield* ProviderService;
890
- return yield* provider.waitForTransactionReceipt("0xabc");
891
- }).pipe(Effect.provide(layer)),
821
+ waitForTransactionReceipt("0xabc").pipe(Effect.provide(layer)),
892
822
  );
893
823
 
894
824
  expect(result.transactionHash).toBe("0xabc");
@@ -907,10 +837,7 @@ describe("ProviderService", () => {
907
837
  const layer = Provider.pipe(Layer.provide(transport));
908
838
 
909
839
  const result = await Effect.runPromise(
910
- Effect.gen(function* () {
911
- const provider = yield* ProviderService;
912
- return yield* provider.waitForTransactionReceipt("0xabc");
913
- }).pipe(Effect.provide(layer)),
840
+ waitForTransactionReceipt("0xabc").pipe(Effect.provide(layer)),
914
841
  );
915
842
 
916
843
  expect(callCount).toBe(3);
@@ -930,11 +857,8 @@ describe("ProviderService", () => {
930
857
  const layer = Provider.pipe(Layer.provide(transport));
931
858
 
932
859
  const result = await Effect.runPromise(
933
- Effect.gen(function* () {
934
- const provider = yield* ProviderService;
935
- return yield* provider.waitForTransactionReceipt("0xabc", {
936
- confirmations: 3,
937
- });
860
+ waitForTransactionReceipt("0xabc", {
861
+ confirmations: 3,
938
862
  }).pipe(Effect.provide(layer)),
939
863
  );
940
864
 
@@ -949,11 +873,8 @@ describe("ProviderService", () => {
949
873
  const layer = Provider.pipe(Layer.provide(transport));
950
874
 
951
875
  const exit = await Effect.runPromiseExit(
952
- Effect.gen(function* () {
953
- const provider = yield* ProviderService;
954
- return yield* provider.waitForTransactionReceipt("0xabc", {
955
- timeout: 2000,
956
- });
876
+ waitForTransactionReceipt("0xabc", {
877
+ timeout: 2000,
957
878
  }).pipe(Effect.provide(layer)),
958
879
  );
959
880
 
@@ -976,12 +897,9 @@ describe("ProviderService", () => {
976
897
  const layer = Provider.pipe(Layer.provide(transport));
977
898
 
978
899
  const exit = await Effect.runPromiseExit(
979
- Effect.gen(function* () {
980
- const provider = yield* ProviderService;
981
- return yield* provider.waitForTransactionReceipt("0xabc", {
982
- confirmations: 5,
983
- timeout: 2000,
984
- });
900
+ waitForTransactionReceipt("0xabc", {
901
+ confirmations: 5,
902
+ timeout: 2000,
985
903
  }).pipe(Effect.provide(layer)),
986
904
  );
987
905
 
@@ -995,11 +913,8 @@ describe("ProviderService", () => {
995
913
  const layer = Provider.pipe(Layer.provide(transport));
996
914
 
997
915
  const exit = await Effect.runPromiseExit(
998
- Effect.gen(function* () {
999
- const provider = yield* ProviderService;
1000
- return yield* provider.waitForTransactionReceipt("0xabc", {
1001
- confirmations: 0,
1002
- });
916
+ waitForTransactionReceipt("0xabc", {
917
+ confirmations: 0,
1003
918
  }).pipe(Effect.provide(layer)),
1004
919
  );
1005
920
 
@@ -1028,12 +943,9 @@ describe("ProviderService", () => {
1028
943
 
1029
944
  const start = Date.now();
1030
945
  const exit = await Effect.runPromiseExit(
1031
- Effect.gen(function* () {
1032
- const provider = yield* ProviderService;
1033
- return yield* provider.waitForTransactionReceipt("0xabc", {
1034
- timeout: 3000,
1035
- confirmations: 5,
1036
- });
946
+ waitForTransactionReceipt("0xabc", {
947
+ timeout: 3000,
948
+ confirmations: 5,
1037
949
  }).pipe(Effect.provide(layer)),
1038
950
  );
1039
951
 
@@ -1061,10 +973,7 @@ describe("ProviderService", () => {
1061
973
  const addr = Address("0x1234567890123456789012345678901234567890");
1062
974
 
1063
975
  await Effect.runPromise(
1064
- Effect.gen(function* () {
1065
- const provider = yield* ProviderService;
1066
- return yield* provider.getBalance(addr);
1067
- }).pipe(Effect.provide(layer)),
976
+ getBalance(addr).pipe(Effect.provide(layer)),
1068
977
  );
1069
978
 
1070
979
  expect(capturedParams[0]).toBe(
@@ -1091,13 +1000,10 @@ describe("ProviderService", () => {
1091
1000
  );
1092
1001
 
1093
1002
  await Effect.runPromise(
1094
- Effect.gen(function* () {
1095
- const provider = yield* ProviderService;
1096
- return yield* provider.getStorageAt(
1097
- "0x1234567890123456789012345678901234567890",
1098
- hash,
1099
- );
1100
- }).pipe(Effect.provide(layer)),
1003
+ getStorageAt(
1004
+ "0x1234567890123456789012345678901234567890",
1005
+ hash,
1006
+ ).pipe(Effect.provide(layer)),
1101
1007
  );
1102
1008
 
1103
1009
  expect(capturedParams[1]).toBe(
@@ -1112,10 +1018,7 @@ describe("ProviderService", () => {
1112
1018
  const layer = Provider.pipe(Layer.provide(transport));
1113
1019
 
1114
1020
  const exit = await Effect.runPromiseExit(
1115
- Effect.gen(function* () {
1116
- const provider = yield* ProviderService;
1117
- return yield* provider.getFeeHistory(0, "latest", [25, 50, 75]);
1118
- }).pipe(Effect.provide(layer)),
1021
+ getFeeHistory(0, "latest", [25, 50, 75]).pipe(Effect.provide(layer)),
1119
1022
  );
1120
1023
 
1121
1024
  expect(Exit.isFailure(exit)).toBe(true);
@@ -1132,10 +1035,7 @@ describe("ProviderService", () => {
1132
1035
  const layer = Provider.pipe(Layer.provide(transport));
1133
1036
 
1134
1037
  const exit = await Effect.runPromiseExit(
1135
- Effect.gen(function* () {
1136
- const provider = yield* ProviderService;
1137
- return yield* provider.getFeeHistory(-1, "latest", [25, 50, 75]);
1138
- }).pipe(Effect.provide(layer)),
1038
+ getFeeHistory(-1, "latest", [25, 50, 75]).pipe(Effect.provide(layer)),
1139
1039
  );
1140
1040
 
1141
1041
  expect(Exit.isFailure(exit)).toBe(true);
@@ -1152,10 +1052,7 @@ describe("ProviderService", () => {
1152
1052
  const layer = Provider.pipe(Layer.provide(transport));
1153
1053
 
1154
1054
  const exit = await Effect.runPromiseExit(
1155
- Effect.gen(function* () {
1156
- const provider = yield* ProviderService;
1157
- return yield* provider.getFeeHistory(1.5, "latest", [25, 50, 75]);
1158
- }).pipe(Effect.provide(layer)),
1055
+ getFeeHistory(1.5, "latest", [25, 50, 75]).pipe(Effect.provide(layer)),
1159
1056
  );
1160
1057
 
1161
1058
  expect(Exit.isFailure(exit)).toBe(true);
@@ -1172,10 +1069,7 @@ describe("ProviderService", () => {
1172
1069
  const layer = Provider.pipe(Layer.provide(transport));
1173
1070
 
1174
1071
  const exit = await Effect.runPromiseExit(
1175
- Effect.gen(function* () {
1176
- const provider = yield* ProviderService;
1177
- return yield* provider.getFeeHistory(4, "latest", [-1, 50, 75]);
1178
- }).pipe(Effect.provide(layer)),
1072
+ getFeeHistory(4, "latest", [-1, 50, 75]).pipe(Effect.provide(layer)),
1179
1073
  );
1180
1074
 
1181
1075
  expect(Exit.isFailure(exit)).toBe(true);
@@ -1192,10 +1086,7 @@ describe("ProviderService", () => {
1192
1086
  const layer = Provider.pipe(Layer.provide(transport));
1193
1087
 
1194
1088
  const exit = await Effect.runPromiseExit(
1195
- Effect.gen(function* () {
1196
- const provider = yield* ProviderService;
1197
- return yield* provider.getFeeHistory(4, "latest", [25, 50, 101]);
1198
- }).pipe(Effect.provide(layer)),
1089
+ getFeeHistory(4, "latest", [25, 50, 101]).pipe(Effect.provide(layer)),
1199
1090
  );
1200
1091
 
1201
1092
  expect(Exit.isFailure(exit)).toBe(true);
@@ -1212,10 +1103,7 @@ describe("ProviderService", () => {
1212
1103
  const layer = Provider.pipe(Layer.provide(transport));
1213
1104
 
1214
1105
  const exit = await Effect.runPromiseExit(
1215
- Effect.gen(function* () {
1216
- const provider = yield* ProviderService;
1217
- return yield* provider.getFeeHistory(4, "latest", [75, 50, 25]);
1218
- }).pipe(Effect.provide(layer)),
1106
+ getFeeHistory(4, "latest", [75, 50, 25]).pipe(Effect.provide(layer)),
1219
1107
  );
1220
1108
 
1221
1109
  expect(Exit.isFailure(exit)).toBe(true);
@@ -1238,10 +1126,7 @@ describe("ProviderService", () => {
1238
1126
  const layer = Provider.pipe(Layer.provide(transport));
1239
1127
 
1240
1128
  const result = await Effect.runPromise(
1241
- Effect.gen(function* () {
1242
- const provider = yield* ProviderService;
1243
- return yield* provider.getFeeHistory(4, "latest", [25, 50, 75]);
1244
- }).pipe(Effect.provide(layer)),
1129
+ getFeeHistory(4, "latest", [25, 50, 75]).pipe(Effect.provide(layer)),
1245
1130
  );
1246
1131
 
1247
1132
  expect(result.oldestBlock).toBe("0x1");
@@ -1262,10 +1147,7 @@ describe("ProviderService", () => {
1262
1147
  const layer = Provider.pipe(Layer.provide(transport));
1263
1148
 
1264
1149
  const exit = await Effect.runPromiseExit(
1265
- Effect.gen(function* () {
1266
- const provider = yield* ProviderService;
1267
- return yield* provider.getBlockNumber();
1268
- }).pipe(Effect.provide(layer)),
1150
+ getBlockNumber().pipe(Effect.provide(layer)),
1269
1151
  );
1270
1152
 
1271
1153
  expect(Exit.isFailure(exit)).toBe(true);
@@ -1292,12 +1174,9 @@ describe("ProviderService", () => {
1292
1174
  const layer = Provider.pipe(Layer.provide(transport));
1293
1175
 
1294
1176
  const exit = await Effect.runPromiseExit(
1295
- Effect.gen(function* () {
1296
- const provider = yield* ProviderService;
1297
- return yield* provider.getBalance(
1298
- "0x1234567890123456789012345678901234567890",
1299
- );
1300
- }).pipe(Effect.provide(layer)),
1177
+ getBalance("0x1234567890123456789012345678901234567890").pipe(
1178
+ Effect.provide(layer),
1179
+ ),
1301
1180
  );
1302
1181
 
1303
1182
  expect(Exit.isFailure(exit)).toBe(true);
@@ -1316,10 +1195,7 @@ describe("ProviderService", () => {
1316
1195
  const layer = Provider.pipe(Layer.provide(transport));
1317
1196
 
1318
1197
  const result = await Effect.runPromise(
1319
- Effect.gen(function* () {
1320
- const provider = yield* ProviderService;
1321
- return yield* provider.sendRawTransaction("0xf86c...");
1322
- }).pipe(Effect.provide(layer)),
1198
+ sendRawTransaction("0xf86c...").pipe(Effect.provide(layer)),
1323
1199
  );
1324
1200
 
1325
1201
  expect(result).toBe(txHash);
@@ -1338,10 +1214,7 @@ describe("ProviderService", () => {
1338
1214
  const layer = Provider.pipe(Layer.provide(transport));
1339
1215
 
1340
1216
  const exit = await Effect.runPromiseExit(
1341
- Effect.gen(function* () {
1342
- const provider = yield* ProviderService;
1343
- return yield* provider.sendRawTransaction("0xf86c...");
1344
- }).pipe(Effect.provide(layer)),
1217
+ sendRawTransaction("0xf86c...").pipe(Effect.provide(layer)),
1345
1218
  );
1346
1219
 
1347
1220
  expect(Exit.isFailure(exit)).toBe(true);
@@ -1360,10 +1233,7 @@ describe("ProviderService", () => {
1360
1233
  const layer = Provider.pipe(Layer.provide(transport));
1361
1234
 
1362
1235
  const exit = await Effect.runPromiseExit(
1363
- Effect.gen(function* () {
1364
- const provider = yield* ProviderService;
1365
- return yield* provider.sendRawTransaction("0xf86c...");
1366
- }).pipe(Effect.provide(layer)),
1236
+ sendRawTransaction("0xf86c...").pipe(Effect.provide(layer)),
1367
1237
  );
1368
1238
 
1369
1239
  expect(Exit.isFailure(exit)).toBe(true);
@@ -1383,10 +1253,7 @@ describe("ProviderService", () => {
1383
1253
  const layer = Provider.pipe(Layer.provide(transport));
1384
1254
 
1385
1255
  const result = await Effect.runPromise(
1386
- Effect.gen(function* () {
1387
- const provider = yield* ProviderService;
1388
- return yield* provider.getUncle({ blockTag: "latest" }, "0x0");
1389
- }).pipe(Effect.provide(layer)),
1256
+ getUncle({ blockTag: "latest" }, "0x0").pipe(Effect.provide(layer)),
1390
1257
  );
1391
1258
 
1392
1259
  expect(result.hash).toBe("0xuncle");
@@ -1408,13 +1275,10 @@ describe("ProviderService", () => {
1408
1275
  const layer = Provider.pipe(Layer.provide(transport));
1409
1276
 
1410
1277
  const result = await Effect.runPromise(
1411
- Effect.gen(function* () {
1412
- const provider = yield* ProviderService;
1413
- return yield* provider.getProof(
1414
- "0x1234567890123456789012345678901234567890",
1415
- ["0x0"],
1416
- );
1417
- }).pipe(Effect.provide(layer)),
1278
+ getProof(
1279
+ "0x1234567890123456789012345678901234567890",
1280
+ ["0x0"],
1281
+ ).pipe(Effect.provide(layer)),
1418
1282
  );
1419
1283
 
1420
1284
  expect(result.address).toBe("0x1234567890123456789012345678901234567890");
@@ -1428,10 +1292,7 @@ describe("ProviderService", () => {
1428
1292
  const layer = Provider.pipe(Layer.provide(transport));
1429
1293
 
1430
1294
  const result = await Effect.runPromise(
1431
- Effect.gen(function* () {
1432
- const provider = yield* ProviderService;
1433
- return yield* provider.getBlobBaseFee();
1434
- }).pipe(Effect.provide(layer)),
1295
+ getBlobBaseFee().pipe(Effect.provide(layer)),
1435
1296
  );
1436
1297
 
1437
1298
  expect(result).toBe(1000000000n);
@@ -1447,10 +1308,7 @@ describe("ProviderService", () => {
1447
1308
  const layer = Provider.pipe(Layer.provide(transport));
1448
1309
 
1449
1310
  const result = await Effect.runPromise(
1450
- Effect.gen(function* () {
1451
- const provider = yield* ProviderService;
1452
- return yield* provider.getBlobBaseFee();
1453
- }).pipe(Effect.provide(layer)),
1311
+ getBlobBaseFee().pipe(Effect.provide(layer)),
1454
1312
  );
1455
1313
 
1456
1314
  expect(result).toBe(1n);
@@ -1465,10 +1323,7 @@ describe("ProviderService", () => {
1465
1323
  const layer = Provider.pipe(Layer.provide(transport));
1466
1324
 
1467
1325
  const exit = await Effect.runPromiseExit(
1468
- Effect.gen(function* () {
1469
- const provider = yield* ProviderService;
1470
- return yield* provider.getBlobBaseFee();
1471
- }).pipe(Effect.provide(layer)),
1326
+ getBlobBaseFee().pipe(Effect.provide(layer)),
1472
1327
  );
1473
1328
 
1474
1329
  expect(Exit.isFailure(exit)).toBe(true);
@@ -1479,22 +1334,6 @@ describe("ProviderService", () => {
1479
1334
  });
1480
1335
  });
1481
1336
 
1482
- describe("estimateBlobGas", () => {
1483
- it("estimates blob gas from blob count", () => {
1484
- expect(estimateBlobGas(3)).toBe(393216n);
1485
- });
1486
-
1487
- it("throws for invalid blob count", () => {
1488
- expect(() => estimateBlobGas(7)).toThrow(InvalidBlobCountError);
1489
- });
1490
- });
1491
-
1492
- describe("calculateBlobGasPrice", () => {
1493
- it("calculates total blob fee", () => {
1494
- expect(calculateBlobGasPrice(10n, 2n)).toBe(20n);
1495
- });
1496
- });
1497
-
1498
1337
  describe("getTransactionConfirmations", () => {
1499
1338
  it("returns confirmations for mined transaction", async () => {
1500
1339
  const mockReceipt = {
@@ -1509,10 +1348,7 @@ describe("ProviderService", () => {
1509
1348
  const layer = Provider.pipe(Layer.provide(transport));
1510
1349
 
1511
1350
  const result = await Effect.runPromise(
1512
- Effect.gen(function* () {
1513
- const provider = yield* ProviderService;
1514
- return yield* provider.getTransactionConfirmations("0xabc");
1515
- }).pipe(Effect.provide(layer)),
1351
+ getTransactionConfirmations("0xabc").pipe(Effect.provide(layer)),
1516
1352
  );
1517
1353
 
1518
1354
  expect(result).toBe(6n); // 105 - 100 + 1 = 6 confirmations
@@ -1526,10 +1362,7 @@ describe("ProviderService", () => {
1526
1362
  const layer = Provider.pipe(Layer.provide(transport));
1527
1363
 
1528
1364
  const result = await Effect.runPromise(
1529
- Effect.gen(function* () {
1530
- const provider = yield* ProviderService;
1531
- return yield* provider.getTransactionConfirmations("0xabc");
1532
- }).pipe(Effect.provide(layer)),
1365
+ getTransactionConfirmations("0xabc").pipe(Effect.provide(layer)),
1533
1366
  );
1534
1367
 
1535
1368
  expect(result).toBe(0n);
@@ -1554,13 +1387,10 @@ describe("ProviderService", () => {
1554
1387
  ] as const;
1555
1388
 
1556
1389
  const results = await Effect.runPromise(
1557
- Effect.gen(function* () {
1558
- const provider = yield* ProviderService;
1559
- return yield* Effect.all(
1560
- addresses.map((addr) => provider.getBalance(addr)),
1561
- { concurrency: "unbounded" },
1562
- );
1563
- }).pipe(Effect.provide(layer)),
1390
+ Effect.all(
1391
+ addresses.map((addr) => getBalance(addr)),
1392
+ { concurrency: "unbounded" },
1393
+ ).pipe(Effect.provide(layer)),
1564
1394
  );
1565
1395
 
1566
1396
  expect(results).toHaveLength(3);
@@ -1577,12 +1407,9 @@ describe("ProviderService", () => {
1577
1407
  const layer = Provider.pipe(Layer.provide(transport));
1578
1408
 
1579
1409
  const result = await Effect.runPromise(
1580
- Effect.gen(function* () {
1581
- const provider = yield* ProviderService;
1582
- return yield* provider.getBalance(
1583
- "0x1234567890123456789012345678901234567890",
1584
- );
1585
- }).pipe(Effect.provide(layer)),
1410
+ getBalance("0x1234567890123456789012345678901234567890").pipe(
1411
+ Effect.provide(layer),
1412
+ ),
1586
1413
  );
1587
1414
 
1588
1415
  expect(result).toBe(0n);
@@ -1593,12 +1420,9 @@ describe("ProviderService", () => {
1593
1420
  const layer = Provider.pipe(Layer.provide(transport));
1594
1421
 
1595
1422
  const result = await Effect.runPromise(
1596
- Effect.gen(function* () {
1597
- const provider = yield* ProviderService;
1598
- return yield* provider.getCode(
1599
- "0x1234567890123456789012345678901234567890",
1600
- );
1601
- }).pipe(Effect.provide(layer)),
1423
+ getCode("0x1234567890123456789012345678901234567890").pipe(
1424
+ Effect.provide(layer),
1425
+ ),
1602
1426
  );
1603
1427
 
1604
1428
  expect(result).toBe("0x");
@@ -1609,10 +1433,7 @@ describe("ProviderService", () => {
1609
1433
  const layer = Provider.pipe(Layer.provide(transport));
1610
1434
 
1611
1435
  const exit = await Effect.runPromiseExit(
1612
- Effect.gen(function* () {
1613
- const provider = yield* ProviderService;
1614
- return yield* provider.getTransactionReceipt("0xabc");
1615
- }).pipe(Effect.provide(layer)),
1436
+ getTransactionReceipt("0xabc").pipe(Effect.provide(layer)),
1616
1437
  );
1617
1438
 
1618
1439
  expect(Exit.isFailure(exit)).toBe(true);
@@ -1627,11 +1448,8 @@ describe("ProviderService", () => {
1627
1448
  const layer = Provider.pipe(Layer.provide(transport));
1628
1449
 
1629
1450
  const result = await Effect.runPromise(
1630
- Effect.gen(function* () {
1631
- const provider = yield* ProviderService;
1632
- return yield* provider.getLogs({
1633
- address: "0x1234567890123456789012345678901234567890",
1634
- });
1451
+ getLogs({
1452
+ address: "0x1234567890123456789012345678901234567890",
1635
1453
  }).pipe(Effect.provide(layer)),
1636
1454
  );
1637
1455
 
@@ -1643,10 +1461,7 @@ describe("ProviderService", () => {
1643
1461
  const layer = Provider.pipe(Layer.provide(transport));
1644
1462
 
1645
1463
  const result = await Effect.runPromise(
1646
- Effect.gen(function* () {
1647
- const provider = yield* ProviderService;
1648
- return yield* provider.getBlockNumber();
1649
- }).pipe(Effect.provide(layer)),
1464
+ getBlockNumber().pipe(Effect.provide(layer)),
1650
1465
  );
1651
1466
 
1652
1467
  expect(result).toBe(0xffffffffffffffn);
@@ -1657,11 +1472,8 @@ describe("ProviderService", () => {
1657
1472
  const layer = Provider.pipe(Layer.provide(transport));
1658
1473
 
1659
1474
  const result = await Effect.runPromise(
1660
- Effect.gen(function* () {
1661
- const provider = yield* ProviderService;
1662
- return yield* provider.estimateGas({
1663
- to: "0x1234567890123456789012345678901234567890",
1664
- });
1475
+ estimateGas({
1476
+ to: "0x1234567890123456789012345678901234567890",
1665
1477
  }).pipe(Effect.provide(layer)),
1666
1478
  );
1667
1479
 
@@ -1686,10 +1498,7 @@ describe("ProviderService", () => {
1686
1498
  const layer = Provider.pipe(Layer.provide(transport));
1687
1499
 
1688
1500
  await Effect.runPromise(
1689
- Effect.gen(function* () {
1690
- const provider = yield* ProviderService;
1691
- return yield* provider.getBlock({ blockNumber: 16n });
1692
- }).pipe(Effect.provide(layer)),
1501
+ getBlock({ blockNumber: 16n }).pipe(Effect.provide(layer)),
1693
1502
  );
1694
1503
 
1695
1504
  expect(capturedParams[0]).toBe("0x10");
@@ -1711,10 +1520,7 @@ describe("ProviderService", () => {
1711
1520
  const layer = Provider.pipe(Layer.provide(transport));
1712
1521
 
1713
1522
  await Effect.runPromise(
1714
- Effect.gen(function* () {
1715
- const provider = yield* ProviderService;
1716
- return yield* provider.getBlock({ blockTag: "pending" });
1717
- }).pipe(Effect.provide(layer)),
1523
+ getBlock({ blockTag: "pending" }).pipe(Effect.provide(layer)),
1718
1524
  );
1719
1525
 
1720
1526
  expect(capturedParams[0]).toBe("pending");