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