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,639 @@
1
+ import type * as Address from './Address.js'
2
+ import type * as Errors from './Errors.js'
3
+ import * as Hash from './Hash.js'
4
+ import * as Hex from './Hex.js'
5
+ import * as Rlp from './Rlp.js'
6
+ import * as Signature from './Signature.js'
7
+ import type { Compute, Mutable, Undefined } from './internal/types.js'
8
+
9
+ /** Root type for an EIP-7702 Authorization. */
10
+ export type Authorization<
11
+ signed extends boolean = boolean,
12
+ bigintType = bigint,
13
+ numberType = number,
14
+ > = Compute<
15
+ {
16
+ /** Address of the contract to set as code for the Authority. */
17
+ address: Address.Address
18
+ /** Chain ID to authorize. */
19
+ chainId: numberType
20
+ /** Nonce of the Authority to authorize. */
21
+ nonce: bigintType
22
+ } & (signed extends true
23
+ ? Signature.Signature<true, bigintType, numberType>
24
+ : Undefined<Signature.Signature>)
25
+ >
26
+
27
+ /** RPC representation of an {@link ox#Authorization.Authorization}. */
28
+ export type Rpc = Authorization<true, Hex.Hex, Hex.Hex>
29
+
30
+ /** List of {@link ox#Authorization.Authorization}. */
31
+ export type List<
32
+ signed extends boolean = boolean,
33
+ bigintType = bigint,
34
+ numberType = number,
35
+ > = Compute<readonly Authorization<signed, bigintType, numberType>[]>
36
+
37
+ /** RPC representation of an {@link ox#Authorization.List}. */
38
+ export type ListRpc = List<true, Hex.Hex, Hex.Hex>
39
+
40
+ /** Signed representation of a list of {@link ox#Authorization.Authorization}. */
41
+ export type ListSigned<bigintType = bigint, numberType = number> = List<
42
+ true,
43
+ bigintType,
44
+ numberType
45
+ >
46
+
47
+ /** Signed representation of an {@link ox#Authorization.Authorization}. */
48
+ export type Signed<bigintType = bigint, numberType = number> = Authorization<
49
+ true,
50
+ bigintType,
51
+ numberType
52
+ >
53
+
54
+ /** Tuple representation of an {@link ox#Authorization.Authorization}. */
55
+ export type Tuple<signed extends boolean = boolean> = signed extends true
56
+ ? readonly [
57
+ chainId: Hex.Hex,
58
+ address: Hex.Hex,
59
+ nonce: Hex.Hex,
60
+ yParity: Hex.Hex,
61
+ r: Hex.Hex,
62
+ s: Hex.Hex,
63
+ ]
64
+ : readonly [chainId: Hex.Hex, address: Hex.Hex, nonce: Hex.Hex]
65
+
66
+ /** Tuple representation of a signed {@link ox#Authorization.Authorization}. */
67
+ export type TupleSigned = Tuple<true>
68
+
69
+ /** Tuple representation of a list of {@link ox#Authorization.Authorization}. */
70
+ export type TupleList<signed extends boolean = boolean> =
71
+ readonly Tuple<signed>[]
72
+
73
+ /** Tuple representation of a list of signed {@link ox#Authorization.Authorization}. */
74
+ export type TupleListSigned = TupleList<true>
75
+
76
+ /**
77
+ * Converts an [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) Authorization object into a typed {@link ox#Authorization.Authorization}.
78
+ *
79
+ * @example
80
+ * An Authorization can be instantiated from an [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) Authorization tuple in object format.
81
+ *
82
+ * ```ts twoslash
83
+ * import { Authorization } from 'ox'
84
+ *
85
+ * const authorization = Authorization.from({
86
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
87
+ * chainId: 1,
88
+ * nonce: 69n,
89
+ * })
90
+ * ```
91
+ *
92
+ * @example
93
+ * ### Attaching Signatures
94
+ *
95
+ * A {@link ox#Signature.Signature} can be attached with the `signature` option. The example below demonstrates signing
96
+ * an Authorization with {@link ox#Secp256k1.(sign:function)}.
97
+ *
98
+ * ```ts twoslash
99
+ * import { Authorization, Secp256k1 } from 'ox'
100
+ *
101
+ * const authorization = Authorization.from({
102
+ * address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
103
+ * chainId: 1,
104
+ * nonce: 40n,
105
+ * })
106
+ *
107
+ * const signature = Secp256k1.sign({
108
+ * payload: Authorization.getSignPayload(authorization),
109
+ * privateKey: '0x...',
110
+ * })
111
+ *
112
+ * const authorization_signed = Authorization.from(authorization, { signature }) // [!code focus]
113
+ * ```
114
+ *
115
+ * @param authorization - An [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) Authorization tuple in object format.
116
+ * @param options - Authorization options.
117
+ * @returns The {@link ox#Authorization.Authorization}.
118
+ */
119
+ export function from<
120
+ const authorization extends Authorization | Rpc,
121
+ const signature extends Signature.Signature | undefined = undefined,
122
+ >(
123
+ authorization: authorization | Authorization,
124
+ options: from.Options<signature> = {},
125
+ ): from.ReturnType<authorization, signature> {
126
+ if (typeof authorization.chainId === 'string')
127
+ return fromRpc(authorization) as never
128
+ return { ...authorization, ...options.signature } as never
129
+ }
130
+
131
+ export declare namespace from {
132
+ type Options<
133
+ signature extends Signature.Signature | undefined =
134
+ | Signature.Signature
135
+ | undefined,
136
+ > = {
137
+ /** The {@link ox#Signature.Signature} to attach to the Authorization. */
138
+ signature?: signature | Signature.Signature | undefined
139
+ }
140
+
141
+ type ReturnType<
142
+ authorization extends Authorization | Rpc = Authorization,
143
+ signature extends Signature.Signature | undefined =
144
+ | Signature.Signature
145
+ | undefined,
146
+ > = Compute<
147
+ authorization extends Rpc
148
+ ? Signed
149
+ : authorization &
150
+ (signature extends Signature.Signature ? Readonly<signature> : {})
151
+ >
152
+
153
+ type ErrorType = Errors.GlobalErrorType
154
+ }
155
+
156
+ from.parseError = (error: unknown) =>
157
+ /* v8 ignore next */
158
+ error as from.ErrorType
159
+
160
+ /**
161
+ * Converts an {@link ox#Authorization.Rpc} to an {@link ox#Authorization.Authorization}.
162
+ *
163
+ * @example
164
+ * ```ts twoslash
165
+ * import { Authorization } from 'ox'
166
+ *
167
+ * const authorization = Authorization.fromRpc({
168
+ * address: '0x0000000000000000000000000000000000000000',
169
+ * chainId: '0x1',
170
+ * nonce: '0x1',
171
+ * r: '0x635dc2033e60185bb36709c29c75d64ea51dfbd91c32ef4be198e4ceb169fb4d',
172
+ * s: '0x50c2667ac4c771072746acfdcf1f1483336dcca8bd2df47cd83175dbe60f0540',
173
+ * yParity: '0x0',
174
+ * })
175
+ * ```
176
+ *
177
+ * @param authorization - The RPC-formatted Authorization.
178
+ * @returns A signed {@link ox#Authorization.Authorization}.
179
+ */
180
+ export function fromRpc(authorization: Rpc): Signed {
181
+ const { address, chainId, nonce } = authorization
182
+ const signature = Signature.extract(authorization)!
183
+
184
+ return {
185
+ address,
186
+ chainId: Number(chainId),
187
+ nonce: BigInt(nonce),
188
+ ...signature,
189
+ }
190
+ }
191
+
192
+ export declare namespace fromRpc {
193
+ type ErrorType = Errors.GlobalErrorType
194
+ }
195
+
196
+ fromRpc.parseError = (error: unknown) =>
197
+ /* v8 ignore next */
198
+ error as fromRpc.ErrorType
199
+
200
+ /**
201
+ * Converts an {@link ox#Authorization.ListRpc} to an {@link ox#Authorization.List}.
202
+ *
203
+ * @example
204
+ * ```ts twoslash
205
+ * import { Authorization } from 'ox'
206
+ *
207
+ * const authorizationList = Authorization.fromRpcList([{
208
+ * address: '0x0000000000000000000000000000000000000000',
209
+ * chainId: '0x1',
210
+ * nonce: '0x1',
211
+ * r: '0x635dc2033e60185bb36709c29c75d64ea51dfbd91c32ef4be198e4ceb169fb4d',
212
+ * s: '0x50c2667ac4c771072746acfdcf1f1483336dcca8bd2df47cd83175dbe60f0540',
213
+ * yParity: '0x0',
214
+ * }])
215
+ * ```
216
+ *
217
+ * @param authorizationList - The RPC-formatted Authorization list.
218
+ * @returns A signed {@link ox#Authorization.List}.
219
+ */
220
+ export function fromRpcList(authorizationList: ListRpc): ListSigned {
221
+ return authorizationList.map(fromRpc)
222
+ }
223
+
224
+ export declare namespace fromRpcList {
225
+ type ErrorType = Errors.GlobalErrorType
226
+ }
227
+
228
+ fromRpcList.parseError = (error: unknown) =>
229
+ /* v8 ignore next */
230
+ error as fromRpcList.ErrorType
231
+
232
+ /**
233
+ * Converts an {@link ox#Authorization.Tuple} to an {@link ox#Authorization.Authorization}.
234
+ *
235
+ * @example
236
+ * ```ts twoslash
237
+ * import { Authorization } from 'ox'
238
+ *
239
+ * const authorization = Authorization.fromTuple([
240
+ * '0x1',
241
+ * '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
242
+ * '0x3'
243
+ * ])
244
+ * // @log: {
245
+ * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
246
+ * // @log: chainId: 1,
247
+ * // @log: nonce: 3n
248
+ * // @log: }
249
+ * ```
250
+ *
251
+ * @example
252
+ * It is also possible to append a Signature tuple to the end of an Authorization tuple.
253
+ *
254
+ * ```ts twoslash
255
+ * import { Authorization } from 'ox'
256
+ *
257
+ * const authorization = Authorization.fromTuple([
258
+ * '0x1',
259
+ * '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
260
+ * '0x3',
261
+ * '0x1',
262
+ * '0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90',
263
+ * '0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064',
264
+ * ])
265
+ * // @log: {
266
+ * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
267
+ * // @log: chainId: 1,
268
+ * // @log: nonce: 3n
269
+ * // @log: r: BigInt('0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90'),
270
+ * // @log: s: BigInt('0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064'),
271
+ * // @log: yParity: 0,
272
+ * // @log: }
273
+ * ```
274
+ *
275
+ * @param tuple - The [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) Authorization tuple.
276
+ * @returns The {@link ox#Authorization.Authorization}.
277
+ */
278
+ export function fromTuple<const tuple extends Tuple>(
279
+ tuple: tuple,
280
+ ): fromTuple.ReturnType<tuple> {
281
+ const [chainId, address, nonce, yParity, r, s] = tuple
282
+ const signature =
283
+ yParity && r && s ? Signature.fromTuple([yParity, r, s]) : undefined
284
+ return from({
285
+ address,
286
+ chainId: Number(chainId),
287
+ nonce: BigInt(nonce),
288
+ ...signature,
289
+ }) as never
290
+ }
291
+
292
+ export declare namespace fromTuple {
293
+ type ReturnType<authorization extends Tuple = Tuple> = Compute<
294
+ Authorization<authorization extends Tuple<true> ? true : false>
295
+ >
296
+
297
+ type ErrorType = Errors.GlobalErrorType
298
+ }
299
+
300
+ fromTuple.parseError = (error: unknown) =>
301
+ /* v8 ignore next */
302
+ error as fromTuple.ErrorType
303
+
304
+ /**
305
+ * Converts an {@link ox#Authorization.TupleList} to an {@link ox#Authorization.List}.
306
+ *
307
+ * @example
308
+ * ```ts twoslash
309
+ * import { Authorization } from 'ox'
310
+ *
311
+ * const authorizationList = Authorization.fromTupleList([
312
+ * ['0x1', '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c', '0x3'],
313
+ * ['0x3', '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c', '0x14'],
314
+ * ])
315
+ * // @log: [
316
+ * // @log: {
317
+ * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
318
+ * // @log: chainId: 1,
319
+ * // @log: nonce: 3n,
320
+ * // @log: },
321
+ * // @log: {
322
+ * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
323
+ * // @log: chainId: 3,
324
+ * // @log: nonce: 20n,
325
+ * // @log: },
326
+ * // @log: ]
327
+ * ```
328
+ *
329
+ * @example
330
+ * It is also possible to append a Signature tuple to the end of an Authorization tuple.
331
+ *
332
+ * ```ts twoslash
333
+ * import { Authorization } from 'ox'
334
+ *
335
+ * const authorizationList = Authorization.fromTupleList([
336
+ * ['0x1', '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c', '0x3', '0x1', '0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90', '0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064'],
337
+ * ['0x3', '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c', '0x14', '0x1', '0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90', '0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064'],
338
+ * ])
339
+ * // @log: [
340
+ * // @log: {
341
+ * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
342
+ * // @log: chainId: 1,
343
+ * // @log: nonce: 3n,
344
+ * // @log: r: BigInt('0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90'),
345
+ * // @log: s: BigInt('0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064'),
346
+ * // @log: yParity: 0,
347
+ * // @log: },
348
+ * // @log: {
349
+ * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
350
+ * // @log: chainId: 3,
351
+ * // @log: nonce: 20n,
352
+ * // @log: r: BigInt('0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90'),
353
+ * // @log: s: BigInt('0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064'),
354
+ * // @log: yParity: 0,
355
+ * // @log: },
356
+ * // @log: ]
357
+ * ```
358
+ *
359
+ * @param tupleList - The [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) Authorization tuple list.
360
+ * @returns An {@link ox#Authorization.List}.
361
+ */
362
+ export function fromTupleList<const tupleList extends TupleList>(
363
+ tupleList: tupleList,
364
+ ): fromTupleList.ReturnType<tupleList> {
365
+ const list: Mutable<List> = []
366
+ for (const tuple of tupleList) list.push(fromTuple(tuple))
367
+ return list as never
368
+ }
369
+
370
+ export declare namespace fromTupleList {
371
+ type ReturnType<tupleList extends TupleList> = Compute<
372
+ TupleList<tupleList extends TupleList<true> ? true : false>
373
+ >
374
+
375
+ type ErrorType = Errors.GlobalErrorType
376
+ }
377
+
378
+ fromTupleList.parseError = (error: unknown) =>
379
+ /* v8 ignore next */
380
+ error as fromTupleList.ErrorType
381
+
382
+ /**
383
+ * Computes the sign payload for an {@link ox#Authorization.Authorization} in [EIP-7702 format](https://eips.ethereum.org/EIPS/eip-7702): `keccak256('0x05' || rlp([chain_id, address, nonce]))`.
384
+ *
385
+ * @example
386
+ * The example below demonstrates computing the sign payload for an {@link ox#Authorization.Authorization}. This payload
387
+ * can then be passed to signing functions like {@link ox#Secp256k1.(sign:function)}.
388
+ *
389
+ * ```ts twoslash
390
+ * import { Authorization, Secp256k1 } from 'ox'
391
+ *
392
+ * const authorization = Authorization.from({
393
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
394
+ * chainId: 1,
395
+ * nonce: 69n,
396
+ * })
397
+ *
398
+ * const payload = Authorization.getSignPayload(authorization) // [!code focus]
399
+ *
400
+ * const signature = Secp256k1.sign({
401
+ * payload,
402
+ * privateKey: '0x...',
403
+ * })
404
+ * ```
405
+ *
406
+ * @param authorization - The {@link ox#Authorization.Authorization}.
407
+ * @returns The sign payload.
408
+ */
409
+ export function getSignPayload(authorization: Authorization): Hex.Hex {
410
+ return hash(authorization)
411
+ }
412
+
413
+ export declare namespace getSignPayload {
414
+ type ErrorType = hash.ErrorType | Errors.GlobalErrorType
415
+ }
416
+
417
+ getSignPayload.parseError = (error: unknown) =>
418
+ /* v8 ignore next */
419
+ error as getSignPayload.ErrorType
420
+
421
+ /**
422
+ * Computes the hash for an {@link ox#Authorization.Authorization} in [EIP-7702 format](https://eips.ethereum.org/EIPS/eip-7702): `keccak256('0x05' || rlp([chain_id, address, nonce]))`.
423
+ *
424
+ * @example
425
+ * ```ts twoslash
426
+ * import { Authorization } from 'ox'
427
+ *
428
+ * const authorization = Authorization.from({
429
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
430
+ * chainId: 1,
431
+ * nonce: 69n,
432
+ * })
433
+ *
434
+ * const hash = Authorization.hash(authorization) // [!code focus]
435
+ * ```
436
+ *
437
+ * @param authorization - The {@link ox#Authorization.Authorization}.
438
+ * @returns The hash.
439
+ */
440
+ export function hash(authorization: Authorization): Hex.Hex {
441
+ return Hash.keccak256(Hex.concat('0x05', Rlp.fromHex(toTuple(authorization))))
442
+ }
443
+
444
+ export declare namespace hash {
445
+ type ErrorType =
446
+ | toTuple.ErrorType
447
+ | Hash.keccak256.ErrorType
448
+ | Hex.concat.ErrorType
449
+ | Rlp.fromHex.ErrorType
450
+ | Errors.GlobalErrorType
451
+ }
452
+
453
+ hash.parseError = (error: unknown) =>
454
+ /* v8 ignore next */
455
+ error as hash.ErrorType
456
+
457
+ /**
458
+ * Converts an {@link ox#Authorization.Authorization} to an {@link ox#Authorization.Rpc}.
459
+ *
460
+ * @example
461
+ * ```ts twoslash
462
+ * import { Authorization } from 'ox'
463
+ *
464
+ * const authorization = Authorization.toRpc({
465
+ * address: '0x0000000000000000000000000000000000000000',
466
+ * chainId: 1,
467
+ * nonce: 1n,
468
+ * r: 44944627813007772897391531230081695102703289123332187696115181104739239197517n,
469
+ * s: 36528503505192438307355164441104001310566505351980369085208178712678799181120n,
470
+ * yParity: 0,
471
+ * })
472
+ * ```
473
+ *
474
+ * @param authorization - An Authorization.
475
+ * @returns An RPC-formatted Authorization.
476
+ */
477
+ export function toRpc(authorization: Signed): Rpc {
478
+ const { address, chainId, nonce, ...signature } = authorization
479
+
480
+ return {
481
+ address,
482
+ chainId: Hex.fromNumber(chainId),
483
+ nonce: Hex.fromNumber(nonce),
484
+ ...Signature.toRpc(signature),
485
+ }
486
+ }
487
+
488
+ export declare namespace toRpc {
489
+ type ErrorType = Errors.GlobalErrorType
490
+ }
491
+
492
+ toRpc.parseError = (error: unknown) =>
493
+ /* v8 ignore next */
494
+ error as toRpc.ErrorType
495
+
496
+ /**
497
+ * Converts an {@link ox#Authorization.List} to an {@link ox#Authorization.ListRpc}.
498
+ *
499
+ * @example
500
+ * ```ts twoslash
501
+ * import { Authorization } from 'ox'
502
+ *
503
+ * const authorization = Authorization.toRpcList([{
504
+ * address: '0x0000000000000000000000000000000000000000',
505
+ * chainId: 1,
506
+ * nonce: 1n,
507
+ * r: 44944627813007772897391531230081695102703289123332187696115181104739239197517n,
508
+ * s: 36528503505192438307355164441104001310566505351980369085208178712678799181120n,
509
+ * yParity: 0,
510
+ * }])
511
+ * ```
512
+ *
513
+ * @param authorizationList - An Authorization List.
514
+ * @returns An RPC-formatted Authorization List.
515
+ */
516
+ export function toRpcList(authorizationList: ListSigned): ListRpc {
517
+ return authorizationList.map(toRpc)
518
+ }
519
+
520
+ export declare namespace toRpcList {
521
+ type ErrorType = Errors.GlobalErrorType
522
+ }
523
+
524
+ toRpcList.parseError = (error: unknown) =>
525
+ /* v8 ignore next */
526
+ error as toRpcList.ErrorType
527
+
528
+ /**
529
+ * Converts an {@link ox#Authorization.Authorization} to an {@link ox#Authorization.Tuple}.
530
+ *
531
+ * @example
532
+ * ```ts twoslash
533
+ * import { Authorization } from 'ox'
534
+ *
535
+ * const authorization = Authorization.from({
536
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
537
+ * chainId: 1,
538
+ * nonce: 69n,
539
+ * })
540
+ *
541
+ * const tuple = Authorization.toTuple(authorization) // [!code focus]
542
+ * // @log: [
543
+ * // @log: address: '0x1234567890abcdef1234567890abcdef12345678',
544
+ * // @log: chainId: 1,
545
+ * // @log: nonce: 69n,
546
+ * // @log: ]
547
+ * ```
548
+ *
549
+ * @param authorization - The {@link ox#Authorization.Authorization}.
550
+ * @returns An [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) Authorization tuple.
551
+ */
552
+ export function toTuple<const authorization extends Authorization>(
553
+ authorization: authorization,
554
+ ): toTuple.ReturnType<authorization> {
555
+ const { address, chainId, nonce } = authorization
556
+ const signature = Signature.extract(authorization)
557
+ return [
558
+ chainId ? Hex.fromNumber(chainId) : '0x',
559
+ address,
560
+ nonce ? Hex.fromNumber(nonce) : '0x',
561
+ ...(signature ? Signature.toTuple(signature) : []),
562
+ ] as never
563
+ }
564
+
565
+ export declare namespace toTuple {
566
+ type ReturnType<authorization extends Authorization = Authorization> =
567
+ Compute<Tuple<authorization extends Signature.Signature ? true : false>>
568
+
569
+ type ErrorType = Errors.GlobalErrorType
570
+ }
571
+
572
+ toTuple.parseError = (error: unknown) =>
573
+ /* v8 ignore next */
574
+ error as toTuple.ErrorType
575
+
576
+ /**
577
+ * Converts an {@link ox#Authorization.List} to an {@link ox#Authorization.TupleList}.
578
+ *
579
+ * @example
580
+ * ```ts twoslash
581
+ * import { Authorization } from 'ox'
582
+ *
583
+ * const authorization_1 = Authorization.from({
584
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
585
+ * chainId: 1,
586
+ * nonce: 69n,
587
+ * })
588
+ * const authorization_2 = Authorization.from({
589
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
590
+ * chainId: 3,
591
+ * nonce: 20n,
592
+ * })
593
+ *
594
+ * const tuple = Authorization.toTupleList([authorization_1, authorization_2]) // [!code focus]
595
+ * // @log: [
596
+ * // @log: [
597
+ * // @log: address: '0x1234567890abcdef1234567890abcdef12345678',
598
+ * // @log: chainId: 1,
599
+ * // @log: nonce: 69n,
600
+ * // @log: ],
601
+ * // @log: [
602
+ * // @log: address: '0x1234567890abcdef1234567890abcdef12345678',
603
+ * // @log: chainId: 3,
604
+ * // @log: nonce: 20n,
605
+ * // @log: ],
606
+ * // @log: ]
607
+ * ```
608
+ *
609
+ * @param list - An {@link ox#Authorization.List}.
610
+ * @returns An [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) Authorization tuple list.
611
+ */
612
+ export function toTupleList<
613
+ const list extends
614
+ | readonly Authorization<true>[]
615
+ | readonly Authorization<false>[],
616
+ >(list?: list | undefined): toTupleList.ReturnType<list> {
617
+ if (!list || list.length === 0) return []
618
+
619
+ const tupleList: Mutable<TupleList> = []
620
+ for (const authorization of list) tupleList.push(toTuple(authorization))
621
+
622
+ return tupleList as never
623
+ }
624
+
625
+ export declare namespace toTupleList {
626
+ type ReturnType<
627
+ list extends
628
+ | readonly Authorization<true>[]
629
+ | readonly Authorization<false>[],
630
+ > = Compute<
631
+ TupleList<list extends readonly Authorization<true>[] ? true : false>
632
+ >
633
+
634
+ type ErrorType = Errors.GlobalErrorType
635
+ }
636
+
637
+ toTupleList.parseError = (error: unknown) =>
638
+ /* v8 ignore next */
639
+ error as toTupleList.ErrorType
@@ -0,0 +1,6 @@
1
+ {
2
+ "type": "module",
3
+ "types": "../_types/Base58.d.ts",
4
+ "main": "../_cjs/Base58.js",
5
+ "module": "../_esm/Base58.js"
6
+ }