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,207 @@
1
+ import * as Bytes from './Bytes.js';
2
+ import type * as Errors from './Errors.js';
3
+ import * as Hex from './Hex.js';
4
+ import * as PublicKey from './PublicKey.js';
5
+ import type * as Signature from './Signature.js';
6
+ /** Re-export of noble/curves P256 utilities. */
7
+ export declare const noble: Readonly<{
8
+ create: (hash: import("@noble/curves/abstract/utils.js").CHash) => import("@noble/curves/abstract/weierstrass.js").CurveFn;
9
+ CURVE: ReturnType<(curve: import("@noble/curves/abstract/weierstrass.js").CurveType) => Readonly<{
10
+ readonly nBitLength: number;
11
+ readonly nByteLength: number;
12
+ readonly Fp: import("@noble/curves/abstract/modular.js").IField<bigint>;
13
+ readonly n: bigint;
14
+ readonly h: bigint;
15
+ readonly hEff?: bigint;
16
+ readonly Gx: bigint;
17
+ readonly Gy: bigint;
18
+ readonly allowInfinityPoint?: boolean;
19
+ readonly a: bigint;
20
+ readonly b: bigint;
21
+ readonly allowedPrivateKeyLengths?: readonly number[];
22
+ readonly wrapPrivateKey?: boolean;
23
+ readonly endo?: {
24
+ beta: bigint;
25
+ splitScalar: (k: bigint) => {
26
+ k1neg: boolean;
27
+ k1: bigint;
28
+ k2neg: boolean;
29
+ k2: bigint;
30
+ };
31
+ };
32
+ readonly isTorsionFree?: ((c: import("@noble/curves/abstract/weierstrass.js").ProjConstructor<bigint>, point: import("@noble/curves/abstract/weierstrass.js").ProjPointType<bigint>) => boolean) | undefined;
33
+ readonly clearCofactor?: ((c: import("@noble/curves/abstract/weierstrass.js").ProjConstructor<bigint>, point: import("@noble/curves/abstract/weierstrass.js").ProjPointType<bigint>) => import("@noble/curves/abstract/weierstrass.js").ProjPointType<bigint>) | undefined;
34
+ readonly hash: import("@noble/curves/abstract/utils.js").CHash;
35
+ readonly hmac: (key: Uint8Array, ...messages: Uint8Array[]) => Uint8Array;
36
+ readonly randomBytes: (bytesLength?: number) => Uint8Array;
37
+ lowS: boolean;
38
+ readonly bits2int?: (bytes: Uint8Array) => bigint;
39
+ readonly bits2int_modN?: (bytes: Uint8Array) => bigint;
40
+ readonly p: bigint;
41
+ }>>;
42
+ getPublicKey: (privateKey: import("@noble/curves/abstract/utils.js").PrivKey, isCompressed?: boolean) => Uint8Array;
43
+ getSharedSecret: (privateA: import("@noble/curves/abstract/utils.js").PrivKey, publicB: import("@noble/curves/abstract/utils.js").Hex, isCompressed?: boolean) => Uint8Array;
44
+ sign: (msgHash: import("@noble/curves/abstract/utils.js").Hex, privKey: import("@noble/curves/abstract/utils.js").PrivKey, opts?: import("@noble/curves/abstract/weierstrass.js").SignOpts) => import("@noble/curves/abstract/weierstrass.js").RecoveredSignatureType;
45
+ verify: (signature: import("@noble/curves/abstract/utils.js").Hex | {
46
+ r: bigint;
47
+ s: bigint;
48
+ }, msgHash: import("@noble/curves/abstract/utils.js").Hex, publicKey: import("@noble/curves/abstract/utils.js").Hex, opts?: import("@noble/curves/abstract/weierstrass.js").VerOpts) => boolean;
49
+ ProjectivePoint: import("@noble/curves/abstract/weierstrass.js").ProjConstructor<bigint>;
50
+ Signature: import("@noble/curves/abstract/weierstrass.js").SignatureConstructor;
51
+ utils: {
52
+ normPrivateKeyToScalar: (key: import("@noble/curves/abstract/utils.js").PrivKey) => bigint;
53
+ isValidPrivateKey(privateKey: import("@noble/curves/abstract/utils.js").PrivKey): boolean;
54
+ randomPrivateKey: () => Uint8Array;
55
+ precompute: (windowSize?: number, point?: import("@noble/curves/abstract/weierstrass.js").ProjPointType<bigint>) => import("@noble/curves/abstract/weierstrass.js").ProjPointType<bigint>;
56
+ };
57
+ }>;
58
+ /**
59
+ * Computes the P256 ECDSA public key from a provided private key.
60
+ *
61
+ * @example
62
+ * ```ts twoslash
63
+ * import { P256 } from 'ox'
64
+ *
65
+ * const publicKey = P256.getPublicKey({ privateKey: '0x...' })
66
+ * ```
67
+ *
68
+ * @param options - The options to compute the public key.
69
+ * @returns The computed public key.
70
+ */
71
+ export declare function getPublicKey(options: getPublicKey.Options): PublicKey.PublicKey;
72
+ export declare namespace getPublicKey {
73
+ type Options = {
74
+ /**
75
+ * Private key to compute the public key from.
76
+ */
77
+ privateKey: Hex.Hex | Bytes.Bytes;
78
+ };
79
+ type ErrorType = Errors.GlobalErrorType;
80
+ }
81
+ /**
82
+ * Generates a random P256 ECDSA private key.
83
+ *
84
+ * @example
85
+ * ```ts twoslash
86
+ * import { P256 } from 'ox'
87
+ *
88
+ * const privateKey = P256.randomPrivateKey()
89
+ * ```
90
+ *
91
+ * @param options - The options to generate the private key.
92
+ * @returns The generated private key.
93
+ */
94
+ export declare function randomPrivateKey<as extends 'Hex' | 'Bytes' = 'Hex'>(options?: randomPrivateKey.Options<as>): randomPrivateKey.ReturnType<as>;
95
+ export declare namespace randomPrivateKey {
96
+ type Options<as extends 'Hex' | 'Bytes' = 'Hex'> = {
97
+ /**
98
+ * Format of the returned private key.
99
+ * @default 'Hex'
100
+ */
101
+ as?: as | 'Hex' | 'Bytes' | undefined;
102
+ };
103
+ type ReturnType<as extends 'Hex' | 'Bytes'> = (as extends 'Bytes' ? Bytes.Bytes : never) | (as extends 'Hex' ? Hex.Hex : never);
104
+ type ErrorType = Hex.fromBytes.ErrorType | Errors.GlobalErrorType;
105
+ }
106
+ /**
107
+ * Recovers the signing public key from the signed payload and signature.
108
+ *
109
+ * @example
110
+ * ```ts twoslash
111
+ * import { P256 } from 'ox'
112
+ *
113
+ * const signature = P256.sign({ payload: '0xdeadbeef', privateKey: '0x...' })
114
+ *
115
+ * const publicKey = P256.recoverPublicKey({ // [!code focus]
116
+ * payload: '0xdeadbeef', // [!code focus]
117
+ * signature, // [!code focus]
118
+ * }) // [!code focus]
119
+ * ```
120
+ *
121
+ * @param options - The recovery options.
122
+ * @returns The recovered public key.
123
+ */
124
+ export declare function recoverPublicKey(options: recoverPublicKey.Options): PublicKey.PublicKey;
125
+ export declare namespace recoverPublicKey {
126
+ var parseError: (error: unknown) => recoverPublicKey.ErrorType;
127
+ }
128
+ export declare namespace recoverPublicKey {
129
+ type Options = {
130
+ /** Payload that was signed. */
131
+ payload: Hex.Hex | Bytes.Bytes;
132
+ /** Signature of the payload. */
133
+ signature: Signature.Signature;
134
+ };
135
+ type ErrorType = PublicKey.from.ErrorType | Hex.fromBytes.ErrorType | Errors.GlobalErrorType;
136
+ }
137
+ /**
138
+ * Signs the payload with the provided private key and returns a P256 signature.
139
+ *
140
+ * @example
141
+ * ```ts twoslash
142
+ * import { P256 } from 'ox'
143
+ *
144
+ * const signature = P256.sign({ // [!code focus]
145
+ * payload: '0xdeadbeef', // [!code focus]
146
+ * privateKey: '0x...' // [!code focus]
147
+ * }) // [!code focus]
148
+ * ```
149
+ *
150
+ * @param options - The signing options.
151
+ * @returns The ECDSA {@link ox#Signature.Signature}.
152
+ */
153
+ export declare function sign(options: sign.Options): Signature.Signature;
154
+ export declare namespace sign {
155
+ var parseError: (error: unknown) => sign.ErrorType;
156
+ }
157
+ export declare namespace sign {
158
+ type Options = {
159
+ /** If set to `true`, the payload will be hashed (sha256) before being signed. */
160
+ hash?: boolean | undefined;
161
+ /** Payload to sign. */
162
+ payload: Hex.Hex | Bytes.Bytes;
163
+ /** ECDSA private key. */
164
+ privateKey: Hex.Hex | Bytes.Bytes;
165
+ };
166
+ type ErrorType = Bytes.fromHex.ErrorType | Errors.GlobalErrorType;
167
+ }
168
+ /**
169
+ * Verifies a payload was signed by the provided public key.
170
+ *
171
+ * @example
172
+ *
173
+ * ```ts twoslash
174
+ * import { P256 } from 'ox'
175
+ *
176
+ * const privateKey = P256.randomPrivateKey()
177
+ * const publicKey = P256.getPublicKey({ privateKey })
178
+ * const signature = P256.sign({ payload: '0xdeadbeef', privateKey })
179
+ *
180
+ * const verified = P256.verify({ // [!code focus]
181
+ * publicKey, // [!code focus]
182
+ * payload: '0xdeadbeef', // [!code focus]
183
+ * signature, // [!code focus]
184
+ * }) // [!code focus]
185
+ * ```
186
+ *
187
+ * @param options - The verification options.
188
+ * @returns Whether the payload was signed by the provided public key.
189
+ */
190
+ export declare function verify(options: verify.Options): boolean;
191
+ export declare namespace verify {
192
+ var parseError: (error: unknown) => verify.ErrorType;
193
+ }
194
+ export declare namespace verify {
195
+ type Options = {
196
+ /** If set to `true`, the payload will be hashed (sha256) before being verified. */
197
+ hash?: boolean | undefined;
198
+ /** Payload that was signed. */
199
+ payload: Hex.Hex | Bytes.Bytes;
200
+ /** Public key that signed the payload. */
201
+ publicKey: PublicKey.PublicKey<boolean>;
202
+ /** Signature of the payload. */
203
+ signature: Signature.Signature<boolean>;
204
+ };
205
+ type ErrorType = Errors.GlobalErrorType;
206
+ }
207
+ //# sourceMappingURL=P256.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"P256.d.ts","sourceRoot":"","sources":["../P256.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type * 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
+ * Encodes a personal sign message in [ERC-191 format](https://eips.ethereum.org/EIPS/eip-191#version-0x45-e): `0x19 ‖ "Ethereum Signed Message:\n" + message.length ‖ message`.
7
+ *
8
+ * @example
9
+ * ```ts twoslash
10
+ * import { Hex, PersonalMessage } from 'ox'
11
+ *
12
+ * const data = PersonalMessage.encode(Hex.fromString('hello world'))
13
+ * // @log: '0x19457468657265756d205369676e6564204d6573736167653a0a313168656c6c6f20776f726c64'
14
+ * // @log: (0x19 ‖ 'Ethereum Signed Message:\n11' ‖ 'hello world')
15
+ * ```
16
+ *
17
+ * @param data - The data to encode.
18
+ * @returns The encoded personal sign message.
19
+ */
20
+ export declare function encode(data: Hex.Hex | Bytes.Bytes): Hex.Hex;
21
+ export declare namespace encode {
22
+ var parseError: (error: unknown) => encode.ErrorType;
23
+ }
24
+ export declare namespace encode {
25
+ type ErrorType = Hex.concat.ErrorType | Hex.from.ErrorType | Hex.fromString.ErrorType | Errors.GlobalErrorType;
26
+ }
27
+ /**
28
+ * Gets the payload to use for signing an [ERC-191 formatted](https://eips.ethereum.org/EIPS/eip-191#version-0x45-e) personal message.
29
+ *
30
+ * @example
31
+ * ```ts twoslash
32
+ * import { Hex, PersonalMessage, Secp256k1 } from 'ox'
33
+ *
34
+ * const payload = PersonalMessage.getSignPayload(Hex.fromString('hello world')) // [!code focus]
35
+ *
36
+ * const signature = Secp256k1.sign({ payload, privateKey: '0x...' })
37
+ * ```
38
+ *
39
+ * @param data - The data to get the sign payload for.
40
+ * @returns The payload to use for signing.
41
+ */
42
+ export declare function getSignPayload(data: Hex.Hex | Bytes.Bytes): Hex.Hex;
43
+ export declare namespace getSignPayload {
44
+ var parseError: (error: unknown) => getSignPayload.ErrorType;
45
+ }
46
+ export declare namespace getSignPayload {
47
+ type ErrorType = Hash.keccak256.ErrorType | encode.ErrorType | Errors.GlobalErrorType;
48
+ }
49
+ //# sourceMappingURL=PersonalMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PersonalMessage.d.ts","sourceRoot":"","sources":["../PersonalMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAQ3D;yBARe,MAAM;4BAmBM,OAAO,KAAc,MAAM,CAAC,SAAS;;AATjE,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,SAAS,GACV,GAAG,CAAC,MAAM,CAAC,SAAS,GACpB,GAAG,CAAC,IAAI,CAAC,SAAS,GAClB,GAAG,CAAC,UAAU,CAAC,SAAS,GACxB,MAAM,CAAC,eAAe,CAAA;CAC3B;AAKD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAEnE;yBAFe,cAAc;4BAYM,OAAO,KAChC,cAAc,CAAC,SAAS;;AATnC,MAAM,CAAC,OAAO,WAAW,cAAc,CAAC;IACtC,KAAK,SAAS,GACV,IAAI,CAAC,SAAS,CAAC,SAAS,GACxB,MAAM,CAAC,SAAS,GAChB,MAAM,CAAC,eAAe,CAAA;CAC3B"}
@@ -0,0 +1,268 @@
1
+ import { EventEmitter } from 'eventemitter3';
2
+ import type * as Address from './Address.js';
3
+ import * as Errors from './Errors.js';
4
+ import type * as RpcSchema from './RpcSchema.js';
5
+ import type * as RpcSchema_internal from './internal/rpcSchema.js';
6
+ import type { Compute } from './internal/types.js';
7
+ /** Options for a {@link ox#Provider.Provider}. */
8
+ export type Options = {
9
+ /**
10
+ * Whether to include event functions (`on`, `removeListener`) on the Provider.
11
+ *
12
+ * @default true
13
+ */
14
+ includeEvents?: boolean | undefined;
15
+ /**
16
+ * RPC Schema to use for the Provider's `request` function.
17
+ * See {@link ox#RpcSchema.(from:function)} for more.
18
+ *
19
+ * @default `RpcSchema.Generic`
20
+ */
21
+ schema?: RpcSchema.Generic | undefined;
22
+ };
23
+ /** Root type for an EIP-1193 Provider. */
24
+ export type Provider<options extends Options | undefined = undefined, _schema extends RpcSchema.Generic = options extends {
25
+ schema: infer schema extends RpcSchema.Generic;
26
+ } ? schema : RpcSchema.Default> = Compute<{
27
+ request: RequestFn<_schema>;
28
+ } & (options extends {
29
+ includeEvents: true;
30
+ } | undefined ? {
31
+ on: EventListenerFn;
32
+ removeListener: EventListenerFn;
33
+ } : {})>;
34
+ /** Type for an EIP-1193 Provider's event emitter. */
35
+ export type Emitter = Compute<EventEmitter<EventMap>>;
36
+ /** EIP-1193 Provider's `request` function. */
37
+ export type RequestFn<schema extends RpcSchema.Generic = RpcSchema.Generic> = <methodName extends RpcSchema.MethodNameGeneric>(parameters: RpcSchema_internal.ExtractRequestOpaque<schema, methodName>) => Promise<RpcSchema.ExtractReturnType<schema, methodName>>;
38
+ /** Type for an EIP-1193 Provider's event listener functions (`on`, `removeListener`, etc). */
39
+ export type EventListenerFn = <event extends keyof EventMap>(event: event, listener: EventMap[event]) => void;
40
+ export type ConnectInfo = {
41
+ chainId: string;
42
+ };
43
+ export type Message = {
44
+ type: string;
45
+ data: unknown;
46
+ };
47
+ export declare class ProviderRpcError extends Error {
48
+ readonly name = "ProviderRpcError";
49
+ code: number;
50
+ details: string;
51
+ constructor(code: number, message: string);
52
+ }
53
+ export type EventMap = {
54
+ accountsChanged: (accounts: Address.Address[]) => void;
55
+ chainChanged: (chainId: string) => void;
56
+ connect: (connectInfo: ConnectInfo) => void;
57
+ disconnect: (error: ProviderRpcError) => void;
58
+ message: (message: Message) => void;
59
+ };
60
+ /**
61
+ * Creates an EIP-1193 flavored event emitter to be injected onto a Provider.
62
+ *
63
+ * @example
64
+ * ```ts twoslash
65
+ * import { Provider, RpcRequest, RpcResponse } from 'ox' // [!code focus]
66
+ *
67
+ * // 1. Instantiate a Provider Emitter. // [!code focus]
68
+ * const emitter = Provider.createEmitter() // [!code focus]
69
+ *
70
+ * const store = RpcRequest.createStore()
71
+ *
72
+ * const provider = Provider.from({
73
+ * // 2. Pass the Emitter to the Provider. // [!code focus]
74
+ * ...emitter, // [!code focus]
75
+ * async request(args) {
76
+ * return await fetch('https://1.rpc.thirdweb.com', {
77
+ * body: JSON.stringify(store.prepare(args)),
78
+ * method: 'POST',
79
+ * headers: {
80
+ * 'Content-Type': 'application/json',
81
+ * },
82
+ * })
83
+ * .then((res) => res.json())
84
+ * .then(RpcResponse.parse)
85
+ * },
86
+ * })
87
+ *
88
+ * // 3. Emit Provider Events. // [!code focus]
89
+ * emitter.emit('accountsChanged', ['0x...']) // [!code focus]
90
+ * ```
91
+ *
92
+ * @returns An event emitter.
93
+ */
94
+ export declare function createEmitter(): Emitter;
95
+ export declare namespace createEmitter {
96
+ var parseError: (error: unknown) => createEmitter.ErrorType;
97
+ }
98
+ export declare namespace createEmitter {
99
+ type ErrorType = Errors.GlobalErrorType;
100
+ }
101
+ /**
102
+ * Instantiates an [EIP-1193](https://eips.ethereum.org/EIPS/eip-1193) {@link ox#Provider.Provider}
103
+ * from an arbitrary [EIP-1193 Provider](https://eips.ethereum.org/EIPS/eip-1193) interface.
104
+ *
105
+ * @example
106
+ * ### Instantiating with RPC Transport
107
+ *
108
+ * Ox's {@link ox#RpcTransport} is EIP-1193 compliant, and can be used to instantiate an EIP-1193 Provider. This means you can use any HTTP RPC endpoint as an EIP-1193 Provider.
109
+ *
110
+ * ```ts twoslash
111
+ * import { Provider, RpcTransport } from 'ox'
112
+ *
113
+ * const transport = RpcTransport.fromHttp('https://1.rpc.thirdweb.com')
114
+ * const provider = Provider.from(transport)
115
+ * ```
116
+ *
117
+ * @example
118
+ * ### Instantiating with External Providers
119
+ *
120
+ * The example below demonstrates how we can instantiate a typed EIP-1193 Provider from an
121
+ * external EIP-1193 Provider like `window.ethereum`.
122
+ *
123
+ * ```ts twoslash
124
+ * import 'ox/window'
125
+ * import { Provider } from 'ox'
126
+ *
127
+ * const provider = Provider.from(window.ethereum)
128
+ *
129
+ * const blockNumber = await provider.request({ method: 'eth_blockNumber' })
130
+ * ```
131
+ *
132
+ * :::tip
133
+ *
134
+ * There are also libraries that distribute EIP-1193 Provider objects that you can use with `Provider.from`:
135
+ *
136
+ * - [`@walletconnect/ethereum-provider`](https://www.npmjs.com/package/\@walletconnect/ethereum-provider)
137
+ *
138
+ * - [`@coinbase/wallet-sdk`](https://www.npmjs.com/package/\@coinbase/wallet-sdk)
139
+ *
140
+ * - [`@metamask/detect-provider`](https://www.npmjs.com/package/\@metamask/detect-provider)
141
+ *
142
+ * - [`@safe-global/safe-apps-provider`](https://github.com/safe-global/safe-apps-sdk/tree/main/packages/safe-apps-provider)
143
+ *
144
+ * - [`mipd`](https://github.com/wevm/mipd): EIP-6963 Multi Injected Providers
145
+ *
146
+ * :::
147
+ *
148
+ * @example
149
+ * ### Instantiating a Custom Provider
150
+ *
151
+ * The example below demonstrates how we can instantiate a typed EIP-1193 Provider from a
152
+ * HTTP `fetch` JSON-RPC request. You can use this pattern to integrate with any asynchronous JSON-RPC
153
+ * transport, including WebSockets and IPC.
154
+ *
155
+ * ```ts twoslash
156
+ * import { Provider, RpcRequest, RpcResponse } from 'ox'
157
+ *
158
+ * const store = RpcRequest.createStore()
159
+ *
160
+ * const provider = Provider.from({
161
+ * async request(args) {
162
+ * return await fetch('https://1.rpc.thirdweb.com', {
163
+ * body: JSON.stringify(store.prepare(args)),
164
+ * method: 'POST',
165
+ * headers: {
166
+ * 'Content-Type': 'application/json',
167
+ * },
168
+ * })
169
+ * .then((res) => res.json())
170
+ * .then(RpcResponse.parse)
171
+ * },
172
+ * })
173
+ *
174
+ * const blockNumber = await provider.request({ method: 'eth_blockNumber' })
175
+ * ```
176
+ *
177
+ * @example
178
+ * ### Type-safe Custom Schemas
179
+ *
180
+ * It is possible to define your own type-safe schema by using the {@link ox#RpcSchema.(from:function)} type.
181
+ *
182
+ * ```ts twoslash
183
+ * // @noErrors
184
+ * import 'ox/window'
185
+ * import { Provider, RpcSchema } from 'ox'
186
+ *
187
+ * const schema = RpcSchema.from<
188
+ * | RpcSchema.Default
189
+ * | {
190
+ * Request: {
191
+ * method: 'abe_foo',
192
+ * params: [id: number],
193
+ * }
194
+ * ReturnType: string
195
+ * }
196
+ * | {
197
+ * Request: {
198
+ * method: 'abe_bar',
199
+ * params: [id: string],
200
+ * }
201
+ * ReturnType: string
202
+ * }
203
+ * >()
204
+ *
205
+ * const provider = Provider.from(window.ethereum, { schema })
206
+ *
207
+ * const blockNumber = await provider.request({ method: 'e' })
208
+ * // ^|
209
+ *
210
+ *
211
+ *
212
+ *
213
+ *
214
+ * ```
215
+ *
216
+ * @example
217
+ * ### Instantiating a Provider with Events
218
+ *
219
+ * The example below demonstrates how to instantiate a Provider with your own EIP-1193 flavored event emitter.
220
+ *
221
+ * This example is useful for Wallets that distribute an EIP-1193 Provider (e.g. webpage injection via `window.ethereum`).
222
+ *
223
+ * ```ts twoslash
224
+ * import { Provider, RpcRequest, RpcResponse } from 'ox'
225
+ *
226
+ * // 1. Instantiate a Provider Emitter.
227
+ * const emitter = Provider.createEmitter() // [!code ++]
228
+ *
229
+ * const store = RpcRequest.createStore()
230
+ *
231
+ * const provider = Provider.from({
232
+ * // 2. Pass the Emitter to the Provider.
233
+ * ...emitter, // [!code ++]
234
+ * async request(args) {
235
+ * return await fetch('https://1.rpc.thirdweb.com', {
236
+ * body: JSON.stringify(store.prepare(args)),
237
+ * method: 'POST',
238
+ * headers: {
239
+ * 'Content-Type': 'application/json',
240
+ * },
241
+ * })
242
+ * .then((res) => res.json())
243
+ * .then(RpcResponse.parse)
244
+ * },
245
+ * })
246
+ *
247
+ * // 3. Emit Provider Events.
248
+ * emitter.emit('accountsChanged', ['0x...']) // [!code ++]
249
+ * ```
250
+ *
251
+ * @param provider - The EIP-1193 provider to convert.
252
+ * @returns An typed EIP-1193 Provider.
253
+ */
254
+ export declare function from<const provider extends Provider | unknown, options extends Options | undefined = undefined>(provider: provider | Provider<{
255
+ schema: RpcSchema.Generic;
256
+ }>, options?: options | Options): Provider<options>;
257
+ export declare namespace from {
258
+ var parseError: (error: unknown) => from.ErrorType;
259
+ }
260
+ export declare namespace from {
261
+ type ErrorType = IsUndefinedError | Errors.GlobalErrorType;
262
+ }
263
+ /** Thrown when the provider is undefined. */
264
+ export declare class IsUndefinedError extends Errors.BaseError {
265
+ readonly name = "Provider.IsUndefinedError";
266
+ constructor();
267
+ }
268
+ //# sourceMappingURL=Provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../Provider.ts"],"names":[],"mappings":"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"}