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,522 @@
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 type * as Errors from './Errors.js';
6
+ import * as Hex from './Hex.js';
7
+ import type * as internal from './internal/abiError.js';
8
+ import type * as AbiItem_internal from './internal/abiItem.js';
9
+ import type { IsNarrowable, IsNever } from './internal/types.js';
10
+ /** Root type for an {@link ox#AbiItem.AbiItem} with an `error` type. */
11
+ export type AbiError = abitype.AbiError & {
12
+ hash?: Hex.Hex | undefined;
13
+ overloads?: readonly AbiError[] | undefined;
14
+ };
15
+ /** @internal */
16
+ export declare function decode<const abiError extends AbiError, as extends 'Object' | 'Array' = 'Array'>(abiError: abiError, data: Hex.Hex, options?: decode.Options<as> | undefined): decode.ReturnType<abiError, as>;
17
+ /**
18
+ * ABI-decodes the provided error input (`inputs`).
19
+ *
20
+ * :::tip
21
+ *
22
+ * This function is typically used to decode contract function reverts (e.g. a JSON-RPC error response).
23
+ *
24
+ * See the [End-to-end Example](#end-to-end).
25
+ *
26
+ * :::
27
+ *
28
+ * @example
29
+ * ```ts twoslash
30
+ * import { AbiError } from 'ox'
31
+ *
32
+ * const error = AbiError.from('error InvalidSignature(uint r, uint s, uint8 yParity)')
33
+ *
34
+ * const value = AbiError.decode(error, '0xecde634900000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000000450000000000000000000000000000000000000000000000000000000000000001')
35
+ * // @log: [420n, 69n, 1]
36
+ * ```
37
+ *
38
+ * @example
39
+ * You can extract an ABI Error from a JSON ABI with {@link ox#AbiError.(fromAbi:function)}:
40
+ *
41
+ * ```ts twoslash
42
+ * // @noErrors
43
+ * import { Abi, AbiError } from 'ox'
44
+ *
45
+ * const abi = Abi.from([...]) // [!code hl]
46
+ * const error = AbiError.fromAbi(abi, 'InvalidSignature') // [!code hl]
47
+ *
48
+ * const value = AbiError.decode(error, '0xecde634900000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000000450000000000000000000000000000000000000000000000000000000000000001')
49
+ * // @log: [420n, 69n, 1]
50
+ * ```
51
+ *
52
+ * @example
53
+ * You can pass the error `data` to the `name` property of {@link ox#AbiError.(fromAbi:function)} to extract and infer the error by its 4-byte selector:
54
+ *
55
+ * ```ts twoslash
56
+ * // @noErrors
57
+ * import { Abi, AbiError } from 'ox'
58
+ *
59
+ * const data = '0xecde634900000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000000450000000000000000000000000000000000000000000000000000000000000001'
60
+ *
61
+ * const abi = Abi.from([...])
62
+ * const error = AbiError.fromAbi(abi, data) // [!code hl]
63
+ *
64
+ * const value = AbiError.decode(error, data)
65
+ * // @log: [420n, 69n, 1]
66
+ * ```
67
+ *
68
+ * @example
69
+ * ### End-to-end
70
+ *
71
+ * Below is an end-to-end example of using `AbiError.decode` to decode the revert error of an `approve` contract call on the [Wagmi Mint Example contract](https://etherscan.io/address/0xfba3912ca04dd458c843e2ee08967fc04f3579c2).
72
+ *
73
+ * ```ts twoslash
74
+ * // @noErrors
75
+ * import 'ox/window'
76
+ * import { Abi, AbiError, AbiFunction } from 'ox'
77
+ *
78
+ * // 1. Extract the Function from the Contract's ABI.
79
+ * const abi = Abi.from([
80
+ * // ...
81
+ * {
82
+ * inputs: [
83
+ * { name: 'to', type: 'address' },
84
+ * { name: 'tokenId', type: 'uint256' },
85
+ * ],
86
+ * name: 'approve',
87
+ * outputs: [],
88
+ * stateMutability: 'nonpayable',
89
+ * type: 'function',
90
+ * },
91
+ * // ...
92
+ * ])
93
+ * const approve = AbiFunction.fromAbi(abi, 'approve')
94
+ *
95
+ * // 2. Encode the Function Input.
96
+ * const data = AbiFunction.encodeData(
97
+ * approve,
98
+ * ['0xd8da6bf26964af9d7eed9e03e53415d37aa96045', 69420n]
99
+ * )
100
+ *
101
+ * try {
102
+ * // 3. Attempt to perform the the Contract Call.
103
+ * await window.ethereum!.request({
104
+ * method: 'eth_call',
105
+ * params: [
106
+ * {
107
+ * data,
108
+ * to: '0xfba3912ca04dd458c843e2ee08967fc04f3579c2',
109
+ * },
110
+ * ],
111
+ * })
112
+ * } catch (e) { // [!code focus]
113
+ * // 4. Extract and decode the Error. // [!code focus]
114
+ * const error = AbiError.fromAbi(abi, e.data) // [!code focus]
115
+ * const value = AbiError.decode(error, e.data) // [!code focus]
116
+ * console.error(`${error.name}(${value})`) // [!code focus]
117
+ * // @error: Error(ERC721: approve caller is not owner nor approved for all)
118
+ * } // [!code focus]
119
+ * ```
120
+ *
121
+ * :::note
122
+ *
123
+ * For simplicity, the above example uses `window.ethereum.request`, but you can use any
124
+ * type of JSON-RPC interface.
125
+ *
126
+ * :::
127
+ *
128
+ * @param abiError - The ABI Error to decode.
129
+ * @param data - The error data.
130
+ * @param options - Decoding options.
131
+ * @returns The decoded error.
132
+ */
133
+ export declare function decode(abiError: AbiError, data: Hex.Hex, options?: decode.Options | undefined): unknown | readonly unknown[] | undefined;
134
+ export declare namespace decode {
135
+ type Options<as extends 'Object' | 'Array' = 'Array'> = {
136
+ /**
137
+ * Whether the decoded values should be returned as an `Object` or `Array`.
138
+ *
139
+ * @default "Array"
140
+ */
141
+ as?: as | 'Array' | 'Object' | undefined;
142
+ };
143
+ type ReturnType<abiError extends AbiError = AbiError, as extends 'Object' | 'Array' = 'Array'> = IsNarrowable<abiError, AbiError> extends true ? abiError['inputs'] extends readonly [] ? undefined : abiError['inputs'] extends readonly [
144
+ infer type extends abitype.AbiParameter
145
+ ] ? abitype.AbiParameterToPrimitiveType<type> : AbiParameters.decode.ReturnType<abiError['inputs'], as> extends infer types ? types extends readonly [] ? undefined : types extends readonly [infer type] ? type : types : never : unknown | readonly unknown[] | undefined;
146
+ type ErrorType = AbiParameters.decode.ErrorType | Hex.size.ErrorType | AbiItem.InvalidSelectorSizeError | Errors.GlobalErrorType;
147
+ }
148
+ /**
149
+ * ABI-encodes the provided error input (`inputs`), prefixed with the 4 byte error selector.
150
+ *
151
+ * @example
152
+ * ```ts twoslash
153
+ * import { AbiError } from 'ox'
154
+ *
155
+ * const error = AbiError.from(
156
+ * 'error InvalidSignature(uint r, uint s, uint8 yParity)'
157
+ * )
158
+ *
159
+ * const data = AbiError.encode( // [!code focus]
160
+ * error, // [!code focus]
161
+ * [1n, 2n, 0] // [!code focus]
162
+ * ) // [!code focus]
163
+ * // @log: '0x095ea7b3000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa960450000000000000000000000000000000000000000000000000000000000010f2c'
164
+ * ```
165
+ *
166
+ * @example
167
+ * You can extract an ABI Error from a JSON ABI with {@link ox#AbiError.(fromAbi:function)}:
168
+ *
169
+ * ```ts twoslash
170
+ * // @noErrors
171
+ * import { Abi, AbiError } from 'ox'
172
+ *
173
+ * const abi = Abi.from([ // [!code hl]
174
+ * // ... // [!code hl]
175
+ * { // [!code hl]
176
+ * name: 'InvalidSignature', // [!code hl]
177
+ * type: 'error', // [!code hl]
178
+ * inputs: [ // [!code hl]
179
+ * { name: 'r', type: 'uint256' }, // [!code hl]
180
+ * { name: 's', type: 'uint256' }, // [!code hl]
181
+ * { name: 'yParity', type: 'uint8' }, // [!code hl]
182
+ * ], // [!code hl]
183
+ * }, // [!code hl]
184
+ * // ... // [!code hl]
185
+ * ]) // [!code hl]
186
+ * const error = AbiError.fromAbi(abi, 'InvalidSignature') // [!code hl]
187
+ *
188
+ * const data = AbiError.encode(
189
+ * error,
190
+ * ['0xd8da6bf26964af9d7eed9e03e53415d37aa96045', 69420n]
191
+ * )
192
+ * // @log: '0x095ea7b3000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa960450000000000000000000000000000000000000000000000000000000000010f2c'
193
+ * ```
194
+ *
195
+ * @param abiError - ABI Error to encode
196
+ * @param args - Error arguments
197
+ * @returns ABI-encoded error name and arguments
198
+ */
199
+ export declare function encode<const abiError extends AbiError>(abiError: abiError, ...args: encode.Args<abiError>): encode.ReturnType;
200
+ export declare namespace encode {
201
+ var parseError: (error: unknown) => encode.ErrorType;
202
+ }
203
+ export declare namespace encode {
204
+ type Args<abiError extends AbiError = AbiError> = IsNarrowable<abiError, AbiError> extends true ? abitype.AbiParametersToPrimitiveTypes<abiError['inputs']> extends readonly [] ? [] : [abitype.AbiParametersToPrimitiveTypes<abiError['inputs']>] : readonly unknown[];
205
+ type ReturnType = Hex.Hex;
206
+ type ErrorType = Errors.GlobalErrorType;
207
+ }
208
+ /**
209
+ * Formats an {@link ox#AbiError.AbiError} into a **Human Readable ABI Error**.
210
+ *
211
+ * @example
212
+ * ```ts twoslash
213
+ * import { AbiError } from 'ox'
214
+ *
215
+ * const formatted = AbiError.format({
216
+ * type: 'error',
217
+ * name: 'Example',
218
+ * inputs: [
219
+ * {
220
+ * name: 'spender',
221
+ * type: 'address',
222
+ * },
223
+ * {
224
+ * name: 'amount',
225
+ * type: 'uint256',
226
+ * },
227
+ * ],
228
+ * })
229
+ *
230
+ * formatted
231
+ * // ^?
232
+ *
233
+ *
234
+ * ```
235
+ *
236
+ * @param abiError - The ABI Error to format.
237
+ * @returns The formatted ABI Error.
238
+ */
239
+ export declare function format<const abiError extends AbiError>(abiError: abiError | AbiError): abitype.FormatAbiItem<abiError>;
240
+ export declare namespace format {
241
+ var parseError: (error: unknown) => format.ErrorType;
242
+ }
243
+ export declare namespace format {
244
+ type ErrorType = Errors.GlobalErrorType;
245
+ }
246
+ /**
247
+ * Parses an arbitrary **JSON ABI Error** or **Human Readable ABI Error** into a typed {@link ox#AbiError.AbiError}.
248
+ *
249
+ * @example
250
+ * ### JSON ABIs
251
+ *
252
+ * ```ts twoslash
253
+ * import { AbiError } from 'ox'
254
+ *
255
+ * const badSignatureVError = AbiError.from({
256
+ * inputs: [{ name: 'v', type: 'uint8' }],
257
+ * name: 'BadSignatureV',
258
+ * type: 'error',
259
+ * })
260
+ *
261
+ * badSignatureVError
262
+ * //^?
263
+ *
264
+ *
265
+ *
266
+ *
267
+ *
268
+ *
269
+ *
270
+ *
271
+ *
272
+ *
273
+ *
274
+ *
275
+ * ```
276
+ *
277
+ * @example
278
+ * ### Human Readable ABIs
279
+ *
280
+ * A Human Readable ABI can be parsed into a typed ABI object:
281
+ *
282
+ * ```ts twoslash
283
+ * import { AbiError } from 'ox'
284
+ *
285
+ * const badSignatureVError = AbiError.from(
286
+ * 'error BadSignatureV(uint8 v)' // [!code hl]
287
+ * )
288
+ *
289
+ * badSignatureVError
290
+ * //^?
291
+ *
292
+ *
293
+ *
294
+ *
295
+ *
296
+ *
297
+ *
298
+ *
299
+ *
300
+ *
301
+ *
302
+ *
303
+ *
304
+ * ```
305
+ *
306
+ * @example
307
+ * It is possible to specify `struct`s along with your definitions:
308
+ *
309
+ * ```ts twoslash
310
+ * import { AbiError } from 'ox'
311
+ *
312
+ * const badSignatureVError = AbiError.from([
313
+ * 'struct Signature { uint8 v; }', // [!code hl]
314
+ * 'error BadSignatureV(Signature signature)',
315
+ * ])
316
+ *
317
+ * badSignatureVError
318
+ * //^?
319
+ *
320
+ *
321
+ *
322
+ *
323
+ *
324
+ *
325
+ *
326
+ *
327
+ *
328
+ *
329
+ *
330
+ *
331
+ * ```
332
+ *
333
+ *
334
+ *
335
+ * @param abiError - The ABI Error to parse.
336
+ * @returns Typed ABI Error.
337
+ */
338
+ export declare function from<const abiError extends AbiError | string | readonly string[]>(abiError: (abiError | AbiError | string | readonly string[]) & ((abiError extends string ? internal.Signature<abiError> : never) | (abiError extends readonly string[] ? internal.Signatures<abiError> : never) | AbiError), options?: from.Options): from.ReturnType<abiError>;
339
+ export declare namespace from {
340
+ var parseError: (error: unknown) => from.ErrorType;
341
+ }
342
+ export declare namespace from {
343
+ type Options = {
344
+ /**
345
+ * Whether or not to prepare the extracted function (optimization for encoding performance).
346
+ * When `true`, the `hash` property is computed and included in the returned value.
347
+ *
348
+ * @default true
349
+ */
350
+ prepare?: boolean | undefined;
351
+ };
352
+ type ReturnType<abiError extends AbiError | string | readonly string[]> = AbiItem.from.ReturnType<abiError>;
353
+ type ErrorType = AbiItem.from.ErrorType | Errors.GlobalErrorType;
354
+ }
355
+ /**
356
+ * Extracts an {@link ox#AbiError.AbiError} from an {@link ox#Abi.Abi} given a name and optional arguments.
357
+ *
358
+ * @example
359
+ * ### Extracting by Name
360
+ *
361
+ * ABI Errors can be extracted by their name using the `name` option:
362
+ *
363
+ * ```ts twoslash
364
+ * import { Abi, AbiError } from 'ox'
365
+ *
366
+ * const abi = Abi.from([
367
+ * 'function foo()',
368
+ * 'error BadSignatureV(uint8 v)',
369
+ * 'function bar(string a) returns (uint256 x)',
370
+ * ])
371
+ *
372
+ * const item = AbiError.fromAbi(abi, 'BadSignatureV') // [!code focus]
373
+ * // ^?
374
+ *
375
+ *
376
+ *
377
+ *
378
+ *
379
+ *
380
+ * ```
381
+ *
382
+ * @example
383
+ * ### Extracting by Selector
384
+ *
385
+ * ABI Errors can be extract by their selector when {@link ox#Hex.Hex} is provided to `name`.
386
+ *
387
+ * ```ts twoslash
388
+ * import { Abi, AbiError } from 'ox'
389
+ *
390
+ * const abi = Abi.from([
391
+ * 'function foo()',
392
+ * 'error BadSignatureV(uint8 v)',
393
+ * 'function bar(string a) returns (uint256 x)',
394
+ * ])
395
+ * const item = AbiError.fromAbi(abi, '0x095ea7b3') // [!code focus]
396
+ * // ^?
397
+ *
398
+ *
399
+ *
400
+ *
401
+ *
402
+ *
403
+ *
404
+ *
405
+ *
406
+ * ```
407
+ *
408
+ * :::note
409
+ *
410
+ * Extracting via a hex selector is useful when extracting an ABI Error from JSON-RPC error data.
411
+ *
412
+ * :::
413
+ *
414
+ * @param abi - The ABI to extract from.
415
+ * @param name - The name (or selector) of the ABI item to extract.
416
+ * @param options - Extraction options.
417
+ * @returns The ABI item.
418
+ */
419
+ 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>>): fromAbi.ReturnType<abi, name, args>;
420
+ export declare namespace fromAbi {
421
+ var parseError: (error: unknown) => fromAbi.ErrorType;
422
+ }
423
+ export declare namespace fromAbi {
424
+ type ReturnType<abi extends Abi.Abi | readonly unknown[] = Abi.Abi, name extends Name<abi> = Name<abi>, args extends AbiItem_internal.ExtractArgs<abi, name> | undefined = AbiItem_internal.ExtractArgs<abi, name>> = IsNarrowable<name, Name<abi>> extends true ? (name extends 'Error' ? typeof solidityError : never) | (name extends 'Panic' ? typeof solidityPanic : never) extends infer result ? IsNever<result> extends true ? AbiItem.fromAbi.ReturnType<abi, name, args, AbiError> : result : never : AbiItem.fromAbi.ReturnType<abi, name, args, AbiError> | typeof solidityError | typeof solidityPanic;
425
+ type ErrorType = AbiItem.fromAbi.ErrorType | Errors.GlobalErrorType;
426
+ }
427
+ /**
428
+ * Computes the [4-byte selector](https://solidity-by-example.org/function-selector/) for an {@link ox#AbiError.AbiError}.
429
+ *
430
+ * @example
431
+ * ```ts twoslash
432
+ * import { AbiError } from 'ox'
433
+ *
434
+ * const selector = AbiError.getSelector('error BadSignatureV(uint8 v)')
435
+ * // @log: '0x6352211e'
436
+ * ```
437
+ *
438
+ * @example
439
+ * ```ts twoslash
440
+ * import { AbiError } from 'ox'
441
+ *
442
+ * const selector = AbiError.getSelector({
443
+ * inputs: [{ name: 'v', type: 'uint8' }],
444
+ * name: 'BadSignatureV',
445
+ * type: 'error'
446
+ * })
447
+ * // @log: '0x6352211e'
448
+ * ```
449
+ *
450
+ * @param abiItem - The ABI item to compute the selector for.
451
+ * @returns The first 4 bytes of the {@link ox#Hash.(keccak256:function)} hash of the error signature.
452
+ */
453
+ export declare function getSelector(abiItem: string | AbiError): Hex.Hex;
454
+ export declare namespace getSelector {
455
+ var parseError: (error: unknown) => getSelector.ErrorType;
456
+ }
457
+ export declare namespace getSelector {
458
+ type ErrorType = AbiItem.getSelector.ErrorType | Errors.GlobalErrorType;
459
+ }
460
+ export declare const panicReasons: Record<number, string>;
461
+ export declare const solidityError: {
462
+ readonly inputs: readonly [{
463
+ readonly name: "message";
464
+ readonly type: "string";
465
+ }];
466
+ readonly name: "Error";
467
+ readonly type: "error";
468
+ };
469
+ export declare const solidityErrorSelector = "0x08c379a0";
470
+ export declare const solidityPanic: {
471
+ readonly inputs: readonly [{
472
+ readonly name: "reason";
473
+ readonly type: "uint8";
474
+ }];
475
+ readonly name: "Panic";
476
+ readonly type: "error";
477
+ };
478
+ export declare const solidityPanicSelector = "0x4e487b71";
479
+ /**
480
+ * Extracts an {@link ox#AbiError.AbiError} item from an {@link ox#Abi.Abi}, given a name.
481
+ *
482
+ * @example
483
+ * ```ts twoslash
484
+ * import { Abi, AbiError } from 'ox'
485
+ *
486
+ * const abi = Abi.from([
487
+ * 'error Foo(string)',
488
+ * 'error Bar(uint256)',
489
+ * ])
490
+ *
491
+ * type Foo = AbiError.FromAbi<typeof abi, 'Foo'>
492
+ * // ^?
493
+ *
494
+ *
495
+ *
496
+ *
497
+ *
498
+ *
499
+ *
500
+ *
501
+ * ```
502
+ */
503
+ export type FromAbi<abi extends Abi.Abi, name extends ExtractNames<abi>> = abitype.ExtractAbiError<abi, name>;
504
+ /**
505
+ * Extracts the names of all {@link ox#AbiError.AbiError} items in an {@link ox#Abi.Abi}.
506
+ *
507
+ * @example
508
+ * ```ts twoslash
509
+ * import { Abi, AbiError } from 'ox'
510
+ *
511
+ * const abi = Abi.from([
512
+ * 'error Foo(string)',
513
+ * 'error Bar(uint256)',
514
+ * ])
515
+ *
516
+ * type names = AbiError.Name<typeof abi>
517
+ * // ^?
518
+ * ```
519
+ */
520
+ export type Name<abi extends Abi.Abi | readonly unknown[] = Abi.Abi> = abi extends Abi.Abi ? ExtractNames<abi> : string;
521
+ export type ExtractNames<abi extends Abi.Abi> = abitype.ExtractAbiErrorNames<abi> | 'Panic' | 'Error';
522
+ //# sourceMappingURL=AbiError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbiError.d.ts","sourceRoot":"","sources":["../AbiError.ts"],"names":[],"mappings":"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"}