ox 0.0.1 → 0.1.0

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 (756) hide show
  1. package/Abi/package.json +6 -0
  2. package/Abi.ts +163 -0
  3. package/AbiConstructor/package.json +6 -0
  4. package/AbiConstructor.ts +413 -0
  5. package/AbiError/package.json +6 -0
  6. package/AbiError.ts +719 -0
  7. package/AbiEvent/package.json +6 -0
  8. package/AbiEvent.ts +1284 -0
  9. package/AbiFunction/package.json +6 -0
  10. package/AbiFunction.ts +813 -0
  11. package/AbiItem/package.json +6 -0
  12. package/AbiItem.ts +779 -0
  13. package/AbiParameters/package.json +6 -0
  14. package/AbiParameters.ts +712 -0
  15. package/AccessList/package.json +6 -0
  16. package/AccessList.ts +124 -0
  17. package/AccountProof/package.json +6 -0
  18. package/AccountProof.ts +35 -0
  19. package/Address/package.json +6 -0
  20. package/Address.ts +359 -0
  21. package/AesGcm/package.json +6 -0
  22. package/AesGcm.ts +220 -0
  23. package/Authorization/package.json +6 -0
  24. package/Authorization.ts +639 -0
  25. package/Base58/package.json +6 -0
  26. package/Base58.ts +180 -0
  27. package/Base64/package.json +6 -0
  28. package/Base64.ts +333 -0
  29. package/Blobs/package.json +6 -0
  30. package/Blobs.ts +982 -0
  31. package/Block/package.json +6 -0
  32. package/Block.ts +317 -0
  33. package/Bloom/package.json +6 -0
  34. package/Bloom.ts +80 -0
  35. package/Bls/package.json +6 -0
  36. package/Bls.ts +496 -0
  37. package/BlsPoint/package.json +6 -0
  38. package/BlsPoint.ts +232 -0
  39. package/Bytes/package.json +6 -0
  40. package/Bytes.ts +963 -0
  41. package/CHANGELOG.md +7 -0
  42. package/Caches/package.json +6 -0
  43. package/Caches.ts +21 -0
  44. package/ContractAddress/package.json +6 -0
  45. package/ContractAddress.ts +181 -0
  46. package/Ens/package.json +6 -0
  47. package/Ens.ts +116 -0
  48. package/Errors/package.json +6 -0
  49. package/Errors.ts +95 -0
  50. package/Fee/package.json +6 -0
  51. package/Fee.ts +57 -0
  52. package/Filter/package.json +6 -0
  53. package/Filter.ts +144 -0
  54. package/Hash/package.json +6 -0
  55. package/Hash.ts +210 -0
  56. package/HdKey/package.json +6 -0
  57. package/HdKey.ts +175 -0
  58. package/Hex/package.json +6 -0
  59. package/Hex.ts +1040 -0
  60. package/Json/package.json +6 -0
  61. package/Json.ts +84 -0
  62. package/Kzg/package.json +6 -0
  63. package/Kzg.ts +51 -0
  64. package/LICENSE +21 -0
  65. package/Log/package.json +6 -0
  66. package/Log.ts +248 -0
  67. package/Mnemonic/package.json +6 -0
  68. package/Mnemonic.ts +249 -0
  69. package/P256/package.json +6 -0
  70. package/P256.ts +230 -0
  71. package/PersonalMessage/package.json +6 -0
  72. package/PersonalMessage.ts +70 -0
  73. package/Provider/package.json +6 -0
  74. package/Provider.ts +354 -0
  75. package/PublicKey/package.json +6 -0
  76. package/PublicKey.ts +545 -0
  77. package/README.md +75 -26
  78. package/Rlp/package.json +6 -0
  79. package/Rlp.ts +390 -0
  80. package/RpcRequest/package.json +6 -0
  81. package/RpcRequest.ts +192 -0
  82. package/RpcResponse/package.json +6 -0
  83. package/RpcResponse.ts +389 -0
  84. package/RpcSchema/package.json +6 -0
  85. package/RpcSchema.ts +273 -0
  86. package/RpcTransport/package.json +6 -0
  87. package/RpcTransport.ts +198 -0
  88. package/Secp256k1/package.json +6 -0
  89. package/Secp256k1.ts +304 -0
  90. package/Signature/package.json +6 -0
  91. package/Signature.ts +909 -0
  92. package/Siwe/package.json +6 -0
  93. package/Siwe.ts +516 -0
  94. package/Solidity/package.json +6 -0
  95. package/Solidity.ts +109 -0
  96. package/Transaction/package.json +6 -0
  97. package/Transaction.ts +429 -0
  98. package/TransactionEnvelope/package.json +6 -0
  99. package/TransactionEnvelope.ts +205 -0
  100. package/TransactionEnvelopeEip1559/package.json +6 -0
  101. package/TransactionEnvelopeEip1559.ts +656 -0
  102. package/TransactionEnvelopeEip2930/package.json +6 -0
  103. package/TransactionEnvelopeEip2930.ts +624 -0
  104. package/TransactionEnvelopeEip4844/package.json +6 -0
  105. package/TransactionEnvelopeEip4844.ts +764 -0
  106. package/TransactionEnvelopeEip7702/package.json +6 -0
  107. package/TransactionEnvelopeEip7702.ts +639 -0
  108. package/TransactionEnvelopeLegacy/package.json +6 -0
  109. package/TransactionEnvelopeLegacy.ts +674 -0
  110. package/TransactionReceipt/package.json +6 -0
  111. package/TransactionReceipt.ts +341 -0
  112. package/TransactionRequest/package.json +6 -0
  113. package/TransactionRequest.ts +151 -0
  114. package/TypedData/package.json +6 -0
  115. package/TypedData.ts +931 -0
  116. package/ValidatorData/package.json +6 -0
  117. package/ValidatorData.ts +87 -0
  118. package/Value/package.json +6 -0
  119. package/Value.ts +242 -0
  120. package/WebAuthnP256/package.json +6 -0
  121. package/WebAuthnP256.ts +803 -0
  122. package/WebCryptoP256/package.json +6 -0
  123. package/WebCryptoP256.ts +190 -0
  124. package/Withdrawal/package.json +6 -0
  125. package/Withdrawal.ts +95 -0
  126. package/_cjs/Abi.js +17 -0
  127. package/_cjs/Abi.js.map +1 -0
  128. package/_cjs/AbiConstructor.js +42 -0
  129. package/_cjs/AbiConstructor.js.map +1 -0
  130. package/_cjs/AbiError.js +98 -0
  131. package/_cjs/AbiError.js.map +1 -0
  132. package/_cjs/AbiEvent.js +338 -0
  133. package/_cjs/AbiEvent.js.map +1 -0
  134. package/_cjs/AbiFunction.js +85 -0
  135. package/_cjs/AbiFunction.js.map +1 -0
  136. package/_cjs/AbiItem.js +180 -0
  137. package/_cjs/AbiItem.js.map +1 -0
  138. package/_cjs/AbiParameters.js +229 -0
  139. package/_cjs/AbiParameters.js.map +1 -0
  140. package/_cjs/AccessList.js +51 -0
  141. package/_cjs/AccessList.js.map +1 -0
  142. package/_cjs/AccountProof.js +3 -0
  143. package/_cjs/AccountProof.js.map +1 -0
  144. package/_cjs/Address.js +121 -0
  145. package/_cjs/Address.js.map +1 -0
  146. package/_cjs/AesGcm.js +55 -0
  147. package/_cjs/AesGcm.js.map +1 -0
  148. package/_cjs/Authorization.js +99 -0
  149. package/_cjs/Authorization.js.map +1 -0
  150. package/_cjs/Base58.js +52 -0
  151. package/_cjs/Base58.js.map +1 -0
  152. package/_cjs/Base64.js +76 -0
  153. package/_cjs/Base64.js.map +1 -0
  154. package/_cjs/Blobs.js +255 -0
  155. package/_cjs/Blobs.js.map +1 -0
  156. package/_cjs/Block.js +87 -0
  157. package/_cjs/Block.js.map +1 -0
  158. package/_cjs/Bloom.js +23 -0
  159. package/_cjs/Bloom.js.map +1 -0
  160. package/_cjs/Bls.js +79 -0
  161. package/_cjs/Bls.js.map +1 -0
  162. package/_cjs/BlsPoint.js +32 -0
  163. package/_cjs/BlsPoint.js.map +1 -0
  164. package/_cjs/Bytes.js +279 -0
  165. package/_cjs/Bytes.js.map +1 -0
  166. package/_cjs/Caches.js +14 -0
  167. package/_cjs/Caches.js.map +1 -0
  168. package/_cjs/ContractAddress.js +39 -0
  169. package/_cjs/ContractAddress.js.map +1 -0
  170. package/_cjs/Ens.js +37 -0
  171. package/_cjs/Ens.js.map +1 -0
  172. package/_cjs/Errors.js +99 -0
  173. package/_cjs/Errors.js.map +1 -0
  174. package/_cjs/Fee.js +3 -0
  175. package/_cjs/Fee.js.map +1 -0
  176. package/_cjs/Filter.js +43 -0
  177. package/_cjs/Filter.js.map +1 -0
  178. package/_cjs/Hash.js +40 -0
  179. package/_cjs/Hash.js.map +1 -0
  180. package/_cjs/HdKey.js +30 -0
  181. package/_cjs/HdKey.js.map +1 -0
  182. package/_cjs/Hex.js +324 -0
  183. package/_cjs/Hex.js.map +1 -0
  184. package/_cjs/Json.js +25 -0
  185. package/_cjs/Json.js.map +1 -0
  186. package/_cjs/Kzg.js +14 -0
  187. package/_cjs/Kzg.js.map +1 -0
  188. package/_cjs/Log.js +35 -0
  189. package/_cjs/Log.js.map +1 -0
  190. package/_cjs/Mnemonic.js +56 -0
  191. package/_cjs/Mnemonic.js.map +1 -0
  192. package/_cjs/P256.js +52 -0
  193. package/_cjs/P256.js.map +1 -0
  194. package/_cjs/PersonalMessage.js +16 -0
  195. package/_cjs/PersonalMessage.js.map +1 -0
  196. package/_cjs/Provider.js +90 -0
  197. package/_cjs/Provider.js.map +1 -0
  198. package/_cjs/PublicKey.js +192 -0
  199. package/_cjs/PublicKey.js.map +1 -0
  200. package/_cjs/Rlp.js +179 -0
  201. package/_cjs/Rlp.js.map +1 -0
  202. package/_cjs/RpcRequest.js +27 -0
  203. package/_cjs/RpcRequest.js.map +1 -0
  204. package/_cjs/RpcResponse.js +368 -0
  205. package/_cjs/RpcResponse.js.map +1 -0
  206. package/_cjs/RpcSchema.js +7 -0
  207. package/_cjs/RpcSchema.js.map +1 -0
  208. package/_cjs/RpcTransport.js +95 -0
  209. package/_cjs/RpcTransport.js.map +1 -0
  210. package/_cjs/Secp256k1.js +57 -0
  211. package/_cjs/Secp256k1.js.map +1 -0
  212. package/_cjs/Signature.js +305 -0
  213. package/_cjs/Signature.js.map +1 -0
  214. package/_cjs/Siwe.js +231 -0
  215. package/_cjs/Siwe.js.map +1 -0
  216. package/_cjs/Solidity.js +104 -0
  217. package/_cjs/Solidity.js.map +1 -0
  218. package/_cjs/Transaction.js +106 -0
  219. package/_cjs/Transaction.js.map +1 -0
  220. package/_cjs/TransactionEnvelope.js +80 -0
  221. package/_cjs/TransactionEnvelope.js.map +1 -0
  222. package/_cjs/TransactionEnvelopeEip1559.js +182 -0
  223. package/_cjs/TransactionEnvelopeEip1559.js.map +1 -0
  224. package/_cjs/TransactionEnvelopeEip2930.js +166 -0
  225. package/_cjs/TransactionEnvelopeEip2930.js.map +1 -0
  226. package/_cjs/TransactionEnvelopeEip4844.js +224 -0
  227. package/_cjs/TransactionEnvelopeEip4844.js.map +1 -0
  228. package/_cjs/TransactionEnvelopeEip7702.js +156 -0
  229. package/_cjs/TransactionEnvelopeEip7702.js.map +1 -0
  230. package/_cjs/TransactionEnvelopeLegacy.js +221 -0
  231. package/_cjs/TransactionEnvelopeLegacy.js.map +1 -0
  232. package/_cjs/TransactionReceipt.js +76 -0
  233. package/_cjs/TransactionReceipt.js.map +1 -0
  234. package/_cjs/TransactionRequest.js +51 -0
  235. package/_cjs/TransactionRequest.js.map +1 -0
  236. package/_cjs/TypedData.js +318 -0
  237. package/_cjs/TypedData.js.map +1 -0
  238. package/_cjs/ValidatorData.js +16 -0
  239. package/_cjs/ValidatorData.js.map +1 -0
  240. package/_cjs/Value.js +96 -0
  241. package/_cjs/Value.js.map +1 -0
  242. package/_cjs/WebAuthnP256.js +245 -0
  243. package/_cjs/WebAuthnP256.js.map +1 -0
  244. package/_cjs/WebCryptoP256.js +46 -0
  245. package/_cjs/WebCryptoP256.js.map +1 -0
  246. package/_cjs/Withdrawal.js +24 -0
  247. package/_cjs/Withdrawal.js.map +1 -0
  248. package/_cjs/index.js +66 -0
  249. package/_cjs/index.js.map +1 -0
  250. package/_cjs/internal/abi.js +11 -0
  251. package/_cjs/internal/abi.js.map +1 -0
  252. package/_cjs/internal/abiConstructor.js +3 -0
  253. package/_cjs/internal/abiConstructor.js.map +1 -0
  254. package/_cjs/internal/abiError.js +3 -0
  255. package/_cjs/internal/abiError.js.map +1 -0
  256. package/_cjs/internal/abiEvent.js +3 -0
  257. package/_cjs/internal/abiEvent.js.map +1 -0
  258. package/_cjs/internal/abiFunction.js +3 -0
  259. package/_cjs/internal/abiFunction.js.map +1 -0
  260. package/_cjs/internal/abiItem.js +110 -0
  261. package/_cjs/internal/abiItem.js.map +1 -0
  262. package/_cjs/internal/abiParameters.js +376 -0
  263. package/_cjs/internal/abiParameters.js.map +1 -0
  264. package/_cjs/internal/base58.js +89 -0
  265. package/_cjs/internal/base58.js.map +1 -0
  266. package/_cjs/internal/bytes.js +88 -0
  267. package/_cjs/internal/bytes.js.map +1 -0
  268. package/_cjs/internal/cursor.js +210 -0
  269. package/_cjs/internal/cursor.js.map +1 -0
  270. package/_cjs/internal/ens.js +43 -0
  271. package/_cjs/internal/ens.js.map +1 -0
  272. package/_cjs/internal/errors.js +28 -0
  273. package/_cjs/internal/errors.js.map +1 -0
  274. package/_cjs/internal/hdKey.js +19 -0
  275. package/_cjs/internal/hdKey.js.map +1 -0
  276. package/_cjs/internal/hex.js +66 -0
  277. package/_cjs/internal/hex.js.map +1 -0
  278. package/_cjs/internal/lru.js +34 -0
  279. package/_cjs/internal/lru.js.map +1 -0
  280. package/_cjs/internal/mnemonic/wordlists.js +24 -0
  281. package/_cjs/internal/mnemonic/wordlists.js.map +1 -0
  282. package/_cjs/internal/promise.js +49 -0
  283. package/_cjs/internal/promise.js.map +1 -0
  284. package/_cjs/internal/register.js +3 -0
  285. package/_cjs/internal/register.js.map +1 -0
  286. package/_cjs/internal/rpcSchema.js +3 -0
  287. package/_cjs/internal/rpcSchema.js.map +1 -0
  288. package/_cjs/internal/rpcSchemas/eth.js +3 -0
  289. package/_cjs/internal/rpcSchemas/eth.js.map +1 -0
  290. package/_cjs/internal/rpcSchemas/wallet.js +3 -0
  291. package/_cjs/internal/rpcSchemas/wallet.js.map +1 -0
  292. package/_cjs/internal/rpcTransport.js +19 -0
  293. package/_cjs/internal/rpcTransport.js.map +1 -0
  294. package/_cjs/internal/types.js +3 -0
  295. package/_cjs/internal/types.js.map +1 -0
  296. package/_cjs/internal/uid.js +17 -0
  297. package/_cjs/internal/uid.js.map +1 -0
  298. package/_cjs/internal/webauthn.js +28 -0
  299. package/_cjs/internal/webauthn.js.map +1 -0
  300. package/_cjs/package.json +1 -0
  301. package/_cjs/trusted-setups/Paths.js +6 -0
  302. package/_cjs/trusted-setups/Paths.js.map +1 -0
  303. package/_cjs/trusted-setups/index.js +5 -0
  304. package/_cjs/trusted-setups/index.js.map +1 -0
  305. package/_cjs/trusted-setups/internal/paths.js +11 -0
  306. package/_cjs/trusted-setups/internal/paths.js.map +1 -0
  307. package/_cjs/version.js +5 -0
  308. package/_cjs/version.js.map +1 -0
  309. package/_cjs/window/index.js +3 -0
  310. package/_cjs/window/index.js.map +1 -0
  311. package/_esm/Abi.js +19 -0
  312. package/_esm/Abi.js.map +1 -0
  313. package/_esm/AbiConstructor.js +102 -0
  314. package/_esm/AbiConstructor.js.map +1 -0
  315. package/_esm/AbiError.js +364 -0
  316. package/_esm/AbiError.js.map +1 -0
  317. package/_esm/AbiEvent.js +1038 -0
  318. package/_esm/AbiEvent.js.map +1 -0
  319. package/_esm/AbiFunction.js +549 -0
  320. package/_esm/AbiFunction.js.map +1 -0
  321. package/_esm/AbiItem.js +574 -0
  322. package/_esm/AbiItem.js.map +1 -0
  323. package/_esm/AbiParameters.js +543 -0
  324. package/_esm/AbiParameters.js.map +1 -0
  325. package/_esm/AccessList.js +105 -0
  326. package/_esm/AccessList.js.map +1 -0
  327. package/_esm/AccountProof.js +2 -0
  328. package/_esm/AccountProof.js.map +1 -0
  329. package/_esm/Address.js +268 -0
  330. package/_esm/Address.js.map +1 -0
  331. package/_esm/AesGcm.js +124 -0
  332. package/_esm/AesGcm.js.map +1 -0
  333. package/_esm/Authorization.js +441 -0
  334. package/_esm/Authorization.js.map +1 -0
  335. package/_esm/Base58.js +142 -0
  336. package/_esm/Base58.js.map +1 -0
  337. package/_esm/Base64.js +236 -0
  338. package/_esm/Base64.js.map +1 -0
  339. package/_esm/Blobs.js +624 -0
  340. package/_esm/Blobs.js.map +1 -0
  341. package/_esm/Block.js +177 -0
  342. package/_esm/Block.js.map +1 -0
  343. package/_esm/Bloom.js +57 -0
  344. package/_esm/Bloom.js.map +1 -0
  345. package/_esm/Bls.js +141 -0
  346. package/_esm/Bls.js.map +1 -0
  347. package/_esm/BlsPoint.js +59 -0
  348. package/_esm/BlsPoint.js.map +1 -0
  349. package/_esm/Bytes.js +719 -0
  350. package/_esm/Bytes.js.map +1 -0
  351. package/_esm/Caches.js +19 -0
  352. package/_esm/Caches.js.map +1 -0
  353. package/_esm/ContractAddress.js +110 -0
  354. package/_esm/ContractAddress.js.map +1 -0
  355. package/_esm/Ens.js +84 -0
  356. package/_esm/Ens.js.map +1 -0
  357. package/_esm/Errors.js +105 -0
  358. package/_esm/Errors.js.map +1 -0
  359. package/_esm/Fee.js +2 -0
  360. package/_esm/Fee.js.map +1 -0
  361. package/_esm/Filter.js +100 -0
  362. package/_esm/Filter.js.map +1 -0
  363. package/_esm/Hash.js +126 -0
  364. package/_esm/Hash.js.map +1 -0
  365. package/_esm/HdKey.js +107 -0
  366. package/_esm/HdKey.js.map +1 -0
  367. package/_esm/Hex.js +763 -0
  368. package/_esm/Hex.js.map +1 -0
  369. package/_esm/Json.js +62 -0
  370. package/_esm/Json.js.map +1 -0
  371. package/_esm/Kzg.js +30 -0
  372. package/_esm/Kzg.js.map +1 -0
  373. package/_esm/Log.js +181 -0
  374. package/_esm/Log.js.map +1 -0
  375. package/_esm/Mnemonic.js +154 -0
  376. package/_esm/Mnemonic.js.map +1 -0
  377. package/_esm/P256.js +131 -0
  378. package/_esm/P256.js.map +1 -0
  379. package/_esm/PersonalMessage.js +46 -0
  380. package/_esm/PersonalMessage.js.map +1 -0
  381. package/_esm/Provider.js +122 -0
  382. package/_esm/Provider.js.map +1 -0
  383. package/_esm/PublicKey.js +395 -0
  384. package/_esm/PublicKey.js.map +1 -0
  385. package/_esm/Rlp.js +267 -0
  386. package/_esm/Rlp.js.map +1 -0
  387. package/_esm/RpcRequest.js +131 -0
  388. package/_esm/RpcRequest.js.map +1 -0
  389. package/_esm/RpcResponse.js +457 -0
  390. package/_esm/RpcResponse.js.map +1 -0
  391. package/_esm/RpcSchema.js +46 -0
  392. package/_esm/RpcSchema.js.map +1 -0
  393. package/_esm/RpcTransport.js +110 -0
  394. package/_esm/RpcTransport.js.map +1 -0
  395. package/_esm/Secp256k1.js +173 -0
  396. package/_esm/Secp256k1.js.map +1 -0
  397. package/_esm/Signature.js +696 -0
  398. package/_esm/Signature.js.map +1 -0
  399. package/_esm/Siwe.js +374 -0
  400. package/_esm/Siwe.js.map +1 -0
  401. package/_esm/Solidity.js +104 -0
  402. package/_esm/Solidity.js.map +1 -0
  403. package/_esm/Transaction.js +176 -0
  404. package/_esm/Transaction.js.map +1 -0
  405. package/_esm/TransactionEnvelope.js +139 -0
  406. package/_esm/TransactionEnvelope.js.map +1 -0
  407. package/_esm/TransactionEnvelopeEip1559.js +455 -0
  408. package/_esm/TransactionEnvelopeEip1559.js.map +1 -0
  409. package/_esm/TransactionEnvelopeEip2930.js +439 -0
  410. package/_esm/TransactionEnvelopeEip2930.js.map +1 -0
  411. package/_esm/TransactionEnvelopeEip4844.js +542 -0
  412. package/_esm/TransactionEnvelopeEip4844.js.map +1 -0
  413. package/_esm/TransactionEnvelopeEip7702.js +442 -0
  414. package/_esm/TransactionEnvelopeEip7702.js.map +1 -0
  415. package/_esm/TransactionEnvelopeLegacy.js +495 -0
  416. package/_esm/TransactionEnvelopeLegacy.js.map +1 -0
  417. package/_esm/TransactionReceipt.js +229 -0
  418. package/_esm/TransactionReceipt.js.map +1 -0
  419. package/_esm/TransactionRequest.js +89 -0
  420. package/_esm/TransactionRequest.js.map +1 -0
  421. package/_esm/TypedData.js +635 -0
  422. package/_esm/TypedData.js.map +1 -0
  423. package/_esm/ValidatorData.js +52 -0
  424. package/_esm/ValidatorData.js.map +1 -0
  425. package/_esm/Value.js +196 -0
  426. package/_esm/Value.js.map +1 -0
  427. package/_esm/WebAuthnP256.js +471 -0
  428. package/_esm/WebAuthnP256.js.map +1 -0
  429. package/_esm/WebCryptoP256.js +116 -0
  430. package/_esm/WebCryptoP256.js.map +1 -0
  431. package/_esm/Withdrawal.js +72 -0
  432. package/_esm/Withdrawal.js.map +1 -0
  433. package/_esm/index.js +3366 -0
  434. package/_esm/index.js.map +1 -0
  435. package/_esm/internal/abi.js +9 -0
  436. package/_esm/internal/abi.js.map +1 -0
  437. package/_esm/internal/abiConstructor.js +2 -0
  438. package/_esm/internal/abiConstructor.js.map +1 -0
  439. package/_esm/internal/abiError.js +2 -0
  440. package/_esm/internal/abiError.js.map +1 -0
  441. package/_esm/internal/abiEvent.js +2 -0
  442. package/_esm/internal/abiEvent.js.map +1 -0
  443. package/_esm/internal/abiFunction.js +2 -0
  444. package/_esm/internal/abiFunction.js.map +1 -0
  445. package/_esm/internal/abiItem.js +122 -0
  446. package/_esm/internal/abiItem.js.map +1 -0
  447. package/_esm/internal/abiParameters.js +419 -0
  448. package/_esm/internal/abiParameters.js.map +1 -0
  449. package/_esm/internal/base58.js +91 -0
  450. package/_esm/internal/base58.js.map +1 -0
  451. package/_esm/internal/bytes.js +86 -0
  452. package/_esm/internal/bytes.js.map +1 -0
  453. package/_esm/internal/cursor.js +207 -0
  454. package/_esm/internal/cursor.js.map +1 -0
  455. package/_esm/internal/ens.js +47 -0
  456. package/_esm/internal/ens.js.map +1 -0
  457. package/_esm/internal/errors.js +26 -0
  458. package/_esm/internal/errors.js.map +1 -0
  459. package/_esm/internal/hdKey.js +17 -0
  460. package/_esm/internal/hdKey.js.map +1 -0
  461. package/_esm/internal/hex.js +64 -0
  462. package/_esm/internal/hex.js.map +1 -0
  463. package/_esm/internal/lru.js +36 -0
  464. package/_esm/internal/lru.js.map +1 -0
  465. package/_esm/internal/mnemonic/wordlists.js +11 -0
  466. package/_esm/internal/mnemonic/wordlists.js.map +1 -0
  467. package/_esm/internal/promise.js +52 -0
  468. package/_esm/internal/promise.js.map +1 -0
  469. package/_esm/internal/register.js +2 -0
  470. package/_esm/internal/register.js.map +1 -0
  471. package/_esm/internal/rpcSchema.js +2 -0
  472. package/_esm/internal/rpcSchema.js.map +1 -0
  473. package/_esm/internal/rpcSchemas/eth.js +2 -0
  474. package/_esm/internal/rpcSchemas/eth.js.map +1 -0
  475. package/_esm/internal/rpcSchemas/wallet.js +2 -0
  476. package/_esm/internal/rpcSchemas/wallet.js.map +1 -0
  477. package/_esm/internal/rpcTransport.js +20 -0
  478. package/_esm/internal/rpcTransport.js.map +1 -0
  479. package/_esm/internal/types.js +2 -0
  480. package/_esm/internal/types.js.map +1 -0
  481. package/_esm/internal/uid.js +15 -0
  482. package/_esm/internal/uid.js.map +1 -0
  483. package/_esm/internal/webauthn.js +35 -0
  484. package/_esm/internal/webauthn.js.map +1 -0
  485. package/_esm/package.json +1 -0
  486. package/_esm/trusted-setups/Paths.js +3 -0
  487. package/_esm/trusted-setups/Paths.js.map +1 -0
  488. package/_esm/trusted-setups/index.js +2 -0
  489. package/_esm/trusted-setups/index.js.map +1 -0
  490. package/_esm/trusted-setups/internal/paths.js +12 -0
  491. package/_esm/trusted-setups/internal/paths.js.map +1 -0
  492. package/_esm/version.js +3 -0
  493. package/_esm/version.js.map +1 -0
  494. package/_esm/window/index.js +2 -0
  495. package/_esm/window/index.js.map +1 -0
  496. package/_test/Abi.test-d/package.json +6 -0
  497. package/_test/AbiConstructor.test-d/package.json +6 -0
  498. package/_test/AbiError.test-d/package.json +6 -0
  499. package/_test/AbiEvent.snap-d/package.json +6 -0
  500. package/_test/AbiEvent.snap-d.ts +329 -0
  501. package/_test/AbiFunction.snap-d/package.json +6 -0
  502. package/_test/AbiFunction.snap-d.ts +262 -0
  503. package/_test/AbiItem.snap-d/package.json +6 -0
  504. package/_test/AbiItem.snap-d.ts +131 -0
  505. package/_test/AbiParameters.bench/package.json +6 -0
  506. package/_test/AbiParameters.snap-d/package.json +6 -0
  507. package/_test/AbiParameters.snap-d.ts +66 -0
  508. package/_test/Address.bench/package.json +6 -0
  509. package/_test/Base58.bench/package.json +6 -0
  510. package/_test/Hex.bench/package.json +6 -0
  511. package/_test/Hex.test-d/package.json +6 -0
  512. package/_test/PublicKey.test-d/package.json +6 -0
  513. package/_test/Rlp.bench/package.json +6 -0
  514. package/_test/Rlp.test-d/package.json +6 -0
  515. package/_test/Signature.snap-d/package.json +6 -0
  516. package/_test/Signature.snap-d.ts +96 -0
  517. package/_test/TransactionEnvelopeEip1559.test-d/package.json +6 -0
  518. package/_test/TransactionEnvelopeEip2930.test-d/package.json +6 -0
  519. package/_test/TransactionEnvelopeEip4844.test-d/package.json +6 -0
  520. package/_test/TransactionEnvelopeEip7702.test-d/package.json +6 -0
  521. package/_test/TransactionEnvelopeLegacy.test-d/package.json +6 -0
  522. package/_test/TypedData.test-d/package.json +6 -0
  523. package/_types/Abi.d.ts +137 -0
  524. package/_types/Abi.d.ts.map +1 -0
  525. package/_types/AbiConstructor.d.ts +305 -0
  526. package/_types/AbiConstructor.d.ts.map +1 -0
  527. package/_types/AbiError.d.ts +522 -0
  528. package/_types/AbiError.d.ts.map +1 -0
  529. package/_types/AbiEvent.d.ts +892 -0
  530. package/_types/AbiEvent.d.ts.map +1 -0
  531. package/_types/AbiFunction.d.ts +602 -0
  532. package/_types/AbiFunction.d.ts.map +1 -0
  533. package/_types/AbiItem.d.ts +544 -0
  534. package/_types/AbiItem.d.ts.map +1 -0
  535. package/_types/AbiParameters.d.ts +466 -0
  536. package/_types/AbiParameters.d.ts.map +1 -0
  537. package/_types/AccessList.d.ts +83 -0
  538. package/_types/AccessList.d.ts.map +1 -0
  539. package/_types/AccountProof.d.ts +32 -0
  540. package/_types/AccountProof.d.ts.map +1 -0
  541. package/_types/Address.d.ts +244 -0
  542. package/_types/Address.d.ts.map +1 -0
  543. package/_types/AesGcm.d.ts +116 -0
  544. package/_types/AesGcm.d.ts.map +1 -0
  545. package/_types/Authorization.d.ts +461 -0
  546. package/_types/Authorization.d.ts.map +1 -0
  547. package/_types/Base58.d.ts +131 -0
  548. package/_types/Base58.d.ts.map +1 -0
  549. package/_types/Base64.d.ts +244 -0
  550. package/_types/Base64.d.ts.map +1 -0
  551. package/_types/Blobs.d.ts +556 -0
  552. package/_types/Blobs.d.ts.map +1 -0
  553. package/_types/Block.d.ts +190 -0
  554. package/_types/Block.d.ts.map +1 -0
  555. package/_types/Bloom.d.ts +54 -0
  556. package/_types/Bloom.d.ts.map +1 -0
  557. package/_types/Bls.d.ts +365 -0
  558. package/_types/Bls.d.ts.map +1 -0
  559. package/_types/BlsPoint.d.ts +187 -0
  560. package/_types/BlsPoint.d.ts.map +1 -0
  561. package/_types/Bytes.d.ts +674 -0
  562. package/_types/Bytes.d.ts.map +1 -0
  563. package/_types/Caches.d.ts +13 -0
  564. package/_types/Caches.d.ts.map +1 -0
  565. package/_types/ContractAddress.d.ts +115 -0
  566. package/_types/ContractAddress.d.ts.map +1 -0
  567. package/_types/Ens.d.ts +72 -0
  568. package/_types/Ens.d.ts.map +1 -0
  569. package/_types/Errors.d.ts +33 -0
  570. package/_types/Errors.d.ts.map +1 -0
  571. package/_types/Fee.d.ts +41 -0
  572. package/_types/Fee.d.ts.map +1 -0
  573. package/_types/Filter.d.ts +100 -0
  574. package/_types/Filter.d.ts.map +1 -0
  575. package/_types/Hash.d.ts +135 -0
  576. package/_types/Hash.d.ts.map +1 -0
  577. package/_types/HdKey.d.ts +146 -0
  578. package/_types/HdKey.d.ts.map +1 -0
  579. package/_types/Hex.d.ts +711 -0
  580. package/_types/Hex.d.ts.map +1 -0
  581. package/_types/Json.d.ts +53 -0
  582. package/_types/Json.d.ts.map +1 -0
  583. package/_types/Kzg.d.ts +42 -0
  584. package/_types/Kzg.d.ts.map +1 -0
  585. package/_types/Log.d.ts +194 -0
  586. package/_types/Log.d.ts.map +1 -0
  587. package/_types/Mnemonic.d.ts +176 -0
  588. package/_types/Mnemonic.d.ts.map +1 -0
  589. package/_types/P256.d.ts +207 -0
  590. package/_types/P256.d.ts.map +1 -0
  591. package/_types/PersonalMessage.d.ts +49 -0
  592. package/_types/PersonalMessage.d.ts.map +1 -0
  593. package/_types/Provider.d.ts +268 -0
  594. package/_types/Provider.d.ts.map +1 -0
  595. package/_types/PublicKey.d.ts +327 -0
  596. package/_types/PublicKey.d.ts.map +1 -0
  597. package/_types/Rlp.d.ts +153 -0
  598. package/_types/Rlp.d.ts.map +1 -0
  599. package/_types/RpcRequest.d.ts +144 -0
  600. package/_types/RpcRequest.d.ts.map +1 -0
  601. package/_types/RpcResponse.d.ts +266 -0
  602. package/_types/RpcResponse.d.ts.map +1 -0
  603. package/_types/RpcSchema.d.ts +248 -0
  604. package/_types/RpcSchema.d.ts.map +1 -0
  605. package/_types/RpcTransport.d.ts +65 -0
  606. package/_types/RpcTransport.d.ts.map +1 -0
  607. package/_types/Secp256k1.d.ts +277 -0
  608. package/_types/Secp256k1.d.ts.map +1 -0
  609. package/_types/Signature.d.ts +601 -0
  610. package/_types/Signature.d.ts.map +1 -0
  611. package/_types/Siwe.d.ts +249 -0
  612. package/_types/Siwe.d.ts.map +1 -0
  613. package/_types/Solidity.d.ts +100 -0
  614. package/_types/Solidity.d.ts.map +1 -0
  615. package/_types/Transaction.d.ts +235 -0
  616. package/_types/Transaction.d.ts.map +1 -0
  617. package/_types/TransactionEnvelope.d.ts +141 -0
  618. package/_types/TransactionEnvelope.d.ts.map +1 -0
  619. package/_types/TransactionEnvelopeEip1559.d.ts +367 -0
  620. package/_types/TransactionEnvelopeEip1559.d.ts.map +1 -0
  621. package/_types/TransactionEnvelopeEip2930.d.ts +364 -0
  622. package/_types/TransactionEnvelopeEip2930.d.ts.map +1 -0
  623. package/_types/TransactionEnvelopeEip4844.d.ts +419 -0
  624. package/_types/TransactionEnvelopeEip4844.d.ts.map +1 -0
  625. package/_types/TransactionEnvelopeEip7702.d.ts +377 -0
  626. package/_types/TransactionEnvelopeEip7702.d.ts.map +1 -0
  627. package/_types/TransactionEnvelopeLegacy.d.ts +358 -0
  628. package/_types/TransactionEnvelopeLegacy.d.ts.map +1 -0
  629. package/_types/TransactionReceipt.d.ts +271 -0
  630. package/_types/TransactionReceipt.d.ts.map +1 -0
  631. package/_types/TransactionRequest.d.ts +92 -0
  632. package/_types/TransactionRequest.d.ts.map +1 -0
  633. package/_types/TypedData.d.ts +496 -0
  634. package/_types/TypedData.d.ts.map +1 -0
  635. package/_types/ValidatorData.d.ts +64 -0
  636. package/_types/ValidatorData.d.ts.map +1 -0
  637. package/_types/Value.d.ts +159 -0
  638. package/_types/Value.d.ts.map +1 -0
  639. package/_types/WebAuthnP256.d.ts +445 -0
  640. package/_types/WebAuthnP256.d.ts.map +1 -0
  641. package/_types/WebCryptoP256.d.ts +119 -0
  642. package/_types/WebCryptoP256.d.ts.map +1 -0
  643. package/_types/Withdrawal.d.ts +74 -0
  644. package/_types/Withdrawal.d.ts.map +1 -0
  645. package/_types/index.d.ts +3367 -0
  646. package/_types/index.d.ts.map +1 -0
  647. package/_types/internal/abi.d.ts +4 -0
  648. package/_types/internal/abi.d.ts.map +1 -0
  649. package/_types/internal/abiConstructor.d.ts +11 -0
  650. package/_types/internal/abiConstructor.d.ts.map +1 -0
  651. package/_types/internal/abiError.d.ts +11 -0
  652. package/_types/internal/abiError.d.ts.map +1 -0
  653. package/_types/internal/abiEvent.d.ts +60 -0
  654. package/_types/internal/abiEvent.d.ts.map +1 -0
  655. package/_types/internal/abiFunction.d.ts +11 -0
  656. package/_types/internal/abiFunction.d.ts.map +1 -0
  657. package/_types/internal/abiItem.d.ts +100 -0
  658. package/_types/internal/abiItem.d.ts.map +1 -0
  659. package/_types/internal/abiParameters.d.ts +169 -0
  660. package/_types/internal/abiParameters.d.ts.map +1 -0
  661. package/_types/internal/base58.d.ts +17 -0
  662. package/_types/internal/base58.d.ts.map +1 -0
  663. package/_types/internal/bytes.d.ts +52 -0
  664. package/_types/internal/bytes.d.ts.map +1 -0
  665. package/_types/internal/cursor.d.ts +70 -0
  666. package/_types/internal/cursor.d.ts.map +1 -0
  667. package/_types/internal/ens.d.ts +23 -0
  668. package/_types/internal/ens.d.ts.map +1 -0
  669. package/_types/internal/errors.d.ts +7 -0
  670. package/_types/internal/errors.d.ts.map +1 -0
  671. package/_types/internal/hdKey.d.ts +10 -0
  672. package/_types/internal/hdKey.d.ts.map +1 -0
  673. package/_types/internal/hex.d.ts +39 -0
  674. package/_types/internal/hex.d.ts.map +1 -0
  675. package/_types/internal/lru.d.ts +13 -0
  676. package/_types/internal/lru.d.ts.map +1 -0
  677. package/_types/internal/mnemonic/wordlists.d.ts +11 -0
  678. package/_types/internal/mnemonic/wordlists.d.ts.map +1 -0
  679. package/_types/internal/promise.d.ts +27 -0
  680. package/_types/internal/promise.d.ts.map +1 -0
  681. package/_types/internal/register.d.ts +13 -0
  682. package/_types/internal/register.d.ts.map +1 -0
  683. package/_types/internal/rpcSchema.d.ts +12 -0
  684. package/_types/internal/rpcSchema.d.ts.map +1 -0
  685. package/_types/internal/rpcSchemas/eth.d.ts +718 -0
  686. package/_types/internal/rpcSchemas/eth.d.ts.map +1 -0
  687. package/_types/internal/rpcSchemas/wallet.d.ts +416 -0
  688. package/_types/internal/rpcSchemas/wallet.d.ts.map +1 -0
  689. package/_types/internal/rpcTransport.d.ts +38 -0
  690. package/_types/internal/rpcTransport.d.ts.map +1 -0
  691. package/_types/internal/types.d.ts +284 -0
  692. package/_types/internal/types.d.ts.map +1 -0
  693. package/_types/internal/uid.d.ts +3 -0
  694. package/_types/internal/uid.d.ts.map +1 -0
  695. package/_types/internal/webauthn.d.ts +127 -0
  696. package/_types/internal/webauthn.d.ts.map +1 -0
  697. package/_types/trusted-setups/Paths.d.ts +2 -0
  698. package/_types/trusted-setups/Paths.d.ts.map +1 -0
  699. package/_types/trusted-setups/index.d.ts +2 -0
  700. package/_types/trusted-setups/index.d.ts.map +1 -0
  701. package/_types/trusted-setups/internal/paths.d.ts +3 -0
  702. package/_types/trusted-setups/internal/paths.d.ts.map +1 -0
  703. package/_types/version.d.ts +3 -0
  704. package/_types/version.d.ts.map +1 -0
  705. package/_types/window/index.d.ts +7 -0
  706. package/_types/window/index.d.ts.map +1 -0
  707. package/index.ts +3427 -0
  708. package/internal/abi.ts +11 -0
  709. package/internal/abiConstructor.ts +32 -0
  710. package/internal/abiError.ts +30 -0
  711. package/internal/abiEvent.ts +154 -0
  712. package/internal/abiFunction.ts +32 -0
  713. package/internal/abiItem.ts +593 -0
  714. package/internal/abiParameters.ts +741 -0
  715. package/internal/base58.ts +106 -0
  716. package/internal/bytes.ts +152 -0
  717. package/internal/cursor.ts +252 -0
  718. package/internal/ens.ts +64 -0
  719. package/internal/errors.ts +26 -0
  720. package/internal/hdKey.ts +25 -0
  721. package/internal/hex.ts +123 -0
  722. package/internal/lru.ts +34 -0
  723. package/internal/mnemonic/wordlists.ts +10 -0
  724. package/internal/promise.ts +66 -0
  725. package/internal/register.ts +15 -0
  726. package/internal/rpcSchema.ts +20 -0
  727. package/internal/rpcSchemas/eth.ts +727 -0
  728. package/internal/rpcSchemas/wallet.ts +428 -0
  729. package/internal/rpcTransport.ts +74 -0
  730. package/internal/types.ts +414 -0
  731. package/internal/uid.ts +15 -0
  732. package/internal/webauthn.ts +198 -0
  733. package/package.json +500 -20
  734. package/trusted-setups/Paths/package.json +6 -0
  735. package/trusted-setups/Paths.ts +3 -0
  736. package/trusted-setups/index.ts +1 -0
  737. package/trusted-setups/internal/paths.ts +13 -0
  738. package/trusted-setups/internal/setups/mainnet.json +8265 -0
  739. package/trusted-setups/internal/setups/mainnet.txt +4163 -0
  740. package/trusted-setups/package.json +6 -0
  741. package/tsdoc.json +4 -0
  742. package/version/package.json +6 -0
  743. package/version.ts +2 -0
  744. package/window/index.ts +7 -0
  745. package/window/package.json +6 -0
  746. package/cl/ansiesc.js +0 -25
  747. package/cl/deps.js +0 -7
  748. package/cl/editor.js +0 -141
  749. package/cl/index.html +0 -19
  750. package/cl/ox.js +0 -44
  751. package/cl/socket.io.js +0 -1922
  752. package/cl/style.css +0 -37
  753. package/srv/deps.js +0 -88
  754. package/srv/httpSrv.js +0 -82
  755. package/srv/ox.js +0 -44
  756. package/srv/remoteXtermReq.js +0 -70
@@ -0,0 +1,892 @@
1
+ import * as abitype from 'abitype';
2
+ import type * as Abi from './Abi.js';
3
+ import * as AbiItem from './AbiItem.js';
4
+ import * as AbiParameters from './AbiParameters.js';
5
+ import * as Address from './Address.js';
6
+ import * as Bytes from './Bytes.js';
7
+ import * as Errors from './Errors.js';
8
+ import * as Hash from './Hash.js';
9
+ import * as Hex from './Hex.js';
10
+ import type * as internal from './internal/abiEvent.js';
11
+ import type * as AbiItem_internal from './internal/abiItem.js';
12
+ import type { Compute } from './internal/types.js';
13
+ import type { IsNarrowable } from './internal/types.js';
14
+ /** Root type for an {@link ox#AbiItem.AbiItem} with an `event` type. */
15
+ export type AbiEvent = abitype.AbiEvent & {
16
+ hash?: Hex.Hex | undefined;
17
+ overloads?: readonly AbiEvent[] | undefined;
18
+ };
19
+ /**
20
+ * Extracts an {@link ox#AbiEvent.AbiEvent} item from an {@link ox#Abi.Abi}, given a name.
21
+ *
22
+ * @example
23
+ * ```ts twoslash
24
+ * import { Abi, AbiEvent } from 'ox'
25
+ *
26
+ * const abi = Abi.from([
27
+ * 'event Foo(string)',
28
+ * 'event Bar(uint256)',
29
+ * ])
30
+ *
31
+ * type Foo = AbiEvent.FromAbi<typeof abi, 'Foo'>
32
+ * // ^?
33
+ *
34
+ *
35
+ *
36
+ *
37
+ *
38
+ *
39
+ *
40
+ *
41
+ * ```
42
+ */
43
+ export type FromAbi<abi extends Abi.Abi, name extends ExtractNames<abi>> = abitype.ExtractAbiEvent<abi, name>;
44
+ /**
45
+ * Extracts the names of all {@link ox#AbiError.AbiError} items in an {@link ox#Abi.Abi}.
46
+ *
47
+ * @example
48
+ * ```ts twoslash
49
+ * import { Abi, AbiEvent } from 'ox'
50
+ *
51
+ * const abi = Abi.from([
52
+ * 'event Foo(string)',
53
+ * 'event Bar(uint256)',
54
+ * ])
55
+ *
56
+ * type names = AbiEvent.Name<typeof abi>
57
+ * // ^?
58
+ * ```
59
+ */
60
+ export type Name<abi extends Abi.Abi | readonly unknown[] = Abi.Abi> = abi extends Abi.Abi ? ExtractNames<abi> : string;
61
+ export type ExtractNames<abi extends Abi.Abi> = abitype.ExtractAbiEventNames<abi>;
62
+ /**
63
+ * Asserts that the provided arguments match the decoded log arguments.
64
+ *
65
+ * @example
66
+ * ```ts twoslash
67
+ * import { AbiEvent } from 'ox'
68
+ *
69
+ * const abiEvent = AbiEvent.from('event Transfer(address indexed from, address indexed to, uint256 value)')
70
+ *
71
+ * const args = AbiEvent.decode(abiEvent, {
72
+ * data: '0x0000000000000000000000000000000000000000000000000000000000000001',
73
+ * topics: [
74
+ * '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
75
+ * '0x000000000000000000000000a5cc3c03994db5b0d9a5eedd10cabab0813678ac',
76
+ * '0x000000000000000000000000a5cc3c03994db5b0d9a5eedd10cabab0813678ac',
77
+ * ],
78
+ * })
79
+ *
80
+ * AbiEvent.assertArgs(abiEvent, args, {
81
+ * from: '0xa5cc3c03994db5b0d9a5eedd10cabab0813678ad',
82
+ * to: '0xa5cc3c03994db5b0d9a5eedd10cabab0813678ac',
83
+ * value: 1n,
84
+ * })
85
+ *
86
+ * // @error: AbiEvent.ArgsMismatchError: Given arguments to not match the arguments decoded from the log.
87
+ * // @error: Event: event Transfer(address indexed from, address indexed to, uint256 value)
88
+ * // @error: Expected Arguments:
89
+ * // @error: from: 0xa5cc3c03994db5b0d9a5eedd10cabab0813678ac
90
+ * // @error: to: 0xa5cc3c03994db5b0d9a5eedd10cabab0813678ad
91
+ * // @error: value: 1
92
+ * // @error: Given Arguments:
93
+ * // @error: from: 0xa5cc3c03994db5b0d9a5eedd10cabab0813678ad
94
+ * // @error: to: 0xa5cc3c03994db5b0d9a5eedd10cabab0813678ac
95
+ * // @error: value: 1
96
+ * ```
97
+ *
98
+ * @param abiEvent - ABI Event to check.
99
+ * @param args - Decoded arguments.
100
+ * @param matchArgs - The arguments to check.
101
+ */
102
+ export declare function assertArgs<const abiEvent extends AbiEvent>(abiEvent: abiEvent | AbiEvent, args: unknown, matchArgs: IsNarrowable<abiEvent, AbiEvent> extends true ? abiEvent['inputs'] extends readonly [] ? never : internal.ParametersToPrimitiveTypes<abiEvent['inputs'], {
103
+ EnableUnion: true;
104
+ IndexedOnly: false;
105
+ Required: false;
106
+ }> : unknown): void;
107
+ export declare namespace assertArgs {
108
+ var parseError: (error: unknown) => assertArgs.ErrorType;
109
+ }
110
+ export declare namespace assertArgs {
111
+ type ErrorType = Address.isEqual.ErrorType | Bytes.fromString.ErrorType | Hash.keccak256.ErrorType | ArgsMismatchError | Errors.GlobalErrorType;
112
+ }
113
+ /**
114
+ * ABI-Decodes the provided [Log Topics and Data](https://info.etherscan.com/what-is-event-logs/) according to the ABI Event's parameter types (`input`).
115
+ *
116
+ * :::tip
117
+ *
118
+ * This function is typically used to decode an [Event Log](https://info.etherscan.com/what-is-event-logs/) that may be returned from a Log Query (e.g. `eth_getLogs`) or Transaction Receipt.
119
+ *
120
+ * See the [End-to-end Example](#end-to-end).
121
+ *
122
+ * :::
123
+ *
124
+ * @example
125
+ * ```ts twoslash
126
+ * import { AbiEvent } from 'ox'
127
+ *
128
+ * const transfer = AbiEvent.from(
129
+ * 'event Transfer(address indexed from, address indexed to, uint256 value)'
130
+ * )
131
+ *
132
+ * const log = {
133
+ * // ...
134
+ * data: '0x0000000000000000000000000000000000000000000000000000000000000001',
135
+ * topics: [
136
+ * '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
137
+ * '0x000000000000000000000000a5cc3c03994db5b0d9a5eedd10cabab0813678ac',
138
+ * '0x000000000000000000000000a5cc3c03994db5b0d9a5eedd10cabab0813678ac',
139
+ * ],
140
+ * } as const
141
+ *
142
+ * const decoded = AbiEvent.decode(transfer, log)
143
+ * // @log: {
144
+ * // @log: from: '0xa5cc3c03994db5b0d9a5eedd10cabab0813678ac',
145
+ * // @log: to: '0xa5cc3c03994db5b0d9a5eedd10cabab0813678ac',
146
+ * // @log: value: 1n
147
+ * // @log: }
148
+ * ```
149
+ *
150
+ * @example
151
+ * ### End-to-end
152
+ *
153
+ * Below is an end-to-end example of using `AbiEvent.decode` to decode the topics of a `Transfer` event on the [Wagmi Mint Example contract](https://etherscan.io/address/0xfba3912ca04dd458c843e2ee08967fc04f3579c2).
154
+ *
155
+ * ```ts twoslash
156
+ * import 'ox/window'
157
+ * import { AbiEvent, Hex } from 'ox'
158
+ *
159
+ * // 1. Instantiate the `Transfer` ABI Event.
160
+ * const transfer = AbiEvent.from(
161
+ * 'event Transfer(address indexed from, address indexed to, uint256 value)',
162
+ * )
163
+ *
164
+ * // 2. Encode the ABI Event into Event Topics.
165
+ * const { topics } = AbiEvent.encode(transfer)
166
+ *
167
+ * // 3. Query for events matching the encoded Topics.
168
+ * const logs = await window.ethereum!.request({
169
+ * method: 'eth_getLogs',
170
+ * params: [
171
+ * {
172
+ * address: '0xfba3912ca04dd458c843e2ee08967fc04f3579c2',
173
+ * fromBlock: Hex.fromNumber(19760235n),
174
+ * toBlock: Hex.fromNumber(19760240n),
175
+ * topics,
176
+ * },
177
+ * ],
178
+ * })
179
+ *
180
+ * // 4. Decode the Log. // [!code focus]
181
+ * const decoded = AbiEvent.decode(transfer, logs[0]!) // [!code focus]
182
+ * // @log: {
183
+ * // @log: from: '0xa5cc3c03994db5b0d9a5eedd10cabab0813678ac',
184
+ * // @log: to: '0xa5cc3c03994db5b0d9a5eedd10cabab0813678ac',
185
+ * // @log: value: 603n
186
+ * // @log: }
187
+ * ```
188
+ *
189
+ * :::note
190
+ *
191
+ * For simplicity, the above example uses `window.ethereum.request`, but you can use any
192
+ * type of JSON-RPC interface.
193
+ *
194
+ * :::
195
+ *
196
+ * @param abiEvent - The ABI Event to decode.
197
+ * @param log - `topics` & `data` to decode.
198
+ * @returns The decoded event.
199
+ */
200
+ export declare function decode<const abiEvent extends AbiEvent>(abiEvent: abiEvent | AbiEvent, log: decode.Log): decode.ReturnType<abiEvent>;
201
+ export declare namespace decode {
202
+ var parseError: (error: unknown) => decode.ErrorType;
203
+ }
204
+ export declare namespace decode {
205
+ type Log = {
206
+ data?: Hex.Hex | undefined;
207
+ topics: readonly Hex.Hex[];
208
+ };
209
+ type ReturnType<abiEvent extends AbiEvent = AbiEvent> = IsNarrowable<abiEvent, AbiEvent> extends true ? abiEvent['inputs'] extends readonly [] ? undefined : internal.ParametersToPrimitiveTypes<abiEvent['inputs'], {
210
+ EnableUnion: false;
211
+ IndexedOnly: false;
212
+ Required: true;
213
+ }> : unknown;
214
+ type ErrorType = AbiParameters.decode.ErrorType | getSelector.ErrorType | DataMismatchError | SelectorTopicMismatchError | TopicsMismatchError | Errors.GlobalErrorType;
215
+ }
216
+ /**
217
+ * ABI-encodes the provided event input (`inputs`) into an array of [Event Topics](https://info.etherscan.com/what-is-event-logs/).
218
+ *
219
+ * :::tip
220
+ *
221
+ * This function is typically used to encode event arguments into [Event Topics](https://info.etherscan.com/what-is-event-logs/).
222
+ *
223
+ * See the [End-to-end Example](#end-to-end).
224
+ *
225
+ * :::
226
+ *
227
+ * @example
228
+ * ```ts twoslash
229
+ * import { AbiEvent } from 'ox'
230
+ *
231
+ * const transfer = AbiEvent.from(
232
+ * 'event Transfer(address indexed from, address indexed to, uint256 value)'
233
+ * )
234
+ *
235
+ * const { topics } = AbiEvent.encode(transfer)
236
+ * // @log: ['0x406dade31f7ae4b5dbc276258c28dde5ae6d5c2773c5745802c493a2360e55e0']
237
+ * ```
238
+ *
239
+ * @example
240
+ * ### Passing Arguments
241
+ *
242
+ * You can pass `indexed` parameter values to `AbiEvent.encode`.
243
+ *
244
+ * TypeScript types will be inferred from the ABI Event, to guard you from inserting the wrong values.
245
+ *
246
+ * For example, the `Transfer` event below accepts an `address` type for the `from` and `to` attributes.
247
+ *
248
+ * ```ts twoslash
249
+ * import { AbiEvent } from 'ox'
250
+ *
251
+ * const transfer = AbiEvent.from(
252
+ * 'event Transfer(address indexed from, address indexed to, uint256 value)'
253
+ * )
254
+ *
255
+ * const { topics } = AbiEvent.encode(transfer, {
256
+ * from: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266', // [!code hl]
257
+ * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8' // [!code hl]
258
+ * })
259
+ * // @log: [
260
+ * // @log: '0x406dade31f7ae4b5dbc276258c28dde5ae6d5c2773c5745802c493a2360e55e0',
261
+ * // @log: '0x00000000000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266',
262
+ * // @log: '0x0000000000000000000000000000000070997970c51812dc3a010c7d01b50e0d17dc79c8'
263
+ * // @log: ]
264
+ * ```
265
+ *
266
+ * @example
267
+ * ### End-to-end
268
+ *
269
+ * Below is an end-to-end example of using `AbiEvent.encode` to encode the topics of a `Transfer` event and query for events matching the encoded topics on the [Wagmi Mint Example contract](https://etherscan.io/address/0xfba3912ca04dd458c843e2ee08967fc04f3579c2).
270
+ *
271
+ * ```ts twoslash
272
+ * import 'ox/window'
273
+ * import { AbiEvent, Hex } from 'ox'
274
+ *
275
+ * // 1. Instantiate the `Transfer` ABI Event.
276
+ * const transfer = AbiEvent.from(
277
+ * 'event Transfer(address indexed from, address indexed to, uint256 value)',
278
+ * )
279
+ *
280
+ * // 2. Encode the ABI Event into Event Topics.
281
+ * const { topics } = AbiEvent.encode(transfer)
282
+ *
283
+ * // 3. Query for events matching the encoded Topics.
284
+ * const logs = await window.ethereum!.request({
285
+ * method: 'eth_getLogs',
286
+ * params: [
287
+ * {
288
+ * address: '0xfba3912ca04dd458c843e2ee08967fc04f3579c2',
289
+ * fromBlock: Hex.fromNumber(19760235n),
290
+ * toBlock: Hex.fromNumber(19760240n),
291
+ * topics,
292
+ * },
293
+ * ],
294
+ * })
295
+ * // @log: [
296
+ * // @log: "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
297
+ * // @log: "0x0000000000000000000000000000000000000000000000000000000000000000",
298
+ * // @log: "0x0000000000000000000000000c04d9e9278ec5e4d424476d3ebec70cb5d648d1",
299
+ * // @log: "0x000000000000000000000000000000000000000000000000000000000000025b",
300
+ * // @log: ]
301
+ * ```
302
+ *
303
+ * :::note
304
+ *
305
+ * For simplicity, the above example uses `window.ethereum.request`, but you can use any
306
+ * type of JSON-RPC interface.
307
+ *
308
+ * :::
309
+ *
310
+ * @param abiEvent - The event to encode.
311
+ * @param args - The arguments to encode.
312
+ * @returns The encoded event topics.
313
+ */
314
+ export declare function encode<const abiEvent extends AbiEvent>(abiEvent: abiEvent | AbiEvent, ...[args]: encode.Args<abiEvent>): encode.ReturnType;
315
+ export declare namespace encode {
316
+ var parseError: (error: unknown) => encode.ErrorType;
317
+ }
318
+ export declare namespace encode {
319
+ type Args<abiEvent extends AbiEvent> = IsNarrowable<abiEvent, AbiEvent> extends true ? abiEvent['inputs'] extends readonly [] ? [] : internal.ParametersToPrimitiveTypes<abiEvent['inputs']> extends infer result ? result extends readonly [] ? [] : [result] | [] : [] : [readonly unknown[] | Record<string, unknown>] | [];
320
+ type ReturnType = {
321
+ topics: Compute<[
322
+ selector: Hex.Hex,
323
+ ...(Hex.Hex | readonly Hex.Hex[] | null)[]
324
+ ]>;
325
+ };
326
+ type ErrorType = AbiParameters.encode.ErrorType | getSelector.ErrorType | Hex.fromString.ErrorType | Hash.keccak256.ErrorType | Errors.GlobalErrorType;
327
+ }
328
+ /**
329
+ * Formats an {@link ox#AbiEvent.AbiEvent} into a **Human Readable ABI Error**.
330
+ *
331
+ * @example
332
+ * ```ts twoslash
333
+ * import { AbiEvent } from 'ox'
334
+ *
335
+ * const formatted = AbiEvent.format({
336
+ * type: 'event',
337
+ * name: 'Transfer',
338
+ * inputs: [
339
+ * { name: 'from', type: 'address', indexed: true },
340
+ * { name: 'to', type: 'address', indexed: true },
341
+ * { name: 'value', type: 'uint256' },
342
+ * ],
343
+ * })
344
+ *
345
+ * formatted
346
+ * // ^?
347
+ *
348
+ *
349
+ * ```
350
+ *
351
+ * @param abiEvent - The ABI Event to format.
352
+ * @returns The formatted ABI Event.
353
+ */
354
+ export declare function format<const abiEvent extends AbiEvent>(abiEvent: abiEvent | AbiEvent): abitype.FormatAbiItem<abiEvent>;
355
+ export declare namespace format {
356
+ var parseError: (error: unknown) => format.ErrorType;
357
+ }
358
+ export declare namespace format {
359
+ type ErrorType = Errors.GlobalErrorType;
360
+ }
361
+ /**
362
+ * Parses an arbitrary **JSON ABI Event** or **Human Readable ABI Event** into a typed {@link ox#AbiEvent.AbiEvent}.
363
+ *
364
+ * @example
365
+ * ### JSON ABIs
366
+ *
367
+ * ```ts twoslash
368
+ * import { AbiEvent } from 'ox'
369
+ *
370
+ * const transfer = AbiEvent.from({
371
+ * name: 'Transfer',
372
+ * type: 'event',
373
+ * inputs: [
374
+ * { name: 'from', type: 'address', indexed: true },
375
+ * { name: 'to', type: 'address', indexed: true },
376
+ * { name: 'value', type: 'uint256' },
377
+ * ],
378
+ * })
379
+ *
380
+ * transfer
381
+ * //^?
382
+ *
383
+ *
384
+ *
385
+ *
386
+ *
387
+ *
388
+ *
389
+ *
390
+ *
391
+ *
392
+ *
393
+ *
394
+ * ```
395
+ *
396
+ * @example
397
+ * ### Human Readable ABIs
398
+ *
399
+ * A Human Readable ABI can be parsed into a typed ABI object:
400
+ *
401
+ * ```ts twoslash
402
+ * import { AbiEvent } from 'ox'
403
+ *
404
+ * const transfer = AbiEvent.from(
405
+ * 'event Transfer(address indexed from, address indexed to, uint256 value)' // [!code hl]
406
+ * )
407
+ *
408
+ * transfer
409
+ * //^?
410
+ *
411
+ *
412
+ *
413
+ *
414
+ *
415
+ *
416
+ *
417
+ *
418
+ *
419
+ *
420
+ *
421
+ *
422
+ *
423
+ * ```
424
+ *
425
+ * @param abiEvent - The ABI Event to parse.
426
+ * @returns Typed ABI Event.
427
+ */
428
+ export declare function from<const abiEvent extends AbiEvent | string | readonly string[]>(abiEvent: (abiEvent | AbiEvent | string | readonly string[]) & ((abiEvent extends string ? internal.Signature<abiEvent> : never) | (abiEvent extends readonly string[] ? internal.Signatures<abiEvent> : never) | AbiEvent), options?: from.Options): from.ReturnType<abiEvent>;
429
+ export declare namespace from {
430
+ var parseEvent: (Event: unknown) => from.ErrorType;
431
+ }
432
+ export declare namespace from {
433
+ type Options = {
434
+ /**
435
+ * Whether or not to prepare the extracted event (optimization for encoding performance).
436
+ * When `true`, the `hash` property is computed and included in the returned value.
437
+ *
438
+ * @default true
439
+ */
440
+ prepare?: boolean | undefined;
441
+ };
442
+ type ReturnType<abiEvent extends AbiEvent | string | readonly string[]> = AbiItem.from.ReturnType<abiEvent>;
443
+ type ErrorType = AbiItem.from.ErrorType | Errors.GlobalErrorType;
444
+ }
445
+ /**
446
+ * Extracts an {@link ox#AbiEvent.AbiEvent} from an {@link ox#Abi.Abi} given a name and optional arguments.
447
+ *
448
+ * @example
449
+ * ### Extracting by Name
450
+ *
451
+ * ABI Events can be extracted by their name using the `name` option:
452
+ *
453
+ * ```ts twoslash
454
+ * import { Abi, AbiEvent } from 'ox'
455
+ *
456
+ * const abi = Abi.from([
457
+ * 'function foo()',
458
+ * 'event Transfer(address owner, address to, uint256 tokenId)',
459
+ * 'function bar(string a) returns (uint256 x)',
460
+ * ])
461
+ *
462
+ * const item = AbiEvent.fromAbi(abi, 'Transfer') // [!code focus]
463
+ * // ^?
464
+ *
465
+ *
466
+ *
467
+ *
468
+ *
469
+ *
470
+ * ```
471
+ *
472
+ * @example
473
+ * ### Extracting by Selector
474
+ *
475
+ * ABI Events can be extract by their selector when {@link ox#Hex.Hex} is provided to `name`.
476
+ *
477
+ * ```ts twoslash
478
+ * import { Abi, AbiEvent } from 'ox'
479
+ *
480
+ * const abi = Abi.from([
481
+ * 'function foo()',
482
+ * 'event Transfer(address owner, address to, uint256 tokenId)',
483
+ * 'function bar(string a) returns (uint256 x)',
484
+ * ])
485
+ * const item = AbiEvent.fromAbi(abi, '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef') // [!code focus]
486
+ * // ^?
487
+ *
488
+ *
489
+ *
490
+ *
491
+ *
492
+ *
493
+ *
494
+ *
495
+ *
496
+ * ```
497
+ *
498
+ * :::note
499
+ *
500
+ * Extracting via a hex selector is useful when extracting an ABI Event from the first topic of a Log.
501
+ *
502
+ * :::
503
+ *
504
+ * @param abi - The ABI to extract from.
505
+ * @param name - The name (or selector) of the ABI item to extract.
506
+ * @param options - Extraction options.
507
+ * @returns The ABI item.
508
+ */
509
+ export declare function fromAbi<const abi extends Abi.Abi | readonly unknown[], name extends Name<abi>, const args extends AbiItem_internal.ExtractArgs<abi, name> | undefined = undefined, allNames = Name<abi>>(abi: abi | Abi.Abi | readonly unknown[], name: Hex.Hex | (name extends allNames ? name : never), options?: AbiItem.fromAbi.Options<abi, name, args, AbiItem_internal.ExtractArgs<abi, name>>): AbiItem.fromAbi.ReturnType<abi, name, args, AbiEvent>;
510
+ export declare namespace fromAbi {
511
+ var parseError: (error: unknown) => fromAbi.ErrorType;
512
+ }
513
+ export declare namespace fromAbi {
514
+ type ErrorType = AbiItem.fromAbi.ErrorType | Errors.GlobalErrorType;
515
+ }
516
+ /**
517
+ * Computes the event selector (hash of event signature) for an {@link ox#AbiEvent.AbiEvent}.
518
+ *
519
+ * @example
520
+ * ```ts twoslash
521
+ * import { AbiEvent } from 'ox'
522
+ *
523
+ * const selector = AbiEvent.getSelector('event Transfer(address indexed from, address indexed to, uint256 value)')
524
+ * // @log: '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f556a2'
525
+ * ```
526
+ *
527
+ * @example
528
+ * ```ts twoslash
529
+ * import { AbiEvent } from 'ox'
530
+ *
531
+ * const selector = AbiEvent.getSelector({
532
+ * name: 'Transfer',
533
+ * type: 'event',
534
+ * inputs: [
535
+ * { name: 'from', type: 'address', indexed: true },
536
+ * { name: 'to', type: 'address', indexed: true },
537
+ * { name: 'value', type: 'uint256' }
538
+ * ]
539
+ * })
540
+ * // @log: '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f556a2'
541
+ * ```
542
+ *
543
+ * @param abiItem - The ABI event to compute the selector for.
544
+ * @returns The {@link ox#Hash.(keccak256:function)} hash of the event signature.
545
+ */
546
+ export declare function getSelector(abiItem: string | AbiEvent): Hex.Hex;
547
+ export declare namespace getSelector {
548
+ var parseError: (error: unknown) => getSelector.ErrorType;
549
+ }
550
+ export declare namespace getSelector {
551
+ type ErrorType = AbiItem.getSignatureHash.ErrorType | Errors.GlobalErrorType;
552
+ }
553
+ /**
554
+ * Thrown when the provided arguments do not match the expected arguments.
555
+ *
556
+ * @example
557
+ * ```ts twoslash
558
+ * import { AbiEvent } from 'ox'
559
+ *
560
+ * const abiEvent = AbiEvent.from(
561
+ * 'event Transfer(address indexed from, address indexed to, uint256 value)',
562
+ * )
563
+ *
564
+ * const args = AbiEvent.decode(abiEvent, {
565
+ * data: '0x0000000000000000000000000000000000000000000000000000000000000001',
566
+ * topics: [
567
+ * '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
568
+ * '0x000000000000000000000000a5cc3c03994db5b0d9a5eedd10cabab0813678ac',
569
+ * '0x000000000000000000000000a5cc3c03994db5b0d9a5eedd10cabab0813678ad',
570
+ * ],
571
+ * })
572
+ *
573
+ * AbiEvent.assertArgs(abiEvent, args, {
574
+ * from: '0xa5cc3c03994db5b0d9a5eedd10cabab0813678ad',
575
+ * to: '0xa5cc3c03994db5b0d9a5eedd10cabab0813678ac',
576
+ * value: 1n,
577
+ * })
578
+ * // @error: AbiEvent.ArgsMismatchError: Given arguments do not match the expected arguments.
579
+ * // @error: Event: event Transfer(address indexed from, address indexed to, uint256 value)
580
+ * // @error: Expected Arguments:
581
+ * // @error: from: 0xa5cc3c03994db5b0d9a5eedd10cabab0813678ac
582
+ * // @error: to: 0xa5cc3c03994db5b0d9a5eedd10cabab0813678ad
583
+ * // @error: value: 1
584
+ * // @error: Given Arguments:
585
+ * // @error: from: 0xa5cc3c03994db5b0d9a5eedd10cabab0813678ad
586
+ * // @error: to: 0xa5cc3c03994db5b0d9a5eedd10cabab0813678ac
587
+ * // @error: value: 1
588
+ * ```
589
+ *
590
+ * ### Solution
591
+ *
592
+ * The provided arguments need to match the expected arguments.
593
+ *
594
+ * ```ts twoslash
595
+ * // @noErrors
596
+ * import { AbiEvent } from 'ox'
597
+ *
598
+ * const abiEvent = AbiEvent.from(
599
+ * 'event Transfer(address indexed from, address indexed to, uint256 value)',
600
+ * )
601
+ *
602
+ * const args = AbiEvent.decode(abiEvent, {
603
+ * data: '0x0000000000000000000000000000000000000000000000000000000000000001',
604
+ * topics: [
605
+ * '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
606
+ * '0x000000000000000000000000a5cc3c03994db5b0d9a5eedd10cabab0813678ac',
607
+ * '0x000000000000000000000000a5cc3c03994db5b0d9a5eedd10cabab0813678ad',
608
+ * ],
609
+ * })
610
+ *
611
+ * AbiEvent.assertArgs(abiEvent, args, {
612
+ * from: '0xa5cc3c03994db5b0d9a5eedd10cabab0813678ad', // [!code --]
613
+ * from: '0xa5cc3c03994db5b0d9a5eedd10cabab0813678ac', // [!code ++]
614
+ * to: '0xa5cc3c03994db5b0d9a5eedd10cabab0813678ac', // [!code --]
615
+ * to: '0xa5cc3c03994db5b0d9a5eedd10cabab0813678ad', // [!code ++]
616
+ * value: 1n,
617
+ * })
618
+ * ```
619
+ */
620
+ export declare class ArgsMismatchError extends Errors.BaseError {
621
+ readonly name = "AbiEvent.ArgsMismatchError";
622
+ constructor({ abiEvent, expected, given, }: {
623
+ abiEvent: AbiEvent;
624
+ expected: unknown;
625
+ given: unknown;
626
+ });
627
+ }
628
+ /**
629
+ * Thrown when no argument was found on the event signature.
630
+ *
631
+ * @example
632
+ * ```ts twoslash
633
+ * // @noErrors
634
+ * import { AbiEvent } from 'ox'
635
+ *
636
+ * const abiEvent = AbiEvent.from(
637
+ * 'event Transfer(address indexed from, address indexed to, uint256 value)',
638
+ * )
639
+ *
640
+ * const args = AbiEvent.decode(abiEvent, {
641
+ * data: '0x0000000000000000000000000000000000000000000000000000000000000001',
642
+ * topics: [
643
+ * '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
644
+ * '0x000000000000000000000000a5cc3c03994db5b0d9a5eedd10cabab0813678ac',
645
+ * '0x000000000000000000000000a5cc3c03994db5b0d9a5eedd10cabab0813678ad',
646
+ * ],
647
+ * })
648
+ *
649
+ * AbiEvent.assertArgs(abiEvent, args, {
650
+ * a: 'b',
651
+ * from: '0xa5cc3c03994db5b0d9a5eedd10cabab0813678ac',
652
+ * to: '0xa5cc3c03994db5b0d9a5eedd10cabab0813678ad',
653
+ * value: 1n,
654
+ * })
655
+ * // @error: AbiEvent.InputNotFoundError: Parameter "a" not found on `event Transfer(address indexed from, address indexed to, uint256 value)`.
656
+ * ```
657
+ *
658
+ * ### Solution
659
+ *
660
+ * Ensure the arguments match the event signature.
661
+ *
662
+ * ```ts twoslash
663
+ * // @noErrors
664
+ * import { AbiEvent } from 'ox'
665
+ *
666
+ * const abiEvent = AbiEvent.from(
667
+ * 'event Transfer(address indexed from, address indexed to, uint256 value)',
668
+ * )
669
+ *
670
+ * const args = AbiEvent.decode(abiEvent, {
671
+ * data: '0x0000000000000000000000000000000000000000000000000000000000000001',
672
+ * topics: [
673
+ * '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
674
+ * '0x000000000000000000000000a5cc3c03994db5b0d9a5eedd10cabab0813678ac',
675
+ * '0x000000000000000000000000a5cc3c03994db5b0d9a5eedd10cabab0813678ad',
676
+ * ],
677
+ * })
678
+ *
679
+ * AbiEvent.assertArgs(abiEvent, args, {
680
+ * a: 'b', // [!code --]
681
+ * from: '0xa5cc3c03994db5b0d9a5eedd10cabab0813678ac',
682
+ * to: '0xa5cc3c03994db5b0d9a5eedd10cabab0813678ad',
683
+ * value: 1n,
684
+ * })
685
+ * ```
686
+ */
687
+ export declare class InputNotFoundError extends Errors.BaseError {
688
+ readonly name = "AbiEvent.InputNotFoundError";
689
+ constructor({ abiEvent, name, }: {
690
+ abiEvent: AbiEvent;
691
+ name: string;
692
+ });
693
+ }
694
+ /**
695
+ * Thrown when the provided data size does not match the expected size from the non-indexed parameters.
696
+ *
697
+ * @example
698
+ * ```ts twoslash
699
+ * import { AbiEvent } from 'ox'
700
+ *
701
+ * const abiEvent = AbiEvent.from(
702
+ * 'event Transfer(address indexed from, address to, uint256 value)',
703
+ * // ↑ 32 bytes + ↑ 32 bytes = 64 bytes
704
+ * )
705
+ *
706
+ * const args = AbiEvent.decode(abiEvent, {
707
+ * data: '0x0000000000000000000000000000000000000000000000000000000023c34600',
708
+ * // ↑ 32 bytes ❌
709
+ * topics: [
710
+ * '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
711
+ * '0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266',
712
+ * ],
713
+ * })
714
+ * // @error: AbiEvent.DataMismatchError: Data size of 32 bytes is too small for non-indexed event parameters.
715
+ * // @error: Non-indexed Parameters: (address to, uint256 value)
716
+ * // @error: Data: 0x0000000000000000000000000000000000000000000000000000000023c34600 (32 bytes)
717
+ * ```
718
+ *
719
+ * ### Solution
720
+ *
721
+ * Ensure that the data size matches the expected size.
722
+ *
723
+ * ```ts twoslash
724
+ * import { AbiEvent } from 'ox'
725
+ *
726
+ * const abiEvent = AbiEvent.from(
727
+ * 'event Transfer(address indexed from, address to, uint256 value)',
728
+ * // ↑ 32 bytes + ↑ 32 bytes = 64 bytes
729
+ * )
730
+ *
731
+ * const args = AbiEvent.decode(abiEvent, {
732
+ * data: '0x0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb922660000000000000000000000000000000000000000000000000000000023c34600',
733
+ * // ↑ 64 bytes ✅
734
+ * topics: [
735
+ * '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
736
+ * '0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266',
737
+ * ],
738
+ * })
739
+ * ```
740
+ */
741
+ export declare class DataMismatchError extends Errors.BaseError {
742
+ readonly name = "AbiEvent.DataMismatchError";
743
+ abiEvent: AbiEvent;
744
+ data: Hex.Hex;
745
+ parameters: readonly abitype.AbiParameter[];
746
+ size: number;
747
+ constructor({ abiEvent, data, parameters, size, }: {
748
+ abiEvent: AbiEvent;
749
+ data: Hex.Hex;
750
+ parameters: readonly abitype.AbiParameter[];
751
+ size: number;
752
+ });
753
+ }
754
+ /**
755
+ * Thrown when the provided topics do not match the expected number of topics.
756
+ *
757
+ * @example
758
+ * ```ts twoslash
759
+ * import { AbiEvent } from 'ox'
760
+ *
761
+ * const abiEvent = AbiEvent.from(
762
+ * 'event Transfer(address indexed from, address indexed to, uint256 value)',
763
+ * )
764
+ *
765
+ * const args = AbiEvent.decode(abiEvent, {
766
+ * data: '0x0000000000000000000000000000000000000000000000000000000000000001',
767
+ * topics: [
768
+ * '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
769
+ * '0x000000000000000000000000a5cc3c03994db5b0d9a5eedd10cabab0813678ac',
770
+ * ],
771
+ * })
772
+ * // @error: AbiEvent.TopicsMismatchError: Expected a topic for indexed event parameter "to" for "event Transfer(address indexed from, address indexed to, uint256 value)".
773
+ * ```
774
+ *
775
+ * ### Solution
776
+ *
777
+ * Ensure that the topics match the expected number of topics.
778
+ *
779
+ * ```ts twoslash
780
+ * import { AbiEvent } from 'ox'
781
+ *
782
+ * const abiEvent = AbiEvent.from(
783
+ * 'event Transfer(address indexed from, address indexed to, uint256 value)',
784
+ * )
785
+ *
786
+ * const args = AbiEvent.decode(abiEvent, {
787
+ * data: '0x0000000000000000000000000000000000000000000000000000000000000001',
788
+ * topics: [
789
+ * '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
790
+ * '0x000000000000000000000000a5cc3c03994db5b0d9a5eedd10cabab0813678ac',
791
+ * '0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266', // [!code ++]
792
+ * ],
793
+ * })
794
+ * ```
795
+ *
796
+ */
797
+ export declare class TopicsMismatchError extends Errors.BaseError {
798
+ readonly name = "AbiEvent.TopicsMismatchError";
799
+ abiEvent: AbiEvent;
800
+ constructor({ abiEvent, param, }: {
801
+ abiEvent: AbiEvent;
802
+ param: abitype.AbiParameter & {
803
+ indexed: boolean;
804
+ };
805
+ });
806
+ }
807
+ /**
808
+ * Thrown when the provided selector does not match the expected selector.
809
+ *
810
+ * @example
811
+ * ```ts twoslash
812
+ * import { AbiEvent } from 'ox'
813
+ *
814
+ * const transfer = AbiEvent.from(
815
+ * 'event Transfer(address indexed from, address indexed to, bool sender)',
816
+ * )
817
+ *
818
+ * AbiEvent.decode(transfer, {
819
+ * topics: [
820
+ * '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
821
+ * '0x000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045',
822
+ * '0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266',
823
+ * ],
824
+ * })
825
+ * // @error: AbiEvent.SelectorTopicMismatchError: topics[0]="0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" does not match the expected topics[0]="0x3da3cd3cf420c78f8981e7afeefa0eab1f0de0eb56e78ad9ba918ed01c0b402f".
826
+ * // @error: Event: event Transfer(address indexed from, address indexed to, bool sender)
827
+ * // @error: Selector: 0x3da3cd3cf420c78f8981e7afeefa0eab1f0de0eb56e78ad9ba918ed01c0b402f
828
+ * ```
829
+ *
830
+ * ### Solution
831
+ *
832
+ * Ensure that the provided selector matches the selector of the event signature.
833
+ *
834
+ * ```ts twoslash
835
+ * import { AbiEvent } from 'ox'
836
+ *
837
+ * const transfer = AbiEvent.from(
838
+ * 'event Transfer(address indexed from, address indexed to, bool sender)',
839
+ * )
840
+ *
841
+ * AbiEvent.decode(transfer, {
842
+ * topics: [
843
+ * '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef', // [!code --]
844
+ * '0x3da3cd3cf420c78f8981e7afeefa0eab1f0de0eb56e78ad9ba918ed01c0b402f', // [!code ++]
845
+ * '0x000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045',
846
+ * '0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266',
847
+ * ],
848
+ * })
849
+ * ```
850
+ */
851
+ export declare class SelectorTopicMismatchError extends Errors.BaseError {
852
+ readonly name = "AbiEvent.SelectorTopicMismatchError";
853
+ constructor({ abiEvent, actual, expected, }: {
854
+ abiEvent: AbiEvent;
855
+ actual: Hex.Hex | undefined;
856
+ expected: Hex.Hex;
857
+ });
858
+ }
859
+ /**
860
+ * Thrown when the provided filter type is not supported.
861
+ *
862
+ * @example
863
+ * ```ts twoslash
864
+ * import { AbiEvent } from 'ox'
865
+ *
866
+ * const transfer = AbiEvent.from('event Transfer((string) indexed a, string b)')
867
+ *
868
+ * AbiEvent.encode(transfer, {
869
+ * a: ['hello'],
870
+ * })
871
+ * // @error: AbiEvent.FilterTypeNotSupportedError: Filter type "tuple" is not supported.
872
+ * ```
873
+ *
874
+ * ### Solution
875
+ *
876
+ * Provide a valid event input type.
877
+ *
878
+ * ```ts twoslash
879
+ * // @noErrors
880
+ * import { AbiEvent } from 'ox'
881
+ *
882
+ * const transfer = AbiEvent.from('event Transfer((string) indexed a, string b)') // [!code --]
883
+ * const transfer = AbiEvent.from('event Transfer(string indexed a, string b)') // [!code ++]
884
+ * ```
885
+ *
886
+ *
887
+ */
888
+ export declare class FilterTypeNotSupportedError extends Errors.BaseError {
889
+ readonly name = "AbiEvent.FilterTypeNotSupportedError";
890
+ constructor(type: string);
891
+ }
892
+ //# sourceMappingURL=AbiEvent.d.ts.map