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,190 @@
1
+ import type * as Address from './Address.js';
2
+ import type * as Errors from './Errors.js';
3
+ import * as Hex from './Hex.js';
4
+ import * as Transaction from './Transaction.js';
5
+ import * as Withdrawal from './Withdrawal.js';
6
+ import type { Compute } from './internal/types.js';
7
+ /** A Block as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/block.yaml). */
8
+ export type Block<includeTransactions extends boolean = false, blockTag extends Tag = 'latest', bigintType = bigint, numberType = number, transaction = Transaction.Transaction<blockTag extends 'pending' ? true : false, bigintType, numberType>> = Compute<{
9
+ /** Base fee per gas */
10
+ baseFeePerGas?: bigintType | undefined;
11
+ /** Total used blob gas by all transactions in this block */
12
+ blobGasUsed?: bigintType | undefined;
13
+ /** Difficulty for this block */
14
+ difficulty?: bigintType | undefined;
15
+ /** Excess blob gas */
16
+ excessBlobGas?: bigintType | undefined;
17
+ /** "Extra data" field of this block */
18
+ extraData?: Hex.Hex | undefined;
19
+ /** Maximum gas allowed in this block */
20
+ gasLimit: bigintType;
21
+ /** Total used gas by all transactions in this block */
22
+ gasUsed: bigintType;
23
+ /** Block hash or `null` if pending */
24
+ hash: blockTag extends 'pending' ? null : Hex.Hex;
25
+ /** Logs bloom filter or `null` if pending */
26
+ logsBloom: blockTag extends 'pending' ? null : Hex.Hex;
27
+ /** Address that received this block’s mining rewards */
28
+ miner: Address.Address;
29
+ /** Unique identifier for the block. */
30
+ mixHash: Hex.Hex;
31
+ /** Proof-of-work hash or `null` if pending */
32
+ nonce: blockTag extends 'pending' ? null : Hex.Hex;
33
+ /** Block number or `null` if pending */
34
+ number: blockTag extends 'pending' ? null : bigintType;
35
+ parentBeaconBlockRoot?: Hex.Hex | undefined;
36
+ /** Parent block hash */
37
+ parentHash: Hex.Hex;
38
+ /** Root of the this block’s receipts trie */
39
+ receiptsRoot: Hex.Hex;
40
+ sealFields?: readonly Hex.Hex[] | undefined;
41
+ /** SHA3 of the uncles data in this block */
42
+ sha3Uncles: Hex.Hex;
43
+ /** Size of this block in bytes */
44
+ size: bigintType;
45
+ /** Root of this block’s final state trie */
46
+ stateRoot: Hex.Hex;
47
+ /** Unix timestamp of when this block was collated */
48
+ timestamp: bigintType;
49
+ /** Total difficulty of the chain until this block */
50
+ totalDifficulty?: bigintType | undefined;
51
+ /** List of transaction objects or hashes */
52
+ transactions: includeTransactions extends true ? readonly transaction[] : readonly Hex.Hex[];
53
+ /** Root of this block’s transaction trie */
54
+ transactionsRoot: Hex.Hex;
55
+ /** List of uncle hashes */
56
+ uncles: readonly Hex.Hex[];
57
+ /** List of withdrawal objects */
58
+ withdrawals?: readonly Withdrawal.Withdrawal<bigintType, numberType>[] | undefined;
59
+ /** Root of the this block’s withdrawals trie */
60
+ withdrawalsRoot?: Hex.Hex | undefined;
61
+ }>;
62
+ /** A Block hash. */
63
+ export type Hash = Hex.Hex;
64
+ /** A Block number. */
65
+ export type Number<bigintType = bigint> = bigintType;
66
+ /** An RPC Block as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/block.yaml). */
67
+ export type Rpc<includeTransactions extends boolean = boolean, blockTag extends Tag = 'latest', transaction = Transaction.Rpc<blockTag extends 'pending' ? true : false>> = Block<includeTransactions, blockTag, Hex.Hex, Hex.Hex, transaction>;
68
+ /**
69
+ * A Block Tag as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/block.yaml).
70
+ *
71
+ * - `earliest`: The lowest numbered block the client has available;
72
+ * - `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination;
73
+ * - `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions;
74
+ * - `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions;
75
+ * - `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool.
76
+ */
77
+ export type Tag = 'latest' | 'earliest' | 'pending' | 'safe' | 'finalized';
78
+ /**
79
+ * Converts a {@link ox#Block.Block} to an {@link ox#Block.Rpc}.
80
+ *
81
+ * @example
82
+ * ```ts twoslash
83
+ * // @noErrors
84
+ * import { Block } from 'ox'
85
+ *
86
+ * const block = Block.toRpc({
87
+ * // ...
88
+ * hash: '0xebc3644804e4040c0a74c5a5bbbc6b46a71a5d4010fe0c92ebb2fdf4a43ea5dd',
89
+ * number: 19868020n,
90
+ * size: 520n
91
+ * timestamp: 1662222222n,
92
+ * // ...
93
+ * })
94
+ * // @log: {
95
+ * // @log: // ...
96
+ * // @log: hash: '0xebc3644804e4040c0a74c5a5bbbc6b46a71a5d4010fe0c92ebb2fdf4a43ea5dd',
97
+ * // @log: number: '0xec6fc6',
98
+ * // @log: size: '0x208',
99
+ * // @log: timestamp: '0x63198f6f',
100
+ * // @log: // ...
101
+ * // @log: }
102
+ * ```
103
+ *
104
+ * @param block - The Block to convert.
105
+ * @returns An RPC Block.
106
+ */
107
+ export declare function toRpc<includeTransactions extends boolean = false, blockTag extends Tag = 'latest'>(block: Block<includeTransactions, blockTag>, _options?: toRpc.Options<includeTransactions, blockTag>): Rpc<boolean, blockTag>;
108
+ export declare namespace toRpc {
109
+ var parseError: (error: unknown) => toRpc.ErrorType;
110
+ }
111
+ export declare namespace toRpc {
112
+ type Options<includeTransactions extends boolean = false, blockTag extends Tag = 'latest'> = {
113
+ blockTag?: blockTag | Tag | undefined;
114
+ includeTransactions?: includeTransactions | boolean | undefined;
115
+ };
116
+ type ErrorType = Errors.GlobalErrorType;
117
+ }
118
+ /**
119
+ * Converts a {@link ox#Block.Rpc} to an {@link ox#Block.Block}.
120
+ *
121
+ * @example
122
+ * ```ts twoslash
123
+ * // @noErrors
124
+ * import { Block } from 'ox'
125
+ *
126
+ * const block = Block.fromRpc({
127
+ * // ...
128
+ * hash: '0xebc3644804e4040c0a74c5a5bbbc6b46a71a5d4010fe0c92ebb2fdf4a43ea5dd',
129
+ * number: '0xec6fc6',
130
+ * size: '0x208',
131
+ * timestamp: '0x63198f6f',
132
+ * // ...
133
+ * })
134
+ * // @log: {
135
+ * // @log: // ...
136
+ * // @log: hash: '0xebc3644804e4040c0a74c5a5bbbc6b46a71a5d4010fe0c92ebb2fdf4a43ea5dd',
137
+ * // @log: number: 19868020n,
138
+ * // @log: size: 520n,
139
+ * // @log: timestamp: 1662222222n,
140
+ * // @log: // ...
141
+ * // @log: }
142
+ * ```
143
+ *
144
+ * @example
145
+ * ### End-to-end
146
+ *
147
+ * Below is an end-to-end example of using `Block.fromRpc` to fetch a block from the network and convert it to an {@link ox#Block.Block}.
148
+ *
149
+ * ```ts twoslash
150
+ * import 'ox/window'
151
+ * import { Block } from 'ox'
152
+ *
153
+ * const block = await window.ethereum!
154
+ * .request({
155
+ * method: 'eth_getBlockByNumber',
156
+ * params: ['latest', false],
157
+ * })
158
+ * .then(Block.fromRpc) // [!code hl]
159
+ * // @log: {
160
+ * // @log: // ...
161
+ * // @log: hash: '0xebc3644804e4040c0a74c5a5bbbc6b46a71a5d4010fe0c92ebb2fdf4a43ea5dd',
162
+ * // @log: number: 19868020n,
163
+ * // @log: size: 520n,
164
+ * // @log: timestamp: 1662222222n,
165
+ * // @log: // ...
166
+ * // @log: }
167
+ * ```
168
+ *
169
+ * :::note
170
+ *
171
+ * For simplicity, the above example uses `window.ethereum.request`, but you can use any
172
+ * type of JSON-RPC interface.
173
+ *
174
+ * :::
175
+ *
176
+ * @param block - The RPC block to convert.
177
+ * @returns An instantiated {@link ox#Block.Block}.
178
+ */
179
+ export declare function fromRpc<const block extends Rpc | null, includeTransactions extends boolean = false, blockTag extends Tag = 'latest'>(block: block | Rpc | null, _options?: fromRpc.Options<includeTransactions, blockTag>): block extends Rpc ? Block<includeTransactions, blockTag> : null;
180
+ export declare namespace fromRpc {
181
+ var parseError: (error: unknown) => fromRpc.ErrorType;
182
+ }
183
+ export declare namespace fromRpc {
184
+ type Options<includeTransactions extends boolean = false, blockTag extends Tag = 'latest'> = {
185
+ blockTag?: blockTag | Tag | undefined;
186
+ includeTransactions?: includeTransactions | boolean | undefined;
187
+ };
188
+ type ErrorType = Errors.GlobalErrorType;
189
+ }
190
+ //# sourceMappingURL=Block.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Block.d.ts","sourceRoot":"","sources":["../Block.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import * as Bytes from './Bytes.js';
2
+ import type * as Errors from './Errors.js';
3
+ import * as Hash from './Hash.js';
4
+ import * as Hex from './Hex.js';
5
+ /**
6
+ * Checks if an input is matched in the bloom filter.
7
+ *
8
+ * @example
9
+ * ```ts twoslash
10
+ * import { Bloom } from 'ox'
11
+ *
12
+ * Bloom.contains(
13
+ * '0x00000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002020000000000000000000000000000000000000000000008000000001000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
14
+ * '0xef2d6d194084c2de36e0dabfce45d046b37d1106',
15
+ * )
16
+ * // @log: true
17
+ * ```
18
+ *
19
+ * @param bloom - Bloom filter value.
20
+ * @param input - Input to check.
21
+ * @returns Whether the input is matched in the bloom filter.
22
+ */
23
+ export declare function contains(bloom: Hex.Hex, input: Hex.Hex | Bytes.Bytes): boolean;
24
+ export declare namespace contains {
25
+ var parseError: (error: unknown) => contains.ErrorType;
26
+ }
27
+ export declare namespace contains {
28
+ type ErrorType = Bytes.fromHex.ErrorType | Hash.keccak256.ErrorType | Errors.GlobalErrorType;
29
+ }
30
+ /**
31
+ * Checks if a string is a valid bloom filter value.
32
+ *
33
+ * @example
34
+ * ```ts twoslash
35
+ * import { Bloom } from 'ox'
36
+ *
37
+ * Bloom.validate('0x')
38
+ * // @log: false
39
+ *
40
+ * Bloom.validate('0x00000000000000000000008000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000044000200000000000000000002000000000000000000000040000000000000000000000000000020000000000000000000800000000000800000000000800000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000808002000000000400000000000000000000000060000000000000000000000000000000000000000000000100000000000002000000')
41
+ * // @log: true
42
+ * ```
43
+ *
44
+ * @param value - Value to check.
45
+ * @returns Whether the value is a valid bloom filter.
46
+ */
47
+ export declare function validate(value: string): value is Hex.Hex;
48
+ export declare namespace validate {
49
+ var parseError: (error: unknown) => validate.ErrorType;
50
+ }
51
+ export declare namespace validate {
52
+ type ErrorType = Hex.validate.ErrorType | Hex.size.ErrorType | Errors.GlobalErrorType;
53
+ }
54
+ //# sourceMappingURL=Bloom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bloom.d.ts","sourceRoot":"","sources":["../Bloom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,GAAG,CAAC,GAAG,EACd,KAAK,EAAE,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,GAC3B,OAAO,CAWT;yBAde,QAAQ;4BAuBM,OAAO,KAE1B,QAAQ,CAAC,SAAS;;AAT7B,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,KAAK,SAAS,GACV,KAAK,CAAC,OAAO,CAAC,SAAS,GACvB,IAAI,CAAC,SAAS,CAAC,SAAS,GACxB,MAAM,CAAC,eAAe,CAAA;CAC3B;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,GAAG,CAAC,GAAG,CAExD;yBAFe,QAAQ;4BAYM,OAAO,KAAc,QAAQ,CAAC,SAAS;;AARrE,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,KAAK,SAAS,GACV,GAAG,CAAC,QAAQ,CAAC,SAAS,GACtB,GAAG,CAAC,IAAI,CAAC,SAAS,GAClB,MAAM,CAAC,eAAe,CAAA;CAC3B"}
@@ -0,0 +1,365 @@
1
+ import type * as BlsPoint from './BlsPoint.js';
2
+ import * as Bytes from './Bytes.js';
3
+ import type * as Errors from './Errors.js';
4
+ import * as Hex from './Hex.js';
5
+ import type { OneOf } from './internal/types.js';
6
+ export type Size = 'short-key:long-sig' | 'long-key:short-sig';
7
+ /** Re-export of noble/curves BLS12-381 utilities. */
8
+ export declare const noble: import("@noble/curves/abstract/bls.js").CurveFn;
9
+ /**
10
+ * Aggregates a set of BLS points that are either on the G1 or G2 curves (ie. public keys or signatures).
11
+ *
12
+ * @example
13
+ * ### Aggregating Signatures
14
+ *
15
+ * ```ts twoslash
16
+ * import { Bls, Hex } from 'ox'
17
+ *
18
+ * const payload = Hex.random(32)
19
+ *
20
+ * const signatures = [
21
+ * Bls.sign({ payload, privateKey: '0x...' }),
22
+ * Bls.sign({ payload, privateKey: '0x...' }),
23
+ * ]
24
+ * const signature = Bls.aggregate(signatures)
25
+ * ```
26
+ *
27
+ * @example
28
+ * ### Aggregating Public Keys
29
+ *
30
+ * ```ts twoslash
31
+ * import { Bls } from 'ox'
32
+ *
33
+ * const publicKeys = [
34
+ * Bls.getPublicKey({ privateKey: '0x...' }),
35
+ * Bls.getPublicKey({ privateKey: '0x...' }),
36
+ * ]
37
+ * const publicKey = Bls.aggregate(publicKeys)
38
+ * ```
39
+ *
40
+ * @param points - The points to aggregate.
41
+ * @returns The aggregated point.
42
+ */
43
+ export declare function aggregate<const points extends readonly BlsPoint.BlsPoint[]>(points: points): points extends readonly BlsPoint.G1[] ? BlsPoint.G1 : BlsPoint.G2;
44
+ export declare namespace aggregate {
45
+ var parseError: (error: unknown) => aggregate.ErrorType;
46
+ }
47
+ export declare namespace aggregate {
48
+ type ErrorType = Errors.GlobalErrorType;
49
+ }
50
+ /**
51
+ * Computes the BLS12-381 public key from a provided private key.
52
+ *
53
+ * Public Keys can be derived as a point on one of the BLS12-381 groups:
54
+ *
55
+ * - G1 Point (Default):
56
+ * - short (48 bytes)
57
+ * - computes longer G2 Signatures (96 bytes)
58
+ * - G2 Point:
59
+ * - long (96 bytes)
60
+ * - computes short G1 Signatures (48 bytes)
61
+ *
62
+ * @example
63
+ * ### Short G1 Public Keys (Default)
64
+ *
65
+ * ```ts twoslash
66
+ * import { Bls } from 'ox'
67
+ *
68
+ * const publicKey = Bls.getPublicKey({ privateKey: '0x...' })
69
+ * // ^?
70
+ *
71
+ *
72
+ *
73
+ *
74
+ *
75
+ *
76
+ *
77
+ * ```
78
+ *
79
+ * @example
80
+ * ### Long G2 Public Keys
81
+ *
82
+ * A G2 Public Key can be derived as a G2 point (96 bytes) using `size: 'long-key:short-sig'`.
83
+ *
84
+ * This will allow you to compute G1 Signatures (48 bytes) with {@link ox#Bls.(sign:function)}.
85
+ *
86
+ * ```ts twoslash
87
+ * import { Bls } from 'ox'
88
+ *
89
+ * const publicKey = Bls.getPublicKey({
90
+ * privateKey: '0x...',
91
+ * size: 'long-key:short-sig',
92
+ * })
93
+ *
94
+ * publicKey
95
+ * // ^?
96
+ *
97
+ *
98
+ *
99
+ *
100
+ *
101
+ *
102
+ *
103
+ *
104
+ *
105
+ *
106
+ *
107
+ *
108
+ *
109
+ *
110
+ *
111
+ *
112
+ * ```
113
+ *
114
+ * ### Serializing
115
+ *
116
+ * Public Keys can be serialized to hex or bytes using {@link ox#BlsPoint.(toHex:function)} or {@link ox#BlsPoint.(toBytes:function)}:
117
+ *
118
+ * ```ts twoslash
119
+ * import { Bls, BlsPoint } from 'ox'
120
+ *
121
+ * const publicKey = Bls.getPublicKey({ privateKey: '0x...' })
122
+ *
123
+ * const publicKeyHex = BlsPoint.toHex(publicKey)
124
+ * // ^?
125
+ *
126
+ *
127
+ * const publicKeyBytes = BlsPoint.toBytes(publicKey)
128
+ * // ^?
129
+ *
130
+ * ```
131
+ *
132
+ * They can also be deserialized from hex or bytes using {@link ox#BlsPoint.(fromHex:function)} or {@link ox#BlsPoint.(fromBytes:function)}:
133
+ *
134
+ * ```ts twoslash
135
+ * import { Bls, BlsPoint } from 'ox'
136
+ *
137
+ * const publicKeyHex = '0x...'
138
+ *
139
+ * const publicKey = BlsPoint.fromHex(publicKeyHex, 'G1')
140
+ * // ^?
141
+ *
142
+ *
143
+ *
144
+ *
145
+ *
146
+ *
147
+ *
148
+ * ```
149
+ *
150
+ * @param options - The options to compute the public key.
151
+ * @returns The computed public key.
152
+ */
153
+ export declare function getPublicKey<size extends Size = 'short-key:long-sig'>(options: getPublicKey.Options<size>): size extends 'short-key:long-sig' ? BlsPoint.G1 : BlsPoint.G2;
154
+ export declare namespace getPublicKey {
155
+ type Options<size extends Size = 'short-key:long-sig'> = {
156
+ /**
157
+ * Private key to compute the public key from.
158
+ */
159
+ privateKey: Hex.Hex | Bytes.Bytes;
160
+ /**
161
+ * Size of the public key to compute.
162
+ *
163
+ * - `'short-key:long-sig'`: 48 bytes; computes long signatures (96 bytes)
164
+ * - `'long-key:short-sig'`: 96 bytes; computes short signatures (48 bytes)
165
+ *
166
+ * @default 'short-key:long-sig'
167
+ */
168
+ size?: size | Size | undefined;
169
+ };
170
+ type ErrorType = Hex.from.ErrorType | Errors.GlobalErrorType;
171
+ }
172
+ /**
173
+ * Generates a random BLS12-381 private key.
174
+ *
175
+ * @example
176
+ * ```ts twoslash
177
+ * import { Bls } from 'ox'
178
+ *
179
+ * const privateKey = Bls.randomPrivateKey()
180
+ * ```
181
+ *
182
+ * @param options - The options to generate the private key.
183
+ * @returns The generated private key.
184
+ */
185
+ export declare function randomPrivateKey<as extends 'Hex' | 'Bytes' = 'Hex'>(options?: randomPrivateKey.Options<as>): randomPrivateKey.ReturnType<as>;
186
+ export declare namespace randomPrivateKey {
187
+ type Options<as extends 'Hex' | 'Bytes' = 'Hex'> = {
188
+ /**
189
+ * Format of the returned private key.
190
+ * @default 'Hex'
191
+ */
192
+ as?: as | 'Hex' | 'Bytes' | undefined;
193
+ };
194
+ type ReturnType<as extends 'Hex' | 'Bytes'> = (as extends 'Bytes' ? Bytes.Bytes : never) | (as extends 'Hex' ? Hex.Hex : never);
195
+ type ErrorType = Hex.fromBytes.ErrorType | Errors.GlobalErrorType;
196
+ }
197
+ /**
198
+ * Signs the payload with the provided private key.
199
+ *
200
+ * @example
201
+ * ```ts twoslash
202
+ * import { Bls, Hex } from 'ox'
203
+ *
204
+ * const signature = Bls.sign({ // [!code focus]
205
+ * payload: Hex.random(32), // [!code focus]
206
+ * privateKey: '0x...' // [!code focus]
207
+ * }) // [!code focus]
208
+ * ```
209
+ *
210
+ * @example
211
+ * ### Serializing
212
+ *
213
+ * Signatures can be serialized to hex or bytes using {@link ox#BlsPoint.(toHex:function)} or {@link ox#BlsPoint.(toBytes:function)}:
214
+ *
215
+ * ```ts twoslash
216
+ * import { Bls, BlsPoint, Hex } from 'ox'
217
+ *
218
+ * const signature = Bls.sign({ payload: Hex.random(32), privateKey: '0x...' })
219
+ *
220
+ * const signatureHex = BlsPoint.toHex(signature)
221
+ * // ^?
222
+ *
223
+ *
224
+ *
225
+ * const signatureBytes = BlsPoint.toBytes(signature)
226
+ * // ^?
227
+ *
228
+ *
229
+ * ```
230
+ *
231
+ * They can also be deserialized from hex or bytes using {@link ox#BlsPoint.(fromHex:function)} or {@link ox#BlsPoint.(fromBytes:function)}:
232
+ *
233
+ * ```ts twoslash
234
+ * import { Bls, BlsPoint } from 'ox'
235
+ *
236
+ * const signatureHex = '0x...'
237
+ *
238
+ * const signature = BlsPoint.fromHex(signatureHex, 'G2')
239
+ * // ^?
240
+ *
241
+ *
242
+ *
243
+ *
244
+ *
245
+ *
246
+ *
247
+ *
248
+ *
249
+ *
250
+ *
251
+ *
252
+ *
253
+ * ```
254
+ *
255
+ * @param options - The signing options.
256
+ * @returns BLS Point.
257
+ */
258
+ export declare function sign<size extends Size = 'short-key:long-sig'>(options: sign.Options<size>): size extends 'short-key:long-sig' ? BlsPoint.G2 : BlsPoint.G1;
259
+ export declare namespace sign {
260
+ var parseError: (error: unknown) => sign.ErrorType;
261
+ }
262
+ export declare namespace sign {
263
+ type Options<size extends Size = 'short-key:long-sig'> = {
264
+ /**
265
+ * Payload to sign.
266
+ */
267
+ payload: Hex.Hex | Bytes.Bytes;
268
+ /**
269
+ * BLS private key.
270
+ */
271
+ privateKey: Hex.Hex | Bytes.Bytes;
272
+ /**
273
+ * Ciphersuite to use for signing. Defaults to "Basic".
274
+ *
275
+ * @see https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-bls-signature-05#section-4
276
+ * @default 'BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_'
277
+ */
278
+ suite?: string | undefined;
279
+ /**
280
+ * Size of the signature to compute.
281
+ *
282
+ * - `'long-key:short-sig'`: 48 bytes
283
+ * - `'short-key:long-sig'`: 96 bytes
284
+ *
285
+ * @default 'short-key:long-sig'
286
+ */
287
+ size?: size | Size | undefined;
288
+ };
289
+ type ErrorType = Bytes.from.ErrorType | Errors.GlobalErrorType;
290
+ }
291
+ /**
292
+ * Verifies a payload was signed by the provided public key(s).
293
+ *
294
+ * @example
295
+ *
296
+ * ```ts twoslash
297
+ * import { Bls, Hex } from 'ox'
298
+ *
299
+ * const payload = Hex.random(32)
300
+ * const privateKey = Bls.randomPrivateKey()
301
+ *
302
+ * const publicKey = Bls.getPublicKey({ privateKey })
303
+ * const signature = Bls.sign({ payload, privateKey })
304
+ *
305
+ * const verified = Bls.verify({ // [!code focus]
306
+ * payload, // [!code focus]
307
+ * publicKey, // [!code focus]
308
+ * signature, // [!code focus]
309
+ * }) // [!code focus]
310
+ * ```
311
+ *
312
+ * @example
313
+ * ### Verify Aggregated Signatures
314
+ *
315
+ * We can also pass a public key and signature that was aggregated with {@link ox#Bls.(aggregate:function)} to `Bls.verify`.
316
+ *
317
+ * ```ts twoslash
318
+ * import { Bls, Hex } from 'ox'
319
+ *
320
+ * const payload = Hex.random(32)
321
+ * const privateKeys = Array.from({ length: 100 }, () => Bls.randomPrivateKey())
322
+ *
323
+ * const publicKeys = privateKeys.map((privateKey) =>
324
+ * Bls.getPublicKey({ privateKey }),
325
+ * )
326
+ * const signatures = privateKeys.map((privateKey) =>
327
+ * Bls.sign({ payload, privateKey }),
328
+ * )
329
+ *
330
+ * const publicKey = Bls.aggregate(publicKeys) // [!code focus]
331
+ * const signature = Bls.aggregate(signatures) // [!code focus]
332
+ *
333
+ * const valid = Bls.verify({ payload, publicKey, signature }) // [!code focus]
334
+ * ```
335
+ *
336
+ * @param options - Verification options.
337
+ * @returns Whether the payload was signed by the provided public key.
338
+ */
339
+ export declare function verify(options: verify.Options): boolean;
340
+ export declare namespace verify {
341
+ var parseError: (error: unknown) => verify.ErrorType;
342
+ }
343
+ export declare namespace verify {
344
+ type Options = {
345
+ /**
346
+ * Payload that was signed.
347
+ */
348
+ payload: Hex.Hex | Bytes.Bytes;
349
+ /**
350
+ * Ciphersuite to use for verification. Defaults to "Basic".
351
+ *
352
+ * @see https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-bls-signature-05#section-4
353
+ * @default 'BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_'
354
+ */
355
+ suite?: string | undefined;
356
+ } & OneOf<{
357
+ publicKey: BlsPoint.G1;
358
+ signature: BlsPoint.G2;
359
+ } | {
360
+ publicKey: BlsPoint.G2;
361
+ signature: BlsPoint.G1;
362
+ }>;
363
+ type ErrorType = Errors.GlobalErrorType;
364
+ }
365
+ //# sourceMappingURL=Bls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bls.d.ts","sourceRoot":"","sources":["../Bls.ts"],"names":[],"mappings":"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"}