ox 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (756) hide show
  1. package/Abi/package.json +6 -0
  2. package/Abi.ts +163 -0
  3. package/AbiConstructor/package.json +6 -0
  4. package/AbiConstructor.ts +413 -0
  5. package/AbiError/package.json +6 -0
  6. package/AbiError.ts +719 -0
  7. package/AbiEvent/package.json +6 -0
  8. package/AbiEvent.ts +1284 -0
  9. package/AbiFunction/package.json +6 -0
  10. package/AbiFunction.ts +813 -0
  11. package/AbiItem/package.json +6 -0
  12. package/AbiItem.ts +779 -0
  13. package/AbiParameters/package.json +6 -0
  14. package/AbiParameters.ts +712 -0
  15. package/AccessList/package.json +6 -0
  16. package/AccessList.ts +124 -0
  17. package/AccountProof/package.json +6 -0
  18. package/AccountProof.ts +35 -0
  19. package/Address/package.json +6 -0
  20. package/Address.ts +359 -0
  21. package/AesGcm/package.json +6 -0
  22. package/AesGcm.ts +220 -0
  23. package/Authorization/package.json +6 -0
  24. package/Authorization.ts +639 -0
  25. package/Base58/package.json +6 -0
  26. package/Base58.ts +180 -0
  27. package/Base64/package.json +6 -0
  28. package/Base64.ts +333 -0
  29. package/Blobs/package.json +6 -0
  30. package/Blobs.ts +982 -0
  31. package/Block/package.json +6 -0
  32. package/Block.ts +317 -0
  33. package/Bloom/package.json +6 -0
  34. package/Bloom.ts +80 -0
  35. package/Bls/package.json +6 -0
  36. package/Bls.ts +496 -0
  37. package/BlsPoint/package.json +6 -0
  38. package/BlsPoint.ts +232 -0
  39. package/Bytes/package.json +6 -0
  40. package/Bytes.ts +963 -0
  41. package/CHANGELOG.md +7 -0
  42. package/Caches/package.json +6 -0
  43. package/Caches.ts +21 -0
  44. package/ContractAddress/package.json +6 -0
  45. package/ContractAddress.ts +181 -0
  46. package/Ens/package.json +6 -0
  47. package/Ens.ts +116 -0
  48. package/Errors/package.json +6 -0
  49. package/Errors.ts +95 -0
  50. package/Fee/package.json +6 -0
  51. package/Fee.ts +57 -0
  52. package/Filter/package.json +6 -0
  53. package/Filter.ts +144 -0
  54. package/Hash/package.json +6 -0
  55. package/Hash.ts +210 -0
  56. package/HdKey/package.json +6 -0
  57. package/HdKey.ts +175 -0
  58. package/Hex/package.json +6 -0
  59. package/Hex.ts +1040 -0
  60. package/Json/package.json +6 -0
  61. package/Json.ts +84 -0
  62. package/Kzg/package.json +6 -0
  63. package/Kzg.ts +51 -0
  64. package/LICENSE +21 -0
  65. package/Log/package.json +6 -0
  66. package/Log.ts +248 -0
  67. package/Mnemonic/package.json +6 -0
  68. package/Mnemonic.ts +249 -0
  69. package/P256/package.json +6 -0
  70. package/P256.ts +230 -0
  71. package/PersonalMessage/package.json +6 -0
  72. package/PersonalMessage.ts +70 -0
  73. package/Provider/package.json +6 -0
  74. package/Provider.ts +354 -0
  75. package/PublicKey/package.json +6 -0
  76. package/PublicKey.ts +545 -0
  77. package/README.md +75 -26
  78. package/Rlp/package.json +6 -0
  79. package/Rlp.ts +390 -0
  80. package/RpcRequest/package.json +6 -0
  81. package/RpcRequest.ts +192 -0
  82. package/RpcResponse/package.json +6 -0
  83. package/RpcResponse.ts +389 -0
  84. package/RpcSchema/package.json +6 -0
  85. package/RpcSchema.ts +273 -0
  86. package/RpcTransport/package.json +6 -0
  87. package/RpcTransport.ts +198 -0
  88. package/Secp256k1/package.json +6 -0
  89. package/Secp256k1.ts +304 -0
  90. package/Signature/package.json +6 -0
  91. package/Signature.ts +909 -0
  92. package/Siwe/package.json +6 -0
  93. package/Siwe.ts +516 -0
  94. package/Solidity/package.json +6 -0
  95. package/Solidity.ts +109 -0
  96. package/Transaction/package.json +6 -0
  97. package/Transaction.ts +429 -0
  98. package/TransactionEnvelope/package.json +6 -0
  99. package/TransactionEnvelope.ts +205 -0
  100. package/TransactionEnvelopeEip1559/package.json +6 -0
  101. package/TransactionEnvelopeEip1559.ts +656 -0
  102. package/TransactionEnvelopeEip2930/package.json +6 -0
  103. package/TransactionEnvelopeEip2930.ts +624 -0
  104. package/TransactionEnvelopeEip4844/package.json +6 -0
  105. package/TransactionEnvelopeEip4844.ts +764 -0
  106. package/TransactionEnvelopeEip7702/package.json +6 -0
  107. package/TransactionEnvelopeEip7702.ts +639 -0
  108. package/TransactionEnvelopeLegacy/package.json +6 -0
  109. package/TransactionEnvelopeLegacy.ts +674 -0
  110. package/TransactionReceipt/package.json +6 -0
  111. package/TransactionReceipt.ts +341 -0
  112. package/TransactionRequest/package.json +6 -0
  113. package/TransactionRequest.ts +151 -0
  114. package/TypedData/package.json +6 -0
  115. package/TypedData.ts +931 -0
  116. package/ValidatorData/package.json +6 -0
  117. package/ValidatorData.ts +87 -0
  118. package/Value/package.json +6 -0
  119. package/Value.ts +242 -0
  120. package/WebAuthnP256/package.json +6 -0
  121. package/WebAuthnP256.ts +803 -0
  122. package/WebCryptoP256/package.json +6 -0
  123. package/WebCryptoP256.ts +190 -0
  124. package/Withdrawal/package.json +6 -0
  125. package/Withdrawal.ts +95 -0
  126. package/_cjs/Abi.js +17 -0
  127. package/_cjs/Abi.js.map +1 -0
  128. package/_cjs/AbiConstructor.js +42 -0
  129. package/_cjs/AbiConstructor.js.map +1 -0
  130. package/_cjs/AbiError.js +98 -0
  131. package/_cjs/AbiError.js.map +1 -0
  132. package/_cjs/AbiEvent.js +338 -0
  133. package/_cjs/AbiEvent.js.map +1 -0
  134. package/_cjs/AbiFunction.js +85 -0
  135. package/_cjs/AbiFunction.js.map +1 -0
  136. package/_cjs/AbiItem.js +180 -0
  137. package/_cjs/AbiItem.js.map +1 -0
  138. package/_cjs/AbiParameters.js +229 -0
  139. package/_cjs/AbiParameters.js.map +1 -0
  140. package/_cjs/AccessList.js +51 -0
  141. package/_cjs/AccessList.js.map +1 -0
  142. package/_cjs/AccountProof.js +3 -0
  143. package/_cjs/AccountProof.js.map +1 -0
  144. package/_cjs/Address.js +121 -0
  145. package/_cjs/Address.js.map +1 -0
  146. package/_cjs/AesGcm.js +55 -0
  147. package/_cjs/AesGcm.js.map +1 -0
  148. package/_cjs/Authorization.js +99 -0
  149. package/_cjs/Authorization.js.map +1 -0
  150. package/_cjs/Base58.js +52 -0
  151. package/_cjs/Base58.js.map +1 -0
  152. package/_cjs/Base64.js +76 -0
  153. package/_cjs/Base64.js.map +1 -0
  154. package/_cjs/Blobs.js +255 -0
  155. package/_cjs/Blobs.js.map +1 -0
  156. package/_cjs/Block.js +87 -0
  157. package/_cjs/Block.js.map +1 -0
  158. package/_cjs/Bloom.js +23 -0
  159. package/_cjs/Bloom.js.map +1 -0
  160. package/_cjs/Bls.js +79 -0
  161. package/_cjs/Bls.js.map +1 -0
  162. package/_cjs/BlsPoint.js +32 -0
  163. package/_cjs/BlsPoint.js.map +1 -0
  164. package/_cjs/Bytes.js +279 -0
  165. package/_cjs/Bytes.js.map +1 -0
  166. package/_cjs/Caches.js +14 -0
  167. package/_cjs/Caches.js.map +1 -0
  168. package/_cjs/ContractAddress.js +39 -0
  169. package/_cjs/ContractAddress.js.map +1 -0
  170. package/_cjs/Ens.js +37 -0
  171. package/_cjs/Ens.js.map +1 -0
  172. package/_cjs/Errors.js +99 -0
  173. package/_cjs/Errors.js.map +1 -0
  174. package/_cjs/Fee.js +3 -0
  175. package/_cjs/Fee.js.map +1 -0
  176. package/_cjs/Filter.js +43 -0
  177. package/_cjs/Filter.js.map +1 -0
  178. package/_cjs/Hash.js +40 -0
  179. package/_cjs/Hash.js.map +1 -0
  180. package/_cjs/HdKey.js +30 -0
  181. package/_cjs/HdKey.js.map +1 -0
  182. package/_cjs/Hex.js +324 -0
  183. package/_cjs/Hex.js.map +1 -0
  184. package/_cjs/Json.js +25 -0
  185. package/_cjs/Json.js.map +1 -0
  186. package/_cjs/Kzg.js +14 -0
  187. package/_cjs/Kzg.js.map +1 -0
  188. package/_cjs/Log.js +35 -0
  189. package/_cjs/Log.js.map +1 -0
  190. package/_cjs/Mnemonic.js +56 -0
  191. package/_cjs/Mnemonic.js.map +1 -0
  192. package/_cjs/P256.js +52 -0
  193. package/_cjs/P256.js.map +1 -0
  194. package/_cjs/PersonalMessage.js +16 -0
  195. package/_cjs/PersonalMessage.js.map +1 -0
  196. package/_cjs/Provider.js +90 -0
  197. package/_cjs/Provider.js.map +1 -0
  198. package/_cjs/PublicKey.js +192 -0
  199. package/_cjs/PublicKey.js.map +1 -0
  200. package/_cjs/Rlp.js +179 -0
  201. package/_cjs/Rlp.js.map +1 -0
  202. package/_cjs/RpcRequest.js +27 -0
  203. package/_cjs/RpcRequest.js.map +1 -0
  204. package/_cjs/RpcResponse.js +368 -0
  205. package/_cjs/RpcResponse.js.map +1 -0
  206. package/_cjs/RpcSchema.js +7 -0
  207. package/_cjs/RpcSchema.js.map +1 -0
  208. package/_cjs/RpcTransport.js +95 -0
  209. package/_cjs/RpcTransport.js.map +1 -0
  210. package/_cjs/Secp256k1.js +57 -0
  211. package/_cjs/Secp256k1.js.map +1 -0
  212. package/_cjs/Signature.js +305 -0
  213. package/_cjs/Signature.js.map +1 -0
  214. package/_cjs/Siwe.js +231 -0
  215. package/_cjs/Siwe.js.map +1 -0
  216. package/_cjs/Solidity.js +104 -0
  217. package/_cjs/Solidity.js.map +1 -0
  218. package/_cjs/Transaction.js +106 -0
  219. package/_cjs/Transaction.js.map +1 -0
  220. package/_cjs/TransactionEnvelope.js +80 -0
  221. package/_cjs/TransactionEnvelope.js.map +1 -0
  222. package/_cjs/TransactionEnvelopeEip1559.js +182 -0
  223. package/_cjs/TransactionEnvelopeEip1559.js.map +1 -0
  224. package/_cjs/TransactionEnvelopeEip2930.js +166 -0
  225. package/_cjs/TransactionEnvelopeEip2930.js.map +1 -0
  226. package/_cjs/TransactionEnvelopeEip4844.js +224 -0
  227. package/_cjs/TransactionEnvelopeEip4844.js.map +1 -0
  228. package/_cjs/TransactionEnvelopeEip7702.js +156 -0
  229. package/_cjs/TransactionEnvelopeEip7702.js.map +1 -0
  230. package/_cjs/TransactionEnvelopeLegacy.js +221 -0
  231. package/_cjs/TransactionEnvelopeLegacy.js.map +1 -0
  232. package/_cjs/TransactionReceipt.js +76 -0
  233. package/_cjs/TransactionReceipt.js.map +1 -0
  234. package/_cjs/TransactionRequest.js +51 -0
  235. package/_cjs/TransactionRequest.js.map +1 -0
  236. package/_cjs/TypedData.js +318 -0
  237. package/_cjs/TypedData.js.map +1 -0
  238. package/_cjs/ValidatorData.js +16 -0
  239. package/_cjs/ValidatorData.js.map +1 -0
  240. package/_cjs/Value.js +96 -0
  241. package/_cjs/Value.js.map +1 -0
  242. package/_cjs/WebAuthnP256.js +245 -0
  243. package/_cjs/WebAuthnP256.js.map +1 -0
  244. package/_cjs/WebCryptoP256.js +46 -0
  245. package/_cjs/WebCryptoP256.js.map +1 -0
  246. package/_cjs/Withdrawal.js +24 -0
  247. package/_cjs/Withdrawal.js.map +1 -0
  248. package/_cjs/index.js +66 -0
  249. package/_cjs/index.js.map +1 -0
  250. package/_cjs/internal/abi.js +11 -0
  251. package/_cjs/internal/abi.js.map +1 -0
  252. package/_cjs/internal/abiConstructor.js +3 -0
  253. package/_cjs/internal/abiConstructor.js.map +1 -0
  254. package/_cjs/internal/abiError.js +3 -0
  255. package/_cjs/internal/abiError.js.map +1 -0
  256. package/_cjs/internal/abiEvent.js +3 -0
  257. package/_cjs/internal/abiEvent.js.map +1 -0
  258. package/_cjs/internal/abiFunction.js +3 -0
  259. package/_cjs/internal/abiFunction.js.map +1 -0
  260. package/_cjs/internal/abiItem.js +110 -0
  261. package/_cjs/internal/abiItem.js.map +1 -0
  262. package/_cjs/internal/abiParameters.js +376 -0
  263. package/_cjs/internal/abiParameters.js.map +1 -0
  264. package/_cjs/internal/base58.js +89 -0
  265. package/_cjs/internal/base58.js.map +1 -0
  266. package/_cjs/internal/bytes.js +88 -0
  267. package/_cjs/internal/bytes.js.map +1 -0
  268. package/_cjs/internal/cursor.js +210 -0
  269. package/_cjs/internal/cursor.js.map +1 -0
  270. package/_cjs/internal/ens.js +43 -0
  271. package/_cjs/internal/ens.js.map +1 -0
  272. package/_cjs/internal/errors.js +28 -0
  273. package/_cjs/internal/errors.js.map +1 -0
  274. package/_cjs/internal/hdKey.js +19 -0
  275. package/_cjs/internal/hdKey.js.map +1 -0
  276. package/_cjs/internal/hex.js +66 -0
  277. package/_cjs/internal/hex.js.map +1 -0
  278. package/_cjs/internal/lru.js +34 -0
  279. package/_cjs/internal/lru.js.map +1 -0
  280. package/_cjs/internal/mnemonic/wordlists.js +24 -0
  281. package/_cjs/internal/mnemonic/wordlists.js.map +1 -0
  282. package/_cjs/internal/promise.js +49 -0
  283. package/_cjs/internal/promise.js.map +1 -0
  284. package/_cjs/internal/register.js +3 -0
  285. package/_cjs/internal/register.js.map +1 -0
  286. package/_cjs/internal/rpcSchema.js +3 -0
  287. package/_cjs/internal/rpcSchema.js.map +1 -0
  288. package/_cjs/internal/rpcSchemas/eth.js +3 -0
  289. package/_cjs/internal/rpcSchemas/eth.js.map +1 -0
  290. package/_cjs/internal/rpcSchemas/wallet.js +3 -0
  291. package/_cjs/internal/rpcSchemas/wallet.js.map +1 -0
  292. package/_cjs/internal/rpcTransport.js +19 -0
  293. package/_cjs/internal/rpcTransport.js.map +1 -0
  294. package/_cjs/internal/types.js +3 -0
  295. package/_cjs/internal/types.js.map +1 -0
  296. package/_cjs/internal/uid.js +17 -0
  297. package/_cjs/internal/uid.js.map +1 -0
  298. package/_cjs/internal/webauthn.js +28 -0
  299. package/_cjs/internal/webauthn.js.map +1 -0
  300. package/_cjs/package.json +1 -0
  301. package/_cjs/trusted-setups/Paths.js +6 -0
  302. package/_cjs/trusted-setups/Paths.js.map +1 -0
  303. package/_cjs/trusted-setups/index.js +5 -0
  304. package/_cjs/trusted-setups/index.js.map +1 -0
  305. package/_cjs/trusted-setups/internal/paths.js +11 -0
  306. package/_cjs/trusted-setups/internal/paths.js.map +1 -0
  307. package/_cjs/version.js +5 -0
  308. package/_cjs/version.js.map +1 -0
  309. package/_cjs/window/index.js +3 -0
  310. package/_cjs/window/index.js.map +1 -0
  311. package/_esm/Abi.js +19 -0
  312. package/_esm/Abi.js.map +1 -0
  313. package/_esm/AbiConstructor.js +102 -0
  314. package/_esm/AbiConstructor.js.map +1 -0
  315. package/_esm/AbiError.js +364 -0
  316. package/_esm/AbiError.js.map +1 -0
  317. package/_esm/AbiEvent.js +1038 -0
  318. package/_esm/AbiEvent.js.map +1 -0
  319. package/_esm/AbiFunction.js +549 -0
  320. package/_esm/AbiFunction.js.map +1 -0
  321. package/_esm/AbiItem.js +574 -0
  322. package/_esm/AbiItem.js.map +1 -0
  323. package/_esm/AbiParameters.js +543 -0
  324. package/_esm/AbiParameters.js.map +1 -0
  325. package/_esm/AccessList.js +105 -0
  326. package/_esm/AccessList.js.map +1 -0
  327. package/_esm/AccountProof.js +2 -0
  328. package/_esm/AccountProof.js.map +1 -0
  329. package/_esm/Address.js +268 -0
  330. package/_esm/Address.js.map +1 -0
  331. package/_esm/AesGcm.js +124 -0
  332. package/_esm/AesGcm.js.map +1 -0
  333. package/_esm/Authorization.js +441 -0
  334. package/_esm/Authorization.js.map +1 -0
  335. package/_esm/Base58.js +142 -0
  336. package/_esm/Base58.js.map +1 -0
  337. package/_esm/Base64.js +236 -0
  338. package/_esm/Base64.js.map +1 -0
  339. package/_esm/Blobs.js +624 -0
  340. package/_esm/Blobs.js.map +1 -0
  341. package/_esm/Block.js +177 -0
  342. package/_esm/Block.js.map +1 -0
  343. package/_esm/Bloom.js +57 -0
  344. package/_esm/Bloom.js.map +1 -0
  345. package/_esm/Bls.js +141 -0
  346. package/_esm/Bls.js.map +1 -0
  347. package/_esm/BlsPoint.js +59 -0
  348. package/_esm/BlsPoint.js.map +1 -0
  349. package/_esm/Bytes.js +719 -0
  350. package/_esm/Bytes.js.map +1 -0
  351. package/_esm/Caches.js +19 -0
  352. package/_esm/Caches.js.map +1 -0
  353. package/_esm/ContractAddress.js +110 -0
  354. package/_esm/ContractAddress.js.map +1 -0
  355. package/_esm/Ens.js +84 -0
  356. package/_esm/Ens.js.map +1 -0
  357. package/_esm/Errors.js +105 -0
  358. package/_esm/Errors.js.map +1 -0
  359. package/_esm/Fee.js +2 -0
  360. package/_esm/Fee.js.map +1 -0
  361. package/_esm/Filter.js +100 -0
  362. package/_esm/Filter.js.map +1 -0
  363. package/_esm/Hash.js +126 -0
  364. package/_esm/Hash.js.map +1 -0
  365. package/_esm/HdKey.js +107 -0
  366. package/_esm/HdKey.js.map +1 -0
  367. package/_esm/Hex.js +763 -0
  368. package/_esm/Hex.js.map +1 -0
  369. package/_esm/Json.js +62 -0
  370. package/_esm/Json.js.map +1 -0
  371. package/_esm/Kzg.js +30 -0
  372. package/_esm/Kzg.js.map +1 -0
  373. package/_esm/Log.js +181 -0
  374. package/_esm/Log.js.map +1 -0
  375. package/_esm/Mnemonic.js +154 -0
  376. package/_esm/Mnemonic.js.map +1 -0
  377. package/_esm/P256.js +131 -0
  378. package/_esm/P256.js.map +1 -0
  379. package/_esm/PersonalMessage.js +46 -0
  380. package/_esm/PersonalMessage.js.map +1 -0
  381. package/_esm/Provider.js +122 -0
  382. package/_esm/Provider.js.map +1 -0
  383. package/_esm/PublicKey.js +395 -0
  384. package/_esm/PublicKey.js.map +1 -0
  385. package/_esm/Rlp.js +267 -0
  386. package/_esm/Rlp.js.map +1 -0
  387. package/_esm/RpcRequest.js +131 -0
  388. package/_esm/RpcRequest.js.map +1 -0
  389. package/_esm/RpcResponse.js +457 -0
  390. package/_esm/RpcResponse.js.map +1 -0
  391. package/_esm/RpcSchema.js +46 -0
  392. package/_esm/RpcSchema.js.map +1 -0
  393. package/_esm/RpcTransport.js +110 -0
  394. package/_esm/RpcTransport.js.map +1 -0
  395. package/_esm/Secp256k1.js +173 -0
  396. package/_esm/Secp256k1.js.map +1 -0
  397. package/_esm/Signature.js +696 -0
  398. package/_esm/Signature.js.map +1 -0
  399. package/_esm/Siwe.js +374 -0
  400. package/_esm/Siwe.js.map +1 -0
  401. package/_esm/Solidity.js +104 -0
  402. package/_esm/Solidity.js.map +1 -0
  403. package/_esm/Transaction.js +176 -0
  404. package/_esm/Transaction.js.map +1 -0
  405. package/_esm/TransactionEnvelope.js +139 -0
  406. package/_esm/TransactionEnvelope.js.map +1 -0
  407. package/_esm/TransactionEnvelopeEip1559.js +455 -0
  408. package/_esm/TransactionEnvelopeEip1559.js.map +1 -0
  409. package/_esm/TransactionEnvelopeEip2930.js +439 -0
  410. package/_esm/TransactionEnvelopeEip2930.js.map +1 -0
  411. package/_esm/TransactionEnvelopeEip4844.js +542 -0
  412. package/_esm/TransactionEnvelopeEip4844.js.map +1 -0
  413. package/_esm/TransactionEnvelopeEip7702.js +442 -0
  414. package/_esm/TransactionEnvelopeEip7702.js.map +1 -0
  415. package/_esm/TransactionEnvelopeLegacy.js +495 -0
  416. package/_esm/TransactionEnvelopeLegacy.js.map +1 -0
  417. package/_esm/TransactionReceipt.js +229 -0
  418. package/_esm/TransactionReceipt.js.map +1 -0
  419. package/_esm/TransactionRequest.js +89 -0
  420. package/_esm/TransactionRequest.js.map +1 -0
  421. package/_esm/TypedData.js +635 -0
  422. package/_esm/TypedData.js.map +1 -0
  423. package/_esm/ValidatorData.js +52 -0
  424. package/_esm/ValidatorData.js.map +1 -0
  425. package/_esm/Value.js +196 -0
  426. package/_esm/Value.js.map +1 -0
  427. package/_esm/WebAuthnP256.js +471 -0
  428. package/_esm/WebAuthnP256.js.map +1 -0
  429. package/_esm/WebCryptoP256.js +116 -0
  430. package/_esm/WebCryptoP256.js.map +1 -0
  431. package/_esm/Withdrawal.js +72 -0
  432. package/_esm/Withdrawal.js.map +1 -0
  433. package/_esm/index.js +3366 -0
  434. package/_esm/index.js.map +1 -0
  435. package/_esm/internal/abi.js +9 -0
  436. package/_esm/internal/abi.js.map +1 -0
  437. package/_esm/internal/abiConstructor.js +2 -0
  438. package/_esm/internal/abiConstructor.js.map +1 -0
  439. package/_esm/internal/abiError.js +2 -0
  440. package/_esm/internal/abiError.js.map +1 -0
  441. package/_esm/internal/abiEvent.js +2 -0
  442. package/_esm/internal/abiEvent.js.map +1 -0
  443. package/_esm/internal/abiFunction.js +2 -0
  444. package/_esm/internal/abiFunction.js.map +1 -0
  445. package/_esm/internal/abiItem.js +122 -0
  446. package/_esm/internal/abiItem.js.map +1 -0
  447. package/_esm/internal/abiParameters.js +419 -0
  448. package/_esm/internal/abiParameters.js.map +1 -0
  449. package/_esm/internal/base58.js +91 -0
  450. package/_esm/internal/base58.js.map +1 -0
  451. package/_esm/internal/bytes.js +86 -0
  452. package/_esm/internal/bytes.js.map +1 -0
  453. package/_esm/internal/cursor.js +207 -0
  454. package/_esm/internal/cursor.js.map +1 -0
  455. package/_esm/internal/ens.js +47 -0
  456. package/_esm/internal/ens.js.map +1 -0
  457. package/_esm/internal/errors.js +26 -0
  458. package/_esm/internal/errors.js.map +1 -0
  459. package/_esm/internal/hdKey.js +17 -0
  460. package/_esm/internal/hdKey.js.map +1 -0
  461. package/_esm/internal/hex.js +64 -0
  462. package/_esm/internal/hex.js.map +1 -0
  463. package/_esm/internal/lru.js +36 -0
  464. package/_esm/internal/lru.js.map +1 -0
  465. package/_esm/internal/mnemonic/wordlists.js +11 -0
  466. package/_esm/internal/mnemonic/wordlists.js.map +1 -0
  467. package/_esm/internal/promise.js +52 -0
  468. package/_esm/internal/promise.js.map +1 -0
  469. package/_esm/internal/register.js +2 -0
  470. package/_esm/internal/register.js.map +1 -0
  471. package/_esm/internal/rpcSchema.js +2 -0
  472. package/_esm/internal/rpcSchema.js.map +1 -0
  473. package/_esm/internal/rpcSchemas/eth.js +2 -0
  474. package/_esm/internal/rpcSchemas/eth.js.map +1 -0
  475. package/_esm/internal/rpcSchemas/wallet.js +2 -0
  476. package/_esm/internal/rpcSchemas/wallet.js.map +1 -0
  477. package/_esm/internal/rpcTransport.js +20 -0
  478. package/_esm/internal/rpcTransport.js.map +1 -0
  479. package/_esm/internal/types.js +2 -0
  480. package/_esm/internal/types.js.map +1 -0
  481. package/_esm/internal/uid.js +15 -0
  482. package/_esm/internal/uid.js.map +1 -0
  483. package/_esm/internal/webauthn.js +35 -0
  484. package/_esm/internal/webauthn.js.map +1 -0
  485. package/_esm/package.json +1 -0
  486. package/_esm/trusted-setups/Paths.js +3 -0
  487. package/_esm/trusted-setups/Paths.js.map +1 -0
  488. package/_esm/trusted-setups/index.js +2 -0
  489. package/_esm/trusted-setups/index.js.map +1 -0
  490. package/_esm/trusted-setups/internal/paths.js +12 -0
  491. package/_esm/trusted-setups/internal/paths.js.map +1 -0
  492. package/_esm/version.js +3 -0
  493. package/_esm/version.js.map +1 -0
  494. package/_esm/window/index.js +2 -0
  495. package/_esm/window/index.js.map +1 -0
  496. package/_test/Abi.test-d/package.json +6 -0
  497. package/_test/AbiConstructor.test-d/package.json +6 -0
  498. package/_test/AbiError.test-d/package.json +6 -0
  499. package/_test/AbiEvent.snap-d/package.json +6 -0
  500. package/_test/AbiEvent.snap-d.ts +329 -0
  501. package/_test/AbiFunction.snap-d/package.json +6 -0
  502. package/_test/AbiFunction.snap-d.ts +262 -0
  503. package/_test/AbiItem.snap-d/package.json +6 -0
  504. package/_test/AbiItem.snap-d.ts +131 -0
  505. package/_test/AbiParameters.bench/package.json +6 -0
  506. package/_test/AbiParameters.snap-d/package.json +6 -0
  507. package/_test/AbiParameters.snap-d.ts +66 -0
  508. package/_test/Address.bench/package.json +6 -0
  509. package/_test/Base58.bench/package.json +6 -0
  510. package/_test/Hex.bench/package.json +6 -0
  511. package/_test/Hex.test-d/package.json +6 -0
  512. package/_test/PublicKey.test-d/package.json +6 -0
  513. package/_test/Rlp.bench/package.json +6 -0
  514. package/_test/Rlp.test-d/package.json +6 -0
  515. package/_test/Signature.snap-d/package.json +6 -0
  516. package/_test/Signature.snap-d.ts +96 -0
  517. package/_test/TransactionEnvelopeEip1559.test-d/package.json +6 -0
  518. package/_test/TransactionEnvelopeEip2930.test-d/package.json +6 -0
  519. package/_test/TransactionEnvelopeEip4844.test-d/package.json +6 -0
  520. package/_test/TransactionEnvelopeEip7702.test-d/package.json +6 -0
  521. package/_test/TransactionEnvelopeLegacy.test-d/package.json +6 -0
  522. package/_test/TypedData.test-d/package.json +6 -0
  523. package/_types/Abi.d.ts +137 -0
  524. package/_types/Abi.d.ts.map +1 -0
  525. package/_types/AbiConstructor.d.ts +305 -0
  526. package/_types/AbiConstructor.d.ts.map +1 -0
  527. package/_types/AbiError.d.ts +522 -0
  528. package/_types/AbiError.d.ts.map +1 -0
  529. package/_types/AbiEvent.d.ts +892 -0
  530. package/_types/AbiEvent.d.ts.map +1 -0
  531. package/_types/AbiFunction.d.ts +602 -0
  532. package/_types/AbiFunction.d.ts.map +1 -0
  533. package/_types/AbiItem.d.ts +544 -0
  534. package/_types/AbiItem.d.ts.map +1 -0
  535. package/_types/AbiParameters.d.ts +466 -0
  536. package/_types/AbiParameters.d.ts.map +1 -0
  537. package/_types/AccessList.d.ts +83 -0
  538. package/_types/AccessList.d.ts.map +1 -0
  539. package/_types/AccountProof.d.ts +32 -0
  540. package/_types/AccountProof.d.ts.map +1 -0
  541. package/_types/Address.d.ts +244 -0
  542. package/_types/Address.d.ts.map +1 -0
  543. package/_types/AesGcm.d.ts +116 -0
  544. package/_types/AesGcm.d.ts.map +1 -0
  545. package/_types/Authorization.d.ts +461 -0
  546. package/_types/Authorization.d.ts.map +1 -0
  547. package/_types/Base58.d.ts +131 -0
  548. package/_types/Base58.d.ts.map +1 -0
  549. package/_types/Base64.d.ts +244 -0
  550. package/_types/Base64.d.ts.map +1 -0
  551. package/_types/Blobs.d.ts +556 -0
  552. package/_types/Blobs.d.ts.map +1 -0
  553. package/_types/Block.d.ts +190 -0
  554. package/_types/Block.d.ts.map +1 -0
  555. package/_types/Bloom.d.ts +54 -0
  556. package/_types/Bloom.d.ts.map +1 -0
  557. package/_types/Bls.d.ts +365 -0
  558. package/_types/Bls.d.ts.map +1 -0
  559. package/_types/BlsPoint.d.ts +187 -0
  560. package/_types/BlsPoint.d.ts.map +1 -0
  561. package/_types/Bytes.d.ts +674 -0
  562. package/_types/Bytes.d.ts.map +1 -0
  563. package/_types/Caches.d.ts +13 -0
  564. package/_types/Caches.d.ts.map +1 -0
  565. package/_types/ContractAddress.d.ts +115 -0
  566. package/_types/ContractAddress.d.ts.map +1 -0
  567. package/_types/Ens.d.ts +72 -0
  568. package/_types/Ens.d.ts.map +1 -0
  569. package/_types/Errors.d.ts +33 -0
  570. package/_types/Errors.d.ts.map +1 -0
  571. package/_types/Fee.d.ts +41 -0
  572. package/_types/Fee.d.ts.map +1 -0
  573. package/_types/Filter.d.ts +100 -0
  574. package/_types/Filter.d.ts.map +1 -0
  575. package/_types/Hash.d.ts +135 -0
  576. package/_types/Hash.d.ts.map +1 -0
  577. package/_types/HdKey.d.ts +146 -0
  578. package/_types/HdKey.d.ts.map +1 -0
  579. package/_types/Hex.d.ts +711 -0
  580. package/_types/Hex.d.ts.map +1 -0
  581. package/_types/Json.d.ts +53 -0
  582. package/_types/Json.d.ts.map +1 -0
  583. package/_types/Kzg.d.ts +42 -0
  584. package/_types/Kzg.d.ts.map +1 -0
  585. package/_types/Log.d.ts +194 -0
  586. package/_types/Log.d.ts.map +1 -0
  587. package/_types/Mnemonic.d.ts +176 -0
  588. package/_types/Mnemonic.d.ts.map +1 -0
  589. package/_types/P256.d.ts +207 -0
  590. package/_types/P256.d.ts.map +1 -0
  591. package/_types/PersonalMessage.d.ts +49 -0
  592. package/_types/PersonalMessage.d.ts.map +1 -0
  593. package/_types/Provider.d.ts +268 -0
  594. package/_types/Provider.d.ts.map +1 -0
  595. package/_types/PublicKey.d.ts +327 -0
  596. package/_types/PublicKey.d.ts.map +1 -0
  597. package/_types/Rlp.d.ts +153 -0
  598. package/_types/Rlp.d.ts.map +1 -0
  599. package/_types/RpcRequest.d.ts +144 -0
  600. package/_types/RpcRequest.d.ts.map +1 -0
  601. package/_types/RpcResponse.d.ts +266 -0
  602. package/_types/RpcResponse.d.ts.map +1 -0
  603. package/_types/RpcSchema.d.ts +248 -0
  604. package/_types/RpcSchema.d.ts.map +1 -0
  605. package/_types/RpcTransport.d.ts +65 -0
  606. package/_types/RpcTransport.d.ts.map +1 -0
  607. package/_types/Secp256k1.d.ts +277 -0
  608. package/_types/Secp256k1.d.ts.map +1 -0
  609. package/_types/Signature.d.ts +601 -0
  610. package/_types/Signature.d.ts.map +1 -0
  611. package/_types/Siwe.d.ts +249 -0
  612. package/_types/Siwe.d.ts.map +1 -0
  613. package/_types/Solidity.d.ts +100 -0
  614. package/_types/Solidity.d.ts.map +1 -0
  615. package/_types/Transaction.d.ts +235 -0
  616. package/_types/Transaction.d.ts.map +1 -0
  617. package/_types/TransactionEnvelope.d.ts +141 -0
  618. package/_types/TransactionEnvelope.d.ts.map +1 -0
  619. package/_types/TransactionEnvelopeEip1559.d.ts +367 -0
  620. package/_types/TransactionEnvelopeEip1559.d.ts.map +1 -0
  621. package/_types/TransactionEnvelopeEip2930.d.ts +364 -0
  622. package/_types/TransactionEnvelopeEip2930.d.ts.map +1 -0
  623. package/_types/TransactionEnvelopeEip4844.d.ts +419 -0
  624. package/_types/TransactionEnvelopeEip4844.d.ts.map +1 -0
  625. package/_types/TransactionEnvelopeEip7702.d.ts +377 -0
  626. package/_types/TransactionEnvelopeEip7702.d.ts.map +1 -0
  627. package/_types/TransactionEnvelopeLegacy.d.ts +358 -0
  628. package/_types/TransactionEnvelopeLegacy.d.ts.map +1 -0
  629. package/_types/TransactionReceipt.d.ts +271 -0
  630. package/_types/TransactionReceipt.d.ts.map +1 -0
  631. package/_types/TransactionRequest.d.ts +92 -0
  632. package/_types/TransactionRequest.d.ts.map +1 -0
  633. package/_types/TypedData.d.ts +496 -0
  634. package/_types/TypedData.d.ts.map +1 -0
  635. package/_types/ValidatorData.d.ts +64 -0
  636. package/_types/ValidatorData.d.ts.map +1 -0
  637. package/_types/Value.d.ts +159 -0
  638. package/_types/Value.d.ts.map +1 -0
  639. package/_types/WebAuthnP256.d.ts +445 -0
  640. package/_types/WebAuthnP256.d.ts.map +1 -0
  641. package/_types/WebCryptoP256.d.ts +119 -0
  642. package/_types/WebCryptoP256.d.ts.map +1 -0
  643. package/_types/Withdrawal.d.ts +74 -0
  644. package/_types/Withdrawal.d.ts.map +1 -0
  645. package/_types/index.d.ts +3367 -0
  646. package/_types/index.d.ts.map +1 -0
  647. package/_types/internal/abi.d.ts +4 -0
  648. package/_types/internal/abi.d.ts.map +1 -0
  649. package/_types/internal/abiConstructor.d.ts +11 -0
  650. package/_types/internal/abiConstructor.d.ts.map +1 -0
  651. package/_types/internal/abiError.d.ts +11 -0
  652. package/_types/internal/abiError.d.ts.map +1 -0
  653. package/_types/internal/abiEvent.d.ts +60 -0
  654. package/_types/internal/abiEvent.d.ts.map +1 -0
  655. package/_types/internal/abiFunction.d.ts +11 -0
  656. package/_types/internal/abiFunction.d.ts.map +1 -0
  657. package/_types/internal/abiItem.d.ts +100 -0
  658. package/_types/internal/abiItem.d.ts.map +1 -0
  659. package/_types/internal/abiParameters.d.ts +169 -0
  660. package/_types/internal/abiParameters.d.ts.map +1 -0
  661. package/_types/internal/base58.d.ts +17 -0
  662. package/_types/internal/base58.d.ts.map +1 -0
  663. package/_types/internal/bytes.d.ts +52 -0
  664. package/_types/internal/bytes.d.ts.map +1 -0
  665. package/_types/internal/cursor.d.ts +70 -0
  666. package/_types/internal/cursor.d.ts.map +1 -0
  667. package/_types/internal/ens.d.ts +23 -0
  668. package/_types/internal/ens.d.ts.map +1 -0
  669. package/_types/internal/errors.d.ts +7 -0
  670. package/_types/internal/errors.d.ts.map +1 -0
  671. package/_types/internal/hdKey.d.ts +10 -0
  672. package/_types/internal/hdKey.d.ts.map +1 -0
  673. package/_types/internal/hex.d.ts +39 -0
  674. package/_types/internal/hex.d.ts.map +1 -0
  675. package/_types/internal/lru.d.ts +13 -0
  676. package/_types/internal/lru.d.ts.map +1 -0
  677. package/_types/internal/mnemonic/wordlists.d.ts +11 -0
  678. package/_types/internal/mnemonic/wordlists.d.ts.map +1 -0
  679. package/_types/internal/promise.d.ts +27 -0
  680. package/_types/internal/promise.d.ts.map +1 -0
  681. package/_types/internal/register.d.ts +13 -0
  682. package/_types/internal/register.d.ts.map +1 -0
  683. package/_types/internal/rpcSchema.d.ts +12 -0
  684. package/_types/internal/rpcSchema.d.ts.map +1 -0
  685. package/_types/internal/rpcSchemas/eth.d.ts +718 -0
  686. package/_types/internal/rpcSchemas/eth.d.ts.map +1 -0
  687. package/_types/internal/rpcSchemas/wallet.d.ts +416 -0
  688. package/_types/internal/rpcSchemas/wallet.d.ts.map +1 -0
  689. package/_types/internal/rpcTransport.d.ts +38 -0
  690. package/_types/internal/rpcTransport.d.ts.map +1 -0
  691. package/_types/internal/types.d.ts +284 -0
  692. package/_types/internal/types.d.ts.map +1 -0
  693. package/_types/internal/uid.d.ts +3 -0
  694. package/_types/internal/uid.d.ts.map +1 -0
  695. package/_types/internal/webauthn.d.ts +127 -0
  696. package/_types/internal/webauthn.d.ts.map +1 -0
  697. package/_types/trusted-setups/Paths.d.ts +2 -0
  698. package/_types/trusted-setups/Paths.d.ts.map +1 -0
  699. package/_types/trusted-setups/index.d.ts +2 -0
  700. package/_types/trusted-setups/index.d.ts.map +1 -0
  701. package/_types/trusted-setups/internal/paths.d.ts +3 -0
  702. package/_types/trusted-setups/internal/paths.d.ts.map +1 -0
  703. package/_types/version.d.ts +3 -0
  704. package/_types/version.d.ts.map +1 -0
  705. package/_types/window/index.d.ts +7 -0
  706. package/_types/window/index.d.ts.map +1 -0
  707. package/index.ts +3427 -0
  708. package/internal/abi.ts +11 -0
  709. package/internal/abiConstructor.ts +32 -0
  710. package/internal/abiError.ts +30 -0
  711. package/internal/abiEvent.ts +154 -0
  712. package/internal/abiFunction.ts +32 -0
  713. package/internal/abiItem.ts +593 -0
  714. package/internal/abiParameters.ts +741 -0
  715. package/internal/base58.ts +106 -0
  716. package/internal/bytes.ts +152 -0
  717. package/internal/cursor.ts +252 -0
  718. package/internal/ens.ts +64 -0
  719. package/internal/errors.ts +26 -0
  720. package/internal/hdKey.ts +25 -0
  721. package/internal/hex.ts +123 -0
  722. package/internal/lru.ts +34 -0
  723. package/internal/mnemonic/wordlists.ts +10 -0
  724. package/internal/promise.ts +66 -0
  725. package/internal/register.ts +15 -0
  726. package/internal/rpcSchema.ts +20 -0
  727. package/internal/rpcSchemas/eth.ts +727 -0
  728. package/internal/rpcSchemas/wallet.ts +428 -0
  729. package/internal/rpcTransport.ts +74 -0
  730. package/internal/types.ts +414 -0
  731. package/internal/uid.ts +15 -0
  732. package/internal/webauthn.ts +198 -0
  733. package/package.json +500 -20
  734. package/trusted-setups/Paths/package.json +6 -0
  735. package/trusted-setups/Paths.ts +3 -0
  736. package/trusted-setups/index.ts +1 -0
  737. package/trusted-setups/internal/paths.ts +13 -0
  738. package/trusted-setups/internal/setups/mainnet.json +8265 -0
  739. package/trusted-setups/internal/setups/mainnet.txt +4163 -0
  740. package/trusted-setups/package.json +6 -0
  741. package/tsdoc.json +4 -0
  742. package/version/package.json +6 -0
  743. package/version.ts +2 -0
  744. package/window/index.ts +7 -0
  745. package/window/package.json +6 -0
  746. package/cl/ansiesc.js +0 -25
  747. package/cl/deps.js +0 -7
  748. package/cl/editor.js +0 -141
  749. package/cl/index.html +0 -19
  750. package/cl/ox.js +0 -44
  751. package/cl/socket.io.js +0 -1922
  752. package/cl/style.css +0 -37
  753. package/srv/deps.js +0 -88
  754. package/srv/httpSrv.js +0 -82
  755. package/srv/ox.js +0 -44
  756. package/srv/remoteXtermReq.js +0 -70
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /** @internal */
2
+ export function isSignatures(value) {
3
+ for (const item of value) {
4
+ if (typeof item !== 'string')
5
+ return false;
6
+ }
7
+ return true;
8
+ }
9
+ //# sourceMappingURL=abi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abi.js","sourceRoot":"","sources":["../../internal/abi.ts"],"names":[],"mappings":"AAEA,gBAAgB;AAChB,MAAM,UAAU,YAAY,CAC1B,KAAkC;IAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAA;IAC5C,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=abiConstructor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abiConstructor.js","sourceRoot":"","sources":["../../internal/abiConstructor.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=abiError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abiError.js","sourceRoot":"","sources":["../../internal/abiError.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=abiEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abiEvent.js","sourceRoot":"","sources":["../../internal/abiEvent.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=abiFunction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abiFunction.js","sourceRoot":"","sources":["../../internal/abiFunction.ts"],"names":[],"mappings":""}
@@ -0,0 +1,122 @@
1
+ import * as Address from '../Address.js';
2
+ import * as Errors from '../Errors.js';
3
+ /** @internal */
4
+ export function normalizeSignature(signature) {
5
+ let active = true;
6
+ let current = '';
7
+ let level = 0;
8
+ let result = '';
9
+ let valid = false;
10
+ for (let i = 0; i < signature.length; i++) {
11
+ const char = signature[i];
12
+ // If the character is a separator, we want to reactivate.
13
+ if (['(', ')', ','].includes(char))
14
+ active = true;
15
+ // If the character is a "level" token, we want to increment/decrement.
16
+ if (char === '(')
17
+ level++;
18
+ if (char === ')')
19
+ level--;
20
+ // If we aren't active, we don't want to mutate the result.
21
+ if (!active)
22
+ continue;
23
+ // If level === 0, we are at the definition level.
24
+ if (level === 0) {
25
+ if (char === ' ' && ['event', 'function', 'error', ''].includes(result))
26
+ result = '';
27
+ else {
28
+ result += char;
29
+ // If we are at the end of the definition, we must be finished.
30
+ if (char === ')') {
31
+ valid = true;
32
+ break;
33
+ }
34
+ }
35
+ continue;
36
+ }
37
+ // Ignore spaces
38
+ if (char === ' ') {
39
+ // If the previous character is a separator, and the current section isn't empty, we want to deactivate.
40
+ if (signature[i - 1] !== ',' && current !== ',' && current !== ',(') {
41
+ current = '';
42
+ active = false;
43
+ }
44
+ continue;
45
+ }
46
+ result += char;
47
+ current += char;
48
+ }
49
+ if (!valid)
50
+ throw new Errors.BaseError('Unable to normalize signature.');
51
+ return result;
52
+ }
53
+ /** @internal */
54
+ export function isArgOfType(arg, abiParameter) {
55
+ const argType = typeof arg;
56
+ const abiParameterType = abiParameter.type;
57
+ switch (abiParameterType) {
58
+ case 'address':
59
+ return Address.validate(arg, { strict: false });
60
+ case 'bool':
61
+ return argType === 'boolean';
62
+ case 'function':
63
+ return argType === 'string';
64
+ case 'string':
65
+ return argType === 'string';
66
+ default: {
67
+ if (abiParameterType === 'tuple' && 'components' in abiParameter)
68
+ return Object.values(abiParameter.components).every((component, index) => {
69
+ return isArgOfType(Object.values(arg)[index], component);
70
+ });
71
+ // `(u)int<M>`: (un)signed integer type of `M` bits, `0 < M <= 256`, `M % 8 == 0`
72
+ // https://regexr.com/6v8hp
73
+ if (/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(abiParameterType))
74
+ return argType === 'number' || argType === 'bigint';
75
+ // `bytes<M>`: binary type of `M` bytes, `0 < M <= 32`
76
+ // https://regexr.com/6va55
77
+ if (/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(abiParameterType))
78
+ return argType === 'string' || arg instanceof Uint8Array;
79
+ // fixed-length (`<type>[M]`) and dynamic (`<type>[]`) arrays
80
+ // https://regexr.com/6va6i
81
+ if (/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(abiParameterType)) {
82
+ return (Array.isArray(arg) &&
83
+ arg.every((x) => isArgOfType(x, {
84
+ ...abiParameter,
85
+ // Pop off `[]` or `[M]` from end of type
86
+ type: abiParameterType.replace(/(\[[0-9]{0,}\])$/, ''),
87
+ })));
88
+ }
89
+ return false;
90
+ }
91
+ }
92
+ }
93
+ /** @internal */
94
+ export function getAmbiguousTypes(sourceParameters, targetParameters, args) {
95
+ for (const parameterIndex in sourceParameters) {
96
+ const sourceParameter = sourceParameters[parameterIndex];
97
+ const targetParameter = targetParameters[parameterIndex];
98
+ if (sourceParameter.type === 'tuple' &&
99
+ targetParameter.type === 'tuple' &&
100
+ 'components' in sourceParameter &&
101
+ 'components' in targetParameter)
102
+ return getAmbiguousTypes(sourceParameter.components, targetParameter.components, args[parameterIndex]);
103
+ const types = [sourceParameter.type, targetParameter.type];
104
+ const ambiguous = (() => {
105
+ if (types.includes('address') && types.includes('bytes20'))
106
+ return true;
107
+ if (types.includes('address') && types.includes('string'))
108
+ return Address.validate(args[parameterIndex], {
109
+ strict: false,
110
+ });
111
+ if (types.includes('address') && types.includes('bytes'))
112
+ return Address.validate(args[parameterIndex], {
113
+ strict: false,
114
+ });
115
+ return false;
116
+ })();
117
+ if (ambiguous)
118
+ return types;
119
+ }
120
+ return;
121
+ }
122
+ //# sourceMappingURL=abiItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abiItem.js","sourceRoot":"","sources":["../../internal/abiItem.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,419 @@
1
+ import * as AbiParameters from '../AbiParameters.js';
2
+ import * as Address from '../Address.js';
3
+ import * as Bytes from '../Bytes.js';
4
+ import * as Errors from '../Errors.js';
5
+ import * as Hex from '../Hex.js';
6
+ /** @internal */
7
+ export function decodeParameter(cursor, param, { staticPosition }) {
8
+ const arrayComponents = getArrayComponents(param.type);
9
+ if (arrayComponents) {
10
+ const [length, type] = arrayComponents;
11
+ return decodeArray(cursor, { ...param, type }, { length, staticPosition });
12
+ }
13
+ if (param.type === 'tuple')
14
+ return decodeTuple(cursor, param, { staticPosition });
15
+ if (param.type === 'address')
16
+ return decodeAddress(cursor);
17
+ if (param.type === 'bool')
18
+ return decodeBool(cursor);
19
+ if (param.type.startsWith('bytes'))
20
+ return decodeBytes(cursor, param, { staticPosition });
21
+ if (param.type.startsWith('uint') || param.type.startsWith('int'))
22
+ return decodeNumber(cursor, param);
23
+ if (param.type === 'string')
24
+ return decodeString(cursor, { staticPosition });
25
+ throw new AbiParameters.InvalidTypeError(param.type);
26
+ }
27
+ const sizeOfLength = 32;
28
+ const sizeOfOffset = 32;
29
+ /** @internal */
30
+ export function decodeAddress(cursor) {
31
+ const value = cursor.readBytes(32);
32
+ return [Hex.fromBytes(Bytes.slice(value, -20)), 32];
33
+ }
34
+ /** @internal */
35
+ export function decodeArray(cursor, param, { length, staticPosition }) {
36
+ // If the length of the array is not known in advance (dynamic array),
37
+ // this means we will need to wonder off to the pointer and decode.
38
+ if (!length) {
39
+ // Dealing with a dynamic type, so get the offset of the array data.
40
+ const offset = Bytes.toNumber(cursor.readBytes(sizeOfOffset));
41
+ // Start is the static position of current slot + offset.
42
+ const start = staticPosition + offset;
43
+ const startOfData = start + sizeOfLength;
44
+ // Get the length of the array from the offset.
45
+ cursor.setPosition(start);
46
+ const length = Bytes.toNumber(cursor.readBytes(sizeOfLength));
47
+ // Check if the array has any dynamic children.
48
+ const dynamicChild = hasDynamicChild(param);
49
+ let consumed = 0;
50
+ const value = [];
51
+ for (let i = 0; i < length; ++i) {
52
+ // If any of the children is dynamic, then all elements will be offset pointer, thus size of one slot (32 bytes).
53
+ // Otherwise, elements will be the size of their encoding (consumed bytes).
54
+ cursor.setPosition(startOfData + (dynamicChild ? i * 32 : consumed));
55
+ const [data, consumed_] = decodeParameter(cursor, param, {
56
+ staticPosition: startOfData,
57
+ });
58
+ consumed += consumed_;
59
+ value.push(data);
60
+ }
61
+ // As we have gone wondering, restore to the original position + next slot.
62
+ cursor.setPosition(staticPosition + 32);
63
+ return [value, 32];
64
+ }
65
+ // If the length of the array is known in advance,
66
+ // and the length of an element deeply nested in the array is not known,
67
+ // we need to decode the offset of the array data.
68
+ if (hasDynamicChild(param)) {
69
+ // Dealing with dynamic types, so get the offset of the array data.
70
+ const offset = Bytes.toNumber(cursor.readBytes(sizeOfOffset));
71
+ // Start is the static position of current slot + offset.
72
+ const start = staticPosition + offset;
73
+ const value = [];
74
+ for (let i = 0; i < length; ++i) {
75
+ // Move cursor along to the next slot (next offset pointer).
76
+ cursor.setPosition(start + i * 32);
77
+ const [data] = decodeParameter(cursor, param, {
78
+ staticPosition: start,
79
+ });
80
+ value.push(data);
81
+ }
82
+ // As we have gone wondering, restore to the original position + next slot.
83
+ cursor.setPosition(staticPosition + 32);
84
+ return [value, 32];
85
+ }
86
+ // If the length of the array is known in advance and the array is deeply static,
87
+ // then we can just decode each element in sequence.
88
+ let consumed = 0;
89
+ const value = [];
90
+ for (let i = 0; i < length; ++i) {
91
+ const [data, consumed_] = decodeParameter(cursor, param, {
92
+ staticPosition: staticPosition + consumed,
93
+ });
94
+ consumed += consumed_;
95
+ value.push(data);
96
+ }
97
+ return [value, consumed];
98
+ }
99
+ /** @internal */
100
+ export function decodeBool(cursor) {
101
+ return [Bytes.toBoolean(cursor.readBytes(32), { size: 32 }), 32];
102
+ }
103
+ /** @internal */
104
+ export function decodeBytes(cursor, param, { staticPosition }) {
105
+ const [_, size] = param.type.split('bytes');
106
+ if (!size) {
107
+ // Dealing with dynamic types, so get the offset of the bytes data.
108
+ const offset = Bytes.toNumber(cursor.readBytes(32));
109
+ // Set position of the cursor to start of bytes data.
110
+ cursor.setPosition(staticPosition + offset);
111
+ const length = Bytes.toNumber(cursor.readBytes(32));
112
+ // If there is no length, we have zero data.
113
+ if (length === 0) {
114
+ // As we have gone wondering, restore to the original position + next slot.
115
+ cursor.setPosition(staticPosition + 32);
116
+ return ['0x', 32];
117
+ }
118
+ const data = cursor.readBytes(length);
119
+ // As we have gone wondering, restore to the original position + next slot.
120
+ cursor.setPosition(staticPosition + 32);
121
+ return [Hex.fromBytes(data), 32];
122
+ }
123
+ const value = Hex.fromBytes(cursor.readBytes(Number.parseInt(size), 32));
124
+ return [value, 32];
125
+ }
126
+ /** @internal */
127
+ export function decodeNumber(cursor, param) {
128
+ const signed = param.type.startsWith('int');
129
+ const size = Number.parseInt(param.type.split('int')[1] || '256');
130
+ const value = cursor.readBytes(32);
131
+ return [
132
+ size > 48
133
+ ? Bytes.toBigInt(value, { signed })
134
+ : Bytes.toNumber(value, { signed }),
135
+ 32,
136
+ ];
137
+ }
138
+ /** @internal */
139
+ export function decodeTuple(cursor, param, { staticPosition }) {
140
+ // Tuples can have unnamed components (i.e. they are arrays), so we must
141
+ // determine whether the tuple is named or unnamed. In the case of a named
142
+ // tuple, the value will be an object where each property is the name of the
143
+ // component. In the case of an unnamed tuple, the value will be an array.
144
+ const hasUnnamedChild = param.components.length === 0 || param.components.some(({ name }) => !name);
145
+ // Initialize the value to an object or an array, depending on whether the
146
+ // tuple is named or unnamed.
147
+ const value = hasUnnamedChild ? [] : {};
148
+ let consumed = 0;
149
+ // If the tuple has a dynamic child, we must first decode the offset to the
150
+ // tuple data.
151
+ if (hasDynamicChild(param)) {
152
+ // Dealing with dynamic types, so get the offset of the tuple data.
153
+ const offset = Bytes.toNumber(cursor.readBytes(sizeOfOffset));
154
+ // Start is the static position of referencing slot + offset.
155
+ const start = staticPosition + offset;
156
+ for (let i = 0; i < param.components.length; ++i) {
157
+ const component = param.components[i];
158
+ cursor.setPosition(start + consumed);
159
+ const [data, consumed_] = decodeParameter(cursor, component, {
160
+ staticPosition: start,
161
+ });
162
+ consumed += consumed_;
163
+ value[hasUnnamedChild ? i : component?.name] = data;
164
+ }
165
+ // As we have gone wondering, restore to the original position + next slot.
166
+ cursor.setPosition(staticPosition + 32);
167
+ return [value, 32];
168
+ }
169
+ // If the tuple has static children, we can just decode each component
170
+ // in sequence.
171
+ for (let i = 0; i < param.components.length; ++i) {
172
+ const component = param.components[i];
173
+ const [data, consumed_] = decodeParameter(cursor, component, {
174
+ staticPosition,
175
+ });
176
+ value[hasUnnamedChild ? i : component?.name] = data;
177
+ consumed += consumed_;
178
+ }
179
+ return [value, consumed];
180
+ }
181
+ /** @internal */
182
+ export function decodeString(cursor, { staticPosition }) {
183
+ // Get offset to start of string data.
184
+ const offset = Bytes.toNumber(cursor.readBytes(32));
185
+ // Start is the static position of current slot + offset.
186
+ const start = staticPosition + offset;
187
+ cursor.setPosition(start);
188
+ const length = Bytes.toNumber(cursor.readBytes(32));
189
+ // If there is no length, we have zero data (empty string).
190
+ if (length === 0) {
191
+ cursor.setPosition(staticPosition + 32);
192
+ return ['', 32];
193
+ }
194
+ const data = cursor.readBytes(length, 32);
195
+ const value = Bytes.toString(Bytes.trimLeft(data));
196
+ // As we have gone wondering, restore to the original position + next slot.
197
+ cursor.setPosition(staticPosition + 32);
198
+ return [value, 32];
199
+ }
200
+ /** @internal */
201
+ export function prepareParameters({ parameters, values, }) {
202
+ const preparedParameters = [];
203
+ for (let i = 0; i < parameters.length; i++) {
204
+ preparedParameters.push(prepareParameter({ parameter: parameters[i], value: values[i] }));
205
+ }
206
+ return preparedParameters;
207
+ }
208
+ /** @internal */
209
+ export function prepareParameter({ parameter: parameter_, value, }) {
210
+ const parameter = parameter_;
211
+ const arrayComponents = getArrayComponents(parameter.type);
212
+ if (arrayComponents) {
213
+ const [length, type] = arrayComponents;
214
+ return encodeArray(value, {
215
+ length,
216
+ parameter: {
217
+ ...parameter,
218
+ type,
219
+ },
220
+ });
221
+ }
222
+ if (parameter.type === 'tuple') {
223
+ return encodeTuple(value, {
224
+ parameter: parameter,
225
+ });
226
+ }
227
+ if (parameter.type === 'address') {
228
+ return encodeAddress(value);
229
+ }
230
+ if (parameter.type === 'bool') {
231
+ return encodeBoolean(value);
232
+ }
233
+ if (parameter.type.startsWith('uint') || parameter.type.startsWith('int')) {
234
+ const signed = parameter.type.startsWith('int');
235
+ return encodeNumber(value, { signed });
236
+ }
237
+ if (parameter.type.startsWith('bytes')) {
238
+ return encodeBytes(value, { type: parameter.type });
239
+ }
240
+ if (parameter.type === 'string') {
241
+ return encodeString(value);
242
+ }
243
+ throw new AbiParameters.InvalidTypeError(parameter.type);
244
+ }
245
+ /** @internal */
246
+ export function encode(preparedParameters) {
247
+ // 1. Compute the size of the static part of the parameters.
248
+ let staticSize = 0;
249
+ for (let i = 0; i < preparedParameters.length; i++) {
250
+ const { dynamic, encoded } = preparedParameters[i];
251
+ if (dynamic)
252
+ staticSize += 32;
253
+ else
254
+ staticSize += Hex.size(encoded);
255
+ }
256
+ // 2. Split the parameters into static and dynamic parts.
257
+ const staticParameters = [];
258
+ const dynamicParameters = [];
259
+ let dynamicSize = 0;
260
+ for (let i = 0; i < preparedParameters.length; i++) {
261
+ const { dynamic, encoded } = preparedParameters[i];
262
+ if (dynamic) {
263
+ staticParameters.push(Hex.fromNumber(staticSize + dynamicSize, { size: 32 }));
264
+ dynamicParameters.push(encoded);
265
+ dynamicSize += Hex.size(encoded);
266
+ }
267
+ else {
268
+ staticParameters.push(encoded);
269
+ }
270
+ }
271
+ // 3. Concatenate static and dynamic parts.
272
+ return Hex.concat(...staticParameters, ...dynamicParameters);
273
+ }
274
+ /** @internal */
275
+ export function encodeAddress(value) {
276
+ Address.assert(value, { strict: false });
277
+ return {
278
+ dynamic: false,
279
+ encoded: Hex.padLeft(value.toLowerCase()),
280
+ };
281
+ }
282
+ /** @internal */
283
+ export function encodeArray(value, { length, parameter, }) {
284
+ const dynamic = length === null;
285
+ if (!Array.isArray(value))
286
+ throw new AbiParameters.InvalidArrayError(value);
287
+ if (!dynamic && value.length !== length)
288
+ throw new AbiParameters.ArrayLengthMismatchError({
289
+ expectedLength: length,
290
+ givenLength: value.length,
291
+ type: `${parameter.type}[${length}]`,
292
+ });
293
+ let dynamicChild = false;
294
+ const preparedParameters = [];
295
+ for (let i = 0; i < value.length; i++) {
296
+ const preparedParam = prepareParameter({ parameter, value: value[i] });
297
+ if (preparedParam.dynamic)
298
+ dynamicChild = true;
299
+ preparedParameters.push(preparedParam);
300
+ }
301
+ if (dynamic || dynamicChild) {
302
+ const data = encode(preparedParameters);
303
+ if (dynamic) {
304
+ const length = Hex.fromNumber(preparedParameters.length, { size: 32 });
305
+ return {
306
+ dynamic: true,
307
+ encoded: preparedParameters.length > 0 ? Hex.concat(length, data) : length,
308
+ };
309
+ }
310
+ if (dynamicChild)
311
+ return { dynamic: true, encoded: data };
312
+ }
313
+ return {
314
+ dynamic: false,
315
+ encoded: Hex.concat(...preparedParameters.map(({ encoded }) => encoded)),
316
+ };
317
+ }
318
+ /** @internal */
319
+ export function encodeBytes(value, { type }) {
320
+ const [, parametersize] = type.split('bytes');
321
+ const bytesSize = Hex.size(value);
322
+ if (!parametersize) {
323
+ let value_ = value;
324
+ // If the size is not divisible by 32 bytes, pad the end
325
+ // with empty bytes to the ceiling 32 bytes.
326
+ if (bytesSize % 32 !== 0)
327
+ value_ = Hex.padRight(value_, Math.ceil((value.length - 2) / 2 / 32) * 32);
328
+ return {
329
+ dynamic: true,
330
+ encoded: Hex.concat(Hex.padLeft(Hex.fromNumber(bytesSize, { size: 32 })), value_),
331
+ };
332
+ }
333
+ if (bytesSize !== Number.parseInt(parametersize))
334
+ throw new AbiParameters.BytesSizeMismatchError({
335
+ expectedSize: Number.parseInt(parametersize),
336
+ value,
337
+ });
338
+ return { dynamic: false, encoded: Hex.padRight(value) };
339
+ }
340
+ /** @internal */
341
+ export function encodeBoolean(value) {
342
+ if (typeof value !== 'boolean')
343
+ throw new Errors.BaseError(`Invalid boolean value: "${value}" (type: ${typeof value}). Expected: \`true\` or \`false\`.`);
344
+ return { dynamic: false, encoded: Hex.padLeft(Hex.fromBoolean(value)) };
345
+ }
346
+ /** @internal */
347
+ export function encodeNumber(value, { signed }) {
348
+ return {
349
+ dynamic: false,
350
+ encoded: Hex.fromNumber(value, {
351
+ size: 32,
352
+ signed,
353
+ }),
354
+ };
355
+ }
356
+ /** @internal */
357
+ export function encodeString(value) {
358
+ const hexValue = Hex.fromString(value);
359
+ const partsLength = Math.ceil(Hex.size(hexValue) / 32);
360
+ const parts = [];
361
+ for (let i = 0; i < partsLength; i++) {
362
+ parts.push(Hex.padRight(Hex.slice(hexValue, i * 32, (i + 1) * 32)));
363
+ }
364
+ return {
365
+ dynamic: true,
366
+ encoded: Hex.concat(Hex.padRight(Hex.fromNumber(Hex.size(hexValue), { size: 32 })), ...parts),
367
+ };
368
+ }
369
+ /** @internal */
370
+ export function encodeTuple(value, { parameter }) {
371
+ let dynamic = false;
372
+ const preparedParameters = [];
373
+ for (let i = 0; i < parameter.components.length; i++) {
374
+ const param_ = parameter.components[i];
375
+ const index = Array.isArray(value) ? i : param_.name;
376
+ const preparedParam = prepareParameter({
377
+ parameter: param_,
378
+ value: value[index],
379
+ });
380
+ preparedParameters.push(preparedParam);
381
+ if (preparedParam.dynamic)
382
+ dynamic = true;
383
+ }
384
+ return {
385
+ dynamic,
386
+ encoded: dynamic
387
+ ? encode(preparedParameters)
388
+ : Hex.concat(...preparedParameters.map(({ encoded }) => encoded)),
389
+ };
390
+ }
391
+ /** @internal */
392
+ export function getArrayComponents(type) {
393
+ const matches = type.match(/^(.*)\[(\d+)?\]$/);
394
+ return matches
395
+ ? // Return `null` if the array is dynamic.
396
+ [matches[2] ? Number(matches[2]) : null, matches[1]]
397
+ : undefined;
398
+ }
399
+ /** @internal */
400
+ export function hasDynamicChild(param) {
401
+ const { type } = param;
402
+ if (type === 'string')
403
+ return true;
404
+ if (type === 'bytes')
405
+ return true;
406
+ if (type.endsWith('[]'))
407
+ return true;
408
+ if (type === 'tuple')
409
+ return param.components?.some(hasDynamicChild);
410
+ const arrayComponents = getArrayComponents(param.type);
411
+ if (arrayComponents &&
412
+ hasDynamicChild({
413
+ ...param,
414
+ type: arrayComponents[1],
415
+ }))
416
+ return true;
417
+ return false;
418
+ }
419
+ //# sourceMappingURL=abiParameters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abiParameters.js","sourceRoot":"","sources":["../../internal/abiParameters.ts"],"names":[],"mappings":"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"}